关于DSP中fft函数调用方法
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于DSP中fft函数调用方法
以下主要是通过代码调用fft函数
1、通过dsplib库调用DSPF_sp_ifftSPxSP函数来实现fft
//fft
tw_gen_fft (w_array,N);
DSPF_sp_fftSPxSP (N,x_array,w_array,y_array,brev,rad,0,N);
其中函数tw_gen_fft()为旋转因子,计算大码为:
void tw_gen_ifft (float *w,int n)
{
int i,j,k;
const double PI = 3.141592654;
for (j = 1,k = 0; j 《= n 》》2; j = j 《《2)
{
for (i = 0; i 《n 》》2; i += j)
{
#ifdef _LITTLE_ENDIAN
w[k]= (float)-sin (2 * PI * i / n);//为负数的时候是进行IFFT,为正数的时候是进行FFT
w[k + 1]= (float)cos (2 * PI * i / n);
w[k + 2]= (float)-sin (4 * PI * i / n);
w[k + 3]= (float)cos (4 * PI * i / n);
w[k + 4]= (float)-sin (6 * PI * i / n);
w[k + 5]= (float)cos (6 * PI * i / n);
#else
w[k]= (float)cos (2 * PI * i / n);
w[k + 1]= (float)-sin (2 * PI * i / n);