谁能解释在MATLAB中执行对称IFFT的算法?
举个例子:
out_signal = ifft(X,'symmetric');
这里,X
是复对称信号。
执行时的symmetric
标志ifft
假定您的频域信号是共轭对称或 Hermitian。当您在y
- 轴上反射信号并且它等于其复共轭时,函数是共轭对称的。换句话说:
这实际上意味着当 时,您的信号虚部的符号是相反的x < 0
。
这之所以如此有用,是因为如果信号是共轭对称的,它允许在计算逆时进行更多优化和捷径。这意味着频谱的一半用于正频率,而另一半用于负频率。负系数是正系数的共轭。这导致了 FFT 的一个有用特性,如果信号的傅里叶变换是共轭对称的,则其时域等价物将是纯实值的。如果您知道时域信号的输出是纯实值的,这将为ifft
.
请查看我在上面链接的 Wikipedia 文章了解更多详细信息。另外,请查看DSP StackExchange 上的这篇有用的帖子以获得很好的解释。如果您希望 IFFT 算法利用共轭对称结构,请查看以下两个帖子以了解更多详细信息: