練學輝
(海軍駐南京地區雷達系統軍事代表室,南京 210003)
對雷達探測到的目標進行歷史信息分析的前提是對雷達目標信息進行實時的存儲,以及擁有高效的歷史信息查詢分析工具。雷達的工作時間越長,探測到的目標越多,需要存儲的雷達信息也會越多。當大量的雷達目標信息存入數據庫中時,如何從數據庫中快速而有效地找到特定條件下的數據,就在于雷達目標信息在數據庫中存儲的格式以及對應于該格式的高效查詢方法的設計了。為了有效地對雷達目標特性進行研究,要對大量的雷達目標信息進行分析,如對雷達目標信息進行排序、刪除、修改和統計等。
雷達掃描一個周期,將探測到的雷達目標信息通過網絡發送到數據處理程序中進行數據存儲時,因為網絡存在一些不穩定因素可能會造成一定時間內網絡的不通暢,使得雷達目標信息無法實時地存入數據庫中,所以要采用多線程[1]和數據緩存的方式來實現雷達目標數據的實時接收和存儲。具體流程如圖1所示。
數據庫長時間連接失敗會導致雷達目標信息緩存溢出。當緩存達到一定的內存容量的時候,將其清空,或者在必要的時候以文件的形式存入其他存儲介質中,使得后續接收到的雷達目標信息能正常進行存儲。

圖1 雷達目標信息入庫流程
一般情況下,雷達的一個天線掃描周期內雷達探測到的雷達目標數遠小于該周期時間內能存入數據庫的雷達目標信息總量。雷達目標信息入庫的效率一般為每秒能入500 到1000 條,而雷達一個周期內獲取的目標一般不超過200 批,即使算上正常情況下數據傳輸時網絡的延遲,在一個周期的時間內將雷達目標信息全部入庫是完全可行的。這樣,能影響雷達目標信息入庫效率的主要有兩點:網絡延時與數據庫接口的穩定性。網絡延時低,雷達目標信息傳輸的效率就高,數據庫接口穩定則雷達目標信息入庫速度快。反之,網絡延時高,雷達目標信息傳輸的效率就低,甚至丟包,數據庫接口不穩定則雷達目標信息入庫速度慢,甚至一段時間無法入庫。
為了提高雷達目標信息入庫和查詢的效率,不宜將所有雷達目標信息存入同一張表中,必須對雷達目標信息表進行縱向切割[2],即分成許多較小的表格,并給每張表格打上序號,例如TTarTable1、TTarTable2,依此類推。對每張表格要限定一定的記錄條數,條數過多會降低雷達目標信息查詢的效率,條數過少則數據庫中表格數目過多,給數據庫的管理帶來不便。
要管理縱向切割后的雷達目標信息表需新建一張表TTarTableIndex,對每張雷達目標信息表的雷達目標截獲時間最小值和最大值進行記錄。同時,為了將雷達目標信息存入準確的表格中,還需要建立一張表TTarTableInfo來記錄當前存入數據庫中雷達目標記錄的總量和當前雷達目標信息應當存入雷達目標信息表的表名。
在存儲一條雷達目標信息之前,讀取當前應當存入雷達目標信息表的表名以及雷達目標記錄的總量,再將雷達目標信息存入對應的表格中,然后更新雷達信息記錄總量,并根據新的雷達信息記錄總量來判斷是否更新下一條雷達目標信息記錄所要存入的雷達目標信息表的表名,其流程如圖2所示。

圖2 雷達目標信息表格管理流程
雷達前端硬件給出的雷達目標截獲時間有時只是“hh∶mm∶ss”格式,即雷達目標截獲時間只有時分秒,而沒有年月日。在進行雷達信息查詢的時候,沒有年月日意味著無法正確地查出在某一天的某段時間內的雷達目標信息。那么,只有在雷達目標信息入庫時為雷達目標的截獲時間添加年月日信息,改為“yyyy-MM-dd hh∶mm∶ss”格式。
雷達目標信息從前端經過數據處理和網絡發送,再通過雷達目標信息入庫程序多線程的數據處理,雷達目標截獲時間和入庫時間往往有一定的延遲。如果給雷達目標的截獲時間前面添加雷達目標信息入庫時年月日信息的話,在雷達工作過午夜零點時可能存在雷達目標入庫截獲時間的年月日比實際雷達目標截獲時間多出一天的情況。比如,某雷達目標的時間截獲時間是“2012-1-15 23∶59∶58”,而實際入庫時已到了“2012-1-16 00∶00∶03”,這時給雷達目標的截獲時間添加年月日信息就成了2012-1-16 23∶59∶58”,比實際時間剛好多了一天。
要解決這個問題,就必須將雷達目標的截獲時間與入庫時間進行比較,即將待入庫的雷達目標信息中的截獲時間加上入庫時間的年月日,然后和當前時間比較;如果前者比后者大上至少1h,說明待入庫的雷達目標信息的實際截獲時間應為添加了年月日后的截獲時間減去一天。圖3 給出了一條雷達目標信息截獲時間的獲取過程。
在雷達目標信息入庫的時候,一般是一個周期或者數個周期的雷達目標信息一起入庫,而同一個周期的雷達目標信息的截獲時間不一定是按照時間先后來排列的。因此,在所有待入庫的雷達目標都獲取正確的截獲時間后,將其按照時間升序來排序,這樣雷達目標信息表中的記錄也是時間升序的,從而便于對雷達目標信息進行管理。

圖3 雷達目標截獲時間獲取流程
將大量的雷達目標信息存入雷達目標信息表中后,需要高效而準確地從眾多的雷達目標信息中提取滿足一定條件,如某一時間段中的某個頻段內的雷達目標信息,進而對提取出來的信息進行分析。
根據雷達目標信息表的設計和雷達目標信息入庫的特點,雷達信息表中的雷達目標信息是按照截獲時間的先后來存儲的。雷達目標信息表的管理表格TTarTableInfo中記錄有每張雷達目標信息表第一條記錄和最后一條記錄中的雷達目標截獲時間。因此,可以在查詢雷達目標信息時,先從雷達目標信息表的管理表格TTarTableInfo中提取滿足時間條件的雷達目標信息表的表名,進而在對應的表格中來查詢出滿足諸如頻段等條件的雷達目標信息。TTarTableInfo中記錄的數據量遠小于每張雷達目標信息所要存儲的數據量。先從該表中找到所需的數據表的名稱,能迅速地將查詢的范圍限定在一定范圍內,從而提高了查詢的效率。雷達目標信息表中的雷達目標信息是嚴格按照雷達目標的截獲時間先后來進行的,那么TTarTableInfo中的雷達目標信息表信息也是按照時間先后來存儲的,從而保證了雷達目標信息查詢結果的準確性。圖4 示出了雷達目標信息查詢的流程。
在查詢的時間段長度比較大時雷達目標信息查詢的結果也比較多,在對查詢結果進行顯示時也會占用較多的計算機內存和時間。這樣,就應該對查詢結果進行有限顯示,即設定查詢和顯示記錄的條數,從而縮短雷達目標信息查詢顯示的時間。

圖4 雷達目標信息查詢流程
雷達目標一般分為兩種,一種是主動雷達探測到的目標,這種目標的信息主要包括目標的方位、距離、運動方向和運動速率,這里稱之為主動目標;另一種是被動雷達探測到的目標,這種目標的信息則主要包括目標輻射源的載頻、重復周期、脈寬和脈內調制類型,這里稱之為被動目標。根據這兩種雷達目標信息內容的不同要分別進行分析。
對于主動目標,將某個時間段內的某個方位段中的所有目標從數據庫中查詢并顯示出來,可以觀察出雷達目標在該時間段中的運動特點。當然,更直觀的方式是根據數據庫中的數據結合電子海圖回放出該時間段內雷達目標的運動軌跡,如圖5所示。

圖5 雷達主動目標回放分析示意圖
對于被動目標,除了有定位結果的目標之外,是無法獲取其具體位置信息的,只能獲取該目標所在方位,而不能得到該目標的運動軌跡。但是,結合電子海圖,有時可以獲取目標一些特殊的信息。比如,在目標所在的某個方位上只有一個國家,就大致能判斷出該目標的所屬國家了。對于有定位結果的被動目標,雖然不能判斷出該目標的運動速率,但是根據其定位點可以進行目標軌跡的擬合,從而粗略地獲取其運動的特點,同時還能根據目標的載頻、重復周期和脈寬來判斷該目標的輻射源特性。將一系列輻射源的參數進行方差、均方根計算等數據分析,可以判斷被動目標參數的相關特性。比如,在分析某一批滿足一定條件的被動目標信息時,將某些不符合分析者其他要求的被動目標刪除,進而對剩余的被動目標信息進行統計,得到被動目標載頻頻段、重復周期及脈寬等的特點。這種統計在分析復雜的信號時尤其必要。
通過實際工程中的應用,證明這種對雷達目標信息的存儲與查詢分析技術是行之有效的。當然,隨著信號處理技術的不斷發展,雷達目標信息的復雜性會越來越高,復雜信號的存儲和查詢也會更加困難,分析技術必須不斷地改進來適應處理雷達目標信息的要求。
[1]Gary J.Bronson.C++程序開發與設計[M].北京:人民郵電出版社,2000.
[2]李香敏.SQL Server 2000 編程員指南[M].北京:希望電子出版社,2000.