李 昕, 雷迎科
(國防科技大學電子對抗學院,合肥,230037)
通信輻射源個體識別是通過信號攜帶能夠反映發(fā)射機差異的信息及特征,來判別信號與發(fā)射機之間的從屬關系的,即通過信號區(qū)分發(fā)射機[1]。通信輻射源個體識別最早應用于軍事通信領域[2],并取得了較大的發(fā)展;最近隨著新技術的發(fā)展,它在認知無線電[3]及自組織網絡中扮演著越來越重要的作用[4]。
基于發(fā)射機的工作模式,通信輻射源個體識別使用的信號被分為瞬態(tài)信號和穩(wěn)態(tài)信號。瞬態(tài)信號一般被稱為“turn-on”信號,能夠提供適合特征提取及發(fā)射器識別的獨特且可區(qū)分的特性[5-6]。為了測量瞬態(tài)特征,主要方法是在噪聲中檢測瞬態(tài)信號的起點和終點[7]并提取它。瞬態(tài)特征基本上與發(fā)射機是一致的,這有利于識別;但瞬態(tài)信號持續(xù)時間較短,難以提取,且瞬態(tài)特征易受到非理想和復雜信道的影響,會造成識別結果不準確[8]。
穩(wěn)態(tài)信號是發(fā)射機處于穩(wěn)定工作狀態(tài)下發(fā)射的信號,盡管穩(wěn)態(tài)特征傾向于被傳輸信息的破壞程度,但對穩(wěn)態(tài)信號的研究仍然有實際意義,因為穩(wěn)態(tài)信號容易被檢測和捕捉。在這種條件下很多特征提取方案已經被提出,例如雙譜特征[9]和生物啟發(fā)特征[10]。在這些方案中,使用的最為廣泛的是基于信號時頻表示的特征,時頻表示是將信號映射到時間和頻率的二維平面上,同時提供時間和光譜信息。文獻[11]提出了一種基于短時傅里葉變換(STFT)的信號檢測和識別系統,然而短時傅里葉系統是一種線性變換,不能用于分析非線性信號。文獻[12]利用Winger和Choi-William分布提出了類似雷達波形識別算法。文獻[13]使用了基于二次時頻表示和順序分類器的輻射源識別方案。XU[14]于2007年提出基于信號雜散特征識別電臺的方法,可以識別同類型的電臺個體,但在低信噪比條件下識別率不高。唐智靈[15]在2013年對雜散特征進行研究,在實際信號的數據集上驗證了算法性能的可靠性。梁江海[16]利用經驗模態(tài)分解模型,從時域和頻域分析電臺信號進行識別。韓潔等研究人員[17]在2017年提出將信號轉換成3D-Hibert能量譜,在一定程度上實現了基于少量樣本對通信電臺個體的識別。唐哲等研究人員[18]提出利用矩形積分雙譜特征和基于最大相關熵的通信輻射源識別方法。黃健航等研究人員[19]提出在小樣本條件下基于自編碼網絡的通信輻射源個體識別方法。
以上提出的通信輻射源個體識別方法都需要充裕的已知類別信息的信號樣本,然而在實際復雜的電磁環(huán)境中,人們很難獲得充裕的已知類別信息的輻射源觀測樣本數據。即在實際復雜電磁環(huán)境下,常常面臨的是大規(guī)模、沒有類別信息的通信輻射源觀測樣本數據。如果直接采用上述提出的基于有類別信息的充裕樣本的監(jiān)督機器學習方法或者半監(jiān)督機器學習方法,其識別性能必將受到影響。本文采用無監(jiān)督機器學習中的聚類河源方法進行通信輻射源個體識別。
2014年,Alex Rodriguez和Alessandro Laio提出了基于密度峰值聚類(Density Peaks Clustering,DPC)的算法[20]。DPC算法可以在無監(jiān)督條件下對數據進行聚類,且算法簡單高效,具有較好的識別效果。但DPC算法的識別效果受給定的數據庫和挑選的參數dc(截斷距離)影響。dc主要用來計算各個點的密度并識別每個類的邊界點。對于不同的數據集,DPC使用不同的方法去估計密度且參數dc的取決于主觀經驗。為了克服這個問題,本文采用基于核密度估計的方法改善DPC算法。本文提出的方法是一種基于熱擴散方程[21]用于估計給定數據集概率分布的非參數方法,該方法是基于在無限域中的熱擴散,考慮到了截斷距離的選擇和核密度估計的邊界校正。
本文提出的基于改進的密度峰值聚類的通信輻射源個體識別方法能夠在無監(jiān)督條件下進行通信輻射源個體識別,并解決已知類別信息的信號樣本數量不足問題;針對DPC算法識別效果依賴于人工輸入參數dc,在球形數據集上聚類性能不佳的問題,利用熱擴散方程中時間參數t計算數各據點的密度和尋找各簇的邊界,實現參數自適應,在不需要人工輸入參數dc時在各個數據集上都有較好的表現。
DPC算法能夠通過快速搜索聚類中心的方法來創(chuàng)建任意形狀的簇,該算法認為作為聚類中心的數據點具有較高的局部密度ρ,與非聚類中心點相比,到其他聚類中心點的距離d更大。因此對于數據點i,DPC算法需要計算局部密度ρi以及點i到最近的且密度比其大的點的距離δi。具體步驟如下:
1)計算局部密度ρi。
(1)
其中:
(2)
式中:dij表示點i到點j的距離;dc為截斷距離;ρi為距點i距離小于dc點的數量。因此,dc在計算每個點的局部密度時是必不可少的參數,DPC算法的性能也取決于參數dc的選取。對于小的數據集,ρi可能會受到較大的統計誤差的影響,因此本文采用非參數核密度估計方法[22]計算各個點的局部密度。
2)計算相對距離δi。
(3)
式中:δi的定義是數據點i到其最近的且局部密度比其大的數據點的距離,如果數據點i是密度最大的點,則δi為點i到其它點距離的最大值。
3)尋找聚類中心點。
聚類中心點具有較高的局部密度以及較大的相對距離,因此,計算完各個數據點的局部密度ρi和相對距離δi后,以ρ和δ為坐標軸建立二維平面直角坐標系,各個數據點根據各自的ρi值和δi值放置在該坐標系中,形成二維平面圖被稱為決策圖。如圖1(a)所示,28個數據點按密度遞減順序排列,圖1(b)是相對應的這28個點形成的決策圖。點1和10具有較高的ρ值和δ值,這是聚類中心點的典型特征。因為點26,27和28是孤立的,它們具有高δ和低ρ,可以被認為是噪聲或異常值。因此,使用決策圖,可以很容易地識別聚類中心點。在成功找出聚類中心點后,DPC會根據δ值將剩余數據點分配到最近的聚類中心。
4)尋找邊界區(qū)域。
歸屬于一個簇的數據點也在另一個聚類中心點的距離小于dc,這類點的集合被稱為該簇的邊界區(qū)域。對于這些邊界點,DPC在的邊界區(qū)域內找到具有最大密度點的密度為ρb,密度高于ρb的那些點被認為是聚類點,而其他數據點被識別為簇暈點或者噪音。
(4)
高斯核K(x;xj;h)經常被用做估計密度。
(5)
式中:K是按照1/h縮放的核函數;h是核函數的帶寬。
式(4)的性能很大程度上依賴于對帶寬h的選擇[26-27]。積分均方誤差(Mean Integrated Squared Error,MISE)[21]是用于確定h的最佳值的工具之一,如式(6)所示:
(6)
但是高斯核密度估計存在以下問題:①參數h(帶寬)難以選擇;②存在邊界誤差;③平滑不足或者過度平滑。
不同于式(1)和(4)的方法,本文采用熱擴散方程[21]進行核密度估計。熱擴散方法將核密度估計視為擴散偏微分方程的唯一解,其時間參數t與核帶寬h意義一致[28-29]。通過熱擴散方程對KDE的解釋源于維納過程——對于一個連續(xù)時間隨機過程,其下一階段可以由前一狀態(tài)直接計算,具體解釋如下所示:
1)n個均勻分布的l維數據點{x1,x2,…,xn};
2)采用高斯核計算從點xi到xj的轉移概率:
(7)
核密度估計在式(7)中被解釋為在該過程中與時間t有關的概率密度分布函數,參數t與式(5)中的參數h一致。
(8)
式(8)是一個迭代過程,因此這個轉變滿足偏微分方程。
(9)
(10)
式中:Xl和Xu是域對應的上限和下限??紤]到Neumann邊界條件和數據點的概率密度在[0,1]內,因此這個偏微分方程的解可以用θ核(θ)來代替高斯核表示。
(11)
其中:
θ(x;xj;t)=
(12)
然后式(11)可以被寫為:
(13)
則:
(14)
n是一個正整數,則:
(15)
式(14)是核密度估計的自適應和替代形式,并且考慮了最佳帶寬選擇和邊界校正。此外,式(14)可以用快速傅里葉變換求解[23]。帶寬較小時,式(13)與高斯核相似;而帶寬較大時,是一個統一的內核[28]。因此它的性能更優(yōu)越且與數據的真實密度一致,而式(4)計算得到的密度與真實密度是不一致的。
Sheather-Jones(SJ)算法[21]曾被用來計算最佳帶寬,本文采用改進后的Sheather-Jones算法(The Improved Sheather-Jones)來計算最佳帶寬。遞歸的定點解被看作是帶寬的最佳值,并且可以使用快速余弦變換來估計,而不需要考慮分布的正態(tài)性假設。利用非線性方程的唯一解可以自適應找到核密度估計的最佳帶寬t。
t=ξγ[l](t)
(16)
(17)
*tj=
(18)
ISJ算法的具體流程為:
1)初始化z0=ε,ε是計算精度,n=0;
2)計算zn+1=ξγ[l](zn)(一般l的取值為5);
3)如果|zn+1-zn|<ε,迭代停止且*t=zn+1;否則n=n+1,重復步驟2);
4)在*t處評估的高斯核密度估計量作為f的最終估計量;*t2=γ[l-1](zn+1)作為‖f″‖的最佳估計帶寬。
最佳帶寬t對核函數進行規(guī)范以獲得更準確的估計密度,本文采用t=sqrt(t)/3.3去細化簇的邊界。
步驟1對信號進行矩形積分雙譜變換[14]然后計算直方圖特征[30];
步驟2計算各個信號直方圖特征的歐式距離;
步驟3通過式(16)計算帶寬t;
步驟4通過式(1)計算ρi,通過式(3)計算δi;
步驟5畫出決策圖并選擇聚類中心;
步驟6給其余非中心點分類,并檢查簇的邊界點條件;
步驟7輸出各信號的類別。
為了驗證采用模糊鄰域關系比較密度峰值算法的有效性,本文將其與DBSCN算法[31]、OPTICS算法[32]以及DPC算法[20]進行了比較。實驗數據集有源于文獻[31]中的 Aggregation 數據集、D31 數據集和R15數據集以及來自于UCI機器學習庫中的OptdigitsDataset(Optdigits)、Sonar Dataset(Sonar)、the Heart Disease database (Heart)、Wine Recognition Database(Wine)和Iris Plants Database(Iris)。上述數據集的具體說明見表1。
表1 實驗數據集描述
表2列出了本文提出的算法和其它算法在8個數據集上的準確率。對于Heart這個數據集,DBSCN算法出現了異常值,因此沒有在這個數據集上對DBSCN算法進行評估。從中我們可以看出,DPC-KDE算法能更準確地識別聚類中心點,而不依賴于數據集的性質,而DPC查找密度和邊界點的能力在很大程度上取決于數據集的性質。本文提出的DPC-KDE方法是不同數據集聚類的有效通用解決方案。DPC算法的性能很大程度上取決于參數dc的選取,而dc的選取很大程度上依賴于主觀經驗,這對算法性能的提升是很大的制約,本文提出DPC-KDE算法能夠自適應選擇最佳參數,在任一數據集上都有較好的表現。
表2 本文算法與其它算法在不同數據集上的對比
3.2.1 電臺信號數據集
為了驗證本文提出識別方法的可行性,算法在實際超短波(USW)數據集進行了實驗,數據采集場景見圖2。課題組采集了5部超短波FM電臺不同說話人的語音通信數據。超短波電臺信號數據采集時,使用手機播放3個不同的人說話聲音作為發(fā)射端的輸入,然后接收機作為非協作方經過采集獲得零中頻I/Q信號。背負式超短波FM電臺中心頻率分別設置為35 MHz、55 MHz和85 MHz,工作模式為“小功率”,并設立了3個采集場景:接收機與電臺之間無高大建筑遮擋且距離分別為100 m和50 m,以及接收機與電臺中間存在高大建筑物遮擋且距離為50 m,其余參數見表3。信號采集完之后,以2 048個點為單位進行分割,然后分別計算每段信號的直方圖特征(特征的維度可以調整),最后將特征放入算法中進行計算并識別各段信號。
圖2 數據采集場景
表3 USW數據集采集接收機參數
3.2.2 特征維度對識別效果的影響
如表4所示,在不同直方圖特征維度下進行實驗,同其他方法相比,本文方法表現出優(yōu)異的性能。此外,當直方圖特征的維數從128增加到256時,所有方法的識別率都得到顯著改善。可以推斷出,不同的維度直方圖特征包含的信息量不同。特征的維度越高,它們包含的能夠區(qū)分不同電臺信號的信息就越多。
表4 不同特征維度各算法的識別率
3.2.3 信號信噪比(SNR)對識別效果的影響
表5是DPC-KDE,DPC,DBSCN和k-means算法在不同信噪比時的識別率。結果表明,在不同信噪比下,DPC-KDE在識別率方面優(yōu)于其他聚類方法。它表明信號的信噪比越高,發(fā)射機反應在信號的差異越大。
表5 不同信噪比各算法識別率
本文將密度峰值算法引入到通信輻射源個體識別中,解決以往全監(jiān)督或半監(jiān)督方法在缺乏足夠帶類別信息的信號樣本表現不佳問題,在無監(jiān)督條件下實現通信輻射源個體識別;針對DPC算法的性能受數據集特性的影響,提出利用核密度估計對數據的內核自適應建模,在不同的數據集上有不同的密度計算方式不同,使估算出的密度更逼近于數據的真實密度;針對DPC算法的參數dc的取值一般由主觀經驗決定,影響了算法的性能,提出利用熱擴散方程中的時間參數t代替帶寬h,然后采用ISE算法自適應獲得參數的最佳值,進一步提升算法的性能。本文的提出DPC-KDE在實際電臺數據集上得到了驗證,具有較好的識別效果,在缺乏甚至沒有帶類別信息的信號樣本時,能夠發(fā)揮重要作用。但本文的方法與以往方法一樣,都是在閉集上進行識別,影響其實用性,接下來要結合增量學習,解決通信輻射源個體識別模型的在線學習問題。