劉帥,何晶
(中國傳媒大學電路與系統 信息工程學院,北京 100024)
LDPC信道編碼技術是編碼界的重要成果之一,它由美國的Gallager教授在1962年提出,但由于當時的技術條件缺乏可行的譯碼算法,此后的35年間基本上被人們忽略,一直沒有收到編碼界的重視,英國的Mackay教授等人在1996年“再發現”LDPC碼后才轟動世界,成為信息論提出以來最重大的研究進展之一。理論研究表明:1/2碼率的LDPC 碼在BPSK調制下的性能距信息論中的香農極限僅差0.0045dB,是目前距香農極限最近的糾錯碼。[1]LDPC碼與高效調制相結合,能滿足下一代移動通信高速數據大容量傳輸的迫切要求。LDPC碼迭代譯碼的思想也為實現迭代信道估計、迭代均衡以及信號檢測提供了新的思路。
CMMB(China Multimedia Broadcasting)是基于泰美公司STiMi(Satellite and Interactive Multiservice Infrastructure)技術研發的新一代多媒體廣播技術,于2006年10月被批準為廣電系統的標準。
和積算法(SPA)是基于Tanner圖的LDPC碼的軟判決譯碼,其每一次迭代包括兩個步驟:校驗節點信息更新和變量節點信息更新。在均值為0,功率譜密度為σ2的加性高斯白噪音(AWGN)信道中采用BPSK調制方式時,和積算法的譯碼步驟如下:
(1)初始化,根據接收數據yi初始化變量節點ci后驗概率信息:
(1)
(2)校驗節點更新,利用變量節點的最新信息qij來更新校驗節點的相關后驗概率信息rji:
(2)
(3)變量節點更新,利用校驗節點的最新信息來更新變量節點的相關后驗概率信息qir:
(3)
歸一化,有
(4)
(4)譯碼判決
對所有i計算:
(5)
其中常數Ki的選擇應使Qi(0)+Qi(1)=1。
對所有變量節點判決:
(6)
(5)譯碼停止
將判決得到的碼字列向量代入校驗方程,若滿足校驗,或者迭代次數達到預先設定的最大迭代次數,則終止譯碼,所得即作為最終譯碼碼字;否則迭代次數增1,并返回步驟(2)繼續進行迭代更新。
上述和積譯碼(SPA)在概率運算上存在一些缺點,首先算法中包括指數運算和很多乘法,給硬件實現和計算帶來了很大的困難。其次當碼長很長時,概率乘法在數字計算上會不穩定,影響收斂性。為了簡化算法中乘法運算量,可用對數域和積算法來代替和積算法。
為了方便討論,首先定義對數似然比(LLR):
(7)
(8)
(9)
(10)
又知:
(11)
令λ=ln(P0/P1),則

(12)
根據上述定義,算法如下:
(1)初始化
L(qij)=L(ci)=2yi/σ2
(13)
(2)校驗節點更新
(14)
上式中仍然存在乘積運算,為解決這一問題,根據Gallager的定義,將L(qij)表示為L(qij)=αijβij,其中αij=sign(L(qij)),βij=|L(qij)|
則有

(15)

并根據性質f-1=f,有
(16)
可以根據函數f(x)性質,用查表法實現校驗節點更新。
(3)變量節點更新
(17)
(4)譯碼判決
(18)
對所有的變量節點有
(19)
(5)譯碼停止

本文采用0.5碼率。LDPC碼譯碼算法性能仿真模型在MATLAB平臺下搭建,仿真所采用的信道模型是AWGN信道,調制方式為BPSK。
LDPC編碼配置表[4]:

LDPC編碼配置表
SPA算法由于其運算量大,硬件實現復雜度高,一般多應用于碼長比較短且對BER要求較高的場合,故本文不予采用。對數域和積算法(LLR-SPA)是SPA算法在對數域的等效簡化算法,它將大量的乘法運算變為加法運算,極大地降低了運算量和硬件實現復雜度。圖1為LLR-SPA算法的誤碼率仿真圖。

圖1
本文對二元LDPC碼的譯碼算法進行了研究,闡述了和積算法和對數域和積算法的原理,并且在CMMB標準下對碼率為1/2的LDPC碼驚醒LLR-SPA算法仿真得出誤碼率曲線圖。從圖1中可以看出隨著SNR的增加,誤碼率(BER)曲線下降速度很快。硬件實現復雜度方面,LLR-SPA算法比SPA算法硬件實現復雜度得到一定程度的降低,但性能稍微低于SPA算法。
[1]Shannon C E.A Mathematical Theory of Communication [J].Bell System Technical Journal,1948,27:623-656.
[2]李松林,于忠臣.基于CMMB系統的LDPC譯碼器的設計與實現[C].北京:北京工業大學,2010:19-20.
[3]文紅,符初生,周亮.LDPC碼原理與應用[M].成都:電子科技大學出版社,2006.
[4]移動多媒體廣播 第一部分:廣播信道幀結構、信道編碼和調制[S].國家廣播電影電視總局.2006.