本文基于合众达的dsp试验箱,采集实验箱上信号发生器产生的信号,并对信号进行fft变换,通过ccs观察结果。
DIT 和DIF 两种FFT 算法的区别是旋转因子WNk出现的位置不同,,(DIT)FFT 中旋转因子WNk在输入端,(DIF)FFT 中旋转因子WNk在输出端,除此之外,两种算法是一样的。在本设计中实现的是基2 的时间抽取FFT 算法,具体的实现过程可参见源程序及其注释。
首先定义N=128,当然也可以更改程序,将N值改为256或1024等等,前提是相应的数组大小也得更改。然后用模数转换器采集信号(正弦信号,方波信号等等),最后将采集到的信号进行FFT变换即可。
2.1 功能实现
2.1.1 位置倒码
当进行原位运算时,发现当运算完成后,FFT的输出X(k)按正常顺序排列
在存储单元中,即按X(0),X(1), ,X(7)的顺序排列,但是这时输入x(n)却不是按自然顺序存储的,而是按x(0),x(4), , x(7)的顺序存入存储单元,看起来好像是“混乱无序”的,实际上是有规律的,称之为倒位序。
当用二进制表示顺序时,它正好是“位码倒置”的顺序。例如,原来的自然顺序应是x(1)的地方,现在放着x(4),用二进制码表示这一规律时,则是在x(0 0 1)处放着x(1 0 0),x(0 1 1) 处放着x(1 1 0),即将自然循序的二进制码位倒置过来,第一位码变成最末位码,这样倒置以后的顺序正是输入所需要的顺序,其结果与按时间抽样算法FFT流程图中的输入顺序是一致的。
需要注意当进行原位运算时,输入输出序列为倒位序的关系,若不为原位运算,则这种关系不一定成立。在实际运算中,一般直接将输入数据x(n)按码位倒置的顺序排好输入很不方便,总是先按自然顺序的存储,然后进行FFT的原位计算。
表2-1 码位倒置顺序
2.1.2 蝶距
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于dsp的快速傅里叶变换程序设计(9)在线全文阅读。
相关推荐: