汪 洋
(91404部隊,河北 秦皇島 066001)
海事衛星通信系統[1]是由國際海事衛星組織(Inmarsat)建立的一種衛星移動通信系統。Inmarsat于 2006 年提供寬帶全球網絡BGAN(Broadband Global Area Network)業務后,它具有全球無縫隙的寬帶網絡接入、移動實時視頻直播、兼容3G等多種通信能力,使其在移動通信領域占有越來越重要的地位。因此,BGAN系統已成為越來越多學者研究的重點。
目前,目前對于各種系統中信號的Turbo編解碼研究很多。其中,文獻[2]和文獻[3]研究了TDLTE系統中Turbo譯碼算法,針對傳統Log-Map算法譯碼復雜度大且時延長的缺點,提出一種簡化的Log-Map算法。文獻[4]對針對長期演進(Long Term Evolution,LTE)系統中的Turbo譯碼算法進行了研究,在Max-Log-MAP和Log-MAP算法的基礎上提出了一種改進算法,更加易于硬件實現,具有較低的復雜度。文獻[5]為降低Turbo譯碼延遲,提出一種自適應控制的迭代停止算,能有效降低譯碼平均迭代次數,提高譯碼速率。文獻[6]分析了QPP交織器的原理,改善了高速分塊并行Turbo譯碼性能。
但是針對BGAN系統的譯碼研究很少,針對BGAN系統的大多是基于衛星天線設計、檢測識別、信號解調。主要是由于其編碼方式復雜多變,資料較少,難以深入研究。
本文對BGAN系統通信鏈路信號數據的幀結構以及編碼方式進行了深入研究,設計了基于BGAN信號的譯碼器結構和譯碼算法。結果表明,該譯碼算法實時性好、譯碼性能好且通用性高,能很好的實現對BGAN信號的實時譯碼。
Bgan衛星上下行鏈路信號采用了QPSK/M-QAM形式的調制方式,每幀信號數據被分為單個或多個子幀(FEC blocks),以下行鏈路前向載波為例,其幀結構如圖1所示。

圖1 下行鏈路數據幀結構
下行鏈路信號幀長為80 ms,其內容為經過QPSK/QAM調制后的所有調制輸出符號(Modulation Output Symbol,MOS)。參數描述如下:
UW:標志一幀中第一個FEC的編碼方式,其長度為40個符號;
DS:數據符號,其符號長度與個數根據不同的BGAN下行載波類型變化;
PS:為標志符號,位于兩數據符號之間,符號長度為1,不同的載波類型,PS的個數也不同。
FEC block:前向糾錯編碼塊(Forward Error Correction,FEC),根據不同的載波類型,其個數可能為1也可能為多個。
BGAN通信鏈路數據幀中對FEC塊編碼采用的是Turbo編碼,其編碼器結構如圖2所示。
數據輸入后,一路數據進入緩存器,一路進入交織器,分別進行16態的Turbo編碼,生成d數據位與q校驗位,再經過刪余矩陣以及相應的調制生成IQ數據。刪余矩陣可進行調整以適應BGAN鏈路數據的不同編碼率。

圖2 Turbo編碼器結構
SRCC(Recursive Systematic Convolutional Code,RCC)為16態系統循環卷積編碼生成器,根據信息位輸入可以產生相應的數據位與校驗位輸出,從而完成編碼。
Turbo碼的譯碼較常規的卷積碼復雜,其復雜在于譯碼要采用迭代的過程,采用的算法本身不但要能夠對每比特進行譯碼,還要隨著譯碼給出每比特譯出的可靠性信息。常用的turbo碼軟輸入軟輸出(Soft Input Soft Output,SISO)譯碼算法可分為最大后驗MAP(Maximum posterior probability,MAP)算法和軟輸出維比特SOVA(Soft Out Viterbi Algorithm)算法。對于BGAN通信鏈路數據,可對Log-MAP算法進行相應的修改,實時準確的對BGAN通信鏈路數據譯碼。
基于BGAN系統的Turbo碼譯碼器結構如圖3所示,其中分量譯碼器1和分量譯碼器2分別與編碼器中的SRCC1和SRCC2對應,交織器、解交織器與編碼器中的交織器對應。

圖3 基于BGAN系統的譯碼器結構
基本譯碼過程為:系統信息、校驗信息1、先驗信息1進入分量譯碼器1,分量譯碼器1根據log-map譯碼算法完成對分量編碼器SRCC1的譯碼,并生成信息比特的外信息1。外信息1經過交織后,生成作為分量譯碼器2的信息比特的先驗信息2;接收的信息序列通過相同的交織,作為分量譯碼器2的接收信息。分量譯碼器2利用交織后得到的先驗信息2、系統信息、校驗信息2完成對分量編碼器SRCC2的譯碼,得到外信息2。外信息2經解交織后得到分量譯碼器1的先驗信息進入下一迭代運算。
迭代譯碼算法是要根據接收到的序列Y,找出每信息比特uk為+1或者-1的概率,等同于計算Y序列下uk的對數似然比值(LLR),其公式如下所示。

在柵格圖中假設前一狀態Sk-1=s′和當前狀態Sk=s,輸入比特uk引起s′=>s的狀態轉移。接收序列Y可以被分為Yj<k,Yk,Yj>k,分別表示 k 時刻之前接收碼字序列、當前接收碼字序列和之后接收碼字序列,根據貝葉斯準則,上式可轉變為:

其中:

表示接收序列是Yj<k,k-1時刻狀態時s′的前向概率。

表示k時刻狀態為s且之后接收序列式Yj>k的后向概率。

表示由給定狀態s′轉移到s并且此時接收碼字為Yk的狀態轉移概率。
采用遞歸的方法可以計算出上面3種概率。在迭代譯碼過程中,由迭代譯碼器結構可將L(uk|Y)分成3部分:先驗信息L(uk)、系統比特信息Lc yks和外在信息Le(uk):

對于BGAN幀數據編碼后的比特是用QPSK/MQAM調制,信道為高斯信道或衰落信道。設n時刻受到的星座符號位Qn,包括I、Q兩路信號設為rn(i)、rn(q),則MQAM解調的軟信息(即譯碼器輸入的系統信息)為:

其中i的取值0、1…m,表示解調出的第i個比特,x(j),y(j)表示M/2個星座點中第j個星座點對應的I、Q坐標。以16QAM為例,如圖4所示。

圖4 16QAM星座圖
假設每個QAM符號代表比特為{a1,a2,a3,a4},接收第n個QAM符號如圖所示的A點,則該點接收I、Q路信號分別為當計算a1的軟信息時,與a1判為1的相關的星座點是圖中Q軸左半平面的8個點,與-1相關的點事Q軸有半平面的8個點,j從1到8,分別各自遍歷的8個點,x(j)、y(j)分別表示8個點的橫縱坐標,代入公式后得到a1的軟信息,同理計算a2的軟信息,公式分子項設計的是I軸下方8個點,分母項涉及的是上方的8個點。a3,a4按照同樣的方式計算。如此可算出每個比特的軟信息。
Bgan衛星鏈路信號處理組成框圖如圖5所示。主要包括衛星信號下行轉換、IQ解調、譯碼、解擾、位數據輸入到協議層。

圖5 BGAN系統信號處理框圖
以下行通信鏈路為例,衛星信號經L波段下行轉換后,通過UW檢測獲得幀數據;IQ解調后的IQ數據進入譯碼單元;譯碼單元將解調后的IQ數據進行譯碼、解擾、校驗;最后輸出01比特數據到協議層。
設計實際BGAN信號數據幀的譯碼流程圖如圖6所示,主要分為數據預處理,Turbo迭代譯碼,以及CRC校驗三個部分。
(1)數據預處理部分:根據接收的上下行IQ解調數據,去除其中相應的UW字段符號和PS符號,只余數據符號。用上述譯碼軟信息解調算法計算出IQ軟信息,并作為譯碼器結構的系統信息輸入,完成數據預處理部分。然后,
(2)按照所設計的Turbo迭代譯碼器,設置迭代次數,讀取已知交織信息并進行Turbo迭代譯碼。得出譯碼結果。
(3)將譯碼出的比特進行解擾處理,并進行CRC校驗,CRC校驗為CCITT-16校驗方式,驗證譯碼結果是否正確。

圖6 BGAN譯碼流程圖
實際項目研發中對BGAN的上下行鏈路按照以上譯碼算法進行了譯碼。
整個譯碼平臺采用上層VC平臺。前端通過處理FPGA處理后的解調信號數據,然后按照所設計譯碼算法在上層進行實時譯碼。
通過對BGAN上下鏈路中的全球波束、窄點波束以及上行三種不同典型類型的載波信號的解調數據進行譯碼,其參數如表1和表2所示。

表1 載波信號參數1 /個

表2 載波信號參數2 /個
針對三種所采集的不同類型實際鏈路信號數據,經過接收機和FPGA處理后得到IQ數據,在Matlab中采用所設計的譯碼器及譯碼算法進行譯碼,其部分譯碼結果分別如圖7、圖8、圖9所示。

圖7 全球波束
圖7為下行全球波束譯碼結果,其調制方式為QPSK調制,編碼符號為672個。其中,第一行為前線載波頭格式,第二行為整幀字節數,中間協議部分省略,最終的CRC校驗結果正確。將全球波束協議解析與已知協議完全比對,譯碼結果正確。

圖8 下行點波束
圖8為下行點波束譯碼結果,其調制方式為16QAM調制,編碼符號為1496個/FEC。第一行為前向載波頭格式,點波束一幀內部多個CRC校驗結果正確,點波束協議解析與已知協議完全比對,譯碼結果正確。

圖9 上行波束
圖9為上行波束譯碼結果,其調制方式為16QAM調制,編碼符號為112個。第一行為反向載波頭格式,中間為省略協議信息,最終CRC校驗結果正確。上行波束協議解析與已知協議完全比對,譯碼結果正確。
目前海事四代衛星鏈路通信在信號識別、解調上已經比較成熟,但在信號譯碼以及協議分析方面還處于研究階段,根據實際信號進行海事四代衛星的通信數據譯碼是本文的主要研究方向。本文研究了BGAN系統通信鏈路的數據幀結構以及編碼方式,并設計了相應的Turbo迭代譯碼器成功對上下行鏈路不同載波類型的信號數據進行了譯碼,結果表明譯碼器設計以及算法可以對實際BGAN系統信號進行完全正確譯碼。對衛星鏈路的數據譯碼應用有指導意義。同時,該設計方案并不局限于BGAN通信信號的譯碼應用,可推廣到使用其他通信衛星信號譯碼的系統中。