首頁 > 新聞係統 > 電子技術 > 技術 > 模擬設計 正文 > 論壇 返回 打印

一種基於VB的虛擬數字濾波器的設計

  1 的構成

  從構成要素講,虛擬儀器係統是由計算機、應用軟件和儀器硬件組成的。計算機與儀器硬件又稱為VI的通用儀器硬件平台。基於PC機平台的虛擬儀器,不但具有強大的軟件開發資源,而且造價低,適合於普通用戶。本設計就是采用PC DAQ係統來實現的。本設計的係統構成如圖1所示。其采用研華公司的PCL2818LS數據采集卡為主,構建計算機硬件外圍電路,實現信號調理和高速數據采集。PCL2818LS數據采集卡有如下的功能和特點:

  16路單端或8路差分模擬量輸入;40 kHz 12位A/D轉換器;可對每個輸入通道的增益進行編程;帶DMA的自動通道/增益掃描;16個數字量輸入和16個數字量輸出;一個12位模擬量輸出通道(D/A轉換);可編程定時觸發器/計數器;軟件支持包括VisiDAQ 3.1,ActiveDAQ和Windows 3.1/95/NT高速DLL驅動程序。由於測量信號沒有經過硬件濾波,因此必須對采集進來的信號進行數字濾波,否則對測量結果產生大的幹擾,影響測量精度。

本設計的係統構成

  2 的結構

  數字濾波器(Digital Filter)是指用來對輸入信 號進行濾波的硬件和軟件。所謂數字濾波器是指輸入、輸出均為數字信號,通過一定運算關係改變輸入信號所含頻率成分的器件。與模擬濾波器相比,數字濾波器的主要優點是:

  (1) 精度和穩定性高;

  (2) 係統函數容易改變,因而靈活性高;

  (3) 不存在阻抗匹配問題;

  (4) 便於大規模集成;

  (5) 可以實現多維濾波,一個數字濾波器可以用係統函數表示為:

公式

  直接由H(z)得出,表示輸入輸出關係的常係數線性差分方程為:

公式

  可以用兩種方法來實現數字濾波器:一種方法是采用通用計算機,利用計算機的存儲器、運算器和控製器把濾波器所完成的運算編成程序通過計算機來執行,也就是采用計算機軟件來實現;另一種方法是設計專用的數字硬件來實現。數字濾波器有IIR和FIR兩種。從結構上看,IIR數字濾波器采用遞歸結構,FIR數字濾波器主要采用非遞歸的結構。由於無限衝激響應濾波器IIR具有無限記憶和運算項數較少的特點,本文將介紹由IIR濾波器滿足“終端機”中濾波器技術指標的設計方法與實現。

  3 IIR濾波器的設計理論和方法

  遞歸型濾波器的結構及其轉移函數的形式決定了他的設計方法,遞歸濾波器的轉移函數一般為式(1)的形式。設計遞歸濾波器就是確定濾波器的係數ak和bk,使他滿足濾波器的技術指標。

  3.1 遞歸濾波器的設計

  設計IIR數字濾波器的方法主要有兩種。一種利用模擬濾波器的理論來設計;另一種是計算機輔助設計,也就是利用最優技術進行設計。他的設計步驟如下:

  (1) 確定滿足要求技術指標的模擬濾波器的轉移函數H(s);

  (2) 把模擬濾波器數字化。利用模擬濾波器來設計數字濾波器,就是要把s平麵映射到z平麵,使模擬係統函數Ha(s)變換成所需的數字濾波器的係統函數H(z),這種由複變量s到複變量z之間的映射關係,必須滿足兩條基本要求:

  ① H(z)的頻率響應要能模仿Hz(s)的頻率響應,即s平麵的虛軸jΩ必須映射到z平麵的單位圓ejΩ上,也就是頻率軸要對應;

  ② 因果穩定的Ha(s)應能映射成因果穩定的H(z),也就是s平麵Re(s)<0的左半平麵必須映射到z平麵單位圓的內部|z|<1。

  上述兩個條件既保持模擬濾波器的頻率特性,亦保持模擬濾波器的穩定性,所以,映射關係得到的數字濾波器頻率特性和穩定性不變。

  3.2 由模擬濾波器得到數字濾波器的方案

  從模擬濾波器變換成數字濾波器方案主要有以下3種:

  衝激響應不變法:

公式

  階躍響應不變法:

公式

  雙線性變換法:

公式

  設計步驟:按一定技術指標將給出的數字濾波器轉換為模擬低通濾波器;根據轉換後的技術指標設計模擬低通濾波器H(s)。再將H(s)轉換成H(z):對於高通、帶通或帶阻數字濾波器的設計,先將其技術指標轉化為與之相應的作為“樣本”的低通模擬濾波器的技術指標,再進行頻率變換,然後按上述步驟設計出低通H(s),再將H(s)轉換成需要的H(z)。

  衝激響應不變法設計IIR數字濾波器的主要缺點是數字濾波器的幅度響應產生混迭失真,雙線性變換法可克服這個缺點,但是他卻引起頻率失真。雙線性變換的頻率標度的非線性失真可以通過預畸變的方法來補償,即:

公式

  模擬濾波器按這兩個預畸變了的頻率ΩP和ΩT來設計,這樣用雙線性變換得到的數字濾波器便具有所希望的截止頻率特性,因此,本文討論的是後一種方法,雙線性變換法設計首先找出模擬濾波器的轉移函數H(s),然後求出對應的數字濾波器的轉移函數H(z):

公式

  T為采樣周期。

  4 虛擬IIR的設計與實現

  4.1 軟件

  在的概念中,“軟件就是儀器”。虛擬儀器係統所用的軟件,除了計算機所必須的操作係統等基本軟件外,還需要設備驅動軟件和用戶應用程序。功能強大的、現成的驅動軟件是數據采集係統的心髒,他為用戶使用不同的編程環境和語言提供了強有力的應用程序編程接口(API)。驅動軟件在保留高性能的前提下將底層的、複雜的硬件編程細節隱藏起來,為用戶提供一個便於理解的接口。對於設備驅動軟件,一般情況下都由硬件設備或接口板的廠家提供,用戶編程時隻需直接調用這些設備驅動程序,一般都符合VISA(虛擬儀器軟件結構)標準。

  對於用戶應用軟件,我們選用了工具軟件,用他進行開發具有周期短,產品可視性好、可靠性高、可維護性強的特點。軟件開發步驟如下:

  (1) 根據設計要求建立窗體,然後在代碼編輯窗口編輯代碼。窗體應包含輸入控製信息和輸出顯示信息。在程序代碼中對采集進來的原始信號進行數字濾波,為後麵電氣參數的測量做好準備。

  (2) 使用文件輸入輸出操作存儲數據或從文件中讀取數據,以便於存儲和顯示波形數據,也可用於打印和分析結果 。

  (3) VB 6.0的調試工具包括斷點、中斷表達式、監視表達式、逐語句運行、逐過程運行、通過窗口顯示變量和屬性的值。VB 6.0還包括特別的調試功能,比如在運行過程中進行編輯,設置下一個執行語句以及在應用程序處於中斷模式時進行過程測試等。

  4.2 IIR數字濾波器的設計與實現

  本設計采用數字巴特沃斯濾波器(Butterworth)。巴特沃斯濾波器的幅度響應在通帶內具有最平坦的特性,並且在通帶和阻帶內幅度特性是單調變化的。模擬Butter-worth濾波器的幅度平方函數為:

公式

  其中ω為角頻率,ωc為截止頻率,N是濾波器的階數。從式(9)看出,隨著N的增大,幅度響應曲線在截止頻率附近變得更加陡,即在通帶內有更多部分的幅度接近於1,而在阻帶內以更快的速度下降至零。如果用s代替jω,即經解析延拓,則式(9)可寫為:

公式

  由此得到極點

公式

  從上式看出,Butterworth濾波器的極點分布有如下特點:他在s平麵上共有2N個極點等角距地分布在半徑為ωc的圓上,這些極點對稱於虛軸,而虛軸上無極點。N為奇數時,實軸上有兩個極點。N為偶數時,實軸上無極點。各極點間的角度距為π/N,Butterworth其傳遞函數如下:

  當N為偶數時:

公式

  當N為奇數時:

公式

  根據上述方法,我們編製了IIR數字濾波器的設計程序,采用此程序隻需選擇模擬低通濾波器原型和目標濾波器種類,輸入采樣頻率ω和目標濾波器截止頻率ωc,即可自動完成對IIR數字濾波器的設計,如3階低通數字濾波器的設計實例如下:

  選擇歸一化的3階Butterworth低通濾波器作為設計型,采樣頻率為10 kHz,截止頻率為1 kHz,運行設計程序得到低通數字濾波器的傳遞函數為:

公式

  幅頻圖如圖2所示。

  選擇歸一化的3階Butterworth低通濾波器作為設計型,采樣頻率為10 kHz,截止頻率ωc1為1 kHz,ωc2為2kHz,運行設計程序得到帶通數字濾波器的傳遞函數為:

公式

  幅頻圖如圖3所示。

幅頻圖

  5 結 語

  數字濾波器可以通過編程實現各種不同係統,滿足不同的需要,又可以隨時改動係數,調整濾波器參數,選擇最佳方案。使用虛擬儀器逐步代替傳統儀器已經成為測試領域發展的趨勢。但是在實際應用中,仍需要根據具體情況進行程序的優化和軟硬件的結合,使虛擬儀器發揮更高的性能。本文作者創新點是使用了VB軟件平台開發電氣參數測量儀等,虛擬儀器實現了更高的效率,節省了更多的硬件開銷,方便了係統的維護並減輕了儀器更新的負擔。



http://www.autooo.net/autooo/Electronic/Tech/moni/2007-10-27/39374.html