Matlab - 不同采样率对FFT相位谱的影响

时间:2014-07-14 23:39:36

标签: matlab fft sampling phase

我是Matlab的新手,仍然掌握着FFT。我目前正在开发一个项目,我有两个余弦信号,频率都是100赫兹,但第二个信号延迟了一定时间 - 比如0.0030秒。

知道频率和时间延迟,两个信号之间的预期相位差应为w*T,其中T是时间延迟。为了计算实际的相位差,我使用了FFT函数,并查看了两个信号的相位谱。

对于0.0030秒的时间延迟,相位差应为108度。当我使用1000 Hz的采样率对两个余弦信号进行采样时,我发现两个信号之间的相位差确实是108度,但当我使用1024 Hz的采样率时,相位差为114度。

对于这两种情况,我使用1 Hz的频率分辨率。

有谁可以告诉我为什么会出现这种差异?

1 个答案:

答案 0 :(得分:3)

当您的采样率是信号频率的精确倍数时,您的余弦信号恰好落在FFT的一个bin中。当您每秒使用1024个样本时,信号会分布在多个容器中(具体取决于您使用的窗口函数)。这意味着您确定相移的频率不完全是100 Hz ......