根据余弦函数的 DFT 关系,我们有 DFT( cos(2*pifin) )=.5*( delta(f-fi)+delta(f+fi) ) 我们可以看到 DFT 的相位为零。然而,当我在matlab中使用FFT时,fft系数很复杂,这意味着DFT的相位不为零。请帮我解决这个矛盾。
最佳答案
如果输入余弦的周期是 FFT 长度的精确整数约数,则 FFT 结果的相位仅与输入余弦的相位精确对应。
复杂 FFT 结果的另一个来源是舍入误差。您通常可以忽略相对于平均幅度而言相对较小的值(10e-13 等),并且两个微小舍入误差的相位是不确定的(与复数零的相位相同)。也许只是假设为零。
关于fft - 如何从FFT中获取余弦函数的相位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29650230/