1

从余弦函数的 DFT 关系我们有 DFT( cos(2*pi fi n) )=.5*( delta(f-fi)+delta(f+fi) ),因为我们可以看到 DFT 的相位为零。但是,当我在 matlab 中使用 FFT 时,fft 系数很复杂,这意味着 DFT 的相位不为零。请帮我解决这个矛盾。

4

2 回答 2

1

在计算余弦函数的 DTFT 时,由于其对称性,相位为零。但是,在使用 FFT 时,得到的相位不为零,因为 FFT 处理从 0 到 L-1 的序列,即有一个偏移,变成频域的相移。然而,非零相位是线性的。

您可以计算两个矩形序列的 DTFT,一个是对称的,另一个是从 0 到 L-1。

于 2015-04-18T11:42:14.467 回答
1

如果输入余弦的周期是 FFT 长度的精确整数约数,则 FFT 结果的相位仅与输入余弦的相位精确对应。

复杂 FFT 结果的另一个来源是舍入误差。您通常可以忽略相对于平均幅度相对较小的值(10e-13 等),并且两个微小舍入误差的相位是不确定的(与复零的相位相同)。也许只是假设为零。

于 2015-04-15T15:43:58.690 回答