MATLAB學習之濾波器設計

2021-07-08 16:00:44 字數 2772 閱讀 1407

matlab

進製之間的轉換

1.    十進位制整數轉二進位制函式dec2bin

如果已知絕對值小於1的十進位制數d,如何轉換成b位元的二進位制數原碼?

dec2bin(round(abs(d)*2^(b-1))+(2^(b-1))*(d<0),b)

2.    十進位制整數轉換成補碼形式的二進位制數

dec2bin(round(d*2^(b-1))+2^b*(d<0),b)

規定:窗函式以w_開頭(window),濾波器係數以b_開頭,量化濾波器係數以q_開頭(quantization),頻率響應(db單位)以f_開頭(就相當於頻率響應的縱座標f)

fir濾波器的matlab設計

一.   採用fir1

採用了窗函式設計方法

語法如下:

各項引數意義:

b:返回的fir濾波器單位脈衝響應,脈衝響應為偶對稱,長度為n+1

n:濾波器的階數,需要注意的是,設計出的濾波器長度為n+1

wn:濾波器的截止頻率(歸一化)。需要注意的是,wn的取值範圍為0

如果wn是單個數值,且ftype引數為low,則表示設計截止頻率為wn的低通濾波器,如ftype引數為high,則表示設計截止頻率為wn的高通濾波器;

如果wn是由兩個數組成的向量[wn1,wn2],ftype為stop,則表示設計帶阻濾波器,ftype為bandpass,則表示設計帶通濾波器;

如果wn是由多個數組成的向量,則表示根據ftype的值設計多個通帶或阻帶範圍的濾波器,ftype為dc-1,表示設計的第乙個頻帶為通帶,ftype為dc-0,表示設計的第乙個頻帶為阻帶。

4.window:指定使用的窗函式向量,預設為海明窗(hamming),最常用的窗函式有漢寧窗(hanning),海明窗(hamming),布拉克曼窗(blackman)和凱塞窗(kaiser),可通過輸入help window查詢(當凱塞窗函式的貝塔值取7.856時,凱塞窗具有最好的效能)

5.noscale:指定是否歸一化濾波器的幅度

注意:fir1函式智慧型選擇濾波器的截止頻率和階數,不能選擇濾波器通帶,阻帶衰減,過渡頻寬等引數。

二.   採用kaiserord函式設計

語法如下:[n,wn,beta,filtype]=kaiserord(f,a,dev,fs)

引數意義:

f及fs:f是乙個向量,其中的元素為待設計濾波器的過渡帶的起始點和結束點。如果沒有fs引數,f中元素的取值範圍為0~1,即相對於取樣頻率一半的歸一化頻率;如果有fs引數,則fs為訊號取樣頻率,f中元素即為實際的截止頻率。如,設計濾波器的過渡頻寬為1000~1200hz,2000~2100hz,訊號取樣頻率為8000hz;如沒有設定fs引數,則f=[0.25 0.3 0.5 0.525];如設定fs為8000,則f=[1000 1200 2000 2100]

a:指定這些頻率段的理想幅度值。通帶為1,阻帶為0.a與f相對應。以上例子,應該設定為a=[1 0 1],則表示設計帶阻濾波器。

dev:指定通帶或阻帶內的容許誤差。同樣是上面的例子,要求通帶容許誤差為0.01,阻帶容許誤差為0.02,則dev=[0.01 0.02 0.01]

n:n為濾波器的最小階數

wn:得到濾波器的截止頻率點

beta:計算得到的beta值

ftype:獲得濾波器的型別引數

三.   採用fir2函式設計

使用fir2函式,可以完成任意響應濾波器的設計,即濾波器的幅度頻率響應在指定的頻段範圍內有不同的幅值。,如在0~0.1的理想幅值為1,0.2~0.4的幅值為0.5等。

語法如下:

引數意義:

n及b:濾波器的階數。注意,根據fir濾波器的結構特點,當設計的濾波器在歸一化頻率為1處的幅度值部位0時,n不能為奇數。

f及m:f的取值為0~1,對應於濾波器的歸一化頻率,m用於設定對應頻段範圍內的理想幅值。如要求的濾波器在0~0.125內幅值為1,0.125~0.25為0.5,0.25~0.5為0.25,0.5~1為0.125,則f=[0 0.125 0.125 0.25 0.25 0.5 0.5 1],m=[1 1 0.5 0.5 0.25 0.25 0.125 0.125]

windom:指定窗函式的種類,其長度為濾波器長度n+1,預設為海明窗。

npt:指定在對幅度響應進行插值的插值點個數,其預設為512

lap:指定對幅度響應進行插值時,對於不連續點轉變成連續時的點數,其預設值是25

區別:1.stem和plot

stem是離散函式,plot是連續函式

常用的訊號處理函式:

1.    隨機訊號函式

隨機訊號函式:rand(1,n)和randn(1,n)

2.    方波訊號函式

square(t)和square(t,duty),其實duty為正值區域在乙個週期的比例,如duty=50時,產生方波。

3.    鋸齒波訊號函式

sawtooth(t)和sawtooth(t,width)

4.    正弦波訊號函式

sin(2*pi*f*t)

常用訊號分析級處理函式

1.    濾波函式

filter(b,a,x):分子項係數依次從大到小排列成乙個行矩陣b,分母項係數依次從大到小排列成乙個行矩陣a,x為輸入訊號序列。

2.    單位抽樣響應函式

impz(b,a,p),其中a,b同上,p為計算的資料點數

3.    頻率抽樣響應函式

freqz(b,a,n,fs): 其中a,b同上,n為在[0 fs/2]範圍內計算的頻率點數量,fs為取樣頻率。

4.    零極點增益函式

root函式計算系統的零極點,zplane函式畫出系統的零極點。

matlab設計濾波器

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

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 ...

matlab帶阻濾波器設計

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