《快速傅里叶变换(FFT)第四章》课件.ppt
《《快速傅里叶变换(FFT)第四章》课件.ppt》由会员分享,可在线阅读,更多相关《《快速傅里叶变换(FFT)第四章》课件.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章主要内容本章主要内容理解按时间抽选的基理解按时间抽选的基2FFT2FFT算法原理、运算流图、算法原理、运算流图、所需计算量和算法特点;所需计算量和算法特点;理解按频率抽选的基理解按频率抽选的基2FFT2FFT算法原理、运算流图、算法原理、运算流图、所需计算量和算法特点;所需计算量和算法特点;理解理解I IFFTFFT算法;算法;了解混合基、分裂基和基了解混合基、分裂基和基4FFT4FFT算法;算法;理解用理解用DFTDFT的快速算法对信号进行频谱分析的快速算法对信号进行频谱分析第第4 4章章 离散离散傅里叶变换傅里叶变换的计算与应用的计算与应用DFT是是信信号号分分析析与与处处理理中中的的
2、一一种种重重要要变变换换。但但直直接接计计算算DFT的的计计算算量量与与变变换换区区间间长长度度N的的平平方方成成正正比比,当当N较较大大时时,计计算算量量太太大大,直直接接用用DFT算算法法进进行行谱谱分分析和信号的实时处理是不切实际的。析和信号的实时处理是不切实际的。1965年年发发现现了了DFT的的一一种种快快速速算算法法,使使DFT的的运运算算效效率率提提高高12个个数数量量级级,为为数数字字信信号号处处理理技技术术应应用用于于各各种种信信号号的的实实时时处处理理创创造造了了条条件件,推推动动了了数数字字处处理技术的发展。理技术的发展。1984年年,提提出出了了分分裂裂基基快快速速算算
3、法法,使使运运算算效效率率进进一一步提高;步提高;4.1 离散傅里叶变换的高效计算思路离散傅里叶变换的高效计算思路4.1 4.1 离散傅里叶变换的高效计算思路离散傅里叶变换的高效计算思路 直接计算直接计算DFT的运算量的运算量长度为长度为N的有限长序列的有限长序列x(n)的的DFT为:为:考虑考虑x(n)为复数序列的一般情况,对某一个为复数序列的一般情况,对某一个k值,直接按上式计算值,直接按上式计算X(k)值需要值需要N次复数次复数乘法乘法、(N-1)次复数加法次复数加法。4.1 4.1 离散傅里叶变换的高效计算思路离散傅里叶变换的高效计算思路4.1 4.1 离散傅里叶变换的高效计算思路离散
4、傅里叶变换的高效计算思路例例N=1024,N2=1,048,5762 2、减少运算量的思路和方法、减少运算量的思路和方法思思路路:N N点点DFTDFT的的复复乘乘次次数数等等于于N N2 2。把把N N点点DFTDFT分分 解解为为几几个个较较短短的的DFTDFT,可可使使乘乘法法次次数数大大大大减减少少。另外,旋转因子另外,旋转因子W Wm mN N具有周期性和对称性。具有周期性和对称性。4.1 4.1 离散傅里叶变换的高效计算思路离散傅里叶变换的高效计算思路3 3、FFTFFT算法思想算法思想 不断地把不断地把长序列长序列的的DFTDFT分解成分解成几个短序列几个短序列的的DFTDFT,
5、并利用旋转因子的,并利用旋转因子的周期性周期性和和对称性对称性来来减少减少DFTDFT的运算次数。的运算次数。方法:方法:分分解解N为为较较小小值值:把把序序列列分分解解为为几几个个较较短短的的序列,分别计算其序列,分别计算其DFT值;值;利利用用旋旋转转因因子子WNk的的周周期期性性、对对称称性性、可可约约性性进进行行合合并并、归归类类处处理理,以以减减少少DFT的的运运算次数。算次数。周期性周期性:对称性对称性:可约性可约性:4.1 4.1 离散傅里叶变换的高效计算思路离散傅里叶变换的高效计算思路 一、一、时域抽取法基时域抽取法基2FFT基本原理基本原理 FFT算算法法基基本本上上分分为为
6、两两大大类类:时时域域抽抽取取法法FFT(简简 称称 DIT-FFT)和和 频频 域域 抽抽 取取 法法 FFT(简简 称称DIFFFT)。1、时域抽取法、时域抽取法FFT的算法思想:的算法思想:将将序序列列x(n)按按n为为奇奇、偶偶数数分分为为x1(n)、x2(n)两两组组序序列列;用用2个个N/2点点DFT来来完完成成一一个个N点点DFT的计算。的计算。4.2 基基2时间抽选的时间抽选的FFT算法算法 设序列设序列x(n)的长度为的长度为N,且满足:,且满足:(1)按按n的奇偶把的奇偶把x(n)分解为两个分解为两个N/2点的子序列点的子序列4.2 基基2时间抽选的时间抽选的FFT算法算法
7、为自然数为自然数(2)用用N/2点点X1(k)和和X2(k)表示表示N点点 X(k)4.2 基基2时间抽选的时间抽选的FFT算法算法偶数偶数奇数奇数注意:注意:这里这里k的取值范围为的取值范围为0,1,N-1?由由于于X1(k)和和X2(k)均均隐隐含含周周期期为为N/2,且且 ,X(k)又可表示为又可表示为:对上式的运算用下图所示的对上式的运算用下图所示的流图符号流图符号来表示来表示4.2 基基2时间抽选的时间抽选的FFT算法算法这样将这样将N点点DFT分解为两个分解为两个N/2点的点的DFT对上式的运算用下图所示的对上式的运算用下图所示的流图符号流图符号来表示来表示4.2 基基2时间抽选的
8、时间抽选的FFT算法算法X1(k)X2(k)X1(k)+WNkX2(k)X1(k)WNkX2(k)WNk蝶形运算蝶形运算图图-1例例:X(0)=X1(0)+WN0X2(0),X(1)=X1(1)+WN1X2(1)x(0)x(2)x(4)x(6)WN0X(0)WN1X(1)WN2X(2)WN3X(3)X1(0)X1(1)X1(2)X1(3)N/2点点DFTX2(0)X2(1)X2(2)X2(3)N/2点点DFTx1(0)x1(1)x1(2)x1(3)x(1)x(3)x(5)x(7)x2(0)x2(1)x2(2)x2(3)X(4)-1X(5)-1X(6)-1X(7)-1N=8点的点的DIT-2FF
9、T(时域抽取图时域抽取图)一次分解图一次分解图x1x2(3)第二次分解:第二次分解:将将x1(r)按按r取奇、偶可分解成取奇、偶可分解成2个长度为个长度为N/4的子序列的子序列 x3(l)=x1(2l)、x4(l)=x1(2l+1),根据上面推导可得:根据上面推导可得:X1(k)=X3(k)+WN/2k X4(k),k=0,1,N/2-1将将x2(r)按按r取奇、偶可分解成取奇、偶可分解成2个长个长N/4的子序列的子序列 x5(l)=x2(2l),l=0,1,,N/4 x6(l)=x2(2l+1);同理得同理得4.2 基基2时间抽选的时间抽选的FFT算法算法l=0,1,,N/4-1;X1(k+
10、N/4)=X3(k)WN/2k X4(k),k=0,1,N/4-1;X1(k)=X3(k)+WN/2k X4(k),k=0,1,N/4-1;X2(k)=X5(k)+WN/2k X6(k),k=0,1,N/4-1 ;X2(k+N/4)=X5(k)WN/2k X6(k),k=0,1,N/4-1;X1(0)W40 x3(0)x3(1)x4(0)x4(1)W80X(0)W81X(1)W82X(2)W83X(3)X(4)-1X(5)-1X(6)-1X3(0)X3(1)N/2点点DFTX1(1)W41X(7)-1X1(2)-1X1(3)-1X4(0)X4(1)N/2点点DFTx1(0)x1(2)x1(1)
11、x1(3)N/2点点DFTX2(0)X2(1)X2(2)X2(3)x5(0)x5(1)x6(0)x6(1)W40W41X5(0)X5(1)X6(0)X6(1)-1-1N/2点点DFTx2(0)x2(2)x2(1)x2(3)x(0)=x(4)=x(2)=x(6)=x(1)=x(5)=x(3)=x(7)=N=8点点DFT的二次时域抽取分解图的二次时域抽取分解图 x3(l)=x1(2l)x4(l)=x1(2l+1)4.2 基基2时间抽选的时间抽选的FFT算法算法l=0,1,,N/4-1;以以N=8为例,将为例,将k=0,1代入得代入得4.2 基基2时间抽选的时间抽选的FFT算法算法N=8点点DIT-
12、FFT运算流图运算流图X(5)x(0)x(4)x(2)x(6)x(1)x(5)x(3)X1(1)X1(2)X1(3)X2(0)X2(1)X2(2)X2(3)WN0WN1WN2WN3X(0)X(1)X(2)X(3)X(4)X(6)X3(1)X4(0)X4(1)X5(0)X5(1)X6(0)X6(1)WN/20WN/21WN/20WN/40 x(7)WN/21L=1级级L=2L=3X(7)X3(0)X1(0)WN/40WN/40WN/40-1-1-1-1-1-1-1-1-1-1-1-1二、二、DITFFT算法与直接计算算法与直接计算DFT运算量的比较运算量的比较1、直接、直接DFT运算运算N点运算
13、点运算:复数乘次数:复数乘次数:NN 复数加次数:复数加次数:N(N-1)2、用用DIT-FFT作作N点运算:点运算:复数乘次数:复数乘次数:MN/2=N/2log2N;复加次数:复加次数:2 N/2M=Nlog2N。可见可见FFT大大减少了运算次数,提高了运算速度。大大减少了运算次数,提高了运算速度。4.2 基基2时间抽选的时间抽选的FFT算法算法整整个个运运算算流流图图中中有有M级级蝶蝶形形,每每 一一 级级 中中 有有N/2个个 蝶蝶 形形,每每个个蝶蝶形形需需一一次次复复乘乘和和两两次次复数加复数加运算。运算。4.2 基基2时间抽选的时间抽选的FFT算法算法1.蝶形运算蝶形运算 序列经
14、过时域抽选后,存入数组中,如果蝶形序列经过时域抽选后,存入数组中,如果蝶形运算的两个输入数据相距运算的两个输入数据相距B个点,应用原位计算,个点,应用原位计算,蝶形运算可表示成如下形式:蝶形运算可表示成如下形式:XL-1(k)X L-1(k+B)WNpp=J2M-L,J=0,1,2,2L-11B=2L-1-1三、三、DITFFT的运算的运算特点特点及编程思想及编程思想2.原位计算原位计算序序列列长长为为N=2M点点的的FFT,有有M级级蝶蝶形形,每每级级有有N/2个个蝶蝶形运算形运算。同同一一级级中中,每每个个蝶蝶形形的的两两个个输输入入数数据据只只对对本本蝶蝶形形有有用用,每每个个蝶蝶形形的
15、的输输入入、输输出出数数据据节节点点在在用用一一条条水水平平线线上上。这这样样,当当计计算算完完一一个个蝶蝶形形后后,所所得得的的输输出出数数据据可可立立即即存存入入原原输输入入数数据据所所占占用用的的存存储储单单元元。经经过过M级级运运算算后后,原原来来存存放放输输入入序序列列数数据据的的N个个存存储储单单元元中中可可依依次存放次存放X(k)的的N个值。个值。原原位位计计算算:利利用用同同一一存存储储单单元元存存储储蝶蝶形形计计算算输输入入、输输出数据的方法。出数据的方法。优点优点:节约存储空间、降低设备成本。:节约存储空间、降低设备成本。4.2 基基2时间抽选的时间抽选的FFT算法算法3.
16、旋转因子和运算级数的关系旋转因子和运算级数的关系N点点DITFFT运运算算流流图图中中,每每个个蝶蝶形形都都要要乘乘以以旋旋转转因因子子WpN,p称为旋转因子的指数。称为旋转因子的指数。N8 23 时各级的旋转因子时各级的旋转因子 第一级:第一级:L=1,有有1个旋转因子:个旋转因子:WNp=WN/4J=W2LJ J=0 第二级:第二级:L=2,有,有2个旋转因子:个旋转因子:WNp=WN/2J=W2LJ J=0,1 第三级:第三级:L=3,有,有4个旋转因子:个旋转因子:WNp=WNJ=W2LJ J=0,1,2,3 对于对于N2M 的的一般情况,一般情况,第第L级级共有共有2L-1个不同的旋
17、转因子:个不同的旋转因子:WNp=W2LJ J=0,1,2,2L-11 2L=2L M 2M=N 2L M 故:故:按照上面两式可以确定第按照上面两式可以确定第L级运算的旋转因子。级运算的旋转因子。4.2 基基2时间抽选的时间抽选的FFT算法算法JJ 2M-LWNp=W2LJ=WN 2L-M=WNp=J2M-L,J=0,1,2,2L-11同一级中,同一旋转因子对应蝶形数目同一级中,同一旋转因子对应蝶形数目 第第L级级FFT运算中,运算中,同一旋转因子同一旋转因子用在用在2M-L个蝶形中;个蝶形中;同一级中,蝶形运算使用相同旋转因子之间相隔的同一级中,蝶形运算使用相同旋转因子之间相隔的“距离距离
18、”第第L级中,蝶距:级中,蝶距:D=2L。4.2 基基2时间抽选的时间抽选的FFT算法算法4.序列的倒序序列的倒序 N=2M,用,用M位二进制数位二进制数(nM-1nM-2n1n0)2表示序列的序号表示序列的序号n.M次次偶偶奇奇时时域域抽抽选选过过程程为为:对对最最低低位位按按0、1分分为为偶偶、奇奇两两组组,次低位也按次低位也按0、1分组,依此类推,分组,依此类推,M次分解后形成次分解后形成倒序图倒序图倒序图倒序图为:为:4.2 基基2时间抽选的时间抽选的FFT算法算法二进制数二进制数(N=8)分解倒序图分解倒序图10041015110611170000001101020113倒序前倒序前
19、00111015011311170000100401021106倒序后倒序后可可见见,只只要要将将顺顺序序数数的的二二进进制制位位倒倒置置可可得得到到对对应应的的二二进进制制倒序值倒序值。10n20101n100010n0111(n2n1n0)2思考题思考题:已知:已知N=16点,在点,在DIT-FFT运算中,序数为运算中,序数为2的二进制的二进制数经倒序后为多少数经倒序后为多少?4.2 基基2时间抽选的时间抽选的FFT算法算法顺顺序序数数增增加加1,是是在在顺顺序序数数的的二二进进制制数数的的最最低低位位加加1,向向左左进进位位到到序序数数是是在在M位位二二进进制制数数的的最最高高位位加加1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速傅里叶变换FFT第四章 快速 傅里叶变换 FFT 第四 课件
限制150内