快速傅里叶变换(FFT)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《快速傅里叶变换(FFT)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 傅里叶变换 FFT 课件
- 资源描述:
-
1、1第四章第四章快速傅里叶变换快速傅里叶变换(FFT)主要内容主要内容qDIT-FFT算法算法 qDIF-FFT算法算法qIFFT算法算法qChirp-FFT算法算法q线性卷积的线性卷积的FFT算法算法4.1 引言引言q FFT:Fast Fourier Transformq 1965年,年,Cooley-Turky 发表文章发表文章机器计算傅机器计算傅里叶级数的一种算法里叶级数的一种算法,提,提出出FFT算法,解决算法,解决DFT运算量太大,在实际使用中受限制的问题。运算量太大,在实际使用中受限制的问题。q FFT的应用。频谱分析、滤波器实现、实时信的应用。频谱分析、滤波器实现、实时信号处理等
2、。号处理等。q DSP芯片实现。芯片实现。TI公司的公司的TMS 320c30,10MHz时钟,基时钟,基2-FFT1024点点FFT时间时间15ms。q 典型应用:信号频谱计算、系统分析等典型应用:信号频谱计算、系统分析等)()(kXnxDFT)()()(nynhnxFFTnhnyIFFTFFTnx)()()(系统分析系统分析 频谱分析与功率谱计算频谱分析与功率谱计算4.2 直接计算直接计算DFT的问题及改进途径的问题及改进途径10)()(NnknNWnxkX10)(1)(NkknNWkXNnx1、DFT与与IDFT()Nx n点有限长序列2、DFT与与IDFT运算特点运算特点复数乘法复数乘
3、法复数加法复数加法一个一个X(k)NN 1N个个X(k)(N点点DFT)N 2N(N 1)10()NnkNnx n Wajbcjdacbdj adcb同理:同理:IDFT运算量与运算量与DFT相同。相同。实数乘法实数乘法实数加法实数加法一次复乘一次复乘42一次复加一次复加2一个一个X(k)4N2N+2(N 1)=2(2N 1)N个个X(k)(N点点DFT)4N 22N(2N 1)3、降低、降低DFT运算量的考虑运算量的考虑nkNW 的特性*()()()nknkNn kn NkNNNNWWWW对称性()()nkN n kn N kNNNWWW周期性 nkmnkNmNWW可约性/nknk mNN
4、mWW0/2(/2)11Nk NkNNNNWWWW 特殊点:2jnknkNNWeNknkNNWWnNnkNNWW2jmnkmNe221NjjNee FFT算法分类算法分类:q 时间抽选法时间抽选法DIT:Decimation-In-Timeq 频率抽选法频率抽选法DIF:Decimation-In-FrequencyFFTDFTDFTDFTDFT算法的基本思想:利用系数的特性,合并运算中的某些项,把长序列短序列,从而减少其运算量。4.3 按时间抽取(按时间抽取(DIT)的)的FFT算法算法12/.210)12()()2()(21Nrrxrxrxrx,(Decimation In Time)1、
5、算法原理、算法原理设序列点数设序列点数 N=2L,L 为整数。为整数。若不满足,则补零若不满足,则补零将序列将序列x(n)按按n的奇偶分成两组:的奇偶分成两组:N为为2的整数幂的的整数幂的FFT算法称算法称基基-2FFT算法算法。将将N点点DFT定义式分解为两个长度为定义式分解为两个长度为N/2的的DFT10)()()(NnknNWnxnxDFTkXkrNnNrrkNnNrWrxWrx)12(12/0212/0)12()2(为奇为偶 )(12/02/2)(2/12/0121)()(kXNrrkNkNkXrkNNrWrxWWrx)()()(21kXWkXkXkN记:记:(1 1)rkNrkNWW
6、2/2(这一步利用:(这一步利用:),0,1,./2 1r kN再利用周期性求再利用周期性求X(k)的后半部分的后半部分/22NkNkkNNNNWWWW 又)(2)()()(222112/02/112/0)2/(2/11kXkNXkXWrxWrxkNXNrrkNNrkNrNrkNkNrNWW2/)2/(2/)2()2()2()2(12/,.2,1,0)()()(2)2/(121kNXWkNXkNXNkkXWkXkXkNNkN,12/,.2,1,0)()(21NkkXWkXkN,将上式表达的运算用一个专用将上式表达的运算用一个专用“蝶形蝶形”信流图表示。信流图表示。)(1kX)(2kX)()(2
7、1kXWkXkN)()(21kXWkXkNkNW1212()()()()()()2kNkNX kXkW XkNX kXkW Xk0,1,.,/2 1kN注:注:a.上支路为加法,下支路为减法;上支路为加法,下支路为减法;b.乘法运算的支路标箭头和系数。乘法运算的支路标箭头和系数。用用“蝶形结蝶形结”表示上面运算的分解:表示上面运算的分解:328N)0(x)1(x)2(x)3(x)4(x)5(x)6(x)7(x)0(X)1(X)2(X)3(X)4(X)5(X)6(X)7(X1NW0NW2NW3NW)0(1X)1(1X)2(1X)3(1X)0(2X)1(2X(3)2X)2(2XDFTN点2DFTN
8、点2分解后的运算量:分解后的运算量:复数乘法复数乘法复数加法复数加法一个一个N/2点点DFT(N/2)2N/2(N/2 1)两个两个N/2点点DFTN2/2N(N/2 1)一个蝶形一个蝶形12N/2个蝶形个蝶形N/2N总计总计22/2/2/2NNN2/2 1/2N NNN运算量减少了近一半运算量减少了近一半进一步分解进一步分解MN2122MN2N4N由于由于 ,仍为偶数,因此,两个仍为偶数,因此,两个 点点DFTDFT又可同样进一步分解为又可同样进一步分解为4 4个个 点的点的DFTDFT。1314(2)()(21)()xlx lxlx l0,1,.,/4 1lN13/2413/24()()(
9、)()()()4kNkNX kXkWXkNX kXkWXk0,1,.,14Nk 02/NW12/NW)(3lx)(4lx)2(x)4(x)6(x)0(x)0(1X)1(1X)2(1X)3(1X)0(3X)1(3X)0(4X)1(4XDFTN点4DFTN点4“蝶形蝶形”信流图表示信流图表示 N点点DFT分解为四个分解为四个N/4点的点的DFTDFTN点4DFTN点4DFTN点4DFTN点4)2(x)4(x)6(x)0(x)1(x)3(x)5(x)7(x1NW0NW2NW3NW)0(X)1(X)2(X)3(X)4(X)5(X)6(X)7(X)(.kX)(.nx02/NW12/NW02/NW12/N
10、Wq 类似的分解一直继续下去,直到分解为最类似的分解一直继续下去,直到分解为最后的两类蝶形运算为止后的两类蝶形运算为止(2点点DFT).q 如上述如上述N=8=23,N/4=2点中:点中:类似进一步分解类似进一步分解1点点DFTx(0)1点点DFTx(4)X3(0)X3(1)02W进一步简化为蝶形流图:进一步简化为蝶形流图:0NWX3(0)X3(1)x(0)x(4)4()0()4()0()0(004/3xWxxWxXNN)4()0()4()0()1(004/3xWxxWxXNN因此因此8 8点点FFTFFT时间抽取方法的信流图如下时间抽取方法的信流图如下)2(x)4(x)6(x)0(x)1(x
11、)3(x)5(x)7(x0NW0NW0NW0NW第一级.0NW2NW0NW2NW 第二级.)(0kX1m)(1kX)(2kX)(3kX2m3m1NW0NW2NW3NW)0(X)1(X)2(X)3(X)4(X)5(X)6(X)7(X 第三级.)0(4X)1(4X)0(5X)1(5X)0(6X)1(6X)0(1X)1(1X)2(1X)3(1X)0(2X)1(2X)2(2X)3(2X)0(3X)1(3XFFT运算量与运算特点运算量与运算特点 1 N=2L时,共有时,共有L=log2N级运算;每一级有级运算;每一级有N/2个蝶形结。个蝶形结。2每一级有每一级有N个数据个数据(中间数据),且每级只用到本
12、中间数据),且每级只用到本级的转入中间数据,适合于迭代运算。级的转入中间数据,适合于迭代运算。3计算量:计算量:每级每级N/2次复乘法,次复乘法,N次复加。(每蝶形只乘一次,次复加。(每蝶形只乘一次,加减各一次)。共有加减各一次)。共有L*N/2=N/2log2N 次复乘法;次复乘法;复加法复加法L*N=Nlog2N 次。与直接次。与直接DFT定义式运算定义式运算量相比量相比(倍数倍数)N2/(Nlog2N)。当。当 N大时,此倍数大时,此倍数很大。很大。222()2()loglog2FFmDFTNNNmFFTNN比较比较DFT 参考参考P150 表表4-1 图图4-6可以直观看出,当点数可以
13、直观看出,当点数N越大时,越大时,FFT的优点更突出。的优点更突出。按时间抽取按时间抽取FFT蝶形运算特点蝶形运算特点 1、关于、关于FFT运算的混序与顺序处理(位倒序处理)运算的混序与顺序处理(位倒序处理)由于输入序列按时间序位的奇偶抽取,故输入序由于输入序列按时间序位的奇偶抽取,故输入序列是混序的,为此需要先进行混序处理。列是混序的,为此需要先进行混序处理。混序规律:混序规律:x(n)按按n位置进行码位(二进制)倒置位置进行码位(二进制)倒置规律输入,而非自然排序,即得到混序排列。所规律输入,而非自然排序,即得到混序排列。所以称为位倒序处理。以称为位倒序处理。位倒序实现:位倒序实现:(1)
14、DSP实现采用位倒序寻址实现采用位倒序寻址(2)通用计算机实现可以有两个方法:一是严格按)通用计算机实现可以有两个方法:一是严格按照位倒序含义进行;二是倒进位的加照位倒序含义进行;二是倒进位的加N/2。倒位序倒位序自然序自然序00000000100410010102201011063011001141001015510101136110111771112 102()()x nnn n n倒位序倒位序例例 计算计算 ,。计算。计算 点点FFTFFT。用时间抽取输入倒序算法,。用时间抽取输入倒序算法,问倒序前寄存器的数问倒序前寄存器的数 和倒序后和倒序后 的的数据值?数据值?2)(nnx31.2,
15、1,0n32N)13(x)13(x16913)13(2x5232N210)01101()13(102)22()10110(48422)13(2x解:倒序前解:倒序前 倒序倒序 倒序为倒序为 倒序后倒序后 DIT FFT中最主要的蝶形运算实现中最主要的蝶形运算实现(1)参与蝶形运算的两类结点(信号)间)参与蝶形运算的两类结点(信号)间“距离距离”(码地址)与其所处的第几级蝶形有关;第(码地址)与其所处的第几级蝶形有关;第m级的级的“结距离结距离”为为 (即原位计算迭代)即原位计算迭代)(2)每级迭形结构为)每级迭形结构为,12m)2(,.2,1LNLmrNmmmmmrNmmmmWkXkXkXWk
16、XkXkX)2()()2()2()()(1111111q 蝶形运算两节点的第一个节点为蝶形运算两节点的第一个节点为k值,表值,表示成示成L位二进制数,左移位二进制数,左移L m位,把右位,把右边空出的位置补零,结果为边空出的位置补零,结果为r的二进制数。的二进制数。2()2L mrk(3)的确定:的确定:第第m级的级的r取值:取值:rNWkNWDIT算法的其他形式流图算法的其他形式流图q 输入倒位序输出自然序输入倒位序输出自然序q 输入自然序输出倒位序输入自然序输出倒位序q 输入输出均自然序输入输出均自然序q 相同几何形状相同几何形状q 输入倒位序输出自然序输入倒位序输出自然序q 输入自然序输
17、出倒位序输入自然序输出倒位序参考参考P154-155时间抽取、时间抽取、输入自然顺序、输入自然顺序、输出倒位序的输出倒位序的FFTFFT流图流图 )0(4X)1(4X)0(5X)1(5X)0(6X)1(6X)0(1X)1(1X)2(1X)3(1X)0(2X)1(2X)2(2X)3(2X)0(3X)1(3X)0(3X)0(4X)0(5X)0(3X)0(6X)0(4X)0(5X)0(3X)1(3X)0(6X)0(4X)0(5X)0(3X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)1(6X)1(4X)1(5X)1
18、(3X)0(6X)0(4X)0(5X)0(3X)3(2X)1(6X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)3(1X)3(2X)1(6X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)1(2X)3(1X)3(2X)1(6X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)1(1X)1(2X)3(1X)3(2X)1(6X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)2(2X)1(1X)1(2X)3(1X)3(2X)1(6X)1(4X)1(5X)1(3X)0(6X)0(4X)0(5X)0(3X)2
展开阅读全文