收藏 分享(赏)

数字信号处理教程dsp-ch4-1.ppt

上传人:无敌 文档编号:1432301 上传时间:2018-07-16 格式:PPT 页数:46 大小:1.26MB
下载 相关 举报
数字信号处理教程dsp-ch4-1.ppt_第1页
第1页 / 共46页
数字信号处理教程dsp-ch4-1.ppt_第2页
第2页 / 共46页
数字信号处理教程dsp-ch4-1.ppt_第3页
第3页 / 共46页
数字信号处理教程dsp-ch4-1.ppt_第4页
第4页 / 共46页
数字信号处理教程dsp-ch4-1.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、第四章 快速傅里叶变换(FFT),第四章学习目标,理解按时间抽选的基-2FFT算法的算法原理、运算流图、所需计算量和算法特点理解按频率抽选的基-2FFT算法的算法原理、运算流图、所需计算量和算法特点理解线性卷积的FFT算法及分段卷积方法,4.1 引言,FFT: Fast Fourier Transform1965年,Cooley-Turky 发表文章机器计算傅里叶级数的一种算法,提出FFT算法,解决DFT运算量太大,在实际使用中受限制的问题。FFT的应用。频谱分析、滤波器实现、实时信号处理等。DSP芯片实现。TI公司的TMS 320c30,10MHz时钟,基2-FFT1024点FFT时间15m

2、s。,典型应用:信号频谱计算、系统分析等,系统分析,频谱分析与功率谱计算,4.2 直接计算DFT的问题及改进途径,1、 DFT与IDFT,2、DFT与IDFT运算特点,同理:IDFT运算量与DFT相同。,3、降低DFT运算量的考虑,FFT算法分类:,时间抽选法DIT: Decimation-In-Time频率抽选法DIF: Decimation-In-Frequency,1、算法原理设序列点数 N = 2L,L 为整数。 若不满足,则补零,将序列x(n)按n的奇偶分成两组:,N为2的整数幂的FFT算法称基-2FFT算法。,4.3 按时间抽取(DIT)的FFT算法,则x(n)的DFT:,记: (

3、1),(这一步利用: ),再利用周期性求X(k)的后半部分,将上式表达的运算用一个专用“蝶形”信流图表示。,注:a. 上支路为加法,下支路为减法; b. 乘法运算的支路标箭头和系数。,用“蝶形结”表示上面运算的分解:,-,分解后的运算量:,运算量减少了近一半,进一步分解,由于 , 仍为偶数,因此,两个 点DFT又可同样进一步分解为4个 点的DFT。,“蝶形”信流图表示,N点DFT分解为四个N/4点的DFT,同理:,其中:,这样逐级分解,直到2点DFT当N = 8时,即分解到X3(k),X4(k),X5(k),X6(k),k = 0, 1,(0) (4) (2) (6) (1) (5) (3)

4、(7),W,N,0,W,N,0,W,N,0,W,0,N,-1,-1,-1,-1,-1,-1,-1,-1,N,0,N,1,N,2,N,3,-1,-1,-1,-1,X(0),X(1),X(2),X(3),X(4),X(5),X(6),X(7),因此,8点DFT的FFT的运算流图如下,2、运算量,当N = 2L时,共有L级蝶形,每级N / 2个蝶形,每个蝶形有1次复数乘法2次复数加法。,复数乘法:,复数加法:,比较DFT,参考P150 表4-1 图4-6,DIT-FFT的运算过程很有规律,共进行L级运算,每级由N/2个蝶形运算组成。同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,与其它蝶形运算无

5、关。 这样,蝶形运算的两个输出值仍可放回蝶形运算的两个输入所在的存储器中,这种利用同一存储单元存储蝶形计算输入、输出的方法即为原位运算。每一级(列)有N/2个蝶形运算,所以只需N个存储单元,可以节省存储单元。,3、算法特点,1)原位计算,1)原位计算,m表示第m级迭代,k,j表示数据所在的行数,2)序列的倒序 由DIT-FFT的规律可知,输出X(k)按正常顺序排列在存储单元,而输入是按顺序: 这种顺序称作倒位序,即二进制数倒位。在编程时需完成倒位序,才能执行原位计算。,倒位序由奇偶分组造成,以N=8为例 说明如下:,顺序I起始及终止序号为:16倒序J起始序号为:N/2=4 当IJ 时,A(I)

6、和A(J)的内容调换,形成倒序后,将原存储器放的输入序列重新按倒序排列。,X(I),X(J),I=J时不需要交换,例计算 , 。 计算 点FFT。用时间抽取输入倒序算法,问倒序前寄存器的数 和倒序后 的数据值?,解:倒序前 倒序 倒序为 倒序后,3)蝶形运算,对N = 2L点FFT,输入倒位序,输出自然序,第m级运算每个蝶形的两节点距离为 2m1,第m级运算:,4)存储单元,输入序列x(n) : N个存储单元,系数 :N / 2个存储单元,5)翅权,当 N=8时:,4、DIT算法的其他形式流图,输入倒位序输出自然序输入自然序输出倒位序输入输出均自然序相同几何形状输入倒位序输出自然序输入自然序输

7、出倒位序,例 用FFT算法处理一幅NN点的二维图像,如用每秒可做10万次复数乘法的计算机,当N=1024时,问需要多少时间(不考虑加法运算时间)? 解 当N=1024点时,FFT算法处理一幅二维图像所需复数乘法约为 次,仅为直接计算DFT所需时间的10万分之一。 即原需要小时2778,现在只需要100秒钟。,1. 采用两个实序列x1(n), x2(n)构造一个复序列x(n)=x1(n)+jx2(n),直接计算X(k)=DFTx(n),然后通过X(k)再计算X1(k),X2(k),分析这种计算DFT的复计算量。,2. 计算n=4, 9, 23, 30的比特逆序数。,作业,3. 画出N8的基2时分FFT蝶形运算流图。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报