gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第9章/li9_1.m
n=0:0.01:2; %频率点 for i=1:4 %取4种滤波器 switch i case 1, N=2; case 2; N=5; case 3; N=10; case 4; N=20; end [z,p,k]=buttap(N); %设计Butterworth滤波器 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式 [H,w]=freqs(b,a,n); %按n指定的频率点给出频率响应 magH2=(abs(H)).^2; %给出传递函数幅度平方 hold on; plot(w,magH2); %绘制传递函数幅度平方 end xlabel('w/wc'); %显示横坐标 ylabel('|H(jw)|^2'); % 显示纵坐标 title('Butterworth模拟原型滤波器'); %标题显示 text(1.5,0.18,'n=2'); %作必要的标记 text(1.3,0.08,'n=5'); text(1.16,0.08,'n=10'); text(0.93,0.98,'n=20'); grid on;