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

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的LDPC編碼設(shè)計(jì)

          基于FPGA的LDPC編碼設(shè)計(jì)

          作者: 時(shí)間:2010-06-30 來(lái)源:網(wǎng)絡(luò) 收藏

          設(shè)c:[sp1 p2],其中s為系統(tǒng)信息部分,p1和p2共同組成校驗(yàn)信息部分,p1長(zhǎng)為g,p2長(zhǎng)為(m-g)。HcT=0左乘得到

          定義F=-ET-1 B+D,并且假定F是非奇的,由式(3)可得到p1和p2的求解式分別為

          在式(4)求解p1的過(guò)程中,要求矩陣F可逆,因此F必須為非奇異的,即可逆。因此實(shí)際前必須進(jìn)行秩校驗(yàn)。為得到F,對(duì)原始H矩陣進(jìn)行高斯消元得到式(6)的形式:

          如果F為奇異的,則將F中的列與其最左邊的列進(jìn)行交換,直到F非奇異為止。
          復(fù)雜度主要由g×g維矩陣F-1與向量(-ET-1 A+C)sT相乘決定。RU算法在g很小時(shí),即g2n時(shí),復(fù)雜度與碼長(zhǎng)n成線性關(guān)系。因此,為了進(jìn)行有效編碼,預(yù)處理要使得g應(yīng)盡量的小。
          2.2 編碼器硬件結(jié)構(gòu)
          基于RU算法的編碼實(shí)現(xiàn)過(guò)程主要是計(jì)算p1、p2的過(guò)程。設(shè)計(jì)編碼器時(shí),為了提高編碼速度,將可以同時(shí)計(jì)算的步驟作并行處理,得到編碼器的硬件結(jié)構(gòu)如圖2所示。

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


          圖2中,A、B、C、E分別代表圖1中相應(yīng)的矩陣,其中,F(xiàn)=-ET-1 B+D。從圖2可知編碼器主要由矩陣向量相乘(MVM)、前向迭代(FS)、向量相加(VA)和向量合成器(CWG)等運(yùn)算單元以及存儲(chǔ)各個(gè)矩陣相關(guān)信息的存儲(chǔ)器組成。因?yàn)榍跋虻\(yùn)算基本上是矩陣與向量的乘法計(jì)算,所以矩陣向量乘法是編碼過(guò)程最核心的單元。

          3 矩陣向量乘法器(MVM)的實(shí)現(xiàn)
          矩陣與矩陣的乘法運(yùn)算以及前向迭代運(yùn)算實(shí)質(zhì)上都是矩陣與向量的乘法。下面說(shuō)明矩陣向量乘法器硬件實(shí)現(xiàn)。


          對(duì)于LDPC編碼器,如何有效存儲(chǔ)各個(gè)矩陣的信息是降低復(fù)雜度的關(guān)鍵。本文采用存儲(chǔ)矩陣中元素‘1’在行中的位置以及對(duì)應(yīng)行行重,如表1所示。例如矩陣X第3行的“1”元素,在行中的位置分別為“0”、“4”,該行的行重為2。由于LDPC編碼過(guò)程中使用的矩陣大多是稀疏矩陣,所以采用該矩陣存儲(chǔ)方案能比較有效地利用存儲(chǔ)的空間并有利于矩陣與向量乘法的快速實(shí)現(xiàn)。



          關(guān)鍵詞: FPGA LDPC 編碼

          評(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); })();