楊 凌,程 麗,韓 琴,趙傲男
(蘭州大學信息科學與工程學院,甘肅 蘭州 730000)
盲均衡技術在文獻[1]中首次被提出,與傳統(tǒng)的自適應均衡技術不同,在信道特性未知的情況下,其可以利用信號的統(tǒng)計特性,無需發(fā)送訓練序列便可以恢復原始信號[2-5]。盲均衡最常用的是基于高階統(tǒng)計量的方法,該方法由于涉及信號高階統(tǒng)計量的計算,計算復雜度較高,需要大量樣本才能實現(xiàn)收斂且收斂速度較慢[6]。
考慮到發(fā)送信號之間互不相關的特點,Slock首先提出采用線性預測方法解決盲均衡問題[7],雖然線性濾波器結構簡單,但受到其階數(shù)限制的影響,最終結果精度較低。為了提升均衡性能,Ferrari等人和Cavalcante等人采用了非線性結構的預測濾波器(predictive filter,PF),分別提出了基于模糊濾波器和基于神經(jīng)網(wǎng)絡的盲均衡方法[8-9]。文獻[10]基于發(fā)送序列為二進制信號并且無信道噪聲的假設,在預測方法框架下使用多層感知機(multilayer perceptron,MLP)完成了線性信道的在線盲均衡。文獻[11]基于預測方法,使用新型的極限學習機(extreme learning machine,ELM)完成了線性和非線性信道下的盲均衡,然而由于采用實數(shù)型極限學習機,該方法無法解決對信號發(fā)送端進行具有高頻譜效率特點的復數(shù)正交振幅調制(quadrature amplitude modulation,QAM)的情形。而且,文獻[11]中ELM輸出權值的計算采用經(jīng)典的求廣義逆矩陣的方法,只能對接收序列進行離線批處理,然而在很多通信場景中,信道可能會隨著時間發(fā)生變化,該方法無法對發(fā)送信號進行實時均衡。
傳統(tǒng)的ELM訓練算法是對數(shù)據(jù)進行離線(批量)處理的[12],即在開始訓練之前已經(jīng)得到所有的樣本,并且使用這批樣本不斷進行迭代更新參數(shù),但這種方法在很多在線場景下無法應用。為了解決該問題,文獻[13]首次提出ELM的在線訓練方法,采用最小二乘(least squares,LS)的方法求解輸出權值。作為一種參數(shù)估計方法,當回歸向量存在多重共線性時,LS的估計方差較大,導致模型的穩(wěn)定性受到很大影響[14]。為了控制這種影響,文獻[15-18]添加正則化項來更新ELM的輸出權值以獲得其最小范數(shù),其中正則化參數(shù)的選取是決定算法性能好壞的關鍵,然而參數(shù)的調整十分困難,較多的優(yōu)化參數(shù)會引起算法的時間復雜度增大。文獻[19]通過計算訓練數(shù)據(jù)的均值和方差調整輸出權值,這大大增加了計算復雜度??柭鼮V波(Kalman filter,KF)作為一種遞歸線性最小方差的估計方法,可以降低多重共線性帶來的影響[20]。采用KF方法實時更新ELM的輸出權值,既可避免復雜的正則化參數(shù)調整過程,同時又可保證較低的計算復雜度。
為了解決復數(shù)QAM信號的實時盲均衡問題,本文在預測方法框架下,構造了基于KF的ELM在線盲均衡算法。該算法用復數(shù)型ELM(complex ELM,C-ELM)代替線性PF,并且采用KF方法實時更新C-ELM的輸出權值,然后調整均衡后信號幅度變化并糾正相位旋轉問題。該算法有效地實現(xiàn)了在接收端對發(fā)送信號進行實時均衡。
假設發(fā)送端信號s(n)通過以下信道,則
(1)
式中,hi為信道沖激響應系數(shù);Lh為信道沖激響應長度。
那么,受加性噪聲干擾的接收端信號x(n)可表示為
(2)
預測誤差e(n)表示為
e(n)=x(n)-P(x(n-1))
(3)
式中,x(n-1)=[x(n-1),x(n-2),…]T;P(·)表示PF。
假設線性PF滿足以下形式,
(4)
式中,Lp是濾波器階數(shù)。
則預測誤差e(n)為
e(n)=s(n)h0+s(n-1)h1+…+b(n)-
(x(n-1)p1+x(n-2)p2+…+x(n-Lp)pLp)
(5)
將式(2)中的x(n-1),x(n-2)等代入式(5),得到
e(n)=s(n)h0+b(n)+s(n-1)[h1-h0p1]-b(n-1)p1+
…-s(n-Lp-Lh+1)hLh-1pLp-b(n-Lp))pLp
(6)
為了實現(xiàn)良好均衡性能,目的是留下式(6)右邊的第一項s(n)h0,同時去掉剩下多余部分。顯然,式(6)中的剩下多余項無法用線性濾波器完全消除。為了提高精度,增加濾波器的長度是一種可行的方法,但也不能消除噪聲的影響,同時還增加了計算復雜度。非線性濾波器是良好的通用函數(shù)逼近器,在均衡器的設計中其被廣泛使用。
假設PF的非線性映射函數(shù)用φNN表示,可將式(6)重寫為
e(n)=x(n)-φNN(x(n-1))=s(n)h0+s(n-1)h1+
s(n-2)h2+…+b(n)-φNN(x(n-1),x(n-2),…)
(7)
為達到理想的均衡目的,φNN應滿足
φNN(x(n-1),x(n-2),…)=s(n-1)h1+s(n-2)h2+
…+s(n-Lh+1)hLh-1+b(n)
(8)
由于神經(jīng)網(wǎng)絡可以逼近任意復雜的非線性系統(tǒng),具有很強的魯棒性,因此使用神經(jīng)網(wǎng)絡作為PF。然而,由于傳統(tǒng)的神經(jīng)網(wǎng)絡(如MLP等)常采用梯度下降算法訓練,易陷入局部極小,因此很難獲得理想的均衡效果。
ELM作為一種單隱層前饋神經(jīng)網(wǎng)絡[22],由輸入層、隱含層和輸出層組成,其網(wǎng)絡拓撲如圖2所示,層與層之間采取全連接的連接方式。隱含層的輸入權值和偏置均隨機產(chǎn)生,輸出權值的解具有最小訓練誤差和最小范數(shù)特征,這與傳統(tǒng)的基于梯度的訓練方法相比,具有更高的效率,能夠得到接近全局解的最優(yōu)解[23]。
圖2 ELM的拓撲結構Fig.2 Topology structure of ELM
假設輸入層、隱含層、輸出層節(jié)點數(shù)目分別為d,l和m?,F(xiàn)有N個樣本(xi,ti),i=1,2,…,N,其中xi∈Cd為輸入,ti∈Cm為期望輸出,則ELM輸出可表示為隱含層輸出的線性組合
(9)
式中,βi=[βi1,βi2,…,βim]∈Cm是隱含層第i個節(jié)點連接輸出層的權值向量;h(x)=[h1(x),h2(x),…,hl(x)]表示隱含層輸出,其中hi(x)=g(wi,bi,x);wi=[w1i,w2i,…,wdi]T∈Cd是輸入層連接隱含層第i個節(jié)點的權值向量;bi∈C是隱含層第i個節(jié)點的偏置;w和b均隨機生成;g(·)為隱含層激活函數(shù)。
Hβ=T
(10)
式中,
(11)
滿足式(10)的最小二乘解為
β=H?T
(12)
式中,H?是隱含層輸出矩陣H的Moore-Penrose廣義逆矩陣。
通常情況下,ELM的輸出層為線性輸出層,在面對顯著非線性問題時,可在ELM輸出層添加一個非線性輸出函數(shù)freadout(·)以增強非線性映射能力[11],網(wǎng)絡最終輸出為
y=freadout(Hβ)
(13)
由于本文處理復數(shù)QAM信號,若采用實數(shù)型ELM對其實部和虛部分開處理會忽略兩者之間的相關性,導致結果精度較低。因此選用C-ELM[24]作為圖1中的PF,并且采用KF方法代替廣義逆矩陣求解方法在線更新C-ELM的輸出權值。
首先構建卡爾曼狀態(tài)空間模型如下:β(n)為n時刻系統(tǒng)狀態(tài)向量(對應C-ELM隱含層的輸出權值向量),F(n)為狀態(tài)轉移矩陣,q(n)和r(n)分別為動態(tài)噪聲和測量噪聲,并假設為統(tǒng)計獨立的均值為零的高斯過程,x(n)為測量值(對應n時刻C-ELM的期望輸出),H(n)為測量矩陣(對應n時刻C-ELM隱含層的輸出矩陣)。狀態(tài)方程和測量方程分別為
β(n)=F(n-1)β(n-1)+q(n)
(14)
x(n)=H(n)β(n)+r(n)
(15)
采用KF方法在線計算C-ELM輸出權值的過程包括兩個基本工作步驟:第一步為時間更新,第二步為測量更新。
假設動態(tài)噪聲和測量噪聲的協(xié)方差矩陣分別用Q(n)和R(n)表示,其中Q(n)=E[q(n)qT(n)],R(n)=E[r(n)rT(n)]。輸出權值的誤差協(xié)方差矩陣記為P(n),即P(n)=E[(β(n)-β-(n))(β(n)-β-(n))T]。
時間更新:利用前一時刻C-ELM的輸出權值β(n-1)和其誤差協(xié)方差矩陣P(n-1)分別計算當前時刻C-ELM的輸出權值和其誤差協(xié)方差陣的先驗預測值β-(n)和P-(n)。
β-(n)=F(n-1)β(n-1)
(16)
P-(n)=F(n-1)P(n-1)FT(n-1)+Q(n-1)
(17)
測量更新:通過C-ELM的期望輸出x(n)對β-(n)和P-(n)進行修正,得到C-ELM的輸出權值和其誤差協(xié)方差陣的后驗估計值β(n)和P(n)。
β(n)=β-(n)+K(n)[x(n)-H(n)β-(n)]
(18)
P(n)=[I-K(n)HT(n)]P-(n)
(19)
式中,K(n)為KF增益,計算方式為
K(n)=P-(n)H(n)[R(n)+HT(n)P-(n)H(n)]-1
(20)
當β(0)和P(0)確定后,通過迭代計算的方式實時更新β(n),從而得到C-ELM的輸出
y(n)=β(n)H(n)
(21)
那么,預測誤差可以表示為
e(n)=x(n)-y(n)
(22)
由式(17)可知,Q(n)的增加會使得P-(n)增大,導致算法預測的不確定性增加。由式(20)可知,隨著R(n)的減小,KF增益K(n)增大,來自估計值的噪聲水平增大,最終也使P-(n)增大,算法的預測精度下降。因此,算法需要合理設置Q(n)和R(n)的值,通常通過交叉驗證確定。
結合式(7)和式(8)可知,理想的預測誤差e(n)應為s(n)h0,由于信道系數(shù)h0的影響,會存在信號幅度的失真,可通過自動增益控制裝置按照式(23)和式(24)調整信號幅度變化。
a(n)=a(n-1)+α·abs[C-abs(e(n)·a(n-1))]
(23)
e(n)=a(n)·e(n)
(24)
式中,abs表示絕對值;a(n)為幅度因子;α為小于1的幅度加權因子;常數(shù)C為自定義的電平數(shù)。
對于QAM信號,考慮到信道畸變使信號的相位發(fā)生變化,經(jīng)過AGC裝置后還需要糾正信號的相位旋轉。假設φ(n)為相位調整因子,γ為小于1的加權因子,angle[·]表示相位,按照式(25)和式(26)糾正相位。
φ(n)=φ(n-1)-γ·angle[e(n)·ejφ(n-1)]
(25)
e(n)=e(n)·ejφ(n)
(26)
由上述推導得到基于KF訓練的ELM在線盲均衡算法,簡稱為C-ELM-KF-PF,算法實施步驟如下所示。
算法1 C-ELM-KF-PF算法步驟1 初始化:隨機產(chǎn)生C-ELM輸入層和隱含層連接權值w、隱含層神經(jīng)元偏置b;初始化β(0)=[1,0,…,0],P(0)=I,a(0)=0,φ(0)=0;設F(n)恒為單位陣I,q(n)和r(n)的標準差分別設為1e-10和10,α,γ的值均為0.001。步驟2 Forn=1,2,…步驟2.1根據(jù)式(11)得到隱含層輸出矩陣H步驟2.2根據(jù)式(16)和式(17)分別計算β-(n)和P-(n)步驟2.3根據(jù)式(20)計算K(n),再由式(18)和式(19)計算β(n)和P(n)步驟2.4根據(jù)式(21)計算C-ELM網(wǎng)絡的輸出y(n)步驟2.5根據(jù)式(22)得到預測誤差e(n)步驟2.6根據(jù)式(23)和式(24)調整e(n)的幅度,再由式(25)和式(26)糾正其相位迭代直到網(wǎng)絡收斂為止 End
本節(jié)針對QAM信號,設計了4組仿真實驗,驗證本文提出的C-ELM-KF-PF算法的性能。第1組實驗研究C-ELM網(wǎng)絡的參數(shù)設置對本文算法收斂性能的影響。為了進一步說明本文算法的優(yōu)越性,第2組實驗仿真了基于線性預測器和基于MLP預測器的在線盲均衡算法,用本文算法與其作比較。第3組實驗仿真本文算法對動態(tài)時變信道的實時均衡性能。第4組實驗仿真本文算法對方形和十字形QAM信號的均衡性能。
計算機仿真中,復數(shù)QAM信號被作為發(fā)送端信號s(n),添加高斯白噪聲。采用均方誤差(mean squared error,MSE)進行性能比較,MSE被定義為
(27)
式中,L為發(fā)送端信號序列長度。
為了分析C-ELM參數(shù)對本文算法收斂性能的影響,仿真過程圍繞隱層節(jié)點個數(shù)l,隱含層復數(shù)激活函數(shù)g(·)類型和輸出層輸出函數(shù)freadout(·)類型三方面進行。發(fā)送信號為16QAM信號,信道模型采用文獻[25]中的五階Volterra級數(shù)衛(wèi)星信道。
s(n-k)s*(n-m)s(n-t)
(28)
式中,hl,hi,j,k和hi,j,k,m,t分別為Volterra信道的一階、三階和五階核系數(shù);N為記憶深度。
表1和表2給出了當復數(shù)激活函數(shù)為arctan函數(shù),輸出層取線性輸出函數(shù)時,隱層節(jié)點個數(shù)l對算法收斂性能的影響。表1是不同接收機信噪比(signal to noise ratio,SNR)下,隱含層節(jié)點個數(shù)l對算法收斂時MSE的影響。可以看出,當l超過5后,進一步提高隱含層節(jié)點數(shù)目無法提升算法的收斂精度。表2是SNR取35 dB的情況下,l對算法收斂速率的影響,可見隨著l的增大,算法收斂速率保持不變,說明l的變化對算法收斂速率無影響。
表1 不同SNR下隱含層節(jié)點數(shù)對算法穩(wěn)態(tài)MSE的影響Table 1 Effect of hidden nodes number on steady MSE under different SNRs
表2 隱含層節(jié)點個數(shù)對算法收斂速率的影響 Table 2 Effect of hidden nodes number on convergence speed
表3和表4給出了在l=5,取線性輸出函數(shù)的條件下,SNR大小和激活函數(shù)類型對算法收斂時MSE和收斂速率的影響。從表3可發(fā)現(xiàn),當SNR取任意值時,不同的復數(shù)激活函數(shù)對穩(wěn)態(tài)MSE值影響不大,這說明本文算法的收斂精度對激活函數(shù)類型不敏感。然后,從表4可觀察到,在SNR=35 dB條件下,當g(·)為sin函數(shù)時,算法收斂速率較慢,而當g(·)為arctan和tanh函數(shù)時,算法收斂速率較快。
表3 不同SNR下隱含層激活函數(shù)g(·)對算法穩(wěn)態(tài)MSE值的影響Table 3 Effect of hidden layer activation function g(·) on steady MSE under different SNRs
表4 隱含層激活函數(shù)g(·)對算法收斂速率的影響Table 4 Effect of hidden layer activation function g(·) on convergence speed
在SNR=35 dB,隱層節(jié)點數(shù)l=5,g(·)取arctan函數(shù)的條件下,輸出層輸出函數(shù)freadout(·)類型對本文算法收斂時MSE和收斂速率的影響分別如表5和表6所示。
表5 輸出層輸出函數(shù)freadout(·)對算法穩(wěn)態(tài)MSE值的影響Table 5 Effect of readout function freadout(·) on steady MSE
表6 輸出層輸出函數(shù)freadout(·)對算法收斂速率的影響Table 6 Effect of readout function freadout(·) on convergence speed
仿真中輸出函數(shù)有兩種類型:第一,freadout(y)=y,滿足線性關系。第二,freadout(y)=f(y)+jf(y),其中f(y)=y+κsin(πy),κ=0.4,滿足非線性關系。從表5可以看出,SNR>15 dB時,非線性輸出函數(shù)會使算法收斂精度更高。由表6可以看出,算法在兩種輸出函數(shù)下收斂時所需迭代次數(shù)幾乎一致。因此,輸出函數(shù)類型會影響算法的收斂精度,但不會影響算法的收斂速率。
為了驗證本文算法的優(yōu)越性,本組實驗在16QAM信號通過式(28)所示的信道下,同時仿真了基于線性預測器的在線盲均衡算法(記為Linear-PF),基于MLP預測器的在線盲均衡算法(記為MLP-PF),以及本文的C-ELM-KF-PF算法。其中,C-ELM的隱層節(jié)點數(shù)lC-ELM設置為5,隱含層復數(shù)激活函數(shù)g(·)為arctan函數(shù),輸出層采用第3.1節(jié)提到的非線性輸出函數(shù);MLP的隱層節(jié)點數(shù)lMLP=15,輸出層設置與C-ELM相同;線性預測器的階數(shù)LP=15。
圖3(a)給出了不同SNR下各算法的穩(wěn)態(tài)MSE,圖3(b)給出了接收機SNR=35 dB時,各算法的收斂性能。由圖3(a)可以發(fā)現(xiàn),當接收機SNR超過15 dB后,本文提出的C-ELM-KF-PF算法顯著提高了收斂精度。比如,在接收機SNR=35 dB的情況下,本文算法的穩(wěn)態(tài)MSE只有MLP-PF和Linear-PF算法的1/10和1/1 000。由圖3(b)可觀察到,C-ELM-KF-PF算法不僅穩(wěn)態(tài)誤差更小,而且收斂速率是其余兩種算法的兩倍多。因此,在3種算法中,本文提出的C-ELM-KF-PF算法的收斂速率最快,且其穩(wěn)態(tài)誤差最小,體現(xiàn)了較強的魯棒性。
圖3 3種算法的均衡性能比較Fig.3 Equalization performance comparisons of three algorithms
表7給出了各算法更新一次的運算量。由于C-ELM-KF-PF算法中的式(16)~式(20)包含大量的復數(shù)乘法運算,所以計算復雜度較高。但是,由于實際均衡過程中僅使用較少的隱層節(jié)點(lELM=5)。因此,其總的運算量與MLP-PF算法(lMLP=15)相當。雖然Linear-PF算法(LP=15)的復數(shù)乘法運算量最少,大約為本文算法的1/3,但其均衡性能遠低于本文算法。
表7 C-ELM-KF-PF算法、MLP-PF算法與Linear-PF算法的運算量比較Table 7 Calculations comparison of C-ELM-KF-PF,MLP-PF and Linear-PF algorithm
為仿真當信道發(fā)生變化時C-ELM-KF-PF算法的實時均衡性能,本節(jié)設置如下實驗。
設發(fā)送信號為16QAM信號,通過式(28)所示的Volterra信道,接收機SNR=35 dB,C-ELM隱含層節(jié)點數(shù)為5,隱含層激活函數(shù)g(·)為arctan函數(shù),輸出層分別使用第3.1節(jié)的線性和非線性輸出函數(shù)。當算法進行到10 000次迭代時改變信道的核系數(shù),從而完成信道的切換。圖4所示出了C-ELM-KF-PF算法實時均衡的收斂性能。
圖4 C-ELM-KF-PF算法的實時均衡性能分析Fig.4 Real-time equalization performance of C-ELM-KF-PF
由圖4可以看到,無論采用線性還是非線性輸出函數(shù),算法的收斂速率是一致的。當完成信道切換之后,算法第二次均衡達到收斂時所需時間不到第一次的一半,便能達到較低的穩(wěn)態(tài)誤差。這表明C-ELM-KF-PF算法對于動態(tài)時變信道能較快跟蹤其變化,具有良好的實時均衡能力。
圖5和圖6是接收機SNR=35 dB,C-ELM的隱含層節(jié)點數(shù)為5,隱含層激活函數(shù)g(·)為arctan函數(shù),輸出層采用第3.1節(jié)的線性和非線性輸出函數(shù)時,方形的16QAM和十字形的32QAM信號通過式(28)所示的衛(wèi)星信道時本文算法的均衡過程。比較圖5(c)、圖5(d)和圖6(c)、圖6(d)可以看出,采用非線性輸出函數(shù)使得QAM信號的星座圖更加集中。由圖5和圖6可以看出,無論對于方形QAM信號,還是十字形QAM信號,本文提出的基于KF的ELM在線盲均衡算法均具有較好的均衡效果。
圖5 16QAM信號的均衡過程Fig.5 Equalization process for 16QAM signal
圖6 32QAM信號的均衡過程Fig.6 Equalization process for 32QAM signal
本文針對復數(shù)QAM信號,在預測方法的盲均衡框架下,提出了一種新的在線盲均衡算法。該算法用C-ELM替代傳統(tǒng)的線性PF,并采用KF方法實時更新C-ELM的輸出權值,最后通過AGC裝置調整信號幅度變化并引入相位調整因子糾正相位旋轉。實驗結果表明,本文算法在C-ELM隱含層節(jié)點數(shù)僅為5時就能獲得較好的均衡效果,與其他在線盲均衡算法相比,在計算代價相當?shù)那闆r下,本文算法具有較強的魯棒性,收斂時的MSE最小,收斂速率最快。當信道發(fā)生變化時,本文算法能快速地實時進行均衡。此外,無論是對方形還是十字形的QAM信號,本文算法均呈現(xiàn)出良好的均衡效果。