廖醒宇 侯博
摘 要:針對Matlab體積龐大、并非自由軟件、價格昂貴等一系列問題,該文采用了一種體積小巧、完全開源、免費但功能強大的Scilab平臺來設(shè)計不同類型的數(shù)字濾波器。首先介紹了Scilab軟件平臺功能與特點,闡述了利用雙線性變換法以及Minmax準則設(shè)計數(shù)字濾波器設(shè)計的相關(guān)原理與特點。然后通過Scilab采用相應(yīng)方法分別設(shè)計了相應(yīng)的IIR與FIR數(shù)字濾波器。最后,對設(shè)計進行了仿真。結(jié)果表明,采用Scilab所設(shè)計的數(shù)字濾波器簡單可靠,滿足各個頻率域滿足所要求的技術(shù)指標,同時驗證了雙線性變換法以及Minimax法則在設(shè)計數(shù)字濾波器上的特點。
關(guān)鍵詞:數(shù)字濾波器 Scilab Matlab 軟件仿真
中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2015)07(a)-0030-03
在圖像處理、信息通信、控制、生物醫(yī)學、等眾多領(lǐng)域,經(jīng)常需要對信源進行濾化、測量以及參數(shù)估算等處理[1]。為此,數(shù)字濾波器顯得極其重要。其設(shè)計方法大體分為硬軟件兩種方式,而軟件設(shè)計方式具有直接通過濾波器參數(shù)的改變來調(diào)整濾波器性能的優(yōu)點[2]。
Scilab(Scientific Laboratory)是由法國國家信息、自動化研究院(INRIA)開發(fā)的一種數(shù)學工程計算軟件,就基本功能如工程計算、模型構(gòu)建、信號處理、優(yōu)化處理、自動控制等各個方面,Matlab能完成的工作Scilab都可以實現(xiàn)[3]。相比Matlab,Scilab體積更小,并且開源免費。
該文主要探討基于Scilab的數(shù)字濾波器的設(shè)計與仿真,為數(shù)字濾波器提供了新的設(shè)計環(huán)境與語言參考。
1 數(shù)字濾波器的設(shè)計
數(shù)字濾波器按單位脈沖響應(yīng)長度分,可以分為無限長單位脈沖響應(yīng)(IIR)和有限長單位脈沖響應(yīng)(FIR)濾波器。
1.1 IIR數(shù)字濾波器
通常IIR數(shù)字濾波器的系統(tǒng)傳遞函數(shù)如下。
通常,,這類系統(tǒng)稱為N階系統(tǒng),而當時, 可看成是一個(M-N)階的FIR子系統(tǒng)與一個N階IIR子系統(tǒng)級聯(lián)。通過求取系數(shù)和,使通帶起伏以及阻帶衰減或者采用最優(yōu)化準則在規(guī)定意義上在z平面上逼近要求特性,則可獲得IIR數(shù)字濾波器。
1.2 雙線性變換法設(shè)計IIR濾波器原理
雙線性變換法首先將平面完整壓縮變換到中介平面的之間,再通過寬度為的壓縮域變換到整個z平面上,這樣建立了s平面與z平面一一對應(yīng)的關(guān)系,如圖1所示[5]。
其中,表示FIR濾波器單位脈沖響應(yīng)的長度,為的N-1次多項式,從系統(tǒng)函數(shù)可以看出,它在z平面上有N-1個零點,在原點z=0處有一個N-1重極點,故FIR數(shù)字濾波器具有內(nèi)稟穩(wěn)定性。常見的設(shè)計方法有窗函數(shù)法[4]、Minmax法等。
1.4 Minimax準則設(shè)計FIR數(shù)字濾波器原理
Minimax準則設(shè)計FIR數(shù)字濾波器法又稱切比雪夫等紋波逼近法。由于誤差性能在通帶和阻帶的要求不同,為使用Minimax準則統(tǒng)一化,采用誤差函數(shù)加權(quán),使不同頻段加權(quán)誤差最大值相等[5-6]。設(shè)給定設(shè)計的濾波器頻率響應(yīng)幅度函數(shù)為,用四種(即奇偶長度,奇偶對稱兩兩組合)線性相位FIR濾波器之一的幅度函數(shù)做逼近函數(shù)。另設(shè)逼近誤差加權(quán)函數(shù)為,則加權(quán)逼近誤差函數(shù)定義為上式即為加權(quán)誤差函數(shù)。想要系統(tǒng)設(shè)計最優(yōu)等紋波濾波器,除了加權(quán)誤差函數(shù)外,還應(yīng)注意以下幾點:
(1) 確定濾波器采樣點個數(shù)n。
(2) 確定加權(quán)逼近誤差函數(shù)極值數(shù)目。
(3) 建立頻率修正算法。多次迭代處理,直至滿足規(guī)定精度。
2 Scilab 設(shè)計數(shù)字濾波器
該節(jié)將介紹Scilab分別采用雙線性變換法、Minimax準則設(shè)計相應(yīng)的IIR和FIR數(shù)字濾波器。
2.1 雙線性變換法設(shè)計IIR數(shù)字濾波器
其中:order為所設(shè)計FIR?濾波器的階數(shù);fredge為M?*?2?的矩陣,矩陣的每行為一頻率段;des為給出每段頻率區(qū)間期望的幅值響應(yīng);weight為每個頻率段的加權(quán)系數(shù)向量,需要注意的是,這里頻率都已歸一化。由于采樣頻率被歸一化為1,所以截止頻率不能超過0.5。其仿真圖如圖3所示。
由圖可知,在阻帶衰減呈現(xiàn)等紋波特性,幅值衰減大于65dB,通帶衰減小于3dB,滿足技術(shù)指標要求。
3 結(jié)語
現(xiàn)有的很多設(shè)計和仿真分析主要通過Matlab來實現(xiàn)。然而對于一些基本應(yīng)用,Matlab則凸顯出得體積龐大、不經(jīng)濟等缺點?;谝陨显?,該文針對數(shù)字濾波器的設(shè)計與仿真這一典型應(yīng)用,原理上進行了分析和闡述,同時在設(shè)計與仿真上采用一種體積小巧、完全開源、免費但功能同樣強大的Scilab平臺來實現(xiàn)。為數(shù)字濾波器的設(shè)計與仿真提供了新的設(shè)計平臺與方法參考。
參考文獻
[1] 聶光偉.基于Matlab的IIR數(shù)字濾波器的設(shè)計方法[J].科技創(chuàng)新導(dǎo)報,2009,14(19):18-20.
[2] 張雄偉,沉亮.dsp芯片的原理與開發(fā)應(yīng)[M].(第3版)北京:電子工業(yè)出版社,2003:1.
[3] 胡包鋼,趙星.科學計算自由軟件:SCILAB教程[M].北京:清華大學出版社,2003.
[4] 謝援朝.自動控制原理與仿真:Scilab應(yīng)用[M].北京:中國電力出版社,2012.
[5] 李在林,陳坤.基于MATLAB的數(shù)字濾波器設(shè)計方法的分析[J].信息通信,2015,10(5):17-18.
[6] 程佩青.數(shù)字信號處理[M].3版.北京:清華大學出版社,2007.