实验报告模板-实验四.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 实验日期: 2017.6.2 班级: 数媒1403 姓名: 李欣 学号: 1030514327 一、实验目的 三、实验步骤 (以实验材料第二部分“FIR滤波器结构及其MATLAB实现”为例,给出实验步骤描述、相关代码等。) 解:FIR直接型系统函数表示 FIR结构的直接形式由包含系数{ n b }的行向量b 描述。在MATLAB中,把分母矢量a置为1,这种结构用filter函数实现。 直接型的代码实现 impseq.m function [n,x] = impseq(np,ns,nf) %《数字信号处理教程――MATLAB释义与实现》 % 单个脉冲序列生成子程序 % 电子工业出版社出版 陈怀琛编著 2004年9月 % % 产生 x(n) = delta(n-np); ns = n,np = nf % ---------------------------------------------- % [x,n] = impseq(np,ns,nf) % np=阶跃信号施加的位置 % ns=序列的起点位置 % nf=序列的终点位置 % n = ns:nf; % 生成位置向量 x = (n-np) == 0; % 生成单个脉冲序列 %x = [zeros(1,(np-ns)), 1, zeros(1,(nf-np))]; % 生成单个脉冲序列的另一种语句 n=0:5; b=0.2.^n; N=30; delta=impseq(0,0,N); h=filter(b,1,delta);% x=[ones(1,5),zeros(1,N-5)]; y=filter(b,1,x);% subplot(2,2,1);stem(h);title(直接型h(n)); subplot(2,2,2);stem(y);title(直接型y(n)); FIR级联型系统函数表示为即级联型FIR 滤波器可以通过casfiltr 函数实现。但这种形式与IIR 形式类似,也可以使用 dir2cas函数,把分母矢量a置为1,用cas2dir函数从级联形式转换为直接形式而获得。 级联型代码实现 dir2cas.m function [ b0,B,A]=dir2cas(b,a); % 直接型到级联型的形式转换(复数对型); % —————————————————— % [b0,B,A]=dir2cas(b,a); % b=直接型的分子多项式系数 % a=直接型的分母多项式系数 % b0=增益系数 % B=包含各bk的K乘3维实系数矩阵 %A=包含各ak的K乘3维实系数矩阵 % 计算增益系数b0 b0=b(1);b=b/b0; a0=a(1);a=a/a0; b0=b0/a0; % M=length(b);N=length(a); if N M b=[b zeros(1,N-M)]; elseif M N a=[ a zeros(1,M-N)];N=M; else NM=0 end % K=floor(N/2);B=zeros(K,3);A=zeros(K,3); if K*2==N; b=[b 0]; a=[a 0]; end % broots=cplxpair(roots(b)); aroots=cplxpair(roots(a)); for i=1:2:2 *K Brow=broots(i:1:i+1,:); Brow=real(poly(Brow)); B(fix((i+1)/2),:)=Brow; Arow=aroots(i:1:i+1,:); Arow=real(poly(Arow)); A(fix((i+1)/2),:)=Arow; end castfiltr.m function y=casfiltr(b0,B,A,x); % IIR各FIR滤波器的级联型的实现 % —————————————— % y=casfiltr(b0,B,A,x); % y=输出序列 % b0=级联型的增益系数 % B=包含各bk和K乘3维实系数矩阵 %A=包含各ak的K乘3维实系数矩阵 % x=输入序列 % [K,L]=size(B); N=length(x); w=zeros(K+1,N); w(1,:)=x; for i=1:1:K w(i+1,:)=filter(B(i,:),A(i,:),w(i,:)); end y=b0 * w(K+1,:); [b0,B,A]=dir2cas(b,1); h=casfiltr(b0,B,A,d

文档评论(0)

js1180 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档