基于FPGA的LDPC編碼設(shè)計(jì)
設(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算法的LDPC編碼實(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可知LDPC編碼器主要由矩陣向量相乘(MVM)、前向迭代(FS)、向量相加(VA)和向量合成器(CWG)等運(yùn)算單元以及存儲(chǔ)各個(gè)矩陣相關(guān)信息的存儲(chǔ)器組成。因?yàn)榍跋虻\(yùn)算基本上是矩陣與向量的乘法計(jì)算,所以矩陣向量乘法是LDPC編碼過(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)。
評(píng)論