模拟滤波器原型的设计 计算本例的程序hc821应为: N=input(N=),%输入滤波器参数 OmegaC=input('OmegaC=); [z0,p0,k0]buttap(N) %调用buttapi函数, p=po*OmegaC; %非归一化极点 Z=z0*OmegaC; %非归一化零点 k k0*OmegaCAN; %非归一化增益 b=real(poly(z));b k*b %分子系数向量 a=real(poly(p)) %分母系数向量 由此程序可求b,a,并得到系统函数的任何形式。 16
16 模拟滤波器原型的设计 计算本例的程序hc821应为: N=input('N= '); % 输入滤波器参数 OmegaC=input('OmegaC= '); [z0,p0,k0] = buttap(N) % 调用buttap函数, p = p0*OmegaC; % 非归一化极点 z = z0*OmegaC; % 非归一化零点 k = k0*OmegaC^N; % 非归一化增益 b = real(poly(z));b = k*b % 分子系数向量 a = real(poly(p)) % 分母系数向量 由此程序可求b,a,并得到系统函数的任何形式
模拟滤波器原型的设计 设计过程中,需要由给定的滤波器指标参数 2p,Rp,Qs和As,求得滤波器的阶数N和边缘频 率2c,即要把滤波器公式变为它的设计方程。 令滤波器在通带和阻带边缘频率的幅特性满足指 标Rp和As,建立两个联立方程。解出N和2c: log10l10p10-)/104s10 21og10(2p/2s) os= 2 2i00'或 2104s10-1
17 模拟滤波器原型的设计 设计过程中,需要由给定的滤波器指标参数 Ωp,Rp, Ωs和As,求得滤波器的阶数N和边缘频 率Ωc,即要把滤波器公式变为它的设计方程。 令滤波器在通带和阻带边缘频率的幅特性满足指 标Rp和As,建立两个联立方程。解出N和Ωc: − − = 2 log ( / ) log (10 1) /(10 1) 1 0 /1 0 /1 0 1 0 p s R p A s N 2 2 /10 /10 10 1 10 1 p s cp cs N N Rp As = = − − ,或
模拟原型的设计例8.2.2 例8.2.2设通带边缘频率p=5kHz,最大衰减Rp为 1dB,阻带边缘频率fs=12kHz,最大衰减As为 30dB,要求设计巴特沃思低通滤波器。 解:用手工运算的方法可按下列步骤: (1)。用式(8.2.7)和式(8.2.8)确定阶数N及边缘 频率2c; (2)。用(8.2.3)式,根据N值求出极点pk分布, 取出其左半平面全部极点; (3)。用(8.2.4)式求出滤波器的系数向量。 18
18 模拟原型的设计例8.2.2 例8.2.2 设通带边缘频率fp=5kHz,最大衰减Rp为 1dB,阻带边缘频率fs=12kHz,最大衰减As为 30dB,要求设计巴特沃思低通滤波器。 解:用手工运算的方法可按下列步骤: (1)。用式(8.2.7)和式(8.2.8)确定阶数N及边缘 频率Ωc; (2)。用(8.2.3)式,根据N值求出极点pk分布, 取出其左半平面全部极点; (3)。用(8.2.4)式求出滤波器的系数向量
模拟原型设计程序hc822 OmegaP=2*pi*5000;OmegaS=2*pi*12000;Rp=1;As=30; %确定滤波器的阶次和边缘频率 N=ceil(logl0(10.(0.1*abs(Rp)-1)./(10.(0.1*abs(As)-1)). /(2*log10(OmegaP/OmegaS))) OmegaC=OmegaP /((10(.1*abs(Rp))-1)(1/(2*N))); %上两条语句可用下面一条语句代替 [N,OmegaC]=buttord(OmegaP,OmegaS,Rp,As,'s') [z0,p0,k0]=buttap(N) %得到左半平面零极点 %求归一化系数b0,a0 bO=kO*real(poly(zO));a0=real(poly(po)) 19
19 模拟原型设计程序hc822 OmegaP=2*pi*5000; OmegaS=2*pi*12000;Rp=1;As=30; % 确定滤波器的阶次和边缘频率 N=ceil( log10((10 .^ (0.1*abs(Rp))-1)./(10 .^(0.1*abs(As)) - 1) )… / (2*log10(OmegaP/OmegaS)) ) OmegaC= OmegaP / ( (10^(.1*abs(Rp)) - 1)^(1/(2*N)) ); % 上两条语句可用下面一条语句代替 % [N, OmegaC] =buttord(OmegaP, OmegaS, Rp, As, 's') [z0,p0,k0] = buttap(N) %得到左半平面零极点 % 求归一化系数b0,a0 b0=k0*real(poly(z0)); a0=real(poly(p0))
模拟原型设计程序hc822 程序运行的结果为:2=37792弧度?秒]。分子分 母上出现的2达到1022的数量级,以致向量a 中其它较小的系数无法显示。 因此最好用归一化的滤波器系数, b0=1,a0=[1,3.2361,5.2361,3.2361,1] 而把变量s写成(s0=s/2。),这时自变量仍为s, 所以整个滤波器系统函数仍是非归一化形式。 Ha(s)= s05+3.2361s04+5.2361s03+5.2361s02+3.2361s0+1 其中 37792 20
20 模拟原型设计程序hc822 程序运行的结果为:Ωc =37792[弧度?秒]。分子分 母上出现的Ω c N达到1022的数量级,以致向量a 中其它较小的系数无法显示。 因此最好用归一化的滤波器系数, b0=1,a0=[1,3.2361,5.2361,3.2361,1] 而把变量s写成(s0=s/Ω c),这时自变量仍为s, 所以整个滤波器系统函数仍是非归一化形式。 3.2361s0 1 2 5.2361s0 3 5.2361s0 4 3.2361s0 5 s 0 1 ( ) + + + + + s = a H s 0 37792 s = 其中