周益青, 王 勇
(1.上海無線電設備研究所;2.中國人民解放軍駐上海航天系統軍事代表室,上海200090)
目前,已有大量的科技和工程人員將基于計算機的數據采集技術(PC-based Data Acquisition)用于實驗室研究、工業控制、測試和測量中,即將虛擬儀器技術引入數據采集領域。虛擬儀器是現代儀器技術與計算機技術相結合的產物,代表著儀器發展的最新方向和潮流。Lab-VIEW是虛擬儀器領域中最具有代表性的圖形化編程開發平臺,是目前國際上首推并應用最廣的數據采集和控制開發環境之一。Lab VIEW具有人性化的程序設計理念、簡易快捷的數據采集和控制功能、強大的分析模塊和形象完整的數據顯示等優點,在虛擬儀器構建的測試系統中應用極為方便[1]。
本文設計了一個通用數據采集與分析系統,硬件采用NI公司的6251多通道數據采集卡,軟件系統采用Lab VIEW編程來實現。硬件電路實時采集現場數據,經分析處理后實時顯示,同時供給外部接口程序和高層系統調用。整個軟件系統實現數據采集、顯示和信號處理等功能。
數據采集與分析系統簡單實用,硬件由兩部分組成:上位機和NI數據采集卡。上位機為工控計算機,是硬件平臺的核心,它集中管理整個系統,通過管理參數將控制命令送給數據采集卡,進行工作狀態設置或接受采集卡送來的數據,完成數據的計算、處理和結果的顯示。利用計算機圖形顯示技術和多媒體技術,將復雜的數據計算和數據處理推向后臺,把測控的結果用數字、曲線、圖形等形式提供給用戶[2]。數據采集卡主要完成對被測輸入信號的預處理,包括數據采集、放大、A/D、D/A轉換等信號調理功能[3]。
NI 6251是可基于 USB、PCI、PCIe、PXI、PXIe等多種總線形式的數據采集和控制模塊。它能很好與Lab VIEW軟件連接。有16路模擬量輸入、24路DIO口、2路模擬量輸出,模擬輸入范圍為±10 V。模擬輸入分辨率為16位,輸入電流偏差為±20mA,連續采樣速率1.25 MS/s。由該硬件和相應軟件實現的系統框圖,如圖1所示。
外界信源產生待測電壓、電流原始信號,待測信號接入數據采集卡的相應硬件通道,通過采集卡的信號調理電路模塊對數據進行處理,經過PCI總線接口傳輸至上位機。上位機通過Lab-VIEW軟件實現對輸入波形的顯示以及輸入信號的數據分析,并模仿傳統示波器的顯示界面將各項信號結果直觀的呈現給用戶。

圖1 系統框圖
數據采集分有限樣本采集和連續采集兩種模式。在數據采集前,需要對各采集參數進行初始化設置。外部模擬信號通過NI模擬數據通道輸入,采樣數據可以通過有限采樣和無限采樣兩種方式完成通道數據采集,采集到的數據存入內存緩沖區中等待儲存和調用。系統讀取儲存輸出均鑒于Lab VIEW8.6的軟件平臺完成。在Lab-VIEW中對信號的采集基于系統輸入輸出法的構架。系統對輸入信號進行處理以生成輸出信號,然后提取出包含在其中的信息進行分析。
對采用PCI總線形式的數據采集卡,Lab-VIEW安裝了用于建立各種卡及通道配置參數的配置工具 MAX(Measurement&Automation Explorer)。MAX工具讀取設備管理器的信息,并為每個DAQ卡分配編輯設備號。Lab VIEW軟件通過該設備號對設備進行訪問、配置和信號讀取。通過Lab VIEW軟件對數據采集卡的調用,完成數據采集的DAQ系統框圖如圖2所示[4]。
被測的測試信號接入數據采集板卡的相應硬件通道,通過數據采集卡內置的信號調理電路將數據通過接口送到數據總線(PXI)上。數據采集卡完成對低電平信號的緩沖、放大、衰減、隔離、濾波、線性化、取樣保持(S/N)和模數轉換(ADC)等信號調理功能,調理后的信號能在計算機內部處理。用戶測量的應用程序通過Lab VIEW軟件中的MAX工具管理數據采集卡進行訪問、配置和信號讀取。Lab VIEW軟件對MAX工具進行配置,并通過DAQmx完成數據讀取。

圖2 DAQ系統框圖
通過用戶測量的應用程序實現采集數據的讀取、信號分析和信號顯示。數據采集流程圖如圖3所示。

圖3 數據采集流程圖
系統采用順序結構完成信號的數據采集過程。用戶在應用程序的前面板界面選擇被測信號的數據類型,數據采集系統根據該數據類型選擇相應的數據調理和時間采樣方式進行數據采集。
試驗采樣的是一個占空比為10%,周期為1 ms的脈沖信號。在測試過程中,單板布局EMI的影響以及初始供電電壓信號引入50 Hz的噪聲可能會引入測試數據異常值。異常值的出現會歪曲測量結果,因此應盡可能地查找技術上和物理上的原因,作為處理異常值的依據。對經判斷確為異常值的數據予以剔除,不得包括在測量列中。因此,數據采集系統對數據采集進行硬件濾波,同時軟件程序剔除測試中的異常值。
2.2.1 硬件濾波
該數據采集卡具有抗混疊濾波器(Antialiasing Filter)的功能。抗混疊濾波器是一種低通濾波器,卻具有非常陡峭的截止頻率,幾乎可以將頻率高于數據采集板輸入帶寬的信號全部刪去。因此,可以將一些外界的機箱以及供電引入的噪聲濾除。
測試過程中,如果不需要同時監測多路的數據信號,可以對數據采集采取差分輸入方式,每個輸入可以有不同的接地參考點。由于消除了共模噪聲誤差,所以差分輸入的精度較高。
2.2.2 軟件濾波
Lab VIEW中提供軟件數字濾波器,軟件數字濾波器的實質是用一個有限精度算法實現離散時間線性時不變系統來完成對信號的濾波處理。其輸入是一組由模擬信號經過取樣和量化的數字量,輸出是經過處理的另一組數字量。只要改變濾波器的程序或只改變參數就可以實現不同的濾波效果。幾種常用軟件濾波方法:平均值法、逼近函數濾波器、比較取舍法、五點三次平滑法。
數據采集系統對采樣后的原始數據進行分析和顯示前,首先應用比較取舍法剔除采樣數據中的粗大誤差,再采用平均值法進行平滑處理。
(1)比較取舍法
比較取舍法是一種程序判斷濾波法。當測量結果的個別數據存在幅差時,采用比較取舍法剔除個別偶然錯誤數據,認為凡兩次采樣值Yn-1、Yn之差大于D值(規定的最高差)為干擾(即奇異值),否則為有用信號。即若就可以認為收到的是正常信號。要實現良好的濾波效果,必須選取合適的D值。本脈沖采樣過程對D值的選擇采用了格拉布斯準則[5]。
格拉布斯準則:凡殘余誤差Vi大于格拉布斯鑒別值的誤差均被認為是粗差,其相應的測量值應舍棄,其數學表達式為


表1 格拉布斯準則鑒別系數
應用格拉布斯準則鑒別粗差,關鍵是標準偏差σ的計算,根據概率論的相關知識,樣本有限次測量時,可用貝塞爾式計算標準偏差的估計值

式(2)是未知總體標準偏差真值情況下由樣本計算標準偏R的公式。數學定義上嚴格的說,樣本數量趨于無窮大時,即測量次數趨于無窮次時,樣本和母體標準偏差才一致。對于有限次的測量用上述公式計算誤差會有一定的偏差。得到對應的方差為

在xi值較大時,可任選與xi接近的B值,按yi=xi-B做等量數學變化,可得

由式(1)到式(4)以及概率論相關知識得

在實際計算中,應用式(5)不會因求平均值除不盡而產生舍入誤差;且在去除壞值后,無需重復計算每個Vi。將該公式應用于測試過程中,在有限采樣數據為100個點時,按照格拉布斯準則進行粗大誤差剔除。圖4為某一尖脈沖采用比較取舍法后,對粗大誤差的剔除圖形對比。

圖4 采用比較取舍法后的圖形對比
圖4所示波形顯示在實際的測量過程中,根據測試硬件的精度和測試環境,數據采集系統采用格拉布斯準則后可有效剔除異常值測試,得到良好的測試效果。數學上已證明[6],在一組測定值中只有少(低于10%)異常值的情況下,格拉布斯方法是各種檢驗法中是最優的。
(2)平均值法
對一點數字連續采樣多次后計算其平均值,以其平均值作為該點采樣結果。設 xn,xn-1,xn-2,…,xn-m為第n次及前m 次采樣時刻的數字濾波輸入,yn為第n次采樣時刻的數字濾波輸出,則濾波計算的平均值公式為

同時采用防干擾平均法(即將采集數據去掉最大值和最小值后取平均)。該算法使濾波結果與各采樣值間誤差平方和最小。
采集到的數據和波形經過Lab VIEW數據處理后按照用戶需求進行顯示、回放和存檔。通過Lab VIEW軟件的圖形化程序語言,在前面板界面選擇測試通道、測試時間和測量精度,控制數據采集卡的常數設置。數據采集卡采集數據送至前面板顯示,在計算機內存儲。圖5為顯示程序流程圖。

圖5 顯示程序流程圖
該數據采集系統可同時采集多通道數據。該數據采集卡有16個模擬輸入通道,通道設置時可以選擇為16路單端輸入或者8路雙端差分輸入,有24路DIO,各通道有10擋預設增益。輸入信號可以采取有限采樣和無限采樣兩種采樣模式。有限采樣模式時,首先輸入采樣時間常數,系統在按下“開始”按鈕時刻開始計時,到達定時時間(即讀取到相應的采樣點后),系統內部產生一個中斷信號,中止運行。無限采樣模式時,先設定各采集參數,按下“開始”按鈕,系統開始進行連續采集,直到按下“停止”按鈕,程序退出運行。
在波形顯示時,可以通過調整旋鈕位置改變顯示時基,調節范圍為80μs~10 s;可以通過調整旋鈕位置改變垂直增益,調節范圍為1m V~10V。可以通過選擇按鈕改變當前的顯示通道,調節范圍為18個通道可以同時顯示,也可以分開顯示。數字通道的數據可以通過選擇旋鈕進行調整,可以采用二進制或者十進制、十六進制三種方式進行數字顯示,也可以直接通過面板波形顯示。顯示模塊有采集指示燈,當顯示界面在滾動現實波形時,指示燈變綠;當處于暫停或者停止采集顯示狀態時,指示燈變紅。電壓標志指示燈在輸入電壓超出標準時亮,提示出錯,硬件連接錯誤時,硬件指示燈變紅。
為驗證系統功能,將NI數據采集卡通過數據總線PCI接口連入計算機內,用函數發生器產生一路占空比為10%、周期1 ms、幅度為4 V的脈沖信號。數據連入通道1以及對應的共模輸入地進行數據采集,在軟件界面上可以選擇相應的測試時間為100 ms,顯示的幅度倍數為1。同時將該信號連入傳統的示波器顯示,比較兩者結果,顯示誤差在1%之內。軟件顯面的波形效果也比較直觀和平滑,跟示波器的顯示效果十分相近。
文中通過數據采集卡采集模擬信號數據,利用Lab VIEW圖形化編程語言進行數據處理、分析、顯示和儲存,設計了一套數據采集與分析的虛擬儀器系統。該系統可以實現多通道數據實時采集與分析,界面友好,使用簡單,操作方便,實驗結果驗證了系統的功能。該系統易于擴展和維護,
可以極其方便簡易的嵌入工業測試的數據采集階段,在工業測試、實驗室虛擬研究的數據采集方面有廣闊的應用前景。
[1] 孫澤文.基于Lab VIEW軟件的數據采集與分析系統設計[M]北京:電工電氣,2010,(1):16-17.
[2] 張重雄.虛擬儀器技術分析與設計[M].北京:電子工業出版社,2007:47-60.
[3] 曾璐,陸榮雙.基于Lab VIEW的數據采集系統設計[J].電子技術,2004,(12):16-17.
[4] 楊樂平,李海濤,趙勇,等.Lab VIEW高級程序設計[M].北京:清華大學出版社,2003.
[5] 耿素軍,余劍.智能測量系統中粗大誤差的處理[J].電氣電子教學學報,2005,(3):38-39.
[6] SPRENTP.Data driven statistical methods [M].Chapman & Hall,1998.