陳曉沖,屈 蕾
(中航工業(yè)西安飛行自動(dòng)控制研究所,陜西西安 710065)
Matlab[1]作為一種常用的大型工程軟件,包括數(shù)值計(jì)算、程序設(shè)計(jì)、信號(hào)處理等多種功能,目前已成為輔助電路分析最為通用的軟件之一。實(shí)際工作中,當(dāng)對電路進(jìn)行分析設(shè)計(jì)時(shí),會(huì)涉及到大量的計(jì)算,而這些計(jì)算十分繁冗。為此,可借助于Matlab本身自帶的函數(shù)進(jìn)行編程解決電路計(jì)算問題,同時(shí)將電路分析中頻繁遇到的計(jì)算問題編寫成函數(shù),以提高電路分析的效率,取得了良好的效果。
信號(hào)處理中,一般只允許一定頻率范圍的信號(hào)通過,而實(shí)際信號(hào)頻率的范圍可能較大,這就需要使用帶阻濾波器進(jìn)行信號(hào)處理。
帶阻濾波器是指能通過大多數(shù)頻率分量,但將一定范圍的頻率分量衰減到極低水平的濾波器,用來抑制一定頻段內(nèi)的信號(hào)[2]。帶阻濾波器可分為窄帶濾波器和寬帶阻濾波器。窄帶阻濾波器一般用帶通濾波器和減法器電路組合起來實(shí)現(xiàn),窄帶組濾波器通常用作單一頻率的陷波,又稱為陷波器。寬帶阻濾波器通常用低通濾波器和高通濾波器求和實(shí)現(xiàn)。理想帶阻濾波器在阻帶內(nèi)的增益為零[3]。帶阻濾波器的中心頻率f0和抑制帶寬BW之間的關(guān)系為
式中,Q為品質(zhì)因數(shù)。fH為帶阻濾波器的上限頻率。fL為帶阻濾波器的下限頻率,其中fH>fL。帶寬BW越窄,品質(zhì)因數(shù)Q越高。
文中要實(shí)現(xiàn)的帶阻濾波器函數(shù)如下
對該函數(shù)進(jìn)行分析,可以先分析典型的二階帶通濾波器,其形式如式(4)所示。通過適當(dāng)?shù)碾娐沸问綄?shí)現(xiàn)以上函數(shù),且電路中各參數(shù)值在要求在標(biāo)稱值范圍內(nèi)
將二者進(jìn)行對比,可發(fā)現(xiàn):當(dāng)用1減去H(S)時(shí),可得到所需的結(jié)構(gòu)形式。其典型的電路形式如圖1所示。
圖1 帶通電路圖
根據(jù)虛短虛段原理,可得到該電路圖的節(jié)點(diǎn)電壓方程組
整理式(5)和式(6)可得
將式(5)與式(2)對比可得
由式(10)可得到中心頻率的另一計(jì)算公式
通過以上分析,帶阻濾波器在電路的實(shí)現(xiàn)形式上,采用帶通響應(yīng)綜合成帶阻響應(yīng),即帶通濾波器和減法器組成,得到帶阻濾波器電路,其電路形式如圖2所示。
圖2 帶阻電路圖
將R1之前的帶通濾波器輸入看作一個(gè)整體,記為ud,則根據(jù)加法器電路原理有
此處,ud的代數(shù)式為式(7),為滿足式(3),必須滿足R2=R4,代入整理,并與式(3)對照可得
由上述分析可見,式(13)~式(16)包含7個(gè)未知變量,任意確定其中4個(gè)參數(shù),該方程組為包含3個(gè)未知變量的非線性方程組,手工計(jì)算難度較大,且又要使得解析值為電阻或電容的標(biāo)稱值,更使計(jì)算量較大,重復(fù)性強(qiáng)。但運(yùn)用 Matlab的優(yōu)化工具箱函數(shù)Solve,就能對其方便地求解,Slove函數(shù)用來對一般的代數(shù)方程,包括非線性和超越方程進(jìn)行求解,且可以解出關(guān)于指定變量的解析方程,該函數(shù)相當(dāng)于對矢量方程等式左邊就目標(biāo)值0,進(jìn)行尋優(yōu)求值。for循環(huán)語句可以完成重復(fù)尋優(yōu)的工作。尋優(yōu)的思想是將電阻和電容的標(biāo)稱值作為列表,輸入Matlab程序中,每一參數(shù)進(jìn)行尋優(yōu),使得每個(gè)參數(shù)均為標(biāo)稱值。程序流程如圖 3 所示[4-5]。
圖3 程序流程圖
在Matlab環(huán)境下,編寫m文件,實(shí)現(xiàn)參數(shù)計(jì)算以及尋優(yōu)。
以上計(jì)算機(jī)尋優(yōu)計(jì)算,使電容值取定值,電阻值進(jìn)行尋優(yōu),可得到多組解值,表1是在A、B、C都給定的條件下尋到的滿足要求的結(jié)果,若還要縮小結(jié)果的可選范圍,可再加入誤差范圍要求、品質(zhì)因子等約束條件,使得可選范圍縮小,同時(shí)還可加入如頻譜分析等其他功能。
表1 電阻阻值尋優(yōu)結(jié)果
對所需要設(shè)計(jì)的帶阻濾波器的傳遞函數(shù)進(jìn)行了Matlab仿真分析,對傳遞函數(shù)進(jìn)行分析設(shè)計(jì)出相應(yīng)的電路,并通過Matlab對該電路參數(shù)進(jìn)行計(jì)算尋優(yōu)后,應(yīng)用PSpise電路仿真軟件對該電路進(jìn)行了仿真分析,并記錄了實(shí)際電路測試的結(jié)果?,F(xiàn)將3種結(jié)果繪制到同一張圖上,其結(jié)果如圖4所示,陷波頻率Matlab仿真結(jié)果為9.55 Hz,電路Pspise仿真結(jié)果為9.568 Hz,實(shí)際電路中,由于電容帶來的誤差,使得實(shí)測值會(huì)有偏差,實(shí)測結(jié)果為9.48 Hz,誤差度為0.7%,滿足使用要求。
圖4 帶阻濾波器結(jié)果分析圖
帶阻濾波器在實(shí)際信號(hào)處理中應(yīng)用廣泛,而其參數(shù)的選取是個(gè)計(jì)算繁冗、重復(fù)性強(qiáng)的過程。文中根據(jù)已知帶阻濾波器傳函,設(shè)計(jì)相應(yīng)的實(shí)現(xiàn)電路,該電路參數(shù)計(jì)算較為復(fù)雜,加之參數(shù)需符合標(biāo)稱值,更導(dǎo)致計(jì)算量大、繁瑣,重復(fù)性強(qiáng),但運(yùn)用Matlab的計(jì)算功能,可以使問題簡單化,且既使帶阻濾波器的傳函參數(shù)發(fā)生改變,也只需調(diào)整程序中相應(yīng)的參數(shù)即可,使得電路設(shè)計(jì)過程大幅簡化。
[1] 張德豐.Matlab語言高級(jí)編程[M].北京:機(jī)械工業(yè)出版社,2010.
[2] 夏超英.自動(dòng)控制原理[M].北京:科學(xué)出版社,2010.
[3] 曹良足,殷麗霞.小型帶阻濾波器的結(jié)構(gòu)與設(shè)計(jì)[J].壓電與聲光,2010(6):125-128.
[4] 姜春玲,史玲.基于Matlab的模擬濾波器設(shè)計(jì)[J].山東交通學(xué)院學(xué)報(bào),2004,23(8):89 -92.
[5] 楊曄.基于帶阻濾波器的無阻尼系統(tǒng)校正設(shè)計(jì)[J].中國慣性技術(shù)學(xué)報(bào),2010,19(2):65-68.