CN101414833A - 低密度生成矩阵码的编码方法及装置 - Google Patents
低密度生成矩阵码的编码方法及装置 Download PDFInfo
- Publication number
- CN101414833A CN101414833A CNA2007101633444A CN200710163344A CN101414833A CN 101414833 A CN101414833 A CN 101414833A CN A2007101633444 A CNA2007101633444 A CN A2007101633444A CN 200710163344 A CN200710163344 A CN 200710163344A CN 101414833 A CN101414833 A CN 101414833A
- Authority
- CN
- China
- Prior art keywords
- ldgc
- matrix
- length
- generator matrix
- row
- 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.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 236
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000015572 biosynthetic process Effects 0.000 claims description 46
- 239000000945 filler Substances 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 108091026890 Coding region Proteins 0.000 abstract 3
- 238000005755 formation reaction Methods 0.000 description 30
- 230000009897 systematic effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种低密度生成矩阵码的编码方法及系统。其中,该编码方法包括以下步骤:S102,构造L行、N+L-K列的生成矩阵Gldgc,其中,生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为上三角矩阵或下三角矩阵,K、L、和N为正整数,且K<L<N;S104,对需要进行编码的长度为K的信息比特序列添加L-K个已知比特,生成长度为L的信息比特序列m;S106,根据I×Gldgc (1:L,1:L)=m,利用生成矩阵Gldgc的L行、前L列组成的方阵Gldgc (1:L,1:L)和长度为L的信息比特序列m生成中间变量I,并根据C=I×Gldgc,利用生成矩阵Gldgc对中间变量I进行编码,生成长度为N+L-K的编码序列;以及S108,从长度为N+L-K的编码序列中删除L-K个已知比特,生成长度为N的编码序列。
Description
技术领域
本发明涉及通信领域,更具体地涉及一种低密度生成矩阵码的编码方法及装置。
背景技术
擦除信道是一种重要的信道模型,例如,文件在因特网上传输时,是基于数据包通信的,通常每个数据包要么无差错地被接收端接收,要么根本就没有被接收端接收到。传输控制协议(TransmissionControl 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编码方案。
线性分组码是一组固定长度的码组,可以表示为(n,k),通常用于前向纠错。在编码时,k个信息位被编成n位码组长度。由于(n,k)分组码的2k个码字组成了一个k维子空间,所以该2k个码字一定可以由k个线性无关的基底生成,若把该k个基底写成矩阵的形式,则有
其中,(n,k)分组码中的任何码字都可以由这组基底的线性组合生成,即
此处称G为码的生成矩阵。显然,对于生成矩阵的各行来说,只要满足线性无关即可(没有考虑最小距离),而一个k维空间的基底可以任意选择k个线性无关的矢量,所以作为码的生成矩阵G也不是唯一的,但不论采用哪一种形式,它们都生成相同的子空间,即同一个(n,k)分组码。
若编码后码字的前k位与信息位相同,则称该码为系统码。编码的过程就是由k个信息位生成n位码长的过程,通过增加n-k个校验位来达到检错和纠错的目的。
LT码也是利用生成矩阵的稀疏性进行编码,但是同中兴低密度生成矩阵码(LDGC码)相比,LT码不支持系统码的编码方式,因此LT码难以满足某些实际的FEC编码需求;Raptor码支持系统码,但是Raptor码需要单独的预编码过程,即需要一个预编码矩阵,因此编码的复杂度较高,而LDGC码是直接利用生成矩阵编码,不需要另外的预编码矩阵,且LDGC编码时利用了回代法求解上三角(或下三角)方程,因此编码复杂度远低于Raptor码。总而言之,同LT码相比LDGC的优势是支持系统码;同Raptor码相比LDGC的优势是编码复杂度更低。
发明内容
为了在降低编码复杂度的同时,获得较好的码性能,本发明提出了一种低密度生成矩阵码的编码方法及装置。
根据本发明的一种低密度生成矩阵码的编码方法包括以下步骤:S102,构造L行、N+L-K列的生成矩阵Gldgc,其中,生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为上三角矩阵或下三角矩阵,K、L、和N为正整数,且K<L<N;S104,对需要进行编码的长度为K的信息比特序列添加L-K个已知比特,生成长度为L的信息比特序列m;S106,根据I×Gldgc(1:L,1:L)=m,利用生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)和长度为L的信息比特序列m生成中间变量I,并利用根据C=I×Gldgc,生成矩阵Gldgc对中间变量I进行编码,生成长度为N+L-K的编码序列;以及S108,从长度为N+L-K的编码序列中删除L-K个已知比特,生成长度为N的编码序列。
其中,在生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为左上三角矩阵或左下三角矩阵的情况下,将L-K个已知比特添加在需要进行编码的长度为K的信息比特序列之前。在生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为右上三角矩阵或右下三角矩阵的情况下,将L-K个已知比特添加在需要进行编码的长度为K的信息比特序列之后。其中,生成矩阵Gldgc的列重量可以满足与LT码近似的度分布原则。
根据本发明的另一种低密度生成矩阵码的编码方法包括以下步骤:S202,构造K行、N列的生成矩阵Gldgc,其中,生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为上三角矩阵或下三角矩阵,K和N为正整数,且K<N;S204,根据I×Gldgc(1:K,1:K)=s,利用需要进行编码的长度为K的信息比特序列s和生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)生成中间变量I;以及S206,根据C=I×Gldgc,利用生成矩阵Gldgc对中间变量I进行编码,生成长度为N的编码码字。其中,生成矩阵Gldgc的列重量可以满足与LT码近似的度分布原则。生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)可以为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。
根据本发明的一种低密度生成矩阵码的编码装置包括:矩阵生成单元,用于生成L行、N+L-K列的生成矩阵Gldgc,将生成矩阵Gldgc输出至分组码编码单元,并将生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)输出至预编码单元,其中,生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为上三角矩阵或下三角矩阵,K、L、和N为正整数,且K<L<N;比特填充单元,用于对需要进行编码的长度为K的信息比特序列添加L-K个已知比特,生成长度为L的信息比特序列m,并将长度为L的信息比特序列m输出至预编码单元;预编码单元,用于根据I×Gldgc(1:L,1:L)=m,利用生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)和长度为L的信息比特序列m生成中间变量I,并将中间变量I输出至分组码编码单元(该预编码单元可以为一个解上和/或下三角方程的单元,有两个输入,一个是Gldgc(1:L,1:L),另一个是m,有一个输出是I);分组码编码单元,用于根据C=I×Gldgc,利用生成矩阵Gldgc对中间变量I进行编码,生成长度为N+L-K的编码序列C(该分组编码单元可以为一个矩阵乘法的单元,有两个输入,分别是Gldgc和I,有一个输出是C);以及比特删除单元,用于从长度为N+L-K的编码序列中删除L-K个已知比特,生成长度为N的编码序列。
其中,生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)可以为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。在生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为左上三角矩阵或左下三角矩阵的情况下,比特填充单元将L-K个已知比特填充在需要进行编码的长度为K的信息比特序列之前。在生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为右上三角矩阵或右下三角矩阵的情况下,比特填充单元将L-K个已知比特填充在需要进行编码的长度为K的信息比特序列之后。生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
根据本发明的另一种低密度生成矩阵码的编码装置包括:矩阵生成单元,用于生成K行、N列的生成矩阵Gldgc,其中,生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为上三角矩阵或下三角矩阵,K和N为正整数,且K<N;预编码单元,用于根据I×Gldgc(1:K,1:K)=s,利用需要进行编码的长度为K的信息比特序列s和生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)生成中间变量I;以及分组码编码单元,用于根据C=I×Gldgc,利用生成矩阵Gldgc对中间变量I进行编码,生成长度为N的编码码字。
其中,生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)可以为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
通过本发明,可以在降低编码复杂度的同时,获得较好的码性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的LDGC的编码方法的流程图;
图2是根据本发明实施例的LDGC的编码装置的框图;
图3是LDGC生成矩阵的示意图;
图4是根据本发明实施例的填充比特的LDGC码生成矩阵的实例;
图5是根据本发明另一实施例的LDGC的编码方法的流程图;
图6是根据本发明另一实施例的LDGC的编码装置的框图;
图7是根据本发明另一实施例的无填充比特的LDGC码生成矩阵的实例;
图8是根据本发明另一实施例的LDGC的编码装置中的预编码单元的示意图;
图9是根据本发明另一实施例的LDGC的编码装置中的分组编码单元的示意图。
具体实施方式
低密度生成矩阵码(Low Density Generator Matrix Code,简称LDGC)是一种线性分组码,其生成矩阵中的非零元素通常是稀疏的。同时,LDGC码还是一种系统码,其生成矩阵中的前k列组成的方阵通常是一个上三角或下三角矩阵,该矩阵求逆可以通过迭代的方法完成。LDGC的编码是先利用系统码中信息位与中间变量的对应关系求出中间变量,然后再用中间变量乘以生成矩阵得到编码后的码字。LDGC码的译码过程是先利用生成矩阵求得中间变量,然后根据信息位和中间变量的变换关系求出信息位。下面参考附图,详细说明本发明的具体实施方式。
参考图1,说明对长度为K的信息比特序列进行编码,然后输出长度为N的编码后的码字比特序列给后续处理单元处理的过程。其中,校验位长度为M=N-K,码率为r=K/N。如图1所示,根据本发明实施例的LDGC的编码方法包括以下步骤:
S102,构造L行、N+L-K列的生成矩阵Gldgc。其中,该生成矩阵的前L列和所有行构成的方阵Gldgc(1:L,1:L)是上三角(或下三角矩阵),K、L、和N是给定的正整数,并且K<L<N。
S104,对1*K信息比特序列s添加d=L-K个已知填充比特,构成1*L信息比特序列m。
S106,由于LDGC是系统码,所以有I×Gldgc(1:L,1:L)=m。利用Gldgc(1:L,1:L)是一个上三角矩阵(或下三角矩阵),解方程求出1*L中间变量I,并根据C=I×Gldgc,对中间变量I进行编码,得到1*(N+d)的码字。
S108,对于上述步骤生成的1*(N+d)码字删除步骤S104中添加的填充比特,最终得到N比特的编码码字,发送出去。
其中,在生成矩阵的每一列中,元素1的个数(即,列重量)必须满足一定的度分布原则。生成矩阵的前L列和所有行组成的方阵可以是一个左上三角矩阵、左下三角矩阵矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。
其中,若Gldgc(1:L,1:L)是左上三角或左下三角矩阵,则对于初始长度为K的信息比特序列,添加d=L-K个已知填充比特到K个信息比特序列的前面。若Gldgc(1:L,1:L)是右上三角或右下三角矩阵,则对于初始长度为K的信息比特序列,添加d=L-K个已知填充比特到K个信息比特序列的后面。需要指出,添加填充比特的位置不局限于上述情况。
参考图2,说明据本发明实施例的LDGC的编码装置。该LDGC的编码装置用于对输入的K比特的二进制信息比特流进行编码,然后输出N比特的二进制码字比特流给后续的处理单元。如图2所示,该LDGC的编码装置包括:
矩阵生成单元202,用于生成一个L行、N+L-K列的生成矩阵Gldgc。其中,该生成矩阵的前L列和所有行构成的方阵Gldgc(1:L,1:L)是上三角(或下三角)矩阵。矩阵生成器将Gldgc(1:L,1:L)输出至后面的预编码单元,并且将Gldgc(1:L,1:N+L-K)输出至后面的分组码编码单元。其中,K、L和N是给定的正整数,并且K<L<N。
比特填充单元204,用于对1*K的输入信息比特流s添加d=L-K个已知填充比特,生成1*L的信息比特流m,并且输出到预编码单元。
预编码单元206,用于对1*L的信息比特流m进行解方程计算,生成1*L的中间变量I,并且输出到分组码编码器(如图8所示,预编码单元可以为一个解上和/或下三角方程的单元,有两个输入,一个是Gldgc(1:L,1:L),另一个是长度为L的信息比特序列m,输出是中间变量I)。
分组码编码单元208,用于对中间变量I进行编码,生成1*(N+d)的二进制码字比特流C,并且输出至比特删除单元(如图9所示,分组编码单元可以为一个矩阵乘法的单元,有两个输入,一个是Gldgc,另一个是长度为L的中间变量I,输出是编码后码字C)。
比特删除单元210,用于删除比特填充单元中填充的d个填充比特,最终得到N比特的编码码字。
其中,矩阵生成单元根据以下原则确定生成矩阵:在生成矩阵的每一列中,元素1的个数(即,列重量)必须满足一定的度分布原则。生成矩阵的前L列和所有行组成的方阵是一个左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。
其中,在Gldgc(1:L,1:L)是左上三角或左下三角矩阵的情况下,比特填充单元将d=L-K个已知填充比特填充到K个信息比特序列的前面。在Gldgc(1:L,1:L)是右上三角或右下三角矩阵的情况下,比特填充单元将d=L-K个已知填充比特填充到K个信息比特序列的后面。需要指出,添加填充比特的位置不局限于上述情况。
其中,由于LDGC是系统码,有I×Gldgc(1:L,1:L)=m,所以预编码单元利用Gldgc(1:L,1:L)是一个上三角矩阵(或下三角矩阵)解方程求出1*L的中间变量I。
其中,分组码编码单元根据C=I×Gldgc,对中间变量I进行编码,得到1*(N+d)的二进制码字流。
例如,例如,有一个1*K=1*24的二进制信息比特数据流s(s用16进制数可表示为D8AB13)要通过根据本发明实施例的编码装置编码生成72比特的LDGC编码码字,所以有K=24,N=72。
矩阵生成单元产生一个L=48行、N+L-K=96列的生成矩阵Gldgc。其中,Gldgc采用与LT码近似的度分布准则,Gldgc的前L列和所有行组成的方阵Gldgc(1:L,1:L)=Gldgc(1:48,1:48)是一个右上三角矩阵,如图4所示(其中,黑点表示元素1,空白位置表示元素0)。矩阵生成单元输出Gldgc(1:L,1:L)=Gldgc(1:48,1:48)到后面的预编码单元,并且输出Gldgc(1:L,1:N+L-K)=Gldgc(1:48,1:96)到后面的分组码编码单元。
比特填充单元在1*K=1*24的输入信息比特流后面添加d=L-K=24个已知填充比特p(p用16进制可表示为9A0C2C),生成1*L=1*48的信息比特流m(m用16进制可表示为D8AB139A0C2C),并且输出到预编码单元。
预编码单元根据LDGC码是系统码的特点(由于LDGC码是系统码,所以有I×Gldgc(1:48,1:48)=m),利用Gldgc(1:L,1:L)=Gldgc(1:48,1:48)是一个右上三角矩阵,对输入的1*K=1*24的信息比特流s进行解方程计算,求出1*L=1*48的中间变量I(I用16进制可表示为942DA94E0A24),并且输出到分组码编码单元。
分组码编码单元根据C=I×Gldgc,对输入的中间变量I进行编码,生成1*(N+d)=1*96的二进制码字c(c用16进制可表示为D8AB139A0C2CCD3AC516ED52),输出到比特删除单元。
比特删除单元将添加的d=24个填充比特从1*(N+d)=1*96的二进制码字c中删除,最终得到N=72比特的编码码字(用16进制可表示为D8AB13CD3AC516ED52)发送出去。
为了降低编码复杂度,本发明提供另一种低密度生成矩阵码的编码方法。该编码方法区别于上述编码方法的地方在于,不进行比特填充和比特删除。参考图5,说明对长度为K的信息比特序列进行编码,然后输出长度为N的编码后的码字比特序列给后续处理单元的过程。其中,校验位长度为M=N-K,码率为r=K/N。如图5所示,根据本发明另一实施例的LDGC的编码方法包括以下步骤:
S502,构造K行、N列的生成矩阵Gldgc。其中,该生成矩阵的前K列和所有行构成的方阵Gldgc(1:K,1:K)是上三角(或下三角)矩阵,K和N是给定的正整数,并且K<N。
S504,由于LDGC码是系统码,有I×Gldgc(1:K,1:K)=s,所以利用Gldgc(1:K,1:K)是一个上三角矩阵(或下三角)矩阵,解方程求出1*K中间变量I。
S506,根据C=I×Gldgc,对中间变量I进行编码,得到1*N的码字。
其中,在生成矩阵的每一列中,元素1的个数(即,列重量)必须满足一定的度分布原则;生成矩阵的前K列和所有行组成的方阵是一个左上三角矩阵、左下三角矩阵矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。
参考图6,说明根据本发明另一实施例的低密度生成矩阵码的编码装置。该编码装置用于对输入的K比特的二进制信息比特流进行编码,然后输出N比特的二进制码字比特流给后续的处理单元。如图6所示,该LDGC的编码装置包括:
矩阵生成单元602,用于产生一个K行、N列的生成矩阵Gldgc。其中,该生成矩阵的前K列和所有行组成的方阵Gldgc(1:K,1:K)是上三角(或下三角)矩阵。矩阵生成单元将Gldgc(1:K,1:K)输出至后面的预编码单元,并将Gldgc(1:K,1:N)输出至后面的分组码编码单元。其中,K<N。
预编码单元604,用于对输入的1*K的信息比特流s进行解方程计算,生成1*K的中间变量I,并且输出到分组码编码单元(如图8所示,预编码单元可以为一个解上和/或下三角方程的单元,有两个输入,一个是Gldgc(1:L,1:L),另一个是长度为L的信息比特序列m)。
分组码编码单元606,用于对输入的中间变量I进行编码,生成1*N的二进制码字C,发送出去(如图9所示,分组编码单元可以为一个矩阵乘法的单元,有两个输入,一个是Gldgc,另一个是长度为L的中间变量I)。
其中,矩阵生成单元根据以下原则确定生成矩阵:在生成矩阵的每一列中,元素1的个数(即,列重量)必须满足一定的度分布原则。生成矩阵的前K列和所有行组成的方阵是一个左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。
其中,预编码单元根据LDGC码是系统码(由于LDGC码是系统码,所以有I×Gldgc(1:K,1;K)=s),利用Gldgc(1:K,1:K)是一个上三角矩阵(或下三角矩阵)解方程,求出1*K的中间变量I,并输出。
其中,分组码编码单元根据C=I×Gldgc,对中间变量I进行编码,得到1*N的二进制码字流,并输出。
例如,有一个1*K=1*24的二进制信息比特数据流s(s用16进制数可表示为D99274)要通过根据本发明另一实施例的编码装置编码生成72比特的LDGC码,其中K=24,N=72。
矩阵生成单元产生一个K=24行、N=72列的生成矩阵Gldgc。其中,Gldgc采用与LT码近似的度分布准则,Gldgc的前K列和所有行组成的方阵Gldgc(1:K,1:K)=Gldgc(1:24,1:24)是一个右上三角矩阵,如图7所示(其中,黑点表示元素1,空白位置表示元素0)。矩阵生成单元将Gldgc(1:K,1:K)=Gldgc(1:24,1:24)输出至后面的预编码单元,并且将Gldgc(1:K,1:N)=Gldgc(1:24,1:72)输出至后面的分组码编码单元。
预编码单元根据LDGC码是系统码,有I×Gldgc(1:K,1:K)=s,利用Gldgc(1:K,1:K)=Gldgc(1:24,1:24)是一个右上三角矩阵,对输入的1*K信息比特流s进行解方程计算,生成1*K=1*24的中间变量I(I用16进制可表示为B4B304),并且输出到分组码编码单元。
分组码编码单元根据C=I×Gldgc对输入的中间变量I进行编码,生成1*N=1*72的二进制码字c(c用16进制可表示为D99274A593CC1AC461)发送出去。
需要指出的是,Gldgc(1:48,1:48)和Gldgc(1:24,1:24)虽然是以右上三角矩阵为例,但是对于其他的矩阵形式本发明也同样适用。相应地,添加填充比特的位置也不局限于上述情况。只要利用了系统码的特点得到中间向量,并通过中间向量产生编码输出,就能获得同样的技术效果。
此外,还需要指出,以上实施例中的生成矩阵Gldgc的度分布虽然以与LT码近似的度分布为例,但不局限于此,只要通过一定的度分布产生的低密度生成矩阵都能获得同样的技术效果。
纵上所述,本发明可以支持任意信息分组长度和任意码率编码,在性能上与Raptor码类似,都能接近理论最优性能。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (15)
1.一种低密度生成矩阵码的编码方法,其特征在于,包括以下步骤:
构造L行、N+L-K列的生成矩阵Gldgc,其中,所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为上三角矩阵或下三角矩阵,K、L、和N为正整数,且K<L<N;
对需要进行编码的长度为K的信息比特序列添加L-K个已知比特,生成长度为L的信息比特序列m;
根据I×Gldgc(1:L,1:L)=m,利用所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)和所述长度为L的信息比特序列m生成中间变量I,并根据C=I×Gldgc,利用所述生成矩阵Gldgc对所述中间变量I进行编码,生成长度为N+L-K的编码序列;以及
从所述长度为N+L-K的编码序列中删除所述L-K个已知比特,生成长度为N的编码序列。
2.根据权利要求1所述的编码方法,其特征在于,在所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为左上三角矩阵或左下三角矩阵的情况下,将所述L-K个已知比特添加在所述需要进行编码的长度为K的信息比特序列之前。
3.根据权利要求1所述的编码方法,其特征在于,在所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为右上三角矩阵或右下三角矩阵的情况下,将所述L-K个已知比特添加在所述需要进行编码的长度为K的信息比特序列之后。
4.根据权利要求1至3中任一项所述的编码方法,其特征在于,所述生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
5.一种低密度生成矩阵码的编码方法,其特征在于,包括以下步骤:
构造K行、N列的生成矩阵Gldgc,其中,所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为上三角矩阵或下三角矩阵,K和N为正整数,且K<N;
根据I×Gldgc(1:K,1:K)=s,利用需要进行编码的长度为K的信息比特序列s和所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)生成中间变量I;以及
根据C=I×Gldgc,利用所述生成矩阵Gldgc对所述中间变量I进行编码,生成长度为N的编码码字。
6.根据权利要求5所述的编码方法,其特征在于,所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。
7.根据权利要求5或6所述的编码方法,其特征在于,所述生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
8.一种低密度生成矩阵码的编码装置,其特征在于,包括:
矩阵生成单元,用于生成L行、N+L-K列的生成矩阵Gldgc,将所述生成矩阵Gldgc输出至分组码编码单元,并将所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)输出至预编码单元,其中,所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为上三角矩阵或下三角矩阵,K、L、和N为正整数,且K<L<N;
比特填充单元,用于对需要进行编码的长度为K的信息比特序列添加L-K个已知比特,生成长度为L的信息比特序列m,并将所述长度为L的信息比特序列m输出至所述预编码单元;
所述预编码单元,用于根据I×Gldgc(1:L,1:L)=m,利用所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)和所述长度为L的信息比特序列m生成中间变量I,并将所述中间变量I输出至所述分组码编码单元;
所述分组码编码单元,用于根据C=I×Gldgc,利用所述生成矩阵Gldgc对所述中间变量I进行编码,生成长度为N+L-K的编码序列;以及
比特删除单元,用于从所述长度为N+L-K的编码序列中删除所述L-K个已知比特,生成长度为N的编码序列。
9.根据权利要求8所述的编码装置,其特征在于,所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。
10.根据权利要求9所述的编码装置,其特征在于,在所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为左上三角矩阵或左下三角矩阵的情况下,所述比特填充单元将所述L-K个已知比特填充在所述需要进行编码的长度为K的信息比特序列之前。
11.根据权利要求9所述的编码装置,其特征在于,在所述生成矩阵Gldgc的L行、前L列组成的方阵Gldgc(1:L,1:L)为右上三角矩阵或右下三角矩阵的情况下,所述比特填充单元将所述L-K个已知比特填充在所述需要进行编码的长度为K的信息比特序列之后。
12.根据权利要求8至11中任一项所述的编码装置,其特征在于,所述生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
13.一种低密度生成矩阵码的编码装置,其特征在于,包括:
矩阵生成单元,用于生成K行、N列的生成矩阵Gldgc,其中,所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为上三角矩阵或下三角矩阵,K和N为正整数,且K<N;
预编码单元,用于根据I×Gldgc(1:K,1:K)=s,利用需要进行编码的长度为K的信息比特序列s和所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)生成中间变量I;以及
分组码编码单元,用于根据C=I×Gldgc,利用所述生成矩阵Gldgc对所述中间变量I进行编码,生成长度为N的编码码字。
14.根据权利要求13所述的编码装置,其特征在于,所述生成矩阵Gldgc的K行、前K列组成的方阵Gldgc(1:K,1:K)为左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵。
15.根据权利要求13或14所述的编码装置,其特征在于,所述生成矩阵Gldgc的列重量满足与LT码近似的度分布原则。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101633444A CN101414833B (zh) | 2007-10-19 | 2007-10-19 | 低密度生成矩阵码的编码方法及装置 |
RU2010101145/08A RU2439792C2 (ru) | 2007-10-19 | 2008-06-02 | Способ и устройство кодирования кода порождающей матрицы низкой плотности |
US12/666,454 US8291288B2 (en) | 2007-10-19 | 2008-06-02 | Method and device for encoding the low density generator matrix code |
EP08757578.3A EP2200182B1 (en) | 2007-10-19 | 2008-06-02 | Method and device for coding the low density generator matrix code |
HUE08757578A HUE033653T2 (en) | 2007-10-19 | 2008-06-02 | Method and means for encoding a low density generator matrix code |
PCT/CN2008/071167 WO2009049504A1 (fr) | 2007-10-19 | 2008-06-02 | Procédé et dispositif pour coder le code de matrice de générateur à faible densité |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101633444A CN101414833B (zh) | 2007-10-19 | 2007-10-19 | 低密度生成矩阵码的编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101414833A true CN101414833A (zh) | 2009-04-22 |
CN101414833B CN101414833B (zh) | 2010-08-04 |
Family
ID=40566996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101633444A Active CN101414833B (zh) | 2007-10-19 | 2007-10-19 | 低密度生成矩阵码的编码方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8291288B2 (zh) |
EP (1) | EP2200182B1 (zh) |
CN (1) | CN101414833B (zh) |
HU (1) | HUE033653T2 (zh) |
RU (1) | RU2439792C2 (zh) |
WO (1) | WO2009049504A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010135857A1 (zh) * | 2009-05-25 | 2010-12-02 | 华为技术有限公司 | 采用线性分组码的编码方法、装置及线性分组码生成方法、装置 |
CN102142936A (zh) * | 2010-02-02 | 2011-08-03 | 华为技术有限公司 | 基于线性分组码的编码方法及装置 |
CN108233946A (zh) * | 2016-12-09 | 2018-06-29 | 富士通株式会社 | 极化码的编码装置、方法以及电子设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7411654B2 (en) * | 2005-04-05 | 2008-08-12 | Asml Netherlands B.V. | Lithographic apparatus and device manufacturing method |
CN101459430B (zh) * | 2007-12-14 | 2010-12-08 | 中兴通讯股份有限公司 | 低密度生成矩阵码的编码方法及装置 |
US9060252B2 (en) * | 2012-07-31 | 2015-06-16 | International Business Machines Corporation | Rate adaptive transmission of wireless broadcast packets |
CN103746799B (zh) * | 2013-12-26 | 2017-02-15 | 中南大学 | 一种差分的非高斯操作放射性连续变量量子密钥分发方法 |
CN109951191B (zh) * | 2017-12-21 | 2023-04-18 | 国广融合(北京)传媒科技发展有限公司 | 非系统Raptor码的渐进式译码方法及装置 |
CN111490797B (zh) * | 2019-01-29 | 2022-07-22 | 华为技术有限公司 | 编码方法、装置及设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2007042C1 (ru) | 1991-02-22 | 1994-01-30 | Морозов Андрей Константинович | Система для кодирования и декодирования с исправлением ошибок |
TWI257085B (en) * | 2002-01-21 | 2006-06-21 | Koninkl Philips Electronics Nv | Method of encoding and decoding |
US6961888B2 (en) | 2002-08-20 | 2005-11-01 | Flarion Technologies, Inc. | Methods and apparatus for encoding LDPC codes |
US20040128607A1 (en) | 2002-12-31 | 2004-07-01 | Ilan Sutskover | Method and apparatus to encode linear block codes |
US7376883B2 (en) * | 2003-10-27 | 2008-05-20 | The Directv Group, Inc. | Method and system for providing long and short block length low density parity check (LDPC) codes |
US7583842B2 (en) | 2004-01-06 | 2009-09-01 | Microsoft Corporation | Enhanced approach of m-array decoding and error correction |
JP4554524B2 (ja) * | 2004-02-10 | 2010-09-29 | 三菱電機株式会社 | 量子鍵配送方法 |
KR20050118056A (ko) | 2004-05-12 | 2005-12-15 | 삼성전자주식회사 | 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치 |
KR100669152B1 (ko) * | 2004-11-25 | 2007-01-15 | 한국전자통신연구원 | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 |
CN100385796C (zh) * | 2004-11-25 | 2008-04-30 | 上海交通大学 | 低密度校验码的信道编码方法 |
KR100913876B1 (ko) * | 2004-12-01 | 2009-08-26 | 삼성전자주식회사 | 저밀도 패리티 검사 부호의 생성 방법 및 장치 |
CN100486150C (zh) * | 2005-01-23 | 2009-05-06 | 中兴通讯股份有限公司 | 基于非正则低密度奇偶校验码的编译码器及其生成方法 |
KR20060106132A (ko) * | 2005-04-06 | 2006-10-12 | 삼성전자주식회사 | 연접 ldgm 부호 부호화/복호화 방법 |
JP4622654B2 (ja) * | 2005-04-25 | 2011-02-02 | ソニー株式会社 | 復号装置および復号方法 |
JP4526450B2 (ja) * | 2005-06-30 | 2010-08-18 | ルネサスエレクトロニクス株式会社 | 復号装置と方法並びにプログラム |
US7657816B2 (en) * | 2005-07-13 | 2010-02-02 | Leanics Corporation | Low-complexity hybrid LDPC code encoder |
KR20080033381A (ko) * | 2005-08-10 | 2008-04-16 | 미쓰비시덴키 가부시키가이샤 | 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기 |
KR101351140B1 (ko) * | 2005-11-22 | 2014-01-15 | 조지아 테크 리서치 코오포레이션 | 통신 시스템에서 신호 송수신 장치 및 방법 |
EP1965498B1 (en) * | 2005-12-20 | 2014-06-25 | Mitsubishi Electric Corporation | Encoding of LDPC codes with an irregular parity check matrix obtained by masking |
JP4598085B2 (ja) * | 2006-01-10 | 2010-12-15 | 三菱電機株式会社 | 検査行列生成方法 |
-
2007
- 2007-10-19 CN CN2007101633444A patent/CN101414833B/zh active Active
-
2008
- 2008-06-02 US US12/666,454 patent/US8291288B2/en active Active
- 2008-06-02 EP EP08757578.3A patent/EP2200182B1/en active Active
- 2008-06-02 HU HUE08757578A patent/HUE033653T2/en unknown
- 2008-06-02 WO PCT/CN2008/071167 patent/WO2009049504A1/zh active Application Filing
- 2008-06-02 RU RU2010101145/08A patent/RU2439792C2/ru active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010135857A1 (zh) * | 2009-05-25 | 2010-12-02 | 华为技术有限公司 | 采用线性分组码的编码方法、装置及线性分组码生成方法、装置 |
CN102077470B (zh) * | 2009-05-25 | 2013-02-27 | 华为技术有限公司 | 采用线性分组码的编码方法、装置及线性分组码生成方法、装置 |
US8692697B2 (en) | 2009-05-25 | 2014-04-08 | Huawei Technologies Co., Ltd. | Method and apparatus for encoding based on a linear block code |
CN102142936A (zh) * | 2010-02-02 | 2011-08-03 | 华为技术有限公司 | 基于线性分组码的编码方法及装置 |
CN102142936B (zh) * | 2010-02-02 | 2013-09-25 | 华为技术有限公司 | 基于线性分组码的编码方法及装置 |
CN108233946A (zh) * | 2016-12-09 | 2018-06-29 | 富士通株式会社 | 极化码的编码装置、方法以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2200182A1 (en) | 2010-06-23 |
US8291288B2 (en) | 2012-10-16 |
RU2439792C2 (ru) | 2012-01-10 |
HUE033653T2 (en) | 2017-12-28 |
EP2200182A4 (en) | 2013-11-20 |
WO2009049504A1 (fr) | 2009-04-23 |
US20100185915A1 (en) | 2010-07-22 |
CN101414833B (zh) | 2010-08-04 |
EP2200182B1 (en) | 2017-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101414833B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101453297B (zh) | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 | |
CN103250463B (zh) | 用于通信系统的子集编码 | |
EP3193472B1 (en) | Data packet processing method and device | |
CN101902296A (zh) | 一种喷泉码的编解码方法和装置 | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101227193B (zh) | 一种低密度校验码的编解码装置和方法 | |
CN101252606A (zh) | 深空通信中基于低密度奇偶校验码-喷泉码的编译方法 | |
CN101582744A (zh) | 一种基于迭代方法的rs喷泉码的编译码方法 | |
CN101286745B (zh) | 一种交织编码方法及装置 | |
CN101814923B (zh) | 一种喷泉码解码方法及装置 | |
CN103716134B (zh) | 一次反馈条件下度渐增的喷泉码的编码方法 | |
CN101277118A (zh) | 基于ldpc码的级联码的编码方法 | |
CN1933336B (zh) | 使用grs码构建ldpc码的方法和装置 | |
CN100440737C (zh) | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 | |
CN107911152B (zh) | 适用于任意发送天线数量的空间编码调制系统和方法 | |
CN113098661B (zh) | 一种基于喷泉码的卫星信道下的文件传输方法 | |
KR101643039B1 (ko) | 분산 lt 부호의 차수 분포 최적화 방법 | |
CN102065289B (zh) | 基于网络编码的可靠性视频传输方法及装置 | |
CN101459429B (zh) | 一种低密度生成矩阵码的译码方法 | |
CN103812615A (zh) | 分布式通信系统中卢比变换码的编码方法及中继通信方法 | |
Karat et al. | Optimal error correcting delivery scheme for an optimal coded caching scheme with small buffers | |
Hekland | On the design and analysis of Shannon-Kotel’nikov mappings for joint-source-channel coding | |
CN107257244A (zh) | 一种基于广播环境下的喷泉码编码方法 | |
CN102820952A (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 |