《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > LTE系統中Turbo編碼的研究與DSP實現
LTE系統中Turbo編碼的研究與DSP實現
來源:電子技術應用2011年第8期
李小文,許 虎
(重慶郵電大學 通信與信息工程學院,重慶400065)
摘要: 通過對常用Turbo編碼原理的研究分析,提出了一種簡單有效的Turbo編碼實現方案,該方案已經在TMS320C64× DSP中實現。將Turbo編碼程序在CCS3.3中運行,驗證了方案的可行性、高效性。該方案已應用于LTE-TDD無線綜合測試儀表的開發中。
中圖分類號: TN929.5
文獻標識碼: A
文章編號: 0258-7998(2011)08-0059-04
Research and DSP realization of Turbo coding in LTE system
Li Xiaowen,Xu Hu
School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract: Research and analysis on the commonly used Turbo coding principles,a simple and effect implementation appoach is proposed in this paper and implemented in the TMS320C64x DSP. The running results of the Turbo code program in CCS3.3 verify that the program is feasible and effective. The program has been applied to the development of LTE-TDD wireless integrated test instrument.
Key words : LTE;Turbo;circular convolution code;look-up-table;DSP realization


    信道編碼是消除或降低信息傳輸錯誤概率的有效手段之一。根據Shannon有噪信道編碼定理,在信道傳輸速率R不超過信道容量C的前提下,只有在碼組長度無限的碼集合中隨機地選擇編碼碼字并且在接收端采用最大似然譯碼算法時,才能使誤碼率接近為零。Turbo編碼[1]巧妙地將卷積碼和隨機交織器結合在一起,獲得了接近Shannon理論極限的譯碼性能。
    Turbo碼又稱并行級聯卷積碼PCCC(Parallel Concatenated Convolutional Code),它將卷積碼和隨機交織器結合,實現了隨機編碼的思想,在實現隨機編碼思想的同時,通過交織器實現了由短碼構造長碼的方法。Turbo碼由分量碼經由交織器級聯而成。分量碼和交織器設計的好壞是決定Turbo碼性能的關鍵因素。Turbo碼的提出,不僅提供了一個性能優越的編碼方法,還更新了編碼理論研究中的一些概念和方法。由于Turbo碼具有接近Shannon理論極限的性能[2],尤其是低信噪比下的優異性能,使Turbo碼成為第三代移動通信高質量、高速率信道中的首選編碼方法。
1 LTE系統中的Turbo編碼
    LTE作為準4 G技術,以正交頻分復用OFDM和多輸入多輸出MIMO技術為基礎,下行采用正交頻分多址(OFDM)技術,上行采用單載波頻分多址(SC-FDMA)技術,在20 MHz頻譜帶寬下能夠提供下行100 Mb/s與上行50 Mb/s的峰值速率。
    在LTE系統中,Turbo編碼主要應用于上行共享信道、下行共享信道、尋呼信道和多播信道的信道編碼[3]處理。由MAC層傳來的數據和控制信息比特流經過添加CRC以及碼塊分割后進入編碼單元,編碼完成后進行速率匹配[3-4]。
 0。為了讓編碼器從0狀態開始且編碼之后回到0狀態,編碼后的輸出比特數為D=K+4,最后的4個比特被稱為柵格停止尾比特。Turbo編碼器結構如圖1 所示。

2 Turbo編碼算法分析
    Turbo編碼原理相對簡單,主要由兩個子編碼器和內交織器組成。每次輸入一個碼塊數據流,兩個子編碼器結構一樣,可以并行處理,其中輸入在進入第二個編碼器之前要先進入一個交織單元,經交織后作為輸入比特序列,然后進入第二個編碼器處理[2]。輸出三路數據,分別為信息比特流、校驗比特流1、校驗比特流2。本文提出采用查表法來實現Turbo編碼的算法。
    具體算法描述如下:
    (1)碼塊分割完后可能出現不同碼塊大小(K+,K-),算法采用每個碼塊單獨處理。所以需要定義一個標識來查表當前碼塊需要交織時的參數。
    (2)Turbo編碼時有反饋的影響,即每個輸入比特與反饋值做了“異或”后才能作為移位寄存器的下一個狀態,故在實際DSP實現過程中使用了逐位比特處理的方式。
    (3)由于Turbo編碼器上下兩部分處理方法一樣,所以在處理上半部分編碼器時同時并行處理下半部分,而下半部分輸入是經過交織之后的輸出比特序列。
    (4)根據不同的f1和f2可以有不同的結果。f1和f2一共有188種配對,規律性低,本文只能采用一比特一比特按照公式計算出對應位置,然后進行交織。
    (5)采用查表的方式,每輸入一個比特加上現在寄存器里面的3個比特作為一個狀態(一共4個比特16種狀態,輸入比特作為最低位),可以查出一個輸出比特和下一個寄存器狀態。
    (6)在尾比特的處理上,每一路的最后3位尾比特與輸入無關,只與現在寄存器的狀態有關(3 bit 一共8種狀態)。本文全部列出了8種狀態下可能出現的結果。在DSP實現功能時直接判斷現在的寄存器處于哪種狀態,然后利用查表可以得出3個尾比特。
    (7)最后對四路輸出的尾比特(3×4=12 bit)按標準做一個賦值處理,然后移位接到之前的比特序列中去就可以得到最終的三路輸出比特序列。
3 Turbo編碼算法的DSP實現
3.1 硬件

    TMS320C6000系列DSP是TI公司推向市場的高性能DSP,綜合了目前性價比高、功耗低等優點。TMS320C64系列在TMS320C6000×DSP芯片中處于領先水平,它不但提高了時鐘頻率,而且在體系結構上采用了VelociTI 甚長指令集VLIW(Very Long Instruction Word)結構[5],芯片內有8個獨立功能單元的內核,每個周期可以并行執行8條32 bit指令,最大峰值速度為4 800 MIPS,2組共64個32 bit通用寄存器,32 bit尋址范圍,支持8/16/32/40 bit的數據訪問,芯片內集成大容量SRAM,最大可達8 Mbit。由于其出色的運算能力、高效的指令集、大范圍的尋址能力,使其特別適用于無線基站、測試儀表等對運算能力和存儲量要求高的應用場合。

 


3.2 Turbo編碼的DSP實現
    由于碼塊分割完之后可能出現不同碼塊大小(K+,K-),所以本模塊按每個碼塊單獨處理。Turbo編碼是作為一個子函數模塊,因此,本方案定義輸入輸出變量及其調用格式如表1所示。

    調用格式:Turbo_Code(int*,int,int,char*,int*),其中int分別表示TxSegOutTurboIn為輸入序列的首地址、TxTurboCodeBitLen;int*分別表示TxSegOutTurboInOffset、TxTurboInterMatrixRows;char*表示TxTurboDataOut為輸出序列首地址。
    具體實現流程描述如下:Turbo編碼時有反饋的影響,即每個輸入比特與反饋值做了“異或”后才能作為移位寄存器的下一個狀態,故在實際DSP實現過程中使用了逐位比特處理的方式。C語言編寫主函數main( ),使用匯編編寫Turbo編碼的實現函數。因為DSP C6455可以直接存取處理32bit,在具體實現中,輸入編碼比特序列、輸入序列比特長度K、用于計算交織查表的指數可以作為函數的輸入。在內存中定義了三段長度為碼塊K+4的Xk、Zk、Zkp作為暫時存放輸出序列的內存空間,并且建立了4張查找表,分別為:(1)交織表格TxInterleaver,交織表格TxInterleaver占用內存空間為188 B,每個字有32 bit,碼塊長度K、f1、f2各自所占比特為13、9、10;(2)寄存器狀態和輸出比特表格turbo_coding,一共4個比特16種狀態,占用16個字;(3)尾比特狀態和輸出比特表格1turbo_Xk_tail,一共3個比特8種狀態,占用4個字;(4)尾比特狀態和輸出比特表格2turbo_Zk_tail,一共3個比特8種狀態,占用4個字。
    定義一個標識來查表當前碼塊需要交織時的參數,這樣不僅減少任務繁瑣,而且減少了系統的代碼量,更給代碼測試和維護降低了難度。在匯編函數中,利用32作為內循環次數,可以處理完一字(32 bit)就存放在寄存器中。外循環次數使用輸入比特所占的雙字個數N-1來控制,而可能出現的多出的比特數則需要另作一次(N-32×N)的循環,得到編碼結果。
    外循環中,在每次內循環之前從輸入比特序列中取出32 bit輸入比特放入一個寄存器作為一個內循環的輸入,這次內循環結束后,取出下一個32 bit輸入比特更新這個寄存器,為下一次內循環做準備。每次內循環結束之后,將編碼好的32 bit做好存放處理,同時控制外循環次數的寄存器減1,直到循環結束。
    內循環中,編碼過程采用查表的方式,每輸入一個比特加上現在寄存器里面的3個比特作為一個狀態,一共4個比特16種狀態,輸入比特作為最低位,可以查出一個輸出比特和下一個寄存器狀態。需要注意的是,考慮到下面的速率匹配中需要加入null bit而1 bit的信息不能表示出null bit,所以輸出1 bit的信息就用8 bit的內存空間來存放。考慮到Turbo編碼器上下兩部分處理方法一樣,所以在處理上半部分編碼器時同時并行處理下半部分,而下半部分輸入是經過交織之后的輸出比特序列。圖2給出了Turbo編碼實現編碼流程圖。

    值得注意的是,交織器是Turbo編碼的重要部分,Turbo編碼交織器采用二次多項式(QPP)交織器,其位置對應關系如下:π(x)=(f1x+f2x)  mod  K

所以可以得出:在DSP中實現時可以不使用乘法和除法取得對應位置,代替使用比較、加法和移位來獲得相應的對應位置。
    具體做法如下:
    (1)根據不同的f1、f2可以有不同的結果,f1、f2一共有188種配對,規律性低,本文只能采用一比特一比特按照公式計算出對應位置,然后進行交織。
    (2)輸入比特序列作為交織塊的輸入,其長度K用來控制交織的循環次數。因為在DSP C6455中寄存器的大小為32 bit,這里32也作為一個循環次數,控制以整雙字處理完之后的存取。
    (3)進入循環之后,首先判斷&pi;(x)和g(x)的值是否大于或等于輸入比特序列長度K,如果&ge;K,應該減去K之后再次判斷,直到<K之后,進入下一階段。因為在DSP中存取比特都只能在32 bit之內處理,所以還要判斷&pi;(x)的值是否小于32,如果不是,則需要減去32,同時在控制雙字偏移的寄存器需要加1,使取值指針指向下一個雙字,以達到從下一個雙字中取值的目的。此時需要繼續做判斷直到&pi;(x)<32為止。
    (4)得到了控制雙字偏移的值和比特偏移的值&pi;(x)之后,便可以從內存中輸入的比特序列中取出一個比特作為交織之后的輸出比特。通過&ldquo;異或&rdquo;移位,完成32次循環之后,寄存器32 bit可以剛好存放下32 bit交織輸出比特,然后存放進內存。注意每做一次交織比特,控制輸入總長度的寄存器應該減1直到為0時,跳出交織循環,存放輸出數據,完成交織。
4 性能分析與總結
    在DSP軟件實現中,通過指令并行,盡量優化程序循環體,減少或消除程序中的&rsquo;NOP&rsquo;指令[6]。對于不同大小的碼塊長度,根據所用的環境,通過程序仿真運行,可以得到統計結果如表2所示。

    表2數據長度僅為個別舉例,但不失一般性。從表中可以看出,雖然查表法的運算量較大,但是當運用TMS320C64&times; DSP芯片實現時,由于處理器的超高主頻一般為1 GHz,一個指令周期耗時為1 ns,其運算速率也非常快,完全可以忽略它的計算量。因此,本實現方案采用查表法不僅簡化了程序實現方法,還減少了模塊程序代碼,節約了系統存儲空間。
    本文從理論分析出發,根據TD-LTE系統特性,提出了一種簡單有效的Turbo編碼實現算法,詳細介紹了該算法在DSP的實現方法,并在TMS320C64&times;芯片上加以實現。程序運行結果表明,該算法能夠滿足TD-LTE系統的需求,具有可行性和高效性,并已應用于LTE-TDD無線綜合測試儀表的開發中。
參考文獻
[1] 王新梅.糾錯碼原理與方法[M].西安:西安電子科技大學出版社,2003.
[2] BERROU C,GLAVIEUX A,PUNYA T.Near shannon limit  error-correcting coding and decoding:TurboCodes[C].IEEE  International Conference Communications,1993.
[3] 3GPP TS 36.212 v9.0.0 evolved universal terrestrial radio access(E-UTRA) multiplexing and channel coding (Release 9)[S].2009-12.
[4] JIM Z.Overview of the 3GPP long term evolution physical  layer[J].2007(7).
[5] Texas Instruments Incorporated.TMS320C64x/C64x+DSP CPU and instruction set referenceguide[EB/OL].Http://www.ti.com.cn,2008.
[6] Texas Instruments Incorporated.TMS320C6000系列DSP編程工具與指南[M].田黎育,何佩琨,朱夢宇,譯.北京:清華大學出版社,2006:32-50.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久狠狠亚洲综合| 欧美精品一区二区三区四区| 亚洲国产精品欧美一二99| 亚洲欧美日韩综合| 亚洲午夜电影在线观看| 日韩西西人体444www| 91久久综合亚洲鲁鲁五月天| 在线观看福利一区| 激情小说另类小说亚洲欧美 | 亚洲国产精品一区在线观看不卡| 精品不卡视频| 亚洲二区在线视频| 亚洲国产一二三| 亚洲精品1区| 亚洲免费久久| 一区二区三区欧美日韩| 亚洲天堂av综合网| 亚洲欧美日韩网| 性欧美大战久久久久久久免费观看 | 国产欧美日韩专区发布| 国产无一区二区| 狠狠综合久久| 亚洲国产网站| 一区二区三区免费看| 午夜精品999| 久久精品成人一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲人成网在线播放| 日韩视频免费观看| 亚洲视频在线观看三级| 性做久久久久久久久| 久久精品一区二区三区不卡牛牛| 久久综合中文| 欧美日本中文字幕| 国产精品人人爽人人做我的可爱| 国产色视频一区| 亚洲成人在线网站| 一本色道久久综合亚洲精品婷婷| 亚洲一区二区3| 久久国产色av| 一区二区三区三区在线| 欧美一区二区日韩| 欧美福利视频| 国产伦精品一区二区三区| 雨宫琴音一区二区在线| 日韩一级成人av| 欧美一区亚洲二区| 99在线|亚洲一区二区| 篠田优中文在线播放第一区| 麻豆成人91精品二区三区| 欧美日本亚洲| 国内视频精品| 国产精品99久久久久久久vr| 亚洲福利电影| 亚洲欧美综合精品久久成人| 美日韩精品免费| 国产精品极品美女粉嫩高清在线| 精品1区2区| 亚洲午夜久久久久久久久电影网| 欧美在线网址| 亚洲一区二区黄色| 美女精品在线观看| 国产精品日本| 亚洲欧洲在线免费| 性做久久久久久久免费看| 亚洲免费成人av| 久久www免费人成看片高清| 欧美高清免费| 国产一区二区三区不卡在线观看| 亚洲九九精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久精品日产第一区二区| 欧美片在线观看| 黄色成人免费网站| 亚洲在线黄色| 一区二区三区日韩在线观看| 久久综合伊人| 国产欧美一区在线| 一本大道av伊人久久综合| 亚洲国产成人porn| 性欧美暴力猛交另类hd| 欧美日韩a区| 1000精品久久久久久久久| 亚洲欧美另类在线观看| 99精品视频免费观看| 久久这里只有| 国产欧亚日韩视频| 一区二区三区成人精品| 亚洲欧洲日本专区| 久久久精品国产免大香伊| 国产精品久久久999| 亚洲精品一区二区网址| 亚洲精品1区| 久久嫩草精品久久久精品一| 国产欧美日韩91| 亚洲天堂av综合网| 亚洲一区精品视频| 欧美日韩精品在线视频| 亚洲黄网站在线观看| 久久精品噜噜噜成人av农村| 欧美在线一二三区| 国产精品每日更新| 亚洲午夜黄色| 亚洲图片欧美日产| 欧美视频免费看| 99视频有精品| 中文亚洲视频在线| 欧美日韩一区高清| 日韩网站免费观看| aa成人免费视频| 欧美精品1区| 亚洲日本视频| 日韩一区二区福利| 欧美精品18+| 日韩天堂av| 亚洲综合成人婷婷小说| 欧美性大战xxxxx久久久| 99精品视频免费在线观看| 一区二区高清视频| 欧美日韩精品久久久| 亚洲免费激情| 亚洲一区二区在线观看视频| 欧美日韩一级大片网址| 一区二区高清视频在线观看| 这里只有精品在线播放| 国产精品国产精品| 亚洲综合第一| 久久久久久久综合| 激情婷婷久久| 亚洲六月丁香色婷婷综合久久| 欧美激情一区二区在线 | 欧美一进一出视频| 欧美日韩岛国| 亚洲美女电影在线| 亚洲一级特黄| 国产精品免费看片| 欧美一级日韩一级| 久久一区免费| 亚洲国产高清高潮精品美女| 亚洲精华国产欧美| 欧美片网站免费| 中文亚洲视频在线| 欧美在线观看网址综合| 国产一区高清视频| 最新国产拍偷乱拍精品| 欧美黄色aaaa| 一本色道88久久加勒比精品 | 欧美亚洲专区| 国产在线欧美日韩| 亚洲精品国产品国语在线app | 国产一本一道久久香蕉| 久久精品国产999大香线蕉| 欧美h视频在线| 一区二区日韩欧美| 久久久999精品| 亚洲人成艺术| 欧美一区二区三区喷汁尤物| 精品成人一区二区三区| 一区二区三区日韩欧美| 国产麻豆日韩欧美久久| 亚洲国产一区二区在线| 欧美日韩国产a| 亚洲欧美在线免费| 欧美福利视频在线观看| 宅男噜噜噜66国产日韩在线观看| 羞羞漫画18久久大片| 一区二区三区中文在线观看 | 亚洲精品乱码久久久久久日本蜜臀| 欧美日韩高清免费| 午夜精品久久久久久久男人的天堂| 另类天堂av| 亚洲视频狠狠| 牛牛精品成人免费视频| 亚洲影院免费观看| 蜜桃视频一区| 亚洲在线视频| 欧美激情一区二区三区 | 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩另类字幕中文| 欧美一区二区三区在线| 欧美另类视频在线| 欧美在线不卡视频| 欧美片网站免费| 久久成人免费网| 国产精品福利久久久| 亚洲国内自拍| 国产精品午夜国产小视频| 亚洲人成人一区二区三区| 国产精品亚洲综合久久| 日韩视频久久| 伊人久久噜噜噜躁狠狠躁| 亚洲午夜久久久久久久久电影院| 伊人久久成人| 午夜精品久久久久久久男人的天堂| 亚洲国产日韩欧美综合久久| 久久久久久精| 亚洲影院在线观看| 欧美日韩国产一级片| 亚洲国产天堂久久综合| 国产日韩欧美视频|