趙 丹,黃 敏
(1.南京理工大學紫金學院 電子工程與光電技術學院,江蘇 南京 210023;2.南京理工大學 電子工程與光電技術學院,江蘇 南京 210094)
甚高頻數(shù)據(jù)交換系統(tǒng)(Very-high-frequency data exchange system,VDES)是由國際航海標準協(xié)會和國際電信聯(lián)盟共同提出的新一代海上數(shù)據(jù)交換系統(tǒng)。該系統(tǒng)作為船舶自動識別系統(tǒng)(Automatic identification system,AIS)的升級版,增加特殊應用報文(Application specific message,ASM)和甚高頻數(shù)據(jù)交換(VHF data exchange,VDE)兩個子系統(tǒng)[1],傳輸數(shù)據(jù)內容和形式更豐富,為船舶提供身份識別、位置報告等服務,是海上通信的主要工具和航行安全的重要保障。星載VDES系統(tǒng)的出現(xiàn)雖然在一定程度上緩解了星載AIS鏈路負載,但依舊存在信號時隙碰撞的問題[2],會造成船舶信息的丟失,影響航行安全,因此星載VDES接收信號的碰撞分離成為系統(tǒng)應用亟待解決的重要問題。
混合信號的盲分離一直是信號處理領域研究的熱點問題,近年來被廣泛應用于無線通信系統(tǒng)中。針對通信偵察中混合信號的分離,付衛(wèi)紅等[3]提出基于獨立成分分析(Independent component analysis,ICA)的盲分離算法;為了解決無線通信中的自干擾消除問題,Mohammed等[4]提出一種改進的Fast ICA盲分離算法;文獻[5]采用基于自相關矩陣特征值分解的盲分離算法,實現(xiàn)了DS-CDMA系統(tǒng)中用戶數(shù)據(jù)與擴頻碼的分離與估計;文獻[6]提出一種基于分級迭代的變步長等變自適應分離(Equivariant adaptive separation via independence,EASI)算法,完成了AIS碰撞信號的分離。對于星載VDES系統(tǒng)中信號碰撞分離問題,目前的研究主要是針對適定或者超定(觀測信號數(shù)量大于源信號數(shù)量)情況下開展的[7,8],而實際應用中衛(wèi)星載荷因體積、重量、功耗的限制使得接收機路數(shù)即觀測信號路數(shù)應該盡量少,所以欠定情況下的碰撞信號分離算法具有非常重要的實際應用價值。
本文提出一種基于隨機近端梯度張量分解的VDES碰撞信號多通道分離算法。這算法不僅可以實現(xiàn)適定或者超定情況下的分離,而且適用于欠定情況下的分離。首先基于廣義協(xié)方差矩陣建立張量分解模型,利用塔克分解壓縮張量得到核張量,可以顯著減少張量分解的計算復雜度,之后引入隨機近端梯度(Stochastic proximal gradient,SPG)算法對核張量標準分解的過程進行優(yōu)化,提高分解精度,最終完成對碰撞信號的高效分離。
星載VDES系統(tǒng)采用天線陣列接收架構,碰撞信號分離模型如圖1所示。
圖1 碰撞信號分離模型
圖1中,S=(s1,s2,s3,…,sN)T∈RN×T為N路源信號,X=(x1,x2,x3,…,xM)T∈RM×T為M路觀測信號,T為采樣點數(shù)。混合矩陣A=(aij)∈RM×N中aij(i=1,2,…,M,j=1,2,…,N)為第j路源信號到接收機第i路接收信號的混合參數(shù),模擬信號碰撞的過程,滿足關系
X=AS
(1)
Y=(y1,y2,y3,…,yN)T∈RN×T為最終得到的N路分離信號。碰撞信號盲分離的過程就是在混合矩陣A和源信號S未知的情況下,只根據(jù)觀測信號X求解分離矩陣W=(w1,w2,w3,…,wN)T∈RN×T,進而得到分離信號Y=WX。當M等于N時為適定盲分離問題,當M大于N時為超定盲分離問題,當M小于N時為欠定盲分離問題。
當M小于源信號數(shù)量N時,混合矩陣A∈RM×N不再是滿秩矩陣,常用的獨立成分分析[3,4]和等變自適應分解[6]等信號分離算法已不再適用,當A和S滿足以下條件[9],可以采用張量分解進行求解:
(1)A的列向量兩兩線性無關;
(2)A的任意M×M子矩陣都為非奇異矩陣;
(3)S必須為非高斯信號。
對M路觀測信號進行中心化處理使得信號具有單位方差,并對其進行白化處理可以消除信號之間的相關性[10]。而對于某一路源信號,星載VDES系統(tǒng)多路天線都會收到該路信號的加權信號,并且接收通道之間是獨立的,所以混合矩陣A的任意M×M子矩陣都為非奇異矩陣,同時VDES系統(tǒng)源信號也是非高斯的,滿足采用張量分解進行欠定情況下求解的條件。
由天線陣列接收星載VDES系統(tǒng)碰撞信號,然后通過模數(shù)轉換器采樣獲得多路數(shù)字信號,并進行數(shù)字下變頻處理,獲得觀測信號矩陣。設觀測信號為X∈RM×T,源信號為S∈RN×T,其中觀測信號路數(shù)M的值小于或等于源信號路數(shù)N的值,即為欠定或適定情況。
在線性瞬時混合模型下,采用預處理后的觀測信號X′的廣義協(xié)方差矩陣ΨX作為核函數(shù),它描述了混合矩陣和觀測信號廣義協(xié)方差矩陣之間的關系,用K個不同延遲處理點τ1,τ2,…,τK的核函數(shù)提取統(tǒng)計信息,建立張量分解模型,表示為[11]
(2)
式中:ΨX為觀測信號廣義協(xié)方差矩陣,ΨS為源信號廣義協(xié)方差矩陣,AT為混合矩陣A的轉置。
將K個廣義協(xié)方差矩陣進行堆疊,得到張量χ∈RM×M×K,其中每個元素表示為
k=1,2,…,K
(3)
定義矩陣D∈RK×N,使其第k行的第n個元素對應對角矩陣ΨS[ATτk]的第(n,n)個元素,即
(D)kn(ΨS[ATτk])nn
k=1,2,…,K;n=1,2,…,N
(4)
則張量χ的元素值可表示為
(5)
式中:ain和ajn均為混合矩陣A中對應的元素,dkn為矩陣D的元素值。式(5)可以進一步用向量外積的形式表示為
(6)
式中:an和dn分別為混合矩陣A和矩陣D的列向量,°表示向量外積。
式(6)將張量χ分解為N個秩一分量之和,是一個標準分解形式。但是該分解與所取處理點數(shù)K有關,為了得到更精確的結果,當K取值較大時,容易出現(xiàn)復雜度高、計算時間長和收斂速度慢的問題。因此為加快標準分解的計算速度,可以在進行分解之前先采用Tucker分解對觀測信號構建的張量χ進行壓縮,使其成為一個低維的核張量,之后再對核張量進行標準分解得到混合矩陣。
由于廣義協(xié)方差矩陣為對角矩陣,因此可以將張量χ按三個維度展開為模n(n=1,2,3)矩陣形式,分別為χ(1)∈RM×MK、χ(2)∈RM×MK、χ(3)∈RK×MM,這三個矩陣的秩稱為張量χ的n-秩,表示為
rankn(χ)=rank(χ(n))=Nn=1,2
rank3(χ)=rank(χ(3))=LL≤K
(7)
固定Tucker分解中的兩個因子矩陣為單位矩陣I∈RM×M,即進行Tucker-1分解,則其表達式為
χ=γ×1Ι×2Ι×3U
(8)
式中:γ∈RM×M×L為核張量,×n(n=1,2,3)為張量與矩陣的n模乘積,U∈RK×L為列酉矩陣。用矩陣的Kronecker乘積形式表示為
χ(3)=Uγ(3)(I?I)T=Uγ(3)
(9)
式中:χ(3)、γ(3)為張量χ和γ的模3矩陣,?表示Kronecker積。式(9)就是χ(3)的主分量分解形式,所以U是χ(3)的前L個左奇異向量組成的矩陣[12],可以通過χ(3)的奇異值分解得到。在求得U后可以計算核張量
γ=χ×1Ι×2Ι×3UT=χ×3UT
(10)
這樣就將M×M×K的張量χ壓縮為M×M×L的核張量γ,下面只需要對核張量γ進行標準分解來求解混合矩陣A。因為Tucker分解的第一、第二因子矩陣是單位矩陣,所以核張量γ也是一個對稱張量,其標準分解表達式為
(11)
(12)
將核張量寫成標準分解形式
(13)
f(B(1),…,B(Q))=
(14)
式中:‖·‖F(xiàn)為Frobenius范數(shù)。采用隨機近端梯度(Stochastic proximal gradient,SPG)算法求解,第r次迭代更新公式為[13]
(15)
(16)
(17)
式中:υn為核張量γ的某一個模n纖維,H(n)為除B(n)以外剩余因子矩陣的Khatri-Rao乘積
H(n)=B(1)⊙…⊙B(n-1)⊙B(n+1)⊙…⊙B(Q)=
(18)
步長α更新公式為
(19)
式中:β為步長調節(jié)因子,是一個非常小的值,這里取10-6;α(r)|r=0為初始搜索步長,反映了搜索的精細程度,取值一般為0.001到0.1之間。
重復上述迭代過程直到目標函數(shù)達到設定值,或者達到設定的迭代次數(shù),獲得混合矩陣A的最終估計。再對混合矩陣A求逆,得到分離矩陣W,最后將分離矩陣W與混合信號矩陣X′相乘,獲得分離信號。對N路分離信號進行幀頭檢測、頻偏估計和解調譯碼處理,得到VDES各子系統(tǒng)信號的數(shù)據(jù)幀。
星載VDES系統(tǒng)碰撞信號分離處理步驟如下:
(1)利用N路天線接收信號,并對N路通道的觀測信號進行中心化及白化預處理;
(2)根據(jù)式(2)建立不同處理點處的廣義協(xié)方差矩陣集,并將其堆疊成一個三階張量χ,該張量的矩陣因子與混合矩陣A相關;
(3)利用Tucker分解對張量χ進行壓縮,得到維數(shù)更低的核張量γ;
(4)根據(jù)式(14)建立需要優(yōu)化的目標函數(shù);
(5)設置迭代參數(shù)的初始值,包括設置當前迭代次數(shù)r為0,最多迭代次數(shù)rmax,確定初始步長α(r)|r=0,隨機選取核張量γ的一個模n纖維υn;
(8)計算下一次更新方向所需的步長α(r+1);
(9)對迭代次數(shù)r進行自增1操作,重復步驟(6)到(8),直到目標函數(shù)達到極小值,或者達到設定的迭代次數(shù),獲得混合矩陣A的最終估計;
(10)對混合矩陣估計求逆,得到分離矩陣估計W的估計,并將分離矩陣與觀測信號矩陣相乘,最終得到源信號的估計。
采用本文提出的隨機近端梯度張量分解算法分別對適定和欠定情況下的碰撞信號進行分離,并基于MATLAB進行仿真實驗。通過觀察分離信號波形與源信號波形的相似程度可以看出分離算法對源信號波形的還原程度,用相關系數(shù)評價分離效果;實際應用中,星載VDES接收系統(tǒng)需要最終解出報文碼元,所以同時用分離信號誤碼率作為評價分離效果的依據(jù)。
首先針對適定情況,設置碰撞源信號路數(shù)和接收通道路數(shù)均為4,接收信號信噪比為15 dB,源信號、觀測信號以及分離信號局部波形分別如圖2(a)、(b)、(c)所示,為了便于對比源信號和分離信號波形,觀察分離效果,對所有信號都進行幅度歸一化處理。為了進一步分析性能,將隨機近端梯度(SPG)張量分解算法和經典的交替最小二乘(Alternating least squares,ALS)張量分解算法進行比較,兩種算法在不同信噪比下的相關系數(shù)和分離信號誤碼率曲線如圖3和圖4所示。
對比圖2(a)和(c)可以看出,源信號和分離信號對應的局部波形幾乎完全一致。由圖3可得,此時的相關系數(shù)接近1,同時可見,ALS張量分解算法和本文提出的SPG張量分解算法均能對碰撞信號進行有效分離,相關系數(shù)隨著信噪比的增大而趨于1。圖4表明誤碼率隨著信噪比的增大逐漸變小,在低信噪比時兩種算法的差異不大,隨著信噪比的增大,SPG張量分解算法比ALS張量分解算法誤碼率更低,信噪比大于12 dB以后在誤碼率性能上有大于1 dB的提升。這主要歸功于隨機近端梯度算法擁有更好的全局搜索能力,可以有效避免陷入局部最優(yōu)的情況,因此分離的性能也會優(yōu)于經典的ALS張量分解算法。
圖3 適定情況下相關系數(shù)曲線
圖4 適定情況下分離信號誤碼率曲線
接下來針對欠定情況,設置碰撞源信號路數(shù)為4,接收通道路數(shù)為3,接收信號信噪比為15 dB情況下的源信號、觀測信號以及分離信號局部波形分別如圖5(a)、(b)、(c)所示,相關系數(shù)和分離信號誤碼率曲線如圖6和圖7所示。
圖5 欠定情況下分離信號與源信號局部波形對比圖
由圖5可見,雖然接收信號路數(shù)少于源信號路數(shù),但是分離信號波形仍然可以非常精確的逼近源信號波形。圖6顯示,欠定情況下,SPG張量分解算法仍然能將源信號進行有效分離,信噪比大于10 dB時相關系數(shù)在0.95以上。由圖7可見,SPG張量分解算法在信噪比大于12 dB時相對于ALS張量分解算法誤碼率性能有1 dB以上的改善,同時可以看到,兩種算法在欠定情況下的誤碼率性能與適定情況下相比,有0.5~1 dB的信噪比損失。由于VDES衛(wèi)星為低軌衛(wèi)星,部署在500~2 000 km的軌道,接收信號信噪比大于16 dB,由圖7可見,此時誤碼率在10-4以下,可以滿足VDES系統(tǒng)對通信性能的要求,采用三通道接收機就可以實現(xiàn)四路碰撞信號的接收分離和解調解碼,對于星載接收機小型化設計具有重要的意義。
圖6 欠定情況下相關系數(shù)曲線
圖7 欠定情況下分離信號誤碼率曲線
本文為解決在欠定情況下星載VDES信號碰撞問題提出了一種基于隨機近端梯度優(yōu)化的張量分解算法。該算法在經典張量分解算法的基礎上進行改進,采用Tucker分解壓縮張量減小計算復雜度;隨機近端梯度算法的引入使求解過程得到進一步優(yōu)化。仿真實驗結果表明,本文所提出的隨機近端梯度張量分解算法對于適定和欠定情況下多路碰撞信號均取得很好的分離效果,適用于星載VDES接收系統(tǒng)對于碰撞信號的處理。