李智鵬 竇高奇
(海軍工程大學(xué)電子工程學(xué)院,湖北武漢 430033)
隨著物聯(lián)網(wǎng)(Internet of Things,IoT)等無(wú)線網(wǎng)絡(luò)的快速發(fā)展,超可靠低延遲通信(Ultra-reliable Low Latency Communication,URLLC)和大規(guī)模機(jī)器類型通信(Massive Machine-type Communication,mMTC)等新型服務(wù)類別成為近年來(lái)研究熱點(diǎn)。物聯(lián)網(wǎng)關(guān)鍵任務(wù)要求能夠以極低的延遲傳輸時(shí)間敏感的短塊控制信息。為了實(shí)現(xiàn)(~100 bit 左右)短數(shù)據(jù)塊的高可靠傳輸,近年來(lái),人們對(duì)短數(shù)據(jù)塊高效編碼的興趣再度升溫,基于現(xiàn)有編碼方案的短塊編碼設(shè)計(jì)和分析工作層出不窮[1-5]。
TBCC 作為短數(shù)據(jù)塊傳輸中的一種高效編碼,利用最后m個(gè)信息比特填充起始狀態(tài)寄存器,保證了編碼開(kāi)始和結(jié)束時(shí)的狀態(tài)相同,從而消除傳統(tǒng)卷積碼狀態(tài)歸零帶來(lái)的碼率損失,特別是構(gòu)造大約束長(zhǎng)度的高可靠短碼方面,相比傳統(tǒng)歸零卷積碼可以獲得明顯的編碼效率優(yōu)勢(shì)。咬尾編碼在中短碼長(zhǎng)時(shí)可以實(shí)現(xiàn)最佳最小距離編碼[6],并且TBCC 可以看作是一種循環(huán)編碼方式,自身循環(huán)特性在執(zhí)行繞維特比譯碼(Wrap-Around Viterbi Algorithm,WAVA)時(shí)等效于增長(zhǎng)碼長(zhǎng),在一定程度上能夠緩解碼長(zhǎng)變短帶來(lái)的損失。研究表明,對(duì)于較短的數(shù)據(jù)長(zhǎng)度(~100 bits),TBCC 的性能顯著優(yōu)于二進(jìn)制和非二進(jìn)制迭代編碼方案,其塊錯(cuò)誤率非常接近有限塊長(zhǎng)編碼的理論界[7]。因此TBCC 作為超可靠低延遲通信場(chǎng)景下的短碼傳輸?shù)氖走x碼型。
在短數(shù)據(jù)塊傳輸中,接收機(jī)為了能識(shí)別數(shù)據(jù)的起始位置,需要在編碼序列前加入一段訓(xùn)練序列用于幀同步。對(duì)于長(zhǎng)數(shù)據(jù)塊的通信系統(tǒng)中,幀同步訓(xùn)練開(kāi)銷相比數(shù)據(jù)長(zhǎng)度而言可以忽略不計(jì),但對(duì)于數(shù)據(jù)較短情況中,用于幀同步的訓(xùn)練導(dǎo)頻將占用短數(shù)據(jù)塊很大的開(kāi)銷,減少幀同步開(kāi)銷對(duì)于提高短數(shù)據(jù)塊傳輸效率具有重要意義。一種解決辦法是采用碼輔助的盲幀同步[8-11]。通過(guò)利用編碼序列的自身特性來(lái)捕獲正確的幀邊界。盲幀同步的好處在于保證傳輸速率不損失的前提下實(shí)現(xiàn)盲幀同步和譯碼聯(lián)合處理,特別是在短數(shù)據(jù)塊傳輸情況下這種優(yōu)勢(shì)表現(xiàn)的更為明顯。其代價(jià)是增加了接收機(jī)的解碼復(fù)雜度。
近些年來(lái),盲幀同步的研究一直集中在LDPC碼和Turbo 碼[12]等長(zhǎng)數(shù)據(jù)塊編碼上,對(duì)于短數(shù)據(jù)塊的TBCC 盲幀同步未涉及。文獻(xiàn)[8]針對(duì)LDPC 碼,采用了和積算法輸出比特似然比絕對(duì)值的平均值來(lái)捕獲幀邊界的盲幀同步方案,同時(shí)可以消除了軟相位帶來(lái)的誤差。在文獻(xiàn)[9]的盲幀同步方案將信道輸出的符號(hào)與LDPC 碼譯碼的軟符號(hào)相關(guān)聯(lián),從而找到正確的幀偏移量。文獻(xiàn)[10]中,提出了基于最大后驗(yàn)概率(Maximum A Posteriori,MAP)盲幀同步算法,該方案根據(jù)碼字的奇偶校驗(yàn)矩陣計(jì)算校驗(yàn)節(jié)點(diǎn)的對(duì)數(shù)似然比,并成功運(yùn)用到LDPC 碼和卷積碼的盲幀同步中。文獻(xiàn)[11]中在文獻(xiàn)[10]的基礎(chǔ)上,將盲幀同步拓展到準(zhǔn)循環(huán)LDPC 碼,提出了具有低復(fù)雜度有利于硬件實(shí)現(xiàn)的同步算法。
上述文獻(xiàn)中的碼輔助盲幀同步算法主要針對(duì)的是長(zhǎng)數(shù)據(jù)塊編碼,同步開(kāi)銷相對(duì)較小。而對(duì)于未來(lái)URLLC 和mMTC 等短數(shù)據(jù)塊傳輸應(yīng)用場(chǎng)景,同步將占據(jù)很大的資源開(kāi)銷,研究短數(shù)據(jù)塊下盲幀同步具有更加現(xiàn)實(shí)的意義。為了將盲幀同步適用于短塊傳輸,本文利用TBCC校驗(yàn)矩陣約束結(jié)構(gòu),將校驗(yàn)矩陣中關(guān)聯(lián)碼元的可信度納入當(dāng)前比特真實(shí)度量的計(jì)算范圍,并與TBCC譯碼相結(jié)合,累加節(jié)點(diǎn)矩陣中所有變量節(jié)點(diǎn)的真實(shí)度量作為該次幀同步度量,最后幀對(duì)齊位置會(huì)出現(xiàn)峰值,從而完成TBCC同步檢測(cè)和可靠譯碼。
本文組織結(jié)構(gòu)如下:第2 節(jié)介紹了盲幀同步的系統(tǒng)模型;第3 節(jié)結(jié)合應(yīng)用在LDPC 和Turbo 碼上的盲幀同步算法,對(duì)TBCC 的幀同步方式進(jìn)行優(yōu)化,提出了針對(duì)TBCC 短數(shù)據(jù)塊傳輸?shù)能浥袥Q盲幀同步算法;第4節(jié)是實(shí)驗(yàn)仿真,驗(yàn)證了本文算法相比于以往算法的優(yōu)越性;第5節(jié)為全文總結(jié)。
TBCC 可以用(n,k,m)表示其基本參數(shù),其中,k個(gè)比特通過(guò)約束長(zhǎng)度為m的線性移位寄存器輸出n位信息,其碼率為ρ=k/n。因?yàn)門BCC 可以看作是線性分組碼,這樣一個(gè)系統(tǒng)通常也可以用(M,K)塊碼的形式表示,其中K表示信息位,M表示塊長(zhǎng)。TBCC 在狀態(tài)間的轉(zhuǎn)移形式可以用網(wǎng)格圖來(lái)表示,設(shè)輸入信息比特長(zhǎng)度為kL*,通過(guò)編碼器后產(chǎn)生序列長(zhǎng)度為nL*,L*表示輸入信息的分組數(shù)量。每個(gè)時(shí)刻l都會(huì)產(chǎn)生2m個(gè)狀態(tài),其中1 ≤l≤L*+1。與卷積碼不同的是,TBCC 網(wǎng)格是一個(gè)循環(huán)網(wǎng)格,由2m個(gè)子網(wǎng)格組成,每個(gè)子網(wǎng)格開(kāi)始和結(jié)束于2m中任意一種狀態(tài)。圖1 展示了一個(gè)L*=8,四狀態(tài)的咬尾網(wǎng)格結(jié)構(gòu)。網(wǎng)格圖的重要性在于可以借助非常成熟的卷積碼譯碼算法。對(duì)于TBCC 譯碼可以采用經(jīng)典的WAVA 算法,它是一種復(fù)雜度較低的次優(yōu)最大似然譯碼方式,采用迭代譯碼的思想在循環(huán)網(wǎng)格上進(jìn)行多次拓展,通過(guò)遍歷所有子網(wǎng)格來(lái)連續(xù)探索序列的初始狀態(tài),最終找到一條度量最大且首尾狀態(tài)相同的路徑作為譯碼輸出。
信道選用均值為0,方差為N0/2 的AWGN 信道。調(diào)制方式采用BPSK 調(diào)制。將原始信息的長(zhǎng)度表示為K,編碼后信息序列幀長(zhǎng)設(shè)置為M。接收序列的N個(gè)采樣點(diǎn)表示為r=[r0,r1,…,rN-1],(N>M)。接收機(jī)從接收序列r中提取譯碼序列:
其中,wu是截取接收信號(hào)的滑動(dòng)同步窗口。長(zhǎng)度為M,其中u表示在接收信號(hào)中同步窗口的偏移位置。
原始編碼序列經(jīng)過(guò)AWGN 信道后,假設(shè)接收機(jī)已完成定時(shí)同步。盲幀同步的同步規(guī)則如圖2 所示。圖中粗邊框的表示受到隨機(jī)噪聲干擾后的編碼序列,每次同步窗口通過(guò)滑動(dòng)截獲長(zhǎng)度為M的碼字,執(zhí)行一次解碼并提取出有用信息。由圖可見(jiàn),在u=t0時(shí),同步窗口捕獲到正確的幀邊界。盲幀同步就是利用TBCC 分組準(zhǔn)循環(huán)碼的特性,通過(guò)校驗(yàn)矩陣約束條件,找到TBCC 的起始點(diǎn)位置,從而完成幀同步識(shí)別和譯碼,無(wú)需增加額外同步序列。
為了實(shí)現(xiàn)盲幀同步,首先利用TBCC 準(zhǔn)循環(huán)碼結(jié)構(gòu),得到TBCC 的校驗(yàn)矩陣H。設(shè)用同步窗口截?cái)嗖⒔?jīng)過(guò)二進(jìn)制判決后的序列為。則校驗(yàn)子s可以表示為:
其中轉(zhuǎn)置矩陣HT的大小為M×(M-K)。在無(wú)噪聲信道中,式(2)對(duì)應(yīng)的校驗(yàn)子全為零,即s=0。顯然不同步時(shí),輸入式(2)的校驗(yàn)結(jié)果不全為零,此刻可以判斷捕獲到了錯(cuò)誤的幀頭?;谶@簡(jiǎn)單判定規(guī)則,可以把它應(yīng)用到現(xiàn)有的TBCC盲幀同步中。
TBCC可以采用傳統(tǒng)卷積碼的SOVA 算法,在完成譯碼的同時(shí)輸出比特軟信息。
設(shè)原始發(fā)送的信息碼字為c=[c1,c2,…,cK],接收的碼字為w′,其對(duì)數(shù)似然比(Log-likelihood Ratio,LLR)為:
其中k=1,…,K。L(ck)的正負(fù)號(hào)代表硬判決值,其具體規(guī)則如下:
L(ck)的絕對(duì)值代表可信度,絕對(duì)值越大,硬判決的可信度越高。
TBCC 盲幀同步方案如圖3 所示。信息比特經(jīng)TBCC 編碼交織后進(jìn)行BPSK 調(diào)制,通過(guò)信道緩存滿M個(gè)碼字后解交織,在譯碼的同時(shí)計(jì)算出似然度并驗(yàn)證校驗(yàn)方程,最后識(shí)別出正確的幀序列,輸出譯碼。
信息比特經(jīng)過(guò)TBCC 編碼后,調(diào)制之前需要通過(guò)一個(gè)隨機(jī)交織器。這主要是為了消除同步識(shí)別位置附近的斜坡現(xiàn)象[9],以便識(shí)別器能更精準(zhǔn)捕獲同步位置。因?yàn)橹挥性趲瑢?duì)齊的位置解交織才能恢復(fù)到發(fā)送前的比特順序。
對(duì)于每段經(jīng)過(guò)硬判決后的緩存序列,計(jì)算其校驗(yàn)方程,對(duì)應(yīng)的校驗(yàn)子可以表示為
轉(zhuǎn)置矩陣HT的每一列可以看作是M維向量,當(dāng)它與緩存序列相乘后,如果滿足約束條件,則校驗(yàn)為0;否則結(jié)果為1。如果緩存序列連續(xù)滿足K個(gè)校驗(yàn)方程,可以判斷捕獲到正確的信息。因此,滿足約束方程的數(shù)量可以作為盲幀同步的依據(jù)。圖4展示了TBCC 在理想信道下的不同偏移量與滿足約束所占比的關(guān)系,滿足約束所占比等于滿足約束方程的數(shù)量除以檢查約束方程的總量??梢?jiàn),在正確幀偏移量的位置會(huì)出現(xiàn)一個(gè)尖銳的峰值。
與文獻(xiàn)[9]中提到的方法對(duì)比發(fā)現(xiàn),在中長(zhǎng)碼的情況,基于校驗(yàn)矩陣檢測(cè)滿足約束所占比的方法,在無(wú)噪聲信道中,幀不同步時(shí)滿足約束所占比總是維持在0.5左右。而當(dāng)碼長(zhǎng)度縮短為原來(lái)的十分之一后,滿足約束所占比發(fā)生了劇烈的起伏,這種過(guò)大的起伏在噪聲信道中顯然會(huì)對(duì)同步檢測(cè)帶來(lái)干擾。因此,這種方法已不適短TBCC 盲幀同步。
借鑒文獻(xiàn)[8]和文獻(xiàn)[9]所提到的方法,能初步解決TBCC 對(duì)于未知序列幀邊界的確定問(wèn)題。具體策略則是通過(guò)累加滿足校驗(yàn)方程比特可信度的方式估計(jì)同步位置,具體計(jì)算公式如下:
由此捕捉正確的幀邊界。
上一節(jié)提到的硬判決方案運(yùn)用了比特可信度,因?yàn)檎_比特的數(shù)量和對(duì)應(yīng)可信度大小可以作為判定是否對(duì)齊的標(biāo)志。但由于采用的是硬判決,單純利用分組碼校驗(yàn)矩陣的檢錯(cuò)特性,卻忽略了卷積碼碼字之間的相關(guān)性,自然會(huì)帶來(lái)同步性能的損失。采用硬判決譯碼輔助同步的TBCC 由于碼長(zhǎng)較短,檢驗(yàn)方程的數(shù)量偏少,造成同步識(shí)別性能大幅降低。因此本文利用卷積碼SOVA 提出基于軟判決盲幀同步算法,結(jié)合可信度充分挖掘出校驗(yàn)矩陣中的軟信息。
TBCC 的編碼方式具有記憶性,顯然之前提到的方法僅僅依靠硬判決得出的碼字是不可靠的。這時(shí)候就需要譯碼器將一段連續(xù)的碼字關(guān)聯(lián)起來(lái),通過(guò)譯碼器尋找出TBCC 的最佳咬尾路徑,恢復(fù)出編碼后的信息位和冗余位,再送入校驗(yàn)矩陣進(jìn)行后續(xù)操作。利用咬尾路徑來(lái)恢復(fù)發(fā)送端TBCC 編碼后的信息位和冗余位稱為軟判決。圖5是一個(gè)四狀態(tài)的路徑回溯網(wǎng)格圖,P1是最佳咬尾路徑,軟判決已在它的路徑上已標(biāo)出,軟判決得到的序列將用于后續(xù)同步位置估計(jì)。
基于軟判決的同步算法如下:
步驟1根據(jù)WAVA 算法譯碼路徑,對(duì)截獲序列進(jìn)行軟判決。
步驟2將軟判決后的序列與HT逐列點(diǎn)乘后得到節(jié)點(diǎn)矩陣Q??梢杂霉剑?)形式化表達(dá)為
其中qk和hk分別是Q和HT的列向量,即
步驟3由下列公式依次計(jì)算
當(dāng)前比特的真實(shí)度量為:
bk表示Q矩陣中第k列中1元素的個(gè)數(shù),kj表示第k列第j個(gè)元素為1的位置,表示向上去整。
公式(12)將每一幀的各碼字的真實(shí)度量累加求平均值,得到了當(dāng)前偏移位置的幀指示值。最后根據(jù)公式(13)很容易找到正確的同步指示位置。
將Q矩陣的每一列相加再作模2 運(yùn)算,即可簡(jiǎn)化為公式(5)定義的校驗(yàn)子形式。不難發(fā)現(xiàn),相比于硬判決方案,軟判決方案一定程度上能降低幀邊界判定的模糊性。
盲幀同步算法的思想是逐一對(duì)單個(gè)碼元的所有約束節(jié)點(diǎn)進(jìn)行檢驗(yàn),每個(gè)碼元需要校驗(yàn)的約束節(jié)點(diǎn)包括當(dāng)前碼字和編碼時(shí)的m個(gè)狀態(tài)位,如果所有的校驗(yàn)方程都滿足,則會(huì)得到一個(gè)有效的解碼信息。轉(zhuǎn)置矩陣HT中等于1 的元素可以理解為允許該位置的碼元輸入校驗(yàn)方程。
節(jié)點(diǎn)矩陣Q是由軟判決序列與HT矩陣中每一列點(diǎn)乘得到的,因此矩陣中只含有0和1元素。Q矩陣中1 元素表示該位置的碼字(即1 元素的橫坐標(biāo)對(duì)應(yīng)位置的碼字)對(duì)當(dāng)前碼字(當(dāng)前縱坐標(biāo)對(duì)應(yīng)的碼字)校驗(yàn)產(chǎn)生了影響,由于校驗(yàn)矩陣校驗(yàn)的方式是奇偶校驗(yàn),當(dāng)Q矩陣同一列1 的元素的個(gè)數(shù)為奇數(shù)時(shí),則說(shuō)明校驗(yàn)錯(cuò)誤。此時(shí)用負(fù)數(shù)來(lái)表示當(dāng)前碼元的不可信程度;當(dāng)1元素的個(gè)數(shù)為偶數(shù)時(shí),說(shuō)明滿足校驗(yàn),因此應(yīng)該對(duì)當(dāng)前碼元關(guān)聯(lián)的約束節(jié)點(diǎn)的可信度進(jìn)行累加作為該碼元的真實(shí)可信度,最后再對(duì)該次解碼所有變量節(jié)點(diǎn)的真實(shí)度量求和。通過(guò)對(duì)所有可能序列逐一檢測(cè),正確同步時(shí)會(huì)比未同步時(shí)擁有更大的幀指示值,由此分離出真實(shí)的信道觀測(cè)符號(hào)。
對(duì)TBCC 盲幀同步在短數(shù)據(jù)塊傳輸中的性能進(jìn)行蒙特卡羅仿真。本文編碼方式采用的是遞歸系統(tǒng)TBCC,并引入幀同步錯(cuò)誤率(Frame Synchronization Error Rate,F(xiàn)SER)作為衡量同步性能的標(biāo)準(zhǔn),它等于同步漏掉的幀數(shù)除以測(cè)試的總幀數(shù)。在本節(jié)中,我們將在AWGN 信道模型下,將本文提出的軟判決同步算法與硬判決方案進(jìn)行比較,分析不同約束長(zhǎng)度m和不同碼長(zhǎng)情況下的TBCC 的同步性能。最后與理想同步的幀錯(cuò)誤率(Frame Error Rate,F(xiàn)ER)進(jìn)行比較,得出結(jié)論??紤]到接收機(jī)對(duì)于接收信號(hào)是完全未知,本文采樣點(diǎn)選取N=3M,并且為了更好的識(shí)別出幀同步指示值,設(shè)置了一個(gè)判決門限γ,在一定偏移量搜索范圍內(nèi),當(dāng)時(shí)判定為找到了此刻幀同步位置。判決門限的確定可以根據(jù)以下推導(dǎo):設(shè)φa(γ)表示在非幀同步位置的虛警概率,φb(γ)表示在幀同步位置時(shí)的漏檢概率,兩者的大小都與門限γ的設(shè)置有關(guān),可以表示出理論的幀同步錯(cuò)誤率為
要得到最優(yōu)門限值γ,應(yīng)該使得FSER最小,即
圖6 給出了(192,96)的TBCC 在m=4 和m=8 時(shí)漏同步100幀的FSER 曲線,碼率ρ=1/2,其中m=4和m=8 使用的生成多項(xiàng)式用八進(jìn)制的形式表示分別為(23,35)和(515,677)。可以發(fā)現(xiàn)基于軟判決的同步方案明顯好于硬判決,在FSER 等于10-3時(shí),m=4的TBCC能有大約0.4 dB的增益,m=8時(shí)增益能達(dá)到0.6 dB。甚至在Eb/N0大 于2.5 dB 時(shí),m=8 的TBCC 使用軟判決同步方案,得到的FSER 比m=4 的硬判決同步方案低??梢钥闯黾s束長(zhǎng)度的增加會(huì)明顯降低盲幀同步正確捕獲幀邊界的概率,這是由于盲幀同步自身判定同步規(guī)則決定的,因?yàn)門BCC約束長(zhǎng)度的增加,在譯碼性能得到提高的同時(shí),非同步位置的碼字相關(guān)性也會(huì)增強(qiáng),最后在每個(gè)偏移位置計(jì)算得到的似然比信息最大的概率也會(huì)提升,即使這一幀譯碼是錯(cuò)誤的。也就是說(shuō),m增加的同時(shí)幀邊界的捕獲難度也會(huì)加大。
圖7顯示了在不同信息長(zhǎng)度K下,ρ=1/2,m=4和m=8 的TBCC 的軟判決方案漏同步100 幀的同步性能,隨著碼長(zhǎng)增加,F(xiàn)SER 有著大幅度降低。說(shuō)明增加碼長(zhǎng),在一定程度上能減少捕捉到錯(cuò)誤同步位置的概率,其代價(jià)是盲幀同步需要耗費(fèi)更多的時(shí)間來(lái)找到正確的幀對(duì)齊位置。
為了驗(yàn)證軟判決方案在理想通信系統(tǒng)中的可行性,圖8 仿真了盲幀同步和理想同步下錯(cuò)50 幀的FER。m=4,K=96,ρ=1/2的TBCC在Eb/N0大于2.5 dB時(shí),軟判決的同步方案與理想同步得到的曲線幾乎相同。當(dāng)m=8時(shí),由圖7可知,其盲同步錯(cuò)誤的幀數(shù)將會(huì)增加,在Eb/N0大于4 dB 時(shí),可以達(dá)到與理想同步一致的性能。
綜上看出,采用盲幀同步譯碼會(huì)導(dǎo)致實(shí)際譯碼性能在一定程度上的下降,下降的程度與約束長(zhǎng)度m有關(guān)。但盲幀同步作為能消除幀同步開(kāi)銷的一種方法,在短數(shù)據(jù)塊的傳輸中能夠傳遞更多有用信息,對(duì)于需要減少冗余信息且傳輸受限的應(yīng)用場(chǎng)景,不失為一種可以選擇的方式。
為了提高信息傳遞效率,本文針對(duì)短數(shù)據(jù)塊傳輸提出了TBCC 譯碼輔助的軟判決盲幀同步方案,通過(guò)構(gòu)造節(jié)點(diǎn)矩陣的方式,更精確的計(jì)算出每個(gè)偏移位置的幀度量,相比于硬判決方案,一定程度上減少了漏同步概率。最后通過(guò)仿真發(fā)現(xiàn),在一定信噪比下接近理想同步性能,驗(yàn)證了該算法在實(shí)際短塊傳輸中的可行性。目前URLLC 和mMTC 等新型服務(wù)類別主要以短數(shù)據(jù)塊傳輸為主,該盲幀同步方案結(jié)合短塊高效TBCC 譯碼,在保證了優(yōu)良的同步性能的同時(shí)能夠充分發(fā)揮出TBCC 譯碼性能,具有很高的實(shí)際應(yīng)用價(jià)值。