LTE標準下Turbo碼編譯碼器的集成設計

發(fā)布時(shí)間:2010-12-28 21:37    發(fā)布者:designer
關(guān)鍵詞: LTE , turbo , 編譯碼器
LTE(Long Term Evolution)是3GPP展開(kāi)的對UMTS技術(shù)的長(cháng)期演進(jìn)計劃。LTE具有高數據速率、低延遲、分組傳送、廣域覆蓋和向下兼容等顯著(zhù)優(yōu)勢,在各種“準4G”標準中脫穎而出,最具競爭力和運營(yíng)潛力。運營(yíng)商普遍選擇LTE,為全球移動(dòng)通信產(chǎn)業(yè)指明了技術(shù)發(fā)展的方向。設備制造商亦紛紛加大在LTE領(lǐng)域的投入,其中包括華為、北電、NEC和大唐等一流設備制造商,從而有力地推動(dòng)LTE不斷前進(jìn),使LTE的商用相比其他競爭技術(shù)更加令人期待。

Turbo碼以其接近香農極限的優(yōu)異糾錯性能被選為L(cháng)TE標準的信道編碼方案之一。對Turbo編譯碼器進(jìn)行FPGA集成設計,能夠加速LTE的商用步伐,具有廣闊的應用前景。在不同的信道環(huán)境中,通信系統對信息可靠性和數據實(shí)時(shí)性具有不同的指標要求,實(shí)際應用中必須對二者進(jìn)行適當折中。因此,硬件設計一種糾錯性能與譯碼時(shí)延可靈活配置的Turbo碼編譯碼器更具商業(yè)價(jià)值。

Altera公司推出的功率優(yōu)化、性能增強的Stratix III系列產(chǎn)品采用了與業(yè)界領(lǐng)先的Stratix II系列相同的FPGA體系結構,含有高性能自適應邏輯模塊(ALM),支持40多個(gè)I/O接口標準,具有業(yè)界一流的靈活性和信號完整性。Stratix III FPGA和Quartus II軟件相結合后,為工程師提供了極具創(chuàng )新的設計方法,進(jìn)一步提高了性能和效能。Stratix III L器件邏輯單元較多,為幀長(cháng)可配置Turbo碼編譯碼器的FPGA設計提供了便利條件。

Turbo碼的誤碼性能在很大程度上取決于信息幀長(cháng),信息幀越長(cháng),譯碼性能越好,代價(jià)是譯碼延時(shí)的增大;谶@一點(diǎn),本設計提出一種幀長(cháng)可配置的Turbo碼編譯碼器的FPGA實(shí)現方案,詳細介紹了該系統中交織器的工作原理,并對時(shí)序仿真結果和功能實(shí)現情況進(jìn)行了分析,為L(cháng)TE標準下Turbo編譯碼專(zhuān)用集成芯片的開(kāi)發(fā)提供了參考。

1 幀長(cháng)可配置的Turbo編譯碼器的系統結構

LTE標準中,信道編碼主要采用Tail Biting(咬尾)卷積碼和Turbo編碼兩種方案。其中Turbo碼碼率為1/3,由兩個(gè)生成多項式系數為(13,15)的遞歸系統卷積碼(RSC)和一個(gè)QPP(二次置換多項式)隨機交織器組成,采用典型的PCCC編碼結構。

根據Turbo碼編譯碼結構原理可知,信息幀長(cháng)關(guān)鍵取決于交織深度的大小,如果交織器能夠根據不同幀長(cháng)參數自動(dòng)植入不同的交織圖樣,并對其他模塊進(jìn)行相應參數控制,即可實(shí)現設計功能。由此得到可配置Turbo編譯碼器的設計思想:在編譯碼之前,由鍵盤(pán)電路輸入信息幀長(cháng),系統據此對編譯碼器進(jìn)行初始化,主要包括設置電路中存儲器的深度,計算、存儲交織圖樣,并通過(guò)LCD同步顯示幀長(cháng)信息;初始化過(guò)程結束時(shí)輸出狀態(tài)標志位,編譯碼器進(jìn)入準備狀態(tài),一旦有數據輸入,即啟動(dòng)編譯碼流程。由此得到Turbo編譯碼器系統結構圖如圖1所示。







圖1的Turbo碼編譯碼器中,所有有關(guān)信息長(cháng)度的參數均設置為輸入變量,包括存儲器深度、計數器周期等,以方便配置。

2 FPGA功能模塊的設計與實(shí)現

2.1 交織模塊的設計

交織器是Turbo編譯碼器的主要構成部分之一,其能否根據幀長(cháng)參數產(chǎn)生相應的交織圖樣也是本設計的關(guān)鍵所在。LTE標準中規定交織器采用QPP偽隨機交織方案,交織長(cháng)度范圍為40"6 114,該方案對不同幀長(cháng)產(chǎn)生不同的交織圖樣,能夠有效改善碼字的漢明距離和碼重分布。假設輸入交織器的比特序列為d0,d1,…,dK-1,其中K為信息序列幀長(cháng),交織器輸出序列d′0,d′1,…,d′K-1。則有:








參數f1和f2取決于交織長(cháng)度K,具體值可參見(jiàn)參考文獻。

傳統交織器的FPGA設計一般采用軟件編程的方法。根據通信協(xié)議,將所確定幀長(cháng)的交織圖樣預先計算出來(lái),生成存儲器初始化文件(.mif或.hex格式)載入到ROM中。這樣雖然降低了硬件復雜度,卻不能自行配置編碼幀長(cháng),缺乏靈活性和通用性。因此,設計中將交織算法集成于FPGA內部,需要改變信息幀長(cháng)時(shí)啟動(dòng)交織器重新計算交織地址存儲于RAM中。QPP交織器的硬件結構框圖如圖2所示。







圖2中,在系統初始化階段,由鍵盤(pán)電路采集輸入的信息幀長(cháng)K,經(jīng)消抖處理,一路傳輸給LCD同步顯示模塊,另一路傳送到f1、f2運算單元,查表得到f1、f2的值,提供給交織算法集成模塊。

交織算法集成單元是交織器設計的核心部分。主要功能是根據LTE協(xié)議標準以及參數K、f1、f2,在時(shí)序控制模塊的約束下,計算交織地址。運算過(guò)程中,將FPGA不能綜合的對任意整數取余的運算,均轉化為固定次數的加減循環(huán)操作,在時(shí)鐘管理模塊的控制下,采取小時(shí)鐘計算、大時(shí)鐘輸出的措施,保證交織數據的正確讀取。

計算交織地址的同時(shí)產(chǎn)生寫(xiě)入地址,將交織地址順序存儲到雙口RAM中,由此完成了交織器的主體設計。隨后發(fā)送握手信號,可以開(kāi)始Turbo碼編譯碼流程。

因為并不是每幀信息編譯碼時(shí)都需要運行交織算法模塊,所以只是在初始化階段載入交織地址,使交織算法與編譯碼器分時(shí)工作。調用交織器模塊時(shí)只需將順序地址輸入到雙口RAM的讀地址端,便能得到既定幀長(cháng)的QPP偽隨機交織地址,不會(huì )增加譯碼延時(shí)。得到交織圖樣以后即可進(jìn)行交織、解交織過(guò)程。

2.2 Turbo碼編碼器的設計

在完成交織模塊的基礎上對Turbo碼編碼器進(jìn)行FPGA設計。Turbo碼編碼器由RSC(遞歸系統卷積碼)子編碼器、交織器、復接電路等構成,硬件實(shí)現框圖如圖3所示。







系統初始化完畢后,交織器已存儲有對應幀長(cháng)的交織圖樣,編碼器首先接收到一幀信息存儲于RAM中,開(kāi)始信號啟動(dòng)編碼過(guò)程。在時(shí)鐘管理模塊和時(shí)序控制模塊的指引下,計數器產(chǎn)生順序地址,再按該順序地址訪(fǎng)問(wèn)交織器得到交織地址,分別以順序地址和交織地址從存儲有信息序列的RAM中讀取數據進(jìn)入對應的RSC進(jìn)行編碼,同時(shí)復接電路對信息位和校驗位進(jìn)行并串轉換,一幀信息編碼完畢對子編碼器做歸零處理。

2.3 Turbo碼譯碼器的設計

Turbo碼譯碼器相對于編碼器來(lái)說(shuō)硬件結構更加復雜,根據譯碼原理和交織器實(shí)現方式,得到譯碼器實(shí)現結構圖如圖4所示。





為節省硬件資源,本文設計的Turbo碼譯碼器采用子譯碼器單核復用的結構模式。當子譯碼器模塊作為子譯碼器1時(shí),信息比特順序寫(xiě)入存儲器后順序讀出到子譯碼器中,L_a2以交織地址寫(xiě)入存儲器,順序地址讀出作為子譯碼器1的先驗信息,同時(shí)校驗位選擇yp1,子譯碼器1根據3個(gè)輸入進(jìn)行SISO(軟輸入軟輸出)譯碼運算,得到新的L_a2及L_e;此后子譯碼器作為子譯碼器2,以交織地址將ys從存儲器中讀出,L_a2以順序地址寫(xiě)入存儲器,交織地址讀出作為子譯碼器2的先驗信息,同時(shí)校驗位選擇yp2,子譯碼器2根據3個(gè)輸入進(jìn)行SISO(軟輸入軟輸出)譯碼運算,得到新的L_a2及L_e,完成一次迭代。在滿(mǎn)足迭代停止準則以后,將L_e解交織后進(jìn)行硬判決,得到譯碼序列。

設計中,子譯碼器采用復雜度與性能折中的Max-Log-MAP譯碼算法。根據輸入的信息位、校驗位及先驗概率信息,在時(shí)序控制模塊的管理下,分別進(jìn)行分支轉移度量、前向狀態(tài)度量、后向狀態(tài)度量和對數似然比的計算及存儲,以備下次譯碼運算調用。

依據初始化分支轉移度量值,由(13,15)RSC的籬笆圖,找出當前時(shí)刻前向狀態(tài)度量與前一時(shí)刻前向狀態(tài)度量的對應關(guān)系,計算當前時(shí)刻的前向狀態(tài)度量。依次遞推,為防止數據溢出范圍,每次迭代對其進(jìn)行歸一化處理,得到實(shí)現框圖如圖5所示。后向狀態(tài)度量與前向狀態(tài)度量具有相似的運算結構,只是逆向遞推而已。

由對數似然比的定義,將得到的分支轉移度量、前向狀態(tài)度量和后向狀態(tài)度量代入運算公式,對3種輸入參量進(jìn)行組合運算,然后取出“1”路徑8種狀態(tài)中的最小值和“0”路徑8種狀態(tài)的最小值,做差即得到Max-Log-MAP算法中的對數似然比。迭代數次后進(jìn)行輔助硬判決,解交織輸出即為傳回信宿的譯碼序列。






3 系統實(shí)現與仿真結果分析

在Quartus Ⅱ開(kāi)發(fā)工具上,以Stratix III 系列的EP3-SL150F1152C2為配置平臺,用Verilog HDL語(yǔ)言對上述各功能模塊進(jìn)行編程建模,調試統一后編譯綜合,得到編譯碼器主要硬件資源占用情況如表1所示。







建立波形文件,分別對Turbo碼進(jìn)行時(shí)序仿真,得到信息幀長(cháng)分別配置為128、512時(shí),Turbo碼編碼器的仿真波形如圖6(a)、圖6(b)所示。''






圖6中,每幀碼字序列的結尾,都有12個(gè)系統尾比特,以使編碼器寄存器回歸全零狀態(tài)。經(jīng)多次驗證,與Matlab仿真數據進(jìn)行對比,結果正確。

將編碼碼字量化后存儲于ROM中,提供給譯碼器進(jìn)行時(shí)序仿真,得到信息幀長(cháng)分別配置為128、512(碼字序列長(cháng)度分別為396、1 548)時(shí),Turbo碼譯碼器的仿真波形如圖7(a)、圖7(b)所示。






圖7中,譯碼器首先根據幀長(cháng)設置初始化交織圖樣,然后對系統碼字解復接,得到信息序列(ys)、校驗位1(yp1)及校驗位2(yp2),與外信息(L_all)一起輸入子譯碼器進(jìn)行SISO譯碼運算,迭代6次以后判決得到譯碼結果(decoderout)。

設置不同的信息幀長(cháng),經(jīng)多次仿真驗證,均能正確實(shí)現編譯碼功能。將程序下載配置到EP3SL150F1152C2中,利用VC軟件編寫(xiě)測試窗口,進(jìn)行測試。結果顯示,本設計可以利用外圍鍵盤(pán)電路自行輸入幀長(cháng),進(jìn)行交織運算,得到交織圖樣,并能正確實(shí)現Turbo編譯碼功能,達到了設計要求。

本設計以L(fǎng)TE為應用背景,實(shí)現了一種可根據信道環(huán)境現場(chǎng)配置幀長(cháng)的Turbo編譯碼的硬件方案。將QPP交織算法集成于FPGA內部,充分利用其時(shí)鐘頻率高、速度快的優(yōu)勢,減小了外圍接口電路消耗。在系統初始化時(shí)進(jìn)行交織運算,先于Turbo編譯碼進(jìn)程開(kāi)始,兩者分時(shí)工作,協(xié)調統一,不會(huì )帶來(lái)額外的時(shí)延。所實(shí)現的Turbo碼編譯碼器是一種比較理想的通用型方案,為L(cháng)TE標準下Turbo編解碼專(zhuān)用集成芯片的開(kāi)發(fā)與推廣提供了參考。
本文地址:http://selenalain.com/thread-48179-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页