O 引 言
模擬濾波器的設計一般包括兩個方面:根據(jù)技術(shù)指標即濾波器的幅頻特性確定濾波器的傳遞函數(shù)H(s),;設計實際網(wǎng)絡實現(xiàn)這一傳遞函數(shù)。設計濾波器H(s)的關(guān)鍵是找到逼近函數(shù),,目前已有多種逼近函數(shù),。然而,不論哪種逼近函數(shù)都需要進行非常繁瑣的計算,還要根據(jù)計算結(jié)果進行查表,。
Matlab語言是一種簡單,、高效的高級語言,是一種內(nèi)容豐富,、功能強大的分析工具,,其應用范圍幾乎覆蓋了所有的科學和工程計算領(lǐng)域。Matlab中提供了豐富的用于模擬濾波器設計的函數(shù),,通過編程可以很容易實現(xiàn)低通,、高通、帶通,、帶阻濾波器,,并能畫出濾波器的幅頻、相頻特性曲線,,大大簡化了模擬濾波器的設計,。在此介紹了用Matlab設計實現(xiàn)一個無失真模擬濾波器,并給出了幅頻,、相頻特性的仿真結(jié)果和信號通過無失真濾波器后的眼圖,。
1 基于Matlab的無失真濾波器設計
設計要求:一個頻率為8 kHz數(shù)字基帶信號經(jīng)過數(shù)/模(D/A)轉(zhuǎn)換后得到一個模擬信號,將該模擬信號輸入無失真濾波器,,要求在8 kHz頻率處衰減為~6 dB,;在16 kHz頻率(截止頻率)之后衰減達到一60 dB以上。這樣做的目的是使該模擬信號經(jīng)過無失真濾波器后,,抑制諧波干擾,,減小截止頻率后波形的起伏,。
無失真濾波器由三部分組成,,依次為低通濾波器、帶阻濾波器,、相移電路,。其中低通濾波器的作用是通過8 kHz以內(nèi)的低頻信號;帶阻濾波器的作用是抑制16 kHz信號,,它與前面低通濾波器級聯(lián)后能使16 kHz之后信號的衰減達到一60 dB以上,,有效地抑制各次諧波干擾,并減小16 kHz之后波形的起伏,;相移電路的作用是補償前面兩級電路的相位偏移,,使得整個無失真濾波器的相位特性成為一條直線。
1.1 低通濾波器設計
低通濾波器采用巴特沃斯型濾波器,,因為它具有較平坦的幅頻特性,,相頻特性線性較好,常作為濾波器的初級。在Matlab中,,用[b,,a]=butter(n,wn,,‘s’)語句來實現(xiàn)巴特沃斯濾波器的設計,。其中,[6,,a]是濾波器傳遞函數(shù)多項式的系數(shù),;n為濾波器的階數(shù);wn為3 dB處的角頻率,;‘s’表示模擬濾波器的,。
在該設計中,采用8階巴特沃斯濾波器,,一3 dB處的頻率為8 kHz,。主要程序如下:
最終畫出低通濾波器的幅頻、相頻特性如圖1(a)所示,。實際電路采用由Max291芯片來實現(xiàn)巴特沃斯濾波器,,它相當于8階巴特沃斯濾波器,如圖1(b)所示,。
1.2 帶阻濾波器設計
帶阻濾波器(又稱陷波器)的作用是抑制某一頻率信號而通過其他頻率的信號,。在Matlab中用[b,a]=butter(n,,Wn,,′stop′,′s′)語句來實現(xiàn)帶阻濾波器,,其中[b,,a]是濾波器傳遞函數(shù)多項式的系數(shù);n為濾波器的階數(shù),;wn=[fl*2*pi fu*2*pi]分別為阻帶低端一3 dB和高端一3 dB處的角頻率,;′s′表示模擬濾波器的。主要程序如下:
與求低通濾波器的幅頻,、相頻特性類似,,帶阻濾波器的幅頻、相頻特性如圖2(a)所示,。在該設計中,,實際電路采用的是VCVS型二階帶阻濾波器如圖2(b)所示。電阻R1,,R2,,R3,,電容C1的取值需要確定,它們的計算公式可以通過Matlab編程來得到,,最終根據(jù)計算結(jié)果選擇相應的標稱值,。
1.3 低通濾波器與帶阻濾波器的級聯(lián)
將前面設計的低通與帶阻濾波器進行級聯(lián),使得級聯(lián)以后電路的幅頻特性能滿足設計要求,,即在8 kHz頻率處的衰減為一6 dB,;16 kHz頻率(截止頻率)之后的衰減達到一60 dB以上。若不能達到要求,,則根據(jù)仿真結(jié)果,,不斷修改帶阻濾波器中的Q值,直到滿足設計要求為止,。在Matlab中,,通過conv函數(shù)來實現(xiàn)兩個電路的級聯(lián)。主要程序如下:
?。3,、a3為低通和帶阻濾波器級聯(lián)后傳遞函數(shù)多項式系數(shù)與求低通濾波器的幅頻、相頻特性類似,,級聯(lián)電路的幅頻,、相頻特性如圖3所示??梢?,當Q取O.7時,幅頻特性滿足設計要求,,但相頻特性在8 000一Hz以內(nèi)不是一根直線,,為了使輸出信號不至于失真,必須加上一級相移濾波器,,使總的相移特性成為一條直線,。
1.4 相移濾波器設計及無失真濾波器的相頻特性
在該設計中,采用的是一階反相增益全通濾波電路,,它的傳輸函數(shù)為:
電路圖如圖4所示,。將低通、帶阻,、相移電路進行級聯(lián)構(gòu)成無失真濾波器。在Matlab中,,可以通過編程的方法得到相移,、無失真濾波器的相頻特性曲線。
主要程序如下:
?。,,a為無失真濾波器的傳遞函數(shù)多項式系數(shù),,其中b3,a3為低通和帶阻濾波器級聯(lián)后傳遞函數(shù)多項式系數(shù)最終求出的相位曲線如圖5所示,??梢钥闯觯瑹o失真濾波器的相頻特性為一條直線,。
將各部分的實際電路進行級聯(lián),,得到無失真濾波器的實際電路,該無失真濾波器的輸入模擬信號和輸出信號眼圖如圖6所示,。從圖中可以看出,,眼圖跡線清晰。眼睛大且端正,,眼睛之間的交點清晰,。說明該無失真濾波器的幅頻、相頻特性良好,,可以達到設計要求,。
2 結(jié) 語
使用Matlab設計模擬濾波器,,既簡單方便,,又避免了復雜的運算和查表。通過仿真可以很直觀地看出參數(shù)修改后的頻率響應曲線,,該設計可以滿足系統(tǒng)設計的要求,,避免了硬件電路反復調(diào)整的麻煩,大大提高了工作效率,,且Matlab不但可以用于模擬濾波器的設計,,還可以用于FIR,IIR等數(shù)字濾波器的設計,,是一個在濾波器設計方面很有力的工具,。