楊 潔, 吳鳳杰
(西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710121)
在數(shù)字通信過(guò)程中,正確識(shí)別信號(hào)的調(diào)制方式,可進(jìn)一步估計(jì)信號(hào)的相關(guān)調(diào)制參數(shù),從而正確分析處理信號(hào)。隨著無(wú)線通信環(huán)境的日益復(fù)雜,自動(dòng)調(diào)制識(shí)別已成為電子戰(zhàn)、信號(hào)檢測(cè)等領(lǐng)域的重要課題[1]。
目前,自動(dòng)調(diào)制識(shí)別通常采用統(tǒng)計(jì)模式識(shí)別方式,主要包括基于瞬時(shí)信息[1],高階累積量和小波變換[2]等方法提取的信號(hào)特征模塊;基于決策樹[3]、支持向量機(jī)[4]和神經(jīng)網(wǎng)絡(luò)[5]等分類器識(shí)別模塊。
基于瞬時(shí)信息提取的特征計(jì)算量小且易實(shí)現(xiàn),但是受噪聲影響較大,在低信噪比條件下識(shí)別率不高,同時(shí)反向傳播(back propagation, BP)神經(jīng)網(wǎng)絡(luò)存在收斂速度慢,容易收斂到局部最優(yōu)等問(wèn)題[6]。為了改善信號(hào)識(shí)別率,引入彈性BP算法提高訓(xùn)練速度[7];引入蜂群算法提取信號(hào)特征,再利用神經(jīng)網(wǎng)絡(luò)進(jìn)行識(shí)別[8];分別利用粒子群算法、遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,增大獲得全局最優(yōu)解的概率[9-10]。但是,上述方法均存在收斂較慢、未能達(dá)到理想結(jié)果等問(wèn)題。
引力搜索算法(gravitational search algorithm, GSA)是一種啟發(fā)式的優(yōu)化算法,其收斂性能均優(yōu)于粒子群算法和遺傳算法等算法[11]。但是,引力搜索算法又存在容易局部收斂問(wèn)題。因此,本文提出一種混合引力搜索算法(hybrid-gravitational search algorithm, HGSA)。利用Tent映射[12]和柯西擾動(dòng)[13]平衡局部最優(yōu)和全局最優(yōu),并對(duì)引力常數(shù)進(jìn)行改進(jìn),從而提高引力搜索算法的收斂速度。最后,利用HGSA優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,將通過(guò)基本瞬時(shí)特征、高階累積量特征和小波變換特征提取信號(hào)的6個(gè)特征參數(shù),輸入優(yōu)化后的神經(jīng)網(wǎng)絡(luò)分類器對(duì)信號(hào)進(jìn)行分類識(shí)別。
7種常用的待識(shí)別信號(hào)分別為二進(jìn)制幅度鍵控(2-amplitude-shift keying, 2ASK)、4ASK、二進(jìn)制頻移鍵控(2-frequency-shift keying, 2FSK)、4FSK、二進(jìn)制相移鍵控(2-phase-shift keying, 2PSK)、4PSK和十六進(jìn)制正交幅度(16-quadrature amplitude modulation, 16QAM)。各調(diào)制信號(hào)的統(tǒng)一表達(dá)式[14]為
(1)
其中,an為調(diào)制碼元,g(t)為成形函數(shù),t為時(shí)間,Ts為采樣間隔,fc和θc分別是載波頻率和相位,n為碼元個(gè)數(shù),θn是調(diào)制相位,ω(t)是高斯白噪聲。利用基本瞬時(shí)特征、高階累積量特征和小波變換特征,提取的6個(gè)特征分別為瞬時(shí)幅度均方差之比R;零中心歸一化瞬時(shí)幅度絕對(duì)值的標(biāo)準(zhǔn)偏差σ;4階累積量之比T1、T2;6階與4階累積量之比T3和頻率峰值特征T4。
根據(jù)信號(hào)瞬時(shí)幅度均值的平方與瞬時(shí)幅度方差之比[3]
(2)
將含有幅度信息的信號(hào)2ASK,4ASK和16QAM分為一類;不含幅度信息的信號(hào)2PSK,4PSK,2FSK和4FSK信號(hào)分為另一類。其中,u為信號(hào)瞬時(shí)幅度的均值,d為信號(hào)的瞬時(shí)幅度方差。
2ASK信號(hào)只有兩個(gè)幅度信息,零均值歸一化之后幅度信息歸零。因此,根據(jù)零中心歸一化瞬時(shí)幅度絕對(duì)值的標(biāo)準(zhǔn)偏差[4]
(3)
可以將2ASK和4ASK分開。Ns為碼元序列長(zhǎng)度,k∈(1,2,…,Ns),A為零中心歸一化瞬時(shí)幅度。
在高斯隨機(jī)過(guò)程中,當(dāng)累積量階數(shù)p≥3時(shí),其累積量等于0,此時(shí)噪聲將不對(duì)信號(hào)產(chǎn)生影響。因此,利用高階累積量可提取被噪聲污染信號(hào)的有效信息。設(shè)X(k)為零均值復(fù)平穩(wěn)隨機(jī)過(guò)程,則p階聯(lián)合矩[2]可表示為
Mpq=E[X(k)p-qX*(k)q]。
(4)
其中,X*(k)為信號(hào)X(k)的共軛,E[·]表示求信號(hào)期望,q為共軛位置,且q∈(1,2,…,p)。
4階累積量與6階累積量計(jì)算量小,且能較好地反映信號(hào)的統(tǒng)計(jì)特征,故選用其中4個(gè)累積量提取信號(hào)特征,信號(hào)累積量[2]的計(jì)算表達(dá)式分別為
(5)
C41=M41-3M20M21,
(6)
(7)
(8)
信號(hào)的高階累積量與信號(hào)功率密切相關(guān),為消除相關(guān)影響,選取|C42|作為歸一化標(biāo)準(zhǔn),將3種累積量比值作為特征參數(shù)
T1=|C40|/|C42|,
(9)
T2=|C41|/|C42|,
(10)
T3=|C63|2/|C42|3。
(11)
由式(4)~式(11)可計(jì)算出信號(hào)2ASK、4ASK、2FSK、4FSK、2PSK、4PSK和16QAM的3個(gè)特征參數(shù)的理論值,如表1所示。
表1 特征參數(shù)的理論值
由表1可以看出,2FSK和4FSK信號(hào)的特征參數(shù)T1為0,而2PSK和4PSK信號(hào)的特征參數(shù)T1為1,可將其分為兩類。2PSK信號(hào)的特征參數(shù)T2為1,4PSK信號(hào)的特征參數(shù)T2為0,可將其分開。2ASK和4ASK信號(hào)的特征參數(shù)T3大于16QAM信號(hào),可將其分為兩類。雖然高階累積量具有很好的性質(zhì),但是其對(duì)2FSK和4FSK不能類內(nèi)識(shí)別,故引入小波特征對(duì)這一缺陷進(jìn)行彌補(bǔ)。
小波變換[15]是對(duì)傅里葉變換進(jìn)行改進(jìn)后提出的一種全新的時(shí)頻分析方法。對(duì)于給定平方可積的信號(hào)x(t),其連續(xù)小波變換定義為
(12)
其中,ψ(t)為母小波,a為尺度因子,b為時(shí)移因子,a,b均為常數(shù),〈·〉表示對(duì)信號(hào)求內(nèi)積,“*”表示信號(hào)的共軛。
利用式(12),對(duì)信號(hào)進(jìn)行Haar小波變換,并對(duì)變換后的瞬時(shí)頻率進(jìn)行直方圖統(tǒng)計(jì),由此可以得到信號(hào)的頻率峰值特征T4[15]。當(dāng)尺度因子a=9時(shí),可獲得最大信噪比增益,則各調(diào)制信號(hào)的T4理論值如表2所示。
表2 參數(shù)T4的理論值
由表2可得,2FSK信號(hào)的特征參數(shù)T4為2,4FSK信號(hào)的特征參數(shù)T4為4,則可利用此特征將兩個(gè)頻率調(diào)制信號(hào)區(qū)分。
BP神經(jīng)網(wǎng)絡(luò)是采用梯度下降法更新權(quán)值和閾值從而降低誤差的一種單隱層前饋神經(jīng)網(wǎng)絡(luò)[16]。由于標(biāo)準(zhǔn)BP算法是根據(jù)單個(gè)樣例進(jìn)行迭代,在迭代過(guò)程中可能會(huì)出現(xiàn)不同樣例之間相互抵消的情況,又基于梯度下降法原有的缺陷,使得算法可能陷入局部最優(yōu)。故采用HGSA算法對(duì)BP網(wǎng)絡(luò)參數(shù)尋優(yōu)。
引力搜索算法中,根據(jù)牛頓第二定律,粒子會(huì)在力的作用下加速向作用力的方向前進(jìn)[11]。設(shè)在D維搜索空間中存在N個(gè)粒子,則第m個(gè)粒子的位置為
(13)
在t時(shí)刻,第j個(gè)粒子作用在第i個(gè)粒子上的引力可表示為
(14)
式中,Mj(t)和Mi(t)分別為作用粒子j的慣性質(zhì)量和被作用粒子i的慣性質(zhì)量,Ri,j(t)為第i個(gè)粒子和第j個(gè)粒子之間的歐氏距離,ε為常量,G(t)為t時(shí)刻的引力常數(shù),可表示為
(15)
其中,G0為引力常數(shù)初始值,T為最大迭代次數(shù),α為引力系數(shù)衰減因子。
設(shè)其他粒子對(duì)第i個(gè)粒子的作用力的總和為
(16)
其中rj為第j個(gè)粒子取值在[0,1]之間的隨機(jī)數(shù)。
根據(jù)牛頓第二定律,第i個(gè)粒子在某一時(shí)刻的加速度為
(17)
利用適應(yīng)度值更新慣性質(zhì)量,則第i個(gè)粒子慣性質(zhì)量更新為
(18)
(19)
其中,fi(t)表示t時(shí)刻第i個(gè)粒子的適應(yīng)度值,bf(t)為t時(shí)刻全局最小適應(yīng)度值,wf(t)為t時(shí)刻全局最大適應(yīng)度值。
由式(13)至式(19)可得第i個(gè)粒子在迭代過(guò)程中位置和速度的更新公式分別為
(20)
(21)
其中ri為第i個(gè)粒子取值在[0,1]之間的隨機(jī)數(shù)。
GSA算法雖然收斂較快但是全局收斂性較差,容易陷入局部收斂。HGSA算法通過(guò)引入Tent映射初始化種群,利用柯西擾動(dòng)避免早熟,以及自適應(yīng)的改變引力常數(shù),從而改善GSA算法的缺陷。
2.2.1 基于Tent映射的種群初始化
利用混沌優(yōu)化算法中Tent映射產(chǎn)生初始種群,所得到的序列不僅服從均勻分布,且對(duì)于不同參數(shù)具有近似一致的分布密度[12]。種群粒子初始位置的Tent映射表達(dá)式為
(22)
其中,N為種群內(nèi)粒子總個(gè)數(shù),r是小于1的隨機(jī)實(shí)數(shù),xi為種群中第i個(gè)粒子,i∈(1,2,…,N)。利用式(22)得到的粒子,降低了種群初始化對(duì)算法優(yōu)化的影響,使其具有更好的遍歷性和隨機(jī)性,降低陷入局部最優(yōu)的風(fēng)險(xiǎn),增加全局搜索的能力。
2.2.2 精英粒子柯西擾動(dòng)
在種群更新過(guò)程中,全局最優(yōu)粒子影響粒子更新的效果,一旦最優(yōu)粒子陷入局部收斂,將對(duì)最終結(jié)果產(chǎn)生負(fù)面影響,對(duì)精英粒子進(jìn)行輕微擾動(dòng)則可使其跳出局部最優(yōu)[13]。選取最優(yōu)粒子的前10%作為精英粒子。隨機(jī)變量x的柯西標(biāo)準(zhǔn)分布函數(shù)記為x~C(0,1),其分布函數(shù)表達(dá)式[13]為
(23)
則精英粒子在迭代過(guò)程中位置的柯西擾動(dòng)可表示為
(24)
2.2.3 改進(jìn)引力常數(shù)
在引力搜索算法中,引力常數(shù)G直接影響粒子加速度的大小,從而影響整個(gè)算法的收斂速度。參數(shù)α是最為重要的一環(huán),當(dāng)α取值較小時(shí),粒子加速度較大,有助于全局收斂;當(dāng)α取值較大時(shí),則會(huì)加快收斂速度,有助于局部收斂[17]。通過(guò)增加迭代次數(shù),自適應(yīng)改變衰減因子
(25)
其中γ,η為自適應(yīng)因子常數(shù)。式(25)表明在迭代開始時(shí)α較小,隨著迭代次數(shù)的增加α隨之變大,從而改善了算法的收斂性能。
HGSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),主要就是利用Tent映射產(chǎn)生初始化的神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,然后根據(jù)神經(jīng)網(wǎng)絡(luò)輸出誤差,利用式(25)改進(jìn)的引力常數(shù)更新式(21),以及利用式(23)使神經(jīng)網(wǎng)絡(luò)跳出局部最優(yōu)。最后通過(guò)HGSA算法不斷迭代優(yōu)化神經(jīng)網(wǎng)絡(luò),最后得到神經(jīng)網(wǎng)絡(luò)的最優(yōu)閾值和權(quán)值。
HGSA優(yōu)化神經(jīng)網(wǎng)絡(luò)的識(shí)別算法步驟如下。
步驟1根據(jù)式(1)-(12),對(duì)2ASK、4ASK、2FSK、4FSK、2PSK、4PSK和16QAM等7種信號(hào)提取R、σ、T1、T2、T3和T4等6個(gè)特征參數(shù)。
步驟2確定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),根據(jù)式(22)映射初始化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,確定引力常數(shù)、種群大小和最大迭代次數(shù)等參數(shù)。
步驟3利用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,計(jì)算各粒子的適應(yīng)度值,找出最優(yōu)粒子和精英粒子。
步驟4判斷最優(yōu)粒子是否變化,若存在變化則轉(zhuǎn)到步驟5,否則判斷變化總次數(shù)是否大于閾值,若小于閾值則轉(zhuǎn)到步驟5,否則對(duì)精英粒子柯西擾動(dòng)。
步驟5根據(jù)式(15)和式(25)更新引力常數(shù),式(19)更新粒子質(zhì)量,式(17)更新粒子加速度,式(20)和式(21)更新粒子速度和粒子位置。
步驟6若迭代次數(shù)已達(dá)到最大,則轉(zhuǎn)到步驟7,否則轉(zhuǎn)到步驟3,重新迭代。
步驟7得到神經(jīng)網(wǎng)絡(luò)的最優(yōu)閾值和權(quán)值,將提取信號(hào)的6個(gè)特征參數(shù),輸入優(yōu)化后的神經(jīng)網(wǎng)絡(luò)分類器對(duì)信號(hào)進(jìn)行分類識(shí)別。
利用Matlab 2016a軟件進(jìn)行仿真驗(yàn)證。仿真參數(shù)設(shè)置為載波頻率fc=150 kHz,采樣頻率fs=1 200 kHz,碼元速率fd=12.5 kb/s,信號(hào)長(zhǎng)度取100個(gè)碼元,選用加性高斯白噪聲信道條件。選取R,σ,T1,T2,T3和T4等6個(gè)特征參數(shù)樣本,輸入神經(jīng)網(wǎng)絡(luò)對(duì)2ASK,4ASK,2FSK,4FSK,2PSK,4PSK和16QAM等7種信號(hào)進(jìn)行分類。
HGSA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法的參數(shù)設(shè)置為最大迭代次數(shù)為50;種群規(guī)模選取40;引力常數(shù)G0=100,自適應(yīng)因子γ=10,η=0.1;柯西擾動(dòng)因子λ=0.1。訓(xùn)練最大次數(shù)為100,目標(biāo)誤差為10-4,學(xué)習(xí)率為0.1,網(wǎng)絡(luò)結(jié)構(gòu)有6個(gè)輸入節(jié)點(diǎn),10個(gè)隱含層節(jié)點(diǎn)數(shù),7個(gè)輸出節(jié)點(diǎn),網(wǎng)絡(luò)采用BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,隱層和輸出層均選用sigmoid作為激活函數(shù)。
在信噪比(signal noise ratio, SNR)1~20 dB區(qū)間內(nèi),取信噪比變化步長(zhǎng)為1 dB,在同一信噪比條件下,將2ASK、4ASK、2FSK、4FSK、2PSK、4PSK和16QAM等7種信號(hào)分別獨(dú)立仿真200次,取其平均值,得到7個(gè)信號(hào)的不同特征參數(shù)隨SNR變化的仿真分別如圖1-圖6所示。
圖1 R隨SNR的變化曲線
圖2 σ隨SNR的變化曲線
圖3 T1隨SNR的變化曲線
圖4 T2隨SNR的變化曲線
圖5 T3隨SNR的變化曲線
圖6 T4隨SNR的變化曲線
由圖1可以看出,隨著信噪比不斷加大,瞬時(shí)幅度信息的區(qū)別不斷變大,可以有效地分辨出含有幅度信息和不含有幅度信息的信號(hào);圖2表明,即使在低信噪比情況下,兩種信號(hào)都具有明顯的區(qū)分度,可以有效地區(qū)分;圖3-5表明,仿真結(jié)果符合高階累積量的理論值,區(qū)分度明顯,可以有效識(shí)別多種信號(hào);圖6表明,在不同信噪比條件下,2FSK和4FSK的特征無(wú)多大變化,說(shuō)明小波變換提取的特征具有良好的抗噪性,且信號(hào)區(qū)分度明顯。
選取基準(zhǔn)測(cè)試函數(shù)Rosenbrock[15],分別利用GSA算法和HGSA算法對(duì)基準(zhǔn)函數(shù)進(jìn)行尋優(yōu)迭代,從而驗(yàn)證改進(jìn)引力常數(shù)的有效性。設(shè)置迭代次數(shù)為200,分別獨(dú)立運(yùn)行10次取平均值作為最終結(jié)果,得到函數(shù)最優(yōu)適應(yīng)度值隨迭代次數(shù)的變化曲線,如圖7所示。
圖7 兩種算法對(duì)函數(shù)尋優(yōu)過(guò)程曲線
從圖7可以看出,HGSA尋優(yōu)收斂速度優(yōu)于GSA算法。在迭代200次后,HGSA最終結(jié)果為30.227,而GSA算法的最終結(jié)果為1 936.88,HGSA算法相比于GSA算法最終結(jié)果低于兩個(gè)量級(jí),其在迭代過(guò)程中可以很好的跳出局部最優(yōu),充分說(shuō)明改進(jìn)算法的可行性和優(yōu)越性。
在信噪比-5~10dB區(qū)間內(nèi),選取信噪比1 dB為更新步長(zhǎng),在單個(gè)信噪比條件下每個(gè)調(diào)制信號(hào)分別產(chǎn)生50組樣本參數(shù),作為訓(xùn)練樣本輸入神經(jīng)網(wǎng)絡(luò)。不斷迭代至最大次數(shù),選取每次迭代的最優(yōu)值作為輸出,分別進(jìn)行10次實(shí)驗(yàn),取平均值作為最終結(jié)果。另外分別在不同信噪比下產(chǎn)生100組信號(hào)特征,作為測(cè)試樣本,利用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)進(jìn)行識(shí)別,訓(xùn)練和測(cè)試分別進(jìn)行10次實(shí)驗(yàn),即每類調(diào)制信號(hào)仿真100×10次,取平均值得到最終仿真結(jié)果。對(duì)比GSA算法優(yōu)化BP網(wǎng)絡(luò)算法(GSA-BP)和HGSA算法優(yōu)化BP網(wǎng)絡(luò)算法(HGSA-BP)性能,以及不同信噪比條件下的平均識(shí)別率,結(jié)果分別如圖8和圖9所示。
由圖8可以看出,GSA-BP算法在粒子迭代到第12代時(shí)就已經(jīng)陷入局部最優(yōu),而HGSA-BP算法在粒子陷入局部最優(yōu)時(shí)會(huì)經(jīng)過(guò)迭代從而跳出局部最優(yōu),繼續(xù)尋找最優(yōu)值。在達(dá)到最大次數(shù)后,GSA-BP算法最優(yōu)適應(yīng)度值為0.039 5,而HGSA-BP算法最優(yōu)適應(yīng)度值達(dá)到了0.038 4,提高較大。相比GSA-BP算法,HGSA-BP算法的復(fù)雜度也并沒(méi)有增加太大,搜索精度的提高完全可以補(bǔ)償由此帶來(lái)的搜索速度的增加。
從圖9可以看出,HGSA-BP算法比GSA-BP算法更好的識(shí)別效果,并且在低信噪比條件下識(shí)別率提高7%,更能體現(xiàn)出算法的優(yōu)越性。
圖8 兩種算法的最優(yōu)適應(yīng)度值變化曲線
圖9 兩種算法的信號(hào)平均識(shí)別變化曲線
在信噪比-5~10 dB區(qū)間內(nèi),選取信噪比2 dB為更新步長(zhǎng),通過(guò)HGSA-BP算法識(shí)別2ASK、4ASK、2FSK、4FSK、2PSK、4PSK和16QAM等7個(gè)信號(hào),信號(hào)識(shí)別率如表3所示。
表3 7種調(diào)制信號(hào)的識(shí)別率
由表3可以看出,在3 dB時(shí),7種調(diào)制信號(hào)就已經(jīng)全部識(shí)別成功,識(shí)別率達(dá)到100%。在低信噪比時(shí),2FSK和4FSK識(shí)別率相比于其他信號(hào)識(shí)別率不高,但隨著信噪比的增加識(shí)別率也隨之增加,在信噪比為-1 dB時(shí)已達(dá)到95%以上。
粒子群優(yōu)化小波神經(jīng)網(wǎng)絡(luò)[6]對(duì)信號(hào)進(jìn)行識(shí)別時(shí),在信噪比為1 dB時(shí),信號(hào)識(shí)別率到達(dá)90%以上;基于改進(jìn)粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)[9]對(duì)信號(hào)進(jìn)行識(shí)別時(shí),當(dāng)信噪比大于等于10 dB時(shí),信號(hào)識(shí)別率達(dá)到94%;而HGSA-BP算法在信噪比為-1 dB時(shí),信號(hào)識(shí)別率已到達(dá)95%以上,且算法復(fù)雜度較低。
基于HGSA算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的調(diào)制識(shí)別算法,通過(guò)瞬時(shí)特征,高階累積量和小波變換提取的6個(gè)特征參數(shù),降低了噪聲對(duì)信號(hào)特征的干擾,且特征明顯,具有較大的區(qū)分度。利用Tent映射初始化種群平衡了局部最優(yōu)和全局最優(yōu),自適應(yīng)改變引力衰減因子提高了收斂速度,利用柯西擾動(dòng)降低了BP神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)的可能性,得到了最優(yōu)適應(yīng)度值,并且在低信噪比條件下具有較高的識(shí)別率,實(shí)現(xiàn)了2ASK,4ASK,2FSK,4FSK,2PSK,4PSK,16QAM等7種基本調(diào)制信號(hào)的自動(dòng)識(shí)別。仿真結(jié)果表明,HGSA算法在尋優(yōu)速度和尋優(yōu)效果上均明顯優(yōu)于GSA算法,且在信噪比為-1 dB時(shí),信號(hào)的整體識(shí)別率達(dá)到95%以上。