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