快速傅里叶变换(FFT).ppt
《快速傅里叶变换(FFT).ppt》由会员分享,可在线阅读,更多相关《快速傅里叶变换(FFT).ppt(67页珍藏版)》请在三一办公上搜索。
1、第4章 快速傅里叶变换(FFT),4.1 引言4.2 基2FFT算法4.3 进一步减少运算量的措施4.4 其它快速算法简介,4.1 引言,DFT是信号分析与处理中的一种重要变换。直接计算DFT的计算量 N2 无法直接用DFT算法进行谱分析和信号的实时处理 直到1965年:DFT的一种快速算法出现FFT更快、更灵活的好算法,4.2 基2FFT算法,4.2.1 直接计算DFT的特点及减少运算量的基本途径 长度为N的有限长序列 x(n)的DFT为:若 x(n)为复数序列,则对一个 k 值,直接按上式计算 X(k)值需要:N次复数乘法、(N-1)次复数加法对N个 k 值,共需要:N2 次复数乘法和 N
2、(N-1)次复数加法,(4.2.1),(1)把N点DFT分解为几个较短的DFT N点DFT的复乘次数、复加次数都 N2。(2)利用旋转因子WmN的周期性和对称性。周期性:,(4.2.2),对称性:,或者,减少运算量的途径:,4.2.2 时域抽取法基2FFT基本原理 FFT算法基本上分为两大类:时域抽取法FFT(DIT-FFT:Decimation In Time FFT)频域抽取法FFT(DIF-FFT:Decimation In Frequency FFT)DITFFT算法:设序列x(n)的长度为N,且满足,为自然数,按 n 的奇偶把 x(n)分解为两个N/2点的子序列:,则x(n)的DFT
3、为:,由于,所以,其中X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT,即,由于X1(k)和X2(k)均以N/2为周期,且,所以X(k)又可表示为,图4.2.1 蝶形运算符号,图4.2.2 8点DFT的一次时域抽取分解运算流图,运算量分析:完成一个蝶形运算需要:一次复数乘法运算、两次复数加法运算。经过一次分解后,计算1个N点DFT共需要:计算两个N/2点DFT、N/2个蝶形运算,即总共需要的复数乘法次数为:复数加法次数为:,由于N=2M,N/2仍然是偶数,故可以对N/2点DFT再作进一步分解。与第一次分解相同,将x1(r)按奇偶分解成两个N/4长的子序列x3(l)和x4(l)
4、,即,那么,X1(k)又可表示为,式中,同理,由X3(k)和X4(k)的周期性和Wm N/2的对称性 Wk+N/4 N/2=-Wk N/2 最后得到:,用同样的方法可计算出:,其中,经过第二次分解,又将N/2点DFT分解为2个N/4点DFT和N/4个蝶形运算。,图4.2.3 8点DFT第二次时域抽取分解运算流图,依次类推,经过M次分解,最后将N点DFT分解成N个1点DFT和M级蝶形运算,而1点DFT就是时域序列本身。,图4.2.4 8点DITFFT运算流图,基2时间抽取FFT算法流图,N=2,xk=x0,x1,4点基2时间抽取FFT算法流图,X10,X11,X20,X21,-1,-1,-1,-
5、1,X 0,X 1,X 2,X 3,4点基2时间抽取FFT算法流图,8点基2时间抽取FFT算法流图,X10,X11,X12,X13,X20,X21,X22,X23,X 0,X 1,X 2,X 3,X 4,X 5,X 6,X 7,-1,-1,-1,-1,X10,X11,X12,X13,X20,X21,X22,X23,X 0,X 1,X 2,X 3,X 4,X 5,X 6,X 7,-1,-1,-1,-1,8点基2时间抽取FFT算法流图,基2时间抽取FFT算法,第一级,第二级,第三级,4.2.3 DITFFT算法与直接计算DFT运算量的比较 N=2M 运算流图有M级蝶形,每一级都有N/2个蝶形运算,
6、每一级运算都需要N/2次复数乘和N次复数加。所以,M级运算总共需要的复数乘次数为:,复数加次数为:,例如,N=210=1024 时,图4.2.5 FFT算法与直接计算DFT所需乘法次数的比较曲线,4.2.4 DITFFT的运算规律及编程思想 1.原位计算 N=2M点FFT共进行M级运算,每级有N/2个蝶形运算。同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入输出数据结点又同在一条水平线上。这意味着计算完一个蝶形后,所得输出数据可立即存入原输入数据所占用的存储单元。2.旋转因子的变化规律 N点DITFFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WpN,称其为旋
7、转因子,p称为旋转因子的指数。,图4.2.4 8点DITFFT运算流图,观察图不难发现,第L级共有2L-1个不同的旋转因子。N=23=8时的各级旋转因子表示如下:,对N=2M的一般情况,第L级的旋转因子为:,因为:,所以:,3.蝶形运算规律 设序列x(n)经时域抽选(倒序)后,存入数组X中。如果蝶形运算的两个输入数据相距B个点,应用原位计算,则蝶形运算可表示成如下形式:式中:下标L表示第L级运算,AL(J)则表示第L级运算后的数组元素A(J)的值(即第L级蝶形的输出数据)。而AL1(J)表示第L级运算前A(J)的值(即第L级蝶形的输入数据)。,4.编程思想及程序框图,图4.2.6 DITFFT
8、运算和程序框图,5.序列的倒序 DITFFT算法输入序列的排序称为倒序:N=2M,顺序数可用M位二进制数(nM-1nM-2n1n0)表示。,图4.2.7 形成倒序的树状图(N=23),表4.2.1 顺序和倒序二进制数对照表,用J表示当前倒序数的十进制数值。对于N=2M,M位二进制数从左向右二进制位的权值依次为:N/2,N/4,N/8,2,1。最高位加1相当于十进制运算J+N/2。如果最高位是0(JN/2),则直接由J+N/2得下一个倒序值;如最高位是1(JN/2),则先将最高位变成0(JJN/2),然后次高位加1(J+N/4)。次高位加1时,同样要判断0、1值,如果为0(JN/4),则直接加1
9、(JJ+N/4),如果为1(JN/4),则将次高位变成0(JJN/4),再判断下一位;依此类推,直到完成最高位加1,逢2向右进位的运算。,图4.2.8 倒序规律,图4.2.9 倒序程序框图,4.2.5 频域抽取法FFT(DIFFFT)设序列x(n)长度为N=2M,将x(n)前后对半分开,得到两个子序列,其DFT为:,偶数,奇数,将X(k)分解成偶数组与奇数组:当k取偶数(k=2m,m=0,1,N/2-1)时,当k取奇数(k=2m+1,m=0,1,N/21)时:,令,将x1(n)和x2(n)分别代入(4.2.14)和(4.2.15)式,可得(4.2.16)上式表明,X(k)按奇偶 k 值分为两组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 傅里叶变换 FFT

链接地址:https://www.31ppt.com/p-5976667.html