代中華 周勝增 程 威 張國超
(上海船舶電子設備研究所 上海 201108)
近年來,隨著各國水下武器裝備技術的突飛猛進,在未來海戰中,來自水下目標的威脅日趨嚴重。能否對水下目標實現正確、快速的檢測和分類,對于海軍水面艦艇的作戰能力和生存能力至關重要。目前對水下目標的檢測分類主要依靠時域、頻域或時頻聯合域的噪聲特性分析[1]。其中基于LOFAR和DEMON的頻域分析技術在國內外目標識別領域中得到了廣泛應用[2~3]。但這些都忽略了聽音員的聽覺感知能力在聲納目標識別中的作用,在聽覺機理下人類可以較容易地分辨聲信號的主觀描述特征。隨著聽覺科學的發展,聽覺生理和聽覺心理研究取得了大量的成果,在語音識別領域中得到了廣泛的應用。將聽覺科學的研究成果應用到對水下目標噪聲信號中,分析聽音員聽覺分類頻幅特征,對提高被動聲納目標識別系統的性能意義重大[4~5]。本文針對水下目標聽音的需求,提出了一種基于VxWorks的水下目標偵聽方法的設計與實現。
通常情況下,聲納處于值班模式,當出現疑似目標時,聽音員對疑似目標所在區域進行偵聽,可對目標類型進行提前預判,或者當威脅目標自動識別后,聽音員需通過偵聽對目標類型進一步確認。
水下目標偵聽模塊的組成及原理如圖1所示。運行平臺主要由信號處理單元、網絡接收單元、核心處理單元、音頻處理單元、操控單元、顯示單元組成。信號處理單元:按照一定頻率的噪聲檢測帶寬,對接收的水下濕端信號在偵聽方位上作時域波束形成,然后將偵聽波束輸出進行帶通濾波,再將得到點數據累積后按照聲納周期輸出給網絡接收模塊。網絡接收單元:接收信號處理波束形成后的信號并通過CPCI總線轉發給核心處理模塊進行數據處理,配置滿足PICMG2.16的千兆以太網接口。核心處理單元:為軟件的運行平臺,完成數據濾波處理、數據轉發、綜合顯示等工作,采用In?tel945GME芯片,配置雙核處理器、主頻1.66GHz、DDR3容量4G。操控單元:負責完成偵聽方位、偵聽目標的選擇。音頻處理模塊:將通過CPCI總線輸入的單聲道波形數字信號還原為單聲道模擬音頻。顯示單元:負責聲納圖像信息、狀態信息、目標跟蹤信息等綜合狀態顯示,配置20.1英寸的液晶顯示屏。耳機、揚聲器:用于聽音員偵聽水下目標或方位的音頻信息。

圖1 記錄重演模塊的工作原理
總之,當聽音員發現偵聽疑似目標或者需要重點關注某一方位時,他可以通過操控單元進行偵聽目標或者方位的選擇,核心處理模塊將輸入的目標或者方位信息通過網絡接收模塊轉發給信號處理模塊,信號處理模塊對該目標方位的水下數據進行波束形成后形成數字音頻信息,并通過網絡接收模塊發送至核心處理模塊,核心處理模塊對數字音頻信息進行濾波等數據處理,并通過CPCI總線將水下數字音頻信息傳輸給音頻輸出模塊進行數模轉換、運算放大等處理,并將模擬音頻信號輸出至揚聲器和耳機供聽音員偵聽。
音頻轉換模塊是偵聽過程中最重要的模塊,其主要功能是將通過CPCI總線輸入的單聲道波形數字信號還原為單聲道的模擬音頻信號輸出。實現時輸入采用一路16kHz采樣率的16位精度數字音頻信號,輸出設計為符合AC97標準的單路模擬音頻信號。音頻輸出模塊主要由PCI接口芯片、FPGA、音頻D∕A轉換器、OP Amps運算放大器等4部分組成,其組成框圖如圖2所示。
來自核心處理模塊的數字音頻信號通過PCI接口芯片輸入至音頻處理模塊內部。由于主機傳輸數據的速度較快,本模塊輸出的音頻速率為16KB∕s,所以需要采用FIFO進行數據緩存[6]。一般情況下高速數據緩存通常采用專用FIFO,但是價格較高,所以我們利用FPGA來實現一個大容量的FIFO,即簡化了系統,又提高了效率,其實現原理如圖3所示。在FPGA模塊中實現數據的緩存和處理,然后處理過的數字音頻信號傳入音頻D∕A轉換器,音頻D∕A轉換器將其轉換為模擬音頻信號,最后模擬音頻信號經過OP Amps運算放大器放大后輸出至耳機和揚聲器。

圖2 音頻處理模塊組成框圖

圖3 音頻處理模塊原理框圖
圖中PCI接口主要完成本模塊與核心處理模塊的通信,可接收PCI總線的控制信號和數字音頻數據,再傳送給本地局部總線,同時可實現對本地局部總線的狀態查詢和數據讀取功能。FPGA主要完成數字音頻信息的緩存和控制兩項任務。FPGA內部有大量的存儲器資源,可以生成FIFO,且FP?GA有大量的門電路,可以生成控制信號控制數據的接收和輸出,同時向PCI接口發送狀態信息。設計時,輸入輸出接口采用CPCI總線接口,切總線符合PICMG 2.0R2.1規范。
偵聽時,來自音頻處理模塊的模擬音頻信號輸出至耳機通道,功率放大后,推動揚聲器播放。插入耳機后自動切斷揚聲器播放,拔出耳機后自動恢復揚聲器播放。耳機通道輸出設計為輸出阻抗32Ω、輸出最大電平 4.5dBu、增益范圍-90dB~30dB、步進0.5dB、帶寬20Hz~20kHz、帶內波動±1dB、信噪比不小于90 dB。揚聲器輸出阻抗為8Ω、輸出最大不失真功率3W。
水下目標偵聽軟件是在VxWorks操作系統、驅動程序和支撐軟件的基礎上開發的應用軟件。操作系統采用美國WindRiver公司開發的一款優秀的商用操作系統VxWorks5.5.1,該系統目前廣泛應用在航空、航天、軍工、工業控制等領域,是業界最流行的嵌入式操作系統之一,并具有高性能的Wind內核、多任務實時調度、時間片輪轉調度、優先級搶占調度、良好的可裁減性等特點[7]。驅動層包含:網卡驅動、顯示驅動、USB接口模塊等。支撐軟件采用了窗口管理及可視化控件、綜合圖形圖像顯示中間件EGK。通常水下目標偵聽軟件是系統軟件的一個部分,以模塊的形式內嵌在系統軟件中。
應用程序界面的開發采用了面向對象的開發方法以及綜合圖形圖像顯示EGK中間件。其中,EGK是當今較優秀的嵌入式跨平臺CHGUI控件庫之一,可支持VxWorks、Jari-Works、Linux等操作系統。EGK采用面向對象的C++平臺無關框架,提供全特征的可裁剪和可定制的控件集,用于實現基于事件驅動的跨平臺的用戶圖形界面開發。用戶可以在既有控件集的基礎上進行控件的二次開發,即用戶自定義控件,以符合特殊應用場合的需求。應用層軟件軟件開發采用圖形開發工具EGK接口API,包含了人機界面中基本的窗口和控件,開發時主要用到了以下四個接口類:Egk_Widget(控件基類)、Egk_Group(控件組類)、Egk_Window(窗口類)和 Egk(全局類)[8~10]。
水下目標聽音作為系統的一項功能,通常以模塊的形式內嵌在系統顯示控制設備中。在作戰或者演習過程中,當聽音員認為有必要對某疑似目標或者疑似方位進行偵聽時,他可以通過鼠標或者按鍵等操控設備進行選擇。偵聽時可以選擇用揚聲器或者耳機進行聽音,也可以插入錄音筆進行錄音,供事后進行分析或聽音訓練。人機交互界面如下圖4所示。

圖4 人機交互界面
數據處理方面,信號處理模塊將波束形成后水下數字音頻信號通過網絡傳至核心處理模塊,核心處理模塊將數字音頻信號進行濾波等預處理后通過PCI總線轉發至音頻轉換模塊,水下數字信號經數模轉換、運算放大后輸出至揚聲器和耳機進行輸出。考慮到人耳聽覺系統獨特的優越性,為增強偵聽效果,本文借鑒語音與音樂識別領域的研究成果,利用Gammatone濾波方法對波束形成后的數字音頻信號進行濾波[11],處理后有效降低海洋背景噪聲,有利于提高聽音員的目標識別能力。偵聽數據流程圖如圖5所示。

圖5 偵聽數據流程圖
在軟件開發過程中,利用Tornado2.2開發環境特有的主機—目標機的開發方式完成軟件的編譯和調試[12]。主機選用裝有Windows XP系統的PC機,配置雙核處理器、2.93GHz主頻、2G內存。目標機為配置Intel X86處理器的顯控臺,裝有VxWorks 5.5.1操作系統。開發調試時將編譯好的。OUT可執行文件并通過網絡加載到目標機RAM中運行,開發過程簡單方便、易于調試。當程序調試好后,利用開發套件工具將程序固化在電子硬盤內,系統上電后將根據配置文件中的入口函數及可執行文件名自動啟動固化的應用程序。
部分代碼示例如下:
int Scb302Init()∕*語音模塊初始化*∕
{
……
if(pciFindDevice(PCI9054_VENDOR_ID,PCI9054_DE?VICE,0,&bus,&dev,&func)==OK)∕*查找pci9054橋設備*∕
{
pciInLong (bus,dev,func,PCI_CFG_ADDRESS_2,&baseAddr);
baseAddr=Addr&0xfff00000;
fifoIE=Addr|SCB302_FIFO_INT;∕*SCB302 本地總線FIFO中斷使能寄存器*∕
……
}
}
taskSpawn("tSCB302Play",200,VX_FP_TASK,0x8000,(FUNCPTR)PlayAcoDat,0,0,0,0,0,0,0,0,0,0);∕*啟動偵聽主任務*∕
void PlayAcoDat()∕*偵聽數據處理*∕
{
∕*數據濾波處理*∕
while(……)
write(fdScb302,(char*)&pData[index],slen);∕*CPCI數 據傳輸*∕
}
本文對在VxWorks操作系統下水下目標偵聽方法的設計與實現進行了詳細描述,并對該方法進行了工程實現,實現結果表明本方法具有通用化設計、移植方便、操作簡單、反應時間短等優點。本文所介紹的技術已經在項目中進行了應用,有利于聽音員對疑似目標進行提前預判或者有助于威脅目標自動識別后,聽音員通過偵聽對目標類型進一步確認。目前該方法還是需要人工參與識別過程,接下來作者的工作重點將是針對濾波后的數據進行目標特征提出,與水下目標特征庫進行比對自動識別目標類型。