汪 洋
(91404部隊(duì),河北 秦皇島 066001)
海事衛(wèi)星通信系統(tǒng)[1]是由國(guó)際海事衛(wèi)星組織(Inmarsat)建立的一種衛(wèi)星移動(dòng)通信系統(tǒng)。Inmarsat于 2006 年提供寬帶全球網(wǎng)絡(luò)BGAN(Broadband Global Area Network)業(yè)務(wù)后,它具有全球無(wú)縫隙的寬帶網(wǎng)絡(luò)接入、移動(dòng)實(shí)時(shí)視頻直播、兼容3G等多種通信能力,使其在移動(dòng)通信領(lǐng)域占有越來(lái)越重要的地位。因此,BGAN系統(tǒng)已成為越來(lái)越多學(xué)者研究的重點(diǎn)。
目前,目前對(duì)于各種系統(tǒng)中信號(hào)的Turbo編解碼研究很多。其中,文獻(xiàn)[2]和文獻(xiàn)[3]研究了TDLTE系統(tǒng)中Turbo譯碼算法,針對(duì)傳統(tǒng)Log-Map算法譯碼復(fù)雜度大且時(shí)延長(zhǎng)的缺點(diǎn),提出一種簡(jiǎn)化的Log-Map算法。文獻(xiàn)[4]對(duì)針對(duì)長(zhǎng)期演進(jìn)(Long Term Evolution,LTE)系統(tǒng)中的Turbo譯碼算法進(jìn)行了研究,在Max-Log-MAP和Log-MAP算法的基礎(chǔ)上提出了一種改進(jìn)算法,更加易于硬件實(shí)現(xiàn),具有較低的復(fù)雜度。文獻(xiàn)[5]為降低Turbo譯碼延遲,提出一種自適應(yīng)控制的迭代停止算,能有效降低譯碼平均迭代次數(shù),提高譯碼速率。文獻(xiàn)[6]分析了QPP交織器的原理,改善了高速分塊并行Turbo譯碼性能。
但是針對(duì)BGAN系統(tǒng)的譯碼研究很少,針對(duì)BGAN系統(tǒng)的大多是基于衛(wèi)星天線設(shè)計(jì)、檢測(cè)識(shí)別、信號(hào)解調(diào)。主要是由于其編碼方式復(fù)雜多變,資料較少,難以深入研究。
本文對(duì)BGAN系統(tǒng)通信鏈路信號(hào)數(shù)據(jù)的幀結(jié)構(gòu)以及編碼方式進(jìn)行了深入研究,設(shè)計(jì)了基于BGAN信號(hào)的譯碼器結(jié)構(gòu)和譯碼算法。結(jié)果表明,該譯碼算法實(shí)時(shí)性好、譯碼性能好且通用性高,能很好的實(shí)現(xiàn)對(duì)BGAN信號(hào)的實(shí)時(shí)譯碼。
Bgan衛(wèi)星上下行鏈路信號(hào)采用了QPSK/M-QAM形式的調(diào)制方式,每幀信號(hào)數(shù)據(jù)被分為單個(gè)或多個(gè)子幀(FEC blocks),以下行鏈路前向載波為例,其幀結(jié)構(gòu)如圖1所示。
圖1 下行鏈路數(shù)據(jù)幀結(jié)構(gòu)
下行鏈路信號(hào)幀長(zhǎng)為80 ms,其內(nèi)容為經(jīng)過(guò)QPSK/QAM調(diào)制后的所有調(diào)制輸出符號(hào)(Modulation Output Symbol,MOS)。參數(shù)描述如下:
UW:標(biāo)志一幀中第一個(gè)FEC的編碼方式,其長(zhǎng)度為40個(gè)符號(hào);
DS:數(shù)據(jù)符號(hào),其符號(hào)長(zhǎng)度與個(gè)數(shù)根據(jù)不同的BGAN下行載波類型變化;
PS:為標(biāo)志符號(hào),位于兩數(shù)據(jù)符號(hào)之間,符號(hào)長(zhǎng)度為1,不同的載波類型,PS的個(gè)數(shù)也不同。
FEC block:前向糾錯(cuò)編碼塊(Forward Error Correction,F(xiàn)EC),根據(jù)不同的載波類型,其個(gè)數(shù)可能為1也可能為多個(gè)。
BGAN通信鏈路數(shù)據(jù)幀中對(duì)FEC塊編碼采用的是Turbo編碼,其編碼器結(jié)構(gòu)如圖2所示。
數(shù)據(jù)輸入后,一路數(shù)據(jù)進(jìn)入緩存器,一路進(jìn)入交織器,分別進(jìn)行16態(tài)的Turbo編碼,生成d數(shù)據(jù)位與q校驗(yàn)位,再經(jīng)過(guò)刪余矩陣以及相應(yīng)的調(diào)制生成IQ數(shù)據(jù)。刪余矩陣可進(jìn)行調(diào)整以適應(yīng)BGAN鏈路數(shù)據(jù)的不同編碼率。
圖2 Turbo編碼器結(jié)構(gòu)
SRCC(Recursive Systematic Convolutional Code,RCC)為16態(tài)系統(tǒng)循環(huán)卷積編碼生成器,根據(jù)信息位輸入可以產(chǎn)生相應(yīng)的數(shù)據(jù)位與校驗(yàn)位輸出,從而完成編碼。
Turbo碼的譯碼較常規(guī)的卷積碼復(fù)雜,其復(fù)雜在于譯碼要采用迭代的過(guò)程,采用的算法本身不但要能夠?qū)γ勘忍剡M(jìn)行譯碼,還要隨著譯碼給出每比特譯出的可靠性信息。常用的turbo碼軟輸入軟輸出(Soft Input Soft Output,SISO)譯碼算法可分為最大后驗(yàn)MAP(Maximum posterior probability,MAP)算法和軟輸出維比特SOVA(Soft Out Viterbi Algorithm)算法。對(duì)于BGAN通信鏈路數(shù)據(jù),可對(duì)Log-MAP算法進(jìn)行相應(yīng)的修改,實(shí)時(shí)準(zhǔn)確的對(duì)BGAN通信鏈路數(shù)據(jù)譯碼。
基于BGAN系統(tǒng)的Turbo碼譯碼器結(jié)構(gòu)如圖3所示,其中分量譯碼器1和分量譯碼器2分別與編碼器中的SRCC1和SRCC2對(duì)應(yīng),交織器、解交織器與編碼器中的交織器對(duì)應(yīng)。
圖3 基于BGAN系統(tǒng)的譯碼器結(jié)構(gòu)
基本譯碼過(guò)程為:系統(tǒng)信息、校驗(yàn)信息1、先驗(yàn)信息1進(jìn)入分量譯碼器1,分量譯碼器1根據(jù)log-map譯碼算法完成對(duì)分量編碼器SRCC1的譯碼,并生成信息比特的外信息1。外信息1經(jīng)過(guò)交織后,生成作為分量譯碼器2的信息比特的先驗(yàn)信息2;接收的信息序列通過(guò)相同的交織,作為分量譯碼器2的接收信息。分量譯碼器2利用交織后得到的先驗(yàn)信息2、系統(tǒng)信息、校驗(yàn)信息2完成對(duì)分量編碼器SRCC2的譯碼,得到外信息2。外信息2經(jīng)解交織后得到分量譯碼器1的先驗(yàn)信息進(jìn)入下一迭代運(yùn)算。
迭代譯碼算法是要根據(jù)接收到的序列Y,找出每信息比特uk為+1或者-1的概率,等同于計(jì)算Y序列下uk的對(duì)數(shù)似然比值(LLR),其公式如下所示。
在柵格圖中假設(shè)前一狀態(tài)Sk-1=s′和當(dāng)前狀態(tài)Sk=s,輸入比特uk引起s′=>s的狀態(tài)轉(zhuǎn)移。接收序列Y可以被分為Yj<k,Yk,Yj>k,分別表示 k 時(shí)刻之前接收碼字序列、當(dāng)前接收碼字序列和之后接收碼字序列,根據(jù)貝葉斯準(zhǔn)則,上式可轉(zhuǎn)變?yōu)椋?/p>
其中:
表示接收序列是Yj<k,k-1時(shí)刻狀態(tài)時(shí)s′的前向概率。
表示k時(shí)刻狀態(tài)為s且之后接收序列式Y(jié)j>k的后向概率。
表示由給定狀態(tài)s′轉(zhuǎn)移到s并且此時(shí)接收碼字為Yk的狀態(tài)轉(zhuǎn)移概率。
采用遞歸的方法可以計(jì)算出上面3種概率。在迭代譯碼過(guò)程中,由迭代譯碼器結(jié)構(gòu)可將L(uk|Y)分成3部分:先驗(yàn)信息L(uk)、系統(tǒng)比特信息Lc yks和外在信息Le(uk):
對(duì)于BGAN幀數(shù)據(jù)編碼后的比特是用QPSK/MQAM調(diào)制,信道為高斯信道或衰落信道。設(shè)n時(shí)刻受到的星座符號(hào)位Qn,包括I、Q兩路信號(hào)設(shè)為rn(i)、rn(q),則MQAM解調(diào)的軟信息(即譯碼器輸入的系統(tǒng)信息)為:
其中i的取值0、1…m,表示解調(diào)出的第i個(gè)比特,x(j),y(j)表示M/2個(gè)星座點(diǎn)中第j個(gè)星座點(diǎn)對(duì)應(yīng)的I、Q坐標(biāo)。以16QAM為例,如圖4所示。
圖4 16QAM星座圖
假設(shè)每個(gè)QAM符號(hào)代表比特為{a1,a2,a3,a4},接收第n個(gè)QAM符號(hào)如圖所示的A點(diǎn),則該點(diǎn)接收I、Q路信號(hào)分別為當(dāng)計(jì)算a1的軟信息時(shí),與a1判為1的相關(guān)的星座點(diǎn)是圖中Q軸左半平面的8個(gè)點(diǎn),與-1相關(guān)的點(diǎn)事Q軸有半平面的8個(gè)點(diǎn),j從1到8,分別各自遍歷的8個(gè)點(diǎn),x(j)、y(j)分別表示8個(gè)點(diǎn)的橫縱坐標(biāo),代入公式后得到a1的軟信息,同理計(jì)算a2的軟信息,公式分子項(xiàng)設(shè)計(jì)的是I軸下方8個(gè)點(diǎn),分母項(xiàng)涉及的是上方的8個(gè)點(diǎn)。a3,a4按照同樣的方式計(jì)算。如此可算出每個(gè)比特的軟信息。
Bgan衛(wèi)星鏈路信號(hào)處理組成框圖如圖5所示。主要包括衛(wèi)星信號(hào)下行轉(zhuǎn)換、IQ解調(diào)、譯碼、解擾、位數(shù)據(jù)輸入到協(xié)議層。
圖5 BGAN系統(tǒng)信號(hào)處理框圖
以下行通信鏈路為例,衛(wèi)星信號(hào)經(jīng)L波段下行轉(zhuǎn)換后,通過(guò)UW檢測(cè)獲得幀數(shù)據(jù);IQ解調(diào)后的IQ數(shù)據(jù)進(jìn)入譯碼單元;譯碼單元將解調(diào)后的IQ數(shù)據(jù)進(jìn)行譯碼、解擾、校驗(yàn);最后輸出01比特?cái)?shù)據(jù)到協(xié)議層。
設(shè)計(jì)實(shí)際BGAN信號(hào)數(shù)據(jù)幀的譯碼流程圖如圖6所示,主要分為數(shù)據(jù)預(yù)處理,Turbo迭代譯碼,以及CRC校驗(yàn)三個(gè)部分。
(1)數(shù)據(jù)預(yù)處理部分:根據(jù)接收的上下行IQ解調(diào)數(shù)據(jù),去除其中相應(yīng)的UW字段符號(hào)和PS符號(hào),只余數(shù)據(jù)符號(hào)。用上述譯碼軟信息解調(diào)算法計(jì)算出IQ軟信息,并作為譯碼器結(jié)構(gòu)的系統(tǒng)信息輸入,完成數(shù)據(jù)預(yù)處理部分。然后,
(2)按照所設(shè)計(jì)的Turbo迭代譯碼器,設(shè)置迭代次數(shù),讀取已知交織信息并進(jìn)行Turbo迭代譯碼。得出譯碼結(jié)果。
(3)將譯碼出的比特進(jìn)行解擾處理,并進(jìn)行CRC校驗(yàn),CRC校驗(yàn)為CCITT-16校驗(yàn)方式,驗(yàn)證譯碼結(jié)果是否正確。
圖6 BGAN譯碼流程圖
實(shí)際項(xiàng)目研發(fā)中對(duì)BGAN的上下行鏈路按照以上譯碼算法進(jìn)行了譯碼。
整個(gè)譯碼平臺(tái)采用上層VC平臺(tái)。前端通過(guò)處理FPGA處理后的解調(diào)信號(hào)數(shù)據(jù),然后按照所設(shè)計(jì)譯碼算法在上層進(jìn)行實(shí)時(shí)譯碼。
通過(guò)對(duì)BGAN上下鏈路中的全球波束、窄點(diǎn)波束以及上行三種不同典型類型的載波信號(hào)的解調(diào)數(shù)據(jù)進(jìn)行譯碼,其參數(shù)如表1和表2所示。
表1 載波信號(hào)參數(shù)1 /個(gè)
表2 載波信號(hào)參數(shù)2 /個(gè)
針對(duì)三種所采集的不同類型實(shí)際鏈路信號(hào)數(shù)據(jù),經(jīng)過(guò)接收機(jī)和FPGA處理后得到IQ數(shù)據(jù),在Matlab中采用所設(shè)計(jì)的譯碼器及譯碼算法進(jìn)行譯碼,其部分譯碼結(jié)果分別如圖7、圖8、圖9所示。
圖7 全球波束
圖7為下行全球波束譯碼結(jié)果,其調(diào)制方式為QPSK調(diào)制,編碼符號(hào)為672個(gè)。其中,第一行為前線載波頭格式,第二行為整幀字節(jié)數(shù),中間協(xié)議部分省略,最終的CRC校驗(yàn)結(jié)果正確。將全球波束協(xié)議解析與已知協(xié)議完全比對(duì),譯碼結(jié)果正確。
圖8 下行點(diǎn)波束
圖8為下行點(diǎn)波束譯碼結(jié)果,其調(diào)制方式為16QAM調(diào)制,編碼符號(hào)為1496個(gè)/FEC。第一行為前向載波頭格式,點(diǎn)波束一幀內(nèi)部多個(gè)CRC校驗(yàn)結(jié)果正確,點(diǎn)波束協(xié)議解析與已知協(xié)議完全比對(duì),譯碼結(jié)果正確。
圖9 上行波束
圖9為上行波束譯碼結(jié)果,其調(diào)制方式為16QAM調(diào)制,編碼符號(hào)為112個(gè)。第一行為反向載波頭格式,中間為省略協(xié)議信息,最終CRC校驗(yàn)結(jié)果正確。上行波束協(xié)議解析與已知協(xié)議完全比對(duì),譯碼結(jié)果正確。
目前海事四代衛(wèi)星鏈路通信在信號(hào)識(shí)別、解調(diào)上已經(jīng)比較成熟,但在信號(hào)譯碼以及協(xié)議分析方面還處于研究階段,根據(jù)實(shí)際信號(hào)進(jìn)行海事四代衛(wèi)星的通信數(shù)據(jù)譯碼是本文的主要研究方向。本文研究了BGAN系統(tǒng)通信鏈路的數(shù)據(jù)幀結(jié)構(gòu)以及編碼方式,并設(shè)計(jì)了相應(yīng)的Turbo迭代譯碼器成功對(duì)上下行鏈路不同載波類型的信號(hào)數(shù)據(jù)進(jìn)行了譯碼,結(jié)果表明譯碼器設(shè)計(jì)以及算法可以對(duì)實(shí)際BGAN系統(tǒng)信號(hào)進(jìn)行完全正確譯碼。對(duì)衛(wèi)星鏈路的數(shù)據(jù)譯碼應(yīng)用有指導(dǎo)意義。同時(shí),該設(shè)計(jì)方案并不局限于BGAN通信信號(hào)的譯碼應(yīng)用,可推廣到使用其他通信衛(wèi)星信號(hào)譯碼的系統(tǒng)中。