(91388部隊(duì)94分隊(duì) 湛江 524022)
利用水聽(tīng)器基陣接收信號(hào)是水聲學(xué)研究中最常用的手段之一,現(xiàn)在大多數(shù)的水聲試驗(yàn)仍然使用模擬基陣獲取水聲信號(hào),將多路模擬信號(hào)直接上傳至信號(hào)接收端。這就涉及到多路模擬信號(hào)的同步采集問(wèn)題。本文基于LabVIEW語(yǔ)言和Compact RIO 硬件平臺(tái),實(shí)現(xiàn)了多路信號(hào)的實(shí)時(shí)同步采集,采集到的信號(hào)可以在Compact RIO 的FPGA 模塊上直接進(jìn)行信號(hào)處理,解決了普通采集卡只能在計(jì)算機(jī)中進(jìn)行信號(hào)處理的問(wèn)題,大大提高了程序運(yùn)行的速度。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)硬件設(shè)計(jì)主要包括PC 機(jī)和Compact RIO。本設(shè)計(jì)利用信號(hào)發(fā)生器發(fā)射信號(hào),經(jīng)水聽(tīng)器發(fā)送出來(lái),由于水聽(tīng)器出來(lái)的信號(hào)很小,采集卡不能夠采集,所以在接收端我們加了一個(gè)信號(hào)預(yù)處理器,對(duì)水聲信號(hào)進(jìn)行濾波、放大,便于采集卡采集。為了實(shí)時(shí)的采集處理信號(hào),我們選用CRIO9014編程控制器和NI 9215 采集卡,其分辨率為16位,4路差分模擬輸入,最大采樣率為100kS/s。
NI Compact RIO 硬件平臺(tái)是一個(gè)基于FPGA 技術(shù)的嵌入式系統(tǒng),包含一個(gè)嵌入式實(shí)時(shí)處理器和一個(gè)可重復(fù)配置I/O FPGA 核的底板。FPGA 芯片是Compact RIO 體系結(jié)構(gòu)的核心,內(nèi)置數(shù)據(jù)傳輸機(jī)制,負(fù)責(zé)把數(shù)據(jù)傳到嵌入式處理器以進(jìn)行實(shí)時(shí)分析、離線處理、數(shù)據(jù)記錄或與聯(lián)網(wǎng)主機(jī)通信。同時(shí),利用LabVIEW FPGA 基本的I/O 功能,用戶可以直接訪問(wèn)Compact RIO 平臺(tái)的每個(gè)I/O 模塊的輸入輸出電路。所有的I/O 模塊都包含內(nèi)置的接口,信號(hào)調(diào)理、轉(zhuǎn)換電路(如ADC或DAC),以及可選的隔離屏蔽,用戶根據(jù)測(cè)試需求可選用不同的I/O 模塊。Compact RIO 實(shí)物如圖2所示。
圖2 Compact RIO 實(shí)物圖
為了信號(hào)采集及處理平臺(tái)軟件開(kāi)發(fā)的周期,同時(shí)又便于程序的可讀性與可維護(hù)性,設(shè)計(jì)過(guò)程中采用了模塊化和結(jié)構(gòu)化編程的基本思路。軟件設(shè)計(jì)基于LabVIEW 2011開(kāi)發(fā)環(huán)境,利用Real-Time和FPGA 工具包,并借助信號(hào)采集及處理函數(shù)實(shí)現(xiàn)信號(hào)的采集、濾波、時(shí)域分析及頻域分析等功能。軟件結(jié)構(gòu)分為兩層:Compact RIO 平臺(tái)的程序設(shè)計(jì)以及上位PC機(jī)的程序設(shè)計(jì)。
數(shù)據(jù)的采集與處理是基于Compact RIO 平臺(tái)由Lab-VIEW RT 和LabVIEW FPGA 實(shí)現(xiàn)的。FPGA VI部分程序框圖如圖3所示,While循環(huán)中,采用順序結(jié)構(gòu)執(zhí)行定時(shí)采集四通道的數(shù)據(jù)采集。數(shù)據(jù)在緩存過(guò)程中,由于是四通道的數(shù)據(jù)采集,為了保證通道之間的數(shù)據(jù)互不影響,使用函數(shù)選板中Build Array函數(shù)建立一維數(shù)組,然后將數(shù)據(jù)依次寫(xiě)入DMA FIFO 緩存區(qū)中。
圖3 FPGA 程序框圖
信號(hào)采集及處理平臺(tái)程序的前面板是與用戶交互的操作面板,因此要求其界面友好、直觀、便于操作。主程序功能模塊由4部分組成:數(shù)據(jù)采集、數(shù)據(jù)處理分析、文件管理以及幫助信息。主程序VI對(duì)各功能子VI動(dòng)態(tài)調(diào)用是基于事件結(jié)構(gòu)節(jié)點(diǎn)實(shí)現(xiàn)的,通過(guò)點(diǎn)擊界面上各功能模塊按鈕就可以調(diào)用相應(yīng)的功能。
3.3.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊是整個(gè)軟件的核心,只有采集到正確的信號(hào)才能夠?qū)π盘?hào)進(jìn)行后續(xù)的處理,Compact RIO 的數(shù)據(jù)采集是利用FPGA 技術(shù)控制采集卡采集信號(hào)。在進(jìn)行數(shù)據(jù)采集時(shí),必須協(xié)調(diào)同步FPGA 程序和RT 程序,兩者工作采用握手方式,使RT 程序通過(guò)觸發(fā)FPGA 程序相應(yīng)的屬性控制FPGA 程序運(yùn)行。在運(yùn)行過(guò)程中,RT 程序中首先需要配置FIFO 的存儲(chǔ)深度;在FPGA 程序中,主要用到兩個(gè)控件:FPGA I/O Node控件和Write FIFO 控件。FPGA I/O Node控件用來(lái)執(zhí)行數(shù)據(jù)采集的操作;Write FIFO 控件是將采集到的數(shù)據(jù)寫(xiě)入FIFO 中,在數(shù)據(jù)傳輸時(shí),F(xiàn)PGA 程序?qū)⒉杉降臄?shù)據(jù)先存儲(chǔ)到FIFO 中,RT 程序再?gòu)腇IFO 中讀取數(shù)據(jù)。通過(guò)FIFO 實(shí)現(xiàn)了FPGA 與RT 的數(shù)據(jù)傳遞。
圖4 RT 程序框圖
3.3.2 數(shù)據(jù)處理與分析模塊
數(shù)據(jù)的處理與分析模塊可以對(duì)采集到的信號(hào)進(jìn)行時(shí)域、頻域以及時(shí)頻聯(lián)合分析。程序的前面板由Tab控件來(lái)組織,用戶可以點(diǎn)擊不同選項(xiàng)來(lái)查看分析結(jié)果;程序面板由While循環(huán)和Case Structure(選擇結(jié)構(gòu))組成。其中,時(shí)域分析主要包括時(shí)域波形顯示、特征參數(shù)分析、自相關(guān)分析和互相關(guān)分析;頻域分析包含F(xiàn)FT、功率譜、幅值相位譜等多種分析,用戶可以在列表中選擇。
圖5 數(shù)據(jù)的處理與分析模塊框圖
3.3.3 文件管理模塊
文件管理模塊實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)功能。數(shù)據(jù)存儲(chǔ)完成原始信號(hào)的記錄,在需要進(jìn)行數(shù)據(jù)回放或后續(xù)處理時(shí),可以讀取原始信號(hào)記錄文件;在幫助信息模塊中,用戶可以點(diǎn)擊“幫助信息”按鈕獲得使用說(shuō)明和實(shí)時(shí)幫助。
為了驗(yàn)證系統(tǒng)的可行性,在實(shí)驗(yàn)室對(duì)整個(gè)系統(tǒng)進(jìn)行了實(shí)驗(yàn),利用信號(hào)發(fā)生器發(fā)射頻率為10KHz,寬度為10ms的單頻信號(hào),通過(guò)換能器將信號(hào)發(fā)射出來(lái),信號(hào)經(jīng)過(guò)信號(hào)預(yù)處理器后傳送至采集卡。本文選擇的是NI CRIO-9014及9215采集卡,可實(shí)現(xiàn)四通道的動(dòng)態(tài)信號(hào)采集,最大采樣率為100kS/s?;贑ompact RIO 平臺(tái)實(shí)現(xiàn)四通道的數(shù)據(jù)采集,上位PC通過(guò)以太網(wǎng)進(jìn)行實(shí)時(shí)遠(yuǎn)程監(jiān)測(cè),四路水聽(tīng)器接收水聲信號(hào),經(jīng)NI 9215采集卡采集后在CRIO-9014的FPGA 底版上直接進(jìn)行信號(hào)處理,對(duì)信號(hào)經(jīng)過(guò)濾波、取包絡(luò)、判決大小、測(cè)時(shí)延等一系列處理,得出每路信號(hào)測(cè)得的目標(biāo)聲源的時(shí)延值。用戶還可以通過(guò)點(diǎn)擊數(shù)據(jù)處理與分析模塊中不同選項(xiàng)來(lái)查看時(shí)域、頻域以及其它信息。結(jié)果表明,本文開(kāi)發(fā)的信號(hào)采集及處理平臺(tái)能夠滿足測(cè)試的要求。
圖6 相關(guān)分析顯示面板
本文利用虛擬儀器技術(shù),結(jié)合NI公司的Compact RIO編程控制器及主控計(jì)算機(jī),建立了一套集數(shù)據(jù)采集、存儲(chǔ)、顯示和信號(hào)實(shí)時(shí)處理于一身的綜合系統(tǒng)。系統(tǒng)可以獨(dú)立完成水聲陣列信號(hào)的采集和大運(yùn)算量的實(shí)時(shí)信號(hào)處理,同時(shí)可以通過(guò)波形顯示控件的設(shè)置,實(shí)現(xiàn)示波器的部分功能。本系統(tǒng)開(kāi)發(fā)周期短、效率高,其可靠性、穩(wěn)定性、測(cè)試精度等方面性能優(yōu)越,并具備良好的擴(kuò)展性和可維護(hù)性,有著廣泛的應(yīng)用前景。
[1]張桐,陳國(guó)順,王正林.精通LabVIEW 程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[2]林正盛.虛擬儀器技術(shù)及其應(yīng)用[J].電子技術(shù)應(yīng)用,1997(3).
[3]何芝霞,黃昶.共享變量技術(shù)在Compact RIO 中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(12):121-123.
[4]李猛,金世俊.基于Compact RIO 的應(yīng)變采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].研究與開(kāi)發(fā),2007,26(7):12-14.
[5]佟春明,王天利.基于LabVIEW 的信號(hào)處理系統(tǒng)開(kāi)發(fā)[J]遼寧工學(xué)院學(xué)報(bào),2003,23(6):17-20.
[6]張旭,張春梅,王尚錦.虛擬儀器軟件LabVIEW 和數(shù)據(jù)采集[J].微機(jī)發(fā)展,2004(3):77-79.
[7]劉麗桑.基于LabVIEW 的虛擬信號(hào)處理系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2007(9):53-54.
[8]李守軍,包更生,吳水根.水生定位技術(shù)的發(fā)展現(xiàn)狀與展望[J].海洋技術(shù),2005(1):130-135.
[9]林濤,謝永興,劉旭東.基于CompactDAQ 的電路板控制與采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2011,39(3).
[10]于平.兩種水聲導(dǎo)航定位算法的應(yīng)用與分析[J].靶場(chǎng)試驗(yàn)與測(cè)量,2004,1:21-23.