第4章快速傅里叶变换(FFT)ppt课件.ppt
《第4章快速傅里叶变换(FFT)ppt课件.ppt》由会员分享,可在线阅读,更多相关《第4章快速傅里叶变换(FFT)ppt课件.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多第第4章章 快速傅里叶变换快速傅里叶变换(FFT)4.1 4.1 引言引言引言引言 4.2 4.2 基基基基2FFT2FFT算法算法算法算法 4.3 4.3 进一步减少运算量的措施进一步减少运算量的措施进一步减少运算量的措施进一步减少运算量的措施 4.4 4.4 其他快速算法简介其他快速算法简介其他快速算法简介其他快速算法简介第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速
2、傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.1 引引 言言DFT是数字信号分析与处理中的一种重要变换。但是数字信号分析与处理中的一种重要变换。但直接计算直接计算DFT,当,当N较大时,计算量太大,所以在快速较大时,计算量太大,所以在快速傅里叶变换傅里叶变换FFT(Fast Fourier Transform)出现以前,直出现以前,直接用接用DFT算法进行谱分析和信号的实时处理是不切实际算法进行谱分析和信号的实时处理是不切实际的。直到的。直到1965年提出年提出DFT的一种快速
3、算法以后,情况才的一种快速算法以后,情况才发生了根本的变化。发生了根本的变化。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多自从自从1965年库利和图基在年库利和图基在计算数学计算数学杂志上发杂志上发表了著名的表了著名的机器计算傅里叶级数的一种算法机器计算傅里叶级数的一种算法论文论文后,桑德后,桑德图基等快速算法相继出现,又经人们进行图基等快速算法相继出现,又经人们进行改进,很快形成一套高效计算方法,这就是现在的改进,很快形成
4、一套高效计算方法,这就是现在的快快速傅里叶变换(速傅里叶变换(FFT)。)。这种算法使这种算法使DFT的运算效率提高了的运算效率提高了1 2个数量级,个数量级,为数字信号处理技术应用于各种信号的实时处理创造为数字信号处理技术应用于各种信号的实时处理创造了条件,大大推动了数字信号处理技术的发展。了条件,大大推动了数字信号处理技术的发展。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多人类的求知欲和科学的发展是永无止境的。多年来,人
5、类的求知欲和科学的发展是永无止境的。多年来,人们继续寻求更快、更灵活的好算法。人们继续寻求更快、更灵活的好算法。1984年,法国的年,法国的杜哈梅尔杜哈梅尔(P.Dohamel)和霍尔曼和霍尔曼(H.Hollmann)提出的提出的分分裂基快速算法裂基快速算法,使运算效率进一步提高。,使运算效率进一步提高。本章主要讨论本章主要讨论基基2FFT算法。算法。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2 基基2FFT算法算法4
6、.2.1 直接计算直接计算DFT的特点及减少运算量的基本的特点及减少运算量的基本 途径途径 有限长序列有限长序列x(n)的的N点点DFT为为考虑考虑x(n)为复数序列的一般情况,对某一个为复数序列的一般情况,对某一个k值,直接按值,直接按(4.2.1)式计算式计算X(k)的的1个值需要个值需要N次复数乘法和次复数乘法和(N1)次复数加法。因此,次复数加法。因此,计算计算X(k)的所有的所有N个值,共需个值,共需N2次次复数乘法和复数乘法和N(N1)次复数加法运算。次复数加法运算。(4.2.1)第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒
7、假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多当当时,时,N(N1)N2。由上述可见,。由上述可见,N点点DFT的乘法和加法运算次数均为的乘法和加法运算次数均为N2。当。当N较大时,运算量相较大时,运算量相当可观。例如当可观。例如N=1024时,时,N2=1 048 576。这对于实时信。这对于实时信号处理来说,必将对处理设备的计算速度提出难以实号处理来说,必将对处理设备的计算速度提出难以实现的要求。所以,必须减少其运算量,才能使现的要求。所以,必须减少其运算量,才能使DFT在在各种科学和工程计算中得到应用。各种科学和工程计算
8、中得到应用。如前所述,如前所述,N点点DFT的复乘法次数等于的复乘法次数等于N2。显然,。显然,把把N点点DFT分解为几个较短的分解为几个较短的DFT,可使乘法次数大大,可使乘法次数大大减少。减少。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多FFT算法就是不断地把长序列的算法就是不断地把长序列的DFT分解成几个短序分解成几个短序列的列的DFT,并利用,并利用 的周期性和对称性来减少的周期性和对称性来减少DFT的的运算次数。算
9、法最简单最常用的是基运算次数。算法最简单最常用的是基2FFT。其对称性表现为其对称性表现为(4.2.3a)或者或者(4.2.3b)另外,旋转因子具有明显的周期性和对称性。其周期性表现为另外,旋转因子具有明显的周期性和对称性。其周期性表现为第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2.2 时域抽取法基时域抽取法基2FFT基本原理基本原理基基2FFT算法分为两类:算法分为两类:时域抽取法时域抽取法FFT(Decimatio
10、nIn Time FFT,简称,简称DITFFT);频域抽取法频域抽取法FFT(Decimation In Frequency FFT,简称,简称DIFFFT)。本节。本节介绍介绍DITFFT算法。算法。设序列设序列x(n)的长度为的长度为N,且满足,且满足N=2M,M为自然数。为自然数。按按n的奇偶的奇偶把把x(n)分解为两个分解为两个N/2点的子序列点的子序列第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多则则x(n)的的D
11、FT为为因为因为所以所以第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多其中其中1(k)和和X2(k)分别为分别为x1(r)和和x2(r)的的N/2点点DFT,即即由于由于X1(k)和和X2(k)均以均以N/2为周期,且为周期,且 ,因此,因此X(k)又可表示为又可表示为(4.2.5)(4.2.6)第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学
12、在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多这样,就将这样,就将N点点DFT分解为两个分解为两个N/2点点DFT和和(4.2.7)式以及式以及(4.2.8)式的运算。式的运算。(4.2.7)和和(4.2.8)式的运算可用图式的运算可用图4.2.1所示所示的流图符号表示,称为的流图符号表示,称为蝶形运算符号蝶形运算符号。采用这种图示法,。采用这种图示法,经过一次奇偶抽取分解后,经过一次奇偶抽取分解后,N点点DFT运算图可以用图运算图可以用图4.2.2表示。图中,表示。图中,N=23=8,X(0)X(3)由由(4.2.7)式给出,而式给出,而X(4)X(7)
13、则由则由(4.2.8)式给出。式给出。(4.2.7)(4.2.8)第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多图图4.2.1 蝶形运算符号蝶形运算符号偶数点的偶数点的N/2 DFT奇数点的奇数点的N/2 DFT序列序列DFT的的N/2个点个点序列序列DFT的后的后N/2个个点点第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工
14、。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多图图4.2.2 8点点DFT一次时域抽取分解运算流图一次时域抽取分解运算流图第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多由图由图4.2.1可见,要完成可见,要完成一个蝶形运算一个蝶形运算,需要,需要一次复一次复数乘法数乘法和和两次复数加法两次复数加法运算。由图运算。由图4.2.2容易看出,经过容易看出,经过一次分解后,计算一次分解后,计算1个个N点点DFT共需
15、要计算共需要计算两个两个N/2点点DFT和和N/2个蝶形运算个蝶形运算。而计算一个。而计算一个N/2点点DFT需要需要(N/2)2次复次复数乘法和数乘法和N/2(N/21)次复数加法。所以,按图次复数加法。所以,按图4.2.2计算计算N点点DFT时,总共需要的复数乘法次数为时,总共需要的复数乘法次数为 复数加法次数为复数加法次数为第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 由此可见,仅仅经过一次分解,就使运算量减少近由此可
16、见,仅仅经过一次分解,就使运算量减少近一半。既然这样分解对减少一半。既然这样分解对减少DFT的运算量是有效的,且的运算量是有效的,且N=2M,N/2仍然是偶数,故可以对仍然是偶数,故可以对N/2点点DFT再作进一步再作进一步分解。分解。与第一次分解相同,将与第一次分解相同,将x1(r)按奇偶分解成两个按奇偶分解成两个N/4点点的子序列的子序列x3(l)和和x4(l),即,即第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多X1(k
17、)又可表示为又可表示为(4.2.9)第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多式中式中同理,由同理,由X3(k)和和X4(k)的周期性和的对称性的周期性和的对称性最后得到:最后得到:(4.2.10)第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多用同样的方法
18、可计算出用同样的方法可计算出(4.2.11)其中:其中:第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多 这样,经过第二次分解,又将这样,经过第二次分解,又将N/2点点DFT分解为分解为2个个N/4点点DFT和和(4.2.10)式或式或(4.2.11)式所示的式所示的N/4个蝶形运算,个蝶形运算,如图如图4.2.3所示。所示。依次类推,依次类推,经过经过M次分解,最后将次分解,最后将N点点DFT分解成分解成N个个1点点DFT和和
19、M级蝶形运算,而级蝶形运算,而1点点DFT就是时域序列本就是时域序列本身。身。一个完整的一个完整的8点点DITFFT运算流图如图运算流图如图4.2.4所示。所示。图中用到关系式。图中图中用到关系式。图中输入序列不是顺序排输入序列不是顺序排列列,但后面会看到,但后面会看到,其排列是有规律的其排列是有规律的。图中的数组。图中的数组A用于存放输入序列和每级运算结果。用于存放输入序列和每级运算结果。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工
20、的陷阱很多图图4.2.3 8点点DFT二次时域抽取分解运算流图二次时域抽取分解运算流图第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多图图4.2.4 8点点DIT-FFT运算流图运算流图第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2.3 DIT-FFT算法
21、与直接计算算法与直接计算DFT运算量的比较运算量的比较由由DIT-FFT算法的分解过程及图算法的分解过程及图4.2.4可见,当可见,当N=2M 时,时,其运算流图应有其运算流图应有M级蝶形级蝶形,每一级都由,每一级都由N/2个蝶形运算个蝶形运算构成。构成。因此,每一级运算都需要因此,每一级运算都需要N/2次复数乘和次复数乘和N次复数加次复数加(每个蝶每个蝶形需要两次复数加法形需要两次复数加法)。所以,。所以,M级运算总共需要的复数乘级运算总共需要的复数乘次数为次数为复数加次数为复数加次数为第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来
22、临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多而直接计算而直接计算DFT的复数乘为的复数乘为N2次,复数加为次,复数加为N(N1)次。次。当当N1时,时,N2(N/2)log2N,所以,所以,DIT-FFT算法比直算法比直接计算接计算DFT的运算次数大大减少。的运算次数大大减少。例如,例如,N=210=1024时,时,这样,就使运算效率提高这样,就使运算效率提高200多倍。图多倍。图4.2.5为为FFT算法算法和直接计算和直接计算DFT所需复数乘法次数所需复数乘法次数CM与变换点数与变换点数N的关的关系曲线。由此图更加直观地看出系
23、曲线。由此图更加直观地看出FFT算法的优越性,显算法的优越性,显然,然,N越大时,优越性就越明显。越大时,优越性就越明显。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多图图4.2.5 DIT-FFT算法与直接计算算法与直接计算DFT所需复数乘法次数的比较曲线所需复数乘法次数的比较曲线第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去
24、打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多4.2.4 DIT-FFT的运算规律及蝶形画法的运算规律及蝶形画法1 原位计算原位计算由图由图4.2.4可以看出,可以看出,DIT-FFT的运算过程很有规律。的运算过程很有规律。N=2M点的点的FFT共进行共进行M级运算,每级由级运算,每级由N/2个蝶形运算个蝶形运算 组成。组成。同一级中,每个蝶形的两个输入数据只对计算本蝶形有同一级中,每个蝶形的两个输入数据只对计算本蝶形有 用,而且每个蝶形的输入、输出数据结点又同在一条水用,而且每个蝶形的输入、输出数据结点又同在一条水 平线上,这就意味着计算完一个蝶形后,所得输出数据平线
25、上,这就意味着计算完一个蝶形后,所得输出数据 可立即存入原输入数据所占用的存储单元可立即存入原输入数据所占用的存储单元(数组元素数组元素)。这样,这样,经过经过M级运算后,原来存放输入序列数据的级运算后,原来存放输入序列数据的N个个 存储单元存储单元(数组数组A)中便依次存放中便依次存放X(k)的的N个值。个值。第第第第4 4章章章章 快速傅里叶变换快速傅里叶变换快速傅里叶变换快速傅里叶变换(FFT)(FFT)寒假来临,不少的高中毕业生和大学在校生都选择去打工。准备过一个充实而有意义的寒假。但是,目前社会上寒假招工的陷阱很多8点点DIT-FFT运算流图的画法运算流图的画法第第第第4 4章章章章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 傅里叶变换 FFT ppt 课件
限制150内