64x系列DSP_FFT库函数使用问题

2019-07-26 19:25发布

最近在整快速傅里叶变化,自己编写的函数使用起来速度太慢了,想把TI库里面自带的函数给用起来,查看了下使用说明,主要使用2个函数:
<1>int gen_twiddle_fft32x32(int *w, int n, float scale);
<2> void DSP_fft32x32 (int * w, int nx, int * x, int * y)
w[2*nx]:    Pointer to vector of Q.31 FFT coefficients of size 2*nx elements.
nx:         Number of complex elements in vector x.
x[2*nx]:    Pointer to input vector of size 2*nx elements.
y[2*nx]:    Pointer to output vector of size 2*nx elements.
流程是先使用1生成旋转因子,再使用2,在输入时x[2*nx]偶数字地址存放的是实部,奇数字地址存放的是虚部,但运算出来的数据与其他函数运行结果差距较大,仅第一个数是对的,不清楚里面是否有哪些地方需要特别注意,或者是数据存放还有什么让人节操碎落的地方,求解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
lt19870405
2019-07-27 10:11
试用后发现需要在生成w旋转因子的时候配置常数为2147483647.5,精度稍微有点影响,128个点的fft时间小于1ms,但IFFT与FFT对同样的输入源输出相同的数据,手动改写输出数据为负共轭之后再调用fft,输出值还是比较接近ifft的理论结果

一周热门 更多>