北京林業(yè)大學(xué)理學(xué)院 王 浩 趙 睿 徐靜怡 周可欣 趙一寧 李冰琪
模擬濾波器能有效地抑制頻帶噪聲,平衡各頻段的幅頻、相頻特性。因此,它在通信、控制、信號處理等領(lǐng)域發(fā)揮著重要的作用,被廣泛應(yīng)用于通信、數(shù)據(jù)采集、控制等電子系統(tǒng)中。但實驗室中,在對儀器及系統(tǒng)測量過程中,市面上的模擬濾波器并不能很好地適用,因此許多情況下,用戶需要根據(jù)需求自己設(shè)計合適的濾波器。以此為需求,在MATLAB的GUIDE開發(fā)環(huán)境下,設(shè)計模擬濾波器的分析界面,借助MATLAB強大的計算與圖形工具幫助用戶對設(shè)計的濾波器特性進行分析,同時利用MATLAB編程計算電路參數(shù),極大簡化了濾波器設(shè)計過程,減少了重新設(shè)計過程中繁瑣的步驟。
由于理想濾波器為物理不可實現(xiàn)系統(tǒng),實際濾波器的頻率特性只能“逼近”理想濾波。且濾波器的幅頻響應(yīng)在通帶內(nèi)常出現(xiàn)波紋,阻帶內(nèi)幅頻特性不能衰減到零,在通帶與阻帶之間存在過渡帶[1]。因此傳統(tǒng)人工設(shè)計模擬濾波器,首先根據(jù)技術(shù)指標包括濾波器的幅頻特性、相頻特性確定濾波器的系統(tǒng)函數(shù)H(s),然后經(jīng)過復(fù)雜計算設(shè)計出實際網(wǎng)絡(luò)來實現(xiàn)這一傳遞函數(shù)。雖然許多濾波器都有逼近函數(shù),然而計算過程都極為繁瑣復(fù)雜。此外利用傳統(tǒng)方法設(shè)計高通、帶通、帶阻濾波器時,通常根據(jù)對高通、帶通、帶阻濾波器的特性指標要求,求出相應(yīng)的低通原型的指標,然后再確定低通原型的系統(tǒng)函數(shù)H(s),依據(jù)一定變換關(guān)系得出其他通帶濾波器的傳遞函數(shù)。本文設(shè)計的模擬濾波器分析界面,通過MATLAB編程編寫相關(guān)回調(diào)函數(shù),可有效避免上述問題,在模擬濾波器的設(shè)計和分析上有著簡單方便等優(yōu)點,不僅可以作為研究設(shè)計模擬濾波器的輔助工具,還可作為相關(guān)課程的輔助教學(xué)軟件。該軟件具有以下特點:
具有數(shù)據(jù)輸入、修改、保存等功能,界面簡介明了,操作簡單,方便使用。
可以選擇多種類型的模擬濾波器,如巴特沃斯、切比雪夫I型,切比雪夫II型、橢圓型,還可以選擇低通、高通、帶通、帶阻四種通帶類型。
可以對相應(yīng)的模擬濾波器的幅頻特性、相頻特性以及零極點進行分析,同時可得到濾波器的系統(tǒng)函數(shù)。
在MATLAB圖形界面開發(fā)環(huán)境下,創(chuàng)建了主界面,并分成菜單區(qū)、濾波器參數(shù)設(shè)計區(qū)以及濾波器特性分析區(qū)三個部分,在每部分中分別編寫各個控件的回調(diào)函數(shù),可以實現(xiàn)讀取數(shù)據(jù)、輸出結(jié)果等功能[2]。其中菜單區(qū)包括打開文件、退出、清除數(shù)據(jù)、運行等基本功能外,還增加了Circuit菜單,可以得到濾波器電路參數(shù),幫助用戶進一步設(shè)計;以及增加了Compare Analysis(對比分析)菜單,使得用戶可以對多個濾波器特性進行同時分析;用戶也可選擇help(幫助)菜單,了解詳細的功能介紹。在濾波器參數(shù)設(shè)計區(qū)中,用戶可根據(jù)濾波器逼近函數(shù)選擇包括巴特沃斯、切比雪夫I型,切比雪夫II型、橢圓型在內(nèi)的四種類型濾波器,其對應(yīng)的特性區(qū)別可以在幫助菜單中查看,然后用戶需輸入相關(guān)參數(shù),包括階數(shù)、特征頻率、衰減;運行之后,則可以在分析模塊選擇查看幅頻特性和相頻特性、零極點以及傳遞函數(shù)。
巴特沃斯濾波器特點是通頻帶內(nèi)頻率響應(yīng)曲線最為平坦,幅頻特性與相頻特性都是單調(diào)下降的,因此在處理信號過程中產(chǎn)生的幅值畸變和相頻畸變都相對較小[3]。這里以巴特沃斯低通濾波器設(shè)計分析為例,設(shè)計一款通帶截止頻率2kHz,通帶最大衰減1.5dB,阻帶截止頻率5kHz,阻帶最小衰減40dB的濾波器,介紹該分析界面各部分功能模塊的具體實現(xiàn)。
(1)Filter Design(濾波器參數(shù)設(shè)計區(qū)),可分為System、Order、Frequency Specification、Magnitude Specification四塊。設(shè)計巴特沃斯濾波器的主要步驟就是根據(jù)設(shè)計指標求出階數(shù)和3dB截止頻率,進而確定相應(yīng)的傳遞函數(shù)[4]。在System下,選擇要設(shè)計的巴特沃斯低通濾波器,并選擇其幅頻特性圖像以對數(shù)顯示(單位分貝,dB);在Order下,可以選擇濾波器階數(shù)是用戶自定義或者最小階數(shù),后者在軟件運行后,自動得出,這里選擇最小階數(shù)并計算得出最小階數(shù)為4階;在Frequency Specification中,輸入特征頻率,包括通帶和阻帶截止頻率;在Magnitude Specification中輸入通帶最大衰減和阻帶最小衰減。最后運行,設(shè)計結(jié)果如圖1所示。
圖1 巴特沃斯低通濾波器設(shè)計界面
Fig.1 The design interface of Butterworth low pass filter
運行后,在Filter Analysis(濾波器特性分析區(qū))可以依次選擇查看所設(shè)計濾波器的幅頻和相頻特性、零極點圖,如圖2所示,以及可以得到濾波器的傳遞函數(shù)H(s)。
如圖2所示,巴特沃斯濾波器在通頻帶沒有波紋,在阻帶內(nèi)逐漸衰減為零,但過渡帶較長,阻帶衰減特性較差,且由零極點圖和傳遞函數(shù)可以看出,巴特沃斯濾波器為全極點濾波器,不存在零點,或者說其傳遞函數(shù)零點在無限頻處,只有在無限頻處才能給出無窮大的衰減[5]。另外在設(shè)計過程中,確定階數(shù)及3dB截止頻率時,采用的是通帶指標剛好滿足要求而阻帶指標有富余的計算方法,因此圖中1kHz時衰減約為1.5dB,而5kHz時衰減則約為52dB。
圖2 巴特沃斯濾波器特性分析圖
(3)為了更好的對所設(shè)計的濾波器進行分析,可以選擇Compare Analysis菜單,其包含了Mag/Pha(幅頻/相頻特性)、Zero/Pole(零極點圖)兩大項。選擇Mag/Pha,可以查看四種濾波器在相同分析特征參數(shù)條件下,幅頻特性和相頻特性的不同;選擇Zero/Pole則可以得到四種濾波器的零極點圖。
(4)完成運行后,系統(tǒng)會自動將此次濾波器設(shè)計分析的相關(guān)參數(shù)生成txt文件,導(dǎo)出到桌面。為了進一步驗證設(shè)計,在仿真軟件中搭建由RC元件和放大器組成的有源濾波電路,電路元件參數(shù)可以通過選擇Circuit菜單獲得。RC有源濾波器避免了無源濾波器中電感器件的非線性特性,且由于運放的作用可以為輸入信號提供增益[6]。
(5)在第一次打開界面后,用戶可以選擇菜單欄中的help菜單,其中分為About 和Instructions兩項。在About中可以了解有關(guān)圖形界面的型號、設(shè)計時間、使用要求等;而Instructions中,則可以了解濾波器設(shè)計分析的基本知識,例如查看其它幾種類型濾波器的基本知識,切比雪夫I型濾波器屬于全極點濾波器,不過其在通帶內(nèi)有波紋,而過度帶較窄,具有更陡的衰減特性[7];而切比雪夫II型和橢圓型濾波器的傳遞函數(shù)既有零點也有極點,前者通帶平坦而阻帶等波紋,后者雖然在通帶和阻帶中均等波紋,但阻帶內(nèi)的有限傳輸零點減少了過渡區(qū),可獲得極為陡峭的衰減曲線,不過橢圓濾波器的相頻特性較差,失真嚴重[8]。
巴特沃斯濾波器設(shè)計實例:
利用分析界面設(shè)計得到巴特沃斯低通濾波器階數(shù)和傳遞函數(shù),運用MATLAB語言編程計算得到如圖3所示的巴特沃斯低通濾波器。
電路的元件參數(shù)。設(shè)計中采用的是Sallen-Key低通濾波電路,Sallen-Key結(jié)構(gòu)由RC網(wǎng)絡(luò)和有源VCVS(電壓控制電源)共同組成,具有良好的反饋特性,適用于低頻范圍[9]。由于設(shè)計要求的是四階濾波器,這里將兩個二階濾波器電路級聯(lián)得到四階濾波電路,并分別計算每一級電路的元件參數(shù)[10]。由圖3電路分析,可得每級濾波器傳遞函數(shù),第一級為:
第二級為:
其中fc為濾波器的3dB截止頻率,Q1、Q2則為兩級濾波器的品質(zhì)因數(shù),其描述了濾波器分離信號中相鄰頻率成分能力,通過查表可得四階巴特沃斯低通濾波器兩個品質(zhì)因數(shù)為:Q1=1.307,Q2=0.5412。
圖3 巴特沃斯濾波器電路圖
圖3中的電路是在Tina-Ti軟件中搭建的,Tina-Ti 是德州儀器公司旗下一款易于使用、功能強大的電路仿真工具,基于 SPICE 引擎,可以很好的滿足仿真需求。圖4則為Sallen-Key型巴特沃斯低通有源濾波器的交流傳輸特性仿真圖,可以看到幅頻特性與相頻特性與通過分析界面得到的曲線相同,所設(shè)計的巴特沃斯低通濾波器電路滿足設(shè)計要求。
圖4 巴特沃斯濾波器交流傳輸特性
程序描述,給出了包括巴特沃斯濾波器階數(shù)和傳遞函數(shù)以及電路參數(shù)計算的部分程序。
MATLAB在模擬濾波器設(shè)計中有著重要應(yīng)用,利用GUIDE工具設(shè)計的這款分析界面簡潔方便,可以幫助用戶清楚的分析濾波器特性,且方便設(shè)計人員根據(jù)需求擴充完善程序,更可以在相關(guān)課程教學(xué)中作為教學(xué)軟件提高教學(xué)質(zhì)量;利用MATLAB編程可以簡化運算,將濾波器電路設(shè)計程序化,設(shè)計程序完全開源,利于拓展,仿真結(jié)果符合預(yù)期要求。隨著MATLAB相關(guān)功能的不斷完善,MATLAB將在濾波器設(shè)計、信號處理等方面有著更多應(yīng)用,為用戶帶來便利。
[1]費騰,張立毅.Matlab在模擬濾波器實驗教學(xué)中的應(yīng)用[J].高校實驗室工作研究,2015(04)∶52-54.
[2]余勝威,吳婷,羅建橋.MATLAB GUI設(shè)計入門與實戰(zhàn)[M].北京∶清華大學(xué)出版社,2016.
[3]王大偉,賈榮叢,王劃一.基于MATLAB的巴特沃斯濾波器設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(21)∶71-72.
[4]程佩青.數(shù)字信號處理教程(第四版)[M].北京∶清華大學(xué)出版社,2013.
[5]董雷,張民,張煒.基于MATLAB巴特沃斯低通數(shù)字濾波器的設(shè)計與仿真[J].科技視界,2016(21)∶96-97.
[6]丁宇,薛開昶,孫偉.有源模擬濾波器的MATLAB輔助設(shè)計方法[J].計測技術(shù),2015,35(05)∶31-34.
[7]王艷文,崔志娟,張靜.基于matlab的切比雪夫Ⅰ型數(shù)字濾波器設(shè)計[J].科技信息,2013(17)∶386.
[8]周新.輕松學(xué)會濾波器設(shè)計與制作[M].北京∶化學(xué)工業(yè)出版社,2014.
[9]趙普渡.基于MATLAB的有源RC雙二階濾波網(wǎng)絡(luò)仿真研究[J].機械工程與自動化,2016(2)∶115-117.
[10]婁云永,程金宏,侯凱文.基于MATLAB的模擬濾波器改進設(shè)計[J].電子世界,2014(20)∶185.