1、subplot(4,3,4);plot(n,y1);直接滤波的结果subplot(4,3,5);plot(n,abs(y1),g直接滤波幅频特性曲线subplot(4,3,6);plot(n,angle(y1),m直接滤波相频特性曲线subplot(4,3,7);plot(n,y2,cascade滤波后的波形subplot(4,3,8);plot(n,abs(y2),rcascade滤波幅频特性曲线subplot(4,3,9);plot(n,angle(y2),bcascade滤波相频特性曲线subplot(4,3,10);plot(n,y3,parallel滤波的波形subplot(4,3,
2、11);plot(n,abs(y3),parallel滤波幅频特性曲线subplot(4,3,12);plot(n,angle(y3),parallel滤波相频特性曲线)调用的功能函数:%单位取样序列函数functionx,n=impseq(n0,n1,n2)n=n1:n2;x=(n-n0)=0;%IIF DF 直接型到级联型的转换函数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
3、 a=a,zeros(1,M-N);N=M;else NM=0;endK=floor(N/2);B=zeros(K,3);A=zeros(K,3);if K*2=N b=b,0;a=a,0;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: Arow=real(poly(Arow); A(fix(i+1)/2),:)=Arow;Endfunction hca
4、s=casfilter(b0,B,A,delta)K,L=size(B);N=length(delta);w=zeros(K+1,N);w(1,:)=delta;K w(i+1,:)=filter(B(i,:),A(i,:),w(i,:);hcas=b0*w(K+1,:functionC,B,A=dir2par(b,a)r1,p1,C=residuez(b,a);p=cplxpair(p1,10000000*eps);I=cplxcomp(p1,p);r=r1(I);B=zeros(K,2); for i=1:N-2 Brow=r(i: Arow=p(i: Brow,Arow=residuez
5、(Brow,Arow,);)=real(Brow);)=real(Arow); endBrow,Arow=residuez(r(N-1),p(N-1),);B(K,:)=real(Brow) 0;A(K,:)=real(Arow) 0;N-1function hpar=parfilter(C,B,A,delta)=filter(C,1,delta);),delta);hpar=sum(w);程序运行的结果如下:n=-20,20;x2,n=impseq(0,-20,20);y1=filter(b,a,x2);y2=casfilter(b0,B,A,x2);y3=parfilter(C,B,A,x
6、2);plot(n,x2,x2的图像直接滤波波形cascade滤波波形plot(n,y3);parallel滤波图像plot(n,abs(y3);parallel滤波幅频特性plot(n,angle(y3);parallel滤波相频特性2.用Matlab设计一个模拟巴特沃斯低通滤波器,指标,采用冲激响应不变法和双线性变换设计。冲激响应不变法:%冲激响应不变法设计数字巴特沃斯低通滤波器%数字滤波器指标wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;%转换为模拟域指标T=1;omegap=wp/T;omegas=ws/T;%模拟巴特沃斯滤波器的计算cs,ds=afd_buttap(o
7、megap,omegas,Rp,As);%冲激不变法b,a=imp_invr(cs,ds,T);C,B,A=dir2par(b,a)%计算数字滤波器的频率响应db,mag,pha,grd,w=freqz_m(b,a);subplot(2,2,1);plot(w/pi,mag);幅度响应grid on;axis(0,0.8,0,1);ylabel(|幅度|xlabel(以pi为单位的频率subplot(2,2,3);plot(w/pi,db);幅度响应(dB)axis(0,0.8,-80,0);对数幅度/dBsubplot(2,2,2);plot(w/pi,pha);相位响应axis(0,0.8
8、,-4,4);相位subplot(2,2,4);plot(w/pi,grd);群延迟axis(0,0.8,0,10);样本functionb,a=afd_buttap(wp,ws,Rp,As)N=ceil(log10(10(Rp/10)-1)/(10(As/10)-1)/(2*log10(wp/ws);fprintf(n* * *Butterworth Filter Order=%2.0fn,N)omega=wp/(10(Rp/10)-1)(1/(2*N);b,a=buttap_o(N,omega);functionb,a=imp_invr(c,d,T)R,p,k=residue(c,d);p
9、=exp(p*T);b,a=residuez(R,p,k);b=real(ba=real(a Brow,Arow=residues(Brow,Arow,);functiondb,mag,pha,grd,w=freqz_m(b,a)H,w=freqz(b,a,1000,wholeH=(H(1:501);w=(w(1:mag=abs(H);db=20*log10(mag+eps)/max(mag);pha=angle(H);grd=grpdelay(b,a,w);双线性变换:%双线性变换设计数字巴特沃斯低通滤波器Fs=1/T;omegap=(2/T)*tan(wp/2);omegas=(2/T)*
10、tan(ws/2);cs,ds=afd_buttap(omegap,omegas,Rp,As)%双线性变换b,a=bilinear(cs,ds,Fs);C,B,A=sdir2cas(b,a)axis(0,0.8,-60,0);%将模拟滤波器直接形式转换为级联形式的函数function C,B,A=sdir2cas(b,a)%计算增益系数CC=b0/a0Na=length(a)-1;Nb=length(b)-1;%计算分母的二阶因子部分p=cplxpair(roots(a);K=floor(Na/2);if K*2=Na A=zeros(K,3); for n=1:Na Arow=p(n:n+1
11、,: Arow=poly(Arow); A(fix(n+1)/2),:elseif Na=1 A=0 real(poly(p); A=zeros(K+1,3); A(K+1,:)=0 real(poly(p(Na);%计算分子的二阶因子部分z=cplxpair(roots(b);K=floor(Nb/2);if Nb=0 B=0 0 poly(z);elseif K*2=Nb B=zeros(K,3);Nb Brow=z(n: Brow=poly(Brow); B(fix(n+1)/2),:elseif Nb=1 B=0 real(poly(z); B=zeros(K+1,3); B(K+1,:)=0 real(poly(z(Nb);3.用级联型和并联型结构实现以下系统函数,每个二阶节都采用直接II型结构。级联型:a=5,-2.4412*5,2.4412*5,-5;%输入分子系数向量b=1,-1.7728,1.4464,-0.405;%输入分母系数向量z,p,k=tf2zp(a,b);%求出各子系统的零极点sos,A=zp2sos(z,p,k);%求出各二阶节乘系数disp(零点:disp(z);极点:disp(p);增益系数:disp(k);二阶节:disp(real(sos);并联型:r,p,k=residuez(a,b);留数:disp(rdisp(p常数:disp(k
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1