一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

幀長可配置Turbo編譯碼器的系統(tǒng)結(jié)構(gòu)和應(yīng)用設(shè)計和實現(xiàn)

電子設(shè)計 ? 來源:電子技術(shù)應(yīng)用 ? 作者:朱鐵林,趙仲元 ? 2020-10-12 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

1 幀長可配置的Turbo編譯碼器的系統(tǒng)結(jié)構(gòu)

LTE標(biāo)準(zhǔn)中,信道編碼主要采用Tail Biting(咬尾)卷積碼和Turbo編碼兩種方案。其中Turbo碼碼率為1/3,由兩個生成多項式系數(shù)為(13,15)的遞歸系統(tǒng)卷積碼(RSC)和一個QPP(二次置換多項式)隨機(jī)交織器組成,采用典型的PCCC編碼結(jié)構(gòu)。

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

幀長可配置Turbo編譯碼器的系統(tǒng)結(jié)構(gòu)和應(yīng)用設(shè)計和實現(xiàn)

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

2 FPGA功能模塊的設(shè)計與實現(xiàn)

2.1 交織模塊的設(shè)計

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

參數(shù)f1和f2取決于交織長度K,具體值可參見參考文獻(xiàn)。

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

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

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

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

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

2.2 Turbo碼編碼器的設(shè)計

在完成交織模塊的基礎(chǔ)上對Turbo碼編碼器進(jìn)行FPGA設(shè)計。Turbo碼編碼器由RSC(遞歸系統(tǒng)卷積碼)子編碼器、交織器、復(fù)接電路等構(gòu)成,硬件實現(xiàn)框圖如圖3所示。

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

2.3 Turbo碼譯碼器的設(shè)計

Turbo碼譯碼器相對于編碼器來說硬件結(jié)構(gòu)更加復(fù)雜,根據(jù)譯碼原理和交織器實現(xiàn)方式,得到譯碼器實現(xiàn)結(jié)構(gòu)圖如圖4所示。

為節(jié)省硬件資源,本文設(shè)計的Turbo碼譯碼器采用子譯碼器單核復(fù)用的結(jié)構(gòu)模式。當(dāng)子譯碼器模塊作為子譯碼器1時,信息比特順序?qū)懭氪鎯ζ骱箜樞蜃x出到子譯碼器中,L_a2以交織地址寫入存儲器,順序地址讀出作為子譯碼器1的先驗信息,同時校驗位選擇yp1,子譯碼器1根據(jù)3個輸入進(jìn)行SISO(軟輸入軟輸出)譯碼運(yùn)算,得到新的L_a2及L_e;此后子譯碼器作為子譯碼器2,以交織地址將ys從存儲器中讀出,L_a2以順序地址寫入存儲器,交織地址讀出作為子譯碼器2的先驗信息,同時校驗位選擇yp2,子譯碼器2根據(jù)3個輸入進(jìn)行SISO(軟輸入軟輸出)譯碼運(yùn)算,得到新的L_a2及L_e,完成一次迭代。在滿足迭代停止準(zhǔn)則以后,將L_e解交織后進(jìn)行硬判決,得到譯碼序列。

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

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

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

3 系統(tǒng)實現(xiàn)與仿真結(jié)果分析

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

建立波形文件,分別對Turbo碼進(jìn)行時序仿真,得到信息幀長分別配置為128、512時,Turbo碼編碼器的仿真波形如圖6(a)、圖6(b)所示?!?/p>

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

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

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

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

本設(shè)計以LTE為應(yīng)用背景,實現(xiàn)了一種可根據(jù)信道環(huán)境現(xiàn)場配置幀長的Turbo編譯碼的硬件方案。將QPP交織算法集成于FPGA內(nèi)部,充分利用其時鐘頻率高、速度快的優(yōu)勢,減小了外圍接口電路消耗。在系統(tǒng)初始化時進(jìn)行交織運(yùn)算,先于Turbo編譯碼進(jìn)程開始,兩者分時工作,協(xié)調(diào)統(tǒng)一,不會帶來額外的時延。所實現(xiàn)的Turbo碼編譯碼器是一種比較理想的通用型方案,為LTE標(biāo)準(zhǔn)下Turbo編解碼專用集成芯片的開發(fā)與推廣提供了參考。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618472
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167403
  • 譯碼器
    +關(guān)注

    關(guān)注

    4

    文章

    312

    瀏覽量

    51192
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    VIVADO自帶Turbo譯碼器IP核怎么用?

    turbo譯碼器IP核,控制接口配置了flush、standard、size,輸入接口送的是編碼后量化的數(shù)據(jù),因為編碼輸出的是1bit(0或1),量化為5位有符號數(shù),小數(shù)部分配0,對應(yīng)fix8_3
    發(fā)表于 06-23 17:39

    急求基于FPGA的Turbo編譯碼器各模塊實現(xiàn)的 VHDL或verilog HDL程序

    基于FPGA的Turbo編譯碼器各模塊實現(xiàn)的 VHDL或verilog HDL程序。急求啊謝謝大神啦??!
    發(fā)表于 06-08 22:45

    怎么設(shè)計Turbo簡化譯碼算法的FPGA?

    。Turbo碼現(xiàn)已成為深空通信的標(biāo)準(zhǔn),即第三代移動通信(3G)信道編碼方案[2]。Turbo碼雖然具有優(yōu)異的譯碼性能,但是由于其譯碼復(fù)雜度高,譯碼
    發(fā)表于 08-22 07:28

    突發(fā)通信中的Turbo編譯碼算法的FPGA實現(xiàn)

    Turbo碼編碼的FPGA實現(xiàn)Turbo譯碼器的FPGA實現(xiàn)
    發(fā)表于 05-07 06:06

    怎么實現(xiàn)BCH譯碼器的FPGA硬件設(shè)計?

    本文通過對BCH碼優(yōu)化方法的研究與討論,針對標(biāo)準(zhǔn)中二進(jìn)制BCH碼的特性,設(shè)計了實現(xiàn)譯碼器的FPGA硬件結(jié)構(gòu)。
    發(fā)表于 06-15 09:23

    怎么實現(xiàn)RS編譯碼器的設(shè)計?

    本文研究了RS碼的實現(xiàn)方法,并基于Xilinx的FPGA芯片Spartan-6 XC6SLX45完成了RS編譯碼器的設(shè)計,同時對其進(jìn)行了仿真和在線調(diào)試,并給出了功能仿真圖和測試結(jié)果。時序仿真結(jié)果表明,該編譯碼器
    發(fā)表于 06-21 06:23

    基于Nios的通用編譯碼器的設(shè)計

    本文利用可編程邏輯的靈活性和Nios 的強(qiáng)大處理能力,將多種編譯碼模塊和微處理模塊集成到一片F(xiàn)PGA 內(nèi)部,方便地實現(xiàn)了通用編譯碼器的設(shè)計。由于采用了VHDL 語言,使
    發(fā)表于 11-30 14:27 ?22次下載

    LTE標(biāo)準(zhǔn)下Turbo編譯碼器的集成設(shè)計

    針對固定碼長Turbo碼適應(yīng)性差的缺點,以LTE為應(yīng)用背景,提出了一種可配置Turbo編譯碼器
    發(fā)表于 11-11 16:07 ?26次下載

    Turbo譯碼器的FPGA實現(xiàn)

      Turbo碼雖然具有優(yōu)異的譯碼性能,但是由于其譯碼復(fù)雜度高,譯碼延時大等問題,嚴(yán)重制約了Turbo碼在高速通信
    發(fā)表于 11-25 10:10 ?2248次閱讀
    短<b class='flag-5'>幀</b><b class='flag-5'>Turbo</b><b class='flag-5'>譯碼器</b>的FPGA<b class='flag-5'>實現(xiàn)</b>

    基于FPGA的高速RS編譯碼器實現(xiàn)

    本文介紹了 RS[ 255, 223 ]編譯碼器的 FPGA設(shè)計和基于線形反饋移位寄存的編碼設(shè)計 , 以及由伴隨式計算、關(guān)鍵方程求解、錢氏搜索、Forney算法等功能模塊組成的譯碼器
    發(fā)表于 05-22 10:43 ?45次下載
    基于FPGA的高速RS<b class='flag-5'>編譯碼器</b><b class='flag-5'>實現(xiàn)</b>

    基于FPGA 的LDPC 碼編譯碼器聯(lián)合設(shè)計

    了硬件資源的消耗量。該方法適合于采用校驗矩陣進(jìn)行編碼和譯碼的情況,不僅適用于全并行的編譯碼器結(jié)構(gòu),同時也適用于目前廣泛采用的部分并行結(jié)構(gòu),且能夠使用和積、最小和等多種
    發(fā)表于 11-22 07:34 ?4799次閱讀
    基于FPGA 的LDPC 碼<b class='flag-5'>編譯碼器</b>聯(lián)合設(shè)計

    基于Turbo編譯碼算法的FPGA實現(xiàn)突發(fā)數(shù)據(jù)通信

    中小長度的數(shù)據(jù)報文業(yè)務(wù)為主,所以突發(fā)通信中的Turbo碼的碼長也是中等長度以下的。本文面向突發(fā)數(shù)據(jù)通信中的信道編碼應(yīng)用,研究了短Turbo編譯
    發(fā)表于 07-12 08:15 ?4251次閱讀
    基于<b class='flag-5'>Turbo</b>碼<b class='flag-5'>編譯碼</b>算法的FPGA<b class='flag-5'>實現(xiàn)</b>突發(fā)數(shù)據(jù)通信

    Turbo碼的編譯碼基本原理和常用編譯碼算法分析及仿真程序

    第三代移動通信系統(tǒng)多種方案中,考忠將Turbo碼作為無線信道的編碼標(biāo)準(zhǔn)之- ~。 本文討論了Turbo碼的編譯碼基本原理,對Turbo碼的幾
    發(fā)表于 01-04 10:40 ?19次下載
    <b class='flag-5'>Turbo</b>碼的<b class='flag-5'>編譯碼</b>基本原理和常用<b class='flag-5'>編譯碼</b>算法分析及仿真程序

    如何使用FPGA實現(xiàn)結(jié)構(gòu)化LDPC碼的高速編譯碼器

    結(jié)構(gòu)化LDPC碼可進(jìn)行相應(yīng)擴(kuò)展通過對編譯碼算法,優(yōu)化編譯碼結(jié)構(gòu)進(jìn)行調(diào)整,降低了編譯碼囂硬件實現(xiàn)
    發(fā)表于 03-26 15:58 ?12次下載
    如何使用FPGA<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>結(jié)構(gòu)</b>化LDPC碼的高速<b class='flag-5'>編譯碼器</b>

    如何使用FPGA實現(xiàn)跳頻系統(tǒng)中的Turbo譯碼器

    給出了跳頻系統(tǒng)Turbo譯碼器的FPGA( field programmable gate array)實現(xiàn)方案。譯碼器采用了MaxL
    發(fā)表于 04-01 11:21 ?5次下載
    如何使用FPGA<b class='flag-5'>實現(xiàn)</b>跳頻<b class='flag-5'>系統(tǒng)</b>中的<b class='flag-5'>Turbo</b>碼<b class='flag-5'>譯碼器</b>