毛晶晶,李 磊,王 偉
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.中國人民解放軍第66040部隊,北京 100071)
為滿足不安全環(huán)境下關(guān)鍵指揮控制信息的最低限度可靠傳輸、完成超遠距離的指控信息通信,需要解決超遠距離散射通信鏈路路徑損失大、接收端信號微弱、信噪比極低的問題,要求提高系統(tǒng)的接收靈敏度和信道增益,增強微弱信號的接收能力,一項主要措施就是采用信道編碼技術(shù)。由于超遠距離散射通信與深空通信均具有通信距離遠、路徑損失大、接收信號微弱的共同點,本文參考CCSDS建議的深空通信糾錯編碼標準,研究低碼率Turbo碼在超遠距離散射通信中的應(yīng)用。
基于CCSDS標準的Turbo編碼應(yīng)用在超遠距離散射通信系統(tǒng)中主要需要解決的問題是針對散射信道特性,通過合理設(shè)計交織長度、碼率和譯碼算法,并根據(jù)實際工程應(yīng)用,考慮系統(tǒng)實時性和芯片處理能力的限制,對算法進行優(yōu)化設(shè)計。一方面提高散射系統(tǒng)在極低信噪比環(huán)境下的通信能力,另一方面可以盡量減少Turbo碼的譯碼時延,免除不必要的系統(tǒng)損耗,從而提高整個系統(tǒng)的性能。
對流層散射通信在惡劣的自然電磁環(huán)境下具有頑強生命力,在戰(zhàn)場威脅下具有天然抗毀性,其在核爆后能很快恢復(fù)正常通信,還有很強的空域濾波特性,使得敵方難以竊聽、截獲和干擾[1]。由于上述優(yōu)良特性,對流層散射通信在各國軍用無線通信系統(tǒng)建設(shè)中受到了高度重視。研究對流層散射通信,首先要了解其信號處理流程和信道特性。
采用Turbo編碼的對流層散射系統(tǒng)組成如圖1所示,在發(fā)送端連續(xù)碼流經(jīng)過RAM模塊緩沖,以“編碼塊”的形式進入編碼器,由“連續(xù)”到“突發(fā)”,編碼結(jié)束后再經(jīng)由RAM模塊轉(zhuǎn)為連續(xù)碼,在接收端也是同理。
圖1 對流層散射信號處理框圖
由于需要對Turbo算法在散射信道下的性能進行仿真,首先對散射信道進行建模。對流層散射信道的理想化短期模型是一種統(tǒng)計上平穩(wěn)的獨立衰落的許多路徑的連續(xù)集,每條路徑呈現(xiàn)復(fù)高斯起伏。對流層散射信道的短期模型可理想化為一廣義平穩(wěn)不相關(guān)(WSUSS)復(fù)高斯散射信道[2]。在對流層散射通信中,可通過采用分集技術(shù)、迭代接收技術(shù)等抗多徑技術(shù)來對抗信道的快衰落。大量實踐經(jīng)驗表明,采用上述抗多徑措施后,散射信道的短期模型可以近似看成AWGN信道[3]。
基于CCSDS標準的低碼率Turbo碼由于其優(yōu)越的性能被廣泛應(yīng)用。下面對基于CCSDS標準的Turbo編譯碼算法的編碼算法、交織算法和譯碼算法進行研究。
CCSDS建議的Turbo碼結(jié)構(gòu)為并行級聯(lián)(PCCC)結(jié)構(gòu),其成員碼為2個結(jié)構(gòu)完全相同的16狀態(tài)的遞歸卷積碼,可以提供1/2、1/3、1/4和1/6這4種不同碼速率的編碼[4]。編碼器的結(jié)構(gòu)如圖2所示,由緩沖器、交織器、2個成員碼編碼器、開關(guān)等組成,待編碼信息通過緩沖器后分為二路,一路直接進入成員碼編碼器1,另一路經(jīng)過交織器后進入成員碼編碼器2,2個成員碼編碼器的結(jié)構(gòu)完全相同。然后再根據(jù)編碼碼率需求,選取其中某幾路復(fù)接成串聯(lián)碼流輸出。
CCSDS標準的Turbo碼編碼器的交織長度分別為1 784、3 568、7 136、8 920、16 384 bits。本文應(yīng)用在散射通信低速和極低速的情況下,根據(jù)實際業(yè)務(wù)速率,也研究比較其他交織長度,進行性能分析。
圖2 編碼器結(jié)構(gòu)圖
值得注意的是當原始數(shù)據(jù)部分完全輸入到編碼器后,就要計算結(jié)尾比特,其計算方法為,斷開原始數(shù)據(jù)輸入部分,計算該時刻反饋移位值,并把該時刻的反饋移位值作為編碼輸入,再進行一遍原來的編碼計算過程,就得到一位結(jié)尾比特,有幾個移位寄存器就需要進行幾次這樣的運算。在計算結(jié)尾比特的過程中,還要保存生成的假輸入信息,假輸入信息和原始信息共同組成編碼器的輸入數(shù)據(jù)。
Turbo碼交織算法的好壞對Turbo的性能影響極大,交織算法有很多種,算法交織性能和硬件實現(xiàn)復(fù)雜度千差萬別,如分組交織算法,實現(xiàn)簡單,但交織隨機性差;3GPP標準交織器交織性能優(yōu)良,但是算法涉及矩陣運算,硬件實現(xiàn)復(fù)雜度高;QPP算法、CCSDS建議的交織算法性能與3GPP標準的交織器性能相近,且具有算法存儲量小、硬件實現(xiàn)簡單、適用于工程實現(xiàn)的優(yōu)點,而QPP算法更適用于交織長度較短的應(yīng)用場合,所以本文主要討論這2種算法。
CCSDS標準的交織算法實現(xiàn)方法如下:首先,預(yù)先選擇8個素數(shù)。推薦i1=31,i2=37,i3=43,i4=47,i5=53,i6=59,i7=61,i8=67;設(shè)N表示交織器的長度,選擇n1和n2滿足N=n1*n2,符合CCSDS標準低碼率Turbo碼的n1和n2設(shè)計如表1所示。
表1 交織器參數(shù)
信息位長度N參數(shù)n1參數(shù)n21 78482233 5688223*27 1368223*48 9208223*5
然后按照下列公式實現(xiàn)交織:
(1)
式中,?」表示小于或等于方括號內(nèi)數(shù)值的最大整數(shù),iq表示8個選定素數(shù)中的一個。經(jīng)過上式計算,從k=1到k=N可以獲得更換順序的數(shù)字I(k),這里k指的是經(jīng)過交織后輸入到第2個編碼器的第k位數(shù)據(jù),而I(k)是初始幀的比特數(shù)字。
QPP算法其交織公式可簡化表示為:
F(x)=f1x+f2x2。
(2)
對于不同交織長度,其交織公式的系數(shù)為通過計算機搜索出使算法交織性能較優(yōu)的正整數(shù)。它采用2個二次多項式進行交織和解交織運算,操作簡便,實現(xiàn)復(fù)雜度低[5]。QPP交織器就是利用某些特定的二次多項式(QP),使其滿足某些條件成為QPP結(jié)構(gòu)來完成交織。QPP算法尤其適用于交織長度較短的應(yīng)用場合,QPP交織器與解交織器結(jié)構(gòu)相同。不僅給工程實現(xiàn)帶來了很多便利,也較好地避免了多譯碼器并行譯碼時因同時調(diào)用同一個交織器產(chǎn)生的訪問沖突問題。
Turbo碼取得優(yōu)異性能的根本原因之一是其采用了迭代譯碼,通過分量譯碼器之間軟信息的交換來提高譯碼性能。在實際通信系統(tǒng)中,需要根據(jù)吞吐量、誤碼率、時延等指標綜合分析,采用不同的譯碼算法和并行結(jié)構(gòu),設(shè)計出符合實際需求的Turbo碼譯碼器。
圖3 Turbo譯碼器結(jié)構(gòu)
Turbo碼譯碼算法常用的主要有MAP算法、Log-MAP算法、MAX-Log-MAP算法與SOVA算法4種[6]。其中Log-MAP算法把MAP算法中復(fù)雜的乘除法運算轉(zhuǎn)換為簡單的加減法運算,通過調(diào)用E函數(shù)實現(xiàn)轉(zhuǎn)化后的冪運算,沒有性能損失,但是由于其涉及對數(shù)運算,在硬件實現(xiàn)時復(fù)雜度較高,一般采用查表的方法進行簡化。而MAX-Log-MAP算法在查表Log-MAP算法的基礎(chǔ)上進行了一些簡化,省去了分支路徑合并時的比較和查表操作,因此,它的譯碼速度最快,與此同時,由于忽略了一些小項,相對于Log-MAP算法有一定的性能損失,大約損失0.3~0.5 dB。
針對散射通信工程實際,綜合考慮譯碼性能與實現(xiàn)復(fù)雜度,選擇MAX-Log-MAP算法作為譯碼算法,并對其進行應(yīng)用改進。MAX-Log-MAP算法實現(xiàn)步驟見式(3)~式(7)。
(3)
(4)
式(4)意義為:k時刻寄存器狀態(tài)為s的前向遞推概率為與之連接的前面兩路中前一狀態(tài)(k-1時刻)的前向遞推因子和轉(zhuǎn)移概率(k時刻)的和的最大值。
(5)
式(5)意義為:k時刻寄存器狀態(tài)為s的后向遞推概率為與之連接的后面2路中后一狀態(tài)的(k+1時刻)的后向遞推因子和轉(zhuǎn)移概率(k+1時刻)的和的最大值。
(6)
(7)
在計算前向和后向遞推因子時,由于是累加積分的關(guān)系,越往后的遞推運算,前向或后向遞推因子的絕對值會越來越大,在硬件實現(xiàn)時固定量化位寬可能會導(dǎo)致溢出。本文對計算方法進行改進:在某時刻計算出所有狀態(tài)的前向遞推因子后,找到最小的遞推因子值,然后所有的因子都減去這個值,這樣可以防止溢出,還不影響譯碼結(jié)果。后向遞推因子也進行這樣的防溢出處理。
另外,經(jīng)過仿真驗證,將式(7)進行如下修正:
(8)
式中,當修正因子M取值為0.75時,算法性能相對于原有MAX-Log-MAP算法有約0.2 dB的提升,即與Log-MAP算法的性能損失降至0.1~0.3 dB。
通過MATLAB軟件對基于CCSDS標準的Turbo碼在散射信道下編碼性能進行仿真。如圖4所示,考察使用QPP交織算法和CCSDS交織算法1/4碼率不同碼長的Turbo碼的性能,由仿真結(jié)果可以看出,交織長度越長,Turbo碼的誤碼率性能越好;但交織長度并非越長越好,如8 920碼長和1 784碼長的Turbo碼交織長度相差5倍,但是性能增益不到0.5 dB,交織長度越長,系統(tǒng)的時延越大,對系統(tǒng)硬件要求也越高,需要考慮項目實際需求進行權(quán)衡選擇。
圖4 不同交織長度Turbo碼性能仿真
圖5 不同碼率Turbo碼性能仿真
如圖5所示,對編碼效率進行仿真對比,編碼效率越低,Turbo碼的誤碼率性能越好,在誤碼率為10-6條件下,與1/6效率Turbo碼相比,1/2、1/3和1/4效率Turbo碼的誤碼率性能分別相差約1 dB、0.4 dB和0.2 dB,可見編碼效率對誤碼率性能的影響比交織長度更大。編碼效率越低說明可用的編碼冗余越多,從而可以對信息進行更優(yōu)的判決;但是編碼效率的減小會降低系統(tǒng)傳輸?shù)挠行?,同時需要占用更多的信道帶寬,對載波和定時同步的能力提出了更高的要求;因此實際應(yīng)用時應(yīng)綜合增益要求、占用資源等多種因素進行權(quán)衡。
在對流層散射通信中,常采用分集技術(shù)來對抗信道的快衰落。下面對1 784碼長、1/4碼率的Turbo碼在采用1/4/8/16重分集的散射信道中的性能進行仿真,并與不采用編碼的散射系統(tǒng)性能進行比較,仿真結(jié)果如圖6所示。在散射信道中,分集重數(shù)影響編碼效率的可實現(xiàn)能力,散射分集重數(shù)越多,采用Turbo編碼對系統(tǒng)性能改進越大;但由于發(fā)射總功率一定,分集重數(shù)越多則每重發(fā)送均分的功率越少、功率分散越嚴重,每重信號信噪比也將隨之降低,造成載波提取困難。
圖6 散射信道1/4/8/16重分集Turbo碼性能仿真
綜上,在600~1 000 km的超遠距離散射鏈路中,采用1/4碼率,交織長度為1 784的基于CCSDS標準的Turbo碼,可以提升系統(tǒng)性能,保證關(guān)鍵指控信息的可靠傳輸。
此外,如圖7所示,采用改進后譯碼算法的1 784碼長、1/4碼率的Turbo碼與未改進算法的性能對比,約有0.2 dB的性能提升。
圖7 改進算法性能仿真
經(jīng)過理論分析與仿真驗證,基于CCSDS標準的Turbo編碼技術(shù)應(yīng)用于超遠距離散射鏈路中,能提供相當大的編碼增益,抵抗由遠距離帶來的通信路徑損失,提升通信可靠性;由于超遠距離散射通信速率一般較低,對時延要求相對寬松,可以使用較長碼長和較低碼率編碼;與中距離散射信道相比,遠距離散射信道的接收信號衰落速度快,在低速調(diào)制解調(diào)器中可采用較長的碼字以及交織技術(shù),交織長度跨越多個信道衰落周期,可以起到良好的時間分集效果。