黃富良 黃華貴 蘇 軍
(91388部隊94分隊 湛江 524022)
基于LabVIEW的短基線測量系統(tǒng)設計*
黃富良 黃華貴 蘇 軍
(91388部隊94分隊 湛江 524022)
針對傳統(tǒng)短基線測量系統(tǒng)硬件設計復雜且不易擴展的問題,設計了基于計算機和虛擬儀器的短基線測量系統(tǒng)。使用數(shù)據(jù)采集卡NI USB-6366采集短基線陣元收到的水聲信號,在LabVIEW開發(fā)環(huán)境下,采用生產(chǎn)者/消費者架構和隊列消息處理器的復合設計模式,結合多線程、隊列同步等技術實現(xiàn)了數(shù)據(jù)采集、參數(shù)估計、定位解算、存儲上傳和動態(tài)顯示等功能。系統(tǒng)運行高效可靠,測量精度高,其設計模式為采集測量應用提供良好的借鑒作用。
虛擬儀器; 短基線; 多線程; LabVIEW
Class Number TP274
短基線測量系統(tǒng)是常用的一種水聲定位系統(tǒng),在海上石油勘探、海底地形勘查、水下遙控作業(yè)等海洋工程開發(fā)上有著廣泛的應用[1]。在軍事上,通過水聲定位系統(tǒng)可對潛艇、魚雷等水下航行目標進行精確定位導航,從而提高水下武器裝備試驗、訓練和作戰(zhàn)效能。
傳統(tǒng)的短基線測量系統(tǒng)干端主要由信號接收機和處理機及顯控計算機組成。由于硬件是針對特定應用環(huán)境設計定制的,且不易接受自定義,信號顯示不直觀,參數(shù)設置不便,可移植性和擴展性差,很難滿足現(xiàn)代使命日益多樣化和復雜化的任務需求。本文基于虛擬儀器思想,通過軟件設計和配置虛擬儀器取代部分傳統(tǒng)的硬件模塊,實現(xiàn)測控系統(tǒng)功能的自定義。程序采用高效的并行化和模塊化設計,并預留擴展接口。這種設計極大減少硬件設計和程序開發(fā)時間,提高系統(tǒng)的開放性、靈活性和可拓展性。
本文設計的短基線測量系統(tǒng)主要由濕端水聽器接收基陣和基于計算機的采集處理系統(tǒng)組成,通過數(shù)據(jù)采集硬件將水聲信號數(shù)字化輸入至計算機。整個系統(tǒng)以計算機為核心,在LabVIEW軟件平臺上創(chuàng)建虛擬儀器面板,設計自定義儀器,構建了一個多功能的水聲測量定位系統(tǒng),系統(tǒng)結構組成如圖1所示。
圖1 系統(tǒng)結構框圖
水聽器基陣接收水聲信號,經(jīng)選擇、變換、放大后由線纜將陣元輸出的多路模擬信號連接至數(shù)據(jù)采集卡的AI通道,經(jīng)同步信號觸發(fā)采集,通過USB總線將采集到的各通道測量數(shù)據(jù)流盤至計算機,在軟件平臺上實現(xiàn)短基線測量系統(tǒng)的數(shù)據(jù)采集配置、波形顯示、數(shù)據(jù)濾波、參數(shù)估計、定位解算、記錄上傳等功能。
3.1 接收陣元
本系統(tǒng)采用船載式基陣,將8個水聽器安裝在基陣支架上,組成8元接收陣。聲傳感器選擇和接收水下聲波信號,并將其轉化為電信號。設計低噪聲差動前置放大器將接收到的非常微弱信號放大,在進行信號采集前,信號經(jīng)過自動增益電路,使調(diào)理后信號的電壓范圍和采集卡的量程相同,以獲得最高的分辨率。
3.2 USB數(shù)據(jù)采集卡
信號采集硬件選用美國國家儀器公司的NI USB-6366采集卡。其具備8路16位、2MS/s多通道模擬差分輸入端口,高達16MS/s AI總吞吐量,并配備高級定時和觸發(fā)功能,滿足高速同步采集多路模擬信號的要求。NI USB-6366采用標準的USB總線,支持即插即用和熱插拔,方便快速組建測量系統(tǒng),并具有很好的便攜性。
3.3 同步設備
同步式水聲定位系統(tǒng)要求系統(tǒng)接收機時鐘與發(fā)射機時鐘保持嚴格同步。采集卡NI USB-6366自帶100MHz的晶振,但時基穩(wěn)定度只有50ppm,只能滿足一般的定位運用。為提高系統(tǒng)的定位精度,加裝了一塊100MHz的高穩(wěn)定度恒溫晶振,經(jīng)過時統(tǒng)設備對時后,接入到NI USB-6366的PFI管腳作為觸發(fā)信號和數(shù)據(jù)采樣時鐘。
系統(tǒng)選用LabVIEW 2012作為開發(fā)軟件。LabVIEW是美國NI公司開發(fā)的面向計算機測控領域的開發(fā)平臺。軟件基于虛擬儀器的設計理念,方便用戶自定義虛擬儀器和設計虛擬化儀器面板[2]。軟件程序(VI)由前面板和程序框圖組成。采用圖形式編程語言,并提供豐富的測量分析工具。
4.1 軟件結構
根據(jù)并行化編程思想[3~4],將應用程序具體分解成用戶界面(UI)事件、UI消息處理、信號采集、數(shù)據(jù)處理、定位解算和數(shù)據(jù)顯示六個并行執(zhí)行的子任務,并分別封裝在六個并行運行的while循環(huán)中,其中三個子任務封裝成子VI。LabVIEW系統(tǒng)內(nèi)置的多線程管理功能,將各個子任務自動分解為多個執(zhí)行線程。程序設計了三個隊列和兩個通知器,用于不同線程之間的任務同步和數(shù)據(jù)交換。軟件主要流程如圖2所示。
圖2 軟件流程圖
4.2 功能模塊設計
各個功能模塊采用并行化設計,并盡量讓各個線程的負載保持均衡[3]。每個模塊設計了一個私有的參數(shù)簇,放置了只在本模塊所需的參數(shù)。這種設計減少了循環(huán)對界面控件的輪詢和共享數(shù)據(jù)的存在,避免線程間競爭[5]。模塊間利用隊列和通知器進行通信[6]。在不同的運用場合,只需重新定義對應的功能模塊或者修改參數(shù),而無需改動其它模塊,也沒有涉及硬件的更改,設計靈活方便。
4.2.1 用戶界面交互模塊
為提高程序運行速度,界面采用簡潔設計,主程序前面板如圖3所示。
圖3 程序前面板
主界面只包含對應事件結構響應的控件和波形及坐標顯示控件。程序運行時事件結構循環(huán)捕捉到用戶按鍵動作,進入到UI消息處理循環(huán),并將狀態(tài)消息傳至各個功能子循環(huán),進行相應的操作。設計了一個通道觀測選擇按鈕,既可觀測各通道信號波形,又減少了不必要的內(nèi)存消耗。設計了一個設置對話框如圖4所示,將采集配置、文件路徑、網(wǎng)絡通信等參數(shù)控件全部放在對話框界面里。當用戶修改參數(shù)時,消息隊列將參數(shù)廣播至各個循環(huán),更新各循環(huán)參數(shù)簇。同時將更新后的參數(shù)表寫入可擴展標記語言XML文件中,供下次程序初始化以及跨平臺軟件使用??紤]人眼對界面更新過快不敏感,采用有損機制的通知器傳遞數(shù)據(jù)更新圖表顯示控件。
圖4 設置對話框
4.2.2 信號采集模塊
NI公司為其產(chǎn)品提供了底層的采集硬件驅動程序,在LabVIEW軟件中只需使用NI-DAQmx驅動接口就可以對硬件進行配置。采集模塊設計了一個消息隊列狀態(tài)機,包含初始化、開始、采集、停止、空白五個狀態(tài)。從消息隊列接收UI消息,進入相應的狀態(tài),并根據(jù)需要再進行狀態(tài)的跳轉或者循環(huán)。在開始狀態(tài)中對USB 6366采集卡進行采樣頻率、通道選擇、通道采樣等參數(shù)進行配置。配置完成后收到同步觸發(fā)信號后進入采集狀態(tài),進行各個AI通道數(shù)據(jù)的讀取。完成一次采集后再次進入采集狀態(tài),直到接收到其他隊列消息后才跳出循環(huán)。當進入到停止或退出狀態(tài)時,釋放硬件資源。
4.2.3 數(shù)據(jù)處理模塊
圖5 信號處理流程圖
該模塊采用與采集模塊類似的狀態(tài)機設計,主要功能是計算各通道信號的時延值。初始化后,從采集數(shù)據(jù)隊列中獲取通道數(shù)據(jù)進入到處理狀態(tài)中?;凇败浖磧x器”理念,為每個通道設計了數(shù)字Bessel帶通濾波器和Notch自適應濾波器。信號經(jīng)過帶通濾波器后進入自適應濾波器完成對各通道水聲信號鑒寬檢測和初始相位、頻率、幅值等參數(shù)估計[7~9]。為適應不同需求,本文設計的系統(tǒng)可同時對兩個目標參數(shù)進行估算。整個流程如圖5所示。由于涉及多目標多通道的數(shù)據(jù)處理,本文采取的策略是將濾波器、鑒寬器、定位解算等各功能模塊分別封裝成子VI,并設置各子VI的“執(zhí)行”屬性為“預先分副本重入執(zhí)行”。這樣允許程序同時并行調(diào)用VI,減少調(diào)用造成的開銷和抖動,從而提高運行效率。
4.2.4 定位解算模塊
在該模塊中通過隊列接收來自數(shù)據(jù)處理模塊傳來的各通道各目標的時延數(shù)據(jù),根據(jù)同步式水聲定位系統(tǒng)定位原理[10]進行解算,獲得目標的方位信息。在實際環(huán)境中,由于水聲多徑影響,每個周期中檢測到的信號除了直達聲,還有海面反射聲,甚至船體表面反射聲。在系統(tǒng)中設計合理的判別規(guī)則,分離出脈沖直達和反射聲時延數(shù)據(jù),提取正確的目標時延數(shù)據(jù)。同時要考慮水下聲速不均勻、陣元位置以及姿態(tài)等帶來的影響,修正測量誤差,提高系統(tǒng)的定位精度[11]。解算后將方位信息用通知器傳至界面顯示控件,繪制目標坐標軌跡。
4.2.5 參數(shù)記錄和上傳
參數(shù)記錄和上傳功能放在定位解算模塊中實現(xiàn),將通道的信號估計參數(shù)和定位解算后的方位信息存入文件,以供事后處理和查詢。同時設計了UDP通信接口,根據(jù)需要可將各參數(shù)信息進行編碼,通過網(wǎng)絡發(fā)送至其他系統(tǒng)通過信息融合以進行更加復雜的解算、導航或者指控等運用。
利用高性能的數(shù)據(jù)采集卡和計算機硬件,采用虛擬儀器技術和多線程技術,構建了一個靈活、實時、高效的測量系統(tǒng)。仿真和試驗結果表明,該系統(tǒng)運行高效、測量精度高。該系統(tǒng)模型和軟件架構具有一定的通用性,為快速構建測量系統(tǒng)提供了新的設計理念和思路。
[1] 孫大軍,鄭翠娥,錢洪寶,等.水聲定位系統(tǒng)在海洋工程中的運用[J].聲學技術,2012,31(2):125.
[2] Jeffrey Travis, Jim Kring. LabVIEW大學實用教程[M].喬瑞萍,等譯.北京:電子工業(yè)出版社,2010:1-4.
[3] Calvin Lin, Lawrence Snyder. 并行程序設計原理[M].陸鑫達,林新華,譯.北京:機械工業(yè)出版社,2009:43-52.
[4] 周紹磊,尹延濤,徐宇如,等.多線程機制在導彈模擬器中的運用[J].海軍航空工程學院學報,2009,24(2):172-173.
[5] 張斯偉.多處理器系統(tǒng)內(nèi)存讀寫效率研究[J].電腦知識與技術,2012,8(36):8815-8817.
[6] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011:337-342.
[7] Ye G X, Yoshiki, Tadokoro. LMS-based notch filter for the estimation of sinusoidal signals in noise[J]. Signal Processing,1995,(46):23-231.
[8] Pei S C, Tseng C C. Real time cascade adaptive notch filter scheme for sinusoidal parameter estimation[J]. Signal Processing,1994,39(1-2):117-130.
[9] 梁國龍,楊春,王德俊.頻點自跟蹤自適應頻率估計器性能研究[J].電子學報,2005,33(7):1204-1208.
[10] 田坦.水下定位與導航技術[M].北京:國防工業(yè)出版社,2007:19-20.
[11] 高國青,葉湘濱,喬純捷,等.水下聲定位系統(tǒng)原理與誤差分析[J].四川兵工學報,2010,31(6):95-96.
Short Baseline Measurement System Based on LabVIEW
HUANG Fuliang HUANG Huagui SU Jun
(Unit 94, No. 91388 Troops of PLA, Zhanjiang 524022)
In order to solve the problems of complex hardware design and insufficient flexibility, a short baseline measurement system based on computer and virtual instrument is designed. The NI USB-6366 data acquisition card is used to collect the acoustic signals
by the short baseline array. In the LabVIEW development environment, producer/consumer structure and queue messages processor complex design pattern are combined with multithread technology, and the queue synchronization technology to realize the functions of data acquisition, signal parameter estimation, positioning calculation, data storage, uploading and dynamic display. This system is proved to be efficient, reliable, and has high measurement accuracy, whose design patterns provide a good reference for application of collection and measurement system.
virtual instrument, short baseline, multithreading, LabVIEW
2013年8月9日,
2013年9月27日
黃富良,男,助理工程師,研究方向:水聲測量技術。黃華貴,男,助理工程師,研究方向:水聲測量技術。蘇軍,男,碩士,工程師,研究方向:水聲測量技術。
TP274
10.3969/j.issn1672-9730.2014.02.036