《数字信号处理》课件第4章快速傅里叶变换FFT_第1页
《数字信号处理》课件第4章快速傅里叶变换FFT_第2页
《数字信号处理》课件第4章快速傅里叶变换FFT_第3页
《数字信号处理》课件第4章快速傅里叶变换FFT_第4页
《数字信号处理》课件第4章快速傅里叶变换FFT_第5页
已阅读5页,还剩29页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1本章主要内容直接计算DFT的问题及改进的途径按时间抽取的基2-FFT算法

按频率抽取的基2-FFT算法

快速傅里叶逆变换(IFFT)算法

24.1引言

DFT在实际应用中很重要:可以计算信号的频谱、功率谱和线性卷积等。直接按DFT变换进行计算,当序列长度N很大时,计算量非常大,所需时间会很长。FFT并不是一种与DFT不同的变换,而是DFT的一种快速计算的算法。

34.2.1直接计算DFT的问题及改进的途径

DFT的运算量

设复序列x(n)长度为N点,其DFT为k=0,,…,N-1(1)计算一个X(k)值的运算量复数乘法次数:N复数加法次数:N-14DFT的运算量(2)计算全部N个X(k)值的运算量复数乘法次数:N2复数加法次数:N(N-1)(3)对应的实数运算量5DFT的运算量一次复数乘法:4次实数乘法2次实数加法+一个X(k)

:4N次实数乘法+2N+2(N-1)=2(2N-1)次实数加法所以整个N点DFT运算共需要:N×2(2N-1)=2N(2N-1)实数乘法次数:4N2实数加法次数:6DFT运算量的结论N点DFT的复数乘法次数举例NN2NN22464404941612816384864256655361625651226214432102810241048576结论:当N很大时,其运算量很大,对实时性很强的信号处理来说,要求计算速度快,因此需要改进DFT的计算方法,以大大减少运算次数。7

减少运算工作量的途径

主要原理是利用系数的以下特性对DFT进行分解:(1)对称性(2)周期性(3)可约性另外,84.2.2按时间抽取的基2-FFT算法

算法原理按时间抽取基-2FFT算法与直接计算DFT运算量的比较按时间抽取的FFT算法的特点按时间抽取FFT算法的其它形式流程图9算法原理

设N=2L,将x(n)按n的奇偶分为两组:

r=0,1,…,则10算法原理

式中,X1(k)和X2(k)分别是x1(n)和x2(n)的N/2的DFT。另外,式中k的取值范围是:0,1,…,N/2-1。11算法原理

因此,只能计算出X(k)的前一半值。后一半X(k)值,N/2,N/2+1,…,N

?利用可得到同理可得12算法原理

考虑到因此可得后半部分X(k)及前半部分X(k)k=0,1,…,N/2-1k=0,1,…,N/2-113蝶形运算蝶形运算式蝶形运算信号流图符号

因此,只要求出2个N/2点的DFT,即X1(k)和X2(k),再经过蝶形运算就可求出全部X(k)的值,运算量大大减少。蝶形运算符号14图4.2.28点DFT一次时域抽取分解运算流图以N=8为例,分解为2个4点的DFT,然后做8/2=4次蝶形运算即可求出所有8点X(k)的值。以8点为例第一次按奇偶分解15蝶形运算量比较复数乘法次数:N2复数加法次数:N(N-1)复数乘法次数:2*(N/2)2+N/2=N2/2+N/2复数加法次数:2*(N/2)(N/2-1)+2*N/2=N2/2N点DFT的运算量

分解一次后所需的运算量=2个N/2的DFT+N/2蝶形:因此通过一次分解后,运算工作量减少了差不多一半。

16进一步按奇偶分解

由于N=2L,因而N/2仍是偶数,可以进一步把每个N/2点子序列再按其奇偶部分分解为两个N/4点的子序列。以N/2点序列x1(r)为例则有k=0,1,…,

17进一步按奇偶分解且k=0,1,…,由此可见,一个N/2点DFT可分解成两个N/4点DFT。同理,也可对x2(n)进行同样的分解,求出X2(k)。18图4.2.38点DFT二次时域抽取分解运算流图19算法原理

对此例N=8,最后剩下的是4个N/4=2点的DFT,2点DFT也可以由蝶形运算来完成。以X3(k)为例。k=0,1即这说明,N=2M的DFT可全部由蝶形运算来完成。/4/420图4.2.48点DIT-FFT运算流图以8点为例第三次按奇偶分解214.2.3DTF-FFT算法与直接计算DFT运算量的比较

由按时间抽取法FFT的信号流图可知,当N=2L时,共有

级蝶形运算;每级都由

个蝶形运算组成,而每个蝶形有

次复乘、

次复加,因此每级运算都需

次复乘和

次复加。LN/2

N/2

12N22DTF-FFT算法与直接计算DFT运算量的比较

这样

级运算总共需要:L复数乘法:

复数加法:

直接DFT算法运算量复数乘法:

复数加法:

N2N(N-1)直接计算DFT与FFT算法的计算量之比为M23DIT-FFT算法与直接DFT算法运算量的比较NN2计算量之比MNN2计算量之比M2414.01281638444836.641644.025665536102464.0864125.45122621442304113.816256328.0102410485765120204.83210288012.82048419430411264372.464404919221.4244.2.5按频率抽取的基2-FFT算法

算法原理再把输出X(k)按k的奇偶分组先把输入按n的顺序分成前后两半设序列长度为N=2L,L为整数前半子序列x(n)后半子序列

0≤n≤0≤n≤25算法原理由DFT定义得k=0,1,…,N26算法原理由于所以则k=0,1,…,N27算法原理然后按k的奇偶可将X(k)分为两部分r=0,1,…,则式可转化为28算法原理令n=0,1,…,代入r=0,1,…,可得为2个N/2点的DFT,合起来正好是N点X(k)的值。29蝶形运算将称为蝶形运算与时间抽选基2FFT算法中的蝶形运算符号略有不同。30例按频率抽取(N=8)

例按频率抽取,将N点DFT分解为两个N/2点DFT的组合(N=8)31例按频率抽取(N=8)

与时间抽取法的推导过程一样,由于N=2L,N/2仍然是一个偶数,因而可以将每个N/2点DFT的输出再分解为偶数组与奇数组,这就将N/2点DFT进一步分解为两个N/4点DFT。N=832例频率抽取IFFT流图(N=8)

334.2.6IDFT的高效算法4.3进一步减少运算量的措施-实序列的FFT算法在实际工作中,数据x(n)常常是实数序列。如果直接按FFT运算流图计算,就是把x(n)看成一个虚部为零的复序列进行计算,这就增加了存储量和运算时间。

处理该问题的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论