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