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