📄 fig5_4.m
字号:
% Figure 5.4(a) & (b)
% analogue Chebyshev filters
%
%
% BM
% June 98
clear
clf
colordef(1,'white')
f=0:5/128:5;
ripple = 2; %passband ripple in dB
ii = 3;
[z,p,k]=cheb1ap(ii,ripple);
[num,den]=zp2tf(z,p,k);
h=freqs(num,den,f);
mag=20*log10(abs(h));
ph=angle(h)*180/pi;
subplot(121)
lm1 = line('Xdata',f,'Ydata',mag,'Linestyle','-','Color','y','Erasemode','Xor');
lm2 = line('Xdata',f,'Ydata',mag,'Linestyle','-','Color','r','Erasemode','None');
axis ( [ 0 4 -30 5 ]);
axis('square')
xlabel('frequency (rad/s)'),ylabel('gain (dB)');
subplot(122)
lp1 = line('Xdata',f,'Ydata',ph,'Linestyle','-','Color','y','Erasemode','Xor');
lp2 = line('Xdata',f,'Ydata',ph,'Linestyle','-','Color','r','Erasemode','None');
axis ( [ 0 4 -180 180 ]);
axis('square')
xlabel('frequency (rad/s)'),ylabel('phase (degrees)');
fprintf(1,'Figure 5.4: order 3 Chebyshev filter with ')
fprintf(1,'%d',ripple)
fprintf(1,' dB ripple\n')
fprintf(1,' : press return for orders 4 to 7\n')
pause
for ii=4:7
[z,p,k]=cheb1ap(ii,ripple);
[num,den]=zp2tf(z,p,k);
h=freqs(num,den,f);
mag=20*log10(abs(h));
ph=angle(h)*180/pi;
set(lm1,'Xdata',f,'Ydata',mag);
set(lm2,'Xdata',f,'Ydata',mag);
set(lp1,'Xdata',f,'Ydata',ph);
set(lp2,'Xdata',f,'Ydata',ph);
pause(1);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -