您好,我在调试DSPLIBC674x库的FFT函数时遇到以下问题。
1、对信号采用DSPF_sp_fftSPxSP这个函数做FFT变换时,可以得到信号的频域输出。(信号频率为50Hz,虚部为零)
2、对信号采用DSPF_sp_cfftr4_dif、DSPF_sp_cfftr2_dit这两个函数做FFT变换时,看不到信号的频谱。(信号频率为50Hz,虚部为零)
fftr4_dif
cfftr2_dit
程序方面我参考的是DSPLIB库函数中的DSPF_sp_cfftr4_dif_d.c、DSPF_sp_cfftr2_dit_d.c这两个例程移植的,我不理解例程里的信号实部是sin (2 * 3.1415 * 500 * i / (double) N);虚部是sin (2 * 3.1415 * 1000 * i / (double) N);这个信号不是单频信号吧? 作出的FFT谱图如下:
fftr4_dif
cfftr2_dit
fftrspxSP
下面是我的FFT求解步骤。我想请问使用这两个函数应该怎么求FFT谱,用例程求出来的好像不对。
/*----DSPF_sp_cfftr4_dif函数基4频域抽样方法------*/
gen_twiddle (w_sp, N);
bit_rev(w_sp, N>>1);
DSPF_sp_cfftr4_dif(x_sp,w_sp,N);
seperateRealImg_c();
/*----DSPF_sp_cfftr2_di2函数基2时域抽样方法------*/
gen_w_r2 (w_sp, N);
bit_rev(x_sp, N);
DSPF_sp_cfftr2_dit(x_sp,w_sp,N);
seperateRealImg_c();





