数字信号处理第4章快速傅里叶变换FF.ppt
《数字信号处理第4章快速傅里叶变换FF.ppt》由会员分享,可在线阅读,更多相关《数字信号处理第4章快速傅里叶变换FF.ppt(72页珍藏版)》请在三一办公上搜索。
1、课件,1,第4章 快速傅里叶变换(FFT),4.1 引言4.2 基2FFT算法4.3 进一步减少运算量的措施4.4 分裂基FFT算法4.5 离散哈特莱变换(DHT),课件,2,4.1 引言,DFT是信号分析与处理中的一种重要变换。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以在快速傅里叶变换(简称FFT)出现以前,直接用DFT算法进行谱分析和信号的实时处理是不切实际的。直到1965年发现了DFT的一种快速算法以后,情况才发生了根本的变化。,课件,3,4.2 基2FFT算法,4.2.1 直接计算DFT的特点及减少运算量的基本途径 长度为N的有限长序列x(n)的
2、DFT为 考虑x(n)为复数序列的一般情况,对某一个k值,直接按(4.2.1)式计算X(k)值需要N次复数乘法、(N-1)次复数加法。,(4.2.1),课件,4,如前所述,N点DFT的复乘次数等于N2。显然,把N点DFT分解为几个较短的DFT,可使乘法次数大大减少。另外,旋转因子WmN具有明显的周期性和对称性。其周期性表现为,(4.2.2),其对称性表现为,或者,课件,5,4.2.2 时域抽取法基2FFT基本原理 FFT算法基本上分为两大类:时域抽取法FFT(Decimation In Time FFT,简称DIT-FFT)和频域抽取法FFT(Decimation In Frequency F
3、FT,简称DIFFFT)。下面先介绍DIFFFT算法。设序列x(n)的长度为N,且满足,为自然数,按n的奇偶把x(n)分解为两个N/2点的子序列,课件,6,则x(n)的DFT为,由于,所以,课件,7,其中X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT,即,(4.2.5),(4.2.6),由于X1(k)和X2(k)均以N/2为周期,且所以X(k)又可表示为前后对半分开两部分,(4.2.7),(4.2.8),课件,8,图4.2.1 蝶形运算符号,课件,9,图4.2.2 N点DFT的一次时域抽取分解图(N=8),课件,10,二次分解:与第一次分解相同,将x1(r)按奇偶分解成两个
4、N/4长的子序列x3(l)和x4(l),即,那么,X1(k)又可表示为,(4.2.9),课件,11,式中,同理,由X3(k)和X4(k)的周期性和Wm N/2的对称性 Wk+N/4 N/2=-Wk N/2 最后得到:,(4.2.10),课件,12,用同样的方法可计算出,(4.2.11),其中,课件,13,图4.2.3 N点DFT的第二次时域抽取分解图(N=8),课件,14,图4.2.4 N点DITFFT运算流图(N=8),课件,15,4.2.3 DITFFT算法与直接计算DFT运算量的比较 每一级运算都需要N/2次复数乘和N次复数加(每个蝶形需要两次复数加法)。所以,M级运算总共需要的复数乘次
5、数为,复数加次数为,例如,N=210=1024时,课件,16,图4.2.5 FFT算法与直接计算DFT所需乘法次数的比较曲线,课件,17,4.2.5 频域抽取法FFT(DIFFFT)在基2快速算法中,频域抽取法FFT也是一种常用的快速算法,简称DIFFFT。设序列x(n)长度为N=2M,首先将x(n)前后对半分开,得到两个子序列,其DFT可表示为如下形式:,课件,18,偶数,奇数,X(k)分解成偶数组与奇数组,当k取偶数k=2r,r=0,1,N/2-1时,(4.2.14),课件,19,当k取奇数(k=2r+1,r=0,1,N/2-1)时,(4.2.15),将x1(n)和x2(n)分别代入(4.
6、2.14)和(4.2.15)式,可得,(4.2.16),课件,20,图4.2.10 DIFFFT蝶形运算流图符号,课件,21,图4.2.11 DIFFFT一次分解运算流图(N=8),课件,22,图4.2.12 DIFFFT二次分解运算流图(N=8),课件,23,图4.2.13 DIFFFT运算流图(N=8),课件,24,图4.2.14 DITFFT的一种变形运算流图,课件,25,图4.2.15 DITFFT的一种变形运算流图,课件,26,4.2.6 IDFT的高效算法 上述FFT算法流图也可以用于离散傅里叶逆变换(Inverse Discrete Fourier Transform,简称IDF
7、T)。比较DFT和IDFT的运算公式:,课件,27,如果希望直接调用FFT子程序计算IFFT,则可用下面的方法:由于,对上式两边同时取共轭,得,课件,28,4.3 进一步减少运算量的措施,4.3.1 多类蝶形单元运算 由DITFFT运算流图已得出结论,N=2M点FFT共需要MN/2次复数乘法。由(4.2.12)式,当L=1时,只有一种旋转因子W0N=1,所以,第一级不需要乘法运算。,课件,29,综上所述,先除去第一、二两级后,所需复数乘法次数应是 从L=3至L=M共减少复数乘法次数为,(4.3.1),(4.3.2),因此,DITFFT的复乘次数降至,(4.3.3),课件,30,课件,31,从实
8、数运算考虑,计算N=2M点DITFFT所需实数乘法次数为,(4.3.4),课件,32,4.3.2 旋转因子的生成 在FFT运算中,旋转因子WmN=cos(2m/N)-jsin(2m/N),求正弦和余弦函数值的计算量是很大的。,课件,33,4.3.3 实序列的FFT算法 设x(n)为N点实序列,取x(n)的偶数点和奇数点分别作为新构造序列y(n)的实部和虚部,即,对y(n)进行N/2点FFT,输出Y(k),则,根据DITFFT的思想及式(4.2.7)和(4.2.8),可得到,课件,34,由于x(n)为实序列,所以X(k)具有共轭对称性,X(k)的另外N/2点的值为,课件,35,4.4 分裂基FF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 快速 傅里叶变换 FF

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