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