什么是FFT算法的直观解释?

问题描述 投票:-2回答:1

什么是FFT算法的直观解释?它在哪里偷工减料/优化?如何考虑相位?

signal-processing fft numeric analysis
1个回答
0
投票

FFT只是通过分解复杂矩阵变换来将DFT从O(N * N)提升到O(NlogN)的一种方法。实际上,它不会偷工减料,但它不仅比DFT更快,而且比DFT精确得多,这是因为通过较少的总操作就减少了算术舍入噪声的机会。

对于严格的实际输入,DFT只是与一组正交正弦波的N个相关关系和与一组正交余弦波的N个相关关系。 (在复数形式中,余弦相关为实部,而正弦相关为虚部)。这些关联都可以通过N * N复数矩阵相乘来执行。

相位只是输入波形的余弦相关性(偶数部分)和正弦波相关性(奇数部分)之间的关系(atan2())。例如围绕DFT窗口中心完全对称的波形将具有零相位,而围绕中心完全反对称的波形将具有pi相位。而且任何波形都可以分解为一对偶数和奇数波形,因此每个正弦波分量都有一定的相位(通过atan2()),参考DFT窗口的边缘(如果事先进行fftshift,则为中心)。

© www.soinside.com 2019 - 2024. All rights reserved.