黃宗衛(wèi)
(船舶重工集團(tuán)公司723所,揚(yáng)州 225001)
隨著微電子學(xué)和計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字濾波技術(shù)的應(yīng)用也越來越廣泛,這和數(shù)字濾波器的優(yōu)越性緊密相關(guān)。但是傳統(tǒng)的數(shù)字濾波器設(shè)計(jì)過程復(fù)雜,計(jì)算工作量大,特性調(diào)整困難,這在一定程度上制約了數(shù)字濾波器的發(fā)展。本文介紹了一種利用Matlab信號(hào)處理工具包中的FDAtool來設(shè)計(jì)有限長沖激響應(yīng)(FIR)數(shù)字濾波器的方法。利用這種方法來設(shè)計(jì)數(shù)字濾波器,可以隨時(shí)調(diào)整濾波器的濾波特性,并且濾波結(jié)果實(shí)時(shí)顯示在圖形區(qū),一目了然,極大地減輕了工作量,有利于濾波器設(shè)計(jì)的最優(yōu)化。
數(shù)字濾波器根據(jù)其沖激響應(yīng)的時(shí)域特征可分為2種:無限長沖激響應(yīng)濾波器和有限長沖激響應(yīng)濾波器。本文將以FIR為例來說明FDAtool帶來的極大便利。
很明顯,這是一個(gè)乘累加的函數(shù),只要知道了這個(gè)濾波器的系數(shù)bi,那濾波器的實(shí)現(xiàn)就只剩下進(jìn)行乘法和加法計(jì)算了。
設(shè)計(jì)一個(gè)簡(jiǎn)單的低通濾波器,其性能指標(biāo)為:采樣頻率FS=1 000 Hz,截至頻率Fc=200 Hz,指定階數(shù)為9(階數(shù)越高精度就越高,但所占計(jì)算資源就越多)。采用窗函數(shù)設(shè)計(jì)方法(漢明窗)來設(shè)計(jì)這個(gè)濾波器。
打開Matlab,新建一個(gè)mdl文件,并向其中添加FDAtool,雙擊FDAtool,打開濾波器設(shè)計(jì)和分析工具。點(diǎn)擊 Design Filter選項(xiàng)頁,在 Response Type中選擇Lowpass,在 Design Method選擇FIR(Window),Filter order定為9,在Options中選擇
FIR數(shù)字濾波器的特點(diǎn)是濾波器的輸出值u(K T)與輸出的過去值u(K T-k T)無關(guān),其表達(dá)式為:Hamming,FS和Fc分別填寫 1 000和 200。 點(diǎn)擊Design Filter控件,此時(shí)該濾波器的頻域特性圖便顯示出來,如圖1所示。
圖1 濾波器的頻域特性圖
利用Simulink強(qiáng)大的仿真功能,還可以對(duì)設(shè)計(jì)出來的濾波器進(jìn)行仿真,以驗(yàn)證它的實(shí)際效果。在新建的mdl文件當(dāng)中增加2個(gè)信號(hào)發(fā)生模塊:正弦信號(hào)1和正弦信號(hào)2,其頻率分別設(shè)置為20 Hz和300 Hz,再添加加法模塊和示波器模塊,最后將濾波器實(shí)現(xiàn)到該仿真模型中去,如圖2所示。
圖2 仿真模型
點(diǎn)擊start simulation開始進(jìn)行仿真,仿真結(jié)果如圖3所示。
在圖3所示的4個(gè)波形中,第1個(gè)為20 Hz的波形,第2個(gè)是300 Hz的波形,第3個(gè)是2個(gè)頻率的波形疊加之后的波形,第4個(gè)為濾波之后的波形。從這個(gè)結(jié)果來看,所設(shè)計(jì)的濾波器很好地濾除了300 Hz的波形而保留了頻率為20 Hz的波形,符合設(shè)計(jì)的要求。
到現(xiàn)在為止,所設(shè)計(jì)濾波器從仿真的角度來看已經(jīng)達(dá)到要求了,但是它的實(shí)際效果如何還要經(jīng)過實(shí)踐的檢驗(yàn)才知道。
圖3 仿真結(jié)果
現(xiàn)在借助一個(gè)硬件系統(tǒng)來檢驗(yàn)剛剛設(shè)計(jì)完成的這個(gè)濾波器。這個(gè)硬件系統(tǒng)主要由數(shù)字信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程門陣列(FPGA)組成,FPGA和一個(gè)數(shù)模轉(zhuǎn)換器(DAC)相連,做檢測(cè)使用。DSP產(chǎn)生頻率為20 Hz和300 Hz的信號(hào),然后將2個(gè)信號(hào)進(jìn)行疊加,并對(duì)它們進(jìn)行濾波,將結(jié)果通過DAC送出。
圖4是20 Hz和300 Hz 2個(gè)頻率的信號(hào)疊加后的信號(hào),將這個(gè)信號(hào)利用設(shè)計(jì)出來的濾波器進(jìn)行濾波后便得到如圖5所示的信號(hào)。由此可見,利用FDAtool設(shè)計(jì)出來的濾波器是有作用的。
圖5 濾波后結(jié)果
通過上面的實(shí)例可以看出,Matlab的FDAtool設(shè)計(jì)工具給濾波器的設(shè)計(jì)確實(shí)帶來了很大的便利。其設(shè)計(jì)結(jié)果真實(shí)可信,可以應(yīng)用于工程實(shí)踐。
[1] 王沫然.Simulink 4建模及動(dòng)態(tài)仿真[M].北京:電子工業(yè)出版社,2002.
[2] 魏巍.MAT LAB控制工程工具箱技術(shù)手冊(cè)[M].北京:國防工業(yè)出版社,2004.