董景克 杜会丹
摘要:巴特沃斯滤波器的频率特性曲线,无论在通带内还是阻带内都是频率的单调函数。因此,当通带的边界处满足指标要求时,通带内肯定会有裕量。所以,更有效的设计方法应该是将精确度均匀的分布在整个通带或阻带内,或者同时分布在两者之内。这样就可用较低阶数的系统满足要求。这可通过选择具有等波纹特性的逼近函数来达到。切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器,振幅特性在通带内是等波纹。在阻带内是单调的称为切比雪夫I型滤波器;振幅特性在通带内是单调的,在阻带内是等波纹的称为切比雪夫II型滤波器。
关键词:设计方法;切比雪夫II型滤波器
一、设计要求
其技术指标为fp=3000Hz,Rp=2dB,fst=6000Hz,As=30dB。
二、设计步骤
[1]给定技术指标
[2]求滤波器阶次N及设计用的通带截止频率OmegaC
[3]求归一化原型低通滤波器
[4]求非归一化(即去归一化)的低通滤波器
三、仿真源程序
模拟巴特沃斯低通滤波器:
clc;clear all
OmegaP=2* pi * 3000;OmegaS=2*pi* 6000; Rp= 2;As= 30;
N= ceil(log10((10^ (As/10) - 1)/(10 ^ (Rp/10) - 1))/(2* log10(OmegaS/OmegaP)))
OmegaC= OmegaP/((10^(Rp/10) - 1)^(1/(2* N)));
[z0,p0,k0] = buttap(N);
p= p0 * OmegaC; a= real(poly(p));
k= k0 * OmegaC^N; b0= real(poly(z0));
b=k*b0;
w0= [OmegaP, OmegaS];
[H,w]= freqs(b,a);
Hx= freqs(b,a, w0);
dbHx= - 20*log10(abs( Hx)/max(abs(H)))
plot(w/(2*pi)/1000, 20*log10(abs(H)));
xlabel('f(KHz)');ylabel( 'dB');axis([- 1,12, - 55,1])
set(gca, 'xtickmode','manual','xtick',[0,1,2,3,5,6,7,8,9,10]);
set(gca, 'ytickmode','manual', 'ytick',[ -50, -40, - 30, - 20, - 10,0]);grid;
N=6
b=5.8650e+25
a=1
dbHx=2
模拟切比雪夫II型低通滤波器:
clc;clear all
OmegaP= 2*pi*3000;OmegaS= 2*pi*6000; Rp= 2;As= 30;g= sqrt((10^(As/10)-1)/(10^(Rp/10)-1));
OmegaR = OmegaS/OmegaP;
N= ceil(log10(g+ sqrt(g*g- 1))/log10(OmegaR + sqrt(OmegaR* OmegaR-1)))
OmegaC= OmegaS;
[z0, p0,k0]= cheb2ap(N, As);
a0= real(poly(p0));
aNn=a0(N+ 1); p= p0* OmegaC; a=real(poly(p))
aNu=a(N+ 1); b0= real(poly(z0));M= length(b0);
bNn= b0(M);z= z0 * OmegaC; b= real(poly(z));
bNu= b(M);k= k0*(aNu * bNn)/(aNn* bNu);
b=k*b
w0= [OmegaP, OmegaS];
[H,w]= freqs(b,a);
Hx= freqs(b,a, w0);
dbHx=- 20 * log10(abs(Hx)/max(abs(H)))
plot(w/(2* pi)/1000, 20* log10(abs(H)));
xlabel('f(KHz)');ylabel( 'dB');axis([ 1,12, m 55,1])
set(gca, 'xtickmode', 'manual', 'xtick',[0,1,2,3,5,6,7,8,9,10])
set(gca, 'ytickmode', manual', 'ytick',[-50,-40, 30, - 20, - 10,0]);grid;
N= 4
b= 0.0316
a= 1
dbHx= 0.4382
四、仿真分析
自編程的设计方法比较简单,具有精度高、稳定性和灵活性好,处理功能强等数字滤波器的诸多优点,仿真设计的案例效果对比分析证明了该设计方法可行、有效。
五、收获及体会
通过这次课程设计,我不仅在数字信号处理方面学到了更深的知识,并且在滤波器设计及MATLAB软件应用方面有了比较大的提高,培养了自己的自学能力。通过此次设计也让我认识到自己对知识的理解其实并没有很透彻,对知识的理解也仅限于理论方面,没有很好的掌握,当知识需要被应用到实际当中时,就会发现很多不足,就需要去网上搜索一些资料,才能完成设计要求,对MATLAB这个软件也没有系统的学习过,只能慢慢摸索,虽然碰到了很多问题,但好在最后还可以勉强的把问题解决。以后在学习时,不仅要懂理论,也要重实践,这样才能更好的掌握知识。