劉振興,陸劍鋒,李 平
(1.泰州職業(yè)技術學院,江蘇 泰州 225300;2.南京信息工程大學,江蘇 南京 210044)
通信質(zhì)量的好壞取決于所處信道的物理特性。由于水聲信道具有時變、空變、多途、高背景噪聲等復雜特性,其不可避免地將在通信系統(tǒng)的接收端產(chǎn)生嚴重的碼間干擾,從而引起誤碼,降低了系統(tǒng)的可靠性[1-3]。因此,如何克服傳輸信道引起的時變多途效應一直是研究者們關注的焦點。
目前,常用的方法有常數(shù)模算法(Constant Modulus Algorithm,CMA)[4]、小波[5]和多小波[6-7]等多種水聲信道均衡算法。常數(shù)模算法不需要知道水聲信道的先驗信息,因結構簡單、性能穩(wěn)健、運算量小而被廣泛使用,但其收斂精度不高。小波和多小波算法的均衡效果與其變換的稀疏能力有關,且需事先選取小波和多小波系數(shù),影響了算法的實際應用。
深度學習技術在通信、圖像處理、計算機視覺等領域的成功應用為解決這一問題提供了一個新的方向[8-11]。該技術不需要獲取信道模型的先驗信息,可以通過端到端的訓練直接從訓練數(shù)據(jù)中學習有效的網(wǎng)絡模型,處理任何類型的信道。文獻[12]對基于深度學習的正交頻分復用水聲通信系統(tǒng)進行了研究,將深度前饋神經(jīng)網(wǎng)絡作為通信接收機,用訓練后的網(wǎng)絡模型直接恢復發(fā)射信號。文獻[13]對基于深度學習的時變水聲信道單載波通信進行了研究,將深度前饋神經(jīng)網(wǎng)絡作為接收器,利用訓練后的網(wǎng)絡模型恢復發(fā)射信號。以上方法采用深度前饋神經(jīng)網(wǎng)絡作為均衡器將接收端信號直接恢復為發(fā)射信號,但當通信環(huán)境差、干擾嚴重時,系統(tǒng)接收端輸入信號與理想輸入信號相差較大,描述接收信號與發(fā)射信號之間關系的函數(shù)也更加復雜,網(wǎng)絡訓練的難度將變大,訓練后的模型精度也會受到嚴重影響,從而使信號的誤碼率增加,影響通信質(zhì)量。
基于此,本文提出了一種結合常數(shù)模與深度學習的水聲信道均衡算法。該算法設計了用于信道均衡的CMA-SAE系統(tǒng)接收端結構。該結構在通信系統(tǒng)接收端,首先采用CMA對輸入信號進行均衡處理,實現(xiàn)對發(fā)射信號的快速均衡,然后采用SAE對均衡后的信號進行去噪處理,實現(xiàn)對發(fā)射信號的高精度恢復。此外,該算法提出了一種新的堆棧自編碼網(wǎng)絡訓練方法,實現(xiàn)了對網(wǎng)絡的逐層訓練,進一步提高了網(wǎng)絡的性能。
CMA是一種經(jīng)典的盲均衡算法,由于其算法簡單、性能穩(wěn)健、運算量小,且不需要周期性地發(fā)送訓練序列,有效地提高了信道利用率,因此被廣泛使用。
均衡器輸出為:

式中,x(n)為均衡器輸入信號,c(n)為均衡器權系數(shù)向量,?表示共軛卷積。
損失函數(shù)定義為:

式中,R2為CMA模值,s(n)為零均值獨立同分布的發(fā)射信號,E{}表示期望。
采用隨機梯度法更新權系數(shù):

式中,c(n+1)為下一次迭代的均衡器權值,c(n)為當前迭代的均衡器權值向量,e(n)為誤差,x*(n)為均衡器輸入信號x(n)的共軛,μ為所述均衡器的學習速率。
自編碼器是自監(jiān)督神經(jīng)網(wǎng)絡,其輸入等于輸出。當輸入為含噪信號,輸出為干凈信號時,學習的自編碼器具有較好的去噪性能,故其常用于去噪。研究表明,網(wǎng)絡的性能與其結構有關,深度網(wǎng)絡相較于淺層網(wǎng)絡,在穩(wěn)定性和表達能力上更具優(yōu)勢,且堆棧自編碼器可以模擬人的大腦活動,逐層提取低噪數(shù)據(jù)特征,重構無噪數(shù)據(jù),故具有更好的去噪能力[14-15]。堆棧自編碼器網(wǎng)絡模型如圖1所示。

圖1 堆棧自編碼網(wǎng)絡
網(wǎng)絡計算公式如下:

式中,Y∈Rn表示輸入的含噪聲信號,p(L)表示第L層的輸入,a(L)表示第L層輸出,a(1)=p(1)=Y,W(L)表示網(wǎng)絡第L+1層和L層之間的連接權值,b(L)表示與L+1層節(jié)點相連接的偏置,f(·)表示激活函數(shù)。
損失函數(shù)定義為:

Pascal Vincent[16]等對基于去噪自編碼器的深層網(wǎng)絡構建策略進行了研究,將網(wǎng)絡訓練分為預訓練和微調(diào)兩個階段,采用“貪婪法”逐層訓練整個深度網(wǎng)絡。實驗結果表明,隨著隱層層數(shù)的增加,網(wǎng)絡的性能不斷優(yōu)化,并且預訓練后的網(wǎng)絡性能優(yōu)于無預訓練的網(wǎng)絡。該方法在網(wǎng)絡逐層訓練的過程中,采用人為添加噪聲的方式構建訓練樣本集,但由于環(huán)境等因素的不確定性,噪聲情況極為復雜,往往是未知的,故該方法存在一定的缺陷。
本文提出的基于CMA-SAE的水聲信道均衡算法原理如圖2所示。其中,s(n)為零均值獨立同分布的發(fā)射信號,h(n)為水聲信道,v(n)為加性高斯白噪聲,d(n)為理想的系統(tǒng)接收端輸入信號,x(n)為實際的系統(tǒng)接收端均衡器輸入信號,s^(n)是系統(tǒng)接收端輸出信號。

圖2 基于CMA-SAE的水聲信道均衡算法原理框圖
基于CMA-SAE算法的通信系統(tǒng)接收端主要包含CMA均衡和SAE去噪處理兩部分,充分利用了CMA快速均衡和SAE高效去噪功能,從而實現(xiàn)發(fā)射信號的高精度恢復。此外,針對水聲通信中常見的高階QAM信號,添加了實復變換模塊,進一步提升了模型的泛化能力。
2.2.1 CMA均衡
CMA在所提出的算法中起均衡作用,完成對輸入信號的初始恢復。根據(jù)算法原理,類似于聚類,主要步驟流程如下:
(a)根據(jù)式(1)計算均衡器輸出;
(b)根據(jù)式(2)、式(3)計算損失函數(shù);
(c)根據(jù)式(4)更新均衡器權系數(shù);
(d)返回步驟(a),依次循環(huán)。
2.2.2 實復變換
當信道傳輸高階QAM信號時,考慮到SAE網(wǎng)絡特性,為了降低信號處理的復雜度,需要在SAE的輸入端做信號變換,將復數(shù)信號變換為實數(shù)信號。為了使信號不失真,在SAE的輸出端需做信號反變換,將實數(shù)信號變換為復數(shù)信號。變換原理如圖3所示。

圖3 信號變換原理框圖
圖中,y(n)=yR(n)+jyI(n)為SAE輸入的復數(shù)信號。對y(n)進行信號變換轉換為兩路實數(shù)信號yR(n)和yI(n),分別送到SAE進行處理。zR(n)和zI(n)為與之對應的兩路堆棧去噪自編碼器輸出信號,經(jīng)過信號反變換后轉換為復數(shù)信號z(n),z(n)=zR(n)+jzI(n)。
2.2.3 堆棧自編碼器去噪
Pascal Vincent[16]等提出的逐層訓練堆棧自編碼器的“貪婪法”,由于無法獲知噪聲的先驗信息存在一定的缺陷。本文提出了新的堆棧自編碼器訓練法,采用含噪信號和標簽逐層訓練堆棧自編碼器。該方法與Pascal Vincent等的“貪婪法”的不同之處在于,含噪信號為通信系統(tǒng)接收端的輸入信號,而不是人為給標簽添加噪聲獲得的信號。另外,訓練下一層網(wǎng)絡時提取的是噪聲信號和標簽的特征作為訓練數(shù)據(jù)集,而不是標簽的特征作為網(wǎng)絡的輸入。具體過程如下:
(a)構建訓練數(shù)據(jù)集。
(b)預訓練網(wǎng)絡。
①將原堆棧自編碼網(wǎng)絡的輸入層、隱層1構成第一個去噪自編碼網(wǎng)絡。根據(jù)式(5)~式(8)計算網(wǎng)絡輸出及損失函數(shù),采用批量梯度下降法對網(wǎng)絡進行訓練,得到網(wǎng)絡參數(shù)W(1,1)、W(1,2)、b(1,1)和b(1,2),其中W(1,1)和b(1,1)為網(wǎng)絡的編碼階段參數(shù),W(1,2)和b(1,2)為網(wǎng)絡解碼階段的參數(shù),令W(1)=W(1,1),b(1)=b(1,1)。
②將原堆棧自編碼網(wǎng)絡的隱層1作為輸入層,隱層2作為隱含層,構成第二個去噪自編碼網(wǎng)絡。利用W(1)和b(1)得到輸入Y和的一階特征表示h(1)和,將h(1)和分別作為第二個去噪自編碼網(wǎng)絡的輸入和期望輸出,訓練網(wǎng)絡,得到參數(shù)W(2,1)、W(2,2)、b(2,1) 和b(2,2),令W(2)=W(2,1),b(2)=b(2,1)。其中:

f(·)選擇tanh函數(shù),即f(t)=(et-e-t)/(et+e-t)。
③依此類推,直至訓練完整個網(wǎng)絡。在訓練當前層自編碼器時,其他層自編碼網(wǎng)絡參數(shù)保持不變。
(c)微調(diào)整個網(wǎng)絡。
為了驗證所提出算法的有效性,采用MATLAB 2015b進行了仿真實驗,與文獻[12-13]所提出的基于深度前饋神經(jīng)網(wǎng)絡的均衡算法DNN進行了對比。實驗中,發(fā)射信號為16QAM,信號長度為12 000,采用混合相位信道h=[0.313 2,-0.104 0,0.890 8,0.313 4][17],CMA權長16,深度前饋神經(jīng)網(wǎng)絡結構DNN為128-1024-612-128-32,堆棧自編碼器網(wǎng)絡結構SAE為128-200-300-400-128。除特別說明外,所有參數(shù)都如上所示。
為了分析CMA-SAE算法的性能,采用CMASAE對輸入信號進行了均衡。系統(tǒng)各部分輸出信號星座圖如圖4所示。

圖4 星座圖
由圖4可知,所提出的CMA-SAE算法中,CMA對發(fā)射信號進行了初始估計,SAE對發(fā)射信號進行了精確恢復。由圖4(c)可知,因為CMA模值為常數(shù),它的主要作用是將信號向以模值為半徑的圓聚攏,而實際參考信號為16個元素構成的方陣,故CMA處理后的信號具有較大的均衡誤差,輸出星座圖分布較松散,但與系統(tǒng)輸入信號相比,星點有序地分布在發(fā)射信號附近。由圖4(d)可知,在CMA-SAE算法中,SAE對CMA輸出的信號進行了進一步的估計,有效去除了CMA輸出信號中的噪聲,對發(fā)射信號進行了精確恢復,輸出的信號星座圖相對于CMA更緊湊,與發(fā)射信號更為接近。
文獻[16]指出,網(wǎng)絡的性能會隨著網(wǎng)絡層數(shù)的增加而提升。為此,分析了網(wǎng)絡節(jié)點數(shù)對網(wǎng)絡性能的影響,對比了5層網(wǎng)絡不同節(jié)點數(shù)下CMA-SAE輸出的星座圖,如圖5所示。


圖5 不同網(wǎng)絡結構的輸出星座圖
由圖5(a)和圖5(b)可知,采用網(wǎng)絡結構64-200-200-200-64和64-200-300-200-64時,輸出信號較緊湊地分布在發(fā)射信號附近,能實現(xiàn)信號的較精確恢復,但在中心點(0,0)附近,有較多散點,且兩種結構輸出的星座圖相差不大。由圖5(c)可知,采用網(wǎng)絡結構128-200-300-400-128時,輸出信號的星座圖更緊湊,且中心點(0,0)附近的散點問題也得到解決,能更精確地恢復發(fā)射信號。由圖5(d)可知,采用網(wǎng)絡結構256-200-300-400-256時,輸出信號非常完美地恢復出了發(fā)射信號。故由圖5可知,網(wǎng)絡的性能會隨著網(wǎng)絡輸入層節(jié)點數(shù)的增加而提升。同時,由實驗可知,當網(wǎng)絡輸入層節(jié)點數(shù)增加到一定數(shù)量時,網(wǎng)絡性能達到最優(yōu),繼續(xù)增加時網(wǎng)絡的性能會急劇下降,輸出的星座圖完全發(fā)散。因為網(wǎng)絡輸入層節(jié)點數(shù)越多,意味著獲取的信息越豐富,越有利于網(wǎng)絡做出判斷,但在數(shù)據(jù)總量不變的情況下,當輸入層節(jié)點數(shù)逐漸增加時,意味著訓練樣本數(shù)的逐漸減少,當樣本數(shù)過少時,不利于網(wǎng)絡進行學習訓練,從而性能會急劇下降。此外,對不同網(wǎng)絡層數(shù)的自編碼網(wǎng)絡也進行了實驗。由實驗可知,隨著網(wǎng)絡層數(shù)的增加,網(wǎng)絡性能逐步提升,但當進一步提升網(wǎng)絡層數(shù),即L>5時,網(wǎng)絡性能提升不明顯,圖中未列出。
將本文提出的CMA-SAE算法與基于深度前饋神經(jīng)網(wǎng)絡的均衡算法DNN和基于堆棧自編碼網(wǎng)絡的均衡算法SAE進行了比較,比較了不同迭代次數(shù)k下,不同輸入信噪比時算法的誤碼率。

圖6 不同迭代次數(shù)的誤碼率曲線
圖6(a)和圖6(b)分別為迭代次數(shù)k=1 000和k=400時3種算法處理后的誤碼率。由圖可知,CMA-SAE的誤碼率最低,SAE的誤碼率低于DNN,并且隨著輸入信噪比的增大,3種算法的誤碼率逐漸降低。因為SAE與DNN相比,包含一個逐層訓練的預訓練過程,故在相同的反向傳播訓練次數(shù)情況下,SAE的性能優(yōu)于DNN。CMA-SAE與SAE相比,由于經(jīng)過CMA預處理,CMA-SAE中SAE的輸入信號與參考信號的差異較小,故兩者的SAE經(jīng)過相同的訓練次數(shù)后,CMA-SAE相較于SAE表現(xiàn)更優(yōu)。3種算法完成的是一個逆濾波過程,實現(xiàn)通信系統(tǒng)接收端輸入信號與發(fā)射信號的逆向映射,可表示為函數(shù)f-1。通信環(huán)境越差,干擾越嚴重,接收端實際輸入信號與理想輸入信號相差越大,函數(shù)f-1越復雜,網(wǎng)絡訓練的難度也越大,訓練后的模型精度也越差,故隨著輸入信號信噪比的減小,誤碼率逐漸升高。
對比圖6(a)和圖6(b)可知,隨著網(wǎng)絡訓練次數(shù)的增加,算法的性能顯著增加。當輸入信噪比為5 dB時,CMA-SAE的誤碼率由訓練次數(shù)k=400時的0.251 7提升到了k=1 000時的0.008 7。可知網(wǎng)絡的訓練次數(shù)對算法的性能具有重要影響,且訓練次數(shù)越多,所提出的CMA-SAE與DNN和SAE相比,性能越優(yōu)。
本文提出了一種結合常數(shù)模與深度學習的新的水聲信道均衡算法。該算法將現(xiàn)有水聲信道均衡技術中的均衡、去噪功能分割開來,分別采用CMA和SAE進行處理。利用CMA估計發(fā)射信號,實現(xiàn)快速均衡;利用SAE去除CMA的估計誤差,實現(xiàn)發(fā)射信號的精準恢復。水聲信道仿真結果表明,提出的CMA-SAE算法優(yōu)于最新的基于深度前饋神經(jīng)網(wǎng)絡的均衡算法DNN和基于堆棧自編碼網(wǎng)絡的均衡算法SAE,具有更低的誤碼率。此外,實驗表明,算法的性能與深度神經(jīng)網(wǎng)絡的結構有關,會隨著網(wǎng)絡輸入層節(jié)點數(shù)的增加而提升,也會隨著網(wǎng)絡層數(shù)的增加而提升,但當增加到一定數(shù)量時會出現(xiàn)飽和,繼續(xù)增加時算法性能會快速衰退。算法的性能也與網(wǎng)絡訓練的次數(shù)有關,會隨著訓練次數(shù)的增加而提升,但訓練次數(shù)的增加會帶來計算量的顯著增大。