<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > T-MMB系統(tǒng)中LDPC碼譯碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)

          T-MMB系統(tǒng)中LDPC碼譯碼器的FPGA設(shè)計(jì)與實(shí)現(xiàn)

          ——
          作者:柳曉鳳 李媛 韓康康 時(shí)間:2013-06-26 來(lái)源:電子產(chǎn)品世界 收藏

            摘要:本文設(shè)計(jì)了一種符合手機(jī)電視T-MMB標(biāo)準(zhǔn)的信道譯碼解決方案,并進(jìn)行了MATLAB仿真和的實(shí)現(xiàn)。同時(shí)針對(duì)部分并行結(jié)構(gòu)的準(zhǔn)循環(huán)低密度校驗(yàn)(QC-)碼譯碼器,提出了基于塊RAM的高效存儲(chǔ)方法。該方法既可以同時(shí)讀取用于運(yùn)算的校驗(yàn)節(jié)點(diǎn)信息或變量節(jié)點(diǎn)信息,又可以實(shí)現(xiàn)在同一塊RAM中存儲(chǔ)不同子矩陣對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)信息或變量節(jié)點(diǎn)信息,不僅避免了塊RAM資源的浪費(fèi),而且減少了譯碼器實(shí)現(xiàn)所需的存儲(chǔ)資源數(shù)量。在Xilinx公司Virtex-4系列的上的實(shí)現(xiàn)結(jié)果表明,與傳統(tǒng)的子矩陣與塊RAM一對(duì)一存儲(chǔ)的譯碼結(jié)構(gòu)相比,本文提出的QC-碼譯碼器設(shè)計(jì)方法能夠在減少塊RAM數(shù)量的同時(shí)有效地提高系統(tǒng)的時(shí)鐘頻率和譯碼吞吐量。

          本文引用地址:http://www.ex-cimer.com/article/146837.htm

            引言

            隨著移動(dòng)網(wǎng)絡(luò)的迅速發(fā)展,移動(dòng)多媒體廣播業(yè)務(wù)已經(jīng)成為炙手可熱的發(fā)展熱點(diǎn)。國(guó)際上流行的數(shù)字移動(dòng)多媒體廣播標(biāo)準(zhǔn)主要有三個(gè):歐洲的DVB-H,美國(guó)的MediaFLO和韓國(guó)的T-DMB。而中國(guó)在2006年9月,由北京新岸線軟件科技有限公司提出了新一代地面移動(dòng)媒體廣播(Terrestrial Mobile Multimedia Broadcasting,簡(jiǎn)稱T-MMB)系統(tǒng)。該系統(tǒng)具有獨(dú)立自主知識(shí)產(chǎn)權(quán),相比于其他制式具有頻譜利用率高、復(fù)雜度低、功耗小、頻點(diǎn)可用性好、兼容性好等優(yōu)點(diǎn)[1]。T-MMB系統(tǒng)是基于多載波OFDM調(diào)制的無(wú)線通信系統(tǒng),采用碼作為信道編碼技術(shù),無(wú)需級(jí)聯(lián)外碼就可以保障系統(tǒng)的接收性能,從而提高了系統(tǒng)的頻譜效率,降低接收機(jī)復(fù)雜度[2]。

            低密度校驗(yàn)(Low-Density Parity-Check,LDPC)碼是一種基于稀疏校驗(yàn)矩陣的線性分組碼,具有逼近香農(nóng)極限的譯碼性能[3,4]。準(zhǔn)循環(huán)低密度校驗(yàn)(QC-LDPC)碼是低密度校驗(yàn)碼的一種,其生成矩陣和校驗(yàn)矩陣都具有準(zhǔn)循環(huán)的特點(diǎn),在保持較好譯碼性能的基礎(chǔ)上大大降低了譯碼器實(shí)現(xiàn)的復(fù)雜度,易于用實(shí)現(xiàn)。LDPC碼譯碼器的研究工作一直是LDPC碼研究的一個(gè)重要方向。

            LDPC碼的譯碼是一個(gè)不斷迭代的消息傳遞過(guò)程。譯碼過(guò)程中需要存儲(chǔ)大量的信息,包括各節(jié)點(diǎn)的初始信息、外信息和后驗(yàn)信息等[5]。LDPC碼較強(qiáng)的糾錯(cuò)性能一般是建立在較長(zhǎng)碼長(zhǎng)基礎(chǔ)上的,這會(huì)增加譯碼算法實(shí)現(xiàn)過(guò)程中的存儲(chǔ)器容量,增加硬件資源成本與開(kāi)銷[5]。為了有效解決LDPC碼譯碼器的高存儲(chǔ)量問(wèn)題,本文在QC-LDPC碼基礎(chǔ)上,基于歸一化最小和譯碼算法,設(shè)計(jì)出一種能夠有效降低存儲(chǔ)量的譯碼器結(jié)構(gòu),并應(yīng)用FPGA實(shí)現(xiàn)。與傳統(tǒng)的譯碼器相比,本文提出的譯碼器結(jié)構(gòu)能節(jié)省75%的存儲(chǔ)空間,同時(shí)提升系統(tǒng)的時(shí)鐘頻率和譯碼吞吐量。  

          ?

            T-MMB系統(tǒng)的總體設(shè)計(jì)

            本文搭建的T-MMB系統(tǒng)總體架構(gòu)如圖1所示。按照?qǐng)D1建模,進(jìn)行MATLAB仿真并進(jìn)行譯碼器的FPGA實(shí)現(xiàn)。業(yè)務(wù)數(shù)據(jù)經(jīng)過(guò)1/2碼率的LDPC碼編碼后,得到調(diào)制前的信息序列,其中T-MMB系統(tǒng)中LDPC碼有兩種編碼方式,表1給出了標(biāo)準(zhǔn)中LDPC碼的詳細(xì)編碼參數(shù);之后進(jìn)行8PSK調(diào)制,加高斯白噪聲;之后解調(diào)得到各碼元對(duì)應(yīng)的軟信息;最后,按照譯碼算法進(jìn)行譯碼處理,求出誤碼率。本文采用的譯碼算法為歸一化最小和譯碼算法,它是修正最小和譯碼算法中的一種,可以避免譯碼過(guò)程中的信道估計(jì),提高譯碼器工作的穩(wěn)定性[8],其譯碼步驟參考文獻(xiàn)[5]所示。

            高效存儲(chǔ)譯碼架構(gòu)

            手機(jī)電視標(biāo)準(zhǔn)T-MMB中規(guī)定QC-LDPC碼的校驗(yàn)矩陣維度為2304×4608,可以由32×64個(gè)72×72的分循環(huán)矩陣構(gòu)成。每行中不為全0矩陣的個(gè)數(shù)為7,每列中不為全0矩陣的個(gè)數(shù)為2、3、9。綜合考慮譯碼器的速率要求和FPGA面積要求,本文采用部分并行結(jié)構(gòu)的運(yùn)算方式完成譯碼器的設(shè)計(jì),采取8bit均勻量化。按照文獻(xiàn)[9]對(duì)存儲(chǔ)資源的計(jì)算方法可知量化比特?cái)?shù)Q=8,部分并行結(jié)構(gòu)譯碼器的復(fù)用指數(shù)L=72。水平運(yùn)算時(shí)有32個(gè)校驗(yàn)節(jié)點(diǎn)處理單元(CNUs)同時(shí)運(yùn)算,需要同時(shí)向32×7個(gè)存儲(chǔ)變量節(jié)點(diǎn)信息的RAM中讀取變量節(jié)點(diǎn)信息用于水平運(yùn)算,計(jì)算結(jié)果需要同時(shí)存儲(chǔ)到32×7個(gè)存儲(chǔ)校驗(yàn)節(jié)點(diǎn)信息的RAM中,重復(fù)計(jì)算72次就可以完成一次迭代中的水平運(yùn)算。垂直運(yùn)算時(shí)有64個(gè)變量節(jié)點(diǎn)處理單元(VNUt)在同時(shí)運(yùn)算,向每列中的子矩陣對(duì)應(yīng)的存儲(chǔ)校驗(yàn)節(jié)點(diǎn)信息的RAM同時(shí)取出數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算72次后將結(jié)果存儲(chǔ)到相應(yīng)列矩陣對(duì)應(yīng)的存儲(chǔ)變量節(jié)點(diǎn)信息的RAM中。

            若采用傳統(tǒng)的子矩陣存儲(chǔ)方式,每個(gè)子矩陣需對(duì)應(yīng)一個(gè)RAM存儲(chǔ)校驗(yàn)節(jié)點(diǎn)信息以及一個(gè)RAM存儲(chǔ)變量節(jié)點(diǎn)信息,每個(gè)RAM寬度為8bit,深度為72。本次設(shè)計(jì)共需要448個(gè)RAM來(lái)存儲(chǔ)校驗(yàn)節(jié)點(diǎn)信息以及變量節(jié)點(diǎn)信息,需要占用較多的存儲(chǔ)資源,同時(shí)由于本設(shè)計(jì)LDPC碼碼字較長(zhǎng)校驗(yàn)矩陣較大,其余單元在實(shí)現(xiàn)時(shí)亦需要占用較多的存儲(chǔ)資源,一般的FPGA很難滿足這樣的要求。

            本文設(shè)計(jì)了一種新的RAM存儲(chǔ)方式,采用Xilinx公司Virtex-4系列的FPGA進(jìn)行實(shí)現(xiàn),采取自帶塊RAM的存儲(chǔ)方式,RAM容量為18Kb。在實(shí)現(xiàn)時(shí),將塊RAM例化為寬度32bit深度155的雙口塊RAM,深度0~71上存放校驗(yàn)節(jié)點(diǎn)信息,深度80~151上存放變量節(jié)點(diǎn)信息。因?yàn)樾r?yàn)節(jié)點(diǎn)與變量節(jié)點(diǎn)同時(shí)處理的多個(gè)消息必須同時(shí)讀出或?qū)懭氪鎯?chǔ)器中[10]。為保證同步,本文采取的做法是將偏移量相同的子矩陣對(duì)應(yīng)的校驗(yàn)節(jié)點(diǎn)信息或變量節(jié)點(diǎn)信息存儲(chǔ)到同一塊RAM中。由于Xilinx的塊RAM最大位寬為32bit,所以最多有4個(gè)子矩陣對(duì)應(yīng)的信息可以存儲(chǔ)到同一塊RAM中。存儲(chǔ)方式如圖2所示。  

          ?

          fpga相關(guān)文章:fpga是什么



          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: LDPC FPGA 201307

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();