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

数字信号处理实验作业.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验6 数字滤波器的网络结构 一、实验目的: 1、加深对数字滤波器分类与结构的了解。 2、明确数字滤波器的基本结构及其相互间的转换方法。 3、掌握用MATLAB语言进行数字滤波器结构间相互转换的子函数及程序编写方法。 二、实验原理: 1、数字滤波器的分类 离散LSI系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI系统又称为数字滤波器。 数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR)和无限长单位脉冲响应滤波器(IIR)。 一个离散LSI系统可以用系统函数来表示: 也可以用差分方程来表示: 以上两个公式中,当ak至少有一个不为0时,则在有限Z平面上存在极点,表达的是以一个IIR数字滤波器;当ak全都为0时,系统不存在极点,表达的是一个FIR数字滤波器。FIR数字滤波器可以看成是IIR数字滤波器的ak全都为0时的一个特例。 IIR数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。 FIR数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。 另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR系统格型结构、全极点IIR系统格型结构以及全零极点IIR系统格型结构。 2、IIR数字滤波器的基本结构与实现 (1)直接型与级联型、并联型的转换 例6-1 已知一个系统的传递函数为 将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。 图6-1 分析:从直接型转换为级联型,就是将系统的传递函数(tf)模型转换为二次分式(sos)模型;从直接型转换为并联型,就是将系统函数的传递函数(tf)模型转换为极点留数(rpk)模型。 程序清单如下: b=[8,-4,11,-2]; a=[1,-1.25,0.75,-0.125]; [sos,g]=tf2sos(b,a) [r,p,k]=residuez(b,a) 运行结果如下: sos = 1.0000 -0.1900 0 1.0000 -0.2500 0 1.0000 -0.3100 1.3161 1.0000 -1.0000 0.5000 g = 8 r = -8.0000 -12.0000i -8.0000 +12.0000i 8.0000 p = 0.5000 + 0.5000i 0.5000 - 0.5000i 0.2500 k =16 由sos和g的数据,可以列写出级联型的表达式: 信号流图如图6-2所示: 图6-2 由r、p、k的数据,可以列写出并联型的表达式: 上式中出现了复系数,可采用二阶分割将共轭极点组成分母上的实系数二阶环节。这里使用自定义函数dir2par可以实现滤波器结构从直接型向并联型的转换,且用实系数二阶环节表示。在使用该函数时,调用了另一个自定义函数cplxcomp以进行复共轭对的正确排序,保证系统二阶环节的分子、分母一定是实数。dir2par函数和cplxcomp函数定义如下: function I=cplxcomp(p1,p2) %按共轭条件排列极点留数对 %比较两个包含同样标量元素但(可能)具有不同下标的复数对 %本语句必须用在p2=cplxpair(p1)语句之后,以重新排序对应的留数向量 I=[]; for j=1:length(p2) for i=1:length(p1) if(abs(p1(i)-p2(j))0.0001) I=[I,i]; end end end I=I; function [C,B,A]=dir2par(num,den) %直接型到并联型的转换 M=length(num);N=length(den); [r1,p1,C]=residuez(num,den);%先求系统的单根p1对应的留数r1及直接项C p=cplxpair(p1eps); I=cplxcomp(p1,p); r=r1(I); K=floor(N/2);B=zeros(K,2);A=zeros(K,3); if K*2==N; for i=1:2:N-2; Brow=r(i:1:i+1,:); Arow=p(i:1:i+1,:); [Brow,Arow]

文档评论(0)

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

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

1亿VIP精品文档

相关文档