CN101471743A - 低密度生成矩阵码的编码方法 - Google Patents
低密度生成矩阵码的编码方法 Download PDFInfo
- Publication number
- CN101471743A CN101471743A CNA2007101256759A CN200710125675A CN101471743A CN 101471743 A CN101471743 A CN 101471743A CN A2007101256759 A CNA2007101256759 A CN A2007101256759A CN 200710125675 A CN200710125675 A CN 200710125675A CN 101471743 A CN101471743 A CN 101471743A
- Authority
- CN
- China
- Prior art keywords
- matrix
- centerdot
- binary system
- generator matrix
- system generator
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种LDGC的编码方法。其中,该方法包括:利用多个码率为R0的、不同码长的LDGC构建LDGC母码集,其中,LDGC母码集具有统一的基础矩阵Gb uniform={(gi,j b)uniform}kb×nb;根据LDGC母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取中间变量的长度L;利用中间变量的长度和基础矩阵的行数,获取用于对基础矩阵进行处理的扩展因子z;利用扩展因子对基础矩阵进行处理,获取二进制生成矩阵Gtmp,二进制生成矩阵的前L行和前L列组成三角矩阵;对二进制生成矩阵进行修正,获取修正后的二进制生成矩阵;将修正后的二进制生成矩阵的L行和前N+L-K列组成的矩阵GIdgc作为信息比特序列的生成矩阵对信息比特序列进行编码。
Description
技术领域
本发明涉及通信领域,更具体地涉及一种低密度生成矩阵码的编码方法。
背景技术
擦除信道是一种重要的信道模型。例如,当文件在因特网上传输时,是基于数据包通信的,通常每个数据包要么无差错地被接收端接收,要么根本就没有被接收端接收到。在传输控制协议(Transmission Control Protocol,简称TCP)中,针对网络丢包的做法是检错重发机制,即利用输入端到输出端的反馈信道控制需要重新传送的数据包。当接收端检测到丢包时,产生一个重新发送控制信号,直到正确接收到完整数据包;而当接收端接收到数据包时,同样要产生一个接收确认信号。发送端也会跟踪每一个数据包直到接收到反馈回来的告知信号,否则就会重新发送。
基于流模式和文件下载模式的数据广播业务是点到多点的业务,不允许反馈,传统的检错重发机制无法使用,需要使用前向纠错(Forward Error Correction,简称FEC)来保证可靠传输。经典的应用层FEC码包括RS码(Reed-Solomon codes)和数字喷泉码(Fountain codes)等。RS码的编译码复杂度较高,一般只适用于码长比较小的情况。LT码(Luby Transform codes)和Raptor码是两种可实际应用的数字喷泉码。LT码具有线性的编码和译码时间,相对于RS码有着本质的提高,而Raptor码由于采用了预编码技术,因此具有更高的译码效率。在3GPP的组播广播多媒体业务(Multimedia Broadcast/Multicast Service,简称MBMS)以及数字视频广播(Digital Video Broadcasting,简称DVB)中都采用了Raptor码作为其FEC编码方案。
低密度生成矩阵码(Low Density Generator Matrix Codes,简称LDGC)是一种线性分组码,其生成矩阵中的非零元素通常是稀疏的。同时,LDGC还是一种系统码,它的生成矩阵中的前k列组成的方阵通常是一个上三角或下三角矩阵,该矩阵求逆可以通过迭代的方法完成。LDGC的编码是利用系统码中信息位与中间变量的对应关系先求出中间变量,然后再用中间变量乘以生成矩阵得到编码后的码字。LDGC的译码过程是先利用生成矩阵求得中间变量,然后根据信息位和中间变量的变换关系求出信息位。LDGC的编码复杂度远低于Raptor码,可以支持任意信息分组长度和任意码率编码,在性能上与Raptor码类似,都能接近理论最优性能。
同结构化低密度生成矩阵码(LDGC码)相比,LT码不支持系统码的编码方式,因此LT码难以满足某些实际的FEC编码需求;Raptor码支持系统码,但是Raptor码需要单独的预编码过程,即需要一个预编码矩阵,因此编码的复杂度较高,而LDGC码是直接利用生成矩阵编码,不需要另外的预编码矩阵,且LDGC编码时利用了回代法求解上三角(或下三角)方程,因此编码复杂度远低于Raptor码。总而言之,同LT码相比LDGC的优势是支持系统码;同Raptor码相比LDGC的优势是编码复杂度更低。
LDGC码和Fountian公司Raptor码相比,Raptor码的编码复杂度比较高,而LDGC码几乎没有编码复杂度,因为解三角方程很容易;LDGC码的列重量远低于Raptor码,Raptor码译码复杂度较高,LDGC码译码复杂度较低,需要指出,由于具有特定度分布,高斯消去过程中矩阵密度会越来越低,保证译码算法很低复杂度;由于物理层一般可以保证低的BLER(Block Error Rate,误块率),所需要开销一般不超过25%,此时LDGC码还能够提供一种特别有效译码算法,保证译码复杂度远远低于Raptor的译码复杂度;编译码矩阵的生成过程比Raptor码简单的多,迅速的多;编译码矩阵的存储远远小于Raptor码,例如本发明实施例中只是需要存储一个12*40的统一基础矩阵;最后,LDGC码比较灵活,支持任意信息分组长度K和任意码率r编码。
发明内容
本发明提供了一种低密度生成矩阵码的编码方法,以提高低密度生成矩阵码的码长灵活性,减小基础矩阵的存储空间,从而降低编译码的复杂度。
根据本发明实施例的低密度生成矩阵码的编码方法,包括以下步骤:步骤一,利用多个码率为R0的、不同码长的低密度生成矩阵码构建低密度生成矩阵码母码集,其中,低密度生成矩阵码母码集具有统一的基础矩阵 kb是基础矩阵的行数,nb是基础矩阵的列数;步骤二,根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取中间变量的长度L;步骤三,利用中间变量的长度和基础矩阵的行数,获取用于对基础矩阵进行处理的扩展因子z;步骤四,利用扩展因子对基础矩阵进行处理,获取二进制生成矩阵Gtmp,其中,二进制生成矩阵的前L行和前L列组成三角矩阵;以及步骤五,对二进制生成矩阵进行修正,获取修正后的二进制生成矩阵;以及步骤六,将修正后的二进制生成矩阵的L行和前N+L-K列组成的矩阵G1dgc作为信息比特序列的生成矩阵对信息比特序列进行编码。
其中,步骤四包括以下步骤:步骤a,利用扩展因子对基础矩阵进行修正,获取修正后的基础矩阵 步骤b,利用扩展因子对修正后的基础矩阵进行扩展,获取二进制生成矩阵,其中,二进制生成矩阵的大小为(kb×z)×(nb×z)。
其中,信息比特序列的长度与中间变量的长度之间存在以下关系:L=kb·ceil((p×K+q)/kb),其中,p、q表示大于零的常数。这里,p=1.0235,q=30,ceil表示向上取整运算。通过以下方法,利用中间变量的长度和基础矩阵的行数获取扩展因子:z=L/kb。
其中,在步骤a中,利用扩展因子对基础矩阵中的所有表示非零分块方阵的元素(gi,j b)uniform进行修正运算。具体地,如果基础矩阵的所有非零分块方阵都不是z*z零方阵,则利用扩展因子对基础矩阵中所有表示非零分块方阵的元素(gi,j b)uniform进行如下修正运算:gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax是特定正整数,这里zmax=683,floor表示向下取整运算,其它元素保持不变。
其中,二进制生成矩阵由kb×nb个大小为z×z的分块方阵构成,其中,大小为z×z的分块方阵是零矩阵、单位阵、或单位阵的循环移位矩阵。具体地,如果修正后的基础矩阵是表示z*z零方阵的元素(例如,-1),则大小为z×z的分块方阵 否则,大小为z×z的分块方阵 其中,
其中,在步骤五中,如果二进制生成矩阵的全部L行和前L列组成上右三角或下右三角矩阵,则将二进制生成矩阵的offset列到z-1列的列重量增加为2,其中,offset是处于0到z/3范围中的正整数。
其中,在步骤五中,如果二进制生成矩阵的全部L行和前L列组成上右三角或下右三角矩阵,将二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
其中,在步骤五中,如果二进制生成矩阵的全部L行和前L列组成上左三角或下左三角矩阵,则将二进制生成矩阵的(kb-1)*z+offset列到kb*z-1列的列重量增加为2,并将二进制生成矩阵的0列到z-offset列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
其中,在步骤五中,如果二进制生成矩阵的全部L行和前L列组成上右三角,将二进制生成矩阵的第i-1行、第i列的元素设置为1,其中,i处于1到z-1的范围中。
其中,在步骤五中,如果二进制生成矩阵的全部L行和前L列组成上右三角,如果(i+1)<12×z,则将二进制生成矩阵的第i行、第i+1列的元素Gtmp i,i+1设置为1,如果(i+fix(z/12))<12×z,则将二进制生成矩阵的第i行、第i+fix(z/12)列的元素Gtmp i,i+fix(z/12)设置为1,如果(i+fix(z/4))<12×z,则将二进制生成矩阵的第i行、第(i+fix(z/4)列的元素Gtmp i,i+fix(z/4)设置为1,如果(i+fix(z/3))<12×z,则将二进制生成矩阵的第i行、第(i+fix(z/3)列的元素Gtmp i,i+fix(z/3)设置为1,其中,i处于11×z到12×z-1的范围中,fix表示向下取整运算。在i处于0到11×z-1范围中,j处于11×z到12×z-1范围中,Gtmp i,j=Gtmp i,j+Gtmp i,j+25*z+Gtmp i,j+26*z+Gtmp i,j+27*z+Gtmp i,j+28*z的情况下,如果Gtmp i,j>1,则将二进制生成矩阵的第i行、第j列的元素Gtmp i,j设置为1。其中,基础矩阵的行数为12,列数为40。
其中,在步骤五中,对二进制生成矩阵的校验比特部分的某些列进行列置换。这里,所述的校验比特部分是指第L+1列到最后一列,所述列置换是指两列之间交换位置。最后,所述的列置换并不是必须的。
根据本发明实施例的低密度生成矩阵码的生成矩阵的产生装置包括:基础矩阵存储单元,用于存储由多个码率为R0的、不同码长的低密度生成矩阵码构建的低密度生成矩阵码母码集的统一的基础矩阵其中, kb是基础矩阵的行数,nb是基础矩阵的列数;矩阵参数计算单元,用于根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,计算中间变量的长度L,利用中间变量的长度和基础矩阵的行数计算用于对基础矩阵进行处理的扩展因子z;基础矩阵修正单元,用于利用扩展因子对基础矩阵进行修正,以获取修正后的基础矩阵;基础矩阵扩展单元,用于利用扩展因子对修正后的基础矩阵进行扩展,以获取二进制生成矩阵Gtmp,其中,二进制生成矩阵的全部L行和前L列组成三角矩阵;生成矩阵修正单元,用于对二进制生成矩阵进行修正,以获取修正后的二进制生成矩阵;以及生成矩阵提取单元,用于提取修正后的二进制生成矩阵的L行和前N+L-K列作为用于对信号比特序列进行编码的生成矩阵G1dgc,其中,N是对信号比特序列进行编码后输出的码字的长度。
其中,信息比特序列的长度与中间变量的长度之间存在以下关系:L=kb·ceil((p×K+q)/kb),其中,p、q表示大于零的常数。这里,p=1.0235,q=30,ceil表示向上取整运算。矩阵参数计算单元通过以下方法,利用中间变量的长度和基础矩阵的行数获取所述扩展因子:z=L/kb。
其中,基础矩阵修正单元利用扩展因子对基础矩阵中的所有表示非零分块方阵的(gi,j b)uniform进行修正运算。具体地,基础矩阵修正单元利用扩展因子对基础矩阵中的所有表示非零分块方阵的元素进行如下修正运算:gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax=683,floor表示向下取整运算。
其中,二进制生成矩阵由kb×nb个大小为z×z的分块方阵构成,其中,大小为z×z的分块方阵是零矩阵、单位阵、或单位阵的循环移位矩阵。具体地,如果修正后的基础矩阵的元素是表示z*z零方阵的元素(例如,-1),则大小为z×z的分块方阵 否则,大小为z×z的分块方阵 其中,
其中,如果二进制生成矩阵的全部L行和前L列组成上右三角或下右三角矩阵,则生成矩阵修正单元将二进制生成矩阵的offset列到z-1列的列重量增加为2,并将二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
如果二进制生成矩阵的全部L行和前L列组成上左三角或下左三角矩阵,则生成矩阵修正单元将二进制生成矩阵的(kb-1)*z+offset列到kb*z-1列的列重量增加为2,并将二进制生成矩阵的0列到z-offset列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
其中,在步骤五中,对二进制生成矩阵的校验比特部分的某些列进行列置换。这里,所述的校验比特部分是指第L+1列到最后一列,所述列置换是指两列之间交换位置。最后,所述的列置换并不是必须的。
通过本发明,可以提高低密度生成矩阵码的码长灵活性,减小基础矩阵的存储空间,从而降低编译码的复杂度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的低密度生成矩阵码的编码方法的流程图;以及
图2是根据本发明实施例的低密度生成矩阵码的生成矩阵的产生装置的框图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
参考图1,说明根据本发明实施例的低密度生成矩阵码的编码方法。如图1所示,该方法包括以下步骤:
S102,确定一个低密度生成矩阵码母码集,其中,该母码集是由有限个码率为R0=3/10的、不同码长的低密度生成矩阵码构成,该母码集具有统一形式的大小为kb×nb=12×40的基础矩阵
需要说明的是,-1只是用来表示z*z零方阵,也可以用其他标识来表示,如∞等。
S104,假设有一个1*K=1*24的二进制信息比特数据流s(s用16进制数可表示为D8AB13)要通过根据本发明实施例的方法产生的生成矩阵编码生成36比特的LDGC编码码字,所以有K=24,N=36。根据信息比特数据流的长度K与中间变量的长度L之间的关系L=kb·ceil((p×K+q)/kb)=12·ceil((p×K+q)/12)获取中间变量的长度L,其中,p=1.0235,q=30,ceil表示向上取整运算,L=60。
S106,利用中间变量的长度和基础矩阵的列数获取用于对基础矩阵进行处理的扩展因子
S108,基于基础矩阵和扩展因子z=5,根据下面的取整(Scale+floor)修正公式得到修正后的基础矩阵 其中,对的所有表示非零分块方阵的(gi,j b)uniform进行修正运算。具体地,如果对于i从0到kb-1=11,j从0到nb-1=39的表示非零分块方阵的(gi,j b)uniform≠-1(此处-1表示z*z零方阵),则执行运算gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax=683。
S110,利用扩展因子z=5对进行扩展,得到大小为(kb×z)×(nb×z)=60×200的二进制生成矩阵Gtmp。其中,Gtmp是由kb×nb=12×40=480个大小为z×z=5×5=25的分块方阵构成,这些分块方阵是零矩阵、或者单位阵、或者单位阵的循环移位矩阵,如下所示: 其中,如果 则定义 ;否则,定义 其中,大小为z×z的P方阵具有如下形式:
S112,对生成矩阵Gtmp的系统比特部分进行修正。
如果二进制生成矩阵,即Gtmp的全部L行和前L列组成上右三角,将二进制生成矩阵的第i-1行、第i列的元素设置为1,其中,i处于1到z-1=4的范围中。
如果二进制生成矩阵,即Gtmp的全部L行和前L列组成上右三角或下右三角矩阵,将二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。具体方式为,这里kb=12,对于i从11×z=11×5=55到12×z-1=12×5-1=59,如果(i+1)<12×z=12×5=60,则Gtmp i,i+1=1;如果(i+fix(z/12))=(i+fix(5/12))=i<12×z=12×5=60,则Gtmp i,i+ fix(5/12)=Gtmp i,i=1;如果(i+fix(z/4))=(i+fix(2/4))=i<12×z=12×5=60,则Gtmp i,i+fix(2/4)=Gtmp i,i=1;如果(i+fix(z/3))=(i+fix(5/3))=I<12×z=12×5=60,则Gtmp i,i+fix(2/3)=1。进一步,对于i从0到11×z-1=11×5-1=54,j从11×z=11×5=55到12×z-1=12×5-1=59,Gtmp i,j=Gtmp i,j+Gtmp i,j+25*z+Gtmp i,j+26*z+Gtmp i,j+27*z+Gtmp i,j+28*z=Gtmp i,j+Gtmp i,j+25*5+Gtmp i,j+26*5+Gtmp i,j+27*5+Gtmp i,j+28*5,如果Gtmp i,j>1则Gtmp i,j赋值为1。其中,Gtmp i,j表示矩阵Gtmp中第i行第j列的元素,fix为向下取整运算,其中的加法为算术加。
S114,Gtmp的kb×z=60行和前3kb×z=360列组成的矩阵G1dgc即为编码所需的矩阵。
S116,利用G1dgc和输入信息即可进行LDGC编码。
例如,对输入的长度为K=24的低密度生成矩阵码(信息比特序列m)进行编码,生成M=36个校验比特序列,并用信息比特序列和校验比特序列构成长度为60=24+36的码字序列C1dgc。需要指出,编码步骤中的加法是指模2加。
假设,A0,A1,…,AK-1指长度为K=24的信息比特序列m;B0,B1,…,BL-1指长度为L=60的填充已知比特后的信息比特序列s;D0,D1,…,DL-1指长度为L=60的中间变量序列I;E0,E1,…,EN+d-1指长度为N+d=72的去掉填充比特前的码字序列C;F0,F1,…,EN-1指长度为N=36的去掉填充比特前的码字序列C1dgc;gji是指G1dgc的第j行、第i列的元素。进行编码的具体过程包括以下步骤:
a.在输入的信息比特序列m后添加d=L-K=60-24=36个已知序列(1,1,1,1,1,1...),构成1*L序列s。其中,Bi=Ai(i=0,1,…,K-1),Bi=1(i=K,K+1,…,L-1)。
b.因为LDGC码是一个系统码,所以I*G1dgc(1:L,1:L)=I*G1dgc(1:60,1:60)=s。已知生成矩阵G1dgc的L行、前L列组成的方阵G1dgc(1:L,1:L)=G1dgc(1:60,1:60)和长度为L=60的序列s,解方程得到中间变量I,其中,G1dgc(1:L,1:L)=G1dgc(1:60,1:60)是右上三角方阵,D0=B0, (i=1,…,L-1)。
c.根据C=I*G1dgc(1:L,1:N+d)=I*G1dgc(1:60,1:72),计算得到长度为1*72的C。其中,Ei=Bi(i=0,…,L-1), (i=L,…,N+d-1)。
d.删掉步骤a的d=36个填充比特,产生长度为1*N=1*36的编码码字C1dgc。其中,Fi=Ei(i=0,…,K-1),Fi=Ei+d(i=K,…,N-1)。
需要指出,本发明不局限于上述的编码方法。
参考图2,说明根据本发明实施列的低密度生成矩阵码的生成矩阵的产生装置。如图2所示,该装置包括:基础矩阵存储单元202、矩阵参数计算单元204、基础矩阵修正单元206、基础矩阵扩展单元208、生成矩阵修正单元210、和生成矩阵提取单元212。其中:
矩阵参数计算单元,用于根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,计算中间变量的长度L,利用中间变量的长度L和基础矩阵的行数kb计算用于对基础矩阵进行处理的扩展因子z。
生成矩阵修正单元,用于对Gtmp进行修正,增加Gtmp的某些列的重量,得到修正后的Gtmp。
生成矩阵提取单元,用于提取修正后的Gtmp的L行和前N+L-K列组成的矩阵G1dgc作为低密度生成矩阵码的生成矩阵。
其中,信息比特序列的长度与中间变量的长度之间存在以下关系:L=12·ceil((p×K+q)/12),其中,p=1.0235,q=30,ceil表示向上取整运算。矩阵参数计算单元通过以下方法,利用中间变量的长度和基础矩阵的行数获取所述扩展因子:z=L/kb。
其中,基础矩阵修正单元利用扩展因子对基础矩阵中的所有表示非零分块方阵的(gi,j b)uniform进行修正运算。具体地,基础矩阵修正单元利用扩展因子对基础矩阵中的所有表示非零分块方阵的元素进行如下修正运算:gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax=683,floor表示向下取整运算。
其中,二进制生成矩阵由kb×nb个大小为z×z的分块方阵构成,其中,大小为z×z的分块方阵是零矩阵、单位阵、或单位阵的循环移位矩阵。具体地,如果修正后的基础矩阵是表示z*z零方阵的元素,则大小为z×z的分块方阵 否则,大小为z×z的分块方阵 其中,
其中,如果二进制生成矩阵的全部L行和前L列组成上右三角或下右三角矩阵,则生成矩阵修正单元将二进制生成矩阵的offset列到z-1列的列重量增加为2,并将二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
如果二进制生成矩阵的全部L行和前L列组成上左三角或下左三角矩阵,则生成矩阵修正单元将二进制生成矩阵的(kb-1)*z+offset列到kb*z-1列的列重量增加为2,并将二进制生成矩阵的11*z列到12*z-offset列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (32)
1.一种低密度生成矩阵码的编码方法,其特征在于,包括以下步骤:
步骤一,利用多个码率为R0的、不同码长的低密度生成矩阵码构建低密度生成矩阵码母码集,其中,所述低密度生成矩阵码母码集具有统一的基础矩阵 kb是所述基础矩阵的行数,nb是所述基础矩阵的列数;
步骤二,根据所述低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取所述中间变量的长度L;
步骤三,利用所述中间变量的长度和所述基础矩阵的行数,获取用于对所述基础矩阵进行处理的扩展因子z;
步骤四,利用所述扩展因子对所述基础矩阵进行处理,获取二进制生成矩阵Gtmp,其中,所述二进制生成矩阵的前L行和前L列组成三角矩阵;
步骤五,对所述二进制生成矩阵进行修正,获取修正后的二进制生成矩阵;以及
步骤六,将所述修正后的二进制生成矩阵的L行和前N+L-K列组成的矩阵Gldgc作为所述信息比特序列的生成矩阵对所述信息比特序列进行编码。
2.根据权利要求1所述的方法,其特征在于,所述步骤四包括以下步骤:
步骤a,利用所述扩展因子对所述基础矩阵进行修正,获取修正后的基础矩阵
步骤b,利用所述扩展因子对所述修正后的基础矩阵进行扩展,获取所述二进制生成矩阵,其中,所述二进制生成矩阵的大小为(kb×z)×(nb×z)。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤二中,所述信息比特序列的长度与所述中间变量的长度之间存在以下关系:L=12·ceil((p×K+q)/12),其中,p和q都是大于0的常数,ceil表示向上取整运算。
4.根据权利要求3所述的方法,其特征在于,p=1.0235,q=30。
5.根据权利要求3所述的方法,其特征在于,在所述步骤三中,通过以下方法,利用所述中间变量的长度和所述基础矩阵的行数获取所述扩展因子:z=L/kb。
6.根据权利要求5所述的方法,其特征在于,在所述步骤a中,利用所述扩展因子对所述基础矩阵中所有用于表示非零分块方阵的元素(gi,j b)uniform进行修正运算。
7.根据权利要求6所述的方法,其特征在于,利用所述扩展因子对所述基础矩阵中所有用于表示非零分块方阵的元素(gi,j b)uniform进行如下修正运算:gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax是特定正整数,floor表示向下取整运算。
8.根据权利要求7所述的方法,其特征在于,zmax=683。
10.根据权利要求9所述的方法,其特征在于,在所述步骤b中,如果所述修正后的基础矩阵的元素gi,j b是表示z×z零方阵的数值,则所述大小为z×z的分块方阵 否则,所述大小为z×z的分块方阵 其中,
11.根据权利要求10所述的方法,其特征在于,在所述步骤五中,如果所述二进制生成矩阵的前L行和前L列组成上右三角矩阵,则将所述二进制生成矩阵的offset列到z-1列的列重量增加为2,其中,offset是处于0到z/3范围中的正整数。
12.根据权利要求10所述的方法,其特征在于,在所述步骤五中,如果所述二进制生成矩阵的前L行和前L列组成上右三角矩阵,则将所述二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
13.根据权利要求10所述的方法,其特征在于,在所述步骤五中,如果所述二进制生成矩阵的前L行和前L列组成下右三角矩阵,则将所述二进制生成矩阵的offset列到z-1列的列重量增加为2,并将所述二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
14.根据权利要求10所述的方法,其特征在于,在所述步骤五中,如果所述二进制生成矩阵的前L行和前L列组成上左三角或下左三角矩阵,则将所述二进制生成矩阵的(kb-1)*z+offset列到kb*z-1列的列重量增加为2,并将所述二进制生成矩阵的0列到z-offset列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
15.根据权利要求11所述的方法,其特征在于,将所述二进制生成矩阵的第i-1行、第i列的元素设置为1,其中,i处于1到z-1的范围中。
16.根据权利要求12所述的方法,其特征在于,如果(i+1)<12×z,则将所述二进制生成矩阵的第i行、第i+1列的元素Gtmpi,i+1设置为1,如果(i+fix(z/12))<12×z,则将所述二进制生成矩阵的第i行、第i+fix(z/12)列的元素Gtmpi,i+fix(z/12)设置为1,如果(i+fix(z/4))<12×z,则将所述二进制生成矩阵的第i行、第(i+fix(z/4)列的元素Gtmpi,i+fix(z/4)设置为1,如果(i+fix(z/3))<12×z,则将所述二进制生成矩阵的第i行、第(i+fix(z/3)列的元素Gtmpi,i+fix(z/3)设置为1,其中,i处于11×z到12×z-1的范围中,fix表示向下取整运算,在i处于0到11×z-1范围中,j处于11×z到12×z-1范围中,Gtmpi,j=Gtmpi,j+Gtmpi,j+25*z+Gtmpi,j+26*z+Gtmpi,j+27*z+Gtmpi,j+28*z的情况下,如果Gtmpi,j>1,则将所述二进制生成矩阵的第i行、第j列的元素Gtmpi,j设置为1。
17.根据权利要求5所述的方法,其特征在于,所述基础矩阵的行数为12,列数为40。
18.一种低密度生成矩阵码的生成矩阵的产生装置,其特征在于,包括:
矩阵参数计算单元,用于根据所述低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,计算所述中间变量的长度L,利用所述中间变量的长度和所述基础矩阵的行数计算用于对所述基础矩阵进行处理的扩展因子z;
基础矩阵扩展单元,用于利用所述扩展因子对所述修正后的基础矩阵进行扩展,以获取二进制生成矩阵Gtmp,其中,所述二进制生成矩阵的前L行和前L列组成三角矩阵;
生成矩阵修正单元,用于对所述二进制生成矩阵进行修正,以获取修正后的二进制生成矩阵;以及
生成矩阵提取单元,用于提取所述修正后的二进制生成矩阵的L行和前N+L-K列作为用于对所述信号比特序列进行编码的生成矩阵Gldgc,其中,N是对所述信号比特序列进行编码后输出的码字的长度。
19.根据权利要求18所述的装置,其特征在于,所述信息比特序列的长度与所述中间变量的长度之间存在以下关系:L=12·ceil((p×K+q)/12),其中,p和q都是大于0的常数,ceil表示向上取整运算。
20根据权利要求19所述的装置,其特征在于,p=1.0235,q=30。
21.根据权利要求18或19所述的装置,其特征在于,所述矩阵参数计算单元通过以下方法,利用所述中间变量的长度和所述基础矩阵的行数获取所述扩展因子:z=L/kb。
22.根据权利要求21所述的装置,其特征在于,所述基础矩阵修正单元利用所述扩展因子对所述基础矩阵中用于表示所有非零分块方阵的元素(gi,j b)uniform进行修正运算。
23.根据权利要求22所述的装置,其特征在于,所述基础矩阵修正单元利用所述扩展因子对所述基础矩阵中用于表示所有非零分块方阵的元素(gi,j b)uniform进行如下修正运算:gi,j b=floor(z·(gi,j b)uniform/zmax),其中,zmax是特定正整数,floor表示向下取整运算。
24.根据权利要求23所述的装置,其特征在于,zmax=683。
26.根据权利要求25所述的装置,其特征在于,如果所述修正后的基础矩阵的元素gi,j b是表示z*z零方阵的数值,则所述大小为z×z的分块方阵 否则,所述大小为z×z的分块方阵 其中,
27.根据权利要求26所述的装置,其特征在于,所述生成矩阵修正单元通过以下方法对所述二进制生成矩阵进行修正:如果所述二进制生成矩阵的前L行和前L列组成上右三角矩阵,则所述生成矩阵修正单元将所述二进制生成矩阵的offset列到z-1列的列重量增加为2,其中,offset是处于0到z/3范围中的正整数。
28.根据权利要求26所述的装置,其特征在于,所述生成矩阵修正单元通过以下方法对所述二进制生成矩阵进行修正:如果所述二进制生成矩阵的前L行和前L列组成上右三角矩阵,则将所述二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
29.根据权利要求26所述的装置,其特征在于,所述生成矩阵修正单元通过以下方法对所述二进制生成矩阵进行修正:如果所述二进制生成矩阵的前L行和前L列组成下右三角矩阵,则所述生成矩阵修正单元将所述二进制生成矩阵的offset列到z-1列的列重量增加为2,并将所述二进制生成矩阵的(kb-1)*z列到kb*z-1列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
30.根据权利要求26所述的装置,其特征在于,所述生成矩阵修正单元通过以下方法对所述二进制生成矩阵进行修正:如果所述二进制生成矩阵的前L行和前L列组成上左三角或下左三角矩阵,则所述生成矩阵修正单元将所述二进制生成矩阵的(kb-1)*z+offset列到kb*z-1列的列重量增加为2,并将所述二进制生成矩阵的0列到z-offset列的列重量增加为大于或者等于30,其中,offset是处于0到z/3范围中的正整数。
31.根据权利要求27所述的装置,其特征在于,所述生成矩阵修正单元将所述二进制生成矩阵的第i-1行、第i列的元素设置为1,其中,i处于1到z-1的范围中。
32.根据权利要求28所述的装置,其特征在于,如果(i+1)<12×z,则所述生成矩阵修正单元将所述二进制生成矩阵的第i行、第i+1列的元素Gtmpi,i+1设置为1,如果(i+fix(z/12))<12×z,则所述生成矩阵修正单元将所述二进制生成矩阵的第i行、第i+fix(z/12)列的元素Gtmpi,i+fix(z/12)设置为1,如果(i+fix(z/4))<12×z,则所述生成矩阵修正单元将所述二进制生成矩阵的第i行、第(i+fix(z/4)列的元素Gtmpi,i+fix(z/4)设置为1,如果(i+fix(z/3))<12×z,则所述生成矩阵修正单元将所述二进制生成矩阵的第i行、第(i+fix(z/3)列的元素Gtmpi,i+fix(z/3)设置为1,其中,i处于11×z到12×z-1的范围中,fix表示向下取整运算,在i处于0到11×z-1的范围中、j处于11×z到12×z-1的范围中,Gtmpi,j=Gtmpi,j+Gtmpi,j+25*z+Gtmpi,j+26*z+Gtmpi,j+27*z+Gtmpi,j+28*z的情况下,如果Gtmpi,j>1,则所述生成矩阵修正单元将所述二进制生成矩阵的第i行、第j列的元素Gtmpi,j设置为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101256759A CN101471743A (zh) | 2007-12-28 | 2007-12-28 | 低密度生成矩阵码的编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101256759A CN101471743A (zh) | 2007-12-28 | 2007-12-28 | 低密度生成矩阵码的编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101471743A true CN101471743A (zh) | 2009-07-01 |
Family
ID=40828891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101256759A Pending CN101471743A (zh) | 2007-12-28 | 2007-12-28 | 低密度生成矩阵码的编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101471743A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877591A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 一种二进制对称信源编码的方法和装置 |
CN107592958A (zh) * | 2015-05-18 | 2018-01-16 | 华为技术有限公司 | 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码 |
-
2007
- 2007-12-28 CN CNA2007101256759A patent/CN101471743A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877591A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 一种二进制对称信源编码的方法和装置 |
CN101877591B (zh) * | 2010-06-18 | 2016-08-03 | 中兴通讯股份有限公司 | 一种二进制对称信源编码的方法和装置 |
CN107592958A (zh) * | 2015-05-18 | 2018-01-16 | 华为技术有限公司 | 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101453297B (zh) | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 | |
CN100568755C (zh) | 用于编码和解码具有可变编码率的块低密度奇偶校验码的装置和方法 | |
CN101889398B (zh) | 在使用低密度奇偶校验码的通信系统中用于信道编码和解码的方法和装置 | |
JP5506099B2 (ja) | 低密度パリティ検査符号を使用する通信システムにおけるチャネル符号化方法及びその装置 | |
CN1593012B (zh) | 一种用于通信系统中编码信号的装置和方法 | |
CN101039119B (zh) | 编码与解码的方法及系统 | |
US8386880B2 (en) | Method for transmitting non-binary codes and decoding the same | |
US7934146B2 (en) | Method, apparatus and computer program product providing for data block encoding and decoding | |
US20090070652A1 (en) | Apparatus and method for channel encoding/decoding in communication system using variable-length ldpc codes | |
WO2007098397A2 (en) | Multiple-field based code generator and decoder for communications systems | |
CN101414833B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101217337A (zh) | 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法 | |
WO2007072721A1 (ja) | 検査行列生成方法、符号化方法、通信装置、通信システム、符号化器 | |
JPWO2007088870A1 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
EP2317656A1 (en) | Apparatus and method for generating a parity check matrix in a communication system using linear block codes, and a transmission/reception apparatus and method using the same | |
CN101582744A (zh) | 一种基于迭代方法的rs喷泉码的编译码方法 | |
CN1933336B (zh) | 使用grs码构建ldpc码的方法和装置 | |
CN101286745B (zh) | 一种交织编码方法及装置 | |
CN101272223B (zh) | 一种低密度生成矩阵码的译码方法及装置 | |
CN101494517A (zh) | 一种数据传输方法及装置 | |
CN101471743A (zh) | 低密度生成矩阵码的编码方法 | |
CN101459429B (zh) | 一种低密度生成矩阵码的译码方法 | |
KR101145673B1 (ko) | 특정 구조를 가지는 lt코드를 이용한 부호화 방법 및 이를 기반으로 하는 랩터 코드를 이용한 부호화 방법 | |
CN107612559A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090701 |