摘要:數(shù)字濾波器作為信號處理一項關(guān)鍵技術(shù)是數(shù)字信號處理的重要基礎(chǔ),在對信號的過濾、檢測、與參數(shù)估算等處理過程中,它是使用最為廣泛的一種線性系統(tǒng)。而就目前來看,常見的數(shù)字濾波器有FIR和IIR數(shù)字濾波器,可以利用MATLAB軟件輕松完成濾波器的設(shè)計?;谶@種認識,本文對基于MATLAB的FIR和IIR數(shù)字濾波器的設(shè)計問題展開了研究,從而為關(guān)注這一話題的人們提供參考。
關(guān)鍵詞:MATLAB FIR IIR 數(shù)字濾波器 設(shè)計
中圖分類號:TN911-34 文獻標識碼:A 文章編號:1007-9416(2016)10-0165-01
MATLAB作為語言簡練和使用方便的仿真設(shè)計軟件,在數(shù)字信號處理中得到了廣泛應(yīng)用。而利用該軟件進行FIR和IIR數(shù)字濾波器的設(shè)計,則能夠利用其信號處理工具箱快速實現(xiàn)濾波器的分析和設(shè)計,并且能夠?qū)V波器的濾波效果進行仿真分析,因此可以為相關(guān)工作的開展提供便利。
1 基于MATLAB的FIR數(shù)字濾波器設(shè)計
1.1 FIR數(shù)字濾波器概述
FIR數(shù)字濾波器又被稱之為有限脈沖響應(yīng)數(shù)字濾波器,是基礎(chǔ)性元件,在數(shù)字信號處理方面得到了廣泛應(yīng)用。從特點上來看,輸入該種濾波器的數(shù)字信號擁有任意幅頻特性,但是輸出的信號卻能夠保持嚴格線性。由于其具有有限長的脈沖采樣相應(yīng)特性,所以工作穩(wěn)定,但濾波過程消耗的運算時間較長。從原理上來看,經(jīng)過A/D轉(zhuǎn)換器,模擬信號將被轉(zhuǎn)化為數(shù)字信號,并且進入濾波器得到處理。而濾波器將輸出長串數(shù)據(jù)序列,可以外接D/A轉(zhuǎn)換器將其轉(zhuǎn)化為模擬信號。
1.2 FIR數(shù)字濾波器設(shè)計
在設(shè)計FIR數(shù)字濾波器時,可以使用窗函數(shù)設(shè)計法。具體來講,就是先進行理想濾波器頻率響應(yīng)的設(shè)定,然后由頻率響應(yīng)導(dǎo)出對應(yīng)單位樣值響應(yīng)??紤]到頻率響應(yīng)是矩形頻率特性,所以單位樣值響應(yīng)將為無限長序列。在設(shè)計時,F(xiàn)IR濾波器的單位樣值響應(yīng)應(yīng)為有限長,所以還要利用有限長響應(yīng)進行無限長的響應(yīng)的逼近。為達成這一目的,還要使用窗函數(shù)進行單位樣值響應(yīng)的截斷。
按照上述設(shè)計思路,需要先進行頻率響應(yīng)函數(shù)Hd(ejw)的設(shè)定,然后通過傅里葉反變換將其轉(zhuǎn)化為hd(n)=IDTFT[Hd(ejw)]。在此基礎(chǔ)上,根據(jù)阻帶最小衰減和過濾帶寬要求,可以進行窗函數(shù)w(n)形狀的選定,并且進行濾波器長度N的選定[1]。通常的情況下,需要經(jīng)過多次試探后,才能確定N。得到的FIR數(shù)字濾波器的單位樣值響應(yīng)h(n)=hd(n)*w(n),n=0,1,...,N-1。經(jīng)過計算,則能夠得到Hd(ejw)=DTFT[h(n)]。最后,需要檢查得到的結(jié)果是否滿足設(shè)計要求。
在實際使用MATLAB進行設(shè)計時,需要在Filter Type中進行帶通濾波器的選擇,然后在設(shè)計方法選項中進行FIR Window的選擇,并且進行Hamming窗的選取。使用該方法,只要給出下限截止頻率和上限截止頻率,然后進行Design Filter的點擊,就能夠得到FIR數(shù)字濾波器。
2 基于MATLAB的IIR數(shù)字濾波器設(shè)計
2.1 IIR數(shù)字濾波器概述
IIR數(shù)字濾波器為離散時間系統(tǒng),擁有較好的幅頻特性,但是輸出的信號的相位為非嚴格線性。設(shè)計該種數(shù)字濾波器,就是對濾波器的系數(shù)進行求解,類似于數(shù)學(xué)的逼近問題。如果在S平面上進行逼近,就能得到模擬濾波器。在z平面上進行逼近,得到的就是數(shù)字濾波器。
2.2 IIR數(shù)字濾波器設(shè)計
就目前來看,IIR數(shù)字濾波器設(shè)計可以采取兩種方法。一方面,可以先進行模擬濾波器的設(shè)計,然后將其轉(zhuǎn)換為數(shù)字濾波器。采取該種設(shè)計方法,不僅可以使用完整的設(shè)計公式,還能夠進行圖表查閱。另一方面,也可以直接在時域或頻率中進行濾波器設(shè)計[2]。但是,由于需要進行聯(lián)立方程的求解,所以還要利用計算機完成輔助設(shè)計。具體來講,就是先進行過濾模擬濾波器的設(shè)計,從而獲得系統(tǒng)函數(shù)。將函數(shù)轉(zhuǎn)化為數(shù)字濾波器的系統(tǒng)函數(shù)后,則能夠完成數(shù)字濾波器的設(shè)計。
使用MATLAB進行IIR數(shù)字濾波器設(shè)計,需要先尋求一個模擬低通濾波器,濾波器截止頻率為1。將這個濾波器的原型轉(zhuǎn)換為需要的帶寬結(jié)構(gòu),然后就可以將其變換為數(shù)字濾波器。最后,還要對濾波器進行離散化處理。
在實際設(shè)計時,還要使用MATLAB中的FDATOOL工具箱。在FDATOOL界面上,可以利用Design Filter進行濾波器的生成,并利用界面下半部完成濾波器設(shè)計參數(shù)的設(shè)置,然后利用界面的上半部進行濾波器特性的顯示。完成濾波器的設(shè)計后,可以使用SIMUL
INK軟件進行濾波器信號傳輸?shù)姆抡鎇3]。具體來講,就是先建立一個Model,然后完成環(huán)節(jié)庫和框圖的建立,并且進行Source的查找和雙擊。而將信號源拉到Model后,進行離散正弦信號源的查找,并且將設(shè)計的濾波器模塊拉倒Model中,就能得到仿真框圖和濾波器的濾波效果。
3 結(jié)語
總之,在數(shù)字信號處理領(lǐng)域,F(xiàn)IR和IIR數(shù)字濾波器具有一定的優(yōu)越性。使用MATLAB進行濾波器的設(shè)計,則能夠完成各種常規(guī)數(shù)字濾波器的快速設(shè)計,并且能夠通過調(diào)整設(shè)計參數(shù)實現(xiàn)最優(yōu)設(shè)計。因此,相信本文對利用MTLAB進行FIR和IIR數(shù)字濾波器設(shè)計的問題展開的探討,可以為相關(guān)工作的開展提供指導(dǎo)。
參考文獻
[1]耶曉東.基于Matlab的IIR數(shù)字濾波器設(shè)計及DSP實現(xiàn)[J].電子設(shè)計工程,2011,09:175-177.
[2]趙穎,劉祖深,李勝寅.基于MATLAB的FIR數(shù)字濾波器的方法設(shè)計[J].國外電子測量技術(shù),2012,10:35-37.
[3]施琴紅,趙明鏡.基于MATLAB/FDATOOL工具箱的IIR數(shù)字濾波器的設(shè)計及仿真[J].科技廣場,2010,07:56-58.
收稿日期:2016-08-19
作者簡介:徐璐(1983—),女,江西南昌人,碩士,講師,研究方向:單片機應(yīng)用技術(shù)。