matlab設計模擬帶阻濾波器

2021-08-29 20:57:24 字數 2566 閱讀 7829

簡單記錄下在matlab上如何設計出模擬的帶阻濾波器,包括:巴特沃斯濾波器、切比雪夫i型濾波器、切比雪夫ii型濾波器、橢圓型濾波器。

%設計帶阻濾波器

%巴特沃斯、切比雪夫i型、切比雪夫ii型、橢圓型濾波器

clear all;

%wp和ws分別是通帶和阻帶的頻率(截止頻率)。當wp>ws時,為高通濾波器;當wp和ws為二元向量時,為帶通或帶阻濾波器,這是求出的wn也是二元向量

%wp和ws為二元向量

wp=[0.075*2*pi 0.2*2*pi]; %設定通帶頻率

ws=[0.1*2*pi 0.15*2*pi]; %設定阻帶頻率

rp=1; %設定通帶波紋係數

rs=20; %設定阻帶波紋係數

%巴特沃斯濾波器設計

[n,wn]=buttord(wp,ws,rp,rs,'s'); %求巴特沃斯濾波器階數,輸出引數n代表滿足設計要求的濾波器的最小階數,wn是等效低通濾波器的截止頻率

%無論是高通、帶通和帶阻濾波器,在設計中最終都等效於乙個截止頻率為wn的低通濾波器(我現在也不是很理解為啥是這樣,畢竟我也是剛接觸濾波器)

fprintf('巴特沃斯濾波器 n= %4d\n',n); %顯示濾波器階數

[bb,ab]=butter(n,wn,'stop','s'); %求巴特沃斯濾波器係數,即求傳輸函式的分子和分母的係數向量

w=0:0.01:2; %設定模擬頻率

[hb,wb]=freqs(bb,ab,w); %求巴特沃斯濾波器頻率響應

plot(wb/pi,20*log10(abs(hb)),'b'); %作圖

hold on

%切比雪夫i型濾波器設計

[n,wn]=cheb1ord(wp,ws,rp,rs,'s'); %求切比雪夫i型濾波器階數

fprintf('切比雪夫i型濾波器 n= %4d\n',n); %顯示濾波器階數

[bc1,ac1]=cheby1(n,rp,wn,'stop','s'); %求切比雪夫i型濾波器係數,即求傳輸函式的分子和分母的係數向量

[hc1,wc1]=freqs(bc1,ac1,w); %求切比雪夫i型濾波器頻率響應

plot(wc1/pi,20*log10(abs(hc1)),'k'); %作圖

%切比雪夫ii型濾波器設計

[n,wn]=cheb2ord(wp,ws,rp,rs,'s'); %求切比雪夫ii型濾波器階數

fprintf('切比雪夫ii型濾波器 n= %4d\n',n);%顯示濾波器階數

[bc2,ac2]=cheby2(n,rs,wn,'stop','s'); %求切比雪夫ii型濾波器係數,即求傳輸函式的分子和分母的係數向量

[hc2,wc2]=freqs(bc2,ac2,w); %求切比雪夫ii型濾波器頻率響應

plot(wc2/pi,20*log10(abs(hc2)),'r'); %作圖

%橢圓型濾波器設計

[n,wn]=ellipord(wp,ws,rp,rs,'s'); %求橢圓型濾波器階數

fprintf('橢圓型濾波器 n= %4d\n',n); %顯示濾波器階數

[be,ae]=ellip(n,rp,rs,wn,'stop','s'); %求橢圓型濾波器係數,即求傳輸函式的分子和分母的係數向量

[he,we]=freqs(be,ae,w); %求橢圓型濾波器頻率響應

%作圖plot(we/pi,20*log10(abs(he)),'g');

axis([0 max(we/pi) -30 2]);

legend('巴特沃斯濾波器','切比雪夫i型濾波器','切比雪夫ii型濾波器','橢圓型濾波器');

xlabel('角頻率/');

ylabel('幅值/db');

line([0 max(we/pi)],[-20 -20],'color','k','linestyle','--');

line([0 max(we/pi)],[-1 -1],'color','k','linestyle','--');

line([0.15 0.15],[-30 2],'color','k','linestyle','--');

line([0.4 0.4],[-30 2],'color','k','linestyle','--');

執行結果如下:

巴特沃斯濾波器 n=    4

切比雪夫i型濾波器 n= 3

切比雪夫ii型濾波器 n= 3

橢圓型濾波器 n= 2

matlab帶阻濾波器設計

程式設計 任務書中給出的要求為中心頻率200hz,頻寬150hz。故設上通帶截止頻率為110hz,下通帶截止頻率290hz,阻帶上限頻率140hz,阻帶下限頻率260hz。此處僅以boxcar窗為示例,其他窗函式的程式 基本相同,只是在window boxcar n n ceil 1.8 pi de...

論高通濾波器,帶阻濾波器,陷波濾波器

首先,對一副影象進行如下二維傅利葉變換。我們將u 0和v 0帶上式,我們可以得到如下式子。根據上式,可以到f 0,0 的值是非常大的。這裡,我們將 f 0,0 稱為直流分量,直流分量比其他的成分要大好幾個數量級。所以,這也就是傅利葉譜為什麼需要使用對數變換才能看清楚的原因。這裡,對於高通濾波器而言,...

matlab設計濾波器

陳懷琛的 數字訊號處理教程 matlab釋義與實現 從效能上來說,iir濾波器傳遞函式包括零點和極點兩組可調因素,對極點的惟一限制是在單位圓內。因此可用較低的階數獲得高的選擇性,所用的儲存單元少,計算量小,效率高。但是這個高效率是以相位的非線性為代價的。選擇性越好,則相位非線性越嚴重。fir濾波器傳...