This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C66X DSPLIB 中 DSPF_sp_fftSPxSP 的使用方法



CCSV5

C6657EVM

之前我在试用DSPLIB中的FFT时处处碰壁,在网上找了很多贴子也没有说得完整的,下面我分享一下我掌握的使用方法,以DSPF_sp_fftSPxSP函数为例!

1、包含头文件

右键工程名称==>Properties==>Build==>C6000 Compiler==>Include Options添加DSPLIB的头文件位置

2、链接文件&库文件

右键工程名称==>Properties==>Build==>C6000 Linker==>File Search Path添加链接文件和库文件

3、在工程文件#include

4、要做DSPF_sp_fftSPxSP前需要做两个准备工作,(1)brev[64]倒置数组(2)tw_gen ()旋转因子

5、调用DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 4, 0, N);

例:做 float   x_sp [8] = {1,2,3,4,5,6,7,8};的FFT,需要把此数组变成复数数组(重重重重点)

改成:float   x_sp [16] = {1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0};此处的“0”代表复数的虚部,

调做DSPF_sp_fftSPxSP(8, x_sp, w_sp, y_sp, brev, 4, 0, 8);

8:待转换的数据长度(实部+虚部构成一个数据)

x_sp:输入数组的首地址

w_sp:旋转因子的首地址

y_sp:输出数组的首地址

brev:倒置数组

4:为“基4”处理,若改成“2”,则为“基2”处理

8:待转换的数据长度(其实这个参数我也还没有理解,我姑且这样认为,请大神指导)

以上是本人对DSPLIB中的FFT的理解和使用,若有哪里说的不正确的还望指出,谢谢!

学习需要多交流,不能只提问题,解决了问题还望分享,谢谢!