时域/频谱/ DSP

时间:2012-01-30 11:43:57

标签: matlab numpy fft ifft

我在复值频谱上执行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]

1 个答案:

答案 0 :(得分:3)

由于您的IFFT例程知道您正在提供单侧频谱(即存在隐式复共轭对称负频率区间),因此它只能(错误地)解释这个作为具有正频率和负频率频段的正常N点复频域输入。

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