李 偉
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)
由于電子對抗以及各種實際應用的需求越來越旺盛,雷達技術近些年獲得了極大發展,信號環境也越來越復雜,各方面因素導致雷達接收機所能接收到信號的質量大大下降。傳統的建立在容差上的雷達信號分選受參數變化的影響大,所以需要更能適應復雜信號環境的參數測量算法,但這往往是不容易的,而且在脈沖描述字(PDW)參數相近時傳統方法幾近失效,已經無法適應新環境[1-2]。
在實際進行雷達信號分選時分析發現,將盲源分離算法和聚類算法應用于雷達信號分選時兩者有很強的互補特性,因此本文試圖將ICA算法的改進方法Fast ICA[3]以及K-Means算法的改進方法K-Means++[4]分別優化后融合,設計一種高密度脈沖流環境下的未知雷達源實時分選方法,通過Amdahl加速比定律于CPU+GPU異構系統將其加速實現。
Fast ICA算法一般有如圖1所示流程,主要分為數據預處理、循環迭代和后處理三部分。

圖1 FastI CA算法流程圖
預處理部分主要完成數據的去冗余化過程,主要包括數據中心化和白化。數據經零均值化后可有效消除迭代時的zig-zag運動,并且可以得到協方差矩陣為單位陣的效果,可以有效減少主處理迭代次數,提升運算效率。數據白化具體為去除數據中的相關性,達到數據降維的目的,一種常見的白化方法是對數據的協方差進行奇異值分解(SVD),假設經中心化后的矩陣為X,白化后的信號矩陣為C,C各分量之間不相關且有單位方差,其協方差矩陣滿足E{CCT}=I,則上述基于SVD的白化方法可描述為:
E{CCT}=FDFT
(1)
式中:F為E{CCT}的特征向量組成的正交陣;D為E{CCT}的對角特征值矩陣,則白化矩陣W=D-1/2FT,白化后的信號C可表示為C=D-1/2FTX。
白化操作能有效減少迭代部分的待估參數,若X要估計n2個參數,則C只需要估計n(n-1)/2個,減少了ICA一半的工作量。
主處理部分為根據設定條件循環迭代求取分離矩陣。由于目標函數的選擇直接決定著ICA的速度和質量,本文選擇的基于負熵的Fast ICA算法的目標函數可表示為[3,5]:
J(B)={E{G(BTZ)}-E{G(V)}}2
(2)
式中:B為分離矩陣;E(·)為求均值運算;V為與BTZ協方差相同且為零均值的高斯隨機向量;G(V)為非線性函數,本文選取G(V)=tanh(V)。
本算法估計獨立成分是通過將式(3)所示目標函數最大化來實現,而G(B)的極大值在E{G(BTZ)}的極值點處取得。由拉格朗日條件,可在E{(BTZ)T}=‖B‖2=1的約束條件下,通過求解下式來獲取E{G(BTZ)}的最優值:
E{Zg(BTZ)}+βB=0
(3)

據式(3)建立函數:
F(B)=E{Zg(BTZ)}+βB
(4)
利用牛頓迭代法對式(4)進行求解,得到近似牛頓迭代公式:
(5)
則由簡化后的Fast ICA迭代公式:
(6)
可得分離矩陣B。
后處理則是利用得到的分離矩陣B并結合觀測信號Xi求得近似的源信號Yi=BTXi。
以上Fast ICA算法可以概括為以下幾個步驟:
第1步:將硬盤中的觀測數據讀入內存,CPU準備處理。
第2步:數據預處理,將讀入的雷達脈沖數據做中心化和白化處理。
第3步:設定分離控制條件,對預處理后的數據進行循環迭代運算求解分離矩陣。
第4步:根據觀測信號及分離矩陣求解估計的未知雷達源信號。
第5步:將數據由內存寫入硬盤。
K-Means++算法由K-Means算法改進而來,只不過是初始聚類中心選取方法不同,先介紹K-Means算法的工作原理,具體如下:
第1步,想要把輸入樣本數據分為幾類,就將K設置為幾,然后在樣本數據中隨機選取K個初始點作為初始聚類中心;
第2步,求所有樣本點到這K個初始點的距離,離哪個初始點近就將其歸于哪一類;
第3步,對每一聚類好的簇重新計算聚類中心μi;
第4步:重復第2步和第3步直到μi的位置在給定誤差內變化。
由于K-Means算法初始聚類中心選取時是隨機的,因此每次聚類都可能出現不同的聚類結果,而且容易陷入局部最優聚類,而K-Means++就很好地解決了這個問題,選取初始點不都是隨機的,而是根據不同聚類之間分得“越開越好”的原則,具體步驟如下:
第1步,在數據集中隨機選取1個初始聚類中心c1;
第2步,計算數據集χ中每個樣本x與已有最近聚類中心的距離D(x),再接著計算每個樣本被選為下一聚類樣本的概率:
(7)
并利用輪盤法確定下一聚類中心;
第3步,重復第2步直到確定出K個聚類中心;
之后的步驟同K-Means算法的第2~4步。
K-Means算法及其改進算法進行聚類時的相似度衡量都是基于樣本之間的歐氏距離,樣本大值的屬性往往起著決定性作用,而樣本的其他屬性沒有起到應有的作用,這可能導致大的聚類被分割,聚類結果錯誤。此問題在實際應用中經常遇到,可通過對所有維度上的信息都做歸一化處理,即將所有脈沖描述字的參數值大小都映射到[0,1]區間來解決,當然還可根據某一參數的可信度適當增加其權值,使得分選更加準確,則得到K-Means++算法流程圖如圖2所示。

圖2 K-Means++算法流程圖
通過分析發現,Fast ICA和K-means++2種算法能互補的特性主要有:
(1) Fast ICA能夠準確提取出未知雷達源的個數,為K-means++提供聚類所需的K值;
(2) Fast ICA能夠分離出噪聲進而排除噪聲的影響;
(3) K-means++簡單,易于實現,有很好的并行化實現基礎,能有效解決Fast ICA分選速度慢的缺點;
(4) K-means++基于脈沖描述字(PDW),可根據其中比較穩定的脈沖到達角度(DOA)參數對Fast ICA要處理的雷達脈沖進行分塊,降低雷達脈沖流密度。
基于以上的融合基礎,下面給出融合思路:
第1步,考慮雷達輻射源的位置不會突變,利用PDW中的DOA參數對接收到的脈沖按每15°進行空間劃分,分塊存儲,達到稀釋雷達脈沖流的目的,為接下來的數據處理做準備。
第2步,從上一步按到達角度劃分的數據塊中隨機抽取部分雷達脈沖信號,利用Fast ICA算法對其進行獨立成分分析,分離出雷達信號和隨機噪聲以及雷達信號種類K。
第3步,根據上一步得到的雷達信號種類K,基于WPD={σPW,AP,fR}三參數對雷達脈沖進行快速聚類分選。
第4步,得到雷達信號分選結果,將其存儲回硬盤以供后續處理。
進一步分析融合算法的每一步驟,根據數據量以及運算模式(是否涉及大量重復的低耦合運算)確定是否需要并行化實現。且盡量在GPU中做并行度高的數據計算工作,在CPU中做一些條件判斷的工作。融合后的算法流程圖如圖3,Fast ICA中的數據中心化以及白化都可轉化為簡單矩陣運算,有成熟的于GPU中運行的并行矩陣運算API函數可供調用;K-Means++中的核心聚類迭代部分是一種非常理想的無耦合關系的計算模型,也于GPU中展開運算。

圖3 并行的基于ICA的K-means++算法流程圖
用MATLAB仿真了線性調頻雷達信號、二相編碼雷達信號、方波雷達信號以及隨機噪聲信號,然后利用融合算法對其進行分選,仿真使用的雷達信號參數如表1所示:

表1 雷達輻射源參數
表1中2FSK體制雷達的編碼為“11001”。按照本文提出的方法對表1中的信號進行預處理,原始信號、混合、解混的仿真結果如圖4所示。

圖4 融合算法Fast ICA階段信號處理仿真結果
由圖4可以看出,本文基于CPU+GPU的并行融合算法在Fast ICA預處理階段成功分選出了雷達輻射源信號以及噪聲信號,可以直觀地得出有3部雷達輻射源以及1個噪聲干擾,利用自相關累加的方法對分選出的信號進行處理,剔除噪聲信號,然后將此次分選結果交由并行K-Means++主處理部分,對脈沖描述字信息進行快速實時聚類。在進行并行K-Means++主處理時,由于PA參數相差不大,因此采用WPD={σPW,fR,tPRI}三參數進行聚類,聚類個數K已由Fast ICA預處理部分得出,為3,最終可得其聚類結果為:
WPDcenter=[σPW,fR,tPRI]=

(8)
由式(9)同表1比較可得,該融合算法成功分選出了3部雷達輻射源信號,由于2FSK信號在80 MHz和60 MHz上跳變,此融合分選算法得出了其中間頻率為70 MHz。
以上實驗證明本文提出的基于Fast ICA和K-means++的融合算法對未知雷達信號具有較好的分選效果。
本文分別對Fast ICA和K-means++算法進行介紹,結合2種算法的特點提出了基于Fast ICA和K-means++的融合算法用于雷達脈沖聚類。該方法利用Fast ICA對接收到的雷達脈沖數字信號進行預分選,預分選步驟能有效分選出混疊信號中的獨立成分,確定出獨立成分的個數,去除噪聲成分,保證了K-means++算法對提取的脈沖描述字信息分選的正確性。該方法在軍事電子對抗領域具有一定的應用前景。