matlab绘制只在2800赫兹噪音的幅频图和相频图的代码
时间: 2024-03-20 18:40:29 浏览: 52
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); % 傅里叶变换
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)')
xlim([0 2*f]) % 限制 x 轴的范围
% 绘制相频图
phase = angle(fft_noise); % 相位
figure
plot(freq, phase)
title('2800Hz White Noise Phase Spectrum')
xlabel('Frequency (Hz)')
ylabel('Phase (rad)')
xlim([0 2*f]) % 限制 x 轴的范围
```
这段代码与前面的代码类似,不同之处在于生成的噪声信号只在2800赫兹存在,其他频率为0,因此在绘制幅频图和相频图时,需要限制 x 轴的范围,只显示0到2倍的2800赫兹的范围。
阅读全文