《数字信号处理》第四章快速付立叶变换(FFT)课件

上传人:des****85 文档编号:325451948 上传时间:2022-07-18 格式:PPT 页数:75 大小:851KB
返回 下载 相关 举报
《数字信号处理》第四章快速付立叶变换(FFT)课件_第1页
第1页 / 共75页
《数字信号处理》第四章快速付立叶变换(FFT)课件_第2页
第2页 / 共75页
《数字信号处理》第四章快速付立叶变换(FFT)课件_第3页
第3页 / 共75页
《数字信号处理》第四章快速付立叶变换(FFT)课件_第4页
第4页 / 共75页
《数字信号处理》第四章快速付立叶变换(FFT)课件_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《《数字信号处理》第四章快速付立叶变换(FFT)课件》由会员分享,可在线阅读,更多相关《《数字信号处理》第四章快速付立叶变换(FFT)课件(75页珍藏版)》请在金锄头文库上搜索。

1、4-14-1引言一.DFT.DFT的计算工作量 两者的差别仅在指数的符号和因子1/N.DFT与与IDFT运算特点运算特点同理:同理:IDFT运算量与运算量与DFT相同。相同。通常x(n)和都是复数,所以计算一个 X(k)的值需要N次复数乘法运算,和 次 复数加法运算.那么,所有的X(k)就要N2次复 数乘法运算,N(N-1)次复数加法运算.当N很 大时,运算量将是惊人的,如N=1024,则要完 成1048576 次(一百多万次)运算.这样,难以做到实时处理.一个X(k)的值的工作量,如X(1)二.改进的途径 1.的对称性和周期性得:对称性:周期性:利用上述特性,可以将有些项合并,并将DFTDF

2、T分解为短序列,从而降低运算次数,提高运算速度.1965.1965年,库利(cooley)(cooley)和图基(Tukey)(Tukey)首先提出FFTFFT算法.对于N N点DFT,DFT,仅需(N/2)log(N/2)log2 2N N 次复数乘法运算.例如N=1024=2N=1024=21010 时,需要(1024/2)log(1024/2)log2 2 2 21010=512*10=5120=512*10=5120次。5120/1048576=5120/1048576=4.88%4.88%,速度提高2020倍FFT算法分类算法分类:q时间抽选法时间抽选法DIT:Decimation-

3、In-Timeq频率抽选法频率抽选法DIF:Decimation-In-Frequency4-2 4-2 按时间抽取按时间抽取(DIT)(DIT)的的FFTFFT算法算法 库利库利-图基算法图基算法一.算法原理(基2FFT)2FFT)(一)N/2)N/2点DFTDFT1.1.先将 按n的奇偶分为两组作DFT,DFT,设N=2N=2L L,不足时,可补些零。这样有:n为偶数时:n为奇数时:因此,由于由于:所以所以,上式可表示为上式可表示为:(n为偶数)(n为奇数)其中,2.2.两点结论:(1)X(1)X(k),X(k),X(k)(k)均为N/2N/2点的DFTDFT。(2)X(k)=X(2)X(

4、k)=X(k)+W(k)+W X X(k)(k)只能确定出 X(k)X(k)的k=k=个;即前一半的结果。1 21 2kN 同理,这就是说,X1(k),X2(k)的后一半,分别 等于其前一半的值。3.X(k)3.X(k)的后一半的确定的后一半的确定由于 (周期性)(周期性),所以:可可见,X(k)X(k)的后一半,也完全由X X1 1(k)(k),X X2 2(k)(k)的前一半所确定。*N点的DFT可由两个N/2点的DFT来计算。又由于 ,所以实现上式运算的流图称作蝶形运算 前一半4.4.蝶形运算蝶形运算 后一半(N/2个蝶形)(前一半)(后一半)1 1 11-1-1由X1(k)、X 2(k

5、)表示X(k)的运算是一种特殊的运算-碟形运算5.分解后的运算量:分解后的运算量:运算量减少了近一半运算量减少了近一半 例如 N=8N=8 时的DFT,DFT,可以分解为两个 N/2=4N/2=4点的DFTDFT.具体方法如下:(1)n(1)n为偶数时,即 分别记作:(2)n(2)n为奇数时,分别记作:x1 1(0)=(0)=x(0)(0)x1(1)=(1)=x(2)(2)N/2N/2点点 x1(2)=(2)=x(4)DFT (4)DFT x1(3)=(3)=x(6)(6)x2(0)=(0)=x(1)(1)x2(1)=(1)=x(3)(3)N/2N/2点点 x2(2)=(2)=x(5)(5)D

6、FT DFT x2(3)=(3)=x(7)(7)1 2 X X1(0)(0)X X1(1)(1)X X1(2)(2)X X1(3)(3)X X2(0)(0)X X2(1)(1)X X2(2)(2)X X2(3)(3)WN2WN1WN0WN3-1-1-1-1X(0)X(0)X(1)X(1)X(2)X(2)X(3)X(3)X(4)X(4)X(5)X(5)X(6)X(6)X(7)X(7)(3)(3)对X X(k)(k)和X X(k)(k)进行蝶形运算,前半部为 X(0)X(3),X(0)X(3),后半部分为X(4)X(7)X(4)X(7)整个过程如下图所示:由于N=2N=2 L,所以 N/2N/2仍

7、为偶数,可以进 一步把每个N/2N/2点的序列再按其奇偶部分 分解为两个N/4N/4的子序列。例如,n为偶数时的 N/2N/2点分解为:(二二)N/4)N/4点点DFTDFT进行N/4N/4点的DFTDFT,得到(偶中偶)(偶中奇)从而可得到前N/4的X1(k)后N/4的X1(k)为注意到(奇中偶奇中偶)(奇中奇奇中奇)同样对n n为奇数时,N/2N/2点分为两个N/4N/4点 的序列进行DFT,则有:例如,N=8N=8时的DFTDFT可分解为四个N/4N/4的DFT,DFT,具体步骤如下:(1)将原序列x(n)的“偶中偶”部分:构成N/4点DFT,从而得到X3(0),X3(1)。(2)将原序

8、列x(n)的“偶中奇”部分:构成N/4点DFT,从而得到X4(0),X4(1)。(3)将原序列x(n)的“奇中偶”部分:构成N/4点DFT,从而得到X5(0),X5(1)。(4)将原序列x(n)的“奇中奇”部分:构成N/4点DFT,从而得到X6(0),X6(1)。(5)由 X3(0),X3(1),X4(0),X4(1)进行碟形运算,得到X1(0),X1(1),X1(2),X1(3)。(6)由 X5(0),X5(1),X6(0),X6(1)进行碟形运算,得到X2(0),X2(1),X2(2),X2(3)。(0)=(0)=(0)N/4 (1)=(2)=(4)DFT (0)=(1)=(2)N/4 (

9、1)=(3)=(6)DFT (0)=(0)=(1)N/4 (1)=(2)=(5)DFT (0)=(1)=(3)N/4 (1)=(3)=(7)DFT3 13 14 14 15 25 26 26 2 02NN02NNWWWW0123NNNN-1-1-1-2-1-1WWWWX(0)X(1)X(0)X(1)X(0)X(1)X(0)X(1)33445566X(0)X(1)X(2)X(3)X(0)X(1)X(2)X(3)11122221X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)(7)由X1(0),X1(1),X1(2),X1(3),X2(0),X2(1),X2(2),X2(3)进行碟

10、形运算,得到 X(0),X(1),X(2),X(3)X(4),X(5),X(6),X(7)。这样,又一次分解,得到四个N/4N/4点DFT,DFT,两级蝶形运算,其运算量有大约减少一半 即为N N点DFTDFT的1/41/4。对于N=8N=8时DFT,N/4DFT,N/4点即为两点DFT,DFT,因此 亦即,(0)(4)(2)(6)(1)(5)(3)(7)WN0WN0WN0W0N-1-1-1-1X(0)X(1)X(0)X(1)X(0)X(1)X(0)X(1)33445566WN0WN2WN0WN2-1-1-1-1X(0)X(1)X(2)X(3)X(0)X(1)X(2)X(3)11121222W

11、WWWN0N1N2N3-1-1-1-1X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)因此,8点DFT的FFT的运算流图如下 这种FFTFFT算法,是在时间上对输入序列 的次序是属于偶数还是属于奇数来进行分 解的,所以称作按时间抽取的算法 。(DITDIT)(三)FFT运算量与运算特点 1 N=2L时,共有L=log2N级运算;每一级有N/2个蝶形结。2每一级有N个数据中间数据),且每级只用到本级的转入中间数据,适合于迭代运算。3计算量:每级N/2次复乘法,N次复加。(每蝶形只乘一次,加减各一次)。共有L*N/2=N/2log2N 次复乘法;复加法L*N=Nlog2N 次。与直

12、接DFT定义式运算量相比(倍数)N2/(Nlog2N)。当 N大时,此倍数很大。比较比较DFT 参考参考P150 表表4-1 图图4-6可以直观看出,当点数可以直观看出,当点数N越大时,越大时,FFT的优点更突出。的优点更突出。(0)=(0)=X X0 0(0)(0)X X1 1(0)(0)X X2 2(0)X(0)X3 3(0)(0)=X(0)=X(0)(4)=(4)=X X0 0(1)(1)X X1 1(1)X(1)X2 2(1)X(1)X3 3(1)(1)=X(1)=X(1)(2)=(2)=X X0 0(2)(2)X X3 3(2)(2)=X(2)=X(2)(6)=(6)=X X0 0(

13、3)(3)X X3 3(3)(3)=X(3)=X(3)(1)=(1)=X X0 0(4)(4)X X1 1(4)X(4)X2 2(4)X(4)X3 3(4)(4)=X(4)=X(4)(5)=(5)=X X0 0(5)(5)X X3 3(5)(5)=X(5)=X(5)(3)=(3)=X X0 0(6)(6)X X3 3(6)(6)=X(6)=X(6)(7)=(7)=X X0 0(7)(7)X X1 1(7)X(7)X2 2(7)X(7)X3 3(7)(7)=X(7)=X(7)WWWWN0N0N0N0-1-1-1-1WWWWN0N2N0N2-1-1-1-1WWWWNNNN0123.三三.DIT.D

14、IT的的FFTFFT算法的特点算法的特点 1.1.原位运算输入数据、中间运算结果和最后输出均用同一存储器。设用m(m=1,2,L)表示第m列;用用k,jk,j表示蝶形输入数据所在的(上/下)行数(0,1,2,N-1);(0,1,2,N-1);这时任何一个蝶形运算可用下面通用式表示,即 由运算流图可知,一共有N N个输入个输入/出出行,一共有loglog2 2 N=LN=L列(级)蝶形运算(基本迭代运算).).1 1 11-1-1 所以,当m=1时,则有(前两个蝶形)当m=2时,则有(前两个蝶形)当m=3时,则有(前两个蝶形)可见,在某列进行蝶形运算的任意两个节点(行)k)k和j j的节点变量

15、就完全可以确定蝶形运算的结果 ,与其它行(节点)无关。这样,蝶形运算的两个输出值仍可放回蝶形运算的两个输入所在的存储器中,即实现所谓原位运算。每一组(列)有N/2N/2个蝶形运算,所以只需N N个存储单元,可以节 省存储单元。2 2 倒位序规律 由图可知,输出X X(k)(k)按正常顺序排列在存储单元,而输入是按顺序:这种顺序称作倒位序,即二进制数倒位。n=00n=10n=01n=11n=01n=1101010101 (n2)x(000)0 x(100)4 x(010)2 x(110)6 x(001)1x(101)5 x(011)3 x(111)7(偶)(奇)这是由奇偶分组造成的,以N=8N=

16、8为例 说明如下:3.3.倒位序实现 输入序列先按自然顺序存入存储单 元,然后经变址运算来实现倒位序排列 设输入序列的序号为n n,二进制为 (n2 n1 n0)2,倒位序顺序用 表示,其倒位序二进制为(n0 n1 n2)2,例如,N=8N=8时如下表:0 00 0 0 0 0 00 0 0 0 0 0 0 0 1 01 0 0 0 1 11 1 0 0 0 4 0 4 2 02 0 1 1 0 00 0 1 1 0 2 0 2 3 03 0 1 1 1 11 1 1 1 0 6 0 6 4 14 1 0 0 0 00 0 0 0 1 1 1 1 5 15 1 0 0 1 11 1 0 0 1 5 1 5 6 16 1 1 1 0 00 0 1 1 1 3 1 3 7 17 1 1 1 1 11 1 1 1 1 7 1 7 自然顺序n n 二进制n n n n n n 倒位序二进制n n n n n n 倒位顺序n n2 1 0 0 1 2A(1)A(2)A(3)A(4)A(5)A(6)A(7)A(8)x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7)x(0)x(4)x(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号