《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > LTE中卷積碼的譯碼器設計與FPGA實現(xiàn)
LTE中卷積碼的譯碼器設計與FPGA實現(xiàn)
電子設計工程
李冬冬 北京工業(yè)大學
摘要: 本文設計的譯碼器,利用Tail-biting卷積碼的循環(huán)特性,采用固定延遲的算法與維特比算法結合,使其硬件實現(xiàn)更簡單,采用并行結構以及簡單的回溯存儲器方法,顯著提高譯碼器速度。在設計各個子模塊時,優(yōu)化了硬件結構,減少占用資源和降低功耗,使其整體性能更優(yōu)。 本文設計的譯碼器在FPGA上實現(xiàn)和驗證,能達到135.78 MHz時鐘,該譯碼器達到了LTE系統(tǒng)所要求的122.88 MHz時鐘要求,達到了LTE系統(tǒng)所要求的整體性能,并已應用到ASIC芯片設計中。
關鍵詞: FPGA LTE 卷積碼 譯碼器
Abstract:
Key words :

摘要:基于長期演進(LTE)的Tail-biting卷積碼,介紹了維特比譯碼算法,它是一種最優(yōu)的卷積碼譯碼算法。由于Tail-biting卷積碼的循環(huán)特性,采用固定延遲譯碼的方法,降低了譯碼復雜度。通過使用全并行的結構及簡單的回溯存儲方法,設計了一個具有高速和低復雜度的固定延遲譯碼器。在FPGA上實現(xiàn)并驗證,驗證結果表明譯碼器的性能滿足了LTE系統(tǒng)的要求。
關鍵詞:LTE;Tail-biting卷積碼;維特比譯碼算法;固定延遲譯碼;FPGA

0 引言
    LTE(Long Term Evolution)是“準4G”的技術,以OFDM/FDMA和MIMO為其核心技術。它對實時業(yè)務、高可靠性業(yè)務和廣播級多播業(yè)務都能提供較好的支持。LTE在20 MHz頻譜帶寬下能夠提供下行100 Mb/s和上行50 Mb/s的峰值速率,高速率對信道編碼和譯碼技術提出了更高的要求。
    對于LTE低時延、高速率和高可靠性的要求,降低譯碼的實現(xiàn)復雜度和時延以及提高其可靠性對LTE系統(tǒng)性能就顯得極其重要,也是一個巨大的挑戰(zhàn)。

1 LTE中Tail-biting卷積碼
    卷積碼通常用(n,k,N)表示。其中k表示輸入編碼器的數(shù)據(jù)位數(shù);n表示編碼器輸出的數(shù)據(jù)位數(shù);N為編碼約束長度,R=k/n是卷積碼的碼率。
    LTE中使用的Tail-biting卷積碼編碼器結構如圖1所示。其約束長度N=7,碼率R=1/3。

a.jpg


    編碼器移位寄存器的初始狀態(tài)值被設置為相應的輸入數(shù)據(jù)流的最后6個信息比特,以至于移位寄存器的初始狀態(tài)和結束狀態(tài)相同。
    圖1中,D6D5D4D3D2D1表示編碼器的狀態(tài)索引(State Index);ck表示輸入數(shù)據(jù)比特;h.jpg表示輸出數(shù)據(jù)比特。
    卷積碼網(wǎng)格圖中的蝶形結構,如圖2所示。

b.jpg


    隨著編碼比特的輸入,編碼器狀態(tài)的轉移過程,由圖2可以看出,時刻t-1的兩個相關狀態(tài)Si和Sj轉移到時刻t的兩個狀態(tài)Sm和Sn。圖中,PM和BM分別表示路徑度量和分支度量,其中BM的下標為輸出比特h.jpg的組合。

2 Tail-biting卷積碼的譯碼算法
    維特比算法的實質是最大似然譯碼,它是在卷積碼的網(wǎng)格圖中尋找一條與編碼路徑最接近的最大似然路徑作為其最終譯碼輸出。在譯碼的每個時間單元,把網(wǎng)格圖上各個分支的度量加到前面狀態(tài)的路徑度量上,比較進入每個狀態(tài)的所有分支的度量,選擇具有最大度量的分支,即幸存路徑,迭代上述步驟,最終輸出最大似然路徑作為其譯碼輸出。
    維特比算法主要由三部分組成:分支度量(Branch Metric,BM)模塊、加比選(Add Compare Select,ACS)模塊和回溯(Trace Back,TB)模塊。
    直接運用維特比算法對Tail-biting卷積碼進行譯碼,其譯碼復雜度大,不利于硬件實現(xiàn)。為了能降低譯碼復雜度,用固定延時譯碼(Fixed Delay Decoding)算法,它是利用Tail-biting卷積碼的循環(huán)特性,也就是編碼輸入的開始部分能用來估計譯碼網(wǎng)格圖的最后狀態(tài),執(zhí)行譯碼操作用的固定延時。
    如有一段長為L的軟判決數(shù)據(jù),選擇原數(shù)據(jù)的后LH個軟判決比特,將其放置在數(shù)據(jù)頭部,選擇原數(shù)據(jù)的前LT個軟判決比特,將其放置在數(shù)據(jù)尾部,最后形成長為LH+N+LT的待譯碼軟判決數(shù)據(jù)。將它用Viterbi算法譯碼,在譯碼數(shù)據(jù)中丟棄前LH個比特和后LT個比特,即為所需譯碼數(shù)據(jù)。其中LH和LT分別稱為頭譯碼長度(Head Decoding Length)和尾譯碼長度(Tail Decoding Length),為此算法中需要決定這兩個重要參數(shù)。

3 譯碼器的設計與實現(xiàn)
    在譯碼器的設計中,采用固定延遲算法。首先對進入譯碼器之前的軟判決數(shù)據(jù)進行處理,如圖3所示。

c.jpg


    將其處理成圖中所示的待譯碼數(shù)據(jù)格式,其中DL是實際輸入的所需譯碼數(shù)據(jù)長度,PL為所需在數(shù)據(jù)中加的數(shù)據(jù)前綴長度,也即上述固定延遲算法中的頭譯碼長度,DD為所要達到的譯碼深度(Decoding Depth),DD-DL為所要加的后綴長度,即固定延遲算法中的尾譯碼長度。在設計中選擇PL為96,由于在LTE系統(tǒng)中DL是變化的,最大為76,不能夠選擇固定的尾譯碼長度,但在本文設計中選擇固定的DD為192。
    譯碼器的整體設計框圖,如圖4所示。圖中譯碼器主要由譯碼器系統(tǒng)控制模塊,分支度量(BM)模塊,加比選(ACS)模塊,回溯(TB)模塊和輸出緩存組成。

d.jpg


    數(shù)據(jù)處理由譯碼器系統(tǒng)控制模塊控制完成,它控制從輸入緩存中讀入數(shù)據(jù)進行譯碼。
    下面對譯碼器BM模塊、ACS模塊和TB模塊這三個核心模塊的具體設計與實現(xiàn)進行詳細介紹。
3.1 BM模塊
    在整個系統(tǒng)中分支度量采用的是軟判決數(shù)據(jù)。軟判決根據(jù)接收的的軟判決比特和編碼器網(wǎng)格圖的參考分支,計算其歐氏距離。一般的歐氏距離采用如下公式計算:
    e.jpg
    式中:ri為接收的軟判決比特;ci為編碼器網(wǎng)格圖的參考分支。上述公式經(jīng)簡化后結合系統(tǒng)所用軟判決數(shù)據(jù)特點,可以得到如下計算方法:
    f.jpg
    式中:Ri為接收的軟判決比特的絕對值;Ci∈{0,1)為參考分支比特。
3.2 BM模塊
    在每一個時鐘中,用得到的分支度量(BM)和路徑度量(PM)相加,得到下一時刻狀態(tài)的多個路徑度量,通過比較,選擇一個幸存分支。將每個狀態(tài)的幸存分支,存儲到回溯存儲器中,更新路徑度量。在設計中,存儲從數(shù)據(jù)段(即圖4中的Initial State)開始,在這之前的幸存分支不需存儲。同時,計算出64個狀態(tài)中,具有最小路徑度量的狀態(tài)。
    如果直接將前一狀態(tài)的路徑度量與分支度量相加,得到下一狀態(tài)的路徑度量,來選擇幸存分支,如圖2中,比較PMi+BMp和PMj+BMq選擇幸存分支。每個狀態(tài)2個加法器,64個狀態(tài)就需要128個加法器。
    由于網(wǎng)格圖的蝶形結構,可以比較PMi-PMj和BMq-BMp(即如果PMi+BMp>PMj+BMq,可以將其寫為PMi-PMj>BMq-BMp),這樣對于每一對相關狀態(tài)可以重復使用這兩項,在這個過程中需要用到32個加法器。通過這種方法,可以明顯減少ACS模塊中的加法器數(shù)量。
    更新路徑度量的操作設計如下,編碼器的狀態(tài)轉移過程如圖2中蝶形結構所示,蝶形結構中兩個相關狀態(tài)轉移到兩個新狀態(tài)。
    兩個相關狀態(tài)對應的用狀態(tài)索引分別為i=OD5D4D3D2D1和j=1D5D4D3D2D1,兩個新狀態(tài)可以分別表示為m=D5D4D3D2D10和n=D5D4D3D2D11。即,狀態(tài)i=0D5D4D3D2D1,如果輸入比特0,轉移到狀態(tài)m=D5D4D3D2D10,如果輸入是比特1,轉移到狀態(tài)n=D5D4D3D2D11;狀態(tài)j=1D5D4D3D2 D1,如果輸入比特0,轉移到狀態(tài)m=D5D4D3D2D10,如果輸入比特1,轉移到狀態(tài)n=D5D4D3D2D11。根據(jù)上面的轉移狀態(tài)關系,更新狀態(tài)的路徑度量。
    對于幸存分支的存儲表示,本文采取如下方法,狀態(tài)m=D5D4D3D2D10,如果由狀態(tài)i=0D5D4D3D2D1轉移而來,那么此幸存分支取狀態(tài)的最高有效比特0;如果由狀態(tài)j=1D5D4D3D2D1轉移而來,此幸存分支取狀態(tài)的最高有效比特1。同樣,狀態(tài)n=D5D4D3D2D11,如果由狀態(tài)i=0D5D4D3 D2D1轉移而來,此幸存分支用0表示;如果是由狀態(tài)j=1D5D4D3D2D1轉移而來,此幸存分支用1表示。每個時刻,經(jīng)過ACS選出64個狀態(tài)所對應的幸存分支,存入回溯存儲器。
3.3 BM模塊
    回溯算法,由于已經(jīng)將每個時鐘下所有狀態(tài)的幸存分支存儲在回溯存儲器里,在達到譯碼深度DD后,開始對整個幸存分支進行回溯,如圖3所示。當達到回溯深度(Trace Back Depth)后,幸存路徑就開始合并,就開始輸出譯碼數(shù)據(jù)。
    回溯指針是卷積碼編碼逆過程的狀態(tài)索引。回溯指針的具體建立過程如下:回溯開始時,由ACS中計算的最小度量狀態(tài)的狀態(tài)索引作為初始回溯指針,從回溯存儲器中讀出的所有64個狀態(tài)的幸存分支中,選出該回溯指針對應的幸存分支,形成下一個回溯指針,以此在回溯過程中循環(huán)向前,在每一時鐘中形成回溯指針。
    由幸存分支的存儲表示可以得出,回溯指針m=D5D4D3D2D10,如果該指針對應的幸存分支為比特0,那么下一個回溯指針為i=0D5D4D3D2 D1,如果對應的幸存分支為比特1,那么下一個回溯指針為j=1D5D4D3D2D1;同理,回溯指針n=D5D4D3D2D11,如果幸存分支為比特0,下一個回溯指針為i=0D5D4D3D2D1,如果幸存分支為比特1,那么下一個回溯指針為j=1D5D4D3DzD1。
    在該設計中,最重要的是譯碼深度(DD)的選擇,譯碼深度能夠決定所用的回溯存儲器得深度。結合數(shù)據(jù)前綴的固定延遲操作,采用一個單端口RAM(SPRAM),大小為96×128 b,如圖5所示。

g.jpg


    在一個譯碼周期里,數(shù)據(jù)前綴譯碼結束,從數(shù)據(jù)段(即圖3所示start state)開始,每2個時鐘往SPRAM里寫1次這兩個時鐘分別產(chǎn)生的幸存分支,共128 b,如圖5所示,即順序寫入數(shù)據(jù)R0R1,R2R3,R4R5,……,往SPRAM里寫數(shù)據(jù)共需192個時鐘。在達到譯碼深度后,開始回溯,讀出SPRAM里幸存分支,每個時鐘讀出兩個連續(xù)幸存分支,進行回溯指針的操作,在回溯深度后就會合并為一條幸存路徑,直到回溯完成,共需96個時鐘。在回溯的同時,如有數(shù)據(jù)輸入譯碼器,開始下一個周期的譯碼,在回溯操作從SPRAM讀數(shù)據(jù)的96個時鐘里,用來譯碼數(shù)據(jù)前綴,在數(shù)據(jù)段開始時往SPRAM里寫數(shù)據(jù),同時回溯操作的讀數(shù)據(jù)也已完畢。
    從SPRAM里讀出的數(shù)據(jù)R(DL+5)~R6(DL為數(shù)據(jù)長度)中的幸存路徑,即為譯碼比特,輸出到輸出緩存中。根據(jù)系統(tǒng)需要,譯碼比特輸出到輸出緩存完成后,一次將最終的譯碼數(shù)據(jù)輸出。

4 FPGA驗證
    該設計采用Verilog HDL語言編寫代碼,使用Quartus 9.0綜合,并在Altera公司的StratixⅢEP3SL340F151713型號的FPGA上驗證,該設計的譯碼器能達到135.78 MHz的速度,使用FPGA資源為4 992個ALUTs。

5 結語
    本文設計的譯碼器,利用Tail-biting卷積碼的循環(huán)特性,采用固定延遲的算法與維特比算法結合,使其硬件實現(xiàn)更簡單,采用并行結構以及簡單的回溯存儲器方法,顯著提高譯碼器速度。在設計各個子模塊時,優(yōu)化了硬件結構,減少占用資源和降低功耗,使其整體性能更優(yōu)。
    本文設計的譯碼器在FPGA上實現(xiàn)和驗證,能達到135.78 MHz時鐘,該譯碼器達到了LTE系統(tǒng)所要求的122.88 MHz時鐘要求,達到了LTE系統(tǒng)所要求的整體性能,并已應用到ASIC芯片設計中。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
正在播放亚洲| 亚洲欧洲一级| 亚洲国产婷婷香蕉久久久久久| 国产精自产拍久久久久久蜜| 欧美三区美女| 欧美日韩国产一区精品一区| 欧美精品1区2区| 欧美劲爆第一页| 欧美激情小视频| 欧美精品一区二区三区高清aⅴ| 麻豆国产精品va在线观看不卡 | 亚洲精品一区二区三区在线观看| 亚洲国产精品一区二区www| 欧美在线视频一区二区| 久久se精品一区精品二区| 欧美中文字幕久久| 亚洲国产欧美在线人成| 亚洲国产高潮在线观看| 亚洲国产日韩欧美一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲国产精品成人| 亚洲精品欧美| 亚洲视频中文字幕| 亚洲欧美另类在线| 久久国产欧美日韩精品| 久久天堂国产精品| 欧美顶级艳妇交换群宴| 欧美日韩久久| 国产精品成人v| 国产热re99久久6国产精品| 国内精品美女在线观看| 在线电影一区| 999在线观看精品免费不卡网站| 99在线精品视频| 亚洲欧美日本视频在线观看| 欧美在线观看日本一区| 亚洲日本理论电影| 一区二区三区黄色| 午夜亚洲影视| 久久嫩草精品久久久精品| 欧美大尺度在线| 欧美视频在线观看一区| 国产日韩欧美在线视频观看| 黑人巨大精品欧美一区二区| 亚洲人成亚洲人成在线观看图片| 这里是久久伊人| 午夜激情亚洲| 亚洲精品老司机| 午夜精品区一区二区三| 久久亚洲综合| 欧美日韩精品综合在线| 国产中文一区| 亚洲精品中文字| 欧美一级视频一区二区| 亚洲精品在线观看视频| 性欧美暴力猛交69hd| 欧美不卡视频| 国产精品视频福利| 在线电影一区| 亚洲在线视频网站| 亚洲人在线视频| 亚洲欧美日韩一区在线观看| 玖玖玖国产精品| 国产精品男女猛烈高潮激情| 怡红院精品视频| 亚洲女同精品视频| 亚洲精品视频在线观看网站| 欧美中文在线观看国产| 欧美国产极速在线| 国产伦一区二区三区色一情| 亚洲黄色一区二区三区| 欧美一区二区在线免费观看 | 亚洲欧美日韩区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 91久久亚洲| 新狼窝色av性久久久久久| 正在播放亚洲一区| 久久综合色天天久久综合图片| 国产精品草草| 亚洲三级网站| 亚洲欧洲一级| 久久精品人人做人人综合 | 亚洲国产成人精品久久久国产成人一区| 亚洲香蕉伊综合在人在线视看| 亚洲激情网站| 久久国产66| 国产精品视频1区| 一本到12不卡视频在线dvd| 亚洲国产一区二区视频| 久久av在线| 国产精品久久久久永久免费观看| 亚洲欧洲日产国产网站| 亚洲国产99| 久久高清一区| 国产精品一区在线观看你懂的| 日韩午夜激情av| 日韩午夜中文字幕| 美女成人午夜| 狠狠狠色丁香婷婷综合激情| 亚洲一区日韩| 亚洲欧美999| 欧美午夜精品一区| 99国产麻豆精品| 99精品国产热久久91蜜凸| 麻豆成人在线观看| 在线播放中文字幕一区| 欧美专区在线| 久久国产精品亚洲va麻豆| 国产精品视频精品视频| 亚洲视频精选在线| 亚洲午夜精品福利| 欧美日韩免费观看一区二区三区| 91久久精品www人人做人人爽 | 久久精品日韩一区二区三区| 国产精品网站在线播放| 亚洲一区免费在线观看| 午夜在线一区| 国产精品专区h在线观看| 亚洲一区二区高清视频| 亚洲欧美文学| 国产精品永久免费视频| 亚洲欧美成人| 久久精品国产精品亚洲综合| 亚洲精品护士| 亚洲一二三四区| 亚洲在线中文字幕| 欧美午夜视频网站| 亚洲视频一区在线| 小黄鸭视频精品导航| 国产精品自拍网站| 午夜一区在线| 久久久久免费| 在线精品在线| 亚洲精品资源| 欧美少妇一区| 亚洲一级在线观看| 久久国产精品99久久久久久老狼| 国产女主播一区二区三区| 欧美亚洲自偷自偷| 玖玖玖国产精品| 亚洲三级色网| 香蕉久久国产| 国内精品久久久久影院色| 亚洲国产日韩欧美综合久久 | 国产欧美短视频| 久久精品国产精品亚洲精品| 女人天堂亚洲aⅴ在线观看| 亚洲人成毛片在线播放| 亚洲永久免费视频| 欧美性事免费在线观看| 午夜精品剧场| 另类激情亚洲| 日韩亚洲国产精品| 欧美一区二区大片| 一区二区在线不卡| av不卡在线| 国产精品五月天| 亚洲黄网站黄| 欧美日韩亚洲一区| 亚洲欧美激情在线视频| 久久亚洲一区二区三区四区| 亚洲美女淫视频| 欧美亚洲日本网站| 在线观看亚洲一区| 亚洲一级特黄| 狠狠久久亚洲欧美专区| 中文日韩欧美| 国语自产精品视频在线看抢先版结局| 亚洲毛片在线看| 国产女人aaa级久久久级| 亚洲精品久久久久久下一站| 国产精品久久久久久久午夜片| 欧美专区日韩视频| 欧美日韩中文字幕在线| 久久aⅴ国产欧美74aaa| 欧美日韩八区| 欧美一级久久| 欧美日韩一区自拍| 亚洲国产精品成人| 国产精品日本| 亚洲美女av电影| 国产亚洲电影| 亚洲一级黄色| 亚洲国产日韩在线一区模特| 性欧美xxxx大乳国产app| 亚洲黄色成人久久久| 久久精品卡一| 一区二区三区日韩精品视频| 免费成人黄色| 午夜精品一区二区三区四区| 欧美国产欧美综合| 欧美在线精品一区| 国产精品久久久久久久久免费桃花| 亚洲日韩成人| 国产一区二区三区在线观看网站 | 亚洲作爱视频| 免费不卡在线观看| 欧美一区二区三区播放老司机| 欧美日一区二区三区在线观看国产免| 亚洲国产精品成人综合|