一種基於任務自動分配的主被動水聲陣列信號仿真並行計算方法與流程
2023-04-27 21:48:21 2

本發明涉及機群式並行計算機領域,水聲陣列信號模擬領域、顯示控制領域,尤其涉及一種基於任務自動分配的主被動水聲陣列信號仿真並行計算方法。
背景技術:
近些年來,高性能並行計算技術飛速發展,適合於實驗室使用的並行計算機越來越普及,基於並行計算機搭建的水聲陣列信號模擬器也越來越多。但是,這類模擬器對環境適應性不足、擴展性不強,當硬體並行計算發生變化或者仿真方法優化後必須重新設計體系架構,這樣對資源造成了巨大浪費。
為適應新一代網絡化、集成化、一體化和高性能的聲納系統,在實驗室利用高性能並行計算機實現任務自動分配、可擴展性強、實時性好的主被動水聲陣列信號仿真並行計算應運而生。
技術實現要素:
本發明的目的在於克服現有技術存在的不足,而提供一種基於任務自動分配的主被動水聲陣列信號仿真並行計算方法,解決如何應用高性能並行計算機實現任務自動分配、負載均衡、實時性好和可擴展性強的主被動水聲陣列信號仿真並行計算。
本發明的目的是通過如下技術方案來完成的。這種基於任務自動分配的主被動水聲陣列信號仿真並行計算方法,該方法包括如下步驟:將結點和管道的設計方法引入主被動水聲陣列信號仿真,結點負責仿真並行計算的數據計算,管道負責結點間的數據傳輸,各個結點內部通過域分解的形式分解為控制節點和計算節點,控制節點負責將計算節點自動分配到各個計算核心,並分發和回收計算節點的輸入輸出數據,實現了任務自動分配、負載均衡、實時性好的主被動水聲陣列信號仿真並行計算。
本發明給出了一種可擴展性強的主被動水聲陣列信號仿真並行計算,當仿真的目標數量、基陣陣形、目標運動軌跡仿真方法、目標噪聲源信號仿真方法、水聲傳播信道仿真方法、海洋環境噪聲仿真方法或者自噪聲仿真方法變化時,同樣可以實現高並行度、負載均衡的主被動水聲陣列信號仿真。
本發明的有益效果為:
(1)本發明採用機群式並行計算機實現多套大型聲納設備的水聲陣列信號仿真,硬體資源的分配和數據鏈路由並行計算機自動完成,各個建模仿真子任務自動分配運行在各個計算核心上,數據流、控制流均通過網絡通訊方式自動實現,不需要人為幹預、不依賴於硬體,極大地提高了軟體開發的靈活性和可重構性。同時實現了硬體與軟體並行計算的分離,主被動水聲陣列信號仿真方法在一個通用的開發環境中進行,簡化了軟體開發的難度。聲納模擬器輸出的主被動水聲陣列信號精度高,實時性強,滿足聲納信號處理的性能要求。
(2)本發明實現的主被動水聲陣列信號仿真系統可擴展性強,當仿真的目標個數、基陣陣形和數學建模方法發生變化時,仿真系統能靈活的再分配計算任務,從而實現對不同目標個數、不同陣形和不同仿真方法的兼容。
附圖說明
圖1:主被動水聲陣列信號仿真並行計算的拓撲圖;
圖2:主被動水聲陣列信號仿真並行計算的結點內部結構;
圖3:主被動水聲陣列信號仿真並行計算的物理結構。
具體實施方式
下面將結合附圖對本發明做詳細的介紹:
本發明所述的這種任務自動分配的主被動水聲陣列信號仿真並行計算方法,該並行計算方法包括如下步驟:
第一步:主被動水聲陣列信號仿真並行計算以高性能PC機為信號控制單元,利用高性能linux並行計算機實時仿真主被動水聲陣列信號。在此基礎上,引入結點和管道的概念,其中結點負責仿真並行計算的數據計算,管道負責結點間的數據傳輸,並且將主被動水聲陣列信號仿真並行計算涉及的數據計算分解為解析推演目標信息結點、基陣端目標被動信號仿真結點、基陣端目標回波信號仿真結點、海洋環境噪聲仿真結點和打包發送結點,分別記為結點1、結點2、結點3、結點4和結點5,結點之間通過管道傳輸數據。其中,結點1分別負責解析目標和本艇的態勢信息及目標噪聲源信號;結點2負責仿真目標噪聲源信號、水聲傳播信道和噪聲源信號到達基陣端的陣列信號;結點3負責仿真主動信號、水聲傳播信道和回波信號到達基陣端的陣列信號;結點4負責仿真海洋環境噪聲信號和本艇自噪聲信號,同時接收來自結點2和結點3的目標陣列信號並求和;結點5根據採樣率以一定的節拍將數據發送給聲吶信號處理並行計算。各個結點內部通過域分解的形式分解為:控制節點和計算節點,其中控制節點負責將計算節點自動分配到各個計算核心,並分發和回收計算節點的輸入輸出數據。
主被動水聲陣列信號仿真並行計算的體系架構和物理結構如圖1、2、3所示。記被動目標個數為M1,可能被主動聲吶打主動的目標個數為M2,採樣率為Fs,基陣的陣元個數為L,仿真的一幀陣列信號長度為K;
第二步:機群式並行計算機分別為海洋環境噪聲仿真結點和打包發送結點分配一個計算核心,為解析推演目標信息結點、基陣端目標被動信號仿真結點和基陣端目標回波信號仿真結點分配若干個計算核心來執行計算任務。
第三步:解析推演目標信息結點接收來自PC機端的目標、本艇和海洋環境的相關信息,並解析出目標和本艇的態勢信息及目標噪聲源信號。然後,按一定節拍實時推演目標和本艇的態勢信息,同時將當前節拍對應的目標和本艇的態勢信息以及解析後的目標噪聲源參數打包發送給基陣端目標被動信號仿真結點和基陣端目標回波信號仿真結點;
第四步:基陣端目標被動信號仿真結點實時接收來自解析推演目標信息結點的目標和本艇的態勢信息以及解析後的目標噪聲源參數。然後,根據獲得的目標噪聲源參數建立目標噪聲信號模型,實時計算出一幀目標噪聲源信號。同時,將目標噪聲源信號和水聲傳播信道做卷積計算出經過水聲傳播信道的參考陣元端的目標被動信號,並且,利用參考陣元端的目標被動信號根據目標和本艇的實時態勢信息仿真出基陣端其他陣元的目標被動信號。最後,將實時計算獲得的基陣端被動目標信號打包發送給海洋環境噪聲仿真結點;
第五步:當本艇發射主動信號時,基陣端目標回波信號仿真結點實時接收來自解析推演目標信息結點的目標和本艇的態勢信息以及解析後的主動信號參數。然後,根據獲得的主動信號參數建立主動回波模型,實時計算出一幀回波信號。同時,將回波信號和水聲傳播信道做卷積計算出經過水聲傳播信道的參考陣元端的回波信號,並且,利用目標和本艇的實時態勢信息仿真出基陣端其他陣元的回波信號。期間,同時完成海洋混響信號的模擬。最後,將實時計算獲得的基陣端回波信號打包發送給海洋環境噪聲仿真結點;
第六步:海洋環境噪聲仿真結點實時完成海洋環境噪聲信號和本艇自噪聲信號仿真並接收來自基陣端目標被動信號仿真結點和基陣端目標回波信號仿真結點的陣列信號,然後將海洋環境噪聲、本艇自噪聲和基陣端主被動信號疊加,從而獲得實時的陣列信號。最後,將實時的陣列信號發送給打包發送結點;
第七步:打包發送結點實時接收來自洋環境噪聲仿真結點的主被動陣列信號,利用定時器中斷函數將主被動陣列信號分批打包,通過高性能網絡發送給聲吶信號處理並行計算。
進一步:所述第二步中,解析推演目標信息結點、基陣端目標被動信號仿真結點和基陣端目標回波信號仿真結點的計算核心分配策略如下:
步驟101),記推演單目標態勢信息消耗的時間為t,M1個目標和本艇態勢信息推演的計算時間為M1·t。主被動水聲陣列信號仿真並行計算按照目標個數、目標態勢信息推演的計算時間、採樣率Fs和一幀陣列信號長度K從並行計算機自動申請m個計算核心執行解析推演目標信息任務。m滿足:
其中,表示向上取整。
然後,將申請用於結點1數據計算的m個計算核心依次排序,記為計算核心1,2,…,m。其中,計算核心1不僅是結點1的計算節點也是結點1的控制節點,對內一方面負責將解析推演目標信息的計算任務依據儘可能保持負載均衡的原則分解到m個計算核心,另一方面負責將從PC信號控制單元獲得的目標、本艇和海洋環境的相關信息以廣播的方式分發給其他計算核心,待m個計算核心完成數據計算後再將信息匯聚到計算核心1,對外負責和PC信號控制單元以及結點2和結點3的管道通信。
步驟102),記仿真單目標一幀噪聲源信號消耗的時間為T1,單目標一幀噪聲源信號和水聲傳播信道卷積消耗的時間為T2,利用參考陣元端的目標被動信號計算出其他單個陣元的目標被動信號消耗的時間為T3,則主被動水聲陣列信號仿真並行計算從並行計算機自動申請np個計算核心用於M1個目標的基陣端被動信號仿真。np滿足:
其中,表示向上取整。
然後,將申請用於結點2數據計算的np個計算核心依次排序,記為計算核心1,2,…,np。其中,計算核心1不僅是結點2的計算節點也是結點2的控制節點。一般情況下,單個計算核心足以實時計算單目標對應L個陣元的被動信號任務,此時將單目標對應L個陣元的被動信號任務分配在單個計算核心,np個計算核心負載均衡,以減少結點內的通信,並將從結點1獲得的目標和本艇的態勢信息以及解析後的目標噪聲源參數等相關信息以廣播的方式分發給其他計算核心;當單個計算核心的計算能力不足時,計算核心1隻負責實時計算M1個目標的噪聲源信號,並將計算得到噪聲源信號以廣播的方式分發給計算核心2,…,np,計算核心2,…,np依據儘可能保持負載均衡的原則仿真M1個目標的基陣端被動目標信號。待np個計算核心完成數據計算後再將信息匯聚到計算核心1,計算核心1同時負責和結點1以及結點4的管道通信。
步驟103),記仿真單目標一幀回波信號消耗的時間為T4,單目標一幀回波信號和水聲傳播信道卷積消耗的時間為T2,利用參考陣元端的回波信號計算出其他單個陣元的回波信號消耗的時間為T3,則主被動水聲陣列信號仿真並行計算從並行計算機自動申請na個計算核心用於M2個主動目標的基陣端回波信號仿真。na滿足:
其中,表示向上取整。
然後,將申請用於結點3數據計算的na個計算核心依次排序,記為計算核心1,2,…,na。其中,計算核心1不僅是結點3的計算節點也是結點3的控制節點,對內一方面負責將基陣端目標回波信號仿真的計算任務依據儘可能保持負載均衡的原則分解到na個計算核心,另一方面負責將從結點1獲得的目標和本艇的態勢信息以及解析後的目標噪聲源參數等相關信息以廣播的方式分發給其他計算核心,待na個計算核心完成數據計算後再將信息匯聚到計算核心1,對外負責和結點1以及結點4的管道通信。
在完成主被動水聲陣列信號仿真任務的拓撲圖和計算核心分配的基礎上,主被動水聲陣列信號仿真的任務分配模塊自動完成集群任務到物理計算節點的映射,從而實現了高並行度、負載均衡的主被動水聲陣列信號仿真。
本發明的軟體包含兩部分:主被動水聲陣列信號仿真部分運行在裝有Linux作業系統的高性能並行計算機上,信號控制臺運行在與並行計算機聯網的PC機上。
主被動水聲陣列信號仿真系統在默認情況下,調用本系統自帶的目標運動軌跡仿真方法或者目標噪聲源信號仿真方法、水聲傳播信道仿真方法、海洋環境噪聲和自噪聲仿真方法實時計算主被動水聲陣列信號。當仿真並行計算要求完成基陣端的28個目標被動信號和6個目標主動回波信號時,依據採樣率、基陣的陣元個數和一幀陣列信號的長度分別為結點1、結點3、結點4和結點5分配1個計算核心,為結點2分配7個計算核心,其中結點2的7個計算核心並行仿真基陣端的4個目標被動信號。
信號控制臺配置完基本功能,設置好目標態勢信息、目標個數、目標噪聲源、水聲傳播信道和海洋環境參數等信息後,主被動水聲陣列信號仿真在並行計算機的MPI庫環境下啟動並行軟體,由仿真任務分配模塊自動完成集群任務到物理計算節點的映射,從而實現高並行度、負載均衡的主被動水聲陣列信號仿真。
可以理解的是,對本領域技術人員來說,對本發明的技術方案及發明構思加以等同替換或改變都應屬於本發明所附的權利要求的保護範圍。