- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 数字滤波器结构
实验七 滤波器设计
实验目的:
掌握滤波器结构类型转换的Matlab实现方法;掌握用滤波器直接形式、级联形式、并联形式、格型形式以及频率采样形式的Matlab实现。了解和学习组合滤波的结构类型特性;进一步理解和巩固理论知识,提高分析和解决实际问题的能力。
实验原理:
1.滤波器数学模型之间的转换
2.滤波器结构类型之间的转换
三.实验内容:
程序用到的自定义子函数程序: 1.IIR系统级联转直接型子函数:
function [b,a]=cas2dir(b0,B,A)
[K,L]=size(B);
b=[1];
a=[1];
for i=1:1:K
b=conv(b,B(i,:));
a=conv(a,A(i,:));
end
b=b*b0;
2.IIR系统直接转级联型子函数:
function [b0,B,A]=dir2cas(b,a);
b0=b(1);b=b/b0;
a0=a(1);a=a/a0;
b0=b0/a0;
M=length(b);N=length(a);
if NM
b=[b zeros(1,N-M)];
elseif MN
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
3.IIR系统直接转并联型子函数:
function [C,B,A]=dir2par(b,a)
M=length(b);
N=length(a);
[r1,p1,C]=residuez(b,a);
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]=residuez(Brow,Arow,[]);
B(fix((i+1)/2),:)=real(Brow);
A(fix((i+1)/2),:)=real(Arow);
end
[Brow,Arow]=residuez(r(N-1),p(N-1),[]);
B(K,:)=[real(Brow) 0];A(K,:)=[real(Arow) 0]
else
for i=1:2:N-1
Brow=r(i:1:i+1,:);
Arow=p(i:1:i+1,:);
[Brow,Arow]=residuez(Brow,Arow,[]);
B(fix((i+1)/2),:)=real(Brow);
A(fix((i+1)/2),:)=real(Arow);
end
end
4.dir2par函数中用到的cplxcomp子函数:
function I=cplxcomp(p1,p2)
I=[];
for j=1:1:length(p2)
for i=1:1:length(p1)
if(abs(p1(i)-p2(j))0.0001)
I=[I,i];
end
end
end
I=I;
5.IIR系统直接型转格型子函数:
function [K,C]=dir2ladr(b,a)
a1=a(1);a=a/a1;b=b/a1;
M=length(b);N=length(a);
if MN
error(***length(b)=length(a)***)
end
b=[b,zeros(1,N-M)];K=zeros(1,N-1);
A=zeros(N-1,N-1);C=b;
for m=N-1:-1:1
A(m,1:m)=-a(2:m+1)*C(m+1);
K(
文档评论(0)