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