宋偉健 孫雪麗 譚繼遠(yuǎn)
(1.海軍航空大學(xué)參謀部 煙臺 264001)(2.海軍航空大學(xué)航空基礎(chǔ)學(xué)院 煙臺 264001)(3.海軍航空大學(xué)研究生三隊(duì) 煙臺 264001)
調(diào)制識別是通信的重要組成部分,其基本任務(wù)是識別出信號的調(diào)制參數(shù)、方式等,為后續(xù)信號的信息提取和處理等提供依據(jù)[1~2]。目前,調(diào)制識別技術(shù)在軍事和民用領(lǐng)域都有著較大程度的運(yùn)用,如何在不同的環(huán)境及場合中有效地提取調(diào)制信號的特征參數(shù)、正確識別出調(diào)制方式,是軍用、民用的一個(gè)重要研究內(nèi)容[3~4]。
近年來,國內(nèi)外學(xué)者對該方面的研究主要集中在兩類方法:一是基于似然函數(shù)的識別方法[4~5];二是基于特征的識別方法,主要包括小波變換、高階累積量法[5~6]、循環(huán)譜算法[7]、KS檢測算法[1,8]、神經(jīng)網(wǎng) 絡(luò)、決 策 樹(Decision Tree)[9]和 支 持 向 量 機(jī)(SVM)[10~12]。信號調(diào)制方式的多樣性和信道條件的復(fù)雜性,使得如何有效區(qū)分多種調(diào)制方式仍是一個(gè)研究的難點(diǎn)問題。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的分支,相比于傳統(tǒng)的特征提取方法,其可以自動(dòng)提取原始數(shù)據(jù)的關(guān)鍵特征,并逐層學(xué)習(xí)得到數(shù)據(jù)特征的內(nèi)在表達(dá)式,因此近年來在計(jì)算機(jī)視覺、語言處理、圖像識別等領(lǐng)域得到了廣泛的應(yīng)用。2016年,Timothy J O′Shea等構(gòu)造了一個(gè)雙卷積、雙連接層的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNNs),成功識別了QPSK、64QAM等11種調(diào)制方式[13]。該方法本質(zhì)也是一種基于特征的識別方法,可以自動(dòng)學(xué)習(xí)調(diào)制數(shù)據(jù)的特征,相比于SVM和決策樹等傳統(tǒng)的機(jī)器學(xué)習(xí)方法,在識別種類和最大識別率上都有所提高,但算法的訓(xùn)練時(shí)間較長,同時(shí)8PSK和WBFM的識別率有待提高。為了提高WBFM的識別率,Krishana Karra等改進(jìn)和加深了網(wǎng)絡(luò)。但是相比于文獻(xiàn)[13],4-QAM和16-QAM的識別率有所下降。2018年,Rundong Li等對深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),通過增加網(wǎng)絡(luò)層數(shù),成功識別了7種調(diào)制方式,提高了算法的抗噪性和魯棒性,但是網(wǎng)絡(luò)復(fù)雜度有所增加[15]。查雄等提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的信號識別與解調(diào)模型[16],成功識別并解調(diào)了BPSK、QPSK、8PSK和16QAM,但是識別種類有限,同時(shí)網(wǎng)絡(luò)復(fù)雜度較高。如何尋找一種復(fù)雜度低且識別率較高的神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)制識別是未來一個(gè)研究的重點(diǎn)。
基于此,本文引入門控循環(huán)單元,提出了一種CNN-GRU的信號多調(diào)制類型識別方法。首次將CNN-GRU網(wǎng)絡(luò)用于調(diào)制識別,相比于CNN算法,本文算法具有以下優(yōu)點(diǎn):1)網(wǎng)絡(luò)復(fù)雜度降低,縮短了網(wǎng)絡(luò)訓(xùn)練時(shí)間;2)調(diào)制識別率得到了提高。
CNNs是神經(jīng)網(wǎng)絡(luò)的一種,近幾年在圖像識別領(lǐng)域廣泛應(yīng)用并取得了較好的效果。CNNs組成如圖1所示[17]。

圖1 CNN網(wǎng)絡(luò)
無線電通信系統(tǒng)中的許多恢復(fù)過程可以通過隨機(jī)濾波器(具有良好表征的概率包絡(luò)和相干時(shí)間)的線性混合、旋轉(zhuǎn)、時(shí)移、縮放和卷積不變性來考慮。這類似于在視覺領(lǐng)域?qū)W習(xí)中,圖像中的特定項(xiàng)目或特征匹配濾波器可通過縮放、移位、旋轉(zhuǎn)、遮擋,光照變化和其他形式的噪聲來解決。本文試圖利用卷積神經(jīng)網(wǎng)絡(luò)的移位不變特性來學(xué)習(xí)匹配濾波器,這些濾波器可以描繪通信信號的特征,而無需理解或估計(jì)基礎(chǔ)波形。
GRU是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)的一種,GRU能綜合利用輸入信息的時(shí)序相關(guān)性,提高預(yù)測的準(zhǔn)確度。GRU的基本單元結(jié)構(gòu)如圖2所示。

圖2 GRU基本單元結(jié)構(gòu)圖
GRU的預(yù)測公式為

其中[]表示相連的向量。
本文采用文獻(xiàn)[11]中的RML2016.04C數(shù)據(jù)庫和Timothy J O′Shea公開的RML2016.10a[18]數(shù)據(jù)集,該數(shù)據(jù)集由每次采樣數(shù)據(jù)的正交分量和同相分量組 成,維 數(shù) 為2×128。其 中,RML2016.04C有220000個(gè)數(shù) 據(jù) 樣本,RML2016.10a有162060個(gè)數(shù)據(jù)樣本[19],共包含11種調(diào)制方式,其中模擬調(diào)制為AM-DSB,AM-SSB和WBFM,數(shù)字調(diào)制為BPSK,8PSK,CPFSK,GFSK,4QAM,16QAM,64QAM和QPSK。兩個(gè)數(shù)據(jù)集都以間隔2dB在-20dB~18dB信噪比區(qū)間內(nèi)近似均勻分布。其中,RML2016.10a數(shù)據(jù)集通過增強(qiáng)各種外在影響,使得信道條件更加逼真,因此該數(shù)據(jù)集更加接近真實(shí)場景下的調(diào)試數(shù)據(jù)。
本文采用的CNN-GRU網(wǎng)絡(luò)由兩個(gè)卷積層、一個(gè)GRU層和一個(gè)全連接層組成。卷基層、GRU層和全連接層采用的激活函數(shù)分別為ReLU、sigmoid和SoftMax。為了防止網(wǎng)絡(luò)的過擬合,在卷基層和GRU后增加Dropout,每次訓(xùn)練隨機(jī)減少部分神經(jīng)元。梯度下降優(yōu)化算法為Adam,輸入2×128維度的I/Q調(diào)制數(shù)據(jù),兩層卷基層的卷積核大小與個(gè)數(shù)分別為128(1×3)和32(2×3)。GRU層包含128個(gè)神經(jīng)元,全連接層神經(jīng)元個(gè)數(shù)應(yīng)與參與分類的調(diào)制方式個(gè)數(shù)相等,具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 CNN-GRU網(wǎng)絡(luò)結(jié)構(gòu)圖
由于不同網(wǎng)絡(luò)層對輸入維度的要求不同,因此對輸入信息的維度進(jìn)行變換。卷積層的輸入要求為4D張量,因此將2×128維度的原始數(shù)據(jù)轉(zhuǎn)換為符合卷積輸入特性的(None,1,2,128)張量。經(jīng)過CNN2的卷積后,輸出維度為(None,128,1,124)。GRU層的輸入維度應(yīng)為3D張量,將卷積層輸出維度轉(zhuǎn)換為(None,128,124)[19]。經(jīng)過GRU網(wǎng)絡(luò)的訓(xùn)練后,輸出張量(None,128)。然后輸入到全連接層中。
各層的作用如表1所示。

表1 CNN-GRU網(wǎng)絡(luò)各層功能表
卷積層的作用主要是進(jìn)行信號的特征提取,卷積過程為多個(gè)卷積核分別對前一層的特征圖進(jìn)行卷積,實(shí)現(xiàn)特征提取和映射,一層卷基層通常包括很多個(gè)卷積核,從而實(shí)現(xiàn)了信號的多特征提取。在卷積神經(jīng)網(wǎng)絡(luò)中,每個(gè)特征圖進(jìn)行卷積運(yùn)算時(shí)都使用相同的權(quán)值,這一過程成為權(quán)值共享,如下圖所示。權(quán)值共享不僅可以減少模型的參數(shù)數(shù)量,還可以保持對輸入的位置、尺寸和大小具有位移不變性。

圖4 CNN-完全權(quán)重共享
假設(shè)x=[x1x2…xB]為卷積層的輸入信息,xb為信號b的特征矢量。卷積層的激活表達(dá)式如下:

式中,hj,k代表特征圖j的卷積網(wǎng)絡(luò)輸出,s表示卷積器的大小,wTb,j代表權(quán)值參數(shù),aj代表偏置。卷積層通過卷積可以提取到各個(gè)調(diào)制方式的關(guān)鍵特征。激活函數(shù)的表達(dá)式如下:

卷積層輸出特征向量的高度和寬度關(guān)系如下:

式中,heightin和heightout分別為卷積層輸入向量和輸出向量的高度,heightkernel和widthkernel為卷積核的高度和寬度,widthin和widthout分別為卷積層輸入向量和輸出向量的寬度,stride為卷積核的個(gè)數(shù)。padding為掃描方式。
GRU的計(jì)算過程如下所示:

輸出層的輸入為yit=woh,輸出層的輸出為
某一時(shí)刻的損失函數(shù)可以表示為

所有時(shí)刻的損失函數(shù)為

通過后向傳播算法求出E對每個(gè)參數(shù)的偏導(dǎo)值:

通過偏導(dǎo)值更新迭代參數(shù)直到損失函數(shù)收斂。
調(diào)制方式為多樣式分類,因此全連接層采用的SoftMax函數(shù)。該函數(shù)可以將輸入映射為概率大小輸出,從而完成多樣式分類。假設(shè)樣本標(biāo)簽y含有k個(gè) 不 同 的 值,對 于 訓(xùn) 練 樣 本{(x(0),y(0)),…,(x(m),y(m))},有y(i)∈{1,2,…,k}。對于輸入樣本x,softmax層會(huì)計(jì)算出樣本中所對應(yīng)的類別j的概率估計(jì),表示的是x的類別概率,學(xué)習(xí)的假設(shè)函數(shù)hθ(x)如下所示:

式中,θ1,θ2,…,θk∈Rn+1是模型參數(shù)。為了簡化模型,定義函數(shù):

SoftMax的代價(jià)函數(shù)進(jìn)一步可以表示為

將k個(gè)值進(jìn)行疊加,得到網(wǎng)絡(luò)將樣本x分類為類別j的概率為

其中,最大概率時(shí)對應(yīng)著樣本x的分類類別。
實(shí)驗(yàn)運(yùn)行在Ubuntu系統(tǒng)下,CPU為Intel Xeon E5-2640 v4,GPU為Nvidia Tesla M40,CPU大小為128GB。網(wǎng)絡(luò)環(huán)境建立在TensorFlow的基礎(chǔ)上。網(wǎng)絡(luò)最多訓(xùn)練次數(shù)為100次,為防止過擬合,當(dāng)訓(xùn)練損失函數(shù)值超過6次未改善時(shí),網(wǎng)絡(luò)停止訓(xùn)練并保存訓(xùn)練模型。訓(xùn)練數(shù)據(jù)和檢測數(shù)據(jù)各占數(shù)據(jù)集的50%。每組仿真實(shí)驗(yàn)進(jìn)行10次,最后的調(diào)制識別結(jié)果為10次調(diào)制識別結(jié)果的平均值。
本文網(wǎng)絡(luò)的損失函數(shù)如圖5、圖6所示。

圖5 RML2016.04C下CNN-GRU的損失函數(shù)圖
從圖5和圖6中可以看出,本文網(wǎng)絡(luò)訓(xùn)練效果較好,兩者的訓(xùn)練與測試損失函數(shù)都最終收斂,未發(fā)生過擬合或欠擬合的現(xiàn)象。

圖6 RML2016.10a下CNN-GRU的損失函數(shù)圖
4.3.1 RML2016.04C數(shù)據(jù)集下的識別率對比
圖7~圖10為SNR為0dB和18dB下的混淆矩陣。從圖中可以看出,算法識別率的改善主要體現(xiàn)在對8PSK的識別率上。從圖11可以看出,隨著SNR的增大,本文網(wǎng)絡(luò)的識別性能由于CNN2。在SNR為-2dB時(shí)識別率超過90%。

圖7 SNR=0dB時(shí),CNN識別率

圖8 SNR=0dB時(shí),CNN-GRU識別率

圖9 SNR=18dB時(shí),CNN識別率

圖10 SNR=18dB時(shí),CNN-GRU識別率

圖11 RML2016.04C下識別率對比圖
4.3.2 RML2016.10a數(shù)據(jù)集的識別率

圖13 SNR=0dB時(shí),CNN-GRU識別率
下面分析了RML2016.10a下的CNN-GRU識別率。由圖12~15可以看出,隨著SNR的提高,調(diào)制識別性能得到了提高,主要是QPSK和WBFM的調(diào)制識別準(zhǔn)確率隨著SNR的提高得到了改善。從圖16可以看出,當(dāng)SNR高于-4dB時(shí)本文算法的性能優(yōu)于CNN2。

圖12 SNR=-8dB時(shí),CNN-GRU識別率

圖14 SNR=6dB時(shí),CNN-GRU識別率

圖15 SNR=18dB時(shí),CNN-GRU識別率

圖16 RML2016.10a下CNN-GRU與CNN2識別率對比圖
在復(fù)雜度分析中,通過RML2016.04C下CNN-GRU與CNN2網(wǎng)絡(luò)[13]的對比,兩者的計(jì)算復(fù)雜度如表2所示。

表2 CNN-GRU與CNN2運(yùn)行時(shí)間與訓(xùn)練參數(shù)對比表
從表2中可以看出,CNN2平均每次的訓(xùn)練時(shí)間是CNN-GRU的7.4倍,訓(xùn)練總用時(shí)為CNN-GRU的6.9倍。訓(xùn)練時(shí)間的減少是由于CNN-GRU的訓(xùn)練參數(shù)相比于CNN2減少了近一個(gè)量級。
本文在兩調(diào)制數(shù)據(jù)集的基礎(chǔ)上,研究了11種調(diào)制方式的類型識別。該方法通過將CNN和GRU網(wǎng)絡(luò)結(jié)合,首先利用CNN特征提取,然后利用GRU分析調(diào)制數(shù)據(jù)的時(shí)序相關(guān)性,實(shí)現(xiàn)了調(diào)試方式的多類型識別。仿真結(jié)果表明,相比于CNN2方法,本文所提算法降低了網(wǎng)絡(luò)復(fù)雜度,調(diào)制識別率得到了提高。