重力儀是用于測(cè)量重力的專業(yè)儀器,傳統(tǒng)的重力儀外型笨重、功能單一,數(shù)字重力儀雖然有一定的功能擴(kuò)展,但價(jià)格昂貴,而且這些儀器加工工藝復(fù)雜、對(duì)制造水平要求很高,生產(chǎn)突破有困難。虛擬儀器的出現(xiàn)改變了這一局面,虛擬重力利用計(jì)算機(jī)系統(tǒng)強(qiáng)大的數(shù)據(jù)處理能力,利用軟件完成數(shù)據(jù)的采集、控制、數(shù)據(jù)分析和處理以及測(cè)試結(jié)果的顯示等,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲(chǔ)等的限制,使用戶可以方便地對(duì)儀器進(jìn)行維護(hù)、擴(kuò)展和升級(jí),而且虛擬重力儀比傳統(tǒng)重力儀節(jié)約了許多成本,具有很高的性價(jià)比。本文介紹虛擬重力儀的設(shè)計(jì),用圖形化編程語(yǔ)言LabVIEW實(shí)現(xiàn)虛擬示波器的數(shù)據(jù)采集、波形顯示、數(shù)字濾波、參數(shù)測(cè)量、頻譜分析、功率譜分析以及數(shù)據(jù)存儲(chǔ)和回放等功能。實(shí)驗(yàn)證明,該虛擬重力儀可以實(shí)現(xiàn)對(duì)采樣信號(hào)的顯示、分析、存儲(chǔ)等操作并且結(jié)果正確、可靠,功能比傳統(tǒng)儀器強(qiáng)大。
1 虛擬示波器的結(jié)構(gòu)
根據(jù)實(shí)際重力儀傳感器的特點(diǎn),以及動(dòng)基座下重力儀工作的特點(diǎn),設(shè)計(jì)了重力儀模擬器,用于模擬運(yùn)動(dòng)基座下重力儀的測(cè)量輸出。
重力儀模擬器的框圖如圖1所示。
從框圖上可以看出,動(dòng)基座下海洋重力儀進(jìn)行重力測(cè)量時(shí)受到當(dāng)?shù)刂亓χ?、干擾加速度、效應(yīng)、量測(cè)噪聲等因素的影響。在模擬仿真中需要對(duì)這些因素進(jìn)行仿真設(shè)計(jì)。模擬器運(yùn)行時(shí),首先需要規(guī)劃載體航跡和重力值。在航跡規(guī)劃中,設(shè)定每段路程航向、航速、經(jīng)歷的時(shí)間。規(guī)定完載體運(yùn)動(dòng)航跡后,便可得到每一點(diǎn)的正常重力值。由于海洋重力儀傳感器采用相對(duì)重力測(cè)量法進(jìn)行重力測(cè)量,其敏感量為實(shí)測(cè)點(diǎn)重力值與重力基點(diǎn)重力的差值。因此,重力圖生成中,只需要設(shè)定當(dāng)前重力與初始點(diǎn)位置的重力差,即重力輸入信號(hào)取△g=g-g0。海洋中進(jìn)行重力測(cè)量不可避免受到海浪、載體運(yùn)動(dòng)等造成的干擾加速度的影響。根據(jù)分析,干擾垂直加速度具有似周期性的特點(diǎn),并且與重力加速度的頻率和幅值有明顯的差異。因此在模擬器中,垂直方向上干擾加速度可以寫為:R=R0sinωt。R0為輸入干擾加速度的幅值,ω為干擾加速度的角頻率。
效應(yīng)造成的重力偏差與載體航向、航速、載體所處緯度有關(guān)。該值通過(guò)計(jì)算當(dāng)前位置的航向、航速和緯度求得。實(shí)時(shí)處理系統(tǒng)的硬件主要包括數(shù)字信號(hào)處理器及其外圍電路、A/D轉(zhuǎn)換模塊、串行通信接口模塊等。其中,微處理器模塊控制系統(tǒng)的運(yùn)行,完成數(shù)據(jù)的處理。 A/D轉(zhuǎn)換模塊完成模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,實(shí)現(xiàn)重力信號(hào)的采集。串口通信模塊主要完成微處理器與導(dǎo)航計(jì)算機(jī)通信,實(shí)現(xiàn)外界信息的獲取以及相關(guān)數(shù)據(jù)上傳。系統(tǒng)上電以后,啟動(dòng)A/D轉(zhuǎn)換采集重力儀的輸出信號(hào),并同時(shí)接收精確定位數(shù)據(jù)信息和水深信息。系統(tǒng)的數(shù)據(jù)處理軟件將對(duì)采集到的重力儀信號(hào)進(jìn)行干擾加速度影響消除,重力儀自身誤差改正,最后根據(jù)定位數(shù)據(jù)和水深數(shù)據(jù)對(duì)濾波后的重力信息進(jìn)行改正,如改正和吃水改正。其中,改正需要和重力信號(hào)采集相互匹配,從而獲取實(shí)時(shí)重力數(shù)據(jù)。數(shù)據(jù)處理結(jié)果通過(guò)串行通信接口上傳到重力輔助導(dǎo)航計(jì)算機(jī),由該計(jì)算機(jī)完成重力輔助導(dǎo)航的相關(guān)解算。系統(tǒng)結(jié)構(gòu)圖如圖2所示。
系統(tǒng)的數(shù)字信號(hào)處理器選用TMS320VC6713,該DSP是目前性價(jià)比最高的浮點(diǎn)處理器之一,適合于數(shù)據(jù)的高速處理。它是迄今為止TI公司推出的最快浮點(diǎn)處理器。TI公司6000系列的DSP最主要的特點(diǎn)是體系結(jié)構(gòu)上采用VelociTI甚長(zhǎng)指令(VLIM)結(jié)構(gòu),由一個(gè)超長(zhǎng)的機(jī)器指令字來(lái)驅(qū)動(dòng)內(nèi)部多個(gè)功能單元。每個(gè)指令字包含多個(gè)字段(指令),字段之間相互獨(dú)立,各自控制一個(gè)功能單元,因此可以單周期發(fā)射多條指令,實(shí)現(xiàn)很高的指令級(jí)并行效率。此外還具有以下特點(diǎn):16位/3z位/64位高性能外部存儲(chǔ)器接口(EMIF)提供了與SDRAM、SBSRAM和SRAM等同步/異步存儲(chǔ)器直接接口;具有VelociTI先進(jìn)VLIM內(nèi)核結(jié)構(gòu);具有類是RISC的指令值;片內(nèi)集成多種集成外設(shè);內(nèi)置靈活的PLL索相時(shí)鐘電路;支持IEEE-1149.1(JTAG)邊界掃描接口;內(nèi)核采用1.2 V/1.5 V/1.8 V供電,周圍I/O采用3.3 V供電;0.12~0.18μm CMOSZ工藝,5/6層金屬處理;BGA球柵陣列封裝。
根據(jù)海洋重力測(cè)量數(shù)據(jù)處理方法,在對(duì)某點(diǎn)重力觀測(cè)值進(jìn)行處理,得到該點(diǎn)實(shí)際重力值的過(guò)程中,需已知觀測(cè)點(diǎn)的位置、水深以及載體的速度、航向等信息。因此,系統(tǒng)首先要實(shí)現(xiàn)既能對(duì)重力儀信號(hào)進(jìn)行高精度的A/D轉(zhuǎn)換和數(shù)據(jù)采集,又能實(shí)現(xiàn)與定位、水深設(shè)備的對(duì)接,即實(shí)現(xiàn)重力數(shù)據(jù)、定位數(shù)據(jù)及水深數(shù)據(jù)的同步采集。其次,同步采集的重力測(cè)量數(shù)據(jù)要經(jīng)過(guò)低通數(shù)字濾波、重力修正等方法的處理才能得到比較精確的重力值,這就要求系統(tǒng)同時(shí)具有較好的在線處理速度。
2 模擬器軟件流程
通過(guò)模擬器設(shè)計(jì)完成海洋重力數(shù)據(jù)輸出的任務(wù)。在設(shè)計(jì)中,本文考慮到在海洋中進(jìn)行重力采集各種因素,并通過(guò)軟件設(shè)計(jì)將其模擬出來(lái)。重力數(shù)據(jù)采用定時(shí)結(jié)構(gòu)產(chǎn)生,通過(guò)D/A卡將其轉(zhuǎn)換為連續(xù)電壓輸出信號(hào)。其軟件流程圖如圖3所示。
程序開始運(yùn)行時(shí),首先完成各項(xiàng)初始值設(shè)定,包括航跡設(shè)定、重力值設(shè)定、海浪設(shè)定。完成初始值設(shè)定后,開啟定時(shí)程序,利用定時(shí)中斷推動(dòng)后續(xù)工作的完成。定時(shí)程序中,首先獲取當(dāng)前各項(xiàng)信息,如航向、航速、當(dāng)前重力等。將當(dāng)前信息傳送給傳感器進(jìn)行解算。利用uDAQ 6208A數(shù)/模轉(zhuǎn)換器將當(dāng)前解算結(jié)果轉(zhuǎn)換為電壓信號(hào)進(jìn)行輸出。為了對(duì)解算結(jié)果有直觀印象,通過(guò)數(shù)據(jù)顯示程序?qū)?dāng)前結(jié)果顯示出來(lái)。程序采用模塊化設(shè)計(jì),整個(gè)程序設(shè)計(jì)成重力儀輸入模塊、航跡模塊、重力儀模塊。重力儀輸入模塊完成有用重力信號(hào)輸入、干擾加速度信號(hào)輸入、量測(cè)噪聲輸入和信號(hào)輸入。航跡模塊則主要對(duì)載體運(yùn)動(dòng)過(guò)程進(jìn)行設(shè)計(jì),記錄載體經(jīng)過(guò)設(shè)定路線每一點(diǎn)時(shí)的時(shí)間、位置、速度。重力儀模塊則主要完成重力儀傳感器數(shù)字化設(shè)計(jì)。根據(jù)不同條件下連續(xù)系統(tǒng)的重力儀傳感器模型,設(shè)計(jì)對(duì)應(yīng)的離散化傳感器模型。為了便于理論分析,程序?qū)?huì)自動(dòng)保存模擬器輸出數(shù)據(jù)。
3 模擬器實(shí)現(xiàn)
程序采用面向?qū)ο蟮目梢暬幊陶Z(yǔ)言LabVIEW對(duì)重力傳感器模擬器進(jìn)行開發(fā)設(shè)計(jì)。程序設(shè)計(jì)包括可視化參數(shù)輸入的程序設(shè)計(jì)、利用傳感器模型進(jìn)行解算的程序以及模擬量輸出的程序設(shè)計(jì),通過(guò)點(diǎn)擊按鈕彈出的對(duì)話框輸入各種傳感器的輸入?yún)?shù),在圖形顯示區(qū)實(shí)時(shí)輸出模擬器的輸出電壓值曲線。在主界面上通過(guò)點(diǎn)擊各個(gè)按鈕,可以彈出各個(gè)輸入?yún)?shù)的界面,在圖形顯示區(qū),實(shí)時(shí)顯示出模擬器所輸出的電壓值,該電壓值正對(duì)應(yīng)實(shí)際海洋重力傳感器經(jīng)過(guò)信號(hào)轉(zhuǎn)換和放大后的模擬信號(hào)。海洋重力傳感器模擬器主要包括以下幾個(gè)方面的參數(shù)輸入。
3.1 航跡輸入
的數(shù)值只與重力測(cè)量載體的航速、航向和測(cè)地點(diǎn)緯度有關(guān),故在模擬器設(shè)計(jì)時(shí),需要真實(shí)反應(yīng)實(shí)際情況。而這3個(gè)參量均是通過(guò)航跡線推算得到。故程序開始時(shí)刻,需要首先設(shè)定初始位置、航向和航速,進(jìn)行航跡規(guī)劃。然后計(jì)算值大小,并將該值加入傳感器的輸入信號(hào)中。航向角按照北偏東格式定義。如果輸入45,則代表航向角為北偏東45°。根據(jù)一般水下航行器的速度,航速設(shè)定其范圍為4~24 km。
3.2 重力值輸入設(shè)定
由于海洋重力測(cè)量都屬于相對(duì)重力測(cè)量范疇,重力儀所測(cè)量的是測(cè)地點(diǎn)和重力基點(diǎn)之間的差值,故在給定重力儀的輸入量時(shí),應(yīng)給出重力基點(diǎn)值g0和測(cè)點(diǎn)實(shí)際重力值g,程序根據(jù)二者解得重力儀所能敏感的重力差值。在模擬器中,二者之間的差值選用正弦波進(jìn)行模擬。重力變化周期應(yīng)至少大于120 s(實(shí)際地球重力異常周期一般均大于120 s)。一定區(qū)域內(nèi),重力可能沒(méi)有變化。此時(shí),重力變化周期為∞。設(shè)計(jì)模擬器時(shí),輸入重力信號(hào)的周期不可能在一個(gè)無(wú)限變化的范圍。考慮到輸出曲線的時(shí)間范圍,論文設(shè)定重力變化值輸入周期為120~1000s。
3.3 擾動(dòng)加速度輸入
由于載體垂直方向周期性附加加速度可以用下式表示:
式中:R0為垂直附加加速度;ω為垂直附加加速度的角頻率。故在模擬器設(shè)計(jì)中,需要完成以上兩個(gè)變量的輸入設(shè)定。根據(jù)前文分析,擾動(dòng)加速度幅值可達(dá)有用信號(hào)的200多倍。因此,模擬器設(shè)計(jì)時(shí),干擾加速度設(shè)定為有用信號(hào)的100倍。而垂直方向附加加速度的周期一般為5~10 s,其中以6 s左右為最多。因此,程序設(shè)定干擾加速度頻率設(shè)定為0.17 Hz。
3.4 量測(cè)噪聲輸入
海洋中進(jìn)行重力測(cè)量是在強(qiáng)噪聲的背景下進(jìn)行,故重力儀模擬器的設(shè)計(jì)需要考慮噪聲的影響。在模擬器設(shè)計(jì)中,需要對(duì)干擾噪聲的形式和幅值進(jìn)行設(shè)定。此值也將加入到傳感器輸入中。噪聲的形式為高斯白噪聲,幅值為1。
3.5 模擬器輸出
當(dāng)模擬器解算出當(dāng)前輸出值后,通過(guò)一定的比例變換,將其轉(zhuǎn)換為電壓。實(shí)際應(yīng)用中,后續(xù)A/D電路的輸入電壓范圍0~5V。因此,Nu-DAQ6208A最終輸出電壓的范圍為0~5 V,相應(yīng)的重力值為0~50 mGal。NuDAQ6208A對(duì)傳感器輸出信號(hào)的轉(zhuǎn)換在定時(shí)程序中完成。當(dāng)定時(shí)程序開始運(yùn)行前,首先完成6208卡的注冊(cè)及設(shè)定。程序如下:
定時(shí)程序中,根據(jù)每次計(jì)算得到的重力儀輸出值,計(jì)算相應(yīng)的電壓值。其關(guān)鍵代碼為:
這樣便完成電壓量的輸出。當(dāng)結(jié)束定時(shí)循環(huán)時(shí),需要放棄對(duì)6208卡的控制,以便其他進(jìn)程能夠?qū)ㄟM(jìn)行操作。關(guān)鍵代碼為:
3.6 程序主界面及電壓輸出
模擬器主界面如圖4所示。
當(dāng)只有正弦信號(hào)輸入模擬器時(shí),模擬信號(hào)輸出區(qū)的圖形顯示理論上模擬器輸出電壓。此時(shí),通過(guò)測(cè)量6208卡的輸出,得到實(shí)際電壓輸出的波形如圖5所示。從圖5可以看出,6208卡輸出電壓與理論輸出電壓相符合,但噪聲影響比較大。
4 程序運(yùn)行結(jié)果及分析
不同的輸入下,模擬器輸出不相同。在重力信號(hào)、效應(yīng)、干擾加速度、量測(cè)噪聲等單獨(dú)作用下,根據(jù)自動(dòng)保存的數(shù)據(jù)值,模擬器的輸出曲線如圖6~圖9所示。
在三者共同作用,并且輸出疊加量測(cè)噪聲情況下,模擬器的輸出曲線如圖10所示。
5 結(jié)語(yǔ)
根據(jù)海洋重力儀相關(guān)理論,本文利用采用面向?qū)ο蟮目删幊陶Z(yǔ)言LabView,設(shè)計(jì)了重力儀模擬器,模擬海洋重力儀工作的工作過(guò)程,給出不同狀態(tài)下的海洋重力儀的響應(yīng)。為了對(duì)海洋重力儀輸出信號(hào)進(jìn)行分析和采集。