邢莉娟,李 卓,張澤棟
(西安電子科技大學綜合業(yè)務網國家重點實驗室,陜西西安 710071)
由于電磁波和光波在水下衰減嚴重且傳播距離短,聲波是水下無線通信首選的信息載體.然而水聲信道因其具有時-頻-空變特性,被認為是迄今為止難度最大的無線通信信道之一,其具體表現(xiàn)為強多途、大起伏、窄帶寬及高噪聲干擾,因此在水聲信道實現(xiàn)穩(wěn)健通信是一個嚴峻的挑戰(zhàn).其中高傳輸速率、低誤碼率是目前水聲通信(Underwater Acoustic Communication,UWA)重點研究的技術目標[1].
近二十年來,研究人員在認知水聲傳播規(guī)律和信道特性、提高水聲通信速率和距離、對抗信道衰落和起伏等方面進行了大量的研究探索;同時,得益于信號處理理論技術的突破和計算機性能的躍升,聯(lián)合均衡譯碼[2,3],近香農限信道編譯碼、多載波調制[4]、多輸入多輸出[5]等一系列先進的通信信號處理技術先后涌現(xiàn)并得以引入到水聲通信領域[6],取得了許多性能優(yōu)異的實驗結果,部分技術已經開始轉入工程化應用.
其中,信道編碼技術被認為是必不可少的關鍵環(huán)節(jié)之一.為克服淺海水下數(shù)據(jù)傳輸?shù)膹姼蓴_性與強衰落性,強有力的信道糾錯碼技術被引入水聲通信中[7,8],以保證在較低信噪比下水聲數(shù)據(jù)傳輸?shù)目煽啃?目前水聲通信中已引入了如Turbo碼、RA(Repeat Accumulate)碼、LDPC碼及噴泉碼等高效信道編碼技術[9],其中LDPC碼在水聲通信中的應用較為成熟.信道編碼界剛剛興起的極化碼性能表現(xiàn)優(yōu)異,在2016年的3GPP RAN1 #87會議中,在與美國經典的LDPC碼和法國提出的Turbo 2.0碼競爭下,最終中國主推的Polar Code方案力排眾議,成為了5G系統(tǒng)增強型移動帶寬(enhanced Mobile Broadband,eMBB)中控制信道的編碼方案,新興的極化碼在信道編碼領域證明了其未來可期,但在水聲通信中還沒有深入的研究.
本文針對三種典型的水聲信道模型,分析了這些信道模型下的極化現(xiàn)象,提出了一種采用蒙特卡洛構造方法的極化碼構造方案.在不同的水聲信道模型下的仿真結果表明,相比于碼長相近的LDPC碼,文中構造的極化碼的糾錯性能整體而言要優(yōu)于LDPC碼,同等誤碼率要求的情況下,可以有效的節(jié)省功率開銷,提高編碼增益,證明了極化碼這個新興的糾錯編碼方案在水聲通信系統(tǒng)中具有很強的競爭力.
極化碼作為近年來信息編碼領域一項新的重大進展,是現(xiàn)今唯一一類數(shù)學可證明能夠達到香農容量限的糾錯碼.2009年Arikan提出二進制輸入離散無記憶對稱信道(Binary-input Discrete Memoryless Channel,B-DMC)下的極化碼理論,給出二元刪除信道(Binary Erasure Channel,BEC)下的遞歸構造方法和具有線性譯碼復雜度的串行抵消(Successive Cancellation,SC)譯碼算法[10].隨后Vardy提出了保留多條候選路徑的串行抵消列表(Successive Cancellation List,SCL)譯碼算法,大大提高了極化碼的譯碼性能,并在此基礎上引入循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)對候選路徑進行篩選,由于CRC的漏檢概率非常低,循環(huán)冗余校驗輔助的串行抵消列表(CRC-aided SCL,CA-SCL)譯碼算法下極化碼的性能甚至可以趨近最大似然(Maximum Likelihood,ML)譯碼的性能[11].
極化碼的基本思想,是通過N次獨立使用物理信道W進行信道合并和拆分的操作,實現(xiàn)合成子信道對稱容量兩級分化的過程(當碼長為N時).首先通過信道合并將N個B-DMC信道W通過線性變換操作合并成一個合成信道WN,再通過信道拆分操作將WN拆分成N個子信道.當N趨于無窮大時,最終合成的信道中一部分子信道是信道容量為1的無噪聲信道,用于傳輸信息比特,另一部分是信道容量為0的純噪聲信道,用于設置收發(fā)端都已知的凍結比特.
如圖1所示,極化碼的信道合并和拆分的過程可以用一個線性變換矩陣GN來等效描述,使用aji=(ai,ai+1,…,aj)表示向量,其中uN1表示輸入序列,xN1表示經過線性變換矩陣后的碼字序列,yN1表示x1N經過信道W傳輸后的輸出序列.極化碼的等效生成矩陣可以表示為GN=BNF?n,其中表示Kronecker 積,矩陣BN為位反轉操作矩陣.基于密度進化、高斯近似、蒙特卡洛統(tǒng)計等方法,可以計算跟蹤極化子信道的可靠度.針對碼率為R=K/N的極化碼,最終選出可靠度最高的K個子信道,其信道索引集合記為A.對于碼長N=2n,n≥0的極化碼,其中n表示極化層數(shù),其編碼輸出序列為,可以分解表示為:
圖1 極化碼的編碼過程
其中GN(A)表示信息位集合A對應行構成的GN子矩陣,Ac表示集合A在{1,…,N}中的補集,uA代表信息比特,uAc代表凍結比特,⊕表示模2加法運算[10].極化碼的構造主要是通過計算極化操作后各個子信道的可靠度,挑選出K位信息位索引的工作.
為了研究極化碼在水聲通信中的性能表現(xiàn),設計了系統(tǒng)框圖如圖2所示.首先發(fā)送初始比特流,完成編碼后,進行二進制相移鍵控調制(Binary Phase Shift Keying,BPSK)調制,隨后信息經過三種典型的水聲信道,并加入加性高斯白噪聲(Additive White Gaussian Noise,AWGN).接收端完成進行自適應判決反饋均衡[12,13](Decision Feedback Equalizer,DFE)后,進 行BPSK解調,然后進行CA-SCL譯碼,并最終根據(jù)譯出的數(shù)據(jù)比特與發(fā)送端的初始比特進行對比以統(tǒng)計錯誤比特數(shù)量并計算極化碼在各個信道下的誤碼率,為了與LDPC碼作橫向比較,衡量其性能的指標選取為誤比特率(Bit Error Rate,BER).
圖2 水聲通信系統(tǒng)仿真框圖
極化碼在水聲通信系統(tǒng)中的仿真實驗的重點主要為兩個部分,第一部分為極化碼的構造部分,由于水聲信道為典型的非對稱信道,所以極化碼的構造方法選取蒙特卡洛構造方法.第二部分為極化碼的譯碼部分,綜合譯碼算法的性能與算法實現(xiàn)的復雜度,最終選取CA-SCL譯碼算法作為譯碼方案.
實際水聲信道的傳輸函數(shù)是時-頻-空變的,不同海域的信道狀況會有很大不同.但在相干時間范圍內,可認為其轉移函數(shù)不隨時間變化.本文將針對聲速為常數(shù)的等溫層模型、負聲速梯度信道模型和正聲速梯度信道模型進行極化碼的性能仿真研究.
為設計特定的水聲通信系統(tǒng)通常是先在特定海域進行實驗測量,獲取的數(shù)據(jù)對該海域水聲信道的統(tǒng)計特征進行評估,并以此為設計參考.目前,在水聲信道建模方面廣泛使用的是多途傳播模型,它是基于射線聲學原理建立的.通常情況下,水聲通信系統(tǒng)可以被描述為:
其中Y(Z)是接收波形的Z變換,X(Z)是發(fā)送波形的Z變換,H(Z)是水下聲信道傳輸函數(shù),通常認為它涉及各種水下衰減干擾,尤其是乘性噪聲,N(Z)表示加性高斯白噪聲.
由于水聲信道是隨時間、空間以及頻率變化的信道,估計信道傳輸函數(shù)H(Z)是一個具有挑戰(zhàn)性的工作.
實際上,在相干時間內,水聲信道可被視為可確定的線性時不變?yōu)V波器或可確定的時空濾波器.因此,信道傳輸函數(shù)可以寫成:
其中P表示信道在符號持續(xù)時間內的多徑擴展條數(shù),Ai和τi分別表示各徑的幅度和時延,T表示采樣周期表示舍入運算[14].
為了處理方便,在信道建模分析中,通常假定聲速在水平方向上是不變的,根據(jù)深度將聲速度水平分層化.在此基礎上可近似推導出水聲信號在信道中的聲信號的能量分布、傳播路線,減少建立水聲信道模型的復雜度.
哈爾濱工程大學的艾宇慧等給出了幾種典型海洋水聲信道的傳輸函數(shù),如下所示.其假設條件是水聲通信帶寬為5 kHz,采樣頻率為10 kHz[15].
聲速為常數(shù)的均勻介質信道(Invariable Sound Velocity Gradient,ISVG)為:
負聲速梯度信道(Negative Sound Velocity Gradient,ISVG)為:
正聲速梯度信道(Positive Negative Sound Velocity Gradient,ISVG)為:
為了計算極化操作后各個子信道的可靠度,挑選出K位信息位索引,我們需要針對具體信道進行極化碼的構造.目前的構造方法主要有BEC構造、信道退化構造以及蒙特卡洛構造[10]等,前兩種方法分別適用于BEC信道和對稱信道,然而水聲信道環(huán)境復雜,為典型的非對稱信道,因此本文采用具有普遍適用性的蒙特卡洛構造方法.
對于任意的B-DMC信道W,巴氏參數(shù)Z(W)表示為:
容易看出,Z(W)取值范圍是[0,1].對于信道的容量I(W)有:
當信道容量I(W)=1的時候,巴氏參數(shù)Z(W)=0;反之,當I(W)=0時,Z(W)=1.因此,常常使用巴氏參數(shù)來表示信道的可靠度.
蒙特卡洛方法也稱為統(tǒng)計模擬方法,是一種以概率統(tǒng)計理論為指導的非常重要的數(shù)值計算方法,其中心思想是用大量的實驗頻率統(tǒng)計替代概率.極化碼的構造算法,即構造信道索引集合A,通過對極化操作后的子信道進行可靠度估計,然后從中選出可靠度最低的K個子信道用作傳輸信息位,其余子信道則傳輸凍結比特.用巴氏參數(shù)來表示信道的可靠度,從而:
蒙特卡洛構造對應的算法是一種近似構造的算法,可以近似的模擬子信道的巴氏參數(shù)Z(WN(i))[10].由定義得:
由前文建立的水聲信道模型可知,基于射線聲學原理上建立的多途傳播模型是一種確定型信道模型,收發(fā)雙方已知信道狀態(tài)信息,在任意切分的塊中,發(fā)送端和接收端都已知具體的衰落系數(shù)的數(shù)值.理論上,切塊越小的情況下,信道模型越能反應真實的水下通信環(huán)境,此時hi是一個常數(shù),假設噪聲是服從均值為0,方差為δ2的正態(tài)分布隨機變量.本文中的信道狀態(tài)信息包括信道衰落因子h以及噪聲的方差σ2,實際通信系統(tǒng)主要通過接收端的信道估計與無信號傳輸時噪聲功率的測量得到h與σ2,隨后通過通信反饋鏈路進行該信息的傳遞.
信號在發(fā)送端經過BPSK調制以后,信道的轉移概率可以由如下公式計算:
此時,在每一個塊中的初始似然比可以寫成為:
實際計算過程常使用的是其以e為底的對數(shù)形式,其對數(shù)似然比(Logarithm Likelihood Rate,LLR)計算過程如下:
因此,蒙特卡洛構造極化碼的算法可以表述如算法1.
值得一提的是,由于本次實驗的仿真次數(shù)的數(shù)量級較大,為了確保實驗過程可以順利進行并如期得到實驗結果,本次實驗采用的仿真平臺為Visual Studio 2015,分別對理論研究階段的各個信道進行106到107次仿真,每個子信道分別仿真極化碼的碼長N為1024和2048,碼率為0.5,最終凍結位索引集文件作為極化碼構造階段仿真結果的輸出.
算法1蒙特卡洛構造極化碼算法輸入LLR(yi)輸出 集合A步驟1:隨機產生長度為N的碼字uN1,通過調制后發(fā)送至已建立模型的水聲信道,得到信道的輸出yN1.步驟2:通過解調后,根據(jù)式(14)計算每個對數(shù)似然比信息LLR(yi),作為譯碼輸入進行"精靈"輔助的SC譯碼,即在譯每一個信息比特之前,在"精靈"輔助下該比特之前的信息比特都能正確譯碼.步驟3:統(tǒng)計多次傳輸和譯碼的結果,計算參數(shù)W(i)N(Y N 1,U i-11|Ui⊕1)W(i)N(Y N 1,U i-1 1|Ui)的均值,作為第i信道的可靠度參數(shù)Z(W(i)N).步驟4:排序挑選值最小的K個信道的索引構成集合A作為該信道信息位的遴選方案.
仿真實驗結果表明極化碼的糾錯性能與碼長、譯碼寬度都呈現(xiàn)正相關.為了與LDPC碼作性能對比,碼長為1024和2048的極化碼分別與碼長相近的1296與2304的LDPC碼相比較.目前,CA-SCL算法是極化碼性能最優(yōu)的譯碼算法,其通過保留多條候選譯碼路徑對傳統(tǒng)的SC譯碼性能進行了性能的提升,候選路徑的保留上限為譯碼寬度L,同時該算法在輸出端輔以循環(huán)冗余校驗,將第一條(可信度最高的路徑)通過校驗的譯碼路徑作為譯碼結果,大大的提升了譯碼性能[11].因此,本文均采用CA-SCL算法作為極化碼的譯碼算法,其中,碼率設置為0.5,譯碼寬度設置為16,其中碼長為1024的極化碼的CRC校驗長度設置為8,碼長為2048的極化碼的CRC校驗長度設置為16;LDPC碼均采用置信傳播(Belief Propagation,BP)譯碼算法,最大迭代次數(shù)設置為30次,本次仿真實驗所使用的調制方式為BPSK.
圖3~5分別展示了在ISVG、NSVG和PSVG信道下,不同碼長的極化碼和LDPC碼的仿真性能對比.從仿真結果可以得到以下的結論:在三種信道下,對于極化碼和LDPC碼,譯碼方式一旦給定,性能就與碼長長度呈現(xiàn)正相關,即碼長越長,性能越好;在ISVG信道下,碼長為1024和2048的極化碼分別在信噪比約為2.0 dB和3.1 dB時性能開始超越LDPC碼;在誤碼率要求為10-4量級時,碼長為1024的極化碼可以多提供大約0.5 dB的編碼增益,綜合來看,在ISVG信道中,極化碼的性能要優(yōu)于LDPC碼,提高信噪比時,極化碼性能曲線下降越來越陡峭,即信噪比提高時極化碼可以獲得更高的性能收益.在NSVG信道下,碼長為1024的極化碼整體性能不如碼長為1296的LDPC碼;碼長增加到2048以后,此時譯碼寬度為16,CRC長度也增加到16,性能曲線下降速度很快,在大約1.7 dB時可以超越LDPC碼,并且呈現(xiàn)越來越陡峭的趨勢;在誤碼率要求為3×10-6時,碼長為2048的極化碼可以比碼長為2304的LDPC碼多提供約0.5 dB的編碼增益.在PSVG信道下,在信噪比大約在0到3.5 dB區(qū)間內,碼長為1024的極化碼的性能比碼長為1296的LDPC碼性能優(yōu)越;當信噪比大于1.5 dB時,碼長為2048的極化碼明顯優(yōu)于碼長為2304的LDPC碼,并且誤碼率下降趨勢很快;整體來看,在低于水聲通信性能指標10-4的情況下,碼長為2048的極化碼優(yōu)勢較為明顯.
圖3 ISVG信道下的性能仿真
圖4 NSVG信道下的性能仿真
我們進一步比較了極化碼同LDPC碼的編碼復雜度.令碼字長度為N,對于給定校驗矩陣的LDPC碼,編碼過程需要進行高斯消去和矩陣乘法,所需要的復雜度分別為O(N3)和O(N2),因此LDPC碼的一般編碼復雜度為O(N3).極化碼具有清晰地編譯碼結構,由于其遞歸結構,編碼可以在編碼因子圖上進行,需要進行模2加法和反轉操作,其所需編碼復雜度為O(NlogN)[10].因此,與LDPC碼相比,極化碼編碼結構清晰簡單,且編碼復雜度更低.
圖5 PSVG信道下的性能仿真圖
為保證水聲數(shù)據(jù)的可靠傳輸,提高時-頻-空域動態(tài)變化范圍大的水聲信道的糾錯性能、信號功率等綜合利用效率,本文提出將極化碼應用于信道環(huán)境惡劣的水聲信道,并使用蒙特卡洛構造作為極化碼的構造方法,CA-SCL作為其譯碼算法.仿真結果展示了在不同信道環(huán)境下不同碼長、以及不同譯碼方式下構造的極化碼糾錯性能的對比,其中信道傳遞函數(shù)分別為ISVG、NSVG和PSVG,整合三種信道下極化碼和LDPC碼的仿真結果,整體呈現(xiàn)出碼長越長性能越好的特點;在三種信道下,極化碼糾錯性能的表現(xiàn)都較為突出尤其在PSVG信道下,在低于水聲通信性能指標10-4的情況下,碼長為2048的極化碼相對于LDPC碼的優(yōu)勢明顯;除了在NSVG信道下,碼長為1296的LDPC碼相較于1024的極化碼有一定優(yōu)勢外,其余情況下極化碼整體的綜合性能要優(yōu)于相近碼長的LDPC碼且極化碼的性能下降速度更快.綜合以上,可以看出與LDPC碼相比,在同等信噪比條件下,極化碼在水聲通信系統(tǒng)中,擁有更好的糾錯性能,在提高信噪比時可以獲得更高的編碼增益,具有很強的競爭力.在實際應用場景中的信道編碼方案的遴選工作中,可以根據(jù)誤碼率、信號功率等具體需求,平衡其性能與計算復雜度,挑選出與硬件更為匹配的信道編碼方案.