- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章.离散傅里叶变换及其快速算法与应用
离散傅里叶变换(DFT)的定义 DFT与DTFT和Z变换的关系 DFT的数字计算 DFT的性质 DFT 的快速算法—FFT DFT(FFT)的应用 3.1.1 离散傅里叶变换的定义 3.2 DFT的性质 1)隐含的周期性 2)循环移位性质 3.2 DFT的性质 2)循环移位性质 时域循环移位定理 频率循环移位定理 3.2 DFT的性质 3)循环卷积定理 1.两个有限长序列的循环卷积 循环卷积的计算: 3.2 DFT的性质 时域循环卷积定理 频域循环卷积定理 循环卷积定理验证 DFT的对称性 3.3 频率域采样 4.DFT 的快速算法—FFT 3.4 DFT 的应用举例 第3章 复习 8点DFT二次时域抽取分解运算流图 N=8 点DIT-FFT运算流图 例:计算x(n)=[0,1,2,3,4,5,6,7]的DFT值X(k) 基2DIT-FFT算法的运算规律 蝶形运算:蝶形运算是分级进行的;每级的蝶形运算可以按旋转因子的指数大小排序进行;如果指数大小一样则可从上往下依次蝶算。蝶形运算的规律是编程的基础 。 原位计算:当数据输入到存储器以后,每一级运算的结果仍可储存在同一组存储器中,直到最后输出,中间无需其它存储器,这叫原位计算。 序列倒序 :运算前要先对输入的序列进行位序颠倒 。 0 4 2 6 1 5 3 7 000 100 010 110 001 101 011 111 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 倒序数 (J) 倒序二进制(JB) 顺序二进制(IB) 顺序数(I) 规律:倒序二进制数是顺序二进制数的倒置。 基2DIT-FFT算法的程序框图 基2DIT-FFT算法的实现程序 clc;close all;clear;format compact; %倒序 xn=[0,1,2,3,4,5,6,7];%可取任意序列 M=nextpow2(length(xn)), N=2^M, %将数据输入到存储地址 A=[xn,zeros(1,N-length(xn))]; disp(输入到各存储单元的数据:),disp(A); %数据倒序操作 J=0;%给倒序数赋初值 for I=0:N-1;%按顺序交换数据和算倒序数 if IJ;%条件判断及数据交换 T=A(I+1);A(I+1)=A(J+1);A(J+1)=T; end K=N/2;%算下一个倒序数 while J=K; J=J-K;K=K/2; end J=J+K; end disp(倒序后各存储单元的数据:),disp(A); %分级按序依次进行蝶形运算 WN=exp(-j*2*pi/N);%计算常量 for L=1:M;%分级计算 disp(运算级次:),disp(L); B=2^(L-1); for R=0:B-1;%各级按序计算 P=2^(M-L)*R; for K=R:2^L:N-2;%每序依次计算 T=A(K+1)+A(K+B+1)*WN^P; A(K+B+1)=A(K+1)-A(K+B+1)*WN^P; A(K+1)=T; end end disp(本级运算后各存储单元的数据:),disp(A); end disp(输出各存储单元的数据:),Xk=A, disp(调用fft函数运算的结果:),fftxn=fft(xn,N), 基2DIT-FFT算法的运算量分析 对于任何一个2的整数次幂 N=2M 点的DFT运算,总可以通过M 次分解,直到DFT 就是其本身的1点序列。这样的M次分解,构成从x(n)到X(k)的M 级运算。从流程图可看到,每级运算都由N/2个蝶形运算构成。因此每级运算都需要 (N/2) 次复乘和N次复加(每个结作加、减各一次)。故总共需要的运算: 复乘 (N/2)·M=(N/2)log2N 复加 N·M=N log2N 实际运算量与这个数字稍有出入,但按时间抽取法所需的计算量,大概与N log2N 成正比,而直接运算的运算量与N2成正比,当N较大时,FFT算法优势明显。 IDFT的快速算法 方法1:只要把DFT运算中的蝶形系数W nkN 改为W -nkN 。结果再除N,则FFT运算程序可直接进行IDFT运算。 FFT算法可用于IDFT运算,简称为IFFT。 方法2:不改FFT程序,直接用
文档评论(0)