新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于CMMB系統(tǒng)的LDPC譯碼器的設計與實現(xiàn)

基于CMMB系統(tǒng)的LDPC譯碼器的設計與實現(xiàn)

作者: 時間:2011-03-28 來源:網(wǎng)絡 收藏

摘要:根據(jù)碼校驗矩陣的結構特點,提出了一種部分并行譯碼結構的實現(xiàn)方法,并在XILINX的VirtexIV的XC4VLX80型FPGA上實現(xiàn)了這種結構。該設計充分利用了校驗矩陣的規(guī)律,采用了一種適當?shù)挠布Y構和獨特的存儲器調用控制策略,故可在保證高性能和較大吞吐率的情況下,以較少的硬件資源實現(xiàn)兩種碼率的復用。
關鍵詞:;中國移動多媒體廣播;碼;部分并行結構;

0 引言
低密度奇偶校驗(Low Density Parity Check,LDPC)碼是由Gallager博士在1962年首次提出來的,由于LDPC碼的誤碼性能能夠逼近香農限,因而在無線通信、衛(wèi)星通信等領域都得到了較多應用。中國移動多媒體廣播()中使用的就是LDPC糾錯編碼。在CMMB標準中,LDPC碼長為9216,可支持1/2和3/4兩種碼率。作者通過深入分析CMMB中LDPC碼校驗矩陣的特點,采用了一種合適的硬件實現(xiàn)結構,因而在保證較高性能和較快譯碼速度的情況下,以較低的硬件資源實現(xiàn)了兩種碼率的復用。

1 CMMB標準中的LDPC譯碼算法
1.1 CMMB中LDPC碼的主要特征
CMMB采用規(guī)則的LDPC碼,兩種碼率的LDPC校驗矩陣有類似的規(guī)律。CMMB中1/2碼率的LDPC碼校驗矩陣為一個4608x9216的矩陣,進一步可劃分為256個18x9216行子矩陣。其中下一個行子矩陣是上一個行子矩陣的向右循環(huán)移36位,每一個行子矩陣的行重都為6;也可以把它劃分為256個4608x36列子矩陣,其中后一個列子矩陣是前一個列子矩陣的向下循環(huán)移18位,每一個列子矩陣的列重都為3。同理,3/4碼率的矩陣也可以進行類似的劃分,可劃分為256個9x9216的行子矩陣,每個行子矩陣的行重為12;當然,也可以分為256個2304x36,列重為3的列子矩陣。從校驗矩陣的特點可以看出,只要存儲器能存儲一個行或列子矩陣的非零元素,則利用這些非零元素,就可以恢復出整個校驗矩陣,從而進行譯碼。而且更為重要的是,對于同種碼率,行子矩陣組和列子矩陣組之間在非零元素位置上有著潛在的對應關系。本文正是通過挖掘這種潛在的對應關系,設計出了一種獨特的存儲器調用控制策略,并成功實現(xiàn)了復用RAM的同時,滿足了兩種碼率的硬件結構。
1.2 LDPC譯碼算法
常用的LDPC碼譯碼算法為置信度傳遞解碼算法(BP decoding)。該算法相對比較成熟,性能非常優(yōu)異。但是,BP算法中的f(x)函數(shù)包含對數(shù)運算和指數(shù)運算,這些復雜運算大大增加了BP的運算量和復雜度。Fossorier等在1999年提出了一種min-sum譯碼算法,即利用一種近似的方法來處理BP算法中的f(x)函數(shù),以將對數(shù)和指數(shù)運算化簡為乘法和比較運算,從而減少了譯碼器的運算量,但該方法在性能上也有一定損失。后來,Jinghu Chen和Fossorier又提出了修正的min-sum算法。在碼長較長的情況下,修正的min-sum算法比BP算法性能只差0.03~0.05 dB,而在算法復雜度上則只需要乘以一個常量修正因子?;谝陨戏治?,本文采用修正的min-sum算法來進行迭代更新,此更新分為校驗節(jié)點更新和變量節(jié)點更新。其迭代譯碼步驟分為兩步。
第一步是初始化,即對每個m和n,a.JPG
其次是迭代過程。而每次迭代又包括以下3個步驟:
b.JPG
從而達到預定的迭代次數(shù)。否則重新更新Qm=n并開始下一輪迭代。上面式中的k表示第k次迭代。
記集合N(m)表示與校驗節(jié)點相連的所有變量節(jié)點;集合M(n)表示與變量節(jié)點相連的所有校驗節(jié)點;N(m)\n表示N(m)中除去變量節(jié)點n,同理,M(n)\m表示M(n)中除去校驗節(jié)點m。α一般取值為0.6~0.9,本中通過C模型浮點和定點仿真,可以得到α的最佳取值約為0.8,為了便于移位實現(xiàn),取值為0.7875或者0.8125均可。

本文引用地址:http://m.butianyuan.cn/article/191280.htm


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉