LTE中卷積碼的譯碼器設(shè)計(jì)與FPGA實(shí)現(xiàn)
摘要:基于長(zhǎng)期演進(jìn)(LTE)的Tail-biting卷積碼,介紹了維特比譯碼算法,它是一種最優(yōu)的卷積碼譯碼算法。由于Tail-biting卷積碼的循環(huán)特性,采用固定延遲譯碼的方法,降低了譯碼復(fù)雜度。通過(guò)使用全并行的結(jié)構(gòu)及簡(jiǎn)單的回溯存儲(chǔ)方法,設(shè)計(jì)了一個(gè)具有高速和低復(fù)雜度的固定延遲譯碼器。在FPGA上實(shí)現(xiàn)并驗(yàn)證,驗(yàn)證結(jié)果表明譯碼器的性能滿足了LTE系統(tǒng)的要求。
關(guān)鍵詞:LTE;Tail-biting卷積碼;維特比譯碼算法;固定延遲譯碼;FPGA
0 引言
LTE(Long Term Evolution)是“準(zhǔn)4G”的技術(shù),以O(shè)FDM/FDMA和MIMO為其核心技術(shù)。它對(duì)實(shí)時(shí)業(yè)務(wù)、高可靠性業(yè)務(wù)和廣播級(jí)多播業(yè)務(wù)都能提供較好的支持。LTE在20 MHz頻譜帶寬下能夠提供下行100 Mb/s和上行50 Mb/s的峰值速率,高速率對(duì)信道編碼和譯碼技術(shù)提出了更高的要求。
對(duì)于LTE低時(shí)延、高速率和高可靠性的要求,降低譯碼的實(shí)現(xiàn)復(fù)雜度和時(shí)延以及提高其可靠性對(duì)LTE系統(tǒng)性能就顯得極其重要,也是一個(gè)巨大的挑戰(zhàn)。
1 LTE中Tail-biting卷積碼
卷積碼通常用(n,k,N)表示。其中k表示輸入編碼器的數(shù)據(jù)位數(shù);n表示編碼器輸出的數(shù)據(jù)位數(shù);N為編碼約束長(zhǎng)度,R=k/n是卷積碼的碼率。
LTE中使用的Tail-biting卷積碼編碼器結(jié)構(gòu)如圖1所示。其約束長(zhǎng)度N=7,碼率R=1/3。
編碼器移位寄存器的初始狀態(tài)值被設(shè)置為相應(yīng)的輸入數(shù)據(jù)流的最后6個(gè)信息比特,以至于移位寄存器的初始狀態(tài)和結(jié)束狀態(tài)相同。
圖1中,D6D5D4D3D2D1表示編碼器的狀態(tài)索引(State Index);ck表示輸入數(shù)據(jù)比特;表示輸出數(shù)據(jù)比特。
卷積碼網(wǎng)格圖中的蝶形結(jié)構(gòu),如圖2所示。
隨著編碼比特的輸入,編碼器狀態(tài)的轉(zhuǎn)移過(guò)程,由圖2可以看出,時(shí)刻t-1的兩個(gè)相關(guān)狀態(tài)Si和Sj轉(zhuǎn)移到時(shí)刻t的兩個(gè)狀態(tài)Sm和Sn。圖中,PM和BM分別表示路徑度量和分支度量,其中BM的下標(biāo)為輸出比特的組合。
2 Tail-biting卷積碼的譯碼算法
維特比算法的實(shí)質(zhì)是最大似然譯碼,它是在卷積碼的網(wǎng)格圖中尋找一條與編碼路徑最接近的最大似然路徑作為其最終譯碼輸出。在譯碼的每個(gè)時(shí)間單元,把網(wǎng)格圖上各個(gè)分支的度量加到前面狀態(tài)的路徑度量上,比較進(jìn)入每個(gè)狀態(tài)的所有分支的度量,選擇具有最大度量的分支,即幸存路徑,迭代上述步驟,最終輸出最大似然路徑作為其譯碼輸出。
維特比算法主要由三部分組成:分支度量(Branch Metric,BM)模塊、加比選(Add Compare Select,ACS)模塊和回溯(Trace Back,TB)模塊。
直接運(yùn)用維特比算法對(duì)Tail-biting卷積碼進(jìn)行譯碼,其譯碼復(fù)雜度大,不利于硬件實(shí)現(xiàn)。為了能降低譯碼復(fù)雜度,用固定延時(shí)譯碼(Fixed Delay Decoding)算法,它是利用Tail-biting卷積碼的循環(huán)特性,也就是編碼輸入的開(kāi)始部分能用來(lái)估計(jì)譯碼網(wǎng)格圖的最后狀態(tài),執(zhí)行譯碼操作用的固定延時(shí)。
如有一段長(zhǎng)為L(zhǎng)的軟判決數(shù)據(jù),選擇原數(shù)據(jù)的后LH個(gè)軟判決比特,將其放置在數(shù)據(jù)頭部,選擇原數(shù)據(jù)的前LT個(gè)軟判決比特,將其放置在數(shù)據(jù)尾部,最后形成長(zhǎng)為L(zhǎng)H+N+LT的待譯碼軟判決數(shù)據(jù)。將它用Viterbi算法譯碼,在譯碼數(shù)據(jù)中丟棄前LH個(gè)比特和后LT個(gè)比特,即為所需譯碼數(shù)據(jù)。其中LH和LT分別稱為頭譯碼長(zhǎng)度(Head Decoding Length)和尾譯碼長(zhǎng)度(Tail Decoding Length),為此算法中需要決定這兩個(gè)重要參數(shù)。
評(píng)論