3

我在复值频谱上执行 iFFT,并通过让第一个样本归零来更改相应的时域信号。最后我通过 FFT 将其转换回频域。

我想知道使用两侧(对称)频谱或仅使用一侧频谱(仅正频率)之间的(物理)差异在哪里,因为这两个结果是不同的(在比较正频率时)?

版本 1(两侧光谱): fft( nulling( ifft( [0, 1+1j, 2+j, 2-2j, 1-1j] ) ) )

输出:[-1.2,-0.2+1j,0.8+2j,0.8-2j,-0.2-1j]

版本 2(单边光谱): fft( nulling( ifft( [0, 1+1j, 2+j] ) ) )

输出:[ -1-1j, 0+0j, 1+1j]

4

1 回答 1

3

由于您的 IFFT 例程不知道您提供的是单面频谱(即存在隐式复共轭对称负频率箱),因此它只能(错误)将其解释为正常的 N 点复频域输入正负频率区间。

一些 FFT 库(例如 FFTW、vDSP)确实支持实数到复数 FFT 和复数到实数 IFFT,其中复数频域 bin 的数量为 N / 2,并且省略了冗余复数共轭对称项,但它们通常对此有一个单独的 API,这与具有 N 个输入和 N 个输出的更一般的复杂到复杂的情况不同。

于 2012-01-30T11:50:32.540 回答