www.gusucode.com > MATLAB仿真技术与应用__的配套例题和习题的matlab源代码 > 第四章/example11.m
%MATLAB program 4-11 % Typical digital filter design clear all; clc; %把数字滤波器的频率特征转换成模拟滤波器的频率特征 Fs=1.0e+4; Fc=1.0e+3; Fst=1.5e+3;Rp=1; Rs=15; Wp=2*pi*Fc; Ws=2*pi* Fst ; %选择滤波器的阶数 [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,’s’); %创建Chebyshev I低通滤波器原型 [z,p,k]=cheb1ap(N); %从零极点形式转换成状态方程形式 [A,B,C,D]=zp2ss(z,p,k); %实现低通到高通滤波器类型的转换 [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn); %采用双线性变换法实现从模拟低通到数字高通滤波器的转换 [b,a]=ss2tf(At,Bt,Ct,Dt); [b1,a1]=impinvar(b,a,Fs); %绘出频率响应曲线 figure; [h,w]=freqz(b1,a1); plot(w*Fs/(2*pi),abs(h)); grid; xlabel('频率(Hz)'); ylabel('幅值'); title('Highpass digital filter'); figure; plot(w*Fs/(2*pi),20*log10(abs(h))); grid; xlabel('频率(Hz)'); ylabel('幅值(dB)'); title('Highpass digital filter');