于FPGA的LDPC編碼器設(shè)計(jì)與實(shí)現(xiàn)
吳祖輝 熊磊 陳霞 引言 低密度奇偶校驗(yàn)(low density parity check code,ldpc)碼是一類具有稀疏校驗(yàn)矩陣的線性分組碼,不僅有逼近shannon限的良好性能,而且譯碼復(fù)雜度較低, 結(jié)構(gòu)靈活,是近年信道編碼領(lǐng)域的研究熱點(diǎn),目前已廣泛應(yīng)用于深空通信、光纖通信、衛(wèi)星數(shù)字視頻和音頻廣播等領(lǐng)域。ldpc碼已成為第四代通信系統(tǒng)(4g)強(qiáng)有力的競(jìng)爭(zhēng)者,而基于ldpc碼的編碼方案已經(jīng)被下一代衛(wèi)星數(shù)字視頻廣播標(biāo)準(zhǔn)dvb-s2采納。 編碼器實(shí)現(xiàn)指標(biāo)分析 作為前向糾錯(cuò)系統(tǒng)的重要部分,設(shè)計(jì)高速率低復(fù)雜度ldpc碼編譯碼器成為提高系統(tǒng)性能的關(guān)鍵。對(duì)ldpc碼來(lái)說(shuō),其編碼復(fù)雜度相對(duì)較大,編碼器的設(shè)計(jì)與實(shí)現(xiàn)是首要任務(wù),也是譯碼器設(shè)計(jì)與實(shí)現(xiàn)的前提,有著十分重要的作用。 編碼速率與復(fù)雜度是評(píng)價(jià)ldpc編碼器好壞的重要指標(biāo)。考慮高清晰度電視(hdtv)標(biāo)準(zhǔn)在分辨率為1920×1080,幀率為60幀/s,每個(gè)像素以24比特量化時(shí),總數(shù)據(jù)率在2gb/s的數(shù)量級(jí)。采用mpeg-2壓縮,要求數(shù)據(jù)率大約在20~40mb/s。 編碼器設(shè)計(jì)思路 設(shè)ldpc碼檢驗(yàn)矩陣為h、生成矩陣為g。傳統(tǒng)的編碼方法是利用生成矩陣g直接進(jìn)行編碼。由于g并不具有稀疏性,直接編碼的復(fù)雜度與碼長(zhǎng)n的平方成正比。本文的編碼器采用ru編碼算法。該算法通過(guò)對(duì)交換校驗(yàn)矩陣行列的位置,保持矩陣的稀疏性,利用交換行列后的校驗(yàn)矩陣進(jìn)行編碼,有效降低了編碼的復(fù)雜度。經(jīng)過(guò)行列交換的校驗(yàn)矩陣具有近似下三角形式,如圖1所示。圖1 交換校驗(yàn)矩陣
設(shè)信息序列為s,碼字為c利用圖1的矩陣可對(duì)信息序列s進(jìn)行編碼。碼字分為三部分:c=(s,p1,p2),其中s是信息比特序列,長(zhǎng)度為k;p1和p2是校驗(yàn)比特序列,長(zhǎng)度分別為g和n-k-g。校驗(yàn)比特序列p1、p2計(jì)算公式如下:編碼流程如圖2所示。圖2 編碼流程圖
設(shè)計(jì)ldpc編碼器的時(shí)候注意:在ru算法中,對(duì)校驗(yàn)矩陣進(jìn)行行列交換,轉(zhuǎn)化為近似下三角形式稱為編碼預(yù)處理過(guò)程。給定一個(gè)校驗(yàn)矩陣,編碼預(yù)處理過(guò)程和矩陣的計(jì)算只需要做一次,所以可先用軟件完成。實(shí)際的編碼計(jì)算通過(guò)硬件實(shí)現(xiàn)。這樣做有利于提高編碼硬件實(shí)現(xiàn)的效率。 ldpc碼編碼器實(shí)現(xiàn) ldpc碼編碼器硬件結(jié)構(gòu) 基于ru算法的ldpc編碼實(shí)現(xiàn)過(guò)程主要是計(jì)算p1、p2的過(guò)程。設(shè)計(jì)編碼器時(shí),為了提高編碼速度,將可以同時(shí)計(jì)算的步驟作并行處理,得到編碼器的硬件結(jié)構(gòu)如圖3所示。圖3 ldpc碼編碼器結(jié)構(gòu)
圖3中a、b、c、e分別代表圖1中相應(yīng)的矩陣,f代表φ矩陣。從圖3可知,ldpc編碼器主要由緩沖器(buffer)、矩陣向量乘法器(mvm)、矩陣加法器(va)、前向迭代運(yùn)算器(fs)、向量合成器(cwg)等運(yùn)算單元以及存儲(chǔ)各個(gè)矩陣相關(guān)信息的存儲(chǔ)器組成。因?yàn)榍跋虻\(yùn)算基本上是矩陣與向量的乘法計(jì)算,所以矩陣向量乘法是ldpc編碼過(guò)程最核心的單元。 分析圖3可知,編碼過(guò)程中,cs與as的計(jì)算是同時(shí)進(jìn)行的,其他的操作都是串行進(jìn)行的。由于行列交換保持了矩陣的稀疏性,所以與a、b、c、e矩陣的相關(guān)運(yùn)算是稀疏矩陣的運(yùn)算,存儲(chǔ)矩陣所需的空間少同時(shí)實(shí)現(xiàn)的復(fù)雜度低和運(yùn)算速度快。φ是g×g的矩陣,由于在編碼預(yù)處理過(guò)程中保證了g盡量小,所以與φ矩陣相關(guān)的運(yùn)算也是比較快的。 ldpc碼編碼器復(fù)雜度 表1和表2描述了編碼器計(jì)算校驗(yàn)序列p1、p2的流程及相應(yīng)的復(fù)雜度。表1 p1的計(jì)算表2 p2的計(jì)算
從表1和表2可知ru算法的復(fù)雜度與n+g2成正比,g越小,編碼復(fù)雜度越低。所以對(duì)校驗(yàn)矩陣進(jìn)行行列交換時(shí),使g盡量小是進(jìn)一步降低編碼復(fù)雜度的關(guān)鍵。 表1中序號(hào)2與表2中序號(hào)4的操作涉及到下三角矩陣t。由于t-1也是下三角矩陣,為了降低復(fù)雜度,可采用前向迭代進(jìn)行計(jì)算。例如:假設(shè)qx=y,q為下三角矩陣,求x。計(jì)算過(guò)程如下:
欲知詳情,請(qǐng)下載word文檔 下載文檔