专利名称::低密度生成矩阵码的编码方法和装置、及译码方法和装置的制作方法
技术领域:
:本发明涉及通信领域,更具体地涉及一种j氐密度生成矩阵码的编码方法和装置、及译码方法和装置。
背景技术:
:擦除信道是一种重要的信道模型。例如,当文件在因特网上传输时,是基于数据包通信的,通常每个数据包要么无差错地被接收端接收,要么根本就没有被接收端接收到。在传输控制协议(TransmissionControlProtocol,简《尔TCP)中,4十7于网纟各丟包的4故法是检错重发机制,即利用输入端到输出端的反馈信道控制需要重新传送的数据包。当接收端^r测到丟包时,产生一个重新发送控制信号,直到正确4妄收到完整凄t据包;而当4妄收端4矣收到凄t据包时,同样要产生一个接收确认信号。发送端也会跟踪每一个数据包直到接收到反馈回来的告知信号,否则就会重新发送。基于流模式和文件下载模式的数据广播业务是点到多点的业务,不允许反馈,传统的检错重发机制无法使用,需要使用前向纠4晉(ForwardErrorCorrection,简称FEC)来4呆i正可靠传丰lr。经典的应用层FEC包括RS码(Reed-Solomoncodes)和数字喷泉码(Fountaincodes)等。RS码的编译码复杂度较高,一般只适用于码长比4交小的情况。LT码(LubyTransformcodes)和Raptor石马是两种可实际应用的数字喷泉码。LT码具有线性的编码和译码时间,相对于RS码有着本质的提高,而R叩tor码由于采用了预编码技术,因此具有更高的译码效率。在3GPP的组4番广4番多々某体业务(MultimediaBroadcast/MulticastService,简称MBMS)以及凄史字4见频广4番(DigitalVideoBroadcasting,简称DVB)中都采用了Raptor码作为其FEC编码方案。l氐密度生成头巨阵石马(LowDensityGeneratorMatrixCodes,简-尔LDGC)是一种线性分组码,其生成矩阵中的非零元素通常是稀疏的。同时,LDGC还是一种系统码,它的生成矩阵中的前k列组成的方阵通常是一个上三角或下三角矩阵,该矩阵求逆可以通过迭代i的方法完成。LDGC的编码是利用系统码中信息位与中间变量的对应关系先求出中间变量,然后再用中间变量乘以生成矩阵得到编码后的码字。LDGC的i奪码过程是先利用生成矩阵求得中间变量,然后根据信息位和中间变量的变换关系求出信息位。LDGC的编码复杂度远低于Raptor码,可以支持任意信息分组长度和任意码率编码,在性能上与Raptor码类似,都能4妄近理i仑最优性能。同结构化低密度生成矩阵码(LDGC码)相比,LT码不支持系统石马的编石马方式,因此LT石马乂,以满足某些实际的FEC编石马需求;Raptor码支持系统码,但是Raptor码需要单独的预编码过程,即需要一个预编码矩阵,因此编码的复杂度较高,而LDGC码是直4妄利用生成矩阵编码,不需要另外的预编码矩阵,且LDGC编码时利用了回代法求解上三角(或下三角)方程,因此编码复杂度远低于Raptor码。总而言之,同LT码相比LDGC的优势是支持系统码;同Raptor码相比LDGC的优势是编码复杂度更低。
发明内容鉴于以上所述的一个或多个问题,本发明提供了一种结构化低密度生成矩阵码的编码方法。才艮据本发明实施例的《氐密度生成矩阵码的编码方法,包4舌以下步骤步骤一,利用P个码率为&的、不同码长的低密度生成矩阵码构建低密度生成矩阵码母码集,其中,低密度生成矩阵码母码集具有统一的基础矩阵G:"—,^是基础矩阵的行数,"6是基础矩阵的列数;步骤二,根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取中间变量的长度L;步骤三,利用中间变量的长度L和基础矩阵的行数^获取用于对基础矩阵进行处理的扩展因子^,并利用扩展因子^对基础矩阵进^^修正和扩展,以获取生成矩阵G^c;以及步骤四,利用生成矩阵的L行和前N+L-K列组成的矩阵Gldgc(l丄,1:N+L-K)对待编码的信息比特序列进行编码。其中,在步驶《二中,通过/>式丄=1110(1砂(^尺+&),利用4寺编石马的信息比特序列的长度K获取中间变量的长度L,其中,mod妙()表示取整1多正,修正的方法是向上取整、向下耳又整、或舍入取整,a是略大于1的正有理Hb是正整凄t。其中,步骤三包括以下步骤步骤a,通过7>式2,=丄,利用中间变量的长度L和基础矩阵的行数^获取扩展因子《,,并在对应于低密度生成矩阵码母码集的、由尸个大于零的正整数^"2〈…"""^…"p构成的扩展因子集合中找出与扩展因子《,有如下关系的、用于对基础矩阵进行处理的扩展因子Vl<z,"4;步骤b,利用用于对基础矩阵进行处理的扩展因子对基础矩阵进行修正,获取修正后的基础矩阵Gr"'^;步骤c,利用用于对基础矩阵进行处理的扩展因子Z^,对修正后的基础矩阵进行扩展,获取未l奮正的生成矩阵G';以及步骤d,》t未^f奮正的生成矩阵G'进行修正,获取生成矩阵G版c。13其中,步骤四包括以下步骤步骤e,将L-K个已知比特添加到待编码的信息比特序列中,生成长度为L的信息比特序列m;步骤f,根据公式IxGwge(l:L,l:L)-m,利用生成矩阵的L行、前L列组成的方阵Gwge(1:L,1:L)和长度为L的信息比特序列m获取中间变量I,并才艮据7>式C=IxGldgc,利用生成矩阵的L行和前N+L-K列组成的矩阵Gldge(1:L,1:N+L-K)对中间变量进行编码,生成长度为N+L-K的第一编码结果;以及步骤g,从长度为N+L-K的第一编码结果中删除L-K个已知比特,生成长度为L的第二编码结果。其中,基础矩阵的行数&是大于2的整数,基础矩阵的列数^是大于等于1的整lt。在步骤d中,通过加大未^^正的生成矩阵G'的特定列的列重量,来获取生成矩阵Gldgc。根据本发明实施例的低密度生成矩阵码的编码装置,包括基础矩阵存储单元,用于存储由尸个码率为&的、不同码长的低密度生成矩阵码构建的4氐密度生成矩阵码母码集的统一的基础矩阵G「/画,其中,^是基础矩阵的行数,^是基础矩阵的列数;矩阵参数计算单元,用于根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,计算中间变量的长度L,利用中间变量的长度L和基础矩阵的行数&计算用于对基础矩阵进行处理的扩展因子&,并利用扩展因子^对基础矩阵进行修正和扩展计算,以获取生成矩阵Gwge;比特填充单元,用于爿夸L-K个已知比特添加在;f寺编石马的4言息比特序列中,以生成长度为L的信息比特序列m;预编码单元,用于根据公式IxGldgc(1:L,1:L)=m,利用生成矩阵的L行、前L列组成的方阵Gldgc(1:L,1:L)和长度为L的信息比特序列m获取中间变量I;分组码编码单元,用于利用生成矩阵的L行和前N+L-K列组成的矩阵Gldgc(l:L,1:N+L-K)对中间变量进行编码,生成长度为N+L-K的第一编码结果;以及比特删除单元,用于/人长度为N+L-K的第一编^5马结果中删除L-K个已知比特,生成长度为L的第二编码结果。其中,基础矩阵的^^亍、前^列纟且成的方阵Gr^(l:^K)为上三角或下三角矩阵。其中,矩阵参数计算单元通过公式z,-丄,利用中间变量的长度L和基础矩阵的行数^获取扩展因子并通过在对应于低密度生成矩阵码母码集的、由尸个大于零的正整数z'"2〈…"p构成的扩展因子集合Z^中找出与扩展因子《,有如下关系的扩展因子来获取用于对基础矩阵进4亍处理的Z^:v,<z,。扩展因子Z;t,对基础矩阵进行修正,获取修正后的基础矩阵G广,,利用用于对基础矩阵进行处理的扩展因子&,对修正后的基础矩阵进4亍扩展,获取未》f正的生成矩阵G',然后对未》务正的生成矩阵G'进行《多正,获取生成矩阵Guigc。其中,矩阵参^:计算单元通过加大未》多正的生成矩阵G'的特定列的列重量来对未》务正的生成矩阵G'进4于l奮正。根据本发明实施例的低密度生成矩阵码的译码方法,包括以下步骤步骤一,利用编码过程中使用的扩展因子^,对基础矩阵G:"—进行修正和扩展,获取接收生成矩阵G,dgc(:,r!,r2,…ri);步骤二,将L-K个已知比特填充在通过擦除信道的编码后的低密度生成矩阵码中,以获取将进行译码的<氐密度生成矩阵码C(ri,r2,…ri)-[Cd,Cr2,Cr3,…,Cri],其中,i是满足丄s"iV+Z-尺的正整凄史,L是编码过程中4吏用的中间变量的长度,N是未通过纟察除信道的编码后的低密度生成矩阵码的长度,K是编码前的低密度生成矩阵码的长度;步骤三,根据公式C(:,rhr2,…ri"r^Gwgc(:,r,,r2,…ri),利用接收生成矩阵和将进^亍译码的^氐密度生成矩阵码获耳又1*L的4妄收中间向量I;步骤四,根据公式PG^c(l:L,l:L):m,利用接收生成矩阵的L行、前L列组成的方阵Gldgc(1:L,1:L)和接收中间向量获取长度为L的译码结果m;以及步骤五,从长度为L的译码结果m中删掉L-K个已知比特,获取长度为K的译码结果。其中,接收生成矩阵保留了编码过程中使用的生成矩阵的L行、前N+L-K列组成的矩阵G,dgc(1:L,1:N+L-K)中的所有非4察除位置序号所对应的列向量。其中,步骤三包括以下步骤步骤a,利用高斯消去法,对接收生成矩阵G,dgc(:,n,r2,…ri)进行行置换、列置换、和/或行消去运算,获取包含I^L的上三角矩阵的矩阵;步骤b,根据包含I^L的上三角矩阵的矩阵,对将进行译码的低密度生成矩阵码进行置换和叠加,对编码过程中使用的中间变量进行置换;以及步骤c,根据回代法解上三角递归方程,获取接收中间向量I。其中,步骤a包括以下步骤选择接收生成矩阵中的行重量最轻的一行与第j行进行行交换;将行交换后的接收生成矩阵中的第j行的第一个非零元素所在列和行交换后的接收生成矩阵的第j列进行列交换;以及利用行消去方法,用列交换后的接收生成矩阵的第j行第j列的元素消掉列交换后的接收生成矩阵的第j列中的第j+l4亍和最后4亍之间的非零元素。根据本发明实施例的低密度生成矩阵码的译码装置,包括基础矩阵存储单元,用于存储由尸个码率为i^的、不同码长的低密度生成矩阵码构建的{氏密度生成矩阵码母码集的统一的基础矩阵G:"—,其中,及。=&,y^是基础矩阵的行数,"6是基础矩阵的列数;矩阵参数计算单元,用于利用编码过程中使用的扩展因子^,对基础矩阵g:"—进4刊奮正和扩展,获取4妾收生成矩阵GldgcC,n,r2,…ri);比特填充单元,用于将L-K个已知比特填充在通过〗察除信道的编码后的低密度生成矩阵码中,以获取将进行译码的低密度生成矩阵码C(r^,r2,…ri"[C^,Cr2,Cr3,…,Cri],其中,i是满足kk7v+丄一^的正整数,L是编码过程中使用的中间变量的长度,N是未通过擦除信道的编码后的低密度生成矩阵码的长度,K是编码前的低密度生成矩阵码的长度;上三角矩阵计算单元,用于利用高斯消去法,对接收生成矩阵G,dge(:,n,r2,…ri)进行行置换、列置换、和/或行消去运算,获取包含I^L的上三角矩阵的矩阵;中间变量计算单元,用于才艮据公式C(:,r!,r2,…ri)-PGldgc(:,r!,r2,…ri),利用包含L*L的上三角矩阵的矩阵和将进行译码的低密度生成矩阵码获取"l的接收中间向量I;分组码译码单元,用于根据公式PGwgc(l:L,l:L):m,利用接收生成矩阵的L4亍、前L列组成的方阵Gldgc(1丄,1:L)和4妾收中间向量获取长度为L的译码结果m;以及比特删除单元,用于/人长度为L的译码结果m中删掉L-K个已知比特,获取长度为K的译码结果。其中,矩阵参数计算单元通过公式2,=丄,利用编码过程中使用的中间变量的长度L和基础矩阵的4亍数&获取扩展因子并通过在对应于低密度生成矩阵码母码集的、由尸个大于零的正整数Z'"2《'"""^…"P构成的扩展因子集合Z,e,中找出与扩展因子&有如下关系的扩展因子来获取编码过程中使用的扩展因子V'<^。ZA,对基础矩阵进行修正,获取修正后的基础矩阵g广^,利用编码过程中使用的扩展因子Zp对修正后的基础矩阵进行扩展,获取基础生成矩阵G,然后取基础生成矩阵G的L行和与将进行译码的低密度生成矩阵码的序号对应的列生成接收生成矩阵。其中,上三角矩阵计算单元通过选择接收生成矩阵中的行重量最轻的一行与第j行进行行交换,将行交换后的接收生成矩阵中的第j行的第一个非零元素所在列和行交换后的接收生成矩阵的第j列进行列交换,并利用行消去方法,用列交换后的接收生成矩阵的第j行第j列的元素消掉列交换后的接收生成矩阵的第j列中的第j+l行和最后行之间的非零元素,来获取包含I^L的上三角矩阵的矩阵。其中,在4^收生成矩阵的L4亍、前L列组成的方阵Gldge(1:L,1:L)为左上三角或左下三角矩阵的情况下,将L-K个已知比特填充在通过擦除信道的编码后的低密度生成矩阵码之前。在接收生成矩阵的L行、前L列组成的方阵Gldgc(1:L,1:L)为右上三角或右下三角矩阵的情况下,将L-K个已知比特填充在通过纟察除信道的编码后的低密度生成矩阵码的K-E个比特之后,其中,E是未通过擦除信道的编码后的低密度生成矩阵码通过^察除信道后,前K个码字中辆L〗察除的码字的个凄t。通过本发明,可以提高低密度生成矩阵码的码长灵活性,减小基础矩阵的存储空降,从而降低编译码的复杂度。此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是上下三角基础矩阵的示意图2是才艮据本发明实施例的LDGC的编码方法的流程图;图3是根据本发明实施例的LDGC生成矩阵的示意18图4是根据本发明实施例的LDGC的译码方法的流程图5是根据本发明实施例的经过擦除信号的LDGC生成矩阵的示意图6是根据本发明实施例的利用高斯消去法在LDGC生成矩阵中产生的右上三角矩阵的示意图7是根据本发明实施例的LDGC的编码装置的框图;以及图8是根据本发明实施例的LDGC的译码装置的框图。具体实施例方式本发明提出的LDGC码的编码方法,能够适应不同码长,表述简单,有利于标准化,有利于基础矩阵的存储,从而具有更大的通用性。设这种LDGC码的生成矩阵G为(^xz)x(^xz)矩阵,它是由尺xW个分块矩阵构成,每个分块矩阵都是zxz的基本置换矩阵的不同幂次。当基本置换矩阵为单位阵时,它们都是单位阵的循环移位矩阵(文中默认为右移)。具有如下的形式如果&卜—、则有P"、0;如果^是大于或者等于0的整数,则定义P"=(p)4,在这里P是一个zxz的一示准置纟奐矩阵,如下所示:<formula>formulaseeoriginaldocumentpage19</formula>通过这样的幂次&就可以唯一标识每一个分块矩阵,单位矩阵的幂次可用0表示,零矩阵一般用-l来表示。这样,如果将G的每个分块矩阵都用它的幂次代替,就得到一个&x的幂次矩阵G、这里,定义、是G的基础矩阵,G称为、的扩展矩阵。在实际编码时,z=码长/基础矩阵的列数nb,称为扩展因子。例如,矩阵G可以用下面的参凄tz和一个2x4的基础矩阵Gt扩展得到z=3和'10001010000o漏0000101000001100001000。010100010101000011000010!_0I000101□0010-12121因此,也可以说本发明的LDGC的编码器是由基础矩阵Gb、扩展因子z、及所选择的基本置换矩阵唯一生成的。如果对于每个不同的扩展因子,LDGC都采用一个基础矩阵,那么,对于每个不同的码长,LDGC编译码器都需要存储一个基础矩阵,当码长很多时,就要存储很多基础矩阵,这样就会出现表示和存储的问题。因此,当需要实现变码长的时候,同一码率的一定范围内多种码长的低密度生成矩阵码会使用统一形式的基础矩阵,这里定义为统一基础矩阵仏。不同码长时,若对仏进行修正和扩展,可以得到生成矩阵G,使得生成的编译码器可适用于码长可变的场合。修正是利用不同码长的扩展因子对基础矩阵Gs中的非负值进行修正,修正后元素值应小于该码长下的扩展因子值。修正算法有4艮多种,例如,可以采用取才莫(mod)、耳又整(scale+floor)、或舍入(scale+round)等。设P"为基础矩阵仏的第i行第j列的非负1元素,P"'为修正以后的矩阵G:d柯的第i行第j列的非负l元素,则有对三Ptfmodz三mod—于耳又才莫(mod)方法,%;对于取整(scale+floor)方法,PP..量y—v上P"==RoundV」=RoundZmax乂P.,x对于舍入(scale+round)方法,J。其中,z为当前码长对应的扩展因子,即分块方阵的行数或者列数;^M为最大支持码长对应的扩展因子。mod为取模操作,L」为下取整操作,Round为四舍五入操作。本发明提出的低密度生成矩阵码是以可变码长的LDGC母码集为基础,由一个统一的基础矩阵通过修正、扩展等才喿作,实现任意码长低密度生成矩阵码的编译码。下面参考附图,详细说明本发明的具体实施方式。参考图2,说明才艮据本发明实施例的LDGC的编码方法。其中,图2所示的方法是对长度为K的信息比特信号流进行编码,然后输出长度为N的编码后的信息比特信号流给后续处理单元处理的过程。其中,校验位长度为M=N-K,码率为r=K/N。如图2所示,该方法包4舌以下步骤S202,确定一个特定码率Ro的低密度生成矩阵码母码集的统一的基础矩阵G:"—。其中,该低密度生成矩阵码母码集是由P个码率为Rq的、不同码长(A^zx,Kw"J的低密度生成矩阵码构成。其中,及。=&,远小于实际编码所需的码率。Zw为扩展因子集合,扩展因子Z可以是中的任何一个元素,是由p个大于零的正整数^"2〈…"w〈^〈…〈^构成的集合。其中,(大于2的确定整数)是基础矩阵K—"的列数,&(大于等于1的确定整数)是基础矩阵G,""的行数。如图l所示,基础矩阵G,""的^行、前&列组21成的方阵Gr—(i人,i人)为特歹朱的上三角或下三角矩阵,所有实际石马率大于Ro的LDGC码都可以通过基础矩阵G:"—编码产生。S204,根据信息比特信号流的长度K与中间变量的长度L之间的关系得到L值。具体地,信息比特信号流的长度K和中间变量的长度L之间存在一定的关系,即丄二mod砂Ox/:+6),其中,mod办()表示取整修正,修正的方法可以是向上取整(ceil)、向下取整(floor)、或者舍入(round)取整。其中,a是一个略大于1的正有理凄史,b是一个正整数,由此关系可以求得L。S206,根据信息分组长度匹配,确定扩展因子,以根据扩展因子和基础矩阵G:"'—,确定编码所需要的参凄t和矩阵。其中,利用特定的扩展因子/>式2,=丄确定扩展因子2,,确定z,与z^中元素有如下关系^—^z,"p其中,Zw,^是Z^中大小相邻的元素,编码所需的扩展因子是&。S208,基于统一的基础矩阵G:"—和扩展因子^,才艮据特定的修^正算法可以得到》务正后的基础矩阵G广一,利用扩展因子^对Gr^进行扩展得到未修正的生成矩阵G';对G'进行修正,修正方法是加大某些列的列重量(即增加列中元素1的个数),得到最终的生成矩阵Gwgc。其中,生成矩阵G,dge的L^f亍和前N+L-K列组成的矩阵Gwge(1:L,1:N+L-K)即为编码所需的矩阵。需要指出的是,增大列重量的方法可以是通过另外产生的一些较重的列来替换掉G'中的某些列,或者通过将G'中的其他列累加到这些列中,或者在这些列中直接加大元素1的个数,且并不局限于这三种方法,^旦必须^f呆i正最终的生成矩阵Gldge的L4于、前L列构成的方阵仍然是一个上三角或下三角矩阵。S210,在基础矩阵g:m/。的&4亍,前&歹'J组成的方阵Gr^(l:&,l:&)为左上三角或左下三角矩阵的情况下,爿夸L-K个已知比特填充在需要编码的K比特的信息比特信号流(信息比特s)之前,生成长度为L的新的信息比特信号流m;在g:"—(1:^,1:为右上三角或右下三角矩阵的情况下,将L-K个已知比特填充在需要编码的K比特的信息比特信号流(信息比特s)之后,生成长度为L的新的信息比特信号流m。需要指出的是,填充比特的位置并不限于此。S212,由于LDGC是系统码,所以对填充后的信息比特信号流m,根据IxG他c(1:L,l:L)-m,利用生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)和长度为L的信息比特信号流m生成中间变量I。S214,才艮据C-IxGwgc,利用生成矩阵G,dgc对中间变量I进行编码,生成长度为N+L-K的编码信号流。S216,从长度为N+L-K的编码4言号流中删除L-K个已知比特,生成长度为N的编码信号流。下面以一个实际的例子来说明根据本发明实施例的低密度生成头巨阵;马的编;马方法。首先,对低密度生成矩阵码的母码集进行修正,得到修正的基础矩阵。一个码率为R^1/3,具有多个码长结构化的低密度生成矩阵码的母码集的统一的基础矩阵大小为&x=12x36,该母码集的扩展因子以1为步长从Zmi^2增加到Zma^683,记做"Z^-化m:1:;}。由于一个特定码长N对应一个特定扩展因子z,所以信息分组长度是以&为步长从Zrain"A增加到的,记作《"zminxHZraax>^}={24:12:8196}。码率Rq=1/3的母码集的统一的基础矩P车G:"—如下所示、<table>tableseeoriginaldocumentpage24</column></row><table>确定z'与中元素有3口下关系zt—,=3<;《^=4,其中,,,zt是中大小相邻的元素,则z=^=4就是编码需要的扩展因子。为了实现(zx^,""J低密度生成矩阵码的编译码,需要用如前所述的某个修正运算和扩展因子Z来修正统一的基础矩阵g:"—,得到修正后的基础矩阵g广w,根据Grd一和Z就可以得到生成矩阵。本实例采用了取整(Scale+floor)^修正7>式来》务正统一的基础矩阵,修正是对g:"—的表示非零方阵的元素进行的,这里zmax=683:(g'/)683通过对上述的g:"—修正,可以得到低密度生成矩阵码对应的》务正基础头巨阵,如下所示Gmod6利用扩展因子&对g广一进行扩展得到L承(N+L-K)的生成矩阵G,,对G'的第L-zk=44列到第L+zk=48列进行修正,加重G'(:,L-zk:L+zO的列重量(即增加列中元素1的个凄t);同时,对G'的第1列到第Zk列也进行修正,使得G'中第1列到第Zk列中有部分列的列重量为2,々务正后的矩阵为GldgC(l:L,l:N+L-K)=Gldge(l:48,l:96),修正后的矩阵G,dgc是由许多z^Zk的方块阵构成;如图3所示(其中,黑点表示元素1,空白位置表示元素0)。因为基础头巨阵G:—m的&^亍,前^列纟且成的方阵Gf—(l:&,l:&)是一个右上三角矩阵,所以在输入信息流s后面添力。d=L-K=24个已知填充比特p(p用16进制可表示为9A0C2C),生成1*L=1*48的4言息比特流m(m用16进制可表示为D8AB139A0C2C)。根据LDGC是系统码的特点(由于LDGC码是系统码,所以有IxGWge(l:48,l:48)=m),利用Gldgc(1:L,l:L)=Gldgc(1:48,1:48)是一个右上三角矩阵,对填充后的1*L=1*48的信息比特流m进行解方程计算,求出1*L=1*48的中间变量I(I用16进制可表示为942DA94E0A24)。根据"IxG琳,对输入的中间变量I进4亍编码,生成l*(N+d)=l*96的二进制石马字c(c用16进制可表示为D8AB139A0C2CCD3AC516ED52)。将添加的d=24个填充比特从l*(N+d)=l*96的二进制码字c中删除,最终得到N=72比特的编码码字(用16进制可表示为D8AB13CD3AC516ED52)发送出去。参考图4,说明根据本发明实施例的LDGC的译码方法。如图4所示的方法是对于经过擦除信道后的信息比特信号流,译码输出长度为K的信息比特信号流给后续处理单元。设经过擦除信道后,前K个比特中有E个比4争^^察除。如图4所示,该方法包4舌以下步骤S402,对基础矩阵G:"—进行修正和扩展,得到接收生成矩阵Gwgc(:,r!,r2,…ri)。其中,具体方法参照编码方法中的相应步骤。S404,对经过擦除信道的接收比特信号流,填充L-K个已知比特,组成译码器的输入信号流C(ri,r2,…ri)-[Cn,Cr2,Cr3,…,Cri],其中,26i是一正整凄tJUswiV+丄-〖。其中,对在编码过程中4吏用的生成矩阵的L4亍,前L列组成的方阵Gldge(1:L,1丄)为左上三角或左下三角矩阵的情况下,将L-K个已知比特填充到4妾收比特信号流之前;在编码过程中使用的生成矩阵的L行,前L列组成的方阵Gldge(1:L,1:L)为右上三角或右下三角矩阵的情况下,将L-K个填充比特添加到接收比特信号流中第K-E个比特之后。需要指出的是,填充比特的位置并不限于此。S406,根据C(:,r,r2,…ri"PG,dgc(:,r!,r2,…ri),解方程,得到1*L的中间向量I。其中,Gwgc(:,n,r2,…ri)表示的是与接收到的信息比特相对应的接收生成矩阵Gldgc(:,n,r2,…ri),该矩阵保留了编码过程中使用的生成矩阵Gldgc(1:L,1:N+L-K)中的所有非擦除位置序号所对应的列向量。具体i也,计算中间向量I的过禾呈包4舌以下步骤利用特殊的高斯消去法,在矩阵Gldgc(:,rhr2,…ri)中产生一个L*L的上三角矩阵;根据包含I^L的上三角矩阵的矩阵的行置换和行消去运算,进行4妄收码字的置换和叠加;根据包含I^L的上三角矩阵的矩阵的列置换运算,进行中间变量的置换;利用回代法解上三角递归方程,最终得到中间变量I。其中,利用高斯消去法,采用递归的方法产生包含L*L的上三角矩阵的矩阵的过程包括以下步骤选择Gldgc(j:LA,r2,…ri)中行重量(行中元素1的个数)最轻的一行与第j行进行行交换;将第j行第一个非零元素所在列和矩阵第j列进行列交换;采用行消去方法,用第j行第j列的元素消掉第j列中第j+l行和最后行之间的非零元素。其中,如果最终无法产生包含I^L的上三角矩阵的矩阵,则表示解方程失败。S408,根据I*Gldgc(1:L:,1:L)=m,编码得到长度为L的信号流m。S410,删掉填充的L-K个已知比特,得到长度为K的所需信息比特。下面以一个实际的例子来说明根据本发明实施例的低密度生成矩阵;马的i奪;马方法。首先,对低密度生成矩阵码的母码集进行修正与扩展,修正和扩展的方法与编码相同,所得到#~正后的基础矩阵以及扩展后的生成矩阵与编码时相同。对特定码率Ro-l/3,信息分组长度K-24的码字译码,在译码端所用的基础矩阵G广,和生成矩阵G,dge与编码端相同。有一个信息分组长度K=24的二进制比特流c经过擦除信道后到达i奪码端,c'用16进制可表示为D(X)AB13CD3(X)C516ED52,其中,(X)表示该位置上的比特被擦除,在K-24个信息分组比特中有£=4个比特被擦除,4察除位置是第5、6、7、8位。由于Grd'声是一个右上三角矩阵,所以在第K-E=20位后添力口L-K=24个已知比特构成新的4妄受石马字流c,用16进制可以表示为c=DAB139A0C2CCD3C516ED52,[ri,r2,…ri;h[l:4,9:36,41:96],i奪码解中间变量使用的相对应的生成矩阵为G'ldgc=Gldgc(l:L,[1^2,...^])=Gldgc(l:48,[1:4,9:36,41:72])。利用高斯消去法在G'ldgc中产生一个L*L=48*48的右上三角矩阵(图5和图6分别表示进行特殊高斯消去法前和进行特殊高斯消去法后的生成矩阵G'ldge的形式),同时根据矩阵的行置换和行消去运算,进行接收码字的置换和叠加;根据矩阵的列置换运算,进行中间变量的置换。利用回代法解上三角方程,得到中间变量I=942DA94E0A24,根据I*Gldge(l:L:,l:L)=I*Gldgc(1:48:,1:48)=m,编码得到长度为L的4言号-克m用16进制表示为D8AB139A0C2C。删掉填充的L-K=48-24=24个已知比特,得到长度为K=24的所需4言息比4争s,s用16进制表示为D8AB13。参考图7,说明根据本发明实施列的低密度生成矩阵码的编码装置。如图7所示,该编码装置包括基础矩阵存储单元702、比特填充单元704、预编码单元706、矩阵参lt计算单元708、分组码编石马单元710、和比特删除单元712。其中基础矩阵存^f诸单元用于存^f诸统一的&x的基础矩阵g:"'—,并输出基础矩阵到矩阵参^i:计算单元。其中,基础矩阵的ytj亍,前&列纟且成的方阵g"/。""(1:&,1:、)为上三角或下三角秀巨阵。比特填充单元用于对需要进行编码的长度为K的信息比特信号流添加L-K个已知比特,生成长度为L的信息比特信号流m,并将m丰#出至予贞编;马单元。预编码单元用于根据IxGldgc(1:L,1:L)=m,利用生成矩阵Gldgc的L行、前L列组成的方阵Gldge(1:L,1:L)和长度为L的信息比特信号流m生成中间变量I,并将I输出至分组码编码单元。矩阵参凄t计算单元用于产生分组码编码单元所需要的矩阵和参凄t,和比特i真充单元、比特删除单元所需要的参凄t。其中,首先确定扩展因子z,-丄,然后确定A与Z^中元素有如下大小关系V'"'s、其中l',^是Z^中大小相邻的元素,则&就是需要输出的扩展因子;基于统一的基础矩阵g:"—和扩展因子、,根据特定的修正算法可以得到<奮正后的基础矩阵g,'声;利用扩展因子^对g广'w进行扩展得到生成矩阵G',对G'的第L-zk列到第L+zk列进行修正,加重G'(:,L-Zk:L+Zk)的列重量(即增加列中元素1的个数),修正后的矩阵为Gldge;将生成矩阵Gwge(l:L,1:N+L-K)、扩展因子&、矩阵大小参数K、L、N输入到分组编码单元、比特填充单元和比净争删除单元。29分组码编码单元用于才艮据矩阵参凄t计算单元产生的矩阵和参数,对信息分组进行编码,生成码字,并输出到比特删除单元。比特删除单元用于删除编码后石马字中原来i真充的L-K个已知比特,并将删除后得到的K个码字输出。参考图8,说明根据本发明实施列的低密度生成矩阵码的译码装置。如图8所示,该译码装置包括基础矩阵存〗诸单元802、比特填充单元804、矩阵参数计算单元806、上三角矩阵计算单元808、中间变量计算单元810、分组码译码单元812、以及比特删除单元814。其中基础矩阵存储单元用于存储统一的&X"A的基础矩阵G:"—,并输出基础矩阵到矩阵参凄t计算单元。比特填充单元用于对经过擦除信道的接收比特信号流填充L-K个已知比特,组成译码器的输入信号流C(n,r2,…ri)-[CH,Cr2,Cr3,…,Cri],其中,i是一正整数且K"iV+丄-尺。矩阵参数计算单元用于产生分组码编码单元、上三角矩阵计算单元所需要的矩阵和参数,和比特填充单元、比特删除单元和上下三角矩阵计算单元所需要的参数。首先,确定扩展因子2,=丄,然后确定z'与^"中元素有如下大小关系^—!"'S^,其中,z",^是z^中大小相邻的元素,则^就是需要输出的扩展因子;基于统一的基础矩阵G:"—和扩展因子^,根据特定的修正算法可以得到修正后的基础矩阵G广,;利用扩展因子&对G广'一进行扩展得到生成矩阵G,取生成矩阵的L行和与接收到的比特信号流序号相对应的列组成矩阵Gldge(l:L,rhr2,…ri),输入到上三角矩阵计算单元;将生成矩阵Gldgc30(1:L,1:N+L-K)、扩展因子&输入到分组编码单元,将矩阵大小参数K、L、N输入到比特填充单元和比特删除单元。上三角矩阵计算单元用于在GldgcC',n,r2,…ri)中产生一个L*L的上三角矩阵,并输出到中间变量计算单元。其中,首先选择Gldgc(j丄,ri,r2,…ri)中行重量(行中元素1的个数)最轻的一行与第j行进行行交换;将第j行第一个非零元素所在列和矩阵第j列进行列交换;采用行消去方法,用第j行第j列的元素消掉第j列中第j+l行和最后行之间的非零元素。接着,根据包含I^L的上三角矩阵的矩阵的行置换和行消去运算,进行接收码字的置换和叠加;^f艮据包含I^L的上三角矩阵的矩阵的列置换运算,进行中间变量排列顺序的置换;将生成的上三角矩阵和新的接收码字及中间变量的排列顺序输入到中间变量计算单元。中间变量计算单元用于根据C(:,r!,r2,…ri"PGwgc(l丄,ri,r2,…ri),用回代法解上三角方程,得到"L的中间向量I。分组码编码单元用于利用矩阵参^t计算单元产生的矩阵和参数,对译码装置输入的二进制比特信号流进行编码,根据I*Gldgc(:,1:L)=m,编码得到长度为k+d的信号流m,并输出到比特删除单元。比特删除单元用于删除编石马后石马字中一定lt量的石马字比特,并将删除后得到的K个码字输出。以上所述〗又为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。权利要求1.一种低密度生成矩阵码的编码方法,其特征在于,包括以下步骤步骤一,利用P个码率为R0的、不同码长的低密度生成矩阵码构建低密度生成矩阵码母码集,其中,所述低密度生成矩阵码母码集具有统一的基础矩阵kb是所述基础矩阵的行数,nb是所述基础矩阵的列数;步骤二,根据所述低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取所述中间变量的长度L;步骤三,利用所述中间变量的长度L和所述基础矩阵的行数kb获取用于对所述基础矩阵进行处理的扩展因子zk,并利用所述扩展因子zk对所述基础矩阵进行修正和扩展,以获取生成矩阵Gldgc;以及步骤四,利用所述生成矩阵的L行和前N+L-K列组成的矩阵Gldgc(1:L,1:N+L-K)对所述待编码的信息比特序列进行编码。2.才艮据权利要求1所述的编码方法,其特4正在于,在所述步骤二中,通过7厶式2^mod砂(ax尺+6),利用所述4寺编石马的4言息比4争序列的长度K获取所述中间变量的长度L,其中,mod砂()表示取整修正,修正的方法是向上取整、向下取整、或舍入取整,a是略大于1的正有理数,b是正整凄t。3.根据权利要求2所述的编码方法,其特征在于,所述步骤三包4舌以下步骤步骤a,通过公式2,=丄,利用所述中间变量的长度L和所述基础矩阵的行数^获取扩展因子&,并在对应于所述低密度生成矩阵码母码集的、由尸个大于零的正整翁:A"2<...<^构成的扩展因子集合4,中找出与所述扩展因子尺,有如下关系的、用于对所述基础矩阵进行处理的扩展因子ZA:;_1<2^^;步骤b,利用用于对所述基础矩阵进行处理的扩展因子,对所述基础矩阵进行《奮正,获取^修正后的基础矩阵Gr1^;步骤c,利用用于对所述基础矩阵进行处理的扩展因子Za,对所述》f正后的基础矩阵进4于扩展,获取未l奮正的生成矩阵G';以及步骤d,对所述未^f奮正的生成矩阵G'进^f刊奮正,获取所述生成矩阵Gldgc。4.根据权利要求3所述的编码方法,其特征在于,所述步骤四包:括以下步骤步骤e,将L-K个已知比特填充在所述待编码的信息比特序列中,生成长度为L的信息比特序列m;步骤f,根据公式IxG他c(1:L,kL)=m,利用所述生成矩阵的L行、前L列组成的方阵Gldgc(1:L,1:L)和所述长度为L的信息比特序列m获取所述中间变量I,并才艮据7>式C=IxGldgc,利用所述生成矩阵的L行和前N+L-K列组成的矩阵Gldgc(1:L,1:N+L-K)对所述中间变量进4亍编码,生成长度为N+L-K的第一编码结果;以及步骤g,从所述长度为N+L-K的第一编码结果中删除所述L-K个已知比特,生成长度为L的第二编码结果。5.根据权利要求1至4中任一项所述的编码方法,其特征在于,所述基础矩阵的行数^是大于2的整数,所述基础矩阵的列数&是大于等于1的整数。6.才艮据;^又利要求5所述的编码方法,其特;f正在于,在所述步骤d中,通过加大所述未^务正的生成矩阵G'的特定列的列重量,来获取所述生成矩阵Gldgc。7.—种低密度生成矩阵码的编码装置,其特征在于,包括基础矩阵存储单元,用于存储由尸个码率为W。的、不同码长的低密度生成矩阵码构建的低密度生成矩阵码母码集的统一的基础矩阵G:"—,其中,/^是所述基础矩阵的行数,"6是所述基础矩阵的列数;矩阵参数计算单元,用于根据所述低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,计算所述中间变量的长度L,利用所述中间变量的长度L和所述基础矩阵的行数^计算用于对所述基础矩阵进行处理的扩展因子^,并利用所述扩展因子^对所述基础矩阵进行修正和扩展计算,以获取生成矩阵G,dgc;比特填充单元,用于将L-K个已知比特添加在所述待编码的信息比特序列中,以生成长度为L的信息比特序列m;预编码单元,用于根据公式IxG,dgc(l:L,l:L)-m,利用所述生成矩阵的L^f亍、前L列组成的方阵Gwgc(1:L,1:L)和所述长度为L的信息比特序列m获取所述中间变量I;分组码编码单元,用于利用所述生成矩阵的L行和前N+L-K列组成的矩阵Gldgc(1:L,1:N+L-K)对所述中间变量进4亍编石马,生成长度为N+L-K的第一编石马结果;以及比特删除单元,用于从所述长度为N+L-K的第一编码结果中删除所述L-K个已知比特,生成长度为L的第二编码结果。8.才艮据;K利要求7所述的编码装置,其特4正在于,所述基础矩阵的&4亍、前^列组成的方阵Gr'—(l:^,l:^)为上三角或下三角矩阵。9.根据权利要求8所述的编码装置,其特征在于,所述矩阵参数计算单元通过公式z,丄,利用所述中间变量的长度L和所述、基础矩阵的行数^获取扩展因子《,,并通过在对应于所述低密度生成矩阵码母码集的、由尸个大于零的正整数zi"2<^<...<^构成的扩展因子集合4,中找出与所述扩展因子&有如下关系的扩展因子来获取用于对所述基础矩阵进行处理的Z^v,",《s。10.根据权利要求9所述的编码装置,其特征在于,所述矩阵参数Z*,对所述基础矩阵进行修正,获取修正后的基础矩阵G广声,利用用于对所述基础矩阵进行处理的扩展因子对所述修正后的基础矩阵进行扩展,获取未修正的生成矩阵G',然后对所述未》务正的生成矩阵G'进4于^f奮正,获取所述生成矩阵Gldgc。11.々艮据纟又利要求10所述的编码装置,其特征在于,所述矩阵参凄史计算单元通过加大所述未j奮正的生成矩阵G'的特定列的列重量来对所述未〗奮正的生成矩阵G'进^H务正。12.—种低密度生成矩阵码的译码方法,其特征在于,包括以下步骤步骤一,利用编码过程中使用的扩展因子^,对基础矩阵G:"'/腳进4于>[奮正和扩展,获耳又4妄收生成矩阵Gldgc(:,r!,r2,…ri);步骤二,将L-K个已知比特填充在通过纟察除信道的编码后的低密度生成矩阵码中,以获取将进行译码的低密度生成矩阵码C(n,r2,…riM。,Cr2,Cr3,…,Cri],其中,i是满足Z^"iV+丄-尺的正整数,L是编码过程中使用的中间变量的长度,N是未通过擦除信道的编码后的低密度生成矩阵码的长度,K是编码前的低密度生成矩阵码的长度;步骤三,才艮据乂>式C(:,n,r2,…r^PGldgc(:,n,r2,…ri),利用所1*L的4妾收中间向量I;步骤四,根据公式1*Gldgc(1:L,1:L)=m,利用所述接收生成矩阵的L行、前L列组成的方阵Gldg<;(1:L,1:L)和所述接收中间向量获取长度为L的译码结果m;以及步骤五,从所述长度为L的译码结果m中删掉所述L-K个已知比特,获取长度为K的译码结果。13.才艮据4又利要求12所述的i奪码方法,其特4正在于,所述接收生成矩阵保留了编码过程中使用的生成矩阵的L行、前N+L-K列组成的矩阵Gldgc(1:L,1:N+L-K)中的所有非纟察除位置序号所对应的列向量。14.根据权利要求13所述的译码方法,其特征在于,所述步骤三包4舌以下步-骤步骤a,利用高斯消去法,对所述接收生成矩阵Gldgc(:,n,r2,…ri)进行行置换、列置换、和/或行消去运算,获取包含L*L的上三角矩阵的矩阵;步骤b,才艮据所述包含I^L的上三角矩阵的矩阵,对所述将进行译码的低密度生成矩阵码进行置换和叠加,对编码过程中4吏用的中间变量进4亍置换;以及步骤c,才艮据回代法解上三角递归方程,获取所述接收中间向量I。15.々艮据4又利要求14所述的i奪码方法,其特4正在于,所述步骤a包4舌以下步骤选择所述接收生成矩阵中的行重量最轻的一行与第j行进4亍行交换;将行交换后的接收生成矩阵中的第j行的第一个非零元素所在列和所述行交换后的接收生成矩阵的第j列进行列交换;以及利用行消去方法,用列交换后的接收生成矩阵的第j行第j列的元素消掉所述列交换后的接收生成矩阵的所述第j列中的第j+l行和最后行之间的非零元素。16.—种低密度生成矩阵码的译码装置,其特征在于,包括基础矩阵存^f诸单元,用于存^f诸由尸个码率为i。的、不同码长的低密度生成矩阵码构建的低密度生成矩阵码母码集的统一的基础矩阵G:"—,其中,i。-^,^是所述基础矩阵的行数,^是所述基础矩阵的列数;矩阵参数计算单元,用于利用编码过程中使用的扩展因子^,对所述基础矩阵G:"—进行修正和扩展,获取接收生成矩阵Gldgc(:,",r2,…ri);比特填充单元,用于将l-k个已知比特填充在通过〗察除信道的编码后的低密度生成矩阵码中,以获耳又将进行译码的低密度生成矩阵码C(n,r2,…ri"[Cn,Cr2,Cr3,…,Cri],其中,i是满足丄s,^iV+Z-/C的正整凄t,l是编码过程中l吏用的中间变量的长度,N是未通过擦除信道的编码后的低密度生成矩阵码的长度,k是编码前的低密度生成矩阵码的长度;上三角矩阵计算单元,用于利用高斯消去法,对所述接收生成矩阵G,dgc(:,r^r2,…ri)进行行置换、列置换、和/或行消去运算,获取包含I^L的上三角矩阵的矩阵;中间变量计算单元,用于根据公式C(:,rhr2,.,.ri)-PGldgc(:,i^,r2,…ri),利用所述包含I^L的上三角矩阵的矩阵和所述将进行译码的低密度生成矩阵码获取i*l的接收中间向量I;分组码译码单元,用于4艮据7^式I*Gldgc(1:l,1:l)=m,利用所述4妄收生成矩阵的l4于、前l列组成的方阵Gldgc(1:l,1:l)和所述接收中间向量获取长度为l的译码结果m;以及比特删除单元,用于,人所述长度为l的译码结果m中删掉所述l-k个已知比特,获取长度为k的译码结果。17.根据权利要求16所述的译码装置,其特征在于,所述矩阵参数计算单元通过/〉式z,=丄,利用所述编码过程中使用的中间变量的长度l和所述基础矩阵的行数^获取扩展因子《,,并通过在对应于所述低密度生成矩阵码母码集的、由p个大于零的正整数z'"2<"""J…"p构成的扩展因子集合Z^中找出与所述扩展因子&有如下关系的扩展因子来获取所述编码过程中使用的扩展因子Z^:1<z,^t。18.根据权利要求17所述的译码装置,其特征在于,所述矩阵参数计算单元通过利用所述编码过程中使用的扩展因子ZA,对所述基础矩阵进行修正,获取修正后的基础矩阵Gr争、利用所述编码过程中4吏用的扩展因子Za,对所述》务正后的基础矩阵进行扩展,获取基础生成矩阵G,然后取所述基础生成矩阵G的L行和与所述将进行i奪码的低密度生成矩阵码的序号对应的列生成所述4妄收生成矩阵。19.根据权利要求18所述的译码装置,其特征在于,所述上三角矩阵计算单元通过选择所述^妄收生成矩阵中的^f亍重量最轻的一行与第j行进行行交换,将行交换后的接收生成矩阵中的第j行的第一个非零元素所在列和所述行交换后的接收生成矩阵的第j列进行列交换,并利用行消去方法,用列交换后的接收生成矩阵的第j行第j列的元素消掉所述列交换后的接收生成矩阵的所述第j列中的第j+l行和最后行之间的非零元素,来获耳又所述包含I^L的上三角矩阵的矩阵。20.根据权利要求16至19中任一项所述的译码装置,其特征在于,在所述4妄收生成矩阵的L4于、前L列组成的方阵Gldge(1:L,1:L)为左上三角或左下三角矩阵的情况下,将所述L-K个已知比特填充在所述通过擦除信道的编码后的j氐密度生成矩阵码之前。21.根据权利要求16至19中任一项所述的译码装置,其特征在于,在所述4妄4欠生成矩阵的L4亍、前L列组成的方阵Gldge(1:L,1:L)为右上三角或右下三角矩阵的情况下,将所述L-K个已知比特填充在所述通过l察除信道的编码后的<氐密度生成矩阵码的K-E个比特之后,其中,E是所述未通过〗察除信道的编码后的低密度生成矩阵码通过所述擦除信道后,前K个码字中被擦除的码字的个数。全文摘要本发明公开了一种低密度生成矩阵码的编码方法和装置、及译码方法和装置。其中,该编码方法包括利用P个码率为R<sub>0</sub>的、不同码长的低密度生成矩阵码构建低密度生成矩阵码母码集,其中,低密度生成矩阵码母码集具有统一的基础矩阵G<sub>b</sub><sup>uniform</sup>,R<sub>0</sub>=k<sub>b</sub>/n<sub>b</sub>,k<sub>b</sub>是基础矩阵的行数,n<sub>b</sub>是基础矩阵的列数;根据低密度生成矩阵码母码集中的待编码的信息比特序列的长度K与中间变量的长度L之间的关系,获取中间变量的长度L;利用中间变量的长度L和基础矩阵的行数k<sub>b</sub>获取用于对基础矩阵进行处理的扩展因子z<sub>k</sub>,并利用扩展因子z<sub>k</sub>对基础矩阵进行修正和扩展,以获取生成矩阵G<sub>ldgc</sub>;以及利用生成矩阵的L行和前N+L-K列组成的矩阵G<sub>ldgc</sub>(1:L,1:N+L-K)对待编码的信息比特序列进行编码。文档编号H04L1/00GK101453297SQ20071019897公开日2009年6月10日申请日期2007年12月7日优先权日2007年12月7日发明者俊徐,方源立,松李,胡留军,袁志锋,进许申请人:中兴通讯股份有限公司