来自DFT关系的余弦函数我们有 DFT(cos(2 * pi fi n))=。5 *(delta(f-fi)+ delta(f + fi)) 我们可以看到DFT的相位为零。但是,当我在matlab中使用FFT时,fft系数很复杂,这意味着DFT的相位不为零。请帮我解决这个矛盾。
答案 0 :(得分:1)
如果输入余弦的周期是FFT长度的精确整数倍,则FFT结果的相位仅精确对应于输入余弦的相位。
复杂FFT结果的另一个来源是舍入误差。通常可以忽略相对于平均值的相对较小(10e-13等)的值,并且两个微小舍入误差的相位是不确定的(与复零的相位相同)。也许假设为零。
答案 1 :(得分:1)
当计算余弦函数的DTFT时,由于其对称性,相位为零。然而,当使用FFT时,所获得的相位不为零,因为FFT将序列从0处理为L-1,即存在移位,其在频域中变为相移。然而,非零相是线性的。
您可以计算两个矩形序列的DTFT,一个是对称的,另一个是从0到L-1。