按时间抽取的基2FFT算法分析及MATLAB实现.pdf
《按时间抽取的基2FFT算法分析及MATLAB实现.pdf》由会员分享,可在线阅读,更多相关《按时间抽取的基2FFT算法分析及MATLAB实现.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、按时间抽取的基2FFT算法分析及MATLAB现、DIT-FFT 算法的基本原理基2FFT算法的基本思想是把原始的N点序列依 次分解成一系列短序列,充分利用旋转因子的周 期性和对称性,分别求出这些短序列对应的DFT,再进行适当的组合,得到原N点序列的DFT最 终达到减少运算次数,提高运算速度的目的。按时间抽取的基2FFT算法,先是将N点输入序 列x(n)在时域按奇偶次序分解成2个N/2点序 列x1(n)和x2(n),再分别进行DFT运算,求出 与之对应的X1(k)和X2(k),然后利用图1所示 的运算流程进行蝶形运算,得到原N点序列的DFT只要N是2的整数次幂,这种分解就可一 直进行下去,直到其
2、DFT就是本身的1点时域序 列。还幺)X=纸(十啟尽閃X2(小X(业十押丿2)=%0丄-1州址2(上)流图图蝶形运算1 DIT-FFT、DIT-FFT 算法的运算规律及编程思想1.原位计算对N=2点的FFT共进行M级运算,每级由N/2个蝶形运M算组成。在同一级中,每个蝶的输入数 据只对本蝶有用,且输出节点与输入节点在同一 水平线上,这就意味着每算完一个蝶后,所得数 据可立即存入原输入数据所占用的数组元素(存储单元),经过M级运算后,原来存放输入序列 数据的N个存储单元中可依次存放X(k)的N个 值,这种原位(址)计算的方法可节省大量内存。2.旋转因子的变化规律N点DITFFT运算流图中,每个蝶
3、形都要乘以 旋转因子WN,p称为旋转因子的指数。例如N=8=2时各级的旋转3因子:第一级:L=1,有1个旋转因子:WNWIN/4=W=J2LJ=0第二级:J=0,1L=2,有2个旋转因子:WN=WN/2=W;第三级:J=0,1,2,3L=3,有4个旋转因子:WN=WN=W;对于N=2的一般情况,第L级共有2个不同的 旋转因ML-1子:WN=:J=0,1,2,JWL,2-1L-122X2M=L-M=N2L-M故:按照上面两式可以确定第因子卩一屯=呛严=昭尸L级运算的旋转P二”严,3、同一级中,同一旋转因子对应蝶形数目第L级FFT运算中,同一旋转因子用在2个蝶形M-L中;4、同一级中,蝶形运算使用
4、相同旋转因子之间 相隔的“距离”第L级中,蝶距:D=2;L5、同一蝶形运算两输入数据的距离在输入倒序,输出原序的FFT变换中,第L级的每一个蝶形的2个输入数据相距:B=2。L-16、码位颠倒输入序列x(n)经过M级时域奇、偶抽选后,输出序列X(k)的顺序和输入序列的顺序关系为 倒位关系。将十进制顺序数用I表示,与之对应的二进制是 用IB表示,十进制倒序数用J表示,与之对应 的二进制是用JB表示。十进制顺序数I增加1,相当于IB最低位加1且逢2向高位进1,即相 当于JB最高位加1且逢2向低位进1。JB的变 化规律反映到J的变化分为两种情况,若JB的 最高位是0(JN/2),则直接由加1(J JJ
5、+N/2)得到下一个倒序值,若JB的最高位是1(J全N/2),则要先将最高位变0(J J J-N/2),再在 次高位加1(J J J+N/4),但次高位加1时,同 样要判断0、1值,如果是0(JN/4),则直接 加1(J J J+N/4),否则要先将次高位变0(J J J-N/4)再判断下一位,依次类推,直到完 成最高位加1,逢2向右进位的运算。I=J时不 需要交换,只对IJ时的情况进行数据交换即可,数据倒序程序框图如如2。7、蝶形运算的规律序列经过时域抽选后,存入数组中,如果蝶形运算的两个输入数据相距B个点,应用原位 计算,蝶形运算可表示成如下形式:XL(J)=XL-1(J)+WNp X L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按时 抽取 FFT 算法 分析 MATLAB 实现
限制150内