2012-09-03 49 views
0

FFTW包裝:FFTW包裝和Matlab

plan = fftwf.dft_1d (n, pin, pout, fftw_direction.Backward, fftw_flags.Estimate); 

Matlab的:

g = fft (samples, 2048) 

現在我幾乎得到正確的結果,但是從FFTW包裝的Im值有不同的標誌。如果我從g的結尾處開始讀取數值 - 值將會正常。
爲什麼來自Matlab的FFT與來自FFTW的FFT不同?是否有任何參數可以告訴FFTW訂購數據?

+2

在第一種情況下,您的方向與後向相反,因此它是逆FFT。將其更改爲轉發。 –

+0

您更正了,我不理解這個FFT事物:/ – zgnilec

+2

如果您不瞭解FFT的基礎知識,那麼在代碼中使用FFT會很困難 - 可能需要花一點時間閱讀基本面。 –

回答

2

在第一種情況下,您的方向與後向相反,因此它是逆FFT。將其更改爲正向:

plan = fftwf.dft_1d (n, pin, pout, fftw_direction.Forward, fftw_flags.Estimate);