繼續(xù)講解!上堂課講到FIR濾波器的線性相位特點(diǎn),分析了線性相位帶來的延時特性。本堂課繼續(xù)講解FIR濾波器的幅度特性,再理論聯(lián)系實(shí)際的看看FIR濾波器到底長什么樣?有什么用?聽我慢慢道來。
在MATLAB自帶的函數(shù)中,有fir1和fir2函數(shù)。前者是是用窗函數(shù)法設(shè)計線性相位FIR的工具箱函數(shù),以實(shí)現(xiàn)線性相位FIR的標(biāo)準(zhǔn)窗函數(shù)法設(shè)計。后者是基于頻率基本法的FIR濾波器設(shè)計,用于任意頻率響應(yīng)的加窗數(shù)字FIR濾波器的設(shè)計。
信號通常是一維數(shù)組,可以用fir1和fir2函數(shù)處理。二維數(shù)組處理方式會有些差異。圖像處理中會涉及二維數(shù)組的處理,這里只是提一下,能讓同學(xué)們有個了解。二維數(shù)據(jù)主要是圖像數(shù)據(jù),圖像濾波主要用imfilter函數(shù)??梢杂胒special函數(shù)預(yù)定義各種二維濾波器。這些知識會在《數(shù)字圖像處理》課程中詳細(xì)講解,這里不再贅述。
講完這些理論,來一些涉及程序仿真的內(nèi)容,看看理論能不能聯(lián)系實(shí)際!
信號中經(jīng)?;煊懈鞣N復(fù)雜成分,有需要的成分,也有不需要的成分。很多信號分析都是基于濾波器而進(jìn)行, 因此數(shù)字濾波器占有極其重要的地位 。數(shù)字濾波器是具有一定傳輸選擇特性的數(shù)字信號處理裝置,其輸入與輸出均為數(shù)字信號實(shí)質(zhì)上是一個由有限精度算法實(shí)現(xiàn)的線性時不變離散系統(tǒng)。
它的基本工作原理是利用離散系統(tǒng)特性對系統(tǒng)輸入信號進(jìn)行加工和變換,改變輸入序列的頻譜或信號波形,讓有用頻率的信號分量通過,抑制無用的信號分量輸出。數(shù)字濾波器和模擬濾波器有著相同的濾波概念,根據(jù)其頻率響應(yīng)特性可分為低通、高通、帶通、帶阻等類型。
與模擬濾波器相比,數(shù)字濾波器除了具有數(shù)字信號處理固有優(yōu)點(diǎn)外,還有精度高、穩(wěn)定性好、靈活性強(qiáng)等優(yōu)點(diǎn)。FIR濾波器具有線性相位,但它的傳遞函數(shù)的極點(diǎn)固定在原點(diǎn),只能通過改變零點(diǎn)位置來改變性能,為了達(dá)到高的選擇性必須用較高的階數(shù)。對于同樣的濾波器設(shè)計指標(biāo),F(xiàn)IR濾波器要求的階數(shù)可能比IIR濾波器高10倍以上。
由于FIR數(shù)字濾波器具有嚴(yán)格的相位特性,對于信號處理和數(shù)據(jù)傳輸是很重要的。目前 FIR濾波器的設(shè)計方法主要有三種:窗函數(shù)法、頻率抽樣法和優(yōu)化設(shè)計(切比雪夫逼近)方法。我們重點(diǎn)學(xué)習(xí)窗函數(shù)法。上堂課也簡單提及了一下!
看看結(jié)果吧!
在第一版文章中,對fir2函數(shù)的描述有錯誤。這個函數(shù)不是用來處理二維數(shù)組的!它可以用于設(shè)計有任意頻率響應(yīng)的加窗FIR濾波器。對標(biāo)準(zhǔn)的低通、帶通、高通和帶阻濾波器的設(shè)計可使用fir1函數(shù)。
語法:b = fir2(n,f,m)
設(shè)計出一個n階的FIR濾波器。其濾波器的頻率特性由參數(shù)f和m決定。參數(shù)f為頻率點(diǎn)矢量,且f∈[0,1],f=1對應(yīng)于0.5fs。矢量f按升序排列,且第一個元素必須是0,最后一個必須為1,并可以包含重復(fù)的頻率點(diǎn)。
矢量m中包含了與f相對應(yīng)的期望得到的濾波器的幅度。f為歸一化頻率向量。舉例如下:設(shè)計一個100階的低通濾波器。運(yùn)行一下下圖中的代碼,看看能出什么結(jié)果?
如果要求設(shè)計一個奇怪形狀的濾波器呢?
比如設(shè)計一個80階的FIR濾波器,要求濾波器0到π/4的幅度響應(yīng)為0 ,π/4到π/2的幅度響應(yīng)為1/4,π/2到3π/4的幅度響應(yīng)為0,3π/4到1的幅度響應(yīng)為1。采用切比雪夫窗。該怎么寫程序呢?
有程序有圖就有真正的理解!
再回到二維數(shù)組的話題!之前學(xué)過的卷積和濾波函數(shù)都是針對一維數(shù)組使用,那么能針對二維數(shù)組嗎?在MATLAB中,filter2 函數(shù)實(shí)現(xiàn)二維數(shù)字濾波器。conv2 函數(shù)實(shí)現(xiàn)二維卷積。之前本人搞混淆了,記成了fir2是用來實(shí)現(xiàn)二維數(shù)字濾波器的函數(shù),在此更正一下!
現(xiàn)在Python非常流行,很多人也會使用Python來完成信號處理的仿真。提示一下。在 Python中,MATLAB filter2的等效函數(shù)是 scipy.signal.correlate2d。MATLAB conv2的等效函數(shù)是 scipy.signal.convolve2d。要先安裝scipy庫文件,才能調(diào)用這兩個函數(shù)。
數(shù)字信號處理理論的發(fā)展過程很緩慢,因?yàn)橹暗目茖W(xué)家已經(jīng)研究的很透徹了,但軟件的發(fā)展一直在加速。應(yīng)用什么樣的軟件來進(jìn)行數(shù)字信號處理的仿真可以根據(jù)自己的喜好來選擇。我個人推薦MATLAB,相關(guān)仿真的文章在本公眾號里面可以找到!但是針對數(shù)據(jù)分析呢?我推薦Python。在語言類分析的場合,它更是功效無窮!本章完結(jié)!
審核編輯:劉清
-
數(shù)字濾波器
+關(guān)注
關(guān)注
4文章
270瀏覽量
47026 -
FIR
+關(guān)注
關(guān)注
4文章
146瀏覽量
33174 -
fir濾波器
+關(guān)注
關(guān)注
1文章
95瀏覽量
19043 -
MATLAB函數(shù)
+關(guān)注
關(guān)注
0文章
4瀏覽量
5163
原文標(biāo)題:數(shù)字信號處理v2 第七章 FIR數(shù)字濾波器的設(shè)計方法(2)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論