張 錚 張怡珺
(中船重工第715研究所 杭州 310023)
直接序列擴頻信號因其隱蔽性好、抗干擾能力強[1]等特點,在需要保密的水聲通信,尤其是潛艇通信中有著極為廣泛的應用。為了檢測非合作條件下的直擴信號,國內外學者先后提出過多種方法,如功率譜法及其改進方法[2],二次譜法[3]和倒譜法[4~5],利用信號自相關特性的方法[6],基于循環譜理論方法[7~8],高階累積量方法[9~10]等。多種方法在直擴信號的檢測與估計方面各有利弊,雖有檢測差異,但尚做不到某種方法全面領先,尤其是面對復雜多變的水聲信道環境,多種方法的檢測效果有待進一步驗證[11~12]。為此,基于 LabVIEW語言設計開發了一款集合了功率譜法、倒譜法、自相關法及其相應的改進方法的檢測軟件,配合采集卡等設備,實現水聲直擴信號地實時采集存儲、檢測處理和結果顯示。
利用 LabVIEW語言圖形化編程的特點[13~14],整個軟件系統采用模塊化設計,既保證了各軟件模塊之間的相對獨立性,便于編寫和調試,又能保證各模塊完成一定的工作任務,提高了軟件各功能的統一性,增加了程序的可移植性和可擴展性。
檢測軟件主體分為數據采集和信號處理兩大部分,兩部分作為兩大基礎模塊,其他各種功能模塊都作為小模塊嵌入兩大基礎模塊中,具體組成如圖1所示。
整個檢測軟件的數據流結構如圖2所示。
基于LabVIEW虛擬儀器的測試系統具有一種典型的硬件結構:通過傳感器將待測量的物理信號轉換成電信號;轉換后的電信號經信號調理器如測量放大器、功率放大器等進行預處理;處理后的模擬信號經數據采集設備轉換為數字信號,便于計算機軟件處理;最后,數字信號傳入計算機中進行后續處理。本系統所使用的傳感器為水聽器,數據采集設備為NI公司的數據采集卡。
直擴檢測系統的數據采集模塊正與硬件結構中的采集設備對應,通過軟件設定、驅動和控制硬件采集設備的工作狀態。本系統的數據采集模塊采用了經典的生產者-消費者數據處理結構,數據采集執行的具體步驟為
1)設定設備參數,保證軟件能夠與硬件采集設備通信;
2)設定采樣率、采樣模式、每次采集數據大小等相關采集參數,確保采集設備按要求采集;
3)在生產者循環中連續采集數據,當采集到的數據滿足一定條件后存入數據隊列中。在添加數據顯示控件的情況下,可實時顯示采集數據波形,便于觀察判斷;
4)存入隊列中的數據按順序進入消費者循環,信號處理模塊在消費者循環中提取并處理數據。
在一般的采集系統中,經常出現一次采集數據中未能包含完整的一幀信號的情況。對于直擴檢測系統來說,當采集的一窗信號中包含信號部分過少時,極大地降低了檢測性能,容易造成信號漏檢。為了防止這種情況的出現,本系統軟件的數據采集模塊做出了一定的改進。數據采集卡每次采集一窗數據并依次將之存入數據隊列,如圖3所示,編號為A1、A2……An。編程實現提取隊列前端元素A1,并預覽隊列前端元素A2,由A1、A2組成一包數據一起進行數據處理,之后再銷毀A1的方案。在完成一次數據處理后,A2又作為隊列前端元素被提取,預覽隊列前端元素A3,由A2、A3組成一包數據一起處理,之后銷毀A2。由此實現每次處理一包數據后,向后移動半包數據,能最大可能地保證每次進行信號處理的數據中包含盡可能多的有用信號,提高檢測效果。
信號處理模塊是直擴檢測系統的運算處理核心,能夠實現對輸入的信號進行相關處理并輸出處理結果等功能。為了實現檢測系統軟件中兼容包含多種直擴信號檢測方法,信號處理模塊采用了一種二級并行選擇結構,即先從功率譜檢測、自相關檢測和倒譜檢測三大類檢測方法中選擇一種,再從對應的下拉菜單選項中選擇具體的檢測方法,以此實現多種檢測方法整合在一款直擴檢測系統中。
當一二級方法選擇不對應時(例如一級方法選擇倒譜檢測,二級方法選擇自相關法),軟件使用一級方法的默認方法。為了避免上述情況發生,編程設定了當一級選擇完成后,自動禁用未選擇的其余兩種二級選擇菜單。
信號處理部分軟件執行的具體步驟為
1)選擇具體直擴檢測方法;
2)根據選擇方法設定對應參數,其中窗長參數作用于Bartlett法、Welch法、改進倒譜和改進自相關四種方法;步進長度參數作用于Welch法和改進自相關法;自回歸階數和NFFT點數兩個參數專用于功率譜檢測的自回歸檢測方法;閾值參數是各種方法檢測判斷信號有無的基準,因此各種方法都需要此參數,但不同方法需要的閾值并不相同。
3)經生產者結構采集的數據進入信號處理模塊,根據選定的方法和參數處理數據,最終輸出檢測波形并判斷信號存在性。
為了驗證所設計開發的檢測軟件的實際運行結果,在信道水池做了驗證實驗。水池長45m,寬6m,深5m,水池四壁有吸聲尖劈。發射換能和水聽器全為無指向性換能器,水聽器為BK8104標準水聽器。換能器吊放在水池2m深處,收發換能器間相距7m,換能器間保持相對靜止。所用采集卡為NI公司的USB-6356。另外,實驗還需要一臺計算機運行檢測軟件。
直擴檢測軟件顯控界面如圖3所示,在本實驗中,設定檢測參數為窗長1024點,步進長度512點,自回歸階數128,NFFT點數2048,檢測閾值根據檢測方法設定。設定數據采集參數為采樣率50000Hz,采樣方式為連續采樣,每次采集點數為50000點,即每次采集1s數據。
實驗所用直擴信號采用BPSK調制,采樣率fs=50000Hz,載波頻率 f0=6000Hz,碼片時長0.0005s,偽隨機碼階數為8,即用255位偽隨機碼對信息碼進行擴頻,共50個信息碼。生成的直擴信號經計算機聲卡傳遞給發射換能器發射。
為了檢測算法和軟件在較低信噪比條件下的檢測結果,實驗過程中始終保持以較低能量發射信號,由此導致采集到的信號幅度較小,但不影響算法檢測。較具代表性的Welch法、倒譜法和改進自相關法檢測結果如圖5~7所示,左側為有信號時局部檢測界面,右側為無信號時檢測對比圖。
多種功率譜檢測方法在無信號時的檢測結果顯示,水池的水聲信道環境復雜,具有多個很強的單頻信號,其中3kHz,6kHz,13.25kHz和16.5kHz等幾個信號幅度較強,在一定程度上影響功率譜方法檢測。另一方面,在無信號時功率譜檢測方法并未受這幾個單頻信號影響,判定信號存在,這也說明了軟件的信號處理部分能在一定程度上抑制單頻干擾影響,保證檢測算法有較低的虛警概率。倒譜法和自相關檢測方法利用直擴信號的周期性進行檢測,從檢測結果可以看出,多個窄帶單頻干擾基本未影響到直擴信號的檢測。
本款利用LabVIEW開發的水聲直擴信號檢測軟件經過水池實驗驗證,配合采集卡、水聽器等設備能夠實現對水聲直擴信號地實時采集存儲,檢測處理和結果顯示。軟件包含了功率譜法、倒譜法和自相關法三大類直擴信號檢測方法及相應的改進方法,能夠根據環境實時變換檢測方法,發揮多種方法聯合檢測的優點。