我调用DSPF_sp_fftSPxSP_cn (int N, float *ptr_x, float *ptr_w, float *ptr_y,unsigned char *brev, int n_min, int offset, int n_max)函数进行复数的FFT计算,在输入数据时我是实部虚部交替存放,结果算出来的数据与matlab调用的fft函数出来的结果不一致,是什么原因了?是不是后面还要对数据进行处理?输入数据和输出数据我就是直接建立了ptr_x[128],ptr_y[128]两个数组。
Andy Yin1:
其他的参数设置一致么?是完全没有关系,还是幅度有整数倍的关系,会不会是出来的结果差一个1/sqrt(N)的关系。
JY LI:
以解决谢谢
yang cao1:
请问仁兄是怎么解决的?我用的是DSP_fft32x32,输出的也不对,而且输入的x_32x32还被改变了,求指教!
JY LI:
回复 yang cao1:
应该不会,你计算的数据是什么类型的了?其他参数是负配置好了。
yang cao1:
回复 JY LI:
DSP_fft32x32用的是int32_t型的,DSPF_sp_fftSPxSP我用的是float型的,应该配置都对吧。再请问DSPF_sp_fftSPxSP和DSPF_sp_fftSPxSP_cn有什么区别啊?谢谢!
Richard Zhang:
回复 yang cao1:
定点FFT库函数的输出为了防止溢出,结构会有一个缩放,一般是缩小2的FFT级数次幂。
DSPF_sp_fftSPxSP和DSPF_sp_fftSPxSP_cn 一个是经过优化的库函数,一个是没有经过优化的C程序两个输出是一样的,运行时间不一样,给你做结果对比用的。
qiang zhao:
回复 JY LI:
请问大侠是怎么解决的,我现在也遇到了类似的问题。求指导,谢谢
BO ZHAI:
您好!我是一名DSP新手,也是想在6678上调用DSPF_sp_fftSPxSP,但是算出来的结果和MATLAB的fft函数结果除了第一个数一样,其余的都不一样,看到您已经解决问题了,想跟您请教一下。非常感谢,不知道您是否可以留一下联系方式。
user1212849:
回复 BO ZHAI:
怎么解决的?
gang liu10:
回复 JY LI:
大神是怎么解决的啊