周 超
(華南理工大學廣州學院,廣東 廣州 510800)
隨著計算機處理能力的大幅提升,機器學習成為熱門學科。神經網絡等機器學習算法在很多領域優勢明顯,通信學科亦是如此。BP神經網絡被廣泛用于各種信號處理場景,如語音處理、圖像識別等,其中廣泛使用的模型是“M-P神經元模型”[1]。神經元樹突部分用于接收傳輸信號xn,輸入信號與權值θn相乘,通過累加后求得輸出神經元的輸入值,再與自身閾值進行比對判斷是否產生輸出,從而完成信號的非線性映射處理[2-3]。神經網絡是將N個小單元按照一定的次序組合在一起的結果,因此神經網絡內部含有大量的權值和閾值需要確定。圖1為應用最廣泛的單隱層神經網絡結構[3]。
圖1中第j個輸出神經元的輸出為,輸入為第h個隱層神經元的輸入為隱藏層單元的閾值用bh表示;輸出層單元的閾值用θj表示。
BP神經網絡算法的工作原理包括兩個過程:
(1)正向求解,即輸入層神經元接收的信號順著神經網絡正向流動,逐級求解,直至到達輸出層神經元,并經過輸出層神經元處理后得到輸出信號。
(2)反向校正,若該輸出信號與其期望值存在誤差,則神經網絡進行反向校正過程[3]。反向過程將誤差值e順信號傳播的反方向傳遞,使各神經元調整權值和閾值,直至輸入層,如此反復[4]。其中,權值ω的調整為 Δωhj=ηgjbh,式中學習效率η∈(0,1);權值v的調整為vih=vih+μX'eh。此外,隱藏層閾值的調整為b=b-μeh,eh(n)=b(n)*(1-b(n))*(whj(n))*gj。
至此,給出了BP算法的詳細實現過程和調整公式。通過將接收序列輸入神經網絡均衡器,以校正碼間串擾產生的影響。

圖1 單隱層BP神經網絡結構
本文利用MATLAB工具搭建一個BP神經網絡,神經網絡的結構包含9個輸入層神經元、20個隱層神經元以及2個輸出層神經元,學習步長為0.8。仿真共使用100 000個信號碼元,其中10 000個訓練碼元,用于對BP神經網絡內部參數的訓練;90 000個測試數據,用于測試訓練后神經網絡的均衡效果[5]。仿真信道的誤碼率為2.050 1×10-3。圖2為系統訓練過程的誤碼個數曲線,初始過程誤碼數量急劇增加,但從第1 900個碼元開始不再產生錯誤信息,因此該BP神經網絡經過1 900個碼元后完成了內部參數調整并能起到均衡效果。

圖2 BP神經網絡訓練過程誤碼個數統計
訓練完成后,使用90 000個碼元測試訓練好的神經網絡誤碼率曲線如圖3所示。可見,經過訓練序列訓練后的BP神經網絡均衡器能夠起到很好的均衡作用。

圖3 BP神經網絡測試過程誤碼統計結果
使用訓練序列定期訓練神經網絡的方式會給通信系統增加額外的數據負擔,占用通信資源而盲均衡可以在不需要訓練序列的情況下實現自適應均衡過程。由于接收信號自身含有發送信號的信息,因此用來計算誤差的期望信號能夠被接收信號判決值代替,這便是判決反饋盲均衡的原理[4]。圖4為判決反饋BP神經網絡盲均衡仿真的誤碼數量曲線,從8 500個碼元開始,盡管系統產生的通信誤碼個數沒有急劇上升,但隨著通信碼元數量的增加,誤碼數量仍在逐步增多。
為了充分排除網絡前期調整過程中累積的誤碼數量對誤碼率的影響,從第8 500個碼元處開始計算誤碼率,結果如圖5所示。
通過圖4、圖5的結果可知,在信道高誤碼率情況下采用判決反饋方案,由于多徑效應而導致的誤碼在一定程度上能被BP神經網絡均衡器糾正。只要傳輸的碼元數量夠多,神經網絡能夠逐漸匹配信道。然而,這個收斂的過程相較于使用訓練時要緩慢,且收斂后神經網絡的均衡效果不佳,穩定后依然會產生較多誤碼。而采用訓練序列的方式時,神經網絡有很好的均衡效果。

圖4 BP神經網絡判決反饋均衡器誤碼統計

圖5 誤碼率從第8 500個碼元處開始統計