一種基于VB的虛擬數(shù)字濾波器的設計
從構成要素講,虛擬儀器系統(tǒng)是由計算機、應用軟件和儀器硬件組成的。計算機與儀器硬件又稱為VI的通用儀器硬件平臺。基于PC機平臺的虛擬儀器,不但具有強大的軟件開發(fā)資源,而且造價低,適合于普通用戶。本設計就是采用PC DAQ系統(tǒng)來實現(xiàn)的。本設計的系統(tǒng)構成如圖1所示。其采用研華公司的PCL2818LS數(shù)據(jù)采集卡為主,構建計算機硬件外圍電路,實現(xiàn)信號調(diào)理和高速數(shù)據(jù)采集。PCL2818LS數(shù)據(jù)采集卡有如下的功能和特點:
16路單端或8路差分模擬量輸入;40 kHz 12位A/D轉(zhuǎn)換器;可對每個輸入通道的增益進行編程;帶DMA的自動通道/增益掃描;16個數(shù)字量輸入和16個數(shù)字量輸出;一個12位模擬量輸出通道(D/A轉(zhuǎn)換);可編程定時觸發(fā)器/計數(shù)器;軟件支持包括VisiDAQ 3.1,ActiveDAQ和Windows 3.1/95/NT高速DLL驅(qū)動程序。由于測量信號沒有經(jīng)過硬件濾波,因此必須對采集進來的信號進行數(shù)字濾波,否則對測量結果產(chǎn)生大的干擾,影響測量精度。
2 數(shù)字濾波器的結構
數(shù)字濾波器(Digital Filter)是指用來對輸入信號進行濾波的硬件和軟件。所謂數(shù)字濾波器是指輸入、輸出均為數(shù)字信號,通過一定運算關系改變輸入信號所含頻率成分的器件。與模擬濾波器相比,數(shù)字濾波器的主要優(yōu)點是:
(1) 精度和穩(wěn)定性高;
(2) 系統(tǒng)函數(shù)容易改變,因而靈活性高;
(3) 不存在阻抗匹配問題;
(4) 便于大規(guī)模集成;
(5) 可以實現(xiàn)多維濾波,一個數(shù)字濾波器可以用系統(tǒng)函數(shù)表示為:
直接由H(z)得出,表示輸入輸出關系的常系數(shù)線性差分方程為:
可以用兩種方法來實現(xiàn)數(shù)字濾波器:一種方法是采用通用計算機,利用計算機的存儲器、運算器和控制器把濾波器所完成的運算編成程序通過計算機來執(zhí)行,也就是采用計算機軟件來實現(xiàn);另一種方法是設計專用的數(shù)字硬件來實現(xiàn)。數(shù)字濾波器有IIR和FIR兩種。從結構上看,IIR數(shù)字濾波器采用遞歸結構,F(xiàn)IR數(shù)字濾波器主要采用非遞歸的結構。由于無限沖激響應濾波器IIR具有無限記憶和運算項數(shù)較少的特點,本文將介紹由IIR濾波器滿足“終端機”中濾波器技術指標的設計方法與實現(xiàn)。
3 IIR濾波器的設計理論和方法
遞歸型濾波器的結構及其轉(zhuǎn)移函數(shù)的形式?jīng)Q定了他的設計方法,遞歸濾波器的轉(zhuǎn)移函數(shù)一般為式(1)的形式。設計遞歸濾波器就是確定濾波器的系數(shù)ak和bk,使他滿足濾波器的技術指標。
3.1 遞歸濾波器的設計
設計IIR數(shù)字濾波器的方法主要有兩種。一種利用模擬濾波器的理論來設計;另一種是計算機輔助設計,也就是利用最優(yōu)技術進行設計。他的設計步驟如下:
(1) 確定滿足要求技術指標的模擬濾波器的轉(zhuǎn)移函數(shù)H(s);
(2) 把模擬濾波器數(shù)字化。利用模擬濾波器來設計數(shù)字濾波器,就是要把s平面映射到z平面,使模擬系統(tǒng)函數(shù)Ha(s)變換成所需的數(shù)字濾波器的系統(tǒng)函數(shù)H(z),這種由復變量s到復變量z之間的映射關系,必須滿足兩條基本要求:
① H(z)的頻率響應要能模仿Hz(s)的頻率響應,即s平面的虛軸jΩ必須映射到z平面的單位圓ejΩ上,也就是頻率軸要對應;
② 因果穩(wěn)定的Ha(s)應能映射成因果穩(wěn)定的H(z),也就是s平面Re(s)<0的左半平面必須映射到z平面單位圓的內(nèi)部|z|<1。
上述兩個條件既保持模擬濾波器的頻率特性,亦保持模擬濾波器的穩(wěn)定性,所以,映射關系得到的數(shù)字濾波器頻率特性和穩(wěn)定性不變。
3.2 由模擬濾波器得到數(shù)字濾波器的方案
從模擬濾波器變換成數(shù)字濾波器方案主要有以下3種:
沖激響應不變法:
階躍響應不變法:
雙線性變換法:
設計步驟:按一定技術指標將給出的數(shù)字濾波器轉(zhuǎn)換為模擬低通濾波器;根據(jù)轉(zhuǎn)換后的技術指標設計模擬低通濾波器H(s)。再將H(s)轉(zhuǎn)換成H(z):對于高通、帶通或帶阻數(shù)字濾波器的設計,先將其技術指標轉(zhuǎn)化為與之相應的作為“樣本”的低通模擬濾波器的技術指標,再進行頻率變換,然后按上述步驟設計出低通H(s),再將H(s)轉(zhuǎn)換成需要的H(z)。
沖激響應不變法設計IIR數(shù)字濾波器的主要缺點是數(shù)字濾波器的幅度響應產(chǎn)生混迭失真,雙線性變換法可克服這個缺點,但是他卻引起頻率失真。雙線性變換的頻率標度的非線性失真可以通過預畸變的方法來補償,即:
模擬濾波器按這兩個預畸變了的頻率ΩP和ΩT來設計,這樣用雙線性變換得到的數(shù)字濾波器便具有所希望的截止頻率特性,因此,本文討論的是后一種方法,雙線性變換法設計首先找出模擬濾波器的轉(zhuǎn)移函數(shù)H(s),然后求出對應的數(shù)字濾波器的轉(zhuǎn)移函數(shù)H(z):
T為采樣周期。
4 虛擬IIR數(shù)字濾波器的設計與實現(xiàn)
4.1 軟件
在虛擬儀器的概念中,“軟件就是儀器”。虛擬儀器系統(tǒng)所用的軟件,除了計算機所必須的操作系統(tǒng)等基本軟件外,還需要設備驅(qū)動軟件和用戶應用程序。功能強大的、現(xiàn)成的驅(qū)動軟件是數(shù)據(jù)采集系統(tǒng)的心臟,他為用戶使用不同的編程環(huán)境和語言提供了強有力的應用程序編程接口(API)。驅(qū)動軟件在保留高性能的前提下將底層的、復雜的硬件編程細節(jié)隱藏起來,為用戶提供一個便于理解的接口。對于設備驅(qū)動軟件,一般情況下都由硬件設備或接口板的廠家提供,用戶編程時只需直接調(diào)用這些設備驅(qū)動程序,一般都符合VISA(虛擬儀器軟件結構)標準。
對于用戶應用軟件,我們選用了工具軟件VB,用他進行開發(fā)具有周期短,產(chǎn)品可視性好、可靠性高、可維護性強的特點。軟件開發(fā)步驟如下:
(1) 根據(jù)設計要求建立窗體,然后在代碼編輯窗口編輯代碼。窗體應包含輸入控制信息和輸出顯示信息。在程序代碼中對采集進來的原始信號進行數(shù)字濾波,為后面電氣參數(shù)的測量做好準備。
(2) 使用文件輸入輸出操作存儲數(shù)據(jù)或從文件中讀取數(shù)據(jù),以便于存儲和顯示波形數(shù)據(jù),也可用于打印和分析結果。
(3) VB 6.0的調(diào)試工具包括斷點、中斷表達式、監(jiān)視表達式、逐語句運行、逐過程運行、通過窗口顯示變量和屬性的值。VB 6.0還包括特別的調(diào)試功能,比如在運行過程中進行編輯,設置下一個執(zhí)行語句以及在應用程序處于中斷模式時進行過程測試等。
4.2 IIR數(shù)字濾波器的設計與實現(xiàn)
本設計采用數(shù)字巴特沃斯濾波器(Butterworth)。巴特沃斯濾波器的幅度響應在通帶內(nèi)具有最平坦的特性,并且在通帶和阻帶內(nèi)幅度特性是單調(diào)變化的。模擬Butter-worth濾波器的幅度平方函數(shù)為:
其中ω為角頻率,ωc為截止頻率,N是濾波器的階數(shù)。從式(9)看出,隨著N的增大,幅度響應曲線在截止頻率附近變得更加陡,即在通帶內(nèi)有更多部分的幅度接近于1,而在阻帶內(nèi)以更快的速度下降至零。如果用s代替jω,即經(jīng)解析延拓,則式(9)可寫為:
由此得到極點
從上式看出,Butterworth濾波器的極點分布有如下特點:他在s平面上共有2N個極點等角距地分布在半徑為ωc的圓上,這些極點對稱于虛軸,而虛軸上無極點。N為奇數(shù)時,實軸上有兩個極點。N為偶數(shù)時,實軸上無極點。各極點間的角度距為π/N,Butterworth其傳遞函數(shù)如下:
當N為偶數(shù)時:
當N為奇數(shù)時:
根據(jù)上述方法,我們編制了IIR數(shù)字濾波器的設計程序,采用此程序只需選擇模擬低通濾波器原型和目標濾波器種類,輸入采樣頻率ω和目標濾波器截止頻率ωc,即可自動完成對IIR數(shù)字濾波器的設計,如3階低通數(shù)字濾波器的設計實例如下:
選擇歸一化的3階Butterworth低通濾波器作為設計型,采樣頻率為10 kHz,截止頻率為1 kHz,運行設計程序得到低通數(shù)字濾波器的傳遞函數(shù)為:
幅頻圖如圖2所示。
選擇歸一化的3階Butterworth低通濾波器作為設計型,采樣頻率為10 kHz,截止頻率ωc1為1 kHz,ωc2為2kHz,運行設計程序得到帶通數(shù)字濾波器的傳遞函數(shù)為:
幅頻圖如圖3所示。
5 結 語
數(shù)字濾波器可以通過編程實現(xiàn)各種不同系統(tǒng),滿足不同的需要,又可以隨時改動系數(shù),調(diào)整濾波器參數(shù),選擇最佳方案。使用虛擬儀器逐步代替?zhèn)鹘y(tǒng)儀器已經(jīng)成為測試領域發(fā)展的趨勢。但是在實際應用中,仍需要根據(jù)具體情況進行程序的優(yōu)化和軟硬件的結合,使虛擬儀器發(fā)揮更高的性能。本文作者創(chuàng)新點是使用了VB軟件平臺開發(fā)電氣參數(shù)測量儀等,虛擬儀器實現(xiàn)了更高的效率,節(jié)省了更多的硬件開銷,方便了系統(tǒng)的維護并減輕了儀器更新的負擔。