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