胡承昊,王海斌,臺玉朋,汪俊
(1.中國科學院聲學研究所 聲場聲信息國家重點實驗室,北京 100190;2.中國科學院大學,北京 100049)
根據香農信源信道分離定理[1],傳統水聲通信系統中信源譯碼和信道譯碼是分別獨立設計的。該定理假設系統對譯碼時延和譯碼復雜度沒有限制,這在水聲通信的實際應用中難以得到滿足。此外,水聲通信實際發送的信源符號間通常具有相關性,這種相關性導致的信源冗余難以通過傳統信源壓縮編碼有效去除。同時,由于受到復雜且時空變化的多途效應等影響,如何保證水聲通信的可靠性一直是該領域的難題。為此,本文探索利用信源符號間相關性進一步提高水聲通信可靠性的方法。
傳統的信源信道聯合譯碼方法(joint source-channel decoding, JSCD)主要有2類:基于網格的JSCD方法[2-3]和迭代形式的JSCD方法[4-6]。這2類方法能利用信源符號間相關性抵抗通信誤碼,有效降低了系統的誤碼率。然而,上述2類方法的復雜度與信源符號集合大小的平方成正比,對于多數信源,此類方法復雜度過高,難以實際應用。如何構建具有實用意義的JSCD方法成為了亟需解決的問題。
為克服水聲信道多途效應導致的碼間串擾,文獻[7-8]提出了一種聯合均衡譯碼方法(joint equalization and channel decoding,JECD),在線性復雜度下實現了信道均衡和信道譯碼的聯合優化,在實測條件下取得了較優的均衡譯碼性能。JECD方法的提出也為實現低復雜度信源信道聯合譯碼方法提供了解決思路。
本文在JECD方法的基礎上,提出了一種信源信道聯合均衡譯碼方法(joint equalization and source-channel decoding, JESCD)。該方法在水聲多途信道模型下綜合信源轉移概率和信道轉移概率計算統一的譯碼度量,實現了信源譯碼、信道譯碼和信道均衡三者的聯合優化,有效利用信源符號間相關性抵抗通信誤碼和多途衰落;同時,該方法具有線性復雜度,有效解決了傳統JSCD方法復雜度高的難題,具有較高的實用價值。
圖1給出了JESCD方法的通信系統框圖。發送端,信源序列S經定長信源編碼得到信息序列C。信息序列經信道編碼得到編碼符號序列X并發送至水聲信道。接收端接收符號序列R=X*h+W,其中,h為信道沖激響應,W是均值為0,方差為σ2的高斯白噪聲。信源信道聯合均衡譯碼器采用樹型結構進行譯碼,對所有可能的信息序列重現編碼過程,得到各路徑對應的信息序列C′和編碼符號序列X′。C′和X′分別經過信源譯碼和接收序列估計后,利用信源先驗信息和接收符號序列計算統一的譯碼后驗概率,實現最大后驗概率信源信道聯合均衡譯碼。

圖1 JESCD方法的通信系統框圖Fig.1 The communication system of the JESCD algorithm
信道編碼可采用遞歸混沌全息碼、Spinal碼等無速率編碼,本文采用Spinal編碼[9]進行說明,其具體原理如圖2所示。編碼器將待發送信息序列等長地劃分為D個信息片段md,d=1,2,…,D。通過哈希函數遞歸地生成各信息片段對應的種子td。利用種子td驅動隨機映射器遞歸地生成一系列編碼符號xd,e。通常將每次利用隨機映射器生成的D個編碼符號(x1,e,x2,e,…,xD,e)稱為一幀。

圖2 Spinal編碼原理Fig.2 Spinal encoding principle
Spinal編碼作為一種無碼率信道編碼方式,可以生成任意多的編碼符號。編碼符號通常先經過發送順序規劃劃分為多個子幀,再逐子幀發送至水聲信道。當發送少量子幀無法成功通信時,可以通過發送更多子幀實現可靠通信。本文采用的發送順序規劃方案為將每一幀編碼符號等間隔地劃分為Q個子幀[7],其中,第p幀中第q子幀的編碼符號序列為Xq,p=(xQ-q+1,p,x2Q-q+1,p,…,xD-q+1,p),q=1,2,…,Q。
將譯碼看作一個序列估計過程。采用最大后驗概率準則譯碼:
(1)
序列后驗概率可等價地表示為:
P[R|X(S′)]P(S′)
式中:X(S′)為發送信源序列S′時所對應的編碼符號序列。由于信源序列和編碼符號序列一一對應,因此有P[X(S′)]=P(S′)。采用定長信源編碼時,P(R)對譯碼沒有影響,可以忽略。
最大后驗概率譯碼從所有可能信息序列中選擇后驗概率最大的作為譯碼結果,因此,可采用后驗概率的對數作為譯碼度量。同時,為了表示信源符號間的相關性,將信源建模為一階馬爾可夫模型,則譯碼度量可表示為:
M=Mchannel+Msource=logP[R|X(S′)]+
(2)
式中s′k為信源序列S′中的第k個元素。
在水聲信道下,期望接收符號序列可表示為編碼符號序列與信道沖激響應的卷積。同時,在水聲通信的實際應用中,由于發射、接收平臺的機動以及海流等環境因素的影響,接收信號的多普勒頻移等也會隨時間發生變化,造成接收信號載波相位漂移,使水聲通信系統性能下降。為解決水聲通信載波相位跟蹤問題,本文采用二階數字鎖相環跟蹤載波相位的變化[10]。因此,期望接收符號可表示為:
(3)
若信道沖激響應和載波相位的估計不存在誤差,且噪聲滿足方差為σ2的高斯分布,則信道轉移度量可近似地表示為:
然而,實際應用中信道沖激響應和載波相位估計的結果往往存在偏差,信道轉移度量的可信度遠低于理想情況,為此,引入參數α來調節信道轉移度量在譯碼度量中所占比重,此時,譯碼度量可表示為:
(4)
為了計算所有可能信息序列的譯碼度量,利用樹型結構表示所有可能的編碼情況。假設編碼器中每個信息片段的長度為gbit,則譯碼樹中每個節點均可擴展出2g條分支,分別對應當前信息片段所有可能的取值。利用與發送端相同的方法可以得到每個分支對應的編碼符號序列X′和信息序列C′,對信息序列進行信源譯碼可得其對應的信源序列S′。此時,利用式(3)、(4)即可得各分支所對應的譯碼度量。如此逐信息片段地構建譯碼樹,直到將全部D個信息片段構建完成,最終選擇譯碼度量最大的信息序列作為譯碼結果。
為了跟蹤信道沖激響應和載波相位隨時間的變化,在譯碼過程中采用式(5)、(6)對信道沖激響應和載波相位估計結果自適應更新:
(5)
(6)
式中:μ、Kθ1和Kθ2為自適應更新步長;Φn為鑒相器的等效輸出。
完整的譯碼樹共包含2gD=2Lc條路徑,這導致譯碼復雜度隨發送信息序列的長度指數增長,難以實際應用。本文借鑒文獻[7]中刪減樹算法的思想,利用Spinal信道編碼碼間距離大的特性,在譯碼過程中,只需搜索部分信源序列即可達到接近最大后驗概率譯碼的性能。因此,在譯碼樹擴展過程中,每層僅保留譯碼度量最大的B條路徑繼續向下擴展,其余路徑則被刪除。這種譯碼方式限制了譯碼所需遍歷的信源符號數量,使算法復雜度與信源符號集合大小無關。利用刪減樹算法,所提方法共需要O(BN2g)次哈希運算、O(BN(L+1)2g)次加法和乘法運算以及O(BK2g)次信源譯碼,算法復雜度隨碼長、信道響應長度和發送信源序列長度線性增長,有效解決了傳統JSCD方法復雜度高,難以實用的問題,具有較高的實用價值。
為考察所提方法的譯碼性能,對文字指令傳輸情況進行仿真,仿真所用信源集合共包含256個信源符號,定長信源編碼碼長為8 bit,編碼器中各信息片段長度g=1,符號發送順序規劃中將每一幀編碼符號劃分為4個子幀,調制方式為64-PSK。仿真過程中令B=1 024。本文基于實際文字指令傳輸中信源符號間相關性的統計結果,選取3種典型的信源進行仿真,其對應的發送信源序列中各符號先驗概率如表1所示,其中,信源S1符號間相關性最弱,S3符號間相關性最強。

表1 仿真信源先驗信息
利用BELLHOP模型生成一種典型深海水聲信道。仿真環境中,平均海深為5 503 m,發射深度為110 m,接收深度為120 m,收發距離為90 km。信道沖激響應如圖3所示。
對利用信源S3的JESCD方法在不同α取值時的誤碼率進行仿真,結果如圖4所示,其中碼率為2/3和1/6時的仿真輸入信噪比分別為7 dB和2 dB??梢?,α取值過大或過小均會使誤碼率增大,當α在0.1附近時可達到最優的誤碼率性能。對于信源S1和S2可得到相近的結果,因此,在本文的后續研究中選擇經驗參數α=0.1。

圖3 信道沖激響應Fig.3 The channel response

圖4 不同α下的誤碼率Fig.4 The bit error rate under different α
圖5展示了碼率為2/3和1/6時的誤碼率仿真結果。由圖5(a)可見,對于碼率為2/3的情況,采用JESCD方法可將系統誤碼率達到10-3所需輸入信噪比由傳統JECD方法的21 dB降低至7 dB。而對于圖5(b)中碼率較低的情況,采用JESCD方法可將系統誤碼率達到10-3所需輸入信噪比由傳統JECD方法的5.6 dB降低至2.2 dB??梢姡岱椒軌蚶眯旁捶栭g相關性提高系統的誤碼率性能,且信源符號間相關性越強,JESCD的誤碼率性能越好。此外,當碼率較高時,譯碼器收到來自信道的信息較少,信源轉移度量在譯碼度量中所占比例較高,JESCD的性能提升更為明顯。

圖5 誤碼率仿真結果Fig.5 The simulation results of the bit error rate
為了進一步驗證所提方法在實際水聲信道下的有效性,中科院聲學所開展了一次深海水聲通信實驗。實驗海區平均海深約為5 512 m,聲源平均深度約為106 m,聲源級約為186 dB。實驗過程中,發射船攜拖曳聲源由近及遠進行拉距發信,船速約4 kn。接收端采用垂直陣中的單個陣元接收信號進行數據處理,圖6為實驗示意圖。實驗中,通信范圍在6~85 km,涵蓋了直達聲區、第1影區和第1會聚區。由于采用連續拉距發射,各接收信號的信噪比存在起伏,最大可相差34.5 dB。

圖6 海上實驗示意Fig.6 The experimental configuration
實驗發射信號調制方式為32-PSK,最高通信速率為450 bit/s,最低為15.5 bit/s。編碼方面,定長信源編碼碼長為16 bit,編碼器中各信息片段長度g=1。實驗發送信源序列中各符號先驗概率如表2所示。
分別利用JECD方法和JESCD方法對接收深度141 m的陣元接收信號進行譯碼,統計不同通信速率時的誤碼率。圖7(a)為直達聲區和會聚區接收信號的誤碼率統計結果,圖7(b)為聲影區接收信號的誤碼率統計結果,其中,直達聲區和會聚區內接收信噪比為6.9~27.5 dB,聲影區內接收信噪比為-7~3.1 dB。譯碼過程中信道沖激響應和載波相位估計參數為μ=0.2、Kθ1=0.1、Kθ2=0.000 1,譯碼樹寬度B=4 096,經驗參數α=0.1。

表2 實驗信源先驗信息

圖7 不同通信速率下的誤碼率統計結果Fig.7 The bit error rate at different communication rates
由實驗結果可見,JESCD方法在各種通信速率下的誤碼率性能均優于傳統JECD方法。
1) 對于直達聲區和會聚區內的接收信號,當通信速率為225 bit/s時,JECD方法的誤碼率為1.7×10-1,而JESCD方法可以實現無誤碼。
2) 對于深海聲影區內的接收信號,在聲源級為186 dB,采用單陣元接收的情況下,JESCD方法能夠實現通信速率32.1 bit/s的影區無誤碼通信,而此時傳統JECD方法的誤碼率為1.1×10-1,甚至當通信速率降低至15.5 bit/s時誤碼率仍為2.5×10-2。可見,所提方法相比傳統JECD方法可顯著提高水聲通信系統的可靠性。
1)本文提出的信源信道聯合均衡譯碼方法將傳統通信系統中分別獨立設計的信源譯碼、信道譯碼和信道均衡3個模塊聯合優化,利用信源符號間相關性抵抗通信誤碼,能夠顯著提高水聲通信系統的可靠性。
2) 采用刪減樹算法限制了所提方法譯碼所需遍歷的信源符號數量,使其具有線性算法復雜度,有效解決了傳統JSCD方法復雜度高的問題,具有較高的實際應用價值。
在后續研究中,一方面考慮繼續細化分析水聲通信噪聲分布和信道估計殘差對信道轉移度量計算的影響,進一步優化譯碼度量的模型;另一方面進一步優化信源符號間相關性的建模與提取方法,提高信源符號間相關性的利用效率。