📄 hc823.m
字号:
%《数字信号处理教程——MATLAB释义与实现》第八章例8.2.3程序hc823
% 切贝雪夫II模拟滤波器设计
% 电子工业出版社出版 陈怀琛编著 2004年9月
%
OmegaP=2*pi*5000;OmegaS=2*pi*12000; % 输入设计指标
Rp=1; As=30;
[N, OmegaC] = cheb1ord(OmegaP, OmegaS, Rp, As, 's') % 调用切贝雪夫I设计函数
[z0,p0,k0] = cheb1ap(N,Rp) % 调用切贝雪夫I原型函数,得到左半平面零极点
b0 = k0*real(poly(z0)); % 由零点计算分子系数向量
a0 = real(poly(p0)) % 由极点计算分母系数向量
Nm=length(a0)-length(b0); % 求极点个数与零点个数之差
[Ha,w0]=freqs(b0,a0); % 求频率响应
subplot(1,2,1),
semilogx(w0*OmegaC,20*log10(abs(Ha)/max(abs(Ha)))) % 画出归一化分贝频率特性
xlabel('\Omega'),ylabel('dBHa(\Omega)')
Hx = freqs(b0,a0,[OmegaP,OmegaS]/OmegaC); % 计算OmegaP,OmegaS处的频率特性
dbHx=-20*log10(abs(Hx)/max(abs(Ha))) % 计算OmegaP,OmegaS处的分贝幅特性
set(gcf,'color','w') % 置图形背景色为白
grid on
subplot(1,2,2), plot(p0*OmegaC,'x') % 画出极点分布图
xlabel('\sigma'),ylabel('j\Omega')
axis square,axis equal,grid on % 使x,y等比例,看出椭圆分布
[sos0,G0]=tf2sos([zeros(1,Nm),b0],a0) % 求级联形式的归一化传递函数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -