2013-07-29 64 views

回答

3

對於第一種情況(2D即時到複雜的FFT),您需要使用API​​中tools/kiss_fftndr.h

kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int ndims,int inverse_fft,void*mem,size_t*lenmem); 
void kiss_fftndr(
     kiss_fftndr_cfg cfg, 
     const kiss_fft_scalar *timedata, 
     kiss_fft_cpx *freqdata); 
void kiss_fftndri(
     kiss_fftndr_cfg cfg, 
     const kiss_fft_cpx *freqdata, 
     kiss_fft_scalar *timedata); 

對於第二種情況(1D複雜到真實FFT)你需要使用API​​中tools/kiss_fftr.h

kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); 
void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); 
void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); 
+0

「timedata」 和 「freqdata」 是 「in」 和 「出」? –

+0

這取決於你正在做正向還是反向快速傅里葉變換,但一般來說'const'都是輸入數據。 –

+0

所以在第二種情況下我不需要void_fftr(...);因爲我在做逆傅里葉變換(c2r),對嗎? –

相關問題