在Matlab中設計梳狀濾波器

2021-10-02 16:56:56 字數 1145 閱讀 1321

一、梳狀濾波器函式

1,[b, a] = iirnotch(wo, bw, ab)

wo:要清除頻率;

bw:頻寬;

ab:頻寬邊緣處增益值,單位db,預設值-3db。

2,[b, a] = iircomb(n, bw, ab, 『type』);

n:濾波器階數;

bw:頻寬;

ab:增益值;

type:字串,』 notch』 或者 』 peak』,對應陷波濾波器或者峰值濾波器。

兩個函式輸出相同,給出的都是數字濾波器直接型ii表示形式中的係數b和a。有了b和a,濾波器濾波特性就確定了。要對訊號濾波呼叫filter函式即可。

二、matlab中的舉例

1,iirnotch舉例

設計乙個數字濾波器,濾除訊號中頻率為60hz的頻譜成分。設訊號取樣頻率為300hz,濾波器品質因素為35。

matlab**如下

fs = 300;

fo = 60;

q  = 35;

wo = fo/(fs/2);

bw = wo/q;

[b, a] = iirnotch(wo, bw);

freqz(b, a, 1024);

執行結果如下圖所示。上圖為濾波器幅頻特性,下圖為相頻特性。

2,iircomb舉例

要求同上,設計乙個10階的梳狀濾波器。matlab**如下

fs = 300;

fo = 60;

q = 35;

wo = fo/(fs/2);

bw = wo/q;

[b, a] = iircomb(10, bw,

'notch');

freqz(b, a, 1024);

執行結果如下圖所示。上圖是幅頻特性,下圖是相頻特性。

上述**可以直接執行,不妨試試。以後再遇到梳狀濾波器設計就輕車熟路了。 

一起學習,共同提高!

matlab設計濾波器

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

手把手教系列之梳狀濾波器設計實現

前文所說學習的倡導2w1h原則,思來想來並不全面,本文決定從what why where when how幾個維度展開。我稱之為4w1h學習法,借鑑管理學領域中的5w1h,起源於1932年,美國政治學家拉斯維爾提出 5w分析法 後延伸出5w1h法。有興趣的可以找來閱讀,題外話技術人員讀一些方 管理學...

matlab設計低通濾波器

輸入 被白雜訊汙染的正弦訊號,fs 100khz,訊號頻率為10khz,雜訊訊號為20khz,現在要濾掉20khz的正弦訊號 clear all fs 100000 t 0 1 fs 0.003 f1 10000 f2 20000 signal1 sin 2 pi f1 t signal2 sin ...