一种交织编码方法及装置的制作方法

文档序号:7691773阅读:246来源:国知局
专利名称:一种交织编码方法及装置的制作方法
技术领域
本发明涉及数据编译码领域,尤其涉及一种低密度生成矩阵码的交织编 码方法及装置。
背景技术
擦除信道是一种重要的信道模型,在数据传输过程中,如果接收端接 收到的数据包校验错误,则将错误的数据段丢弃,相当于擦除。文件在因特 网上传输时,是基于数据包通信的,通常每个数据包要么无差错的被接收端接收,要么根本就没有被接收端接收到。传输控制协议(Transmission Control Protocol,简称TCP)中,针对网络丟包的做法是检错重发机制,即利用输 入端到输出端的反馈信道控制需要重新传送的数据包。当接收端检测到丟包 时,产生一个重新发送控制信号,直到正确接收到完整数据包;而当接收端 接收到数据包时,同样要产生一个接收确认信号。发送端也会跟踪每一个数 据包直到接收到反馈回来的确认信号,否则就会重新发送。基于流模式和文件下载模式的数据广播业务是点到多点的业务,不允许 反馈,因此传统的检错重发机制无法使用,需要使用前向纠错(ForwardError Correction,简称FEC )来保证数据的可靠传输。经典的应用层FEC包括RS (Reed-Solomon,里德.所罗门)码和数字喷泉码(Fountain codes)等。RS 码的编译码复杂度较高, 一般只适用于码长比较小的情况。LT(Luby Transform,陆柏变换)码和Raptor (瑞普特)码是两种可实际应用的数字喷 泉码。LT码具有线性的编码和译码时间,相对于RS码有着本质的提高; 而Raptor码由于采用了预编码技术,因此具有更高的译码效率。在3GPP( 3rd Generation Partnership Project,第三代合作伙伴计划)的组播广播多媒体业 务(Multimedia Broadcast / Multicast Service,简称MBMS )以及数字视频广 播(Digital Video Broadcasting,简称DVB )中都采用了 Digital Fountain (凄t字喷泉)公司的Raptor码作为其FEC编码方案。线性分组码是一组固定长度的码组,可以表示为(n,k),通常用于前向纠 错。在编码时,k个信息位被编成n位码组长度。由于(n,k)分组码的2'个码 字组成了 一个k维子空间,所以该2*个码字一定可以由k个线性无关的基底 生成,若把该k个基底写成矩阵的形式,则有<formula>formula see original document page 8</formula>其中,(n, k)分组码中的任何码字都可以由这组基底的线性组合生成,即<formula>formula see original document page 8</formula>此处称G为码的生成矩阵。显然,对于生成矩阵的各行来说,只要满 足线性无关即可(没有考虑最小距离),而一个k维空间的基底可以任意选 择/t个线性无关的矢量,所以作为码的生成矩阵G也不是唯一的,但不论采 用哪一种形式,它们都生成相同的子空间,即同一个(n,k)分组码。若编码后码字的前k位与信息位相同,则称该码为系统码。编码的过程 就是由k个信息位生成n位码长的过程,通过增加n - k个校验位来达到检 错和纠错的目的。LT码也是利用生成矩阵的稀疏性进行编码,但是同低密度生成矩阵码 (Low Density Generator Matrix Codes ,简称LDGC )相比,LT码不支持系 统码的编码方式,因此LT码难以满足某些实际的FEC编码需求;Raptor 码支持系统码,但是Raptor码需要单独的预编码过程,即需要一个预编码 矩阵,因此编码的复杂度较高,而LDGC码是直接利用生成矩阵编码,不 需要另外的预编码矩阵,且LDGC编码时可以利用回代法求解上三角(或 下三角)方程,因此编码复杂度远低于Raptor码。总而言之,同LT码相比 LDGC的优势是支持系统码;同Raptor码相比LDGC的优势是编码复杂度 更低。因此,需要提出一种针对LDGC特点的编码方法和装置。8发明内容本发明所要解决的技术问题是,克服现有^支术的不足,提供一种低密度 生成矩阵码的交织编码方法及装置,以降低编码复杂度,获得较好的编码性台匕 月匕(为了解决上述问题,本发明提供一种交织编码方法,该方法包括如下步骤Sl:对长度为K的待编码信息比特序列s添加d个已知填充比特,生成 长度为L的信息比特序列m;S2:根据关系式IxQdge(l:L, l:L)-m生成中间变量I,并根据关系式C4 x Qdgc生成编码比特序列C;S3: /人C中删除d个所述已知填充比特;在上述交织编码过程中,还在步骤Sl和S2之间对m中除所述已知填 充比特外的信息比特部分进行交织;和/或,在步骤S2之后对C中的校验比 特部分进行交织;其中,Gidgc为L行、N+L-K列的矩阵,K<L<N。此外,所述Gwgc为低密度生成矩阵,Qdgc(l:L,l:L)是上三角或下三角矩阵。此外,若Gwgc (1:L,1:L)是左上三角或左下三角矩阵,则步骤S1中,将 所述d个已知填充比特添加到所述待编码信息比特序列s之前;若Gwgc (1:L,1:L)是右上三角或右下三角矩阵,则步骤S1中,将所述d 个已知填充比特添加到所述待编码信息比特序列s之后。此外,将进行所述交织前m的各元素记为B。,B!,…,Bw,将进行所述交 织后m的各元素记为Co,d,…,Cw;釆用如下方法对m进^f亍所述交织Ci = B (i mod kb)xz + floor(i/kb), 或Cj = B (i mod z)xkb + floor(i/z);i=0,l,...,L-l; z = L/kb,其中,kb为交织深度,z和kb为正整数。 此外,将进行所述交织前C的各元素记为Eo,Eh…,Em+w,将进行所述交织后C的各元素记为F。,F,,…,Fn化.,;采用如下方法对C的校验比特部分 进行所述交织501:令i《,j=L;502:如果i〈N+d,则才丸行下一步,否则结束;503:如果N + cKX《zxcdl((N+d)/z),则跳转至步骤505,否则执行下 一步;504:令Fj =EX, i = i+ 1;505:令j-j + l;跳转至步骤502;上述X = kb x z + ((j — kb x z)mod mb) x z +floor((j — kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z);其中,mb = ceil((N+d)/z) - kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。本发明还提供一种交织编码装置,该装置包含比特填充单元,预编码 单元,分组码编码单元,比特删除单元;第一交织单元和/或第二交织单元; 其中所述比特填充单元用于对长度为K的待编码信息比特序列s添加d个已 知填充比特,输出长度为L的信息比特序列m;所述第一交织单元用于对所述比特填充单元输出的m进行交织,并将 交织处理后的m输出至所述预编码单元;所述预编码单元用于接收所述比特填充单元或所述第一交织单元输出 的m,并根据关系式IxGwgc(l:L, l:L)=m,生成并输出中间变量I;所述分组码编码单元用于根据关系式C=I x Gldgc,对所述预编码单元输 出的I进行编码,生成并输出编码比特序列C;所述第二交织单元用于接收所述分组码编码单元输出的C;对C中的校 验比特部分进行交织,将交织处理后的C输出至所述比特删除单元;输出的C,并从C中删除d个所述已知填充比特后将其输出;其中,Gwgc为L行、N+L-K列的矩阵,K<L<N。此外,所述预编码单元和所述分组码编码单元使用的Gwgc为低密度生 成矩阵,所述Gldgc (1 :L, 1丄)是上三角或下三角矩阵;若G他c(l:L,l丄)是左上三角或左下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之前;若Gwge(l:L,l:L)是右上三角或右下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之后。此外,将进行所述交织前m的各元素记为B。,Bi,…,B^,将进行所述交 织后m的各元素记为C。,d,…,所述第一交织单元采用如下方法对m进行所述交织Cg = B (g mod kb)xz + floor(g/kb), 或Cg = B (g咖d咖kb + floor(g/z); g=0, 1,…,L — 1;将进行所述交织前C的各元素记为E。,E!,…,EN+(M,将进行所述交织后 C的各元素记为Fo,F,,..., Fn+^;所述第二交织单元采用如下方法对C的校 验比特部分进行所述交织501:令i《,j=L;502:如果i〈N+d,则执行下一步,否则结束;503:如果N + cKX《zxceil((N+d)/z),则跳转至步骤505,否则执行下 一步;504:令巧=EX, i = i+ i;505:令j-j + l;跳转至步骤502;上述X = kb x z + ((j - kb x z)mod mb) x z十floor((j - kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j _ kb x z)/z);其中,mb = ceil((N+d)/z) — kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。本发明还提供一种交织编码装置,该装置包含比特填充单元,预编码 单元,分组码编码单元,比特删除单元;第一交织单元和/或第二交织单元; 其中所述比特填充单元用于对长度为K的待编码信息比特序列s添加d个已 知填充比特,输出长度为L的信息比特序列m;所述第一交织单元用于对所述比特填充单元输出的m进4亍交织,并将 交织处理后的m输出至所述预编码单元;所述预编码单元用于接收所述比特填充单元或所述第一交织单元输出 的m,并根据关系式IxGuigc(l:L, l:L)=m,生成并输出中间变量I;所述分组码编码单元用于根据关系式C=I x Gldgc,对所述预编码单元输 出的I进行编码,生成并输出编码比特序列C;所述比特删除单元用于接收所述分组码编码单元输出的C,并从C中删 除d个所述已知填充比特后将其输出;所述第二交织单元用于接收所述比特删除单元输出的C,并对C中的校 验比特部分进行交织,将交织处理后的C输出;其中,Gwgc为L行、N+L-K列的矩阵,K<L<N。此外,所述预编码单元和所述分组码编码单元使用的Gldge为低密度生 成矩阵,所述Gldge (1 :L, 1 :L)是上三角或下三角矩阵;若Gwgc(l:L,l:L)是左上三角或左下三角矩阵,则所述比特:t真充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之前;若Gwgc(l:L,l:L)是右上三角或右下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之后。此外,将进行所述交织前m的各元素记为Bo,Bi,…,Bw,将进行所述交 织后m的各元素记为Co,d,"., C"所述第一交织单元采用如下方法对m进行所述交织Cg = B (g mod kb)xz + floor(g/kb), 或Cg = B (g mod z)xkb + floor(g/z); g=0,1,... ,L — 1;将进行所述交织前C的各元素记为Eo,E,,…,EN+(M,将进4亍所述交织后 C的各元素记为F。,Fb…,Fn+w;所述第二交织单元采用如下方法对C的校 验比特部分进行所述交织501:令i-L, j=L;502:如果i〈N+d,则执行下一步,否则结束;503:如果N + d《X《zxceil((N+d)/z),则跳转至步骤505,否则扭j亍下 一步;504:令巧=EX, i = i+l;505:令j" + l;跳转至步骤502;上述X = kb x z + ((j - kb x z)mod mb) x z十floor((j - kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z);其中,mb = ceil((N+d)/z) - kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。采用本发明的交织编码方法及装置,可以在降低编码复杂度的同时,获 得较好的性能。


图1是本发明实施例LDGC的交织编码方法流程图;图2为本发明实施例的LDGC交织编码装置示意图;图3是LDGC生成矩阵的示意图;图4是LDGC生成矩阵的非零元素分布示意图;图5是本发明实施例LDGC交织编码装置预编码单元示意图;图6是本发明实施例LDGC交织编码装置分组码编码单元示意图。
具体实施方式
LDGC是一种线性分组码,其生成矩阵中的非零元素通常是稀疏的。同 时,LDGC码还是一种系统码,其生成矩阵中的前k列组成的方阵通常是一 个上三角或下三角矩阵,该矩阵求逆可以通过迭代的方法完成。LDGC的编 码是先利用系统码中信息位与中间变量的对应关系求出中间变量,然后再用 中间变量乘以生成矩阵得到编码后的码字。LDGC码的译码过程是先利用生 成矩阵求得中间变量,然后根据信息位和中间变量的变换关系求出信息位。下面将参考附图,详细说明本发明的具体实施方式
。方法实施例图1是本发明实施例LDGC的交织编码方法流程图。本实施例描述的 是对长度为K的信息比特序列进行编码,然后输出长度为N的编码后的码 字比特序列给后续处理单元进行处理的过程。其中,校验位长度为M=N - K, 码率为r=K/N。如图1所示,本发明实施例的LDGC交织编码方法包括以下 步骤S102,构造L行、N+L-K列的生成矩阵Gwge。其中,该生成矩阵的前 L列的所有行构成的方阵Gldgc (1:L,1:L)是上三角(或下三角矩阵),K、 L 和N是给定的正整数,并且K〈LOJ。S104,对1 xK信息比特序列s添加d=L-K个已知填充比特,构成1 xL信息比特序列m。S106,对所述填充后的信息比特序列m进行交织,得到交织后的信息 比特序列 mint (也可以称作经过交织处理的m);注意到,通常一个信息比特序列对应的编码序列的各比特是在多个数据 包中传输,因此对m进行交织的目的是将连续擦除差错打散,避免突发差 错。S108,由于LDGC是系统码,所以有IxQdgc(l:L, l:L)=mint;利用Gldgc (1:L,1:L)是一个上三角矩阵(或下三角矩阵)的特点,使用交织后信息比特 序列mint,得到1 xL中间变量I,并根据C-IxG^,对中间变量I进行编码, 得到1 x (N+d)的码字Cword (即编码序列)。S110,对所述编码序列Cw。rd的校验比特部分进行交织,得到交织后的14编码序列Cpem (也可以称作经过交织处理的Cw。rd),目的是将连续擦除差错打散,避免突发差错。SI 12,从上述步骤生成的1 x (N+d)编码序列Cpem中删除步-骤S104中 添加的已知填充比特,最终得到N比特的编码码字Cldgc,发送出去。其中,步骤S110和S112的顺序可以互换,即可以先执行步骤S112, 删除L - K个已知填充比特,然后对去掉填充比特的编码序列的才交-睑比特部 分进行交织,可以实现同样的效果。此外,在生成矩阵的每一列中,元素l的个数(即,列重量)必须满足 一定的度分布原则。生成矩阵的前L列的所有行组成的方阵可以是一个左上 三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。此外,若Gwgc(l:L,l:L)是左上三角或左下三角矩阵,则对于初始长度为 K的信息比特序列,将d=L - K个已知填充比特添加到K个信息比特序列的 前面;若Gldgc (1:L,1:L)是右上三角或右下三角矩阵,则对于初始长度为K 的信息比特序列,将d=L - K个已知填充比特添加到K个信息比特序列的后 面;这样添加可以提高编码、译码的性能;需要指出的是,添加填充比特的 位置不局限于上述情况。装置实施例图2为本发明实施例的LDGC交织编码装置示意图。该装置用于对输 入的K比特的二进制信息比特流进行编码,然后输出N比特的二进制码字 比特序列给后续的处理单元。如图2所示,该LDGC的编码装置包括矩阵生成单元,比特填充单元,第一交织单元,预编码单元,分组码编码单元,第二交织单元,比特删 除单元。其中矩阵生成单元,用于生成一个L行、N+L-K列的生成矩阵Gwgc。其中, 该生成矩阵的前L列的所有行构成的方阵Gldgc (1:L,1:L)是上三角或下三角 矩阵;矩阵生成单元将Gldgc (1:L,1:L)输出至预编码单元,并将Gldgc(1:L,1:N+L-K)输出至分组码编码单元。其中,K、 L和N是给定的正整数, 并且K<L<N。比特填充单元,用于对1 x K的输入信息比特序列s添加d=L - K个已 知填充比特,生成1 x L的信息比特序列m,并且将其输出到第一交织单元。第一交织单元,用于对所述填充已知比特后的信息比特序列m进行交 织,输出交织后的信息比特序列mint,目的是将连续擦除差错打散,避免突 发差错。第一交织单元为可选单元,即比特填充单元可以将m直4妄,命出至预编 码单元(如图2虛线所示的连接关系)。预编码单元,用于根据关系式IxGldgc(l:L, l:L)=mint,对1 x L的信息 比特流m进行解方程计算,生成lxL的中间变量I,并将其输出到分组码 编码单元。如图5所示,预编码单元可以为一个解上三角和/或下三角方程 器,该单元有两个输入, 一个是G琳(l: L,1:L),另一个是长度为L的信息 比特序列m,输出中间变量I。分组码编码单元,用于对中间变量I进行编码,生成1 x (N+d)的二进制 码字序列C,并且将其输出至比特删除单元;如图6所示,分组码编码单元 可以为一个矩阵乘法器,有两个输入, 一个是Gwge ,另一个是长度为L的 中间变量I,输出编码后的码字比特序列C。第二交织单元,用于对所述分组码编码单元输出的编码后的码字比特序 列C的校验比特部分进行交织,输出交织后的编码序列,目的是将连续擦 除差错打散,避免突发差错。比特删除单元,对于交织后的编码序列,删除比特填充单元中填充的d 个填充比特,最终得到N比特的编码码字。其中,第二交织单元和比特删除单元的位置可以互换,即码字比特序列 C可以先送到比特删除单元,删除已知填充比特,然后送到第二交织单元, 对去掉填充比特的码字序列的才L验比特部分进行交织(见图中虚线所示的连 接关系),结果是等同的。此外,矩阵生成单元根据以下原则确定生成矩阵在生成矩阵的每一列中,元素l的个数(即,列重量)必须满足一定的度分布原则。生成矩阵的 前L列和所有行组成的方阵是一个左上三角矩阵、左下三角矩阵、右上三角矩阵、或右下三角矩阵(如图3所示)。此外,若Gwgc(l:L,l:L)是左上三角或左下三角矩阵,则对于初始长度为 K的信息比特序列,将d=L - K个已知填充比特添加到K个信息比特序列的 前面;若Gldgc (1:L,1:L)是右上三角或右下三角矩阵,则对于初始长度为K 的信息比特序列,将d=L - K个已知填充比特添加到K个信息比特序列的后 面;这样添加可以提高编码、译码的性能;需要指出的是,添加填充比特的 位置不局限于上述情况。此外,由于LDGC是系统码,有IxQdgc(l丄,LL)=mint;所以预编码单 元利用Gwgc(l丄,l:L)是一个上三角矩阵(或下三角矩阵)的特点解方程求出 1 xL中间变量I。此外,分组码编码单元根据C-IxG咖,对中间变量I进行编码,得到1 x (N+d)的二进制码字序列。方法应用实例1:下面将举一应用实例对本发明的交织编码方法进行详细描述。该应用实 例中对K个输入的信息比特序列m进行编码,最终产生M个校验比特序列, 并且信息比特和校验比特构成了 N-K+M的码字序列Cldgc。编码步骤中的 加法是指模2加。为了描述方便,采用如下定义Ao,A!,..., Atl为K比特信息序列s;Bo,Bi,…,BL-i为填充L比特已知比特后信息序列m;Co,d,…,Cw为进行比特交织后的L信息比特序列mint;Do,Di,…,Dw为L比特中间变量序列I;Eo,E!,…,En+^指N+d比特去掉填充比特前的码字CWOTd;Fo,F,,…,FN+(M指N+d比特交织后的码字Cpem;Go,Gi,…,G^指N比特去掉填充比特后的码字Cldgc; g,是指G晦c的第j行第i列元素。 交织编码包括下面几个步骤(1 )在输入信息比特序列s后面添加d = L - K个已知序列 (1,1,1,1,1,1,…,1),构成lxL序歹'Jm,即Bi = Ai, i=0,l, .K- 1;Bj=l,i=K,K+l,…,L-1。(2 )对所述填充后信息比特序列m进行交织,得到交织后的1 x L信 息比特序列 mint; mint的各元素Cj = B (imodkb"z + floor(i/kb), i=0,l,.."L- 1。在这个例子中,交织运算采用行列交织器,并且假设L二kbxz,其中kb 是交织深度,z和kb为正整数。需要指出,本发明不局限于上述交织方法。(3)已知生成矩阵G一的L行、前L列组成的方阵Gidgc(l:L,l:L)和长 度为L的序列s,根据关系式IxGldge(l:L,l:L) = s,解方程得到中间变量I; 其中,Gwgc(l:L,l:L)是右上三角方阵。I的各元素为A=C0;产o(4 )根据Cw。rd=I* Gldgc (l:L,l:N+d),计算得到长度为1 x ( N+d )的Cword。 Qv。d的各元素为五,C,, / = 0,-.-,丄—1;i一iA =Z! / = Zv,tV + J —1。(5)对编码序列C丽d的校验比特部分进行交织,得到交织后的编码序列Cpe加,Cpe加的各元素采用如下方法获得F「Ei, z、0,…,丄-l; 令mb = ceil((N+d)/z) - kb 。为了完成校验比特部分的分组交织,执行如下搡作 501a: 4M=L, j=L;502a:如果i<N+d,则执行下一步,否则结束;503a:如果N + cKkbxz + ((j - kbx z)mod mb) x z +floor((j - kb x z)/mb) < z x Ceil((N+d)/z),则跳转至步骤505a,否则执行下一步;504a: 令F; = Ekbxz+((j—kbxz) mod mb)xz + fl00r((j—kbxz)/mb), i = i + 1;505a:令j-j + l;跳转至步骤502a。至此,完成了对编码序列C,n!的校验比特部分进行交织。本应用实例中,交织运算采用行列交织器,并且设L-kbxz,其中kb是交织深度,Z和kb为正整数。需要指出的是,本发明不局限于所述的交 织方法。(6 )删掉步骤1的d个填充比特,产生1 x N码字为Cldgc, Qdge的各元素为G尸Fi,i=0,...,K-1; Gi=Fi+d, i=k,…,N - 1。方法应用实例2:下面将举一应用实例与前面的实例1类同,不同之处在于交织方法,所 描述的交织编码方法同样包括6个步骤,只有步骤2和4的交织方法不同。其中,步骤(2)对所述填充后信息比特序列m进行行列交织,得到交 织后的1 x l信息比特序列mint; mint的各元素Ci = b (i咖dz)xkb + floor(i/z), i=0,l,...,L _ 1。其中,步骤(5)对编码序列C丽d的校验比特部分进行行列交织,得到交织后的编码序列Cpenn, Cperm的各元素采用如下方法获得Fi = Ei, / = 0,".,丄—1;令mb = ceil((N+d)/z) - kb。为了完成校验比特部分的分组交织,执行如下操作 501b:令i:L, j=L;502b:如果KN+d,则执行下一步,否则结束;503b:如果N + d《kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z) 《zxceil((N+d)/z),则跳转至步骤505b,否则执行下一步;504b: 令巧=Ekbxz+w—kbxz)modz)xmb + floor((j—kbxz)/z) , i = i + 1;505b:令j十l;跳转至步骤502b。至此,完成了对编码序列C,d的校验比特部分进行交织。装置应用实例下面将举一应用实例对本发明的交织编码装置进行详细描述。 本应用实例中, 一个1 x K=l x 24的二进制信息比特数据流s ( s用16 进制数可表示为Ao,Ai,…A23)要通过根据本发明实施例的交织编码装置编 码生成72比特的LDGC编码码字,所以有K^24, N=72。矩阵生成单元产生一个L=48行、N+L - K=96列的生成矩阵Gldgc;其中, Gwgc采用与LT码近似的度分布准则,Gwgc的前L列的所有4亍组成的方阵 GMgc(l:L,l:L^Gwgc(l:48,l:48)是一个右上三角矩阵,如图4所示(其中,黑 点表示元素l,空白位置表示元素0)。矩阵生成单元将Gwgc(l:L,l:L)-G他c (1:48,1:48)输出到预编码单元,并且将Gldgc (1 :L,l :N+L - K)=Gldgc (1:48,1:96) 输出到分组码编码单元。Bi = A;, i=0,l,....K- 1;B「1, i=K,K+l,…,L-1。比特i真充单元在1 x K=l x 24的输入^(言息比特流Ao,Ah…A23后面添加 d=L - K=24个已知填充比特p ( p是全1序列),生成1 x L=l x 48的填充 后信息比特流m (Bo,B!,…B47),并且将m输出到预编码单元。第一交织单元,用于对所述填充已知比特后的信息比特序列m进行交得到交织后的1 xL信息比特序列mint (Q),d,…,C47) ; mint的各元素Ci = B (i mod kb)*z + floor(i/kb), —0,1,... ,L - 1 。预编码单元根据LDGC码是系统码的特点(由于LDGC码是系统码, 所以有IxGwgc(l:48,l:48)^mint),利用Gldgc (1:L,1:L戶G一(1:48,1:48)是一个 右上三角矩阵,对输入的1 x L=l x 48的信息比特流mint进行解方程计算, 求出1 xL=l x48的中间变量I (Do,Dh…,D 47),并且将I输出到分组码编 码单元。I的各元素为A=C0;分组码编码单元根据Cw。rd=I* Gldge (l:L,l:N+d),计算得到长度为lx (N+d)的Cword,将Cw。rd输出到比特删除单元。Cw。rd的各元素为£,=C,, i = 0,-..,i—1;z-i第二交织单元,对编码序列C,d的校验比特部分进行交织,得到交织 后的编码序列Cperm, Cp咖的各元素采用如下方法获得Fi = Ei, / = 0,-",丄-1;令mb = ceil((N+d)/z) - kb。为了完成校验比特部分的分组交织,执行如下操作 501a:令i:L, j=L;502a:如果i<N+d,则执4亍下一步,否则结束;503a:如果N + d《kbxz + ((j-kbx z)mod mb) x z+floor((j - kb x z)/mb) <zxceil((N+d)/z),则跳转至步骤505a,否则执行下一步;504a: 令巧一Ekbxz+((j—kbxz) mod mb)xz + floor((j—kbxz)/mb), i = i + 1; 505a:令j-j + l;跳转至步骤502a。比特删除单元,将添加的d=24个填充比特从1 x (N+d)=l x 96的二进制 码字Cperm中删除,将最终得到N=72比特的编码码字ddgc并且发送出去。Cidgc的各元素为G尸Fi, i=0,...,K-l;Gi=Fi+d, i=k,…,N- 1。综上所述,本发明可以支持任意信息分组长度和任意码率编码,在性能 上与Raptor码类似,都能接近理论最优性能。其中,第 一交织单元和第二交织单元还可以使用下面的公式。对于第一交织单元,对所述填充后信息比特序列m进行交织,得到交 织后的1 x L信息比特序列mint; mint的各元素C; = B (i m。d z)*kb + fl。。r(i/z), i=0,l,...,L-1。对于第二交织单元,对编码序列C,d的校验比特部分进行交织,得到 交织后的编码序列Cperm, Cp,的各元素采用如下方法获得Fi-Ei, / = (), ,£-1;令mb = ceil((N+d)/z) - kb。为了完成校验比特部分的分组交织,执行如下#:作 501b: 4M=L, j=L;502b:如果i〈N+d,则才丸行下一步,否则结束;503b:如果N + cKkbxz + ((j-kbx z)mod z) x mb+floor((j - kb x z)/z) 《zxceil((N+d)/z),则跳转至步骤505b,否则执行下一步;504b: 令Fj = Ekbxz+((j—kbxz) mod z)xmb + fl00r((j—kbxz)/z) , i = i + 1;505b:令j-j + l;跳转至步骤502b。
权利要求
1. 一种交织编码方法,其特征在于,该方法包括如下步骤S1对长度为K的待编码信息比特序列s添加d个已知填充比特,生成长度为L的信息比特序列m;S2根据关系式I×Gldgc(1:L,1:L)=m生成中间变量I,并根据关系式C=I×Gldgc生成编码比特序列C;S3从C中删除d个所述已知填充比特;在上述交织编码过程中,还在步骤S1和S2之间对m中除所述已知填充比特外的信息比特部分进行交织;和/或,在步骤S2之后对C中的校验比特部分进行交织;其中,Gldgc为L行、N+L-K列的矩阵,K<L<N。
2、 如权利要求l所述的方法,其特征在于,所述Gldge为低密度生成矩阵,Gldgc (1:L,1:L)是上三角或下三角矩阵。
3、 如权利要求2所述的方法,其特征在于,若Gwgc (1:L,1:L)是左上三角或左下三角矩阵,则步-骤S1中,将所述d 个已知填充比特添加到所述待编码信息比特序列s之前;若G他c (1:L,1:L)是右上三角或右下三角矩阵,则步骤S1中,将所述d 个已知填充比特添加到所述待编码信息比特序列s之后。
4、 如权利要求l所述的方法,其特征在于,将进行所述交织前m的各元素记为Bo,Bi,..., Bw,将进行所述交织后m 的各元素记为C。,d,…,Cu;采用如下方法对m进行所述交织Ci = B (j mod kb)xz + floor(i/kb), 或C! = B (i mod z)xkb + floor(i/z);i=0,l,...,L-1; z = L/kb,其中,kb为交织深度,z和kb为正整数。
5、 如权利要求l所述的方法,其特征在于,将进行所述交织前C的各元素记为Eo,E!,..., En化.!,将进行所述交织后C的各元素记为Fo,Fb…,Fn+^;采用如下方法对C的校验比特部分进行所 述交织501:令i:L, j=L;502:如果i〈N+d,则4丸行下一步,否则结束;503:如果N + d《X《zxcdl((N+d)/z),则跳转至步骤505,否则执行下 一步;504:令巧=EX, i = i+ 1;505:令j-j + l;跳转至步骤502;上述X = kb x z + ((j - kb x z)mod mb) x z十floor((j - kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z);其中,mb = ceil((N+d)/z) - kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。
6、 一种交织编码装置,其特征在于,该装置包含比特填充单元,预 编码单元,分组码编码单元,比特删除单元;该装置还包含第一交织单元 和/或第二交织单元;其中所述比特填充单元用于对长度为K的待编码信息比特序列s添加d个已 知填充比特,输出长度为L的信息比特序列m;所述第一交织单元用于对所述比特填充单元输出的m进行交织,并将 交织处理后的m输出至所述预编码单元;所述预编码单元用于接收所述比特填充单元或所述第一交织单元输出 的m,并根据关系式IxGwgc(l:L,l:L)-m,生成并输出中间变量I;所述分组码编码单元用于根据关系式C=I x Gldge,对所述预编码单元输 出的I进行编码,生成并输出编码比特序列C;所述第二交织单元用于接收所述分组码编码单元输出的C;对C中的校 验比特部分进行交织,将交织处理后的C输出至所述比特删除单元;所述比特删除单元用于接收所述分组码编码单元或所述第二交织单元 输出的C,并从C中删除d个所述已知填充比特后将其输出;其中,Gwgc为L行、N+L-K列的矩阵,K<L<N。
7、 如权利要求6所述的装置,其特征在于,所述预编码单元和所述分组码编码单元使用的Gldgc为^f氐密度生成矩阵, 所述Gldgc (1 :L, 1 :L)是上三角或下三角矩阵;若Guigc(l:L,l:L)是左上三角或左下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之前;若Gwgc(l:L,l:L)是右上三角或右下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之后。
8、 如权利要求6所述的装置,其特征在于,将进^f于所述交织前m的各元素记为Bo,B,,..., 纟夺进4亍所述交织后m 的各元素记为C。,d,…,Q^;所述第一交织单元采用如下方法对m进行所述交织Cg = B (g mod kb)xz + floor(g/kb), 或Cg = B (g mo(j z)xkb + floor(g/z); g=0,1,.. "L — 1;将进行所述交织前C的各元素记为Eo,Eh..., En+cm,将进行所述交织后 C的各元素记为Fo,Fh,.., FN+cM;所述第二交织单元采用如下方法对C的校 验比特部分进行所述交织501:令i:L, j=L;502:如果i〈N+d,则才丸行下一步,否则结束;503:如果N + (KX《zxcdl((N+d)/z),则跳转至步骤505,否则执行下 一步;504:令Fj =EX, i = i+ 1;505:令j" + l;跳转至步骤502;上述X = kb x z + ((j - kb x z)mod mb) x z +floor((j - kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z);其中,mb = ceil((N+d)/z) - kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。
9、 一种交织编码装置,其特征在于,该装置包含比特填充单元,预 编码单元,分组码编码单元,比特删除单元;该装置还包含第一交织单元 和/或第二交织单元;其中所述比特填充单元用于对长度为K的待编码信息比特序列s添加d个已 知填充比特,输出长度为L的信息比特序列m;所述第一交织单元用于对所述比特填充单元输出的m进行交织,并将 交织处理后的m输出至所述预编码单元;所述预编码单元用于接收所述比特填充单元或所述第一交织单元输出 的m,并根据关系式IxGwgc(l:L, l:L)=m,生成并输出中间变量I;所述分组码编码单元用于根据关系式C=I x Gldgc,对所述预编码单元输 出的I进行编码,生成并输出编码比特序列C;所述比特删除单元用于接收所述分组码编码单元输出的C,并从C中删 除d个所述已知填充比特后将其输出;所述第二交织单元用于接收所述比特删除单元输出的C,并对C中的校 验比特部分进行交织,将交织处理后的C输出;其中,Gwgc为L行、N+L-K列的矩阵,K<L<N。
10、 如权利要求9所述的装置,其特征在于,所述预编码单元和所述分组码编码单元使用的Gldge为低密度生成矩阵, 所述Gldgc (1 :L, 1 :L)是上三角或下三角矩阵;若Gwgc(l:L,l:L)是左上三角或左下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之前;若G,dgc(l:L,l:L)是右上三角或右下三角矩阵,则所述比特填充单元将所 述d个已知填充比特添加到所述待编码信息比特序列s之后。
11、 如权利要求9所述的装置,其特征在于,将进4亍所述交织前m的各元素记为B。,B,,…,Bw,将进4亍所述交织后m 的各元素记为C。,d,…,Q^;所述第一交织单元采用如下方法对m进行所述交织Cg = B (g mod kb)xz + floor(g/kb), 或Cg = B (g mod z)xkb + floor(g/z); g=0,1, .. ,L — 1;将进行所述交织前C的各元素记为E。,Eh…,EN+cM,将进行所述交织后 C的各元素记为F。,Fh…,FN+(M;所述第二交织单元采用如下方法对C的校 ^r比特部分进行所述交织501:令i:L, j=L;502:如果i〈N+d,则执行下一步,否则结束;503:如果N + d《X《zxceil((N+d)/z),则跳转至步骤505,否则执行下 一步;504:令巧=EX, i = i+ 1;505:令j叫+ l;跳转至步骤502;上述X = kb x z + ((j - kb x z)mod mb) x z十floor((j - kb x z)/mb);或X = kb x z + ((j - kb x z)mod z) x mb+floor((j - kb x z)/z);其中,mb = ceil((N+d)/z) - kb;z = L/kb,其中,kb为交织深度,z和kb为正整数。
全文摘要
一种交织编码方法及装置,该方法包括如下步骤S1对长度为K的待编码信息比特序列s添加d个已知填充比特,生成长度为L的信息比特序列m;S2根据关系式I×G<sub>ldgc</sub>(1:L,1:L)=m生成中间变量I,并根据关系式C=I×G<sub>ldgc</sub>生成编码比特序列C;S3从C中删除d个所述已知填充比特;在上述交织编码过程中,还在步骤S1和S2之间对m中除所述已知填充比特外的信息比特部分进行交织;和/或,在步骤S2之后对C中的校验比特部分进行交织;其中,G<sub>ldgc</sub>为L行、N+L-K列的矩阵,K<L<N。采用本发明的交织编码方法及装置,可以在降低编码复杂度的同时,获得较好的性能。
文档编号H04L1/00GK101286745SQ20081009468
公开日2008年10月15日 申请日期2008年5月7日 优先权日2008年5月7日
发明者俊 徐, 胡留军, 袁志锋, 进 许 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1