数字信号处理程佩青件快速傅里叶变换.pptx
《数字信号处理程佩青件快速傅里叶变换.pptx》由会员分享,可在线阅读,更多相关《数字信号处理程佩青件快速傅里叶变换.pptx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主要内容DIT-FFT算法 DIF-FFT算法IFFT算法Chirp-FFT算法线性卷积的FFT算法第1页/共63页4.1 引言FFT:Fast Fourier Transform1965年,Cooley-Turky 发表文章机器计算傅里叶级数的一种算法,提出FFT算法,解决DFT运算量太大,在实际使用中受限制的问题。FFT的应用。频谱分析、滤波器实现、实时信号处理等。DSP芯片实现。TI公司的TMS 320c30,10MHz时钟,基2-FFT1024点FFT时间15ms。第2页/共63页典型应用:信号频谱计算、系统分析等 系统分析系统分析 频谱分析与功率谱计算频谱分析与功率谱计算第3页/共6
2、3页4.2 直接计算DFT的问题及改进途径1、DFT与与IDFT第4页/共63页2、DFT与与IDFT运算特点运算特点复数乘法复数乘法复数加法复数加法一个一个X(k)NN 1N个个X(k)(N点点DFT)N 2N(N 1)同理:同理:IDFT运算量与运算量与DFT相同。相同。实数乘法实数乘法实数加法实数加法一次复乘一次复乘42一次复加一次复加2一个一个X(k)4N2N+2(N 1)=2(2N 1)N个个X(k)(N点点DFT)4N 22N(2N 1)第5页/共63页3、降低DFT运算量的考虑第6页/共63页FFT算法分类算法分类:q时间抽选法时间抽选法DIT:Decimation-In-Tim
3、eq频率抽选法频率抽选法DIF:Decimation-In-Frequency第7页/共63页4.3 按时间抽取(DIT)的FFT算法(Decimation In Time)1、算法原理设序列点数 N=2L,L 为整数。若不满足,则补零将序列将序列x(n)按按n的奇偶分成两组:的奇偶分成两组:N为为2的整数幂的的整数幂的FFT算法称算法称基基-2FFT算法算法。第8页/共63页将N点DFT定义式分解为两个长度为N/2的DFT记:记:(1 1)(这一步利用:(这一步利用:)第9页/共63页再利用周期性求再利用周期性求X(k)的后半部分的后半部分第10页/共63页将上式表达的运算用一个专用“蝶形”
4、信流图表示。注:注:a.上支路为加法,下支路为减法;上支路为加法,下支路为减法;b.乘法运算的支路标箭头和系数。乘法运算的支路标箭头和系数。第11页/共63页用“蝶形结”表示上面运算的分解:第12页/共63页分解后的运算量:分解后的运算量:复数乘法复数乘法复数加法复数加法一个一个N/2点点DFT(N/2)2N/2(N/2 1)两个两个N/2点点DFTN2/2N(N/2 1)一个蝶形一个蝶形12N/2个蝶形个蝶形N/2N总计总计运算量减少了近一半运算量减少了近一半第13页/共63页进一步分解进一步分解由于由于 ,仍为偶数,因此,两个仍为偶数,因此,两个 点点DFTDFT又可同样进一步分解为又可同
5、样进一步分解为4 4个个 点的点的DFTDFT。第14页/共63页“蝶形蝶形”信流图表示信流图表示 第15页/共63页N点DFT分解为四个N/4点的DFT第16页/共63页类似的分解一直继续下去,直到分解为最后的两类蝶形运算为止(2点DFT).如上述N=8=23,N/4=2点中:类似进一步分解1点DFTx(0)1点DFTx(4)X3(0)X3(1)第17页/共63页进一步简化为蝶形流图:进一步简化为蝶形流图:X3(0)X3(1)x(0)x(4)因此因此8 8点点FFTFFT时间抽取方法的信流图如下时间抽取方法的信流图如下第18页/共63页第19页/共63页FFT运算量与运算特点 1 N=2L时
6、,共有L=log2N级运算;每一级有N/2个蝶形结。2每一级有N个数据中间数据),且每级只用到本级的转入中间数据,适合于迭代运算。3计算量:每级N/2次复乘法,N次复加。(每蝶形只乘一次,加减各一次)。共有L*N/2=N/2log2N 次复乘法;复加法L*N=Nlog2N 次。与直接DFT定义式运算量相比(倍数)N2/(Nlog2N)。当 N大时,此倍数很大。第20页/共63页比较比较DFT 参考P150 表4-1 图4-6可以直观看出,当点数N越大时,FFT的优点更突出。第21页/共63页按时间抽取FFT蝶形运算特点 1、关于FFT运算的混序与顺序处理(位倒序处理)由于输入序列按时间序位的奇
7、偶抽取,故输入序列是混序的,为此需要先进行混序处理。混序规律:x(n)按n位置进行码位(二进制)倒置规律输入,而非自然排序,即得到混序排列。所以称为位倒序处理。位倒序实现:(1)DSP实现采用位倒序寻址(2)通用计算机实现可以有两个方法:一是严格按照位倒序含义进行;二是倒进位的加N/2。第22页/共63页倒位序倒位序自然序自然序0000000010041001010220101106301100114100101551010113611011177111倒位序倒位序第23页/共63页第24页/共63页例计算 ,。计算 点FFT。用时间抽取输入倒序算法,问倒序前寄存器的数 和倒序后 的数据值?解
8、:倒序前解:倒序前 倒序倒序 倒序为倒序为 倒序后倒序后 第25页/共63页DIT FFT中最主要的蝶形运算实现(1)参与蝶形运算的两类结点(信号)间“距离”(码地址)与其所处的第几级蝶形有关;第m级的“结距离”为 (即原位计算迭代)(2)每级迭形结构为第26页/共63页q 蝶形运算两节点的第一个节点为蝶形运算两节点的第一个节点为k值,表值,表示成示成L位二进制数,左移位二进制数,左移L m位,把右边位,把右边空出的位置补零,结果为空出的位置补零,结果为r的二进制数。的二进制数。(3)的确定:的确定:第第m级的级的r取值:取值:第27页/共63页DIT算法的其他形式流图输入倒位序输出自然序输入
9、自然序输出倒位序输入输出均自然序相同几何形状输入倒位序输出自然序输入自然序输出倒位序参考P154-155第28页/共63页时间抽取、时间抽取、输入自然顺序、输入自然顺序、输出倒位序的输出倒位序的FFTFFT流图流图 第29页/共63页 例 用FFT算法处理一幅NN点的二维图像,如用每秒可做10万次复数乘法的计算机,当N=1024时,问需要多少时间(不考虑加法运算时间)?解 当N=1024点时,FFT算法处理一幅二维图像所需复数乘法约为 次,仅为直接计算DFT所需时间的10万分之一。即原需要3000小时,现在只需要2 分钟。第30页/共63页4.4 按频率抽取(DIF)的FFT算法与DIT-FF
10、T算法类似分解,但是抽取的是X(k)。即分解X(k)成奇数与偶数序号的两个序列。设:N=2L,L 为整数。将X(k)按k的奇偶分组前,先将输入x(n)按n的顺序分成前后两半:(Decimation In Frequency)一、算法原理一、算法原理第31页/共63页第32页/共63页下面讨论按按k k的奇偶将的奇偶将X(k)X(k)分成两部分:分成两部分:显然:显然:第33页/共63页令:令:用蝶型结构图表示为:用蝶型结构图表示为:第34页/共63页x1(0)x1(1)-1x1(2)x1(3)-1x2(0)x2(1)-1x2(2)x2(3)-1N/2点DFTN/2点DFTx(0)x(7)x(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 程佩青件 快速 傅里叶变换
限制150内