謝躍雷,鄧涵方
(1.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004;2.衛(wèi)星導(dǎo)航定位與位置服務(wù)國家地方聯(lián)合工程研究中心,廣西 桂林 541004)
無線設(shè)備由于其內(nèi)部電子器件的容差,導(dǎo)致設(shè)備之間存在硬件上的差異,即使相同型號的設(shè)備也存在細微差異,這種差異使得輻射的電磁波信號攜帶了每個設(shè)備獨有的硬件特征,通過接收射頻信號就可以提取該特征,這就是“射頻指紋”[1](Radio Frequency Fingerprinting,RFF)。通過射頻指紋可有效識別輻射源個體,在無線網(wǎng)絡(luò)安全、無線電管理及無線設(shè)備故障診斷等方向有著廣泛的應(yīng)用前景。
傳統(tǒng)的射頻指紋識別方法主要是基于特征工程,使用時頻分析技術(shù)如希爾伯特-黃變換(Hilbert-Huang Transform,HHT)、小波變換(Continuous Wavelet Transform,CWT)、同步擠壓小波變換(Synchrosqueezing Wavelet Transform,SWT)等,使用信號各變換域統(tǒng)計特征的RF-DNA(RF-distinct Native Attribute)方法,以及使用選擇雙譜、積分雙譜等對信號雙譜人工特征降維處理再分類識別[2],即通過接收瞬態(tài)射頻信號或穩(wěn)態(tài)射頻信號,在時域或變換域提取信號的物理參數(shù)特征及統(tǒng)計特征,選取一個或多個特征構(gòu)成射頻指紋,再利用分類器實現(xiàn)無線通信個體的識別。但這些基于特征工程的識別方法嚴(yán)重依賴人工設(shè)計的射頻指紋,缺乏普適性。從2018年起,深度學(xué)習(xí)開始應(yīng)用到射頻指紋識別領(lǐng)域,射頻指紋識別也從經(jīng)驗驅(qū)動的人造特征范式過渡到了數(shù)據(jù)驅(qū)動的端到端表示學(xué)習(xí)范式的新紀(jì)元[3-4]。
文獻[5]對基帶信號進行差分處理以消除載頻偏差和相位偏差對特征提取的影響,并映射為差分星座圖,使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)自動提取星座圖內(nèi)指紋特征。差分星座圖確實能完整地表示出信號的指紋特征,但其只能對部分調(diào)制方式的信號進行識別,如正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing,OFDM)信號由于其多載波特性,星座圖呈不規(guī)則形狀,無法進行指紋特征提取。文獻[6]使用壓縮雙譜結(jié)合CNN識別特定的信號源。雙譜人工降維確實能去除冗余信息,但也存在細微特征損失的問題。文獻[7]使用全雙譜和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合進行調(diào)制識別和初步的信號身份識別。文獻[8]基于電臺信號的矩形積分雙譜特征,使用半監(jiān)督矩形網(wǎng)絡(luò)提取電臺指紋特征,在小樣本條件下達到了較高的識別率。文獻[9]直接使用電臺IQ時間序列訓(xùn)練堆棧式長短時記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò),并取得了不錯的效果。文獻[10]將6個相同的ZigBee設(shè)備作為信號源,評估了三種類型神經(jīng)網(wǎng)絡(luò)對射頻指紋識別的性能差異,以增強物聯(lián)網(wǎng)設(shè)備的安全性。文獻[11]使用152層的殘差神經(jīng)網(wǎng)絡(luò)(Residual Neural Network,ResNet)識別特征增強后的幾種調(diào)制信號,但較深的網(wǎng)絡(luò)勢必會帶來較高的訓(xùn)練難度。文獻[12]將信號的雙譜等高圖輸入深度卷積神經(jīng)網(wǎng)絡(luò)完成雷達信號識別。
受到上述文獻的啟發(fā),本文針對射頻指紋識別人工提取信號指紋特征不充分、特征區(qū)分度不高進而導(dǎo)致識別率較低的問題,設(shè)計了一種輕量級的殘差神經(jīng)網(wǎng)絡(luò),利用殘差神經(jīng)網(wǎng)絡(luò)可以自動提取圖像特征并分類的優(yōu)點,將其與待識別通信設(shè)備的信號雙譜等高圖結(jié)合,自動提取圖中蘊含的信號指紋特征并識別出對應(yīng)的設(shè)備。為了驗證本文提出的改進殘差神經(jīng)網(wǎng)絡(luò)模型是否更加適合射頻指紋分類識別,對雙譜等高圖和傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型兩種算法進行了實驗對比,結(jié)果表明本文的改進模型在不同信噪比下的識別率相較對比算法都有顯著提高,能有效識別同型號相同通信模式的無線通信設(shè)備個體。
信號的雙譜是最低階數(shù)的高階譜,計算量相對較小,其研究處理在高階譜中最簡單,表征信號非對稱、非線性的特征,因此不同信號源信號的雙譜圖之間一定存在差異,是目前研究信號處理的前沿方法。
這里考慮基于穩(wěn)態(tài)信號的射頻指紋識別研究,假設(shè)接收機可以單獨捕獲每一個無線設(shè)備發(fā)射的信號,且不存在信號盲分離的問題,若待識別設(shè)備發(fā)射的基帶信號為s(n),則接收到的基帶信號序列可表示為
X(n)=s(n)+w(n)。
(1)
式中:w(n)為信道中存在的加性噪聲。則信號序列X(n)的k階累積量可表示為
ckx(τ1,…,τk-1)=cum[X(n),X(n+τ1),…,X(n+τk-1)]。
(2)
式中:τ1,τ2,…,τk-1為時延,X(n)的k階譜定義為其k階累積量的k-1維離散時間傅里葉變換,即
Skx(ω1,ω2,…,ωk-1)=
(3)
式中:ω1,ω2,…,ωk-1為頻率分量,當(dāng)k=3時即為雙譜,又稱三階譜,其表達式為
(4)
式中:三階累積量的計算公式為c3x(τ1,τ2)=E{X(n)X(n+τ1)X(n+τ2)},E{·}表示對括號內(nèi)求期望。
由于高斯隨機變量二階以上的累積量恒為零,即ckx=0(k≥3),所以雙譜理論上對高斯白噪聲有抑制作用,同時又能很好地表征信號因輻射源電路特性造成的細微特征,能為本文算法提供有效的抗噪聲性能。圖1是兩個同型號相同工作狀態(tài)的WiFi路由器實測信號的雙譜等高圖,等高線顏色深淺表示雙譜幅值大小,幅值越大顏色越淺??梢钥闯鰞蓚€WiFi信號的雙譜譜峰規(guī)則地分布在雙譜域中,但峰值與形狀有所差別,很好地表征了非對稱、非線性特征。
(a)路由器1
雙譜直接使用會因維度較高而可能出現(xiàn)維數(shù)災(zāi)難問題,目前主要采用局部積分雙譜將其降維,但是局部積分處理實質(zhì)上是一種人工降維的方式,勢必會造成信號部分細微特征損失,而這些細微特征很有可能便是我們需要的射頻指紋特征。隨著深度學(xué)習(xí)在圖像、語音識別中的成功應(yīng)用,利用神經(jīng)網(wǎng)絡(luò)的“黑盒”特性,讓其自動降維并提取雙譜等高圖中的射頻指紋特征并完成分類,成為射頻指紋識別的一個新的熱點,ResNet就是其中一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)存在隨著深度的增加,準(zhǔn)確率會達到飽和然后迅速退化的問題,這使得傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在某些復(fù)雜的任務(wù)中會達到一個性能瓶頸,即無法通過增加網(wǎng)絡(luò)層數(shù)來優(yōu)化性能。然而這種問題被文獻[13]證明了并不是由過擬合造成的。對此He等人[14]提出了一種具有殘差結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò)來解決退化問題。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)是由堆疊層直接擬合所需的底層映射,而殘差網(wǎng)絡(luò)構(gòu)建了帶有“快捷連接(Shortcut Connection)”的模塊,如圖2所示。
圖2 殘差模塊結(jié)構(gòu)圖
假設(shè)擬合目標(biāo)函數(shù)為H(x),非線性的疊加層為F(x),傳統(tǒng)的做法是使F(x)逼近H(x),而殘差結(jié)構(gòu)中采用F(x)逼近H(x)-x的方式,此結(jié)構(gòu)的優(yōu)點是能讓網(wǎng)絡(luò)將淺層特征恒等映射到深層,淺層和深層得到有效溝通。網(wǎng)絡(luò)前向傳播時使得淺層特征在深層不容易被忽視,在反向傳播時深層的梯度可以直接傳回淺層,很好地解決了網(wǎng)絡(luò)退化的問題,因此可以設(shè)計出深度較大的網(wǎng)絡(luò)模型,從而獲得更好的網(wǎng)絡(luò)性能。
對于圖2中的殘差模塊,其擁有兩層卷積層和一個快捷連接,定義為[14]
y=F(x,{Wi})+x。
(5)
式中:x、y為模塊的輸入與輸出,Wi為各層的權(quán)重,F(xiàn)(x,{Wi})是模塊需要擬合的映射。
層與層之間的激活函數(shù)(activation function)使用線性整流函數(shù)(ReLU):
f(x)=max(0,x)。
(6)
殘差神經(jīng)網(wǎng)絡(luò)包含輸入卷積層、殘差模塊、池化層和輸出全連接層。本文基于文獻[14]中提出的ResNet18層模型做了一定修改,提出了適用于雙譜等高圖識別的12層網(wǎng)絡(luò)模型,在一定程度上降低了模型容量,使其更易部署在嵌入式設(shè)備中。模型具體配置與總參數(shù)量如表1所示,輸入大小為64×64的雙譜等高圖。
表1 改進的ResNet模型和ResNet18模型結(jié)構(gòu)
本文改進模型相比ResNet18輸入通道數(shù)由64減少為32,8個殘差模塊縮減為5個,5個殘差模塊中的卷積層通道數(shù)也相應(yīng)減少,并將最后的平均池化更換為最大池化,降低了整個網(wǎng)絡(luò)參數(shù)量的同時也保持了較高的分類識別性能。為了保留信號細微特征,本文沒有對雙譜做局部積分等處理。高維的數(shù)據(jù)勢必會包含較多的無用特征,也增大了計算量,對此可以利用神經(jīng)網(wǎng)絡(luò)自動對雙譜數(shù)據(jù)進行篩選降維,最大限度地保留有用特征。圖3為部分改進模型中間層特征圖,可以看出不同的卷積層提取的是不同風(fēng)格的雙譜等高圖特征,且相同層的特征圖也存在不同。
圖3 中間層特征圖可視化
訓(xùn)練采用小批量梯度下降(Mini-Batch Gradient Descent)的方式,其把數(shù)據(jù)分為若干批(batch),按批來更新參數(shù),綜合了批量梯度下降和隨機梯度下降的優(yōu)點,計算量較小,梯度下降的收斂性較好。
為了提高模型的泛化能力并加快訓(xùn)練速度,需對數(shù)據(jù)做批歸一化(Batch Normalization)處理。假設(shè)輸入的一個批次的數(shù)據(jù)為B={x1…xm}共m個數(shù)據(jù),那么此批次數(shù)據(jù)的均值為
(7)
方差為
(8)
對x做歸一化:
(9)
引入縮放和平移變量γ和β,那么輸出為
(10)
式(9)中ε的大小設(shè)置為1×10-5,作用是提高歸一化計算的穩(wěn)定性。
為了衡量模型執(zhí)行分類任務(wù)時的優(yōu)異程度,選擇交叉熵(CrossEntropyLoss)作為模型的損失函數(shù):
(11)
式中:p(xi)為輸入數(shù)據(jù)期望輸出類別的概率,q(xi)為實際輸出類別概率。
最后使用Softmax分類器進行分類。Softmax分類器將其輸入歸一化為一組概率值p,其數(shù)學(xué)表達式為
(12)
式中:zi為模型最后一層的輸出,i為類別索引,C為類別總數(shù)。輸出的概率滿足
(13)
本文所提的基于改進ResNet射頻指紋識別算法的主要步驟如下:
Step1 待識別發(fā)射機帶通信號采集。對接收到的射頻信號進行下變頻和IQ解調(diào)后得到復(fù)基帶時間序列x(n)=xI(n)+jxQ(n),其中xI(n)為同相分量,xQ(n)為正交分量。
Step2 數(shù)據(jù)預(yù)處理。將采集到的原始復(fù)基帶時間序列x(n)做能量歸一化處理,然后將數(shù)據(jù)分割為多個片段,每段包含1 024個采樣點。
Step3 計算信號雙譜生成等高圖。雙譜將上一步中每個時間序列片段做三階累積量估計,再通過傅里葉變換得到雙譜估計。利用雙譜的對稱性減少計算量,具體步驟見文獻[15],將輸出的雙譜圖的同值點連線形成二維等高圖。
Step4 訓(xùn)練ResNet。將生成的雙譜等高圖按數(shù)量比例6∶1隨機分配為訓(xùn)練集和測試集。使用數(shù)據(jù)集多次訓(xùn)練改進的ResNet,選擇一組最優(yōu)的超參數(shù)以達到網(wǎng)絡(luò)的最佳性能并保存權(quán)值數(shù)據(jù)。訓(xùn)練過程見圖4。
圖4 基于雙譜等高圖的改進ResNet訓(xùn)練流程
Step5 識別。使用改進的ResNet推理發(fā)射機信號的雙譜等高圖完成射頻指紋識別。
為了驗證本文所提算法的性能,搭建了實驗平臺。實驗采取的信號樣本來自6臺華為ws5106路由器,如圖5(a)所示。路由器的工作模式統(tǒng)一設(shè)置為發(fā)送IEEE802.11.a協(xié)議的WiFi信號,使用40號信道,中心頻率為5.2 GHz,信道帶寬為20 MHz。信號采集裝置使用NI公司的USRP2954軟件無線電設(shè)備。在實驗室實際電磁環(huán)境下分別采集每臺路由器的發(fā)射信號,將USRP2954載頻設(shè)置為5.2 GHz,采樣頻率設(shè)置為40.96 MHz。信號經(jīng)過下變頻處理得到基帶I/Q正交數(shù)據(jù)。實驗的神經(jīng)網(wǎng)絡(luò)模型均在一臺CPU為Intel Core i5 9500 3.0 GHz、內(nèi)存12 GB、Windows10系統(tǒng)、基于python語言的開源深度學(xué)習(xí)框架Pytorch上運行。
圖5 實驗數(shù)據(jù)采集環(huán)境
實驗采用三種算法識別射頻指紋,分別為本文算法(雙譜等高圖+改進的12層ResNet)、對比算法1(雙譜等高圖+無快捷連接的ResNet18)和對比算法2(雙譜等高圖+12層CNN)。對比算法2中的CNN模型為本文提出的12層ResNet去掉快捷連接后的卷積神經(jīng)網(wǎng)絡(luò),其他參數(shù)保持不變,目的是檢驗殘差神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的性能差異。
(1)數(shù)據(jù)采集
路由器信號通過非協(xié)作的方式接收,實驗環(huán)境如圖5(b)所示,路由器與USRP2954的接收天線擺放位置圖中已作標(biāo)注。實驗中6臺路由器依次放置在圖中所示固定的位置采集信號樣本。
(2)計算雙譜等高圖
將USRP2954所采集的波形文件送入Matlab軟件進行處理。首先將信號序列分割為每段1 024個采樣點的多個片段,再依次把每個片段做能量歸一化并使用間接估計法計算雙譜,最后使用contour函數(shù)繪制等高圖并保存。
(3)訓(xùn)練并測試神經(jīng)網(wǎng)絡(luò)
將雙譜等高圖按照對應(yīng)的路由器分類打包制成數(shù)據(jù)集。其中,訓(xùn)練集一共36 000張圖片,每個路由器對應(yīng)6 000張圖;測試集一共6 000張圖片,每個路由器對應(yīng)1 000張圖。將這42 000張圖片做預(yù)處理——尺寸縮減為64×64,并灰度化,則網(wǎng)絡(luò)的輸入形狀為(1,64,64)。批處理的大小設(shè)置為300,學(xué)習(xí)率為0.05。
本節(jié)通過對三種不同算法在實際電磁環(huán)境下與不同信噪比(Signal-to-Noise Ratio,SNR)加性高斯白噪聲環(huán)境下進行實驗,評估不同條件下算法的性能。為了具體評估本文所提算法對于每一個路由器個體的識別效果,這里采用混淆矩陣來顯示識別情況。
對于實際電磁環(huán)境,沒有手動添加任何噪聲的情況下,三種算法的識別率見表2,識別混淆矩陣見圖6。
表2 不同算法的識別率結(jié)果
圖6 不同算法的分類混淆矩陣
從表2中可以看出,殘差神經(jīng)網(wǎng)絡(luò)與取消了淺層到深層快捷連接的傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)性能有顯著差距,證明了殘差神經(jīng)網(wǎng)絡(luò)的性能確實較傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)更優(yōu)秀。本文的輕量化改進是成功的,改進的12層ResNet模型將識別率提升到了95.2%。
對采集到的基帶復(fù)信號使用Matlab軟件的AWGN函數(shù)加上一組信噪比0:5:30 dB的高斯白噪聲來模擬噪聲環(huán)境,評估本文算法在噪聲環(huán)境下的識別性能,結(jié)果如圖7所示。
圖7 不同信噪比下算法的識別率
觀察圖7可得三種算法在信噪比高于10 dB的情況下都可以保持一個不錯的識別率,其中本文提出的改進的12層ResNet模型在10 dB時達到了90%左右的識別率,其抗噪聲性能比另兩種更優(yōu)秀。但是信噪比低于5 dB時識別性能下降較大,本文的改進模型在5 dB時有大約72%的識別率,仍然高于其他兩種算法。
下面通過混淆矩陣具體分析算法加噪情況下的識別性能。圖8為文中提到的三種不同算法在信噪比為10 dB下的識別混淆矩陣,可以直觀了解6個路由器個體的射頻指紋識別情況。從圖8可以看出,改進的12層ResNet算法在10 dB條件下能較好分清路由器,且發(fā)現(xiàn)5號路由器無論使用哪種網(wǎng)絡(luò)都能較好地分辨,說明其發(fā)射的信號帶有較顯著的指紋特征,且受噪聲影響較小。算法2采用的12層CNN由于擬合度不夠使得對2號路由器和3號路由器的識別效果較差,算法1采用的無快捷連接的ResNet18由于模型復(fù)雜度較高反而比本文改進的殘差網(wǎng)絡(luò)的識別率低,說明傳統(tǒng)卷積網(wǎng)絡(luò)并不是層數(shù)越多越好,而本文的12層ResNet則較好地平衡了模型復(fù)雜度和性能。
圖8 三種算法在10 dB信噪比下的分類混淆矩陣
圖9對比了不同網(wǎng)絡(luò)模型在本實驗環(huán)境下訓(xùn)練一個epoch以及測試的所需時間,我們發(fā)現(xiàn)模型大小并不總是與處理數(shù)據(jù)所需的時間相關(guān)。
圖9 各網(wǎng)絡(luò)模型訓(xùn)練和測試耗時
結(jié)合表3可知,不論是算法2的12層傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)還是本文提出的改進的12層ResNet的模型大小相較于算法1的18層卷積神經(jīng)網(wǎng)絡(luò)有著極大的減小,其中改進的ResNet模型大小約是其模型大小的1/22,不加噪時的識別率卻有約0.5%的提升,而相較于12層傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò),本文所提的改進模型在參數(shù)略微增大的情況下識別率有大約1.4%的提升。更大的模型可能意味著更長的訓(xùn)練時間與更多的硬件資源消耗,本文的改進12層ResNet模型相較于對比網(wǎng)絡(luò)模型有較大優(yōu)勢,不僅有較高的識別率,而且更易部署在嵌入式設(shè)備中。
表3 各網(wǎng)絡(luò)模型大小與參數(shù)量
本文將時下火熱的深度學(xué)習(xí)與傳統(tǒng)的信號處理手段相結(jié)合進行射頻指紋識別。雙譜可以很好地將信號細微特征表征出來供分析使用,使用深度學(xué)習(xí)能解決人工提取特征存在的特征不充分、不適合的問題。將較為先進的殘差神經(jīng)網(wǎng)絡(luò)模型引入并進行改進,減少了計算量并獲得了較好的識別效果。信號雙譜與本文改進的殘差神經(jīng)網(wǎng)絡(luò)的結(jié)合,在一定的噪聲條件下能對6種同型號的路由器進行有效的個體識別,充分證明了本算法在較復(fù)雜電磁情況下的實用性。但是在實驗研究過程中發(fā)現(xiàn)本算法需要較多的有標(biāo)簽樣本數(shù)據(jù)才能達到理想的識別效果,所以還有進一步改進的空間,比如采用半監(jiān)督學(xué)習(xí)的方式減小有標(biāo)簽樣本的需求。