请问下我使用FFT_Example_66_LE_COFF里面的例子进行FFT变换,然后再对输出的数据进行IFFT变换之后得到的波形和原波形相差非常大,有没有人知道是为什么?
部分源码如下:
#define N (1024)
#pragma DATA_ALIGN(x_16x16, 8);
int16_t x_16x16 [2*N];
#pragma DATA_ALIGN(y_16x16, 8);
int16_t y_16x16 [2*N];
#pragma DATA_ALIGN(w_16x16, 8);
int16_t w_16x16 [2*N];
int16_t ww_16x16 [2*N];
int16_t z_16x16 [2*N];
void main () {
unsigned int a,b,cycle;
/* Generate the input data */
generateInput (NUM_SIN_WAVES);
/* Genarate the various twiddle factors */
gen_twiddle_fft16x16(w_16x16, N);
/* Call the various FFT routines */
DSP_fft16x16(w_16x16, N, x_16x16, y_16x16);
gen_twiddle_ifft16x16(ww_16x16, N);
DSP_ifft16x16(ww_16x16, N, y_16x16, z_16x16);
/* Call the test code to seperate the real and imaginary data */
seperateRealImg ();
}