设计一个对N点复数序列求DFT的模块,N可以为奇数; 每个复数由32bit保存,高16位为实部,低16为为虚部。 输出也是按照高16位为实部,低16为为虚部保存。 芯片内有内部函数直接调用吗?或者用查表法怎么求解?
非常感谢!!!
Adam Yao94020:
没有对应的指令可以直接完成,DSP的FFTC加速器只可以完成一些特殊点数的FFT运算,具体参考sprugs2b中的1.3节,如果你要求做的点数正好符合这个要求,那是最方便的。否则只能使用DSP核用软件做,但是TI没有奇数点的DFT库函数,只有2的冥次方的DFT函数(dsplib中),你可以以这个为基础去完成自己的代码
wei hua1:
回复 Adam Yao94020:
您好!非常感谢您的回复,我想问问用FFTC 可以求2点、4点、6点、12点的 DFT运算吗?谢谢!!
或者库函数可以直接调用函数来求这几种情况的DFT吗? 非常感谢!!!
Adam Yao94020:
回复 wei hua1:
在dpslib中有对应的DFT函数。
这么少的点数用FFTC来做不太划算,因为还要考虑驱动的配置开销。
wei hua1:
回复 Adam Yao94020:
dsplib库中的DFT函数的点数一般是2或者4的幂次方,而且一般库函数都是计算16点以上的。点数少的库函数好像没有看到呢。
无需要设计一个DFT函数同时满足2,4,6,12点的DFT;
好像6点的DFT库函数没有。
如果自己用C语言写一个DFT函数,12点的DFT估计要耗费多少时间呢?谢谢!!
Adam Yao94020:
回复 wei hua1:
很少,几百个cycle足够了