李靖超, 蘇科源, 董春蕾, 陳志敏, 李慶典
(上海電機(jī)學(xué)院 電子信息學(xué)院, 上海 201306)
在無線通信中,發(fā)射方通過高頻載波將需要傳輸?shù)臄?shù)字信息調(diào)制到射頻后利用發(fā)射天線輻射到無線信道中,接收方接收到射頻信號(hào)后,將其下變頻到中頻進(jìn)行處理,利用已知先驗(yàn)信息解調(diào)出需要的原始信息[1]。然而在實(shí)際應(yīng)用中,接收方只能通過極少的先驗(yàn)信息對(duì)接收信號(hào)進(jìn)行相應(yīng)處理。信號(hào)識(shí)別常用的方法是先提取信號(hào)特征,再利用分類器進(jìn)行識(shí)別[2-3]。
分類器的設(shè)計(jì)是信號(hào)識(shí)別中極為重要的一環(huán)[4]。在識(shí)別統(tǒng)計(jì)模式中,分類器的首要任務(wù)就是參照相關(guān)標(biāo)準(zhǔn),將給定的以特征向量予以表示的輸入模式歸類到適合的模式分類中[5]。近年來,統(tǒng)計(jì)模式識(shí)別及其相關(guān)領(lǐng)域一直將各類高性能的分類算法研究作為重要研究課題[6]。
為彌補(bǔ)傳統(tǒng)分類器所存在的缺陷,人們主要作出了以下兩方面的努力:① 理論方面,闡述了一種更先進(jìn)的不確定性推理理論;② 實(shí)踐方面,設(shè)計(jì)出了一種非參數(shù)、自適應(yīng)和非線性的分類器——神經(jīng)網(wǎng)絡(luò)分類器[7]。所謂神經(jīng)網(wǎng)絡(luò),是一種集自適應(yīng)、自組織及大規(guī)模分布式并行計(jì)算等特征于一體的非線性信號(hào)處理系統(tǒng)[8],具有極強(qiáng)的泛函逼近與模式識(shí)別分類能力,且容錯(cuò)性能佳,尤其適用于處理各類相關(guān)工程問題。
近幾年來,智能蜂群優(yōu)化算法受到了人們的廣泛關(guān)注。Karaboga等[9]為代表的研究人員闡述了一種人工蜂群算法(Artificial Bee Colony Algorithm, ABC)。Yang[10]也闡述了一種虛擬蜜蜂算法(Virtual Bee Algorithm, VBA)。前者是基于蜜蜂群體智能行為的優(yōu)化算法,適用于處理連續(xù)優(yōu)化相關(guān)問題,現(xiàn)已證明這種算法具有優(yōu)于差分進(jìn)化(Differential Evolution, DE)、遺傳算法(Genetic Algorithm, GA)和粒子群優(yōu)化(Particle Swarm Optimization, PSO)的性能,其優(yōu)勢(shì)集中表現(xiàn)為在全局迭代時(shí)進(jìn)行局部搜索,有力地增加了找到最優(yōu)結(jié)果的概率。因此,本文提出了基于人工蜂群改進(jìn)信號(hào)分類器算法,并對(duì)2ASK,2FSK,2DPSK 3種信號(hào)的特征數(shù)據(jù)進(jìn)行了分類。仿真結(jié)果顯示,這種算法在低信噪比的環(huán)境下正確率仍超過94%,所以較傳統(tǒng)算法具有更加良好的識(shí)別性能[11-13]。
以Karaboga[9]為代表的研究人員2005年通過對(duì)蜜蜂智能行為的研究首次提出了ABC。Frisc等[14]學(xué)者發(fā)現(xiàn)蜜蜂借助搖擺舞來傳遞蜜源信息。蜜蜂跳舞時(shí)所指方向即表示蜜源與太陽相對(duì)的方向,而所搖擺的頻率則代表遠(yuǎn)近,時(shí)間的長短反映蜜源量的多寡。在ABC里,蜜源的位置指的是優(yōu)化問題時(shí)可能存在的解,而花蜜的多寡說明對(duì)應(yīng)解的適合度。通常構(gòu)成人工蜂群的主體包括跟隨蜂、采蜜蜂與偵查蜂3種。采蜜蜂的數(shù)量(Ne)和跟隨蜂的數(shù)量(N0)是相同的,而且都等于解的數(shù)目(Ns)。每個(gè)解都是一個(gè)D維向量,其中,D代表了需要進(jìn)行優(yōu)化參數(shù)的個(gè)數(shù)。該算法里,作為控制的參數(shù)有極限值(limit)、解的個(gè)數(shù)(Ns)以及最大循環(huán)次數(shù)(Max Cycle Number,MCN)。
首先,算法隨機(jī)產(chǎn)生初始Ns個(gè)解(X1,X2,…,NNs),再對(duì)MCN與limit值進(jìn)行設(shè)定。初始化后,蜜蜂先循環(huán)搜索,借助貪婪選擇法對(duì)解相近的區(qū)域進(jìn)行搜索,以求得新的解。若所求新解的適合度大于舊解,那么采蜜蜂就會(huì)記住新解,拋棄舊解。跟隨蜂同樣采用貪婪選擇法根據(jù)對(duì)這些解的可能值(Pi)所進(jìn)行的計(jì)算以及采蜜蜂記住的新解對(duì)相近區(qū)域進(jìn)行新解的搜索。如果某個(gè)最新的解無法進(jìn)行更新(更新失敗的次數(shù)超過limit),那么偵查蜂便會(huì)遺棄該解,以新解取代。如此反復(fù),直到最大循環(huán)次數(shù)。算法中每次循環(huán)所設(shè)定的偵查蜂只有1只。
現(xiàn)行較成熟有效的分類器算法多以BP神經(jīng)網(wǎng)絡(luò)分類器為主[14],本文結(jié)合了ABC和BP神經(jīng)網(wǎng)絡(luò),借助ABC找到的最優(yōu)網(wǎng)絡(luò)閥值與權(quán)值,不僅符合算法的局部搜索與全局迭代的特征,同時(shí)也具備神經(jīng)網(wǎng)絡(luò)所具有的泛化映射能力,其流程如圖1所示。詳細(xì)步驟如下:
(1) 創(chuàng)建一個(gè)BP神經(jīng)網(wǎng)絡(luò)。
(2) 將算法中的參數(shù)初始化。各參數(shù)之間的關(guān)系可表示為
(1)
D維解向量Xi(i=1,2,…,Ns)表示網(wǎng)絡(luò)構(gòu)建之時(shí)的閾值與連接權(quán)值,各解的維數(shù)滿足
D=Nin×Nhi+Nhi+Nhi×Nout+Nout
(2)
式中:Nin,Nhi,Nout分別表示輸入層、隱含層及輸出層的神經(jīng)元數(shù)量,初始解的值是(-1,1)范圍內(nèi)隨機(jī)產(chǎn)生的值。
(3) 計(jì)算每個(gè)解的適合度值。
(3)
式中:i=1,2,…,Ns,MSEi為第i個(gè)解的BP網(wǎng)絡(luò)均方誤差。
顯而易見,在適合度為1時(shí)所呈現(xiàn)的狀態(tài)是最理想的。
(4) 采蜜蜂以當(dāng)前記憶解為依據(jù)進(jìn)行新解的搜索。
Vij=Xij+rand(-1,1)(Xij-Xkj)
(4)
式中:i是解的編號(hào),j∈{1,2,…,D},k∈{1,2,…,Ns}是隨機(jī)的,且k≠i。
如果新解比舊解的適合度更大時(shí),采蜜蜂會(huì)借助貪婪選擇法記住新解,相反則會(huì)在舊解更新失敗數(shù)量上多加1次。
(5) 計(jì)算各解的可能值
(5)
式中:f(Xi)為第i個(gè)解的適合度值。跟隨蜂以這些可能值作為依據(jù),從現(xiàn)有解鄰域中進(jìn)行新解的搜索(式(4))。
(6) 若更新解Xi的失敗次數(shù)超過了預(yù)設(shè)的極限值,說明這個(gè)解無法繼續(xù)被優(yōu)化,要將它舍棄,用下式產(chǎn)生的新解將其代替
Xi=Xmin+rand(0,1)(Xmax-Xmin)
(6)
(7) 若迭代次數(shù)比最大循環(huán)次數(shù)更大時(shí),則結(jié)束訓(xùn)練。相反,則返回第4步再繼續(xù)。
(8) 把所得最優(yōu)解轉(zhuǎn)變?yōu)锽P網(wǎng)絡(luò)的閥值與權(quán)值,再借助數(shù)據(jù)仿真法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試。
首先對(duì)2ASK,2FSK,2DPSK 3種信號(hào)進(jìn)行4層小波包分解,每進(jìn)行1次小波包分解信號(hào)會(huì)被分

圖1 ABC算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的流程圖
為高頻與低頻,第2層小波包分解則把第1層分解后的高、低頻信號(hào)再次分別分解為高、低頻,以此類推。計(jì)算第4層上各信號(hào)能量值并進(jìn)行保存,作為特征提取的數(shù)據(jù)庫。
表1所示為無噪聲環(huán)境下2ASK,2FSK,2DPSK 3種信號(hào)的不同小波包分解后的能量數(shù)據(jù)值。其中,結(jié)點(diǎn)序號(hào)表示4層小波包分解后第4層上的每一個(gè)頻段點(diǎn)。

表1 無噪聲環(huán)境下2ASK,2FSK,2DPSK信號(hào)
再分別通過BP神經(jīng)網(wǎng)絡(luò)分類器與優(yōu)化之后的BP神經(jīng)網(wǎng)絡(luò)分類器進(jìn)行分類。
程序在Matlab 2017a for Mac 環(huán)境下運(yùn)行仿真,BP神經(jīng)網(wǎng)絡(luò)分類器仿真時(shí)的性能誤差變化如圖2所示。

圖2 BP算法訓(xùn)練過程中網(wǎng)絡(luò)誤差性能變化
由圖2可知,經(jīng)過1 000次迭代BP神經(jīng)網(wǎng)絡(luò)分類器才能達(dá)到最佳值。
根據(jù)ABC優(yōu)化BP神經(jīng)網(wǎng)絡(luò)分類器,使用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)分類器對(duì)2ASK,2FSK,2DPSK 3種信號(hào)的特征數(shù)據(jù)進(jìn)行分類。由圖3可以看出,ABC-BP神經(jīng)網(wǎng)絡(luò)分類器在14次迭代后就接近了目標(biāo)值,訓(xùn)練過程中先急劇下降,一段平穩(wěn)后再一次急劇下降,分類速率有了大幅提升。與BP神經(jīng)網(wǎng)絡(luò)分類器相比無論是準(zhǔn)確率方面,還是訓(xùn)練時(shí)間方面均實(shí)現(xiàn)了較大提升。

圖3 ABC-BP算法訓(xùn)練過程中網(wǎng)絡(luò)誤差性能變化
經(jīng)優(yōu)化之后的BP神經(jīng)網(wǎng)絡(luò)分類器在信噪比為5dB的環(huán)境下對(duì)各類信號(hào)分類的正確率均有顯著提高(見表2)。

表2 5 dB信噪比環(huán)境下分類正確率對(duì)比 %
本文在設(shè)計(jì)信號(hào)分類器時(shí),將BP神經(jīng)網(wǎng)絡(luò)和ABC結(jié)合在一起,并將求解BP神經(jīng)網(wǎng)絡(luò)各層閾值與權(quán)值的過程向蜜蜂搜索最佳蜜源的過程轉(zhuǎn)化,得出ABC-BP算法。以Matlab仿真提取的2ASK,2FSK,2DPSK 3種信號(hào)的特征數(shù)據(jù)為樣本,通過對(duì)比仿真結(jié)果表明:ABC-BP算法能夠顯著提升BP神經(jīng)網(wǎng)絡(luò)分類器對(duì)2ASK,2FSK,2DPSK 3種信號(hào)分類的正確率;ABC-BP算法因兼具ABC的局部搜索、全局迭代能力以及神經(jīng)網(wǎng)絡(luò)的泛化映射能力,故對(duì)2ASK,2FSK,2DPSK 3種信號(hào)都實(shí)現(xiàn)了100%的正確分類。在5 dB信噪比的環(huán)境之下所進(jìn)行的仿真試驗(yàn)發(fā)現(xiàn),此時(shí)信號(hào)分類的正確率下降為85%,但以ABC優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)分類器為基礎(chǔ)在信噪比為5 dB環(huán)境下的分類正確率仍然達(dá)到了94%以上。因此,本文應(yīng)用ABC優(yōu)化BP神經(jīng)網(wǎng)絡(luò)分類器,能夠100%的對(duì)2ASK,2FSK,2DPSK 3種信號(hào)進(jìn)行分類,這從理論方面為低信噪比下分類器的應(yīng)用提供了支持。