基于LabWindows的濾波分析儀的設(shè)計(jì)
0 引言
虛擬儀器一般主要包括計(jì)算機(jī)、軟件平臺(tái)和儀器硬件等三部分。虛擬儀器的硬件形式雖有區(qū)別,但基本構(gòu)成是一樣的。即將儀器硬件搭載到計(jì)算機(jī)上,利用相應(yīng)的軟件完成控制、測(cè)試及數(shù)據(jù)處理和顯示任務(wù),從而實(shí)現(xiàn)以計(jì)算機(jī)為基礎(chǔ)的數(shù)字化采集測(cè)試分析系統(tǒng)。
1 虛擬儀器的系統(tǒng)構(gòu)成
圖1所示是一個(gè)虛擬儀器的系統(tǒng)結(jié)構(gòu)。由圖可見(jiàn),整個(gè)系統(tǒng)分為兩個(gè)部分,其中硬件部分主要由計(jì)算機(jī)和數(shù)據(jù)采集卡以及電壓電流傳感器組成,數(shù)據(jù)采集卡采用研華USB4711數(shù)據(jù)采集卡,具有12位AI分辨率,采樣速率高達(dá)150 kS/s,同時(shí)具有16路模擬量輸入、2路模擬量輸出、8路數(shù)字量輸入、8路數(shù)字量輸出以及1路32位計(jì)數(shù)器;軟件部分采用LabWindows虛擬儀器設(shè)計(jì)平臺(tái),可實(shí)現(xiàn)數(shù)據(jù)采集、錄波、波形顯示等功能,并可分析信號(hào)的有效值、功率、諧波分量、相位角、對(duì)稱(chēng)分量等信息。電壓電流信號(hào)通過(guò)傳感器可轉(zhuǎn)換成0~10 V,4~20 mA信號(hào),然后通過(guò)數(shù)據(jù)采集卡進(jìn)行AD轉(zhuǎn)換后傳給電腦,并在LahWindows平臺(tái)下進(jìn)行數(shù)據(jù)處理,以記錄并顯示數(shù)據(jù)波形。
2 測(cè)量原理
本系統(tǒng)可用于測(cè)量三相電壓電流的有效值、功率、頻譜、諧波、相位角、對(duì)稱(chēng)分量,下面介紹各個(gè)參數(shù)的計(jì)算及實(shí)現(xiàn)原理和方法。
2.1 有效值計(jì)算
對(duì)于連續(xù)信號(hào),假設(shè)電壓信號(hào)瞬時(shí)表達(dá)式為u(t),則有
然后再對(duì)信號(hào)進(jìn)行離散化采樣,以得到序列{u[k]},則電壓有效值為:
2.2 頻譜與諧波分析
采用FFT變換可將采樣得到的數(shù)字信號(hào)中各次諧波在頻域中進(jìn)行分離,以求出各次諧波頻率,并得到各次諧波下電壓電流的幅值和相角頻譜;然后,再將采樣得到的數(shù)字信號(hào)利用對(duì)稱(chēng)分量法進(jìn)行計(jì)算,即可求出基波的正序和負(fù)序分量。
離散傅立葉變換(Discrete Fourier Transform)的實(shí)質(zhì)是有限長(zhǎng)序列傅立葉變換的有限點(diǎn)離散采樣,因此,該變換開(kāi)辟了頻域離散化的道路,它可使數(shù)字信號(hào)的處理在頻域采用數(shù)字運(yùn)算的方法進(jìn)行,從而大大增加了數(shù)字信號(hào)處理的靈活性。將信號(hào)經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后變成離散時(shí)間信號(hào),一般可采用離散傅立葉(DFT)變換法。其長(zhǎng)度為M的有限長(zhǎng)序列x(n)的傅立葉變換公式為:
通??焖俑盗⑷~變換(FFT)不是一種新的變換,而是離散傅立葉變換(DFT)的一種快速算法。它通過(guò)對(duì)DFT變換式進(jìn)行一次次的分解,以使其成為若干項(xiàng)DFT的組合,從而減小運(yùn)算量。本文采用的FFT以2為基數(shù),它具有運(yùn)算效率高,程序簡(jiǎn)單,使用方便等特點(diǎn)。
3 系統(tǒng)功能
3.1 用戶(hù)界面功能
本系統(tǒng)的功能主要是通過(guò)軟件的實(shí)現(xiàn)。表1所列是該虛擬儀器的軟件功能列表。圖2所示是其電力系統(tǒng)錄波儀的主界面圖。
為了避免數(shù)據(jù)阻塞,減少運(yùn)行過(guò)程中數(shù)據(jù)采集與用戶(hù)界面的影響,本錄波儀的軟件部分采用多線(xiàn)程技術(shù)。LabWindows提供有線(xiàn)程池(th-readpool)和異步定時(shí)器(asynchronous timers)兩種多線(xiàn)程機(jī)制。本文采用線(xiàn)程池及機(jī)制編寫(xiě)。但采用多線(xiàn)程有可能造成數(shù)據(jù)不必要的改動(dòng)甚至出錯(cuò),因此,LabWindows提供了線(xiàn)程安全隊(duì)列進(jìn)行數(shù)據(jù)保護(hù)。它可將采集到的數(shù)據(jù)寫(xiě)入安全隊(duì)列,分析數(shù)據(jù)時(shí)再?gòu)陌踩?duì)列中取出。數(shù)據(jù)存儲(chǔ)采用二進(jìn)制形式,數(shù)據(jù)采集及存儲(chǔ)的部分程序如下:
3.3 數(shù)據(jù)分析
數(shù)據(jù)分析主要是分析信號(hào)的有效值、功率、諧波分量、相位角等信息。諧波分量、相位角分析采用FFT算法,可通過(guò)極坐標(biāo)的變換得到;功率譜分析也可利用FFT算法及相應(yīng)算法得到。FFT可以實(shí)現(xiàn)時(shí)域向頻域的轉(zhuǎn)化,其函數(shù)原型為:
Int status=FFT(double x[],double y[],intn);
其中,參數(shù)x輸出為傅立葉變換的實(shí)部,y輸出為傅立葉變換的虛部。x和y既是輸入,也是輸出,n為x,y的長(zhǎng)度,并且一定是2的整數(shù)次冪。實(shí)現(xiàn)該功能的核心代碼如下:
4 結(jié)束語(yǔ)
試驗(yàn)結(jié)果顯示,本文設(shè)計(jì)的錄波儀不僅可以實(shí)現(xiàn)傳統(tǒng)錄波儀的功能,而且具有造價(jià)低,使用方便,可實(shí)現(xiàn)資源共享等特點(diǎn)。此外,本系統(tǒng)還可改成分布式系統(tǒng),即采用嵌入式主板加數(shù)據(jù)采集卡,然后通過(guò)網(wǎng)絡(luò)上傳數(shù)據(jù)文件,而用上位機(jī)接收數(shù)據(jù),最后進(jìn)行處理并顯示。