日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀] 給出了低復(fù)雜度和低延遲的Turbo碼編譯碼的FPGA實(shí)現(xiàn)方案,方案中分量碼譯碼算法采用Max-Log-Map算法?;谔岢龅脑O(shè)計(jì)方案,在Xilinx的FPGA芯片上實(shí)現(xiàn)了幀長(zhǎng)在64~1024之間可變的短幀長(zhǎng)Turbo編譯碼模塊。仿真和測(cè)試結(jié)果表明,該模塊的誤碼率性能優(yōu)良、譯碼延時(shí)較小、數(shù)據(jù)吞吐量大,可用于低信噪比條件下突發(fā)數(shù)據(jù)通信中的差錯(cuò)控制。

Turbo碼是一種低信噪比條件下也能達(dá)到優(yōu)異糾錯(cuò)性能的信道編碼。早期為了強(qiáng)調(diào)Turbo碼接近香農(nóng)限的優(yōu)異性能,研究的碼字長(zhǎng)度非常大[1~2],存在譯碼復(fù)雜度大、譯碼時(shí)延長(zhǎng)等問(wèn)題。突發(fā)數(shù)據(jù)通信以傳輸中小長(zhǎng)度的數(shù)據(jù)報(bào)文業(yè)務(wù)為主,所以突發(fā)通信中的Turbo碼的碼長(zhǎng)也是中等長(zhǎng)度以下的。本文面向突發(fā)數(shù)據(jù)通信中的信道編碼應(yīng)用,研究了短幀長(zhǎng)Turbo碼編譯碼算法的FPGA實(shí)現(xiàn)。實(shí)現(xiàn)中采用了優(yōu)化的編譯碼算法,以降低譯碼復(fù)雜度和譯碼延時(shí)。最后仿真和測(cè)試了Turbo譯碼器的糾錯(cuò)性能和吞吐量。
1 Turbo碼編碼器的FPGA實(shí)現(xiàn)
  Turbo碼的編碼器是由兩個(gè)RSC(遞歸系統(tǒng)卷積碼)分量編碼器和一個(gè)交織器組成。RSC碼不僅具有系統(tǒng)碼的優(yōu)點(diǎn),而且對(duì)于一個(gè)RSC碼,總存在一個(gè)具有完全相同柵格結(jié)構(gòu)的NSC碼(非系統(tǒng)卷積碼)。本系統(tǒng)中使用兩個(gè)相同的RSC編碼器,生成的多項(xiàng)式都是G=[1,15/13],系統(tǒng)編碼率為1/3。
  交織器的功能是利用隨機(jī)化的思想將兩個(gè)相互獨(dú)立的短碼組合成一個(gè)長(zhǎng)的隨機(jī)碼。本課題中Turbo碼交織器的實(shí)現(xiàn)是構(gòu)造一個(gè)交織地址發(fā)生器,并根據(jù)輸入的幀長(zhǎng)信息,實(shí)時(shí)地產(chǎn)生交織地址序列。


  圖1為編碼器的FPGA實(shí)現(xiàn)結(jié)構(gòu)圖。編碼前,地址發(fā)生器獲取幀長(zhǎng)信息,完成交織地址生成的準(zhǔn)備過(guò)程。編碼時(shí),信息序列被依次寫入雙口RAM,待寫完一幀數(shù)據(jù)后,地址產(chǎn)生器開始生成順序地址和交織地址。雙口RAM按兩個(gè)地址讀取信息序列X和交織后的信息序列X’進(jìn)行RSC編碼;最后編碼器輸出系統(tǒng)位X和校驗(yàn)位P0和P1。
2 Turbo碼譯碼器的FPGA實(shí)現(xiàn)
  Turbo碼譯碼器比較復(fù)雜,下面從譯碼器的接口、內(nèi)部結(jié)構(gòu)、內(nèi)部的時(shí)序控制、分量譯碼MAX-Log-MAP算法和SISO模塊的實(shí)現(xiàn)五個(gè)方面來(lái)詳細(xì)闡述譯碼器的FPGA實(shí)現(xiàn)。
2.1 譯碼器的接口
  Turbo碼譯碼器頂層模塊的接口管腳如表1所示。


2.2 譯碼器的內(nèi)部結(jié)構(gòu)
  Turbo碼譯碼器由兩個(gè)軟輸入/軟輸出分量譯碼器、交織器以及相應(yīng)的解交織器構(gòu)成。譯碼是信息在兩個(gè)分量譯碼器之間迭代運(yùn)算的過(guò)程。在迭代運(yùn)算中,上一次運(yùn)算得到uk的外信息Λe(uk)作為下一次運(yùn)算uk的先驗(yàn)信息Λa(uk)。Turbo碼分量譯碼器譯碼算法主要有MAP類(最大后驗(yàn)概率譯碼算法)和SOVA類(軟判決Viterbi譯碼算法)[3]。本文采用運(yùn)算復(fù)雜度和性能都適中的MAX-Log-MAP算法。Turbo碼譯碼器FPGA實(shí)現(xiàn)的內(nèi)部結(jié)構(gòu)如圖2所示。


  地址發(fā)生器與編碼器相同,用于數(shù)據(jù)的交織和解交織。輸入數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)輸入的接收數(shù)據(jù),包括系統(tǒng)信息序列存儲(chǔ)器以及各個(gè)校驗(yàn)序列存儲(chǔ)器。外信息存儲(chǔ)器用于存儲(chǔ)迭代譯碼產(chǎn)生的外信息。由于外信息要作為下一次譯碼的先驗(yàn)信息,所以這里的外信息存儲(chǔ)器有兩塊,交替存儲(chǔ)兩個(gè)分量譯碼器的外信息。SISO模塊即為軟輸入、軟輸出分量譯碼器。整個(gè)Turbo碼譯碼器有兩個(gè)SISO分量譯碼模塊。但為了節(jié)省資源,本方案只設(shè)計(jì)了一個(gè)SISO模塊,將時(shí)分復(fù)用作為兩個(gè)分量譯碼器。圖2中,表示接收碼字中的系統(tǒng)位,表示接收碼字中的校驗(yàn)位。
2.3 譯碼器內(nèi)部的時(shí)序控制
  Turbo碼譯碼器內(nèi)部的時(shí)序控制由狀態(tài)機(jī)完成。整個(gè)譯碼過(guò)程分為初始化、接收數(shù)據(jù)存儲(chǔ)、迭代譯碼及硬判決輸出四個(gè)過(guò)程,且對(duì)應(yīng)于狀態(tài)機(jī)的INIT、STORAGE、SISO和OUT四個(gè)狀態(tài)。譯碼器的內(nèi)部狀態(tài)轉(zhuǎn)移如圖3所示。初始狀態(tài)INIT完成幀長(zhǎng)設(shè)定等初始化工作,并完成交織地址生成的準(zhǔn)備過(guò)程,一旦指示第一個(gè)數(shù)據(jù)輸入的fd信號(hào)有效(高有效)時(shí),則進(jìn)入STORAGE狀態(tài);狀態(tài)STORAGE完成將接收數(shù)據(jù)序列存入單口RAM中,待一幀數(shù)據(jù)寫完后,指示存儲(chǔ)完畢的rdyStr信號(hào)置高,進(jìn)入SISO狀態(tài);在狀態(tài)SISO下,SISO分量譯碼器根據(jù)設(shè)定的迭代次數(shù)對(duì)接收數(shù)據(jù)進(jìn)行迭代譯碼。當(dāng)?shù)瓿蓵r(shí),rdySiso置高,進(jìn)入OUT狀態(tài);對(duì)數(shù)據(jù)硬判決輸出并計(jì)數(shù),此時(shí)輸出有效信號(hào)ready置高,待全部判決完畢后返回INIT狀態(tài)。


2.4 分量譯碼算法——MAX-Log-MAP算法
  MAP算法需要大量的乘法運(yùn)算和指數(shù)運(yùn)算以及大量的存儲(chǔ),運(yùn)算十分復(fù)雜。Log-MAP算法則將MAP算法中的乘法運(yùn)算轉(zhuǎn)換為對(duì)數(shù)域中的加法運(yùn)算(不需要對(duì)數(shù)運(yùn)算),適合工程實(shí)現(xiàn)。因此在工程實(shí)現(xiàn)時(shí),可以將原來(lái)在對(duì)數(shù)域內(nèi)的加法運(yùn)算轉(zhuǎn)換為取兩個(gè)數(shù)的較大者加上一個(gè)修正項(xiàng)的運(yùn)算。如果將修正項(xiàng)的運(yùn)算也省略,則Log-MAP算法可簡(jiǎn)化為MAX-Log-MAP算法。MAX-Log-MAP算法的主要計(jì)算步驟如下[4~5]
  (1)計(jì)算Turbo碼編碼網(wǎng)格圖上分支的路徑度量值:

  由于Lc值對(duì)譯碼性能影響不大[6],為了方便定點(diǎn)實(shí)現(xiàn),本文中簡(jiǎn)化為L(zhǎng)c=1。
2.5 SISO模塊的實(shí)現(xiàn)
  分量譯碼器的FPGA實(shí)現(xiàn)的SISO模塊采用模塊化設(shè)計(jì),主要包括前向度量計(jì)算模塊、反向度量計(jì)算及對(duì)數(shù)似然比計(jì)算模塊、前向度量存儲(chǔ)器以及歸一化度量存儲(chǔ)器。由于前向度量計(jì)算和反向度量計(jì)算均需要計(jì)算分支度量,因此可以預(yù)先計(jì)算并存儲(chǔ)分支度量。但在本方案中,為了節(jié)省存儲(chǔ)空間,并沒有對(duì)分支度量進(jìn)行存儲(chǔ),而是在前向與反向度量計(jì)算時(shí)均計(jì)算一次,而且在反向度量計(jì)算收斂后同時(shí)計(jì)算對(duì)數(shù)似然比。
  用FPGA對(duì)算法進(jìn)行定點(diǎn)實(shí)現(xiàn)時(shí),需要考慮到溢出的問(wèn)題。為防止計(jì)算過(guò)程中出現(xiàn)溢出,對(duì)前向度量和反向度量計(jì)算過(guò)程進(jìn)行歸一化處理。若某時(shí)刻的歸一化度量值選擇當(dāng)前時(shí)刻前向度量中的最大值,則歸一化便是前向度量和反向度量減去此最大值。歸一化后的前向度量和反向度量計(jì)算公式如下:
  
  SISO模塊內(nèi)部處理流程分為初始化、前向度量計(jì)算和存儲(chǔ)、反向度量計(jì)算和對(duì)數(shù)似然值計(jì)算三個(gè)部分,且對(duì)應(yīng)于狀態(tài)機(jī)的三個(gè)狀態(tài)INIT、FSM和RSM。SISO模塊的內(nèi)部時(shí)序如圖4所示。INIT狀態(tài)完成內(nèi)部寄存器的初始化設(shè)置,當(dāng)外部輸入信號(hào)Siso_start有效時(shí),啟動(dòng)SISO模塊,進(jìn)入FSM狀態(tài);FSM狀態(tài)中,每8個(gè)時(shí)鐘周期內(nèi),用式(1)和式(2)計(jì)算出一個(gè)時(shí)刻對(duì)應(yīng)的8個(gè)前向度量值,并選擇出其中的最大前向度量值作為歸一化度量值,用式(8)計(jì)算歸一化后的前向度量值。啟動(dòng)一次前向度量寫信號(hào),存儲(chǔ)當(dāng)前計(jì)算得到的8個(gè)前向度量值和當(dāng)前歸一化度量值。當(dāng)所有前向度量計(jì)算完畢時(shí),啟動(dòng)Fsmrdy信號(hào),進(jìn)入RSM狀態(tài);每10個(gè)時(shí)鐘周期內(nèi),用式(1)和式(2)計(jì)算出一個(gè)時(shí)刻對(duì)應(yīng)的8個(gè)反向度量值,用式(9)計(jì)算歸一化后的反向度量值,用式(4)和式(5)計(jì)算出相應(yīng)時(shí)刻的對(duì)數(shù)似然比和外信息對(duì)數(shù)似然比,并將外信息對(duì)數(shù)似然比存儲(chǔ)起來(lái)。當(dāng)所有計(jì)算都完成時(shí),啟動(dòng)Rsmrdy信號(hào),進(jìn)入INIT狀態(tài)。


  由于本方案中SISO模塊將時(shí)分復(fù)用作為兩個(gè)分量譯碼器,對(duì)應(yīng)于一次譯碼迭代的兩個(gè)半迭代過(guò)程。因此圖4中的Decoder_num為低時(shí),SISO模塊作為第一個(gè)分量譯碼器,進(jìn)行第一個(gè)半迭代運(yùn)算;Decoder_num為高時(shí),SISO模塊作為第二個(gè)分量譯碼器,進(jìn)行第二個(gè)半迭代運(yùn)算。每次半迭代產(chǎn)生的對(duì)數(shù)似然比信息作為下次半迭代的先驗(yàn)信息。用兩塊RAM存儲(chǔ)兩次半迭代產(chǎn)生的外信息對(duì)數(shù)似然比。第一個(gè)半迭代時(shí),從第二個(gè)外信息存儲(chǔ)器中讀取上一次半迭代產(chǎn)生的外信息對(duì)數(shù)似然比作為先驗(yàn)信息,計(jì)算得到外信息對(duì)數(shù)似然比后存儲(chǔ)到第一個(gè)外信息存儲(chǔ)器中;第二個(gè)半迭代時(shí),從第一個(gè)外信息存儲(chǔ)器中讀取上一次半迭代產(chǎn)生的外信息對(duì)數(shù)似然比作為先驗(yàn)信息,計(jì)算得到外信息對(duì)數(shù)似然比后存儲(chǔ)到第二個(gè)外信息存儲(chǔ)器中。每幀數(shù)據(jù)譯碼的第一次迭代中的第一個(gè)半迭代的先驗(yàn)信息設(shè)為0。
  迭代滿足迭代終止準(zhǔn)則后,譯碼器停止迭代,由信息的對(duì)數(shù)似然比值硬判決輸出譯碼結(jié)果。工程中常用的迭代終止準(zhǔn)則是設(shè)置最大迭代次數(shù)。最大迭代次數(shù)的設(shè)定需要綜合考慮誤碼率性能和系統(tǒng)吞吐量性能。
3 Turbo碼編譯碼器的性能
  基于以上提出的Turbo碼編譯碼器的FPGA實(shí)現(xiàn)方案,本文在Xilinx公司的Virtex2系列的XC2V500-6fg256 FPGA芯片上,實(shí)現(xiàn)了幀長(zhǎng)在64~1 024范圍之間可變的Turbo編譯碼器。輸入數(shù)據(jù)4bit量化,內(nèi)部數(shù)據(jù)位寬選擇12bit,編碼器模塊和譯碼器模塊在同一塊FPGA芯片上實(shí)現(xiàn)。綜合后時(shí)鐘最小周期為7.188ns ,對(duì)應(yīng)最高時(shí)鐘頻率為139.121MHz,所占的資源如表2所示。


  延遲與吞吐量是衡量譯碼器性能的兩個(gè)主要指標(biāo)。延遲定義為從第一個(gè)數(shù)據(jù)輸入到第一個(gè)數(shù)據(jù)輸出間的時(shí)間差。吞吐量定義為平均每秒能處理的數(shù)據(jù)量。在幀長(zhǎng)為1 024、迭代次數(shù)為5的條件下,譯碼器延時(shí)約為1.4ms,吞吐量約為0.72Mbps。


  最后,對(duì)幀長(zhǎng)為128、256、512和1 024四種條件的Turbo碼譯碼器進(jìn)行了誤碼率性能測(cè)試。測(cè)試系統(tǒng)中加入高斯白噪聲,數(shù)據(jù)采用 BPSK調(diào)制,譯碼器5次迭代。測(cè)試結(jié)果的性能曲線如圖5所示。測(cè)試結(jié)果表明,在信噪比低于4dB的條件下,跳頻數(shù)傳通信系統(tǒng)采用Turbo編譯碼方案,誤碼率小于10-5,達(dá)到了數(shù)據(jù)傳輸可靠性的要求。由于譯碼器的幀長(zhǎng)在64~1 024范圍內(nèi)可變,因此非常適合應(yīng)用在突發(fā)數(shù)據(jù)通信中的差錯(cuò)控制中。
參考文獻(xiàn)
1 Berrou C, Glavieux A, Thitimajshima P. Near shannon limit error-correcting codeing and decoding: turbo codes. in Proc.ICC′93, Geneva, Switzerland, May. 1993:1064~1070
2 Berrou C. Near optimum error correcting coding and decoding-turbo-codes. IEEE Transcations On Communications, 1996;44(10)
3 萬(wàn) 蕾. Turbo碼及其在第三代移動(dòng)通信系統(tǒng)中的應(yīng)用. 北京理工大學(xué)博士學(xué)位論文,2001
4 Robertson P, Villebrun E, Hoeher P. A comparison of optimal and suboptimal MAP decoding algorithms operation in the log domain. in Proc.ICC’95,Seattle,WA,June 1995:1009~1013
5 劉東華. Turbo碼原理與應(yīng)用技術(shù). 北京:電子工業(yè)出版社,2004
6 Worm A, hoeher P, When N. Turbo-decoding without SNR estimation. IEEE Commmun,2000;(4):193~195

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

互聯(lián)網(wǎng)內(nèi)容的主要介質(zhì)在過(guò)去的幾十年中完成了從文字到圖片再到視頻的轉(zhuǎn)變。在不斷變化中,一以貫之的是人們對(duì)體驗(yàn)更好,更真實(shí)、更豐富網(wǎng)絡(luò)生活的追求。如今,視頻和游戲內(nèi)容都在向著更高刷新率與分辨率的方向發(fā)展,終端設(shè)備也在積極普及...

關(guān)鍵字: 元宇宙 Wi-Fi 7 通信

此前,印度政府曾在推特上公布“國(guó)家寬帶使命”計(jì)劃,并表示將于今年10月1日在印度正式推出5G服務(wù),引發(fā)了不少網(wǎng)友的關(guān)注。然而,近日CNMO了解到,此條推文現(xiàn)已被刪除。業(yè)內(nèi)人士表示,印度可能尚未準(zhǔn)備好從10月1日開始推出5...

關(guān)鍵字: 印度 5G 通信

北京2022年10月8日 /美通社/ -- 日前,全球領(lǐng)先的IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動(dòng)開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020...

關(guān)鍵字: 開源 操作系統(tǒng) 通信 大數(shù)據(jù)

(全球TMT2022年10月8日訊)IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動(dòng)開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020年9月,是國(guó)內(nèi)...

關(guān)鍵字: 操作系統(tǒng) 開源 通信 裝機(jī)量

(全球TMT2022年9月30日訊)Tata Communications在印度浦那推出了專用私有5G"全球卓越中心"(CoE),為企業(yè)加速"工業(yè)4.0"應(yīng)用和能力。這家新的CoE是一個(gè)敏捷、安全的室內(nèi)設(shè)施,用來(lái)測(cè)試和...

關(guān)鍵字: 通信 5G COMMUNICATIONS 圖像分析

廈門2022年9月27日 /美通社/ -- 近日,卓越職場(chǎng)研究機(jī)構(gòu)(Great Place to Work®)公布了2022年亞洲最佳職場(chǎng)?(Best Workplaces in Asia?)榜單,鈴盛(Ring...

關(guān)鍵字: CENTRAL BSP 通信 VIDEO

9月27日消息,據(jù)央視報(bào)道,今天7時(shí)50分,我國(guó)在太原衛(wèi)星發(fā)射中心使用長(zhǎng)征六號(hào)運(yùn)載火箭,以“一箭三星”方式,成功將試驗(yàn)十六號(hào)A/B星和試驗(yàn)十七號(hào)衛(wèi)星發(fā)射升空,衛(wèi)星順利進(jìn)入預(yù)定軌道,發(fā)射任務(wù)獲得圓滿成功。該組衛(wèi)星主要用于國(guó)...

關(guān)鍵字: 長(zhǎng)征六號(hào) 衛(wèi)星 通信

VPN是一種常用于連接中、大型企業(yè)或團(tuán)體與團(tuán)體間的私人網(wǎng)絡(luò)的通信方式。它利用隧道協(xié)議(Tunneling Protocol)來(lái)達(dá)到保密、發(fā)送端認(rèn)證、消息準(zhǔn)確性等私人消息安全效果,這種技術(shù)可以用不安全的網(wǎng)絡(luò)(例如:互聯(lián)網(wǎng))...

關(guān)鍵字: vpn專線 通信 互聯(lián)網(wǎng)

(全球TMT2022年9月20日訊)2022年9月16日,以"同心聚力、共創(chuàng)算網(wǎng)發(fā)展未來(lái);創(chuàng)新合作、共享數(shù)字經(jīng)濟(jì)紅利"為主題的2022浪潮通信產(chǎn)業(yè)聯(lián)盟合作伙伴大會(huì)在濟(jì)南召開。 在產(chǎn)業(yè)聯(lián)盟合作伙伴大會(huì)上,浪...

關(guān)鍵字: 通信 網(wǎng)絡(luò) APPLICATIONS POWER

電子設(shè)計(jì)自動(dòng)化

21369 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉