IIR 数字滤波器三种结构形式的MATLAB实现 |
您所在的位置:网站首页 › 字根汉字的三种结构方式 › IIR 数字滤波器三种结构形式的MATLAB实现 |
一.实验目的 1. 掌握IIR 数字滤波器设计的方法; 2. 掌握IIR 数字滤波器直接型、级联型和并联型的基本特点并根据给定的传递函数形式正 确选择是否采用直接型、级联型和并联型。 3. 熟悉直接型、级联型和并联型软件实现的编程方法。 二.实验原理 一个IIR 滤波器的系统函数给出为: 有三种结构用于实现一个IIR 滤波器。 1.直接型:结构数字滤波器按给出的差分方程式直接与以实现。有两种型式:直接Ⅰ型和 直接Ⅱ型结构。直接型结构用两个行向量来描述:含有系数{ n b }的向量b 和含有系数{ n a } 的向量a,MATLAB 中其结构实现是用filter 函数。 2. 级联型:将系统函数H(z)写成具有实系数的二阶节的乘积。即将分子分母多项式分解为 它们各自的根,然后将一对复数共轭根或者任意两个实数根组合成二阶多项式。一般假定N 为偶数,有: 三.实验内容 1、根据程序参考流程图,分别编制以下给出的IIR 数字滤波器直接型、级联型和并联型结 构的单位脉冲响应,单位阶跃响应及频率特性的程序。 2、利用所编的程序,对以下IIR 数字滤波器,给出三种结构形式下的滤波器结构及信号流 图,并画出此结构下单位脉冲响应和单位阶跃响应曲线。 参考流程图: 四、思考题 (1)对于实验中的三种结构形式,你认为哪一种在计算机上实现更方便些,为什么? (2)所给出的IIR 数字滤波器是低通、高通还是带通?3dB 截止频率大约是多少?是否是线性相位的? (3)为何要将系统函数转换为三种不同的结构,三种结构的优缺点各是什么? 五、实验报告要求 1.简述实验目的及原理。 2.给出数字滤波器三种结构形式的结果。 3.对三种结构形式滤波器的优缺点进行分析比较。 4.简要回答思考题。 b=[1,-3,11,27,18]; a=[16,12,2,-4,-1]; n=0:63; figure; h=impz(b,a,n); u=dstep(b,a,n); w=linspace(-2*pi,2*pi,500); H=freqz(b,a,w); H=20*log10(abs(H)); subplot(3,1,1),stem(n,h,'.'); title('直接型单位冲激响应'); subplot(3,1,2),stem(n,u,'.'); title('直接型单位阶跃响应'); subplot(3,1,3),plot(w/pi,H); title('直接型频率响应'); axis([0,1,-50,20]); xlabel('单位:pi'); ylabel('单位:dB'); [sos,g]=tf2sos(b,a); N=size(sos); N=N(1); h0=[n==0]; for k=1:N b1=sos(k,1:3); a1=sos(k,4:6); h1=impz(b1,a1,n); h0=conv(h0,h1); end h0=g*h0; h0=h0(1:64); figure; subplot(3,1,1),stem(n,h0,'.'); title('级联型单位冲激响应'); u0=[n>=0]; for k=1:N b1=sos(k,1:3); a1=sos(k,4:6); h1=impz(b1,a1,n); u0=conv(u0,h1); end u0=g*u0; u0=u0(1:64); subplot(3,1,2),stem(n,u0,'.'); title('级联型单位阶跃响应'); w=linspace(-2*pi,2*pi,500); H0=ones(1,length(w)); for k=1:N b1=sos(k,1:3); a1=sos(k,4:6); H1=freqz(b1,a1,w); H0=H0.*H1; end H0=g*H0; H0=20*log10(abs(H0)); subplot(3,1,3),plot(w/pi,H0); title('级联型频率响应'); axis([0,1,-50,20]); xlabel('单位:pi'); ylabel('单位:dB'); [r,p,q]=residuez(b,a); N=size(r); N=N(1); h0=zeros(1,64); for k=1:N b1=r(k); a1=[1,-1*p(k)]; s=[n==0]; h1=filter(b1,a1,s); h0=h0+h1; end h1=[n==0]; h1=q*h1; h0=h0+h1; figure; subplot(3,1,1),stem(n,h0,'.'); title('并联型单位冲激响应'); u0=zeros(1,64); for k=1:N b1=[r(k),0]; a1=[1,-1*p(k)]; s=[n>=0]; u1=filter(b1,a1,s); u0=u0+u1; end u1=[n>=0]; u1=q*u1; u0=u0+u1; subplot(3,1,2),stem(n,u0,'.'); title('并联型单位阶跃响应'); w=linspace(-2*pi,2*pi,500); H10=zeros(1,length(w)); for k=1:N b1=[r(k),0]; a1=[1,-1*p(k)]; H11=freqz(b1,a1,w); H10=H10+H11; end H10=q+H10; H10=20*log10(abs(H10)); subplot(3,1,3),plot(w/pi,H10); title('并联型频率响应'); axis([0,1,-50,20]); xlabel('单位:pi'); ylabel('单位:dB'); |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |