實驗六用窗函式設計fir濾波器
1.實驗目的
(1) 熟悉fir濾波器設計的方法和原理
(2) 掌握用窗函式法設計fir濾波器的方法和原理,熟悉濾波器的特性
(3) 了解各種窗函式濾波器特性的影響
2.實驗原理
fir濾波器的設計方法主要有三種:窗函式法、頻率取樣法、切比雪夫等波紋逼近法。fir濾波器的設計是要尋求一系統函式,使其頻率響應[)', 'altimg':
'', 'w': '63', 'h': '22'}]逼近濾波器要求的理想頻率響應[(e^)', 'altimg':
'', 'w': '72', 'h': '24'}],其對應的單位脈衝響應[(n)', 'altimg':
'', 'w': '55', 'h': '23'}]。
(1)用窗函式設計fir濾波器的基本方法
在時域用乙個窗函式擷取理想的[(n)', 'altimg': '', 'w': '55', 'h':
'23'}]得到,以有限長序列近似逼近理想的[(n)', 'altimg': '', 'w': '55', 'h':
'23'}];在頻域用理想的[(e^)', 'altimg': '', 'w': '72', 'h':
'24'}]在單位圓上等角度取樣得到h(k),根據h(k)得到h(z)將逼近理想的hd(z)。
設理想濾波器[(e^)', 'altimg': '', 'w': '72', 'h':
'24'}]的單位脈衝響應為[(n)', 'altimg': '', 'w': '55', 'h':
'23'}]。以低通線性相位fir數字濾波器為例。
[(n)', 'altimg': '', 'w': '55', 'h':
'23'}]一般是無限長的、非因果的,不能直接作為fir濾波器的單位脈衝響應。要想得到乙個因果的有限長的濾波器h(n),最直接的方法是截斷[(n)w(n)', 'altimg': '', 'w':
'163', 'h': '23'}],即擷取為有限長因果序列,並用合適的窗函式進行加權作為fir濾波器的單位脈衝響應。按照線性相位濾波器的要求,h(n)必須是偶對稱的。
對稱中心必須等於濾波器的延時常數,即
用矩形窗設計的fir低通濾波器,所設計濾波器的幅度函式在通帶和阻帶都呈現出振盪現象,且最大波紋大約為幅度的9%,(現象稱為吉布斯(gibbs)效應)。
(2)典型的窗函式
(a)矩形窗(rectangle window)
其頻率響應和幅度響應分別為:
[)=\\frace^}', 'altimg': '', 'w': '254', 'h':
'44'}],[(ω)=\\frac', 'altimg': '', 'w': '185', 'h':
'44
在matlab中呼叫w=boxcar(n)函式,n為窗函式的長度
(b)三角形窗(bartlett window)
其頻率響應為:[)=\\frac[\\frac]^e^}', 'altimg': '', 'w': '299', 'h': '44
在matlab中呼叫w=triang(n)函式,n為窗函式的長度
(c)漢寧(hanning)窗,又稱公升余弦窗
其頻率響應和幅度響應分別為:
在matlab中呼叫w=hanning(n)函式,n為窗函式的長度
(d)漢明(hamming)窗,又稱改進的公升余弦窗
其幅度響應為:[(ω)+0.23[w_(ω\\frac)+w_(ω+\\frac)]', 'altimg': '', 'w': '518', 'h': '43'}]
在matlab中呼叫w=hamming(n)函式,n為窗函式的長度
(e)布萊克曼(blankman)窗,又稱二階公升余弦窗
其幅度響應為:[(ω)+0.25[w_(ω\\frac)+w_(ω+\\frac&\\begin&\\\\ \\end\\\\ \\end+0.
04[w_(ω\\frac)+w_(ω+\\frac)]', 'altimg': '', 'w': '517', 'h':
'88'}]
在matlab中呼叫w=blackman(n)函式,n為窗函式的長度
(f)凱澤(kaiser)窗
其中:β是乙個可選引數,用來選擇主瓣寬度和旁瓣衰減之間的交換關係,一般說來,β越大,過渡帶越寬,阻帶越小衰減也越大。i0(·)是第一類修正零階貝塞爾函式。
在matlab中呼叫w=kaiser(n,beta),函式n為窗函式的長度,beta為窗函式的引數。
(3)利用窗函式設計fir濾波器的具體步驟如下:
(a)根據具體的效能要求通過對過渡帶寬度△ω及阻帶衰減as,等引數的分析選擇合適的窗函式,並估計濾波器的長度n。
(b)由給定的濾波器的幅頻響應引數求出理想的單位脈衝響應[(n)', 'altimg': '', 'w': '55', 'h': '23'}]。
(c)確定延時值, 計算濾波器的單位取樣響應,[(n)w(n)', 'altimg': '', 'w': '163', 'h': '23'}].
(d)驗證技術指標是否滿足要求。分析所設計的濾波器的幅頻特性。
3.實驗內容及其步驟
(1)實驗前認真複習有關fir濾波器設計的有關知識,尤其是窗函式的有關內容,熟悉窗函式及fir濾波器的特性,掌握窗函式設計濾波器的具體步驟。
(2)編制窗函式設計fir濾波器的主程式及相應子程式。繪製幅頻和相位曲線,觀察幅頻和相位特性曲線的變換情況,注意長度n對曲線的影響。
(3)用窗函式法設計濾波器,並滿足一定的效能指標。
例一:利用fir1設計標準頻率響應的fir濾波器,包括低通、帶通、高通、帶阻等型別的濾波器。
b=fir1(n, wn, 』ftype』)
通帶邊界頻率[=0.5π', 'altimg': '', 'w':
'84', 'h': '24'}],阻帶邊界頻率[=0.66π', 'altimg':
'', 'w': '95', 'h': '23'}],阻帶衰減不小於40db,通帶波紋不大於3db。
參考:根據對濾波器的指標要求,阻帶衰減不小於40 db,選擇漢寧窗。
%基於窗函式設計fir濾波器
wp=0.5*pi;ws=0.66*pi; %效能指標
wdelta=ws-wp過渡帶寬度
n=ceil(3.11*pi/wdelta濾波器長度
nw=2*n+1視窗長度
wc=(ws+wp)/2截止頻率
win=hanning(nw漢寧窗的時域響應
b=fir1(nw-1,wc/pi,win); %fir1是基於加窗的線性相位fir數字濾波器設計函式。n-1為濾波器的階數。win為窗函式,是長度為n的列向量,預設是函式自動取hamming。
freqz(b,1,512為求取頻率響應。分子為b,分母為1
實驗結果圖如圖所示:
例二:fir2設計任意響應的數字濾波器
濾波器的幅度頻率響應在不同的頻段範圍有不同的幅度值。
fir2函式用法:
b=fir2(n,f,m,npt,lap,window)
n是所設計濾波器的階數;f是0到1的正數向量,對應濾波器的頻率,其中0對應於頻率0,1對應於訊號取樣頻率的一半;m是乙個所有元素都是正實數向量,對應於m向量中頻率點的幅度;window是窗函式,fir2預設為海明窗;npt預設值為512;lap預設值為25;b是設計出來的濾波器的係數組成的乙個長度為n+1的向量。
要求設計乙個多帶濾波器:其在0到pi/8的幅度響應為1,在pi/8到2pi/8幅度響應為1/2,在2pi/8到4pi/8幅度響應為1/4,在4pi/8到6pi/8幅度響應為1/6,在6pi/8到pi幅度響應為1/8,並且濾波器的階數為60。畫出理想濾波器和設計得到的濾波器的幅度頻率響應進行比較。
參考:%多帶濾波器的設計
f=[0 0.125 0.125 0.250 0.250 0.500 0.500 0.750 0.750 1.00];
m=[1 1 0.5 0.5 0.25 0.25 1/6 1/6 0.125 0.125];
b=fir2(60,f,m);
[h,w]=freqz(b);
plot(f,m,w/pi,abs(h))
grid on;
legend('『理想濾波器','設計濾波器');
另外,還有乙個比較直觀的設計濾波器的方法,利用matlab裡的filter design & analysis tools設計濾波器比較直觀。
fliter type選擇低通,高通,帶通或者帶阻濾波器。
design method選擇iir還是fir濾波器,後面下拉列表選擇型別,程式裡採用的是加窗型別。
fliter order選擇濾波器的階數。
windows specifications是選擇窗函式型別。
然後設定抽樣頻率和截至頻率,然後點選design fliter就設計完成。
4.實驗用matlab函式介紹
在實驗過程中,matlab函式命令fir濾波器設計函式:fir1, fir2, kaiserord,remez, remezord, kaiser, hanning, hamming, blackman,freqz等在不同的情況下具體表述也有所不同,應該在實驗中仔細體會其不同的含義。
5.思考題
(1)在實驗中窗長和形狀對濾波器效能有何影響。
(2)利用窗函式法設計乙個線性相位fir低通濾波器,效能指標為:通帶截止頻率為0.2pi,帶阻截止頻率為0.
3pi,阻帶衰減不小於40db,通帶衰減不大於3db。編寫程式實現,並繪製圖形。
>> wp=0.2*pi;ws=0.3*pi;
>> wdelta=ws-wp;
>> n=ceil(3.11*pi/wdelta);
>> nw=2*n+1;
>> wc=(ws+wp)/2;
>> win=hanning(nw);
>> b=fir1(nw-1,wc/pi,win);
>> freqz(b,1,512)
>> [h,w]=freqz(b);
(3)設計乙個帶阻濾波器,帶阻為0.4到0.65 ,階數為34,並且使用乙個切比雪夫窗,並與預設的窗函式進行比較。
>> f=[0 0.4 0.4 0.65 0.65 1.0];
>> m=[1 1 0 0 1 1];
>> win=chebwin(35);
>> b1=fir2(34,f,m,win);
>> [h1,w]=freqz(b1);
>> b2=fir2(34,f,m);
>> [h2,w]=freqz(b2);
>> plot(f,m,w/pi,abs(h1),w/pi,abs(h2));grid on;
>> legend('理想濾波器','切比雪夫窗設計','預設海明窗設計');
6.實驗報告要求
(1)明確實驗目的以及實驗的原理。
(2)通過實驗內容進一步了解濾波器的設計方法。
(3)完成思考題的內容,對實驗結果及其波形圖進行分析對比,總結主要結論。
實驗四用窗函式法設計FIR濾波器
h,w freqz h,1 1024 求濾波器h n 的頻率響應 對fir而言,h z 分子分母多項式的係數向量b 1 a h 返回向量h的點數n 1024 db 20 log10 abs h eps 得到幅值 pha angle h 得到相位 繪製單位脈衝響應h n 幅頻衰減特性20lg h ej...
FIR數字濾波器的設計
實驗報告 專業班級電科0803姓名班雙江 學號 200848360304 實驗名稱 fir數字濾波器的設計 一 實驗目的 設計fir數字濾波器 二 實驗內容 設計乙個帶通fir數字濾波器,設計指標 通帶衰減1db,阻帶衰減40db,通帶截止頻率 500hz,700hz 阻帶截止頻率 400hz,80...
DSP課程設計報告FIR濾波器的設計
本科課程設計報告 課程名稱 dsp原理及應用 設計專案 fir濾波器的設計 實驗地點多學科樓機房 專業班級學號 學生姓名 指導教師 2012年1月8日 一 設計目的 1 掌握數字濾波器的設計過程 2 了解fir的原理和特性 3 熟悉設計fir數字濾波器的原理和方法 4 學習fir濾波器的dsp的實現...