一種基于優(yōu)化稀疏lu分解的ldpc編碼算法
【專利摘要】本發(fā)明公開了一種基于優(yōu)化稀疏LU分解的LDPC編碼算法,與現(xiàn)有技術(shù)相比,得到的矩陣L和U具有更好的稀疏性,降低了存儲(chǔ)空間和編碼算法的復(fù)雜度,本發(fā)明可以直接獲得LU分解后的下三角矩陣L和上三角矩陣U。根據(jù)類似E和COL_ORDER(i)的構(gòu)造方法,可以通過(guò)向量row和col構(gòu)造矩陣W和V。同時(shí),本發(fā)明所提的編碼算法和優(yōu)化稀疏的LU分解可以推廣到其他LDPC碼應(yīng)用場(chǎng)景。采用緊湊的存儲(chǔ)方案,也進(jìn)一步降低了存儲(chǔ)空間,在CMMB標(biāo)準(zhǔn)實(shí)際應(yīng)用中具有較好的前景。
【專利說(shuō)明】—種基于優(yōu)化稀疏LU分解的LDPC編碼算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于優(yōu)化稀疏LU分解的LDPC編碼算法。
【背景技術(shù)】
[0002]LDPC碼是一種逼近Shannon極限(0.0045dB)的信道編碼,具有極低的錯(cuò)誤平臺(tái)(Error Floor)。CMMB標(biāo)準(zhǔn)中設(shè)計(jì)的LDPC碼校驗(yàn)矩陣十分特殊,編碼算法需要針對(duì)該校驗(yàn)矩陣進(jìn)行優(yōu)化設(shè)計(jì)。相關(guān)學(xué)者深入研究了 CMMB標(biāo)準(zhǔn)中的LDPC編碼算法,其編碼算法主要基于LU分解。優(yōu)化稀疏LU分解可保證編碼算法的低復(fù)雜度和低存儲(chǔ)空間,是CMMB標(biāo)準(zhǔn)中LDPC碼編碼算法的研究重點(diǎn)。
[0003]文獻(xiàn)I “江瑤,門愛東.二種CMMB系統(tǒng)中的LDPC編碼優(yōu)化算法[EB/0L].中國(guó)科技論文在線,2011”研究了基于LU分解的編碼算法和近似下三角編碼算法的性能。從資源消耗和編碼效率的角度,基于“最小行重中最小列重法”可以獲得較為稀疏的矩陣下三角矩陣L和上三角矩陣U。
[0004]文獻(xiàn)2 “張鵬,楊剛,楊霏,劉昌銀.基于改進(jìn)LU分解的CMMB標(biāo)準(zhǔn)中LDPC編碼器設(shè)計(jì)[電視技術(shù),2010,34 (4),p.33-35]”提出了一種改進(jìn)的LU分解算法,將校驗(yàn)矩陣進(jìn)行初等變換得到一個(gè)梯形矩陣,然后對(duì)梯形矩陣的下半部分B'進(jìn)行LU分解。由于B'具有更小的維度,LU分解得到的下三角矩陣L'和上三角矩陣U'中元素"I"數(shù)量相對(duì)較小,但是,考慮到梯形矩陣的上半部分元素"I"的存儲(chǔ),整體稀疏性不一定是最優(yōu)的。
[0005]文獻(xiàn) 3“Jia-ning Su, Zhou Jiang, Ke Liu, et al.An Efficient Low ComplexityLDPC Encoder Based on LU Factorization with Pivoting[6th InternationalConference On ASIC, 2005, vol.1,p.107-110] ” 利用列主元 Gauss 消去法進(jìn)行 LU 分解,相對(duì)傳統(tǒng)LU分解,能夠降低下三角矩陣L和上三角矩陣U中元素"I"的個(gè)數(shù),但是,該LU分解算法不是最優(yōu)的。
[0006]文獻(xiàn)4 “Peng Wang, Yongen Chen.Low-complexity Real-time LDPC EncoderDesign for CMMB[International Conference on Intelligent Information Hiding andMultimedia Signal Processing, 2008, p.1209-1212] ” 設(shè)計(jì)了一種低復(fù)雜度實(shí)時(shí) LDPC 編碼器,提出采用優(yōu)化的部分主元LU分解。但是,文獻(xiàn)沒(méi)有給出具體的優(yōu)化方案,且該方案的稀疏分解并不是最優(yōu)的。
[0007]文獻(xiàn)5“Zeng Zhibin.A High-efficieny LDPC Encoder for CMMB with DynamicProgramming[4th International Conference on Intelligent Computation Technologyand Automation, 2011, vol.2, p.337-340].”基于動(dòng)態(tài)規(guī)劃進(jìn)行LDPC編碼器設(shè)計(jì),可以獲得較為稀疏的矩陣下三角矩陣L和上三角矩陣U,
【發(fā)明者】嘗試實(shí)現(xiàn)文中所提算法,沒(méi)有得到相應(yīng)的結(jié)果。
[0008]文獻(xiàn)6“HangYin, Weitao Du,Nanhao Zhu.Design of Improved LDPC Encoder forCMMB Based on SIMD Architecture[IEEE International Conference on InformationScience and Technology, 2013, p.123-126] ” 設(shè)計(jì)了一種基于 SMD 架構(gòu)的改進(jìn) LDPC 編碼器,文中給出了 LU分解的結(jié)果,但是未說(shuō)明具體實(shí)現(xiàn)的算法。
[0009]文獻(xiàn)7“RadfordM.Neal.Sparse Matrix Methods and Probabilistic InferenceAlgorithms [EB/OL], [2013-11-26] ”中采用行重-列重乘積最小化作為優(yōu)化手段,即在選取交換元時(shí),采用Prodi, j = (Wr1-1) X (Wcj-1)作為優(yōu)化規(guī)則,其中,Wri和Wcj為矩陣中i行j列元素"I "對(duì)應(yīng)的第i行行重和第j列列重。不難發(fā)現(xiàn),采用這種優(yōu)化規(guī)則存在一些問(wèn)題。例如,假設(shè)Wril = wri2 = I, il < i2, Wcjl > wcJ2, jl < j2,采用此優(yōu)化規(guī)則,il行jl列的元素"I"被選中作為主元。事實(shí)上,由于j2列具有更小的列重,i2行j2列的元素"I"更適合被選中作為主元。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)的不足,提出一種基于優(yōu)化稀疏LU分解的LDPC編碼算法,該算法改進(jìn)了優(yōu)化準(zhǔn)則,進(jìn)行稀疏LU分解,以進(jìn)一步降低編碼算法的復(fù)雜度和存儲(chǔ)空間。
[0011]為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案包括以下步驟:
[0012]I)優(yōu)化稀疏LU分解
[0013]步驟1.初始化row[i] = i和col [i] = i, i = O, I,...,Μ-1 ;初始化下三角矩陣L = Imxm為單位陣;初始化上三角矩陣U = Hp ;初始化η = O, rr = n+1 ;其中,row和col為分別記錄行、列交換操作的向量,維度為MXl ;
[0014]步驟2.統(tǒng) 計(jì)上三角矩陣U第η行到第(M-1)行的行重,記錄在wr ;統(tǒng)計(jì)上三角矩陣U第η列到第(M-1)列的列重,記錄在wc ;其中,wr和wc為分別記錄行重、列重的向量,維度為MX I ;
[0015]步驟3.從上三角矩陣U第η列到第(M-1)列、第η行到第(M_l)行中,根據(jù)公式Prodij j = WriXWcj查找行重和列重乘積最小值對(duì)應(yīng)的元素"I ",相應(yīng)列、行索引記為nc和nr ;
[0016]步驟4.列交換,Col[ne] -ΦΦ- COl[n],交換上三角矩陣U的第nc列和第η列;行交
換,row["r]分row [N,],交換上三角矩陣U的第nr行和第η行,交換下三角矩陣L的第nr行和第η行;
[0017]步驟5.如果U(rr,η) = I,將上三角矩陣U的第η行加到第rr行,下三角矩陣L的第η行加到第rr行;
[0018]步驟6.rr = rr+Ι,如果rr < M,返回步驟5,否則,進(jìn)行下一步驟;
[0019]步驟7.令n = n+1,如果η < Μ-l,返回步驟2,否則,算法結(jié)束;
[0020]2)基于優(yōu)化稀疏LU分解進(jìn)行LDPC編碼算法。
[0021]所述的下三角矩陣L和上三角矩陣U,維度為ΜΧΜ。
[0022]所述的步驟2)中,基于優(yōu)化稀疏LU分解的LDPC編碼算法具體為:
[0023]由CMMB標(biāo)準(zhǔn)可知,輸出編碼是經(jīng)過(guò)比特映射向量進(jìn)行重排的;假設(shè)K表示信息比特長(zhǎng)度,N表示信息比特長(zhǎng)度,M = N-K表示信息比特長(zhǎng)度;輸出碼字C = (c0, C1,…,(V1)τ,信息比特S= (s0, S1,..., SkJt和校驗(yàn)比特P = (p0, P1,…,Pn-H^t ;其中,C、S和P均為列向量,T表示矩陣轉(zhuǎn)置;C、S和P之間由比特映射向量給出,定義如下:
【權(quán)利要求】
1.一種基于優(yōu)化稀疏LU分解的LDPC編碼算法,其特征在于,包括以下步驟: 1)優(yōu)化稀疏LU分解 步驟1.初始化row[i] =i和col[i] = i, i = O, I, *..,Μ-1 ;初始化下三角矩陣L =Imxm勾單位陣;初始化上三角矩陣U = Hp ;初始化η = O, rr = n+1 ;其中,row和col為分別記錄行、列交換操作的向量,維度為MXl ; 步驟2.統(tǒng)計(jì)上三角矩陣U第η行到第(M-1)行的行重,記錄在wr;統(tǒng)計(jì)上三角矩陣U第η列到第(M-1)列的列重,記錄在wc ;其中,wr和wc為分別記錄行重、列重的向量,維度為 MXl ; 步驟3.從上三角矩陣U第η列到第(M-1)列、第η行到第(M-1)行中,根據(jù)公式Prodi,j = WriXwcj查找行重和列重乘積最小值對(duì)應(yīng)的元素"I",相應(yīng)列、行索引記為nc和nr ; 步驟4.列交換, colfnc] 4Φ col[n], 交換上三角矩陣U的第nc列和第η列;行交換,row[m.]分row [N,],交換上三角矩陣U的第nr行和第η行,交換下三角矩陣L的第nr行和第η行; 步驟5.如果U(rr,n) = 1,將上三角矩陣U的第η行加到第rr行,下三角矩陣L的第η行加到第rr行; 步驟6.rr = rr+Ι,如果rr < M,返回步驟5,否則,進(jìn)行下一步驟; 步驟7.令η = n+1,如果η < M_l,返回步驟2,否則,算法結(jié)束; 2)基于優(yōu)化稀疏LU分解進(jìn)行LDPC編碼算法。
2.根據(jù)權(quán)利要求1所述的基于優(yōu)化稀疏LU分解的LDPC編碼算法,其特征在于:所述的下三角矩陣L和上三角矩陣U,維度為ΜΧΜ。
3.根據(jù)權(quán)利要求1所述的基于優(yōu)化稀疏LU分解的LDPC編碼算法,其特征在于:所述的步驟2)中,基于優(yōu)化稀疏LU分解的LDPC編碼算法具體為: 由CMMB標(biāo)準(zhǔn)可知,輸出編碼是經(jīng)過(guò)比特映射向量進(jìn)行重排的;假設(shè)K表示信息比特長(zhǎng)度,N表示信息比特長(zhǎng)度,M = N-K表示信息比特長(zhǎng)度;輸出碼字C = (c0, C1,…,(V1)tJW息比特S= (s0, S1,..., SkJt和校驗(yàn)比特P = (p0, P1,…,Pn-H^t ;其中,C、S和P均為列向量,T表示矩陣轉(zhuǎn)置;C、S和P之間由比特映射向量給出,定義如下:
4.根據(jù)權(quán)利要求3所述的基于優(yōu)化稀疏LU分解的LDPC編碼算法,其特征在于,還包括以下步驟: 3)緊湊的存儲(chǔ)方案 根據(jù)LDPC編碼算法,整個(gè)編碼過(guò)程需要存儲(chǔ)的矩陣包括A0、L、U、V知Et ;V和Et為置換矩陣,而且滿足以下關(guān)系
【文檔編號(hào)】H03M13/11GK103780268SQ201410032270
【公開日】2014年5月7日 申請(qǐng)日期:2014年1月23日 優(yōu)先權(quán)日:2014年1月23日
【發(fā)明者】徐娟, 姚如貴, 李路, 王會(huì)峰, 朱禮亞 申請(qǐng)人:長(zhǎng)安大學(xué)