2407 FFT???

edwinzhu   2008-11-19 02:06 楼主
大家看过TI 的FFT程序吗?那里面的变量 indati[N]、indatr[N]是存放什么数据的数组,其中_input[2*N]这个数组更费解了。1、一会说是输入数据的存储数组,2、一会又说是存放FFT运算中用到的数据,包括实部和虚部,按二进制反序排列。_input[2*N]到底是什么意思???

    再有按 1 所说用FFT模块时是不是把A/D采集的数放到_input[2*N[数组中??那FFT转换的结果又存在哪个数组里?请大侠指点!!!

回复评论 (4)

indatr[N]存放的是输入数据的实部,
indati[N]存放的是输入数据的虚部,
_input[2*N]应该是存放FFT的输入数据,因为FFT用到的数据是复数,而实际中我们的采样数据都是实数,所以我们在做FFT的时候可以将我们的数据看做是虚部为0的复数,所以,采样为N个数据,需要2*N个空间来存放它。
点赞  2008-11-19 02:34
那我们往_input[2*N]里导入A/D采样出来的结果数据时,那他们在_input[]里站用的地址空间是高位还是低位?(因为导入的为N个数据,_input[]为2N个数据空间)
点赞  2008-11-19 02:59
你想怎么存放都可以,只要你清楚程序怎么去取值,我通常情况下是这样做的,输入数据N个,buffer长度也为N,需要用到虚部的时候直接给0就是了,然后出来的数据有N个,但存放的buffer需要2*N个,数据存放格式为:
第一个数据实部
第一个数据虚部
第二个数据实部
第一个数据虚部
.
.
.
点赞  2008-11-19 04:39
谢谢!!!,还是不太明白,你看过<<TMS320LF240X DSP  C语言开发应用>>这本书吗?那上面的FFT 例程,我要套用那个FFT例程时,我需要处理的数据怎么代入他所给的函数里,是不是直接赋给_input[]这个数组啊,在有FFT后所分析出来实部和虚部就就放在indatr[]和  indati[]里面吧?还是把要处理的数据放在indatr[]里,FFT分出来的数据在_input[]里,存放形式如你所说的那样?谢谢!!!
点赞  2008-11-19 05:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复