專利名稱:一種多進(jìn)制ldpc的串行fht-bp譯碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字信息傳輸技術(shù)領(lǐng)域,特別涉及一種多進(jìn)制LDPC碼的串行FHT-BP譯碼方法及裝置。
背景技術(shù):
低密度奇偶校驗(yàn)(LDPC,Low Density Parity Check)碼是目前數(shù)字信息傳輸領(lǐng)域中大量使用的信道編碼。LDPC碼作為一種普通的線性分組碼,通常用生成矩陣G和校驗(yàn)矩陣Hmxn來表示,M為校驗(yàn)矩陣行數(shù),N為校驗(yàn)矩陣的列數(shù),其特點(diǎn)是奇偶校驗(yàn)矩陣Hmxn中非零元素的個(gè)數(shù)遠(yuǎn)遠(yuǎn)小于零元素的個(gè)數(shù)。LDPC 碼包括二進(jìn)制 LDPC 碼(B-LDPC, Binary-Low Density Parity Check)和多 進(jìn)制 LDPC 碼(Q-LDPC, Q-ary Low Density Parity Check),相比較而言,多進(jìn)制 LDPC 碼比二進(jìn)制LDPC碼具有更好的性能。定義在高階伽羅華域GF (Galois Field)的Q-LDPC碼也可以用一個(gè)低密度校驗(yàn)矩陣Hm,N來描述,只是矩陣Hm,N的每個(gè)元素取自GF(q)。一個(gè)長度為N的向量X如果滿足下式,則認(rèn)為向量X為碼字冗m = O,Tft = I, ...fN
nQ-LDPC碼可以視作M個(gè)子碼組合,每個(gè)子碼均為簡單的奇偶校驗(yàn)碼。根據(jù)校驗(yàn)矩陣的行重、列重也可分為規(guī)則Q-LDPC碼和不規(guī)則Q-LDPC碼。規(guī)則的Q-LDPC碼的校驗(yàn)矩陣的每行每列的非零元素?cái)?shù)目都是固定的,為d。和dv。在信息傳輸過程中,接收端需要對LDPC碼進(jìn)行譯碼,Q-LDPC碼與B-DPC碼譯碼過程中最大的區(qū)別在于傳遞的消息不同。概率消息由原來的只對應(yīng)于0和I兩個(gè)元素?cái)U(kuò)展到對應(yīng)GF(2P)上的2P個(gè)元素,這使水平更新過程中消息C的計(jì)算復(fù)雜度大大增加。目前,Q-LDPC譯碼方法主要有概率BP譯碼、并行FHT-BP譯碼、串行FHT-BP譯碼等。其中串行FHT-BP譯碼方法適用于數(shù)據(jù)傳輸率較低,譯碼器復(fù)雜度受限的場合。令N(m) = {n Hmn ^ 0}為參加校驗(yàn)節(jié)點(diǎn)m的所有變量節(jié)點(diǎn)的集合;M(n) = {m Hnin幸0}為變量節(jié)點(diǎn)n所參加的校驗(yàn)節(jié)點(diǎn)m的集合。N(m) \n表示集合N(m)中除去變量節(jié)點(diǎn)n,同理M(n)\m表示M(n)中除去校驗(yàn)m。令a G GF (q), C為由除去校驗(yàn)m的其他校驗(yàn)得到的X的第n位取a的概率,匕為X的第n位取a時(shí)校驗(yàn)m被滿足的概率。傳統(tǒng)串行FHT-BP譯碼方法的主要步驟為步驟一初始化,對于所有的m, n, Hmn古0,令I(lǐng)n =(108(/:),10^),-,10^/;-1))Iqnm = In Jlrnm = 0 ;n = I步驟二對于 m G M (n),更新 IrmnIrmn=IFHT X 冊m,]式⑴
步驟三對于m G M (n),更新Iqmn
權(quán)利要求
1.一種多進(jìn)制LDPC的串行FHT-BP譯碼方法,包括 步驟I :變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的初始化; 步驟2 :變量節(jié)點(diǎn)更新; 步驟3 :校驗(yàn)節(jié)點(diǎn)更新; 步驟4 :對變量節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)進(jìn)行譯碼判決,若判決通過則將譯碼結(jié)果輸出,否則返回步驟2 ; 其特征在于 在步驟I中,通過以下方法進(jìn)行初始化 將用于更新變量節(jié)點(diǎn)Vnm的消息Iqmn初始化為O ; 將用于更新校驗(yàn)節(jié)點(diǎn)Cnm的消息Irm初始化為編碼信息經(jīng)FHT變換后的和值,所述編碼信息由待譯碼碼字確定; 在步驟2中,根據(jù)下式利用Iqnm對變量節(jié)點(diǎn)Vmn進(jìn)行更新,Iqmn = IFHT [Irm-FHT [Iq' n-lq' J] 其中,W mn為用于對變量節(jié)點(diǎn)Vmn進(jìn)行前次更新時(shí)的消息; 在步驟3中,根據(jù)下式利用Irnm對校驗(yàn)節(jié)點(diǎn)Cmn進(jìn)行更新,Irm = Ir' m+FHT[ Iqn-IqJ 其中,Ir' m為對校驗(yàn)節(jié)點(diǎn)Cmn前次更新時(shí)的消息;Iqn = Iq' n-lq' mn+lqmn
2.根據(jù)權(quán)利要求I所述的一種多進(jìn)制LDPC的串行FHT-BP譯碼方法,其特征在于采用一維存儲空間用于進(jìn)行校驗(yàn)節(jié)點(diǎn)更新的消息li>
3.一種多進(jìn)制LDPC的串行FHT-BP譯碼裝置,包括初始化模塊、變量節(jié)點(diǎn)更新模塊、校驗(yàn)節(jié)點(diǎn)更新模塊和判決輸出模塊,其中,所述判決輸出模塊對變量節(jié)點(diǎn)更新模塊和校驗(yàn)節(jié)點(diǎn)更新模塊的譯碼結(jié)果判決,并根據(jù)判決結(jié)果輸出譯碼結(jié)果, 其特征在于所述變量節(jié)點(diǎn)更新模塊包括變量節(jié)點(diǎn)運(yùn)算模塊和第一存儲模塊;所述校驗(yàn)節(jié)點(diǎn)更新模塊包括校驗(yàn)節(jié)點(diǎn)運(yùn)算模塊和第二存儲模塊 在譯碼開始前,所述初始化模塊利用O對第一存儲模塊進(jìn)行初始化;利用編碼信息的經(jīng)FHT變換后的和值對第二存儲模塊進(jìn)行初始化; 在譯碼過程中,所述變量節(jié)點(diǎn)模塊利用變量節(jié)點(diǎn)運(yùn)算模塊根據(jù)下式對變量節(jié)點(diǎn)進(jìn)行更新Iqmn = IFHT [Irm-FHT [Iq' n-lq' J] 并將獲得的Iqnm輸出給所述校驗(yàn)節(jié)點(diǎn)模塊;其中,Iq' ■為用于對變量節(jié)點(diǎn)Vnm進(jìn)行前次更新時(shí)的消息; 所述校驗(yàn)節(jié)點(diǎn)模塊利用校驗(yàn)節(jié)點(diǎn)運(yùn)算模塊根據(jù)下式對校驗(yàn)節(jié)點(diǎn)進(jìn)行更新Irm = Ir' m+FHT[ Iqn-IqJ 其中,Ir' m為對校驗(yàn)節(jié)點(diǎn)Cmn前次更新時(shí)的消息;Iqn = Iq' n-lq' mn+lqmn
4.如權(quán)利要求3所述的一種多進(jìn)制LDPC的串行FHT-BP譯碼裝置,其特征在于所述校驗(yàn)節(jié)點(diǎn)更新模塊中的第二存儲模塊的存儲空間為一維存儲空間。
全文摘要
本發(fā)明公開了一種多進(jìn)制LDPC的串行FHT-BP譯碼方法,在初始化的步驟中,將用于更新變量節(jié)點(diǎn)Vmn的消息lqmn初始化為0;將用于更新校驗(yàn)節(jié)點(diǎn)Cmn的消息lrm初始化為編碼信息經(jīng)FHT變換后的和值,所述編碼信息由待譯碼碼字確定;在對變量節(jié)點(diǎn)更新的步驟中,利用lqmn根據(jù)lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]對變量節(jié)點(diǎn)Vmn進(jìn)行更新;在對校驗(yàn)節(jié)點(diǎn)更新的步驟中,利用lrmn根據(jù)lrm=lr′m+FHT[lqn-lqmn]對校驗(yàn)節(jié)點(diǎn)Cmn進(jìn)行更新。本發(fā)明可通過對譯碼迭代過程中的重復(fù)計(jì)算進(jìn)程進(jìn)行修改,從而減少了譯碼運(yùn)算量。同時(shí),本發(fā)明還公開了一種多進(jìn)制LDPC的串行FHT-BP譯碼及裝置。
文檔編號H03M13/11GK102801432SQ20121025386
公開日2012年11月28日 申請日期2012年7月20日 優(yōu)先權(quán)日2012年7月20日
發(fā)明者陳昕, 鄒光南, 石云, 劉宇, 楊博 申請人:航天恒星科技有限公司