董景克 杜會丹
摘要:巴特沃斯濾波器的頻率特性曲線,無論在通帶內還是阻帶內都是頻率的單調函數。因此,當通帶的邊界處滿足指標要求時,通帶內肯定會有裕量。所以,更有效的設計方法應該是將精確度均勻的分布在整個通帶或阻帶內,或者同時分布在兩者之內。這樣就可用較低階數的系統滿足要求。這可通過選擇具有等波紋特性的逼近函數來達到。切比雪夫濾波器是在通帶或阻帶上頻率響應幅度等波紋波動的濾波器,振幅特性在通帶內是等波紋。在阻帶內是單調的稱為切比雪夫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這個軟件也沒有系統的學習過,只能慢慢摸索,雖然碰到了很多問題,但好在最后還可以勉強的把問題解決。以后在學習時,不僅要懂理論,也要重實踐,這樣才能更好的掌握知識。