楊沁泓,付 林,焦 禹,孔 玥
(中國船舶集團有限公司第八研究院,南京 211153)
分布式視頻處理技術作為基于服務器組網絡傳輸的新型拼接技術,可以提高信息處理的速率和容量,但處理后的信息通過網絡發送到后端顯示軟件具有亂序、片段化、數據疏、漏等缺點。
本文提出一種適應亂序數據包的雷達回波平滑顯示方法,實現掃描線及回波在態勢顯示區域順時針更新,能精確呈現搜索雷達的探測結果,同時兼容不同型號處理器組采樣能力造成的扇區數據疏、漏或間隙,實現扇區數據間的平滑處理,保證用于態勢顯示的回波視頻數據準確、紋理精細。
顯示軟件將態勢顯示區分割成n個圓心角為θ/n的扇形區域,再通過對雷達回波進行全程全方位的特征提取,識別出全部雷達回波的特征,根據方位、距離轉化成屏幕的縱、橫坐標,把雷達回波特征可視化映射至態勢顯示區對應的扇形區域,可以用以下公式實現轉換:
dx=Υ×sin(α×π÷180)
(1)
dy=Υ×cos(α×π÷180)
(2)
Px=X0+dx×R÷Sr+λx
(3)
Py=Y0-dy×R÷Sr+λy
(4)
式中,α、β分別為方位和仰角,°;Υ為距離;X0、Y0分別為原點像素x值和y值;dx、dy分別為距離在x、y方向的分量值;R為半徑的像素值;Sr為當前量程(由放大比例確定),與dx和dy量綱相同;λx、λy分別為偏心x和y分量;Px、Py分別為x方向和y方向的屏幕坐標。
圖1給出了回波視頻數據包經解析后投影至對應扇區的示意。

圖1 扇區示意圖
分布式處理器的處理能力、截取的數據包內容、網絡傳輸速率、拆包等原因導致視頻數據無法按照天線掃描的順序依次到達顯示軟件,造成掃描線擺動、雷達回波更新亂序等現象,不符合搜索雷達顯控軟件中掃描線和回波信息跟隨伺服天線0°~360°順時針旋轉及更新的作戰需要和使用習慣。
同時,大量程、高分辨率的回波數據采用單報文傳輸將超過網絡傳輸字節限制,須將該回波數據截取成多個報文包分次發送給顯示軟件,顯示軟件將其進行拼接再實時顯示。
另外,采樣率的選取可能造成方位扇區疏或漏,顯示軟件面向用戶,須保證回波視頻紋理的精度和連續,因此必須實現扇區數據間的平滑處理。
本文算法流程包括數據接收、方位排列、數據拼接、視頻紋理平滑處理和回波視頻繪制等,如圖2所示。
開辟網絡線程和緩沖區A,無差別接收雷達并行數據處理器1~N的回波數據。為緩沖區A設置標志位,表示A[i]數據元素是否更新或刪除,其中i表示緩沖區A內數據元素所在位置,將該標志位作為索引關鍵字,按網絡包到達先后順序將收到的扇區回波數據放入緩沖區內尚未更新的位置,并將該位置的標志位置為true,此時緩沖區A未排列也未拼包。

圖2 算法流程圖
視頻數據包攜帶方位計數器信息,可作為視頻數據的標記,再通過下述方法進行視頻數據包排列:
對于大小為BufferNum的緩沖區A,設置變量i、j用于指向緩沖區A內的元素位置,其中i=0(即指向緩沖區A的第1個數),j=BufferNum-1(即指向緩沖區A的最后1個數);將第1個數組元素賦值給pivot(即pivot = A[0])。從最后1個數由后向前開始遍歷(j--),當找到滿足以下兩個條件任意一個條件的元素時,交換i和j指向的數據元素:
(1)(A[j].unAziCount>=pivot.unAziCount)&&((A[j].unAziCount - pivot.unAziCount) <60000);
(2)(A[j].unAziCount<=pivot.unAziCount)&&((pivot.unAziCount- A[j].unAziCount) >60000)。
從第1個數由前向后開始遍歷(i++),當找到滿足以下兩個條件任意一個條件的元素時,交換i和j指向的數據元素:
(1)(A[i].unAziCount <= pivot.unAziCount) &&((pivot.unAziCount-A[i].unAziCount)<60000);
(2)(A[i].unAziCount>=pivot.unAziCount)&&((A[i].unAziCount - pivot.unAziCount) >60000)。
循環重復直至i=j,將pivot元素賦值給A[i],此次循環結束。
遞歸重復上述過程,最終實現緩沖區A中的數據按掃描線順時針排列。假設緩沖區A內未經排列的回波報文的脈沖計數器序列為 {65534,65533,65535,65532,2,3,1,4,0},則排列后的回波報文的脈沖計數器序列為 {65532,65533,65534,65535,0,1,2,3,4}
順序提取排列后緩沖區中的元素,將同一扇區的回波數據片段按圖3所示拼接成一個完整的扇區數據,清空被提取的內容并將標志位(bVideoUpdate)置為false。

圖3 數據拼接示意圖
將拼接好的數據填入視頻紋理環形緩沖區,同時更新寫指針;繪圖線程讀取視頻紋理環形緩沖區內容,繪制視頻紋理,同時更新讀指針。
針對扇區采樣點出現的間隙,通過下式實現數據平滑填充:
(5)
式中,Data1為上一個方位上的回波數據;Datan為當前方位上的回波數據;Datai為填充在i方位上的回波數據;Indexi為i方位量化至態勢顯示區上的索引值,如圖4所示。

圖4 視頻紋理填充示意圖
通過設置合適的投影矩陣和合適的視口將圖形映射到屏幕坐標,或通過其他方式實現雷達回波的顯示。
實驗平臺基于分布式處理器組,視頻數據經光纖發送至分布式處理器的進機卡中,再經服務器輪詢處理后發送給顯示軟件。
本文使用基于OpenGL紋理映射機制,用于處理后的回波顯示。通過本文所提方法處理后,顯示效果如圖5所示。
經實驗證明,本文方法符合態勢顯示跟隨搜索雷達伺服天線0°~360°順時針旋轉探測而更新的作戰需要和使用習慣,能夠實現大量程、高分辨率的信息傳輸及顯示,克服不同型號處理器組采樣能力造成的扇區疏、漏或間隙,實現扇區間的平滑處理,保證回波視頻紋理的精度和細膩度。后續將在距離副瓣的填充算法、節約數據預處理時間和效率方面進一步展開研究。

圖5 處理后的回波顯示效果