在信号处理讨论中,人们经常谈论 fft 的点数(例如 512、1024、2048),并且还会谈论信号的位数。讨论的另一个重要部分应该是感兴趣的信号。例如,如果人们确实对低于 60Hz 的信号感兴趣,那么 FFT 算法测试较高频率下的功率(以及傅立叶系数?)似乎是一种浪费。 FFT 算法的常见实现中是否存在这种情况?这种节省对于在低功耗微 Controller 上执行 FFT 的人来说可能非常重要。
最佳答案
您可以进行低通滤波、抽取并使用较短的 FFT。但是,如果质量过滤的成本占 NLogN 的很大一部分,那么它(加上较短的 FFT)的成本可能与仅进行较长的 FFT 并丢弃不需要的结果箱的成本一样多。
您可以将 Goertzel 滤波器仅用于所需的 DFT 结果频率箱,但同样,如果您需要 LogN 结果箱或更多,优化的完整 FFT 可能会花费更少的计算(并且也稍微更准确)。因此,如果您需要比 log(N) 少得多的结果箱,例如使用慢速微 Controller 进行 DTMF 解码,这非常有用。
关于signal-processing - 对信号执行 FFT 时,相关通带的信息是否可以使算法更加高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339925/