幅度谱和相位谱的定义

信息处理 参考请求
2022-02-06 23:18:02

我想帮助某人完成信号处理方面的作业,他提供的课程是一些幻灯片,其中没有明确的定义。我需要解决一个问题来表示给定信号的幅度谱和相位谱。我搜索了互联网并没有找到这两个的定义。我想为这些创建一个 Matlab 脚本,但如果我不知道定义,我就不能这样做。请给我这些的定义。

  • 幅度谱
  • 相位谱

如果有一个 Matlab 命令,或者其他直接绘制这些光谱的程序,我会非常感兴趣。谢谢你。

1个回答

贝尼我想你想要这样的东西:

samplingFrequency = 1000; % / Hz 
signalFrequency = 50;     % / Hz
signalLength = 500;
signal = cos(2*pi*signalFrequency./ samplingFrequency .*[0:1:signalLength - 1]);
[hh ff] = freqz(signal, 1, 2048, samplingFrequency);
figure(10);
plot(ff,10*log10(abs(hh)));
ylabel('Amplitude in log scale');
xlabel('Frequency / Hz');
figure(20);
plot(ff, angle(hh)); 
ylabel('Phase');
xlabel('Frequency / Hz');

你有正确的 MATLAB 吗?...如果你尝试一下,让我知道我还能提供什么帮助。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

好吧,有几件事。首先,请记住,由于这是一个数字信号,这当然意味着它是以某个频率采样的samplingFrequency=128or127在你的情况下。在这种情况下,您的信号的物理频率似乎是signalFrequency=21.

的比率signalFrequencysamplingFrequency等于f0在你的情况下。这被称为“数字频率”。

对于您的问题,听起来他还希望您修复 fft 大小(将我的代码中的 2048 更改为 128)以及我描述的其余数字并运行代码。他有没有提到他希望你的信号持续多久?