CN101272223B - 一种低密度生成矩阵码的译码方法及装置 - Google Patents

一种低密度生成矩阵码的译码方法及装置 Download PDF

Info

Publication number
CN101272223B
CN101272223B CN 200810096644 CN200810096644A CN101272223B CN 101272223 B CN101272223 B CN 101272223B CN 200810096644 CN200810096644 CN 200810096644 CN 200810096644 A CN200810096644 A CN 200810096644A CN 101272223 B CN101272223 B CN 101272223B
Authority
CN
China
Prior art keywords
matrix
code
column
unit
gaussian elimination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200810096644
Other languages
English (en)
Other versions
CN101272223A (zh
Inventor
袁志锋
徐俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200810096644 priority Critical patent/CN101272223B/zh
Publication of CN101272223A publication Critical patent/CN101272223A/zh
Priority to PCT/CN2008/072682 priority patent/WO2009132496A1/zh
Priority to RU2010144569/08A priority patent/RU2461963C2/ru
Application granted granted Critical
Publication of CN101272223B publication Critical patent/CN101272223B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1157Low-density generator matrices [LDGM]

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种低密度生成矩阵码的译码方法及装置,该方法包括如下内容:在接收到的码字序列R中填充已知比特并将R中被信道擦除的码字符号删除,得到Re;将被信道擦除的行从Gldgct中删除,得到Ge;对Ge进行列置换,生成
Figure 200810096644.X_AB_0
,A是M阶下三角方阵;对Ga进行高斯消元生成Gb,使得Gb的前L行组成的方阵为单位阵;同时根据高斯消元过程中所进行的行置换和行相加操作,对Re进行相应元素的置换和相加操作,生成Re’;根据关系式Gb×It’=Re’解得It’,并根据列置换对应关系对It’进行逆置换得到It;根据关系式Gldgct(0:L-1,0:L-1)×It=st求出st,并从st中删除上述填充的L-K个已知比特得到K比特的信息序列。

Description

一种低密度生成矩阵码的译码方法及装置 
技术领域
本发明涉及数据编译码领域,尤其涉及一种低密度生成矩阵码的译码方法及装置。 
背景技术
在数据传输过程中,如果接收端接收到的数据包校验错误,则将错误的数据段丢弃,相当于擦除,这种信道模型叫擦除信道,是一种重要的信道模型。文件在因特网上传输时,是基于数据包通信的,通常每个数据包要么无差错的被接收端接收,要么根本就没有被接收端接收到。传输控制协议(Transmission Control Protocol,简称TCP)中,针对网络丢包的做法是检错重发机制,即利用输入端到输出端的反馈信道控制需要重新传送的数据包。当接收端检测到丢包时,产生一个重新发送控制信号,直到正确接收到完整数据包;而当接收端接收到数据包时,同样要产生一个接收确认信号。发送端也会跟踪每一个数据包直到接收到反馈回来的确认信号,否则就会重新发送。 
基于流模式和文件下载模式的数据广播业务是点到多点的业务,不允许反馈,传统的检错重发机制无法使用,需要使用前向纠错(FEC)来保证数据的可靠传输。经典的应用层FEC包括RS(Reed-Solomon,里德.所罗门)码和数字喷泉码(Fountain codes)等。RS码的编译码复杂度较高,一般只适用于码长比较小的情况。LT(Luby Transform,陆柏变换)码和Raptor(瑞普特)码是两种可实际应用的数字喷泉码。LT码具有线性的编码和译码时间,相对于RS码有着本质的提高;而Raptor码由于采用了预编码技术,因此具有更高的译码效率。在3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)的组播广播多媒体业务(Multimedia Broadcast/MulticastService,简称MBMS)以及数字视频广播(Digital Video Broadcasting,简 称DVB)中都采用了Digital Fountain(数字喷泉)公司的Raptor码作为其FEC编码方案。 
若编码后码字的前K位与信息位相同,则称该码为***码。编码的过程就是由K个信息位生成N位码长的过程,通过增加N-K个校验位来达到检错和纠错的目的。LT码不支持***码的编码方式,因此LT码难以满足某些实际的FEC编码需求;Raptor码支持***码,但是Raptor码需要单独的预编码过程,即需要一个预编码矩阵,因此编码的复杂度较高。 
由于上述编码方法的缺点,因此引入了LDGC(Low Density GeneratorMatrix Codes,低密度生成矩阵码)。LDGC是一种线性分组码,其生成矩阵(编码矩阵)中的非零元素通常是稀疏的,同时,LDGC码还是一种***码。 
LDGC的编码是利用***码中信息位(即待发送数据)与中间变量的对应关系先求出中间变量,然后再用中间变量乘以生成矩阵得到编码后的码字。具体地说,编码过程是先对K比特信息序列m填充d=L-K个已知比特后产生L比特序列s,然后根据方程组关系式:I×Gldgc(0:L-1,0:L-1)=s,解方程组生成L比特中间变量序列I,然后再由中间变量乘以生成矩阵,即I×Gldgc(0:L-1,0:N+d-1)产生N+d比特(包含d个填充比特)的码字序列C’ldgc,C’ldgc的d个填充比特不需要传输,因而真正传输的是N比特的码字序列Cldgc。Cldgc经过信道后(可能发生擦除),接收端接收的码字序列为R。其中,s是l×L的向量,I是1×L的向量,R是1×N的向量,Gldgc(0:L-1,0:L-1)是L×L方阵,该方阵通常是一个上三角或下三角矩阵,Gldgc(0:L-1,0:N+d-1)是L ×(N+d)的矩阵。编码的详细过程可以参考专利“低密度生成矩阵码的编码方法和装置、及译码方法和装置”。 
LDGC码的译码过程是先利用接收码字序列R(包含填充比特,下面的接收码字序列都是指包含填充比特的)、LDGC生成矩阵Gldgc以及中间变量I的方程组关系I×Gldgc(0:L-1,0:N+d-1)=R,解方程组求得中间变量I;然后根据信息位s(包含填充比特)和中间变量I的关系“I×Gldgc(0:L-1,0:L-1)=s”求出信息位s,去掉填充比特就得到原始信息序列m。 
其中,最关键的步骤是求中间变量,往往需要解大型的线性方程组。工 程上,解线性方程组可以采用高斯消元法或迭代法等方法,根据LDGC码的特点,高斯消元法更适合LDGC码的译码。因而,高斯消元过程的快慢直接影响到LDGC码译码的速度。 
根据描述高斯消元法的需要,下面的叙述中凡是以小写t为下标的“向量”或“矩阵”都表示是原“向量”或“矩阵”的转置,向量或矩阵与其转置从内容上看是完全一样的,有时可以表示同一个对象。例如,定义Gldgct是Gldgc的转置,It是I的转置,Rt是R的转置,因I和R都是行向量,这里It 和Rt都是列向量。 
图1是转置后的LDGC生成矩阵Gldgct的示意图。如图1所示,Gldgct中的前L行对应的方阵通常是一个上三角或下三角矩阵。其中,图1中的x,y可以为0。 
根据线性方程组Gldgct(0:N+d-1,0:L-1)×It=Rt求解中间变量It的过程中,所进行的高斯消元需要对Gldgct矩阵作“行置换、行相加和列置换”三种初等变换。根据线性代数原理,为了保证方程组的正确性,对Gldgct矩阵进行初等变换的同时,需要对It和Rt作如下相应的处理: 
1)行置换,若Gldgct的第i行和第j行进行置换,则Rt的第i比特和第j个比特需要进行置换; 
2)行相加,若Gldgct的第i行和第j行进行相加,则Rt的第i比特和第j个比特需要进行相加(模2加); 
3)列置换,若Gldgct的第i列和第j列进行置换,则It的第i比特和第j个比特需要进行置换。 
由于最终结果需要得到It,而It中的元素在Gldgct作列置换时相应地作了置换,因而需要对It的置换情况作记录,以便后面的求逆置换过程。工程上,可以通过一个数组来记录It的置换情况。而Rt不是最终需要的数据,可以直接对其处理,不需要记录其处理情况。 
因为这些变换关系是严格对应的,而且高斯消元的主要复杂度体现在对Gldgct的处理上,下面为了叙述的简便,凡是针对Gldgct的初等变换,相应地对It和Rt的处理需严格按照上面的三种情况来处理。为了突出重点,下面 有时会简化对It和Rt的处理的描述。 
现有技术中,LDGC译码采用标准的高斯消元法,存在两点不足:第一,不能充分利用LDGC码生成矩阵具有的严格上三角或下三角特点(如图1所示)来简化消元操作;第二,不能利用LDGC码生成矩阵结构化的特点来直接生成矩阵非零元素的索引,需要存储整个生成矩阵,增加了存储和计算的复杂度。因而采用标准的高斯消元法,译码的效率较低。 
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提出一种高效率的LDGC译码方法。 
为了解决上述问题,本发明提供一种低密度生成矩阵码的译码方法,对接收到的经过LDGC编码后传输的比特信息序列进行译码,其特征在于,该方法包括如下内容: 
S1:在接收到的码字序列R中填充L-K个已知比特并将R中被信道擦除的码字符号删除,得到Re;并将上述被信道擦除的码字符号对应的行从LDGC生成矩阵的转置矩阵Gldgct中删除,得到Ge; 
S2:对Ge进行列置换,生成 G a = A C D B , 其中A是M阶下三角方阵,并记录Ge和Ga的列置换对应关系; 
S3:对Ga进行高斯消元生成Gb,使得Gb的前L行组成的方阵为单位阵;同时根据上述高斯消元过程中所进行的行置换和行相加操作,对Re进行相应元素的置换和相加操作,生成Re’; 
S4:根据关系式Gb×I′t=Re’解得I′t,并根据上述列置换对应关系对I′t进行逆置换得到It; 
S5:根据关系式Gldgct(0:L-1,0:L-1)×It=st求出st,并从st中删除上述填充的L-K个已知比特得到K比特的信息序列; 
上述Gldgct为N+L-K行、L列矩阵。 
此外,所述M=L-XL,XL为R的前L个码字符号中被信道擦除的比特 数。 
此外,设XsetL为填充所述d个已知比特后R的前L个码字符号中,被删除的码字符号的序号集合,该集合中的序号个数为所述XL; 
步骤S2中,将所述Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,得到所述Ga。 
此外,步骤S3中,对Ga进行高斯消元具体包含如下子步骤: 
S31:对所述Ga中的A和D进行高斯消元,使得A变为M阶单位阵EM,同时将D变为元素全为0的(N-K-(XT-XL))行M列矩阵,即: 
G a , = E M A - 1 C 0 B - D A - 1 C ;
S32:对Ga’中的B-DA-1C进行高斯消元,使其前L-M行对应的方阵为单位阵,并将A-1C消为元素全为0的M行L-M列矩阵,即: 
G b = E M 0 0 E L - M ′ .
此外,步骤S31中,通过如下方法判断A和D中的第x行第y列元素H[x,y]是否为非零元素,并根据非零元素的位置对A和D进行所述高斯消元: 
S311:根据填充d个已知比特后的R中被删除的码字符号的序号集合Xset得到上述H[x,y]在Gldgct中的行列位置:x’,y’; 
S312:如果 G bt uniform [ x z , y z ] = 0 , 则H[x,y]为零元素,本流程结束,否则执行下一步; 
S313:如果ixz=mod(iyz+offset,z),则A[x,y]为非零元素;否则,A[x,y]为零元素; 
其中:z为扩展因子,Zmax为最大扩展因子; 
xz=floor(x’/z),yz=floor(y’/z); 
ixz=mod(x’,z),iyz=mod(y’,z); 
offset = floor ( G bt uniform [ x z , y z ] · z / z max ) .
本发明还提供一种低密度生成矩阵码的译码装置,对接收到的经过LDGC编码后传输的比特信息序列进行译码,其特征在于,该装置包含:填充擦除单元,列置换单元,高斯消元单元,信息序列生成单元;其中: 
填充擦除单元,用于在接收到的码字序列R中填充d个已知比特并将被信道擦除的码字符号删除,生成并输出Re;并将上述被信道擦除的码字符号对应的行从LDGC生成矩阵的转置矩阵Gldgct中删除,生成并输出Ge; 
列置换单元,用于对所述填充擦除单元输出的Ge进行列置换,生成并输出 G a = A C D B , 其中A是M阶下三角方阵,并输出Ge和Ga的列置换对应关系信息; 
高斯消元单元,用于对所述列置换单元输出的Ga进行高斯消元,生成并输出Gb,使得Gb的前L行组成的方阵为单位阵;同时根据上述高斯消元过程中所进行的行置换和行相加操作,对所述填充擦除单元输出的Re进行相应元素的置换和相加操作,生成并输出Re’; 
信息序列生成单元,用于根据关系式Gb×I′t=Re’生成I′t;根据所述列置换单元输出的列置换对应关系信息对I′t进行逆置换生成It;根据关系式Gldgct(0:L-1,0:L-1)×It=st生成st,并从st中删除d个已知比特后输出K比特的信息序列; 
上述Gldgct为N+L-K行、L列矩阵。 
此外,所述列置换单元经过列置换生成的所述A为M阶下三角方阵,M=L-XL,XL为R的前L个符号中被信道擦除的比特数。 
此外,设XsetL为填充所述d个已知比特后R的前L个码字符号中,被删除的码字符号的序号集合,该集合中的序号个数为所述XL; 
所述列置换单元通过将Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,生成所述Ga。 
此外,所述高斯消元单元采用如下子步骤对Ga进行高斯消元: 
S31:对所述Ga中的A和D进行高斯消元,使得A变为M阶单位阵EM,同时将D变为元素全为0的(N-K-(XT-XL))行M列矩阵,即: 
G a , = E M A - 1 C 0 B - D A - 1 C ;
S32:对Ga’中的B-DA-1C进行高斯消元,使其前L-M行对应的方阵为单位阵,并将A-1C消为元素全为0的M行L-M列矩阵,即: 
G b = E M 0 0 E L - M ′ .
此外,所述高斯消元单元通过如下方法判断A和D中的第x行第y列元素H[x,y]是否为非零元素,并根据非零元素的位置对A和D进行所述高斯消元: 
S311:根据填充d个已知比特后R中被删除的码字符号的序号集合Xset得到上述H[x,y]在Gldgct中的行列位置:x’,y’; 
S312:如果 G bt uniform [ x z , y z ] = 0 , 则H[x,y]为零元素,本流程结束,否则执行下一步; 
S313:如果ixz=mod(iyz+offset,z),则A[x,y]为非零元素;否则,A[x,y]为零元素; 
其中:z为扩展因子,Zmax为最大扩展因子; 
xz=floor(x’/z),yz=floor(y’/z); 
ixz=mod(x’,z),iyz=mod(y’,z); 
offset = floor ( G bt uniform [ x z , y z ] · z / z max ) .
采用本发明的LDGC译码方法,能够充分利用结构化LDGC编码矩阵所具有的对角化特点,与直接采用高斯消去法的译码方法相比,可以大大降低译码复杂度并加快译码速度,使LDGC可应用于高速率的通信***中。 
附图说明
图1是转置后的LDGC生成矩阵Gldgct的示意图; 
图2是本发明实施例低密度生成矩阵码的译码方法流程图; 
图3为根据接收码字序列R的擦除情况对生成矩阵进行擦除处理的示 意图; 
图4为本发明实施例对擦除生成矩阵Ge进行列置换的示意图; 
图5为本发明实施例对Ga进行高斯消元的示意图; 
图6是本发明实施例进行零元素判别的方法流程图; 
图7为本发明实施例低密度生成矩阵码的译码装置示意图。 
具体实施方式
为了描述需要,先设长度为N+d的接收码字序列R(包含填充比特)一共被信道擦除了XT个码字符号,这XT个被擦除码字符号位置索引的集合为Xset;特别地,Xset中所有小于L的位置索引元素所组成的集合是XSetL,XSetL的元素个数为XL个,即XSetL表示的是R中前L个符号中被信道擦除了XL个码字符号;设M=L-XL。 
由于LDGC译码中所有对象中的基本元素都是来自有限域GF(2),所以对象间的运算也都是有限域GF(2)定义的运算。 
本发明的基本思路是,利用结构化LDGC生成矩阵所具有的对角化特点,先对经过擦除处理的LDGC生成矩阵进行列置换,使得LDGC生成矩阵具有 A C D B 的矩阵形式,其中矩阵A是M阶方阵,并具有严格下三角的特点。然后再利用A是严格下三角矩阵的特点,以及A和D所具有的结构化特点简化译码。 
下面将结合附图和实施例对本发明进行详细描述。 
图2是本发明实施例低密度生成矩阵码的译码方法流程图。如图2所示,该方法包含如下步骤: 
201:在接收码字序列R的相应位置填充长度为d=L-K的已知比特序列,例如:1,1,...,1,同时删除被信道擦除的码字符号,得到Re。 
其中K为原始信息位的长度,L为原始信息位经过填充后编码的长度。 
202:根据接收码字序列R被擦除的情况,对LDGC生成矩阵Gldgct进行行擦除(删除)处理,得到擦除生成矩阵Ge。 
图3为根据接收码字序列R的擦除情况对生成矩阵进行擦除处理的示意图。如图3所示,经过擦除处理的生成矩阵Ge的前L行已不再是下三角方阵。 
假设填充已知比特序列后的R(r0,r1,……rN+d-1)中的XT个符号:{ri,rj’...,rp...rx}被信道擦除掉,其中,前面L个符号中的XL个符号{ri,rj,...,rp}被信道擦除掉;则Xset={i,j,...,p,...,x};XsetL={i,j,...p}。相应地Gldgct中的第{i,j,...,p,...,x}行需要被擦除,得到Ge,这时Ge上面的矩阵由于擦除了若干行,已经不是严格对角化,如图3(c)所示。 
203:对擦除生成矩阵Ge进行列置换,使Ge中以(0,0)为顶点的M阶方阵为下三角矩阵,将Ge置换后的矩阵记作置换生成矩阵Ga;同时记录Ge和Ga的列置换对应关系,用于后续对It作相应的置换操作,生成It’; 
图4为对擦除生成矩阵Ge进行列置换的示意图。 
具体地说,为了得到下三角矩阵,将Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,得到置换生成矩阵: 
G a = A C D B .
其中,矩阵A是M阶方阵,并具有严格下三角的特点;矩阵C是大小为M×(L-M)的矩阵;矩阵D是(N-K-(XT-XL))×M的矩阵;矩阵B是(N-K-(XT-XL))×(L-M)的矩阵。 
根据对Gldgct的列置换情况,同时对It作相应的置换操作,设It置换后变成It’;It到It’的置换关系可以通过一个数组来记录,用于后面的求逆置换过程。 
204:对置换生成矩阵Ga进行高斯消元,使Ga前L行组成的L阶方阵变成一个L阶单位阵(如果Ga满秩),消元后的矩阵记作Gb,即 G b = E L 0 ;  同时对Re进行相应元素的置换和相加操作,设Re变换后变成Re’; 
上述EL表示L阶单位阵。 
由于Ga具有以下特点: 
1)A的对角线上都有非零元素,A具有严格下三角的特点; 
2)A和D中的非零元素可以由编码时构造生成矩阵所定义的公式直接计算得到,所以A和D实际上不需要存储。 
因而,对Ga的高斯消元过程可以看作包含以下三个子过程: 
204a)利用A的特点进行高斯消元:将A变换成M阶单位阵EM; 
对A进行高斯消元时,可以直接计算出A中各非零元素的位置,并根据各非零元素的位置对A作行相加操作,因此无需实际存储矩阵A。 
计算A中各非零元素位置的具体方法(或者说判断A中各元素是否为0的方法)在下文中详细描述。 
通过对A进行高斯消元(行相加操作),即可将A变换成M阶单位阵EM;上述“行相加”操作会同时作用在C上,最终结果相当于对A和C同时左乘了A-1,即: 
204b)利用单位阵EM对D进行高斯消元,将D变成全0矩阵;相应地,B需要减去D左乘A-1C的结果,这里矩阵间元素的减法相当于矩阵间元素的模2加法,最终结果相当于: 
Figure S200810096644XD00102
同样,对D进行高斯消元时,可以直接计算出D中各非零元素的位置,并根据各非零元素的位置对D作行相加操作,因此无需实际存储矩阵D。计算D中各非零元素位置的具体方法(或者说判断D中各元素是否为0的方法)在下文中详细描述。 
上述过程如图5(a)、图5(b)所示。 
为了简化描述,设S=B-DA-1C。 
204c)对S进行高斯消元; 
如果Ga是满秩的,S可以通过高斯消元变换成一个包含(L-M)阶单位阵的矩阵(即前L-M行对应的矩阵为单位阵),同时可以完全消去上方的A-1C。即Ga最终可通过高斯消元变成如下形式: 
Figure DEST_PATH_GSB00000245712200011
上述 
Figure DEST_PATH_GSB00000245712200012
的前L-M行组成一个L-M阶单位阵,后面的行是全零行。如图5(c)所示。 
如果Ga不满秩,则译码失败,本方法结束。 
同样,根据对Ga作高斯消元所进行的行置换和行相加操作,对Re进行相应元素的置换和相加操作,设Re变换后变成Re’。 
205:根据方程组关系式 
Figure DEST_PATH_GSB00000245712200013
可以得到等式 
Figure DEST_PATH_GSB00000245712200014
由该等式即可直接得到 
Figure DEST_PATH_GSB00000245712200015
然后通过对It到 
Figure DEST_PATH_GSB00000245712200016
的置换关系(即Ge到Ga的列置换关系)进行逆置换,即可由 
Figure DEST_PATH_GSB00000245712200017
求得It。 
206:根据信息位s(包含填充比特)和中间变量I的关系: 
Gldgct(0:L-1,0:L-1)×It=st求出信息位st,去掉st中的d个已知填充比特就得到K比特的信息序列m。 
下面将以A为例,对判断A和D中各元素是否为非零元素的方法进行描述。对D中元素的判断与A相同。 
图6是本发明实施例进行零元素判别的方法流程图。 
首先对该判别方法中使用的各符号进行说明: 
是CMMB标准中所定义LDGC基础矩阵; 
Figure DEST_PATH_GSB00000245712200019
的大小为kb×nb=12×40,则转置后的基础矩阵 
Figure DEST_PATH_GSB000002457122000110
大小为nb×kb=40×12; 
扩展因子z=ceil(L/kb);ceil(·)表示向上取整; 
最大扩展因子zmax=683。 
如图6所示,该方法采用如下步骤对A[x,y]是否为0进行判断: 
601:根据被删除的行索引Xset得到A[x,y]在进行擦除处理前的Gldgct中的行列位置:x’,y’;即A[x,y]是Gldgct中的第x’行,第y’列元素; 
602:计算xz=floor(x’/z),yz=floor(y’/z); 
floor(·)表示向下取整。 
603:根据 
Figure DEST_PATH_GSB00000245712200021
中第xz行,第yz列的元素,即 
Figure DEST_PATH_GSB00000245712200022
是否为零判断A[x,y]是否为零: 
如果 则A[x,y]=0; 
如果 
Figure DEST_PATH_GSB00000245712200024
则A[x,y]有可能非零,需执行后续判断操作。 
604:计算ixz=mod(x’,z),iyz=mod(y’,z); 
605:根据CMMB标准定义的修正公式计算偏移量offset; 
修正公式为:floor(z·(gi,j b)uniform/zmax);(gi,j b)uniform就是 
Figure DEST_PATH_GSB00000245712200025
或 
Figure DEST_PATH_GSB00000245712200026
offset = floor ( G bt uniform [ x z , y z ] · z / z max ) .
606:根据ixz是否等于mod(iyz+offset,z)判断A[x,y]是否为0: 
如果ixz=mod(iyz+offset,z),则A[x,y]为非零元素; 
否则,A[x,y]为零元素。 
判断D中元素D[x,y]是否为零元素的方法与上述步骤相同。 
图7为本发明实施例低密度生成矩阵码的译码装置示意图。如图7所示,该装置包含:填充擦除单元,列置换单元,高斯消元单元,信息序列生成单元。其中, 
填充擦除单元,用于在接收到的码字序列R中填充d个已知比特并将被信道擦除的码字符号删除,生成并输出Re;并将上述被信道擦除的码字符号对应的行从LDGC生成矩阵的转置矩阵Gldgct中删除,生成并输出Ge; 
列置换单元,用于对所述填充擦除单元输出的Ge进行列置换,使Ge中以第0行、第0列元素为顶点的M阶方阵A为下三角矩阵,生成并输出  G a = A C D B , 并输出Ge和Ga的列置换对应关系信息; 
所述M=L-XL,XL为R的前L个符号中被信道擦除的比特数。 
列置换单元可将Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,得到所述Ga。 
高斯消元单元,用于对所述列置换单元输出的Ga进行高斯消元(具体步骤如上所述),生成并输出Gb,使得Gb的前L行组成的方阵为L阶单位阵;同时根据上述高斯消元过程中所进行的行置换和行相加操作,对所述填充擦除单元输出的Re进行相应元素的置换和相加操作,生成并输出Re’; 
在上述高斯消元过程中,高斯消元单元还根据公式判断A和D中的元素是否为非零元素,具体判断方法如上所述。 
信息序列生成单元,用于根据关系式Gb×I′t=Re’生成I′t;根据所述列置换单元输出的列置换对应关系信息对I′t进行逆置换生成It;根据关系式Gldgct(0:L-1,0:L-1)×It=st生成st,并从st中删除d个已知比特后输出比特信息序列。 
由上可知,对于LDGC生成矩阵采用本发明的译码方法及装置,可加快高斯消元的处理速度。 
根据本发明的基本原理,上述实施例还可以有多种变换方式: 
对于其它形状的LDGC生成矩阵,例如,前L行为上三角矩阵,可将其变换成下三角矩阵后采用本发明的译码方法。 
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。 

Claims (8)

1.一种低密度生成矩阵码的译码方法,对接收到的经过低密度生成矩阵码LDGC编码后传输的比特信息序列进行译码,其特征在于,该方法包括如下内容:
S1:在接收到的码字序列R中填充d个已知比特并将R中被信道擦除的码字符号删除,得到Re;并将上述被信道擦除的码字符号对应的行从LDGC生成矩阵的转置矩阵Gldgct中删除,得到Ge;其中,d=L-K,K为原始信息位的长度,L为原始信息位经过填充后的比特信息序列的长度;
S2:对Ge进行列置换,生成
Figure FSB00000344774800011
其中A是M阶下三角方阵,并记录Ge和Ga的列置换对应关系;其中,M=L-XL,XL为R的前L个码字符号中被信道擦除的比特数;
S3:对Ga进行高斯消元生成Gb,使得Gb的前L行组成的方阵为单位阵;同时根据上述高斯消元过程中所进行的行置换和行相加操作,对Re进行相应元素的置换和相加操作,生成Re’;
S4:根据关系式Gb×I′t=Re’解得I′t,并根据上述列置换对应关系对I′t进行逆置换得到It
S5:根据关系式Gldgct(0:L-1,0:L-1)×It=st求出st,并从st中删除上述填充的L-K个已知比特得到K比特的信息序列;
上述Gldgct为N+L-K行、L列矩阵,N为编码后的码长。
2.如权利要求1所述的方法,其特征在于,
设XsetL为填充所述d个已知比特后R的前L个码字符号中,被删除的码字符号的序号集合,该集合中的序号个数为所述XL
步骤S2中,将所述Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,得到所述Ga
3.如权利要求1所述的方法,其特征在于,
步骤S3中,对Ga进行高斯消元具体包含如下子步骤:
S31:对所述Ga中的A和D进行高斯消元,使得A变为M阶单位阵EM,同时将D变为元素全为0的(N-K-(XT-XL))行M列矩阵,即:
G a , = E M A - 1 C 0 B - D A - 1 C ;
S32:对Ga’中的B-DA-1C进行高斯消元,使其前L-M行对应的方阵为单位阵,并将A-1C消为元素全为0的M行L-M列矩阵,即:
G b = E M 0 0 E L - M ′ .
4.如权利要求3所述的方法,其特征在于,
步骤S31中,通过如下方法判断A和D中的第x行第y列元素H[x,y]是否为非零元素,并根据非零元素的位置对A和D进行所述高斯消元:
S311:根据填充d个已知比特后的R中被删除的码字符号的序号集合Xset得到上述H[x,y]在Gldgct中的行列位置:x’,y’;
S312:如果
Figure FSB00000344774800023
[xz,yz]=0,则H[x,y]为零元素,本流程结束,否则执行下一步;
S313:如果ixz=mod(iyz+offset,z),则A[x,y]为非零元素;否则,A[x,y]为零元素;
其中:z为扩展因子,zmax为最大扩展因子;
xz=floor(x’/z),yz=floor(y’/z);
ixz=mod(x’,z),iyz=mod(y’,z);
offset = floor ( G bt uniform [ x z , y z ] · z / z max ) ;
其中:floor(·)表示向下取整,
Figure FSB00000344774800025
是CMMB标准中所定义LDGC基础矩阵。
5.一种低密度生成矩阵码的译码装置,对接收到的经过低密度生成矩阵码LDGC编码后传输的比特信息序列进行译码,其特征在于,该装置包含:填充擦除单元,列置换单元,高斯消元单元,信息序列生成单元;其中:
填充擦除单元,用于在接收到的码字序列R中填充d个已知比特并将被信道擦除的码字符号删除,生成并输出Re;并将上述被信道擦除的码字符号对应的行从LDGC生成矩阵的转置矩阵Gldgct中删除,生成并输出Ge;其中,d=L-K,K为原始信息位的长度,L为原始信息位经过填充后的比特信息序列的长度;
列置换单元,用于对所述填充擦除单元输出的Ge进行列置换,生成并输出
Figure FSB00000344774800031
其中A是M阶下三角方阵,并输出Ge和Ga的列置换对应关系信息;其中,M=L-XL,XL为R的前L个符号中被信道擦除的比特数;
高斯消元单元,用于对所述列置换单元输出的Ga进行高斯消元,生成并输出Gb,使得Gb的前L行组成的方阵为单位阵;同时根据上述高斯消元过程中所进行的行置换和行相加操作,对所述填充擦除单元输出的Re进行相应元素的置换和相加操作,生成并输出Re’;
信息序列生成单元,用于根据关系式Gb×I′t=Re’生成I′t;根据所述列置换单元输出的列置换对应关系信息对I′t进行逆置换生成It;根据关系式Gldgct(0:L-1,0:L-1)×It=st生成st,并从st中删除d个已知比特后输出K比特的信息序列;
上述Gldgct为N+L-K行、L列矩阵,N为编码后的码长。
6.如权利要求5所述的装置,其特征在于,
设XsetL为填充所述d个已知比特后R的前L个码字符号中,被删除的码字符号的序号集合,该集合中的序号个数为所述XL
所述列置换单元通过将Ge中列序号属于XsetL的列移至Ge的最右端,对应列空出的位置由后续列序号不属于XsetL的列依次填充,生成所述Ga
7.如权利要求5所述的装置,其特征在于,
所述高斯消元单元采用如下子步骤对Ga进行高斯消元:
S31:对所述Ga中的A和D进行高斯消元,使得A变为M阶单位阵EM,同时将D变为元素全为0的(N-K-(XT-XL))行M列矩阵,即:
G a , = E M A - 1 C 0 B - D A - 1 C ;
S32:对Ga’中的B-DA-1C进行高斯消元,使其前L-M行对应的方阵为单位阵,并将A-1C消为元素全为0的M行L-M列矩阵,即:
G b = E M 0 0 E L - M ′ .
8.如权利要求7所述的装置,其特征在于,
所述高斯消元单元通过如下方法判断A和D中的第x行第y列元素H[x,y]是否为非零元素,并根据非零元素的位置对A和D进行所述高斯消元:
S311:根据填充d个已知比特后R中被删除的码字符号的序号集合Xset得到上述H[x,y]在Gldgct中的行列位置:x’,y’;
S312:如果
Figure FSB00000344774800043
[xz,yz]=0,则H[x,y]为零元素,本流程结束,否则执行下一步;
S313:如果ixz=mod(iyz+offset,z),则A[x,y]为非零元素;否则,A[x,y]为零元素;
其中:z为扩展因子,zmax为最大扩展因子;
xz=floor(x’/z),yz=floor(y’/z);
ixz=mod(x’,z),iyz=mod(y’,z);
offset = floor ( G bt uniform [ x z , y z ] · z / z max ) ;
其中:floor(·)表示向下取整。
CN 200810096644 2008-04-30 2008-04-30 一种低密度生成矩阵码的译码方法及装置 Expired - Fee Related CN101272223B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN 200810096644 CN101272223B (zh) 2008-04-30 2008-04-30 一种低密度生成矩阵码的译码方法及装置
PCT/CN2008/072682 WO2009132496A1 (zh) 2008-04-30 2008-10-14 一种低密度生成矩阵码的译码方法及装置
RU2010144569/08A RU2461963C2 (ru) 2008-04-30 2008-10-14 Способ и устройство для декодирования кода с генераторной матрицей низкой плотности

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810096644 CN101272223B (zh) 2008-04-30 2008-04-30 一种低密度生成矩阵码的译码方法及装置

Publications (2)

Publication Number Publication Date
CN101272223A CN101272223A (zh) 2008-09-24
CN101272223B true CN101272223B (zh) 2011-04-20

Family

ID=40005944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810096644 Expired - Fee Related CN101272223B (zh) 2008-04-30 2008-04-30 一种低密度生成矩阵码的译码方法及装置

Country Status (3)

Country Link
CN (1) CN101272223B (zh)
RU (1) RU2461963C2 (zh)
WO (1) WO2009132496A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN102148665B (zh) * 2011-05-25 2013-05-08 电子科技大学 一种lt码的译码方法
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
RU2699589C1 (ru) * 2019-02-07 2019-09-06 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Способ динамического преобразования данных при хранении и передаче

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564466A (zh) * 2004-03-29 2005-01-12 上海交通大学 采用分层低密度校验码的信道编码方法
CN101094000A (zh) * 2007-06-20 2007-12-26 北京大学 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087225A (ja) * 2001-09-12 2003-03-20 Nippon Telegr & Teleph Corp <Ntt> データ転送方法、データ転送システム、端末装置、データ転送プログラム、および記録媒体
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
DE602004011445T2 (de) * 2003-11-03 2009-01-15 Broadcom Corp., Irvine FEC-Dekodierung mit dynamischen Parametern
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
KR20060106132A (ko) * 2005-04-06 2006-10-12 삼성전자주식회사 연접 ldgm 부호 부호화/복호화 방법
US20090063930A1 (en) * 2006-02-02 2009-03-05 Mitsubishi Electric Corporation Check matrix generating method, encoding method, decoding method, communication device, encoder, and decoder
CN100592639C (zh) * 2006-04-27 2010-02-24 华为技术有限公司 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN100589327C (zh) * 2007-09-25 2010-02-10 华为技术有限公司 编码、解码方法及编码器、解码器
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN101286745B (zh) * 2008-05-07 2011-11-30 中兴通讯股份有限公司 一种交织编码方法及装置
CN101272150B (zh) * 2008-05-14 2010-09-29 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564466A (zh) * 2004-03-29 2005-01-12 上海交通大学 采用分层低密度校验码的信道编码方法
CN101094000A (zh) * 2007-06-20 2007-12-26 北京大学 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器

Also Published As

Publication number Publication date
RU2010144569A (ru) 2012-06-10
RU2461963C2 (ru) 2012-09-20
WO2009132496A1 (zh) 2009-11-05
CN101272223A (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
CN101453297B (zh) 低密度生成矩阵码的编码方法和装置、及译码方法和装置
CN101459430B (zh) 低密度生成矩阵码的编码方法及装置
CN102292917B (zh) 利用二元删除替代信道在awgn信道条件下将比特交织器适配于ldpc码和调制的方法和装置
CN102164025B (zh) 基于重复编码和信道极化的编码器及其编译码方法
CN103281166B (zh) 一种基于极化码的混合自动重传请求传输方法
CN103888148A (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
CN101414833B (zh) 低密度生成矩阵码的编码方法及装置
CN101388674B (zh) 一种译码的方法、译码器以及Turbo码译码器
CN101286819B (zh) 一种数据接收方法及装置
CN101272150B (zh) 一种低密度生成矩阵码的译码方法及装置
CN101272223B (zh) 一种低密度生成矩阵码的译码方法及装置
CN101286745B (zh) 一种交织编码方法及装置
CN101459490B (zh) 一种数据传输方法及装置
CN101459429B (zh) 一种低密度生成矩阵码的译码方法
CN101494517B (zh) 一种数据传输方法及装置
Roca et al. Rs+ ldpc-staircase codes for the erasure channel: Standards, usage and performance
CN103023603A (zh) 基于ldpc校验矩阵的比特交织编码调制的实现方法
CN107306140A (zh) 一种gel码字结构编码和译码的方法、装置及相关设备
CN103532666B (zh) 提高分布式传输中数据传输效率和lt码性能的方法
CN110190925B (zh) 一种数据处理方法及装置
CN101471743A (zh) 低密度生成矩阵码的编码方法
CN108566210A (zh) 兼容IEEE802.11n标准的LDPC编码***及方法、LDPC编码器
CN113612586A (zh) 一种lt码和多连接结合的低时延信道编码方法
CN103731234A (zh) 一种联合网络-信道编码方法、设备及中继节点
CN105659931B (zh) 一种卫星遥测信道编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110420

Termination date: 20200430

CF01 Termination of patent right due to non-payment of annual fee