有没有人知道如何通过Kiss-fft API从fftw替换这些API?

时间:2013-07-29 12:04:01

标签: c signal-processing fft fftw kissfft

有没有人知道如何通过Kiss-fft API从fftw替换这些API?

fftw_plan fftw_plan_dft_r2c_2d(int n0, int n1,double *in, fftw_complex *out,unsigned flags);
fftw_plan fftw_plan_dft_c2r_1d(int n0,fftw_complex *in, double *out,unsigned flags);

1 个答案:

答案 0 :(得分:3)

对于第一种情况(2D实际到复数FFT),您需要在tools/kiss_fftndr.h中使用API​​:

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),您需要在tools/kiss_fftr.h中使用API​​:

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);