网站大量收购独家精品文档,联系QQ:2885784924

离散傅里叶级数(DFS)及FFT快速卷积5.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
离散傅里叶级数(DFS)及FFT快速卷积5

学院:电气信息学院 专业: 电子信息工程 班级:一班 课程名称:数字信号处理 姓名 学号 实验序号 五 实验时间 2012-11-27 指导教师 成绩 实验项目名称 离散傅里叶级数(DFS)及FFT快速卷积 实验目的 加深对离散傅里叶级数(DFS)及FFT快速卷积的理解 实验内容 一、 1.循环移位 2.循环卷积 二 、1.重叠保留 2重叠相加 三、用FFT实现FIR滤波器与信号的滤波 四、用FFT重叠相加法实现FIR滤波器与信号的滤波 实验环境 MATLAB 2007下的M文件编辑器 实 验 编 程 及 运 行 结 果 1.循环移位 function y=circularshift(x,m,N) if length(x)N error(N must be larger or equal to length of x) end x=[x,zeros(1,N-length(x))]; n=0:N-1; n=mod(n-m,N); y=x(n+1); 2.循环卷积 function y=circulararconv(x,h,N) Lx=length(x); Lh=length(h); if(LxN|LhN) error(N must be =both of lengths of x and h) end x=[x,zeros(1,N-length(x))]; h=[h,zeros(1,N-length(h))]; k=0:N-1; h=h(mod(-k,N)+1); Z=zeros(N,N); for n=1:N Z(n,:)=circularshift(h,n-1,N); end y=Z*x 1.重叠保留 function y=ovlpsave(x,h,N) Lx=length(x); M=length(h); M1=M-1; L=N-M1; K=floor((Lx+M1)/L); if(Lx+M1)/L==K K=K-1; end x=[zero(1,M1),zeros(1,(K+1)*L-Lx)]; Y=zeros(K+1,N); for k=0:K xk=x(k*L+1:k*L+N); Y(k+1,:)=circulararconv(xk,h,N); end Y=Y(:,M:N); y=(Y(:)); y=y(1:Lx+M1); 2重叠相加 function [y]=ovlpadd(x,h,N) if lengthx=length(x); M=length(h); Block_Nums=Block_Nums-1; else x=[x,zeros(1,(Block_Nums+1)*N-lengthx)]; end Y=zeros(Block_Nums+1,N+-1); for k=0:Block_Nums xk=x(k*N+1:k*N+N); Y(k+1,:)=conv(xk,h); end for k=1:Block_Nums+1 for m=1:M-1 y(k+1,m)=y(k+1,m)+y(k,m+N); end end Y_last=Y(Block_Nums+1,:); 用FFT实现FIR滤波器与信号的滤波 h(n)=0.9^n * Rn(n) , x(n)=sin(0.4n)*Rm(n) M=41;x=sin(0.4*[0:M-1]); N=21;h=0.9.^(0:N-1); tic, y1=conv(x,h); toc, L=pow2(nextpow2(M+N-1)); tic, Xk=fft(x,L); Hk=fft(h,L); Yk=Xk.*Hk; y2=ifft(Yk,L); toc, subplot(2,1,1),stem(0:M-1,x,.), subplot(2,1,2),stem(0:N-1,h,.), figure,subplot(2,1,1),stem(0:M+N-2,y1,.), subplot(2,1,2),stem(0:L-1,y2,.), firure 1 firure 2 Elapsed time is 0.000093 seconds. Elapsed time is 0.000038 seconds. 当M=410时: firure 1 firure 2 Elapsed time is 0.000143 seconds. Elapsed time is 0.000090 seco

文档评论(0)

haocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档