專利名稱:低密度奇偶校驗碼譯碼方法和譯碼裝置的制作方法
技術領域:
本發明涉及通信領域中的糾錯碼技術,尤其涉及低密度奇偶校驗碼的譯碼方法和譯碼裝置。
背景技術:
在現代通信系統中,由于傳輸路徑中總有噪聲存在,傳輸的數據可能會產生許多差錯,在多數情況下,通過糾錯碼技術可以發現并糾正這些差錯,使接收端得到正確的信息。目前,常用的糾錯碼主要包括卷積碼、渦輪(Turbo)碼和低密度奇偶校驗碼(Low Density Parity Check Code,簡稱LDPC)等,卷積碼性能相對較差,主要應用在要求不高的傳統話音業務中;Turbo碼具有出色的糾錯性能,較多的應用在高質量、高速率業務中,其缺點是計算量較大,可能會引入較大的時延;LDPC是繼Turbo碼之后又一種性能較好的糾錯碼,由于可以進行并行解碼,因而具有低復雜度、低延時的優點,在總體性能上要優于Turbo碼。
采用糾錯碼技術可以大大提高數據的傳輸質量,在一定程度上保證信息的可靠性;然而,在利用糾錯碼技術對數據進行糾錯后仍然無法達到系統對數據質量的要求的情況下,則需要引入重傳技術進行數據的重傳。目前較常見的重傳技術包括前向糾錯(Forward Error Correction,簡稱FEC)編碼、自動重傳請求(Auto Repeat Request,簡稱ARQ)和混合自動重傳請求(HybridAuto Repeat Request,簡稱HARQ);HARQ是將FEC編碼和ARQ相結合的技術,其實現機制是如果接收端接收到的數據包中的出錯程度在FEC編碼糾錯能力之內,則錯誤被自行糾正;若數據包中的差錯嚴重,超出FEC編碼的糾錯能力時,接收端自動通知發送端重發數據;HARQ技術可以避免FEC需要復雜的譯碼設備和ARQ方式信息連貫性差的缺點,且能夠保證系統的低誤碼率。
糾錯碼技術和HARQ技術的結合是當今通信系統中的一個熱點,如卷積碼和HARQ技術的結合、Turbo碼和HARQ技術的結合在寬帶碼分多址(簡稱WCDMA)、第三代合作伙伴計劃長期演進(簡稱3GPP LTE)以及微波存取全球互通(簡稱Wimax)等系統中得到廣泛應用,然而,如前面所述,卷積碼和Turbo碼具有其各自的局限性,在實際應用中不可避免的會對系統性能產生影響。另一方面,將性能上更為優越的LDPC碼與HARQ技術加以結合則無疑會提升系統的性能,具有積極的意義。將LDPC碼與HARQ技術相結合的主要難點之一在于在接收端如何以較小的運算量對重傳的數據進行有效的糾錯譯碼,現有技術中尚沒有解決這一問題的方案。
發明內容
本發明的實施例要解決的技術問題是提供低密度奇偶校驗碼譯碼方法和譯碼裝置,以較小的運算量對重傳LDPC碼進行譯碼。
為解決上述技術問題,本發明的實施例提供以下技術方案 一種低密度奇偶校驗碼的譯碼方法,包括 接收發送端重傳的低密度奇偶校驗LDPC碼; 根據接收到的該重傳的LDPC碼和前次LDPC迭代譯碼處理獲得的信息確定本次譯碼的目標LDPC碼; 對所述目標LDPC碼進行譯碼。
一種低密度奇偶校驗碼的譯碼裝置,包括接收單元、存儲單元、目標碼生成單元和譯碼單元;其中 接收單元用于接收發送端發送重傳的LDPC碼; 存儲單元用于存儲前次LDPC迭代譯碼處理中所獲得的信息; 目標碼生成單元用于根據傳輸單元接收的LDPC碼和存儲單元存儲的信息確定本次譯碼的目標LDPC碼; 譯碼單元用于對所述目標LDPC碼進行譯碼。
從以上技術方案可以看出,接收端在對重傳LDPC碼進行譯碼時,利用了前次譯碼處理獲得的信息;由于LDPC譯碼主要是通過迭代計算對差錯數據進行糾錯,隨著迭代次數增加,糾錯程度也就越高,因此,即使糾錯并不是完全成功,每次譯碼處理所獲得的信息仍然具有一定的導向作用;從上述分析以及實驗結果可以表明,與只是根據重傳碼字進行譯碼相比,本發明實施例提供的技術方案可以降低譯碼迭代次數,減少譯碼的運算量。
圖1是本發明所提供校驗矩陣實例的要素圖; 圖2是本發明實施例一低密度奇偶校驗碼的譯碼方法的流程圖; 圖3是本發明實施例三低密度奇偶校驗碼的譯碼裝置的結構圖。
具體實施例方式 對應于不同的HARQ技術,發送端發送LDPC碼也有所不同。主要可以通過穿孔和擴展兩種方式實現,下面分別通過具體實例對這兩種情況進行介紹,可以理解的,發送端發送LDPC碼的方式的實現并不局限于所給出的具體實例。
一、穿孔的HARQ方式; 設碼率兼容LDPC碼表示為C={d1d2…dsp},其中di表示信息位,p表示校驗位。發送端第一次發送信息位d1d2…ds和校驗位p后,若接收端對其譯碼不成功,則請求發送端進行重傳,發送端在重傳時將信息位減少為didi+1…ds,1<i<s,并由此構造校驗位p′,重新發送信息位did(i+1)…ds和校驗位p′。
二、擴展的HARQ方式; 設碼率兼容LDPC碼表示為C={dp1p2…ps},其中d表示信息位,pi表示校驗位。發送端第一次發送信息位d和校驗位p1后,若接收端對其譯碼不成功,則請求發送端進行重傳;發送端在重傳時發送校驗位p2。
接收端對目標LDPC碼進行迭代譯碼后,若所獲得的結果碼
滿足時,譯碼成功;若
不滿足上述條件,則譯碼失敗,接收端向發送端發送重傳請求,根據發送端重傳的LDPC碼進行下一次譯碼。在式中,H表示目標LDPC碼的校驗矩陣,該矩陣是一個稀疏矩陣,即由大量的0和少量的1組成;校驗矩陣H與生成矩陣對偶,其結構可以用包括校驗節點、信息節點以及連接校驗節點和信息節點的邊緣曲線的要素圖來定義。下面通過一個具體實例對校驗矩陣及其要素圖加以說明,參考圖1所示的要素圖,本例中定義4個校驗節點zi和8個信息節點xi,并定義校驗節點和信息節點的約束關系如圖中連線所示,則與其對應的校驗矩陣H是一個8×4的矩陣,具體為 LDPC碼的譯碼主要是通過校驗節點消息和信息節點消息的更新和相互間的傳遞實現的,較通用的一種譯碼算法是置信傳播(Belief Propagation,簡稱BP)算法。下面以BP算法為例,對本發明的具體實施例進行詳細描述。
實施例一、一種低密度奇偶校驗碼的譯碼方法,本實施例中,采用擴展的HARQ方式;參考圖2,包括以下步驟 B1、接收發送端首次發送的LDPC碼,根據該碼字確定本次譯碼的目標LDPC碼,并設置所述目標LDPC碼為譯碼初始的信息節點消息; 發送端通過生成矩陣將信源輸出信息編碼成碼元為{0,1}的LDPC碼,其中包括信息比特和校驗比特,然后將上述序列碼映射調制成碼元為{+1,-1}的LDPC碼后發送; 若設發送端發送的LDPC碼X={x1x2…xN},經過信道傳輸后,接收端接收到的碼R={r1r2…rN},R=X+v,v為零均值噪聲向量,其功率譜密度為σn2;可以采用下式(1)對每個i和j進行計算,確定本次譯碼的目標LDPC碼(即初始的信息節點消息) ----公式(1) 其中,vi,j為信息節點xi傳給校驗節點zj的信息節點消息; B2、根據信息節點消息計算校驗節點消息;可以對每個i和j通過下式(2)計算校驗節點消息 ----公式(2) 其中,ui,j是校驗節點zi傳給信息節點xj的校驗節點消息;集合N(i)={jhij=1}表示校驗節點zi約束的局部碼元信息集,N(i)\j表示N(i)不包含j的子集; B3、根據所述校驗節點消息和所接收的LDPC碼計算新的信息節點消息,并計算信息節點的信息值;可以對每個i和j通過下式(3)計算信息節點消息,對每個j通過下式(4)計算信息值 ----公式(3) ----公式(4) 其中,vj為信息節點xj的信息值;集合M(j)={ihij=1}表示信息節點xj參加的校驗集,M(j)\i表示M(j)不包含i的子集; B4、對所計算出的信息值進行硬判決;對硬判決結果進行校驗,若校驗結果滿足預定要求,則對目標LDPC碼的譯碼成功,以所述硬判決結果為譯碼結果進行輸出,終止流程;否則,執行B5; 可以對每個j通過下式(5)對vj進行硬判決; ----公式(5) 若硬判決后的結果碼
滿足則對目標LDPC碼的譯碼成功,其中H表示目標LDPC碼的校驗矩陣。
B5、判斷若已達到預設的最大迭代次數,執行B6;否則返回執行B2; B6、向發送端發送重傳請求,根據接收的重傳LDPC碼以及前次譯碼過程中最后一次迭代所計算出的信息節點消息確定本次重傳譯碼的目標LDPC碼,并設置該碼字為本次重傳譯碼初始的信息節點消息,返回執行B2重復上述譯碼過程,直至譯碼成功或達到預設的最大重傳次數。
令接收的重傳LDPC碼Rt={rt,1rt,2…rt,K},重傳譯碼的目標LDPC碼的校驗矩陣t=2,3,4,…s,t表示重傳次數,根據擴展HARQ方式的特性,有Mt>M,Nt>N,t表示重傳次數;集合Mt(j)、Mt(j)\i、Nt(j)、Nt(j)\i與Ht對應,分別代表與M(j)、M(j)\i、N(j)、N(j)\i相同的含義;在對重傳后的目標LDPC碼進行譯碼時,由rt,j、Mt(j)、Mt(j)\i、Nt(j)、Nt(j)\i以及Ht分別代替首次迭代譯碼過程中的rj、M(j)、M(j)\i、N(j)、N(j)\i以及H。
可以根據下式(6)確定本次重傳譯碼的目標LDPC碼
----公式(6) 其中,vi,j′為前次譯碼過程中最后一次迭代所計算出的信息節點消息;α為由信道參數確定的加權系數,它反映了前次譯碼所能提供給本次譯碼的信息量,可以由下式(7)確定 ----公式(7) 其中,f(x)可以由下式(8)確定,或者也可以通過下式(9)做近似計算 ----公式(8) ----公式(9) 公式(9)中,a1,1=-0.0421061,b1,1=0.29252,c1,1=-0.00640081 a1,2=0.00181491,b1,2=-0.142675,c1,2=-0.0822054,d=0.0549608 實施例二、一種低密度奇偶校驗碼的譯碼方法,本實施例中,采用穿孔的HARQ方式,其譯碼方法與實施例一基本相同,區別之處在于在本實施例中,確定作為重傳譯碼的目標LDPC碼字采用與公式(6)不同的方法 若令接收的重傳LDPC碼Rt={rt,1rt,2…rt,L},重傳譯碼的目標LDPC碼的校驗矩陣t=2,3,4,…s,t表示重傳次數,根據穿孔的HARQ方式的特性,有Mt=M,Nt<N;若設重傳LDPC碼中信息比特位于碼序列前0~Nt-Mt位,可以采用下式(10)確定作為重傳譯的目標LDPC碼
----公式(10) 其中,vi,j′和α的含義與實施例一相同,α可以采用與實施例一中相同的方法確定。
以下對本發明提供的低密度奇偶校驗碼的譯碼裝置的推薦的實施例進行描述。
實施例三、一種低密度奇偶校驗碼的譯碼裝置,參考圖3,包括接收單元210、譯碼單元220、存儲單元230目標碼生成單元240;其中 接收單元210用于接收發送端重傳的LDPC碼; 存儲單元230用于存儲前次譯碼過程中最后一次迭代所計算出的信息節點消息; 目標碼生成單元240用于根據接收單元210接收的LDPC碼和存儲單元230存儲的信息確定本次譯碼的目標LDPC碼; 譯碼單元220用于對所述目標LDPC碼進行譯碼;具體包括初始化單元2211、信息節點消息更新單元2212和信息值更新單元2213、校驗節點處理單元222、判決單元223、校驗單元224和控制單元225 初始化單元2211用于設置目標碼生成單元240確定的目標LDPC碼為本次譯碼初值的信息節點消息,并將所述信息節點消息提供給校驗節點處理單元222; 信息節點消息更新單元2212用于根據校驗節點處理單元222提供的校驗節點消息和接收單元210接收的LDPC碼計算新的信息節點消息,并在接收到控制單元225發送的繼續迭代譯碼的控制信號時將計算出的信息節點消息提供給校驗節點處理單元222; 信息值更新單元2213用于根據校驗節點處理單元222提供的校驗節點消息和接收單元210接收的LDPC碼計算信息節點的信息值,并將計算出的信息值提供給判決單元223; 校驗節點處理單元222用于根據初始化單元2211或信息節點消息更新單元2212提供的信息節點消息計算校驗節點消息,并將計算出的校驗節點消息提供給信息節點消息更新單元2212和信息值更新單元2213; 判決單元223用于對信息值更新單元2213提供的信息值進行硬判決,并將判決結果傳輸到校驗單元224; 校驗單元224用于根據所述目標LDPC碼的校驗矩陣對判決單元223提供的硬判決結果進行校驗,并向控制單元225輸出校驗結果; 控制單元225用于在所述校驗結果是滿足預定要求的情況下,確定對所述目標LDPC碼的譯碼成功,以判決單元的硬判決結果為譯碼結果進行輸出;在所述校驗結果不滿足預定要求的情況下,當還未達到預設的最大迭代次數時,向信息節點消息更新單元2212發送繼續迭代譯碼的控制信號;當已達到預設的最大迭代次數且未達到預設的最大重傳次數時,向發送端發送重傳請求。
本發明還提供一種在計算機可讀介質上實施的對低密度奇偶校驗碼進行譯碼的計算機程序,包括 第一組指令,用于接收發送端重傳的LDPC碼,根據所述LDPC碼和前次LDPC迭代譯碼處理獲得的信息確定本次譯碼的目標LDPC碼; 第二組指令,用于將目標LDPC碼設置為本次譯碼初始的信息節點消息; 第三組指令,用于根據信息節點消息計算校驗節點消息; 第四組指令,用于根據所述校驗節點消息和所述目標LDPC碼計算新的信息節點消息; 第五組指令,用于根據所述校驗節點消息和所述目標LDPC碼計算信息節點的信息值; 第六組指令,用于對所述信息值進行硬判決; 第七組指令,用于根據所述目標LDPC碼的校驗矩陣對所述硬判決的結果進行校驗; 第八組指令,用于在所述校驗的結果滿足預定要求的情況下以所述硬判決結果為譯碼結果進行輸出,停止上述各組指令的執行;在所述校驗的結果不滿足預定要求的情況下進一步判斷若還未達到預定迭代次數,則控制第三組指令繼續執行。
從以上技術方案可以看出,接收端在對重傳LDPC碼進行譯碼時,利用了前次譯碼處理獲得的信息;由于LDPC譯碼主要是通過迭代計算對差錯數據進行糾錯,隨著迭代次數增加,糾錯程度也就越高,因此,即使糾錯并不是完全成功,每次譯碼處理所獲得的信息仍然具有一定的導向作用;從上述分析以及實驗結果可以表明,與只是根據重傳碼字進行譯碼相比,本發明實施例提供的技術方案可以降低譯碼迭代次數,減少譯碼的運算量。
以上對本發明所提供的低密度奇偶校驗碼的譯碼方法和譯碼裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種低密度奇偶校驗碼的譯碼方法,其特征在于,包括
接收發送端重傳的低密度奇偶校驗LDPC碼;
根據接收到的該重傳的LDPC碼和前次LDPC迭代譯碼處理獲得的信息確定本次譯碼的目標LDPC碼;
對所述目標LDPC碼進行譯碼。
2.如權利要求1所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述對所述目標LDPC碼進行譯碼具體包括
A、設置所述目標LDPC碼為本次譯碼初始的信息節點消息;
B、根據信息節點消息計算校驗節點消息;
C、根據所述校驗節點消息及所接收的目標LDPC碼計算新的信息節點消息以及信息節點的信息值;
D、對所述信息值進行硬判決,根據所述目標LDPC碼的校驗矩陣對所述硬判決的結果進行校驗;
E、若所述校驗的結果滿足預定要求,對所述LDPC碼的譯碼成功,以所述硬判決結果為譯碼結果進行輸出。
3.如權利要求2所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述根據所述目標LDPC碼的校驗矩陣對所述硬判決的結果進行校驗后還包括若所述校驗的結果不滿足預定要求,則在未達到預設的最大迭代次數的情況下,返回執行B。
4.如權利要求2所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述根據所述目標LDPC碼的校驗矩陣對所述硬判決的結果進行校驗后還包括若所述校驗的結果不滿足預定要求,則在已達到預設的最大迭代次數且未達到預設的最大重傳次數的情況下,向發送端發送重傳請求。
5.如權利要求1所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述確定本次譯碼的目標LDPC碼時還依據前次LDPC迭代譯碼處理獲得信息的加權系數;所述加權系數是根據信道的噪聲功率譜密度確定。
6.如權利要求5所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述加權系數具體是通過下式確定
其中,
σn2表示信道的功率譜密度;
或者,
7.如權利要求1至6任一項所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述前次LDPC迭代譯碼處理獲得的信息具體是
前次譯碼過程中最后一次迭代所計算出的信息節點消息。
8.如權利要求7所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述確定本次譯碼的目標LDPC碼具體是通過下式所確定
其中,
vi,j表示本次譯碼的目標LDPC碼;
vi,j′表示前次譯碼過程中最后一次迭代所計算出的信息節點消息;
α表示加權系數;
σn2表示信道的功率譜密度;
rt,j表示所述接收的LDPC碼;
M,N分別表示前次譯碼的目標LDPC碼的校驗矩陣的行階數及列階數。
9.如權利要求7所述的低密度奇偶校驗碼的譯碼方法,其特征在于,所述確定本次譯碼的目標LDPC碼具體是通過下式所確定
其中,
vi,j表示本次譯碼的目標LDPC碼;
vi,j′表示前次譯碼過程中最后一次迭代所計算出的信息節點消息;
α表示加權系數;
σn2表示信道的功率譜密度;
rt,j表示所述接收的LDPC碼;
M表示前次譯碼的目標LDPC碼的校驗矩陣的行階數;
Mt、Nt分別表示本次譯碼的目標LDPC碼的校驗矩陣的行階數及列階數。
10.一種低密度奇偶校驗碼的譯碼裝置,其特征在于,包括接收單元、存儲單元、目標碼生成單元和譯碼單元;其中
接收單元用于接收發送端重傳的LDPC碼;
存儲單元用于存儲前次LDPC迭代譯碼處理中所獲得的信息;
目標碼生成單元用于根據傳輸單元接收的LDPC碼和存儲單元存儲的信息確定本次譯碼的目標LDPC碼;
譯碼單元用于對所述目標LDPC碼進行譯碼。
11.如權利要求10所述的低密度奇偶校驗碼的譯碼裝置,其特征在于,
所述譯碼單元具體包括初始化單元、信息節點消息更新單元、信息值更新單元、校驗節點處理單元、判決單元、校驗單元和控制單元
初始化單元用于設置目標碼生成單元確定的目標LDPC碼為譯碼初值的信息節點消息,并將所述信息節點消息提供給校驗節點處理單元;
信息節點消息更新單元用于根據校驗節點處理單元提供的校驗節點消息和接收單元接收的LDPC碼計算新的信息節點消息;
信息值更新單元用于根據校驗節點處理單元提供的校驗節點消息和接收單元接收的LDPC碼計算信息節點的信息值,并將計算出的信息值提供給判決單元;
校驗節點處理單元用于根據初始化單元或信息節點消息更新單元提供的信息節點消息計算校驗節點消息,并將計算出的校驗節點消息提供給信息節點消息更新單元和信息值更新單元;
判決單元用于對信息值更新單元提供的信息值進行硬判決,并將判決結果傳輸到校驗單元;
校驗單元用于根據所述目標LDPC碼的校驗矩陣對判決單元提供的硬判決結果進行校驗,并向控制單元輸出校驗結果;
控制單元用于在所述校驗結果是滿足預定要求的情況下,確定對所述目標LDPC碼的譯碼成功,以判決單元的硬判決結果為譯碼結果進行輸出;
所述存儲單元存儲的前次LDPC迭代譯碼處理中所獲得的信息具體是前次譯碼過程中最后一次迭代所計算出的信息節點消息。
12.如權利要求11所述的低密度奇偶校驗碼的譯碼裝置,其特征在于,所述控制單元還用于
在所述校驗結果不滿足預定要求的情況下,當未達到預設的最大迭代次數時,向信息節點消息更新單元發送繼續迭代譯碼的控制信號;
信息節點消息更新單元還用于當接收到控制單元發送的繼續迭代譯碼的控制信號時,將計算出的信息節點消息提供給校驗節點處理單元。
13.如權利要求11或12所述的低密度奇偶校驗碼的譯碼裝置,其特征在于,所述控制單元還用于
在所述校驗結果不滿足預定要求的情況下,當已達到預設的最大迭代次數且未達到預設的最大重傳次數時,向發送端發送重傳請求。
全文摘要
本發明涉及通信領域中的糾錯碼技術,公開低密度奇偶校驗碼的譯碼方法,該方法包括接收發送端重傳的低密度奇偶校驗碼;根據接收到的低密度奇偶校驗碼和前次低密度奇偶校驗迭代譯碼處理獲得的信息確定本次譯碼的目標低密度奇偶校驗碼;對所述目標低密度奇偶校驗碼進行譯碼。本發明還提供低密度奇偶校驗碼的譯碼裝置。從理論分析以及實驗結果可以表明,本發明實施例提供的技術方案可以降低譯碼迭代次數,減少譯碼的運算量。
文檔編號H04L1/18GK101232346SQ20071000667
公開日2008年7月30日 申請日期2007年1月25日 優先權日2007年1月25日
發明者武雨春, 紅 文 申請人:華為技術有限公司, 電子科技大學