matlab绘制2800赫兹噪音的幅频图和相频图的代码
时间: 2024-03-20 19:40:19 浏览: 70
Matlab绘制【堆叠柱状图】-详细代码+示例图
下面是使用 MATLAB 绘制2800赫兹噪声的幅频图和相频图的代码:
```matlab
% 生成2800赫兹的噪声信号
fs = 44100; % 采样率
duration = 1; % 时长
t = 0:1/fs:duration-1/fs; % 时间轴
f = 2800; % 频率
noise = sin(2*pi*f*t); % 可以自己生成噪声信号,这里简单使用了正弦波
% 绘制幅频图
N = length(noise);
fft_noise = fft(noise); % 傅里叶变换
fft_noise = fft_noise(1:N/2+1); % 取一半,因为另一半是镜像
psd = (1/(fs*N)) * abs(fft_noise).^2; % 计算功率谱密度
freq = 0:fs/N:fs/2; % 频率轴
figure
plot(freq,10*log10(psd))
title('2800Hz White Noise Power Spectral Density')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
% 绘制相频图
phase = angle(fft_noise); % 相位
figure
plot(freq, phase)
title('2800Hz White Noise Phase Spectrum')
xlabel('Frequency (Hz)')
ylabel('Phase (rad)')
```
这段代码首先生成了一个2800赫兹的噪声信号。然后使用傅里叶变换将其转换为频域信号,计算出功率谱密度和相位,并绘制出幅频图和相频图。注意,这里使用了对数坐标轴来绘制功率谱密度,因为功率谱密度通常是非常小的值,对数坐标轴可以使图像更加清晰易读。
阅读全文