首页> 中国专利> 交织、解交织外码编码输出码字的方法和交织、解交织器

交织、解交织外码编码输出码字的方法和交织、解交织器

摘要

本发明提供一种交织外码编码输出码字的方法,根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵,将第一矩阵划分成至少四个子矩阵,根据至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得内码编码的输入码字。本发明还提供一种解交织外码编码输出码字的方法、一种交织器和一种解交织器。采用本发明的交织、解交织外码编码输出码字的方法和交织、解交织器,对外码编码与内码编码进行并行交织级联,从而将内码译码的随机错误和/或较长突发错误均匀地分布在外码编码输出码字内,降低了级联码的差错平层。

著录项

  • 公开/公告号CN102142928A

    专利类型发明专利

  • 公开/公告日2011-08-03

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201010553896.8

  • 申请日2010-11-19

  • 分类号H04L1/00(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-04

    未缴年费专利权终止 IPC(主分类):H04L1/00 授权公告日:20131106 终止日期:20151119 申请日:20101119

    专利权的终止

  • 2016-01-27

    专利权的转移 IPC(主分类):H04L1/00 登记生效日:20160106 变更前: 变更后: 申请日:20101119

    专利申请权、专利权的转移

  • 2015-07-29

    专利权的转移 IPC(主分类):H04L1/00 变更前: 变更后: 登记生效日:20150706 申请日:20101119

    专利申请权、专利权的转移

  • 2013-11-06

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20101119

    实质审查的生效

  • 2011-08-03

    公开

    公开

查看全部

说明书

技术领域

本发明实施例涉及通信技术,尤其涉及一种交织外码编码输出码字的方法和交织器,以及解交织外码编码输出码字的方法和解交织器。

背景技术

在无线与移动通信、光通信、深空通信、广播电视等通信领域中,数据传输的高速性和可靠性是通信的两个本质要求,信道编译码技术是实现此要求的必备途径。目前,大多数通信系统在进行信道编译码时,通过对外码编码与内码编码进行交织来获得级联编码,采用级联编码作为信道纠错码。其中,交织过程采用交织器完成,交织的具体方法为:将外码编码输出码作为内码编码的输入码,对其进行内码编码后获得级联编码。

目前,对外码编码输出码与内码进行交织的具体方法包括行列交织和卷积交织,这两种交织外码编码输出码字的方法都没有对内码的译码残留差错进行均匀化处理,造成较高的差错平层,误码率性能不佳。

发明内容

本发明实施例提供一种交织外码编码输出码字的方法,采用该方法能够降低级联码的差错平层。

本发明实施例还提供一种解交织外码编码输出码字的方法,采用该方法能够降低级联码的差错平层。

本发明实施例还提供了一种交织器,采用该交织器能够降低级联码的差错平层。

本发明实施例还提供了一种解交织器,采用该解交织器能够降低级联码的差错平层。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种交织外码编码输出码字的方法,包括:

根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵;

将所述第一矩阵划分成至少四个子矩阵;

将所述至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得内码编码的输入码。

本发明实施例还提供一种解交织外码编码输出码字的方法,包括:

将内码译码的每一个输出码字拆分成至少两个子矩阵组,将拆分后的所述至少两个子矩阵组进行转置重组,获得至少四个子矩阵;

对所述至少四个子矩阵进行组合,获得第一矩阵;

分别根据第一矩阵中的每一行,获得一个外码编码输出码的码字,所述外码编码输出码的个数为第一矩阵的行数,所述外码编码输出码的码长为第一矩阵的列数。

本发明实施例还提供一种交织器,包括:

矩阵单元,用于根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵;

划分单元,用于将所述第一矩阵划分成至少四个子矩阵;

组合单元,用于将所述至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得内码编码的输入码。

本发明实施例还提供一种解交织器,包括:

子矩阵单元,用于将内码译码的每一个输出码字拆分成至少两个子矩阵组,将拆分后的所述至少两个子矩阵组进行转置重组,获得至少四个子矩阵;

组合单元,用于对所述至少四个子矩阵进行组合,获得第一矩阵;

外码获取单元,用于分别根据第一矩阵中的每一行,获得一个外码编码输出码的码字,所述外码编码输出码的个数为第一矩阵的行数,所述外码编码输出码的码长为第一矩阵的列数。

由上述技术方案可知,在本发明实施例通过将外码编码输出码排列的矩阵划分为子矩阵,对子矩阵列向量进行转置组合后作为内码编码的输入码字,对外码编码和内码编码进行并行交织级联,从而将内码译码的随机错误和/或较长突发错误均匀地分布在所有外码编码输出码的码字内,充分利用外码编码输出码的纠错性能,降低了级联码的差错平层。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一的交织外码编码输出码字的方法的流程图;

图2为本发明实施例二的交织器的结构示意图;

图3为本发明实施例三的解交织外码编码输出码字的方法的流程图;

图4为本发明实施例四的解交织器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一的交织外码编码输出码字的方法的流程图。如图1所示,该方法包括如下步骤。

步骤101:根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵。

步骤102:将所述第一矩阵划分成至少四个子矩阵。在此步骤中,把第一矩阵划分成多块矩阵,其中的每一块矩阵作为一个子矩阵,多块矩阵的块数至少为四个,还可以为更多。

步骤103:将所述至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得内码编码的输入码。步骤102划分出了多个子矩阵,在步骤103中,采用其中至少两个子矩阵,分别对子矩阵的选定列向量进行转置,再将各个子矩阵转置后的列向量组合起来,作为一个内码编码的输入码字;采用上述方法,依次对所有子矩阵的全部选定列向量进行转置之后组合,得到内码编码的输入码字。

进一步地,在步骤101之前,还可以包括以下步骤:

分别获知外码编码输出码和内码编码输出码的码字属性,所述码字属性包括:码字个数、码元数、码长和信息位。

对外码编码输出码的码字属性进行预处理,或对外码编码输出码和内码编码输出码的码字属性进行预处理,以使外码编码输出码为二元码,并且外码编码输出码的码字个数与外码编码输出码的码元数的指数与外码编码输出码的码长的乘积等于内码编码输出码的码字个数与内码信息位的乘积。

在本发明实施例一中,通过将外码编码输出码排列的矩阵划分为子矩阵,对子矩阵列向量进行转置组合后作为内码编码的输入码字,对外码编码和内码编码进行并行交织级联,由于对外码编码输出码字进行了分段重组,从而将内码译码的随机错误和/或较长突发错误均匀地分布在所有外码编码输出码的码字内,充分利用外码编码输出码的纠错性能,降低了级联码的差错平层。

以下通过一个具体实例对本发明的交织外码编码输出码字的方法进行详细说明。

在信道编译码技术中,低密度校验(Low Density Parity Check,简称LDPC)码是一类具有逼近香侬限的性能并且具有相对较低译码复杂度的信道纠错码,在兼顾性能和码的结构设计以及码参数灵活选择等方面具有明显优势。因此,在本发明实施例中,仅以内码为LDPC码、外码为代数码为例对本发明的交织外码编码输出码字的方法做出说明,但是本发明的交织外码编码输出码字的方法并不对内、外码选用的码制进行限制,可以适用于任何码制。

以下仅以内码为LDPC码,外码为代数码为例,介绍本发明实施例的交织外码编码输出码字的方法的具体过程。

第1步,分别获知预设的代数码和LDPC码的码字属性,所述码字属性包括:码字个数、码元数、码长和信息位。

在本实施例中,外码采用代数码,外码编码输出码的码字属性为S1个2m元(N1,K1)的代数码,其中,S1为码字个数,2m为码元数,m为码元指数,N1为代数码码长,K1为代数码信息位。在本实施例中,内码采用LDPC码,内码编码输出码的码字属性为S2个二元(N2,K2)的LDPC码,其中,S2为码字个数,码元数为2,N2为LDPC码码长,K2为LDPC码信息位。

第2步,对代数码码字属性进行预处理,判断代数码的码字个数与代数码的码元数的指数与代数码的码长的乘积等于LDPC码的码字个数与LDPC码信息位的乘积是否成立,如果成立,结束预处理过程,执行第3步。如果不成立,对代数码和LDPC码的码字属性进行预处理,以使代数码为二元码,并且代数码的码字个数与代数码的码元数的指数与代数码的码长的乘积等于LDPC码的码字个数与LDPC码信息位的乘积。如果预处理前的代数码为二元代数码,并且该二元代数码的码字属性符合该要求的情况,则可以省略第2步,不必对码字属性进行预处理,直接进入第3步。

第2步的具体方法是:

首先,将2m元(N1,K1)代数码转换成二元(N′1,K′1)代数码,其中N′1=mN1,K′1=mK1。对于二元代数码,则不必执行此步骤。

然后,判断码字属性是否满足S1·m·N1=S2·K2,如果不满足,则首先对代数码码字属性进行预处理。预处理的具体方法是,对转换后的二元(N′1,K′1)代数码进行补“0”或补“1”扩展,得到扩展二元((N′1)*,(K′1)*)代数码。

然后,判断扩展二元代数码的属性是否满足S1·m·(N′1)*=S2·K2,如果仍旧不满足,则可以对LDPC码码字属性进行预处理。预处理的具体方法是,对LDPC码信息位进行补“0”,将K2调整为使得

经过上述预处理后,码字属性满足代数码的码字个数与代数码的码元数的指数与代数码的码长的乘积等于LDPC码的码字个数与LDPC码信息位的乘积,为表述方便,无论对代数码属性和LDPC码属性进行了怎样的预处理,均将预处理完成后的代数码属性记为(N′1,K′1),LDPC码属性记为(N2,K2),则预处理完成后的内代数码属性满足S1·m·N′1=S2·K2,以下步骤中所述的代数码和LDPC码均采用预处理完成后的代数码和LDPC码。

第3步,根据代数码码字阵列,获得行数为代数码个数、列数为代数码码长的第一矩阵。即,将S1个码字阵列表示为二元的S1×N′1矩阵T,形式如下:

其中,T为第一矩阵,a(i,j)为第一矩阵中的项,i为项的行标,i=1,2,…,S1,j为项的列标,j=1,2,…,N’1

第4步,将所述第一矩阵划分成至少四个子矩阵。

在此步骤中,以划分成四个子矩阵为例,即,将第一矩阵T划分为2×2的第二矩阵。具体方法是:

首先,选取行交织深度系数q1和列交织深度系数q2,q1和q2均为正整数并且满足q1<N′1、q2<S1

然后,根据q1和q2,将矩阵T分为2×2的分块矩阵,即

T=A1B2B1A2S1×N1

其中,A1为第一子矩阵,A2为第二子矩阵,B1为第三子矩阵,B2为第四子矩阵,A1、A2、B1和B2具体如下所示:

A1=A1,1A1,2...A1,q1q2×q1

=a(1,1)a(1,2)...a(1,q1)a(2,1)a(2,1)...a(2,q1).........a(q2,1)a(q2,1)...a(q2,q1)

A2=A2,1A2,2...A2,N1-q1(S1-q2)×(N1-q1)

=a(q2+1,q1+1)a(q2+1,q1+2)...a(q2+1,N1)a(q2+2,q1+1)a(q2+2,q1+2)...a(q2+2,N1).........a(S1,q1+1)a(S1,q1+1)...a(S1,N1)

B1=B1,1B1,2...B1,q1(S1-q2)×q1

=a(q2+1,1)a(q2+1,2)...a(q2+1,q1)a(q2+2,1)a(q2+2,2)...a(q2+2,q1).........a(S1,1)a(S1,2)...a(S1,q1)

B2=B2,1B2,2...B2,N1-q1q2×(N1-q1)

=a(1,q1+1)a(1,q1+2)...a(1,N1)a(2,q1+1)a(2,q1+2)...a(2,N1).........a(q2,q1+1)a(q2,q1+1)...a(q2,N1)

其中,分别为A1的列向量,分别为A2的列向量,分别为B1的列向量,分别为B2的列向量。

第5步,将所述至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得LDPC码编码的输入码。

首先,根据组合参数选择策略,获得第一组合参数m1、第二组合参数m2、第三组合参数m3和第四组合参数m4

组合参数选择策略为:选取正整数m1、m2、m3和m4,使其满足:q1/m1、(N′1-q1)/m2、q1/m3和(N′1-q1)/m4均为整数,并且满足下式:

q1/m1=(N′1-q1)/m2

q1/m3=(N′1-q1)/m2

m1·q2+m2·(S1-q2)=K2

m3·(S1-q2)+m4·q2=K2

然后,按列输出子矩阵A1的第1列至第m1列,即列向量A1,1至的转置,并且按列输出子矩阵A2的第1列至第m2列,即列向量A2,1至的转置,这样就得到第一个LDPC码编码的输入码字,将该输入码字记为d(1),其长度为K2。上述获得d(1)的方法具体表示为:

d(1)=A1,1TA1,2T...A1,m1TA2,1TA2,2T...A2,m2T1×K2

按照同样的方法,输出子矩阵A1的第m1+1列至第2m1列,并且按列输出子矩阵A2的第m2+1列至第2m2列,得到第二个LDPC码编码的输入码字。同理,按照顺序,每次输出子矩阵A1的m1个列并输出子矩阵A2的m2个列,作为一个LDPC码编码的输入码字,直到得到由A1和A2构成的q1/m1个LDPC码编码输入码字。上述每一个LDPC码编码输入码字输入给一个LDPC码编码器。

根据子矩阵A1和A2获得LDPC码编码的输入码字的方法,具体表示为:

d(1)=A1,1TA1,2T...A1,m1TA2,1TA2,2T...A2,m2T1×K2d(2)=A1,m1+1TA1,m1+2T...A1,m1+m1TA2,m2+1TA2,m2+2T...A2,m2+m2T1×K2...d(q1/m1)=A1,q1-m1+1TA1,q1-m1+2T...A1,q1Ta2,N1-q1-m2+1TA2,N1-q1-m2+2T...A2,N1-q1T1×K2

采用与上述根据子矩阵A1和A2获得LDPC码编码的输入码字同样的方法,根据子矩阵B1和B2获得LDPC码编码的输入码字。具体为:按列输出子矩阵B1的第1列至第m3列,并且按列输出子矩阵B2的第1列至第m4列,得到第q1/m1+1个LDPC码编码的输入码字,该码字长度为K2。采用同样的方法,按照顺序,每次输出子矩阵B1的m3个列并输出子矩阵B2的m4个列,直到获得(S2-q1/m1)个LDPC码编码的输入码字。至此,获得了全部的LDPC码编码的输入码字。同样地,上述每一个LDPC码编码输入码字输入给一个LDPC码编码器。

根据子矩阵B1和B2获得LDPC码编码的输入码字的方法,具体表示为:

d(q1/m1+1)=B1,1TB1,2T...B1,m3TB2,1TB2,2T...B2,m4T1×K2d(q1/m1+2)=B1,m3+1TB1,m3+2T...B1,m3+m3TB2,m4+1TB2,m4+2T...B2,m4+m4T1×K2...d(S2)=B1,q1-m3+1TB1,q1-m3+2T...B1,q1TB2,N1-q1-m4+1TB2,N1-q1-m4+2T...B2,N1-q1T1×K2

经过步骤5之后,根据S1个二元(N′1,K′1)代数码构成了S2个长度为K2的LDPC编码器输入d(1),d(2),…,d(S2),完成了交织过程。

以上介绍了本发明的交织外码编码输出码字的方法,下面通过另一个具体实例,对本发明的交织外码编码输出码字的方法进行更详细的说明。在本实施例中,外码采用代数码的一种,即汉明(Hamming)码,内码采用LDPC码。本实施例的具体过程如下。

采用1280个8元(73,70)汉明码与120个(8176,7156)LDPC码交织。

首先,对汉明码进行预处理。8元汉明码,即23元汉明码,将8元(73,70)汉明码转换为2元(219,210)汉明码,再将(219,210)汉明码扩展为(220,210)汉明码,扩展后的汉明码满足1280*3*220=120*7156。

然后,将1280个扩展汉明码,按行排列为矩阵T,该矩阵T为1280×220的矩阵,其具体形式如下:

接下来,根据q1=100,q2=640,将矩阵T分为4块,即其中

然后,根据组合参数选择策略,选取m1=m3=5,m2=m4=6,按列输出子矩阵A1的第1至5列,并且按列输出子矩阵A2的第1至6列,得到第一个LDPC码的编码输入码字,长度为7040,具体表示为:

d(1)=A1,1TA1,2TA1,3TA1,4TA1,5TA2,1TA2,2TA2,3TA2,4TA2,5TA2,6T1×7040

采用同样的方法,按照顺序,每次输出子矩阵A1的5个列和子矩阵A2的6个列,最终得到由A1和A2构成的前20个LDPC码编码端输入。具体如下:

d(2)=A1,6TA1,7TA1,8TA1,9TA1,10TA2,7TA2,8TA2,9TA2,10TA2,11TA2,12T1×7040d(3)=A1,11TA1,12TA1,13TA1,14TA1,15TA2,13TA2,14TA2,15TA2,16TA2,17TA2,18T1×7040...d(20)=A1,96TA1,97TA1,98TA1,99TA1,100TA2,115TA2,116TA2,117TA2,118TA2,119TA2,120T1×7040

采用同样的方法,按列输出子矩阵B1的第1至5列,按列输出子矩阵B2的第1至6列,得到一个LDPC码编码的输入码字,长度为7040,具体如下:

d(21)=B1,1TB1,2TB1,3TB1,4TB1,5TB2,1TB2,2TB2,3TB2,4TB2,5TB2,6T1×7040

采用同样的方法,按照顺序,每次输出子矩阵B1的5个列和子矩阵B2的6个列,最终得到由B1和B2构成的20个LDPC码编码端输入。具体如下:

d(22)=B1,6TB1,7TB1,8TB1,9TB1,10TB2,7TB2,8TB2,9TB2,10TB2,11TB2,12T1×7040d(23)=B1,11TB1,12TB1,13TB1,14TB1,15TB2,13TB2,14TB2,15TB2,16TB2,17TB2,18T1×7040...d(40)=B1,96TB1,97TB1,98TB1,99TB1,100TB2,115TB2,116TB2,117TB2,118TB2,119TB2,120T1×7040

按上述步骤,以1280个汉明码码字构成了40个长度为7040比特的消息向量或序列d(1),d(2),…,d(40),完成了交织过程,再插入112个“0”,就得到一个消息位长度为7156的LDPC码编码输入,输入(8176,7156)LDPC码编码器进行编码,最终完成并行级联交织编码。

在现有的编译码技术中,根据LDPC码与代数码级联的理想性能要求,希望的工作点选用信噪比(Eb/No)为3.8dB,并且希望在该工作点的误码率(BER)性能为10-12,但是,由于LDPC码错误平层的出现,使得LDPC码BER性能远低于工作点的要求。在本发明实施例一中,对(73,70)汉明码与(8176,7156)LDPC码进行交织,获得并行级联的编码。与(73,70)Hamming码与(8176,7156)LDPC码直接级联相比,采用本发明实施例一中的交织外码编码输出码字的方法进行并行级联的(73,70)汉明码与(8176,7156)LDPC码,能够获得更好的BER性能。

下面通过又一个具体实例,对本发明的交织外码编码输出码字的方法进行更详细的说明。在本实施例中,外码采用代数码的一种,即扩展RS码,内码采用LDPC码。本实施例的具体过程如下。

采用252个定义在有限域GF(26)的(64,58)扩展RS码与72个(9216,8064)LDPC码级联交织。其中,GF表示有限域(Ginite Field,简称GF)。该扩展RS码能够纠错的数量为3个。

首先,对扩展RS码进行预处理。将252个26元(64,58)扩展RS码转换为2元(384,348)扩展RS码,转换后满足252*6*384=72*8064。

然后,将252个扩展二元RS码,按行排列为矩阵T,该矩阵T为252×384的矩阵,其具体形式如下:

接下来,根据q1=192,q2=126,将矩阵T分为4块,即其中

然后,根据组合参数选择策略,选取m1=m2=m3=m4=32,按列输出子矩阵A1的前32列,并按列输出子矩阵A2的前32列,得到第一个LDPC码编码输入码字,其长度为8064比特,具体表示为:

d(1)=A1,1TA1,2T...A1,31TA1,32TA2,1TA2,2T...A2,30TA2,31TA2,32T1×8064

采用同样的方法,按照顺序,每次输出子矩阵A1的32个列和子矩阵A2的32个列,最终得到由A1和A2构成的前6个LDPC码编码端输入。具体如下:

d(2)=A1,33TA1,34T...A1,63TA1,64TA2,33TA2,34T......A2,63TA2,64T1×8064d(3)=A1,65TA1,66T...A1,95TA1,96TA2,65TA2,66T......A2,95TA2,96T1×8064...d(6)=A1,161TA1,162T...A1,191TA1,192TA2,161TA2,162T......A2,191TA2,192T1×8064

采用同样的方法,按列输出子矩阵B1的前32列,并按列输出子矩阵B2的前32列,得到一个LDPC码编码的输入码字,长度为8064比特,具体如下:

d(7)=B1,1TB1,2T...B1,31TB1,32TB2,1TB2,2T...B2,30TB2,31TB2,32T1×8064

采用同样的方法,按照顺序,每次输出子矩阵B1的32个列和子矩阵B2的32个列,最终得到由B1和B2构成的6个LDPC码编码端输入。具体如下:

d(8)=B1,33TB1,34T...B1,63TB1,64TB2,33TB2,34T......B2,63TB2,64T1×8064d(9)=B1,65TB1,66T...B1,95TB1,96TB2,65TB2,66T......B2,95TB2,96T1×8064...d(12)=B1,161TB1,162T...B1,191TB1,192TB2,161TB2,162T......B2,191TB2,192T1×8064

按上述步骤,以252个扩展RS码码字构成了12个长度为8064比特的LDPC编码输入码字d(1),d(2),…,d(12),完成了交织过程,然后再将上述码字输入(9216,8064)LDPC码编码器,每个码字输入到一个编码器中进行编码,最终完成并行级联交织编码。

在本发明上述具体实例中,采用汉明码和扩展RS码等代数码作为外码,以LDPC码作为内码,通过将排列代数码的矩阵划分为子矩阵,对子矩阵列向量进行转置组合后作为内码编码的输入码字,对代数码和LDPC码进行并行交织级联,从而将LDPC码译码的随机错误和/或较长突发错误均匀地分布在所有代数码的码字内,降低了代数码与LDPC码的级联码的差错平层。

以上通过具体实施例对本发明的交织外码编码输出码字的方法进行了说明,上述方法由本发明实施例提供的交织器实现。以下通过实施例二,对采用该交织外码编码输出码字的方法的交织器进行说明。图2为本发明实施例二的交织器的结构示意图。如图2所示,该交织器至少包括:矩阵单元21、划分单元22和组合单元23。还可以包括:预处理单元24和内码编码单元25。

其中,预处理单元24分别获知预设的外码编码输出码和内码编码输出码的码字属性,对外码编码输出码的码字属性进行预处理,判断S1·m·N′1=S2·K2是否成立,如果是,通知预处理单元24根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵。如果判断S1·m·N′1=S2·K2不成立,对内码编码输出码的码字属性进行预处理,以使以使S1·m·N′1=S2·K2成立,通知预处理单元24根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵。上述码字属性包括:码字个数、码元数、码长和信息位。

矩阵单元21根据外码编码输出码的码字阵列,获得行数为外码编码输出码的个数、列数为外码编码输出码的码长的第一矩阵。

划分单元22将第一矩阵划分成至少四个子矩阵。具体地,划分单元22包括:第一存储器221和第一控制器222。其中,第一存储器221存储第一矩阵,并在第一控制器222的控制下输出至少四个子矩阵。第一控制器222根据控制第一存储器221依次输出子矩阵

A2=A2,1A2,2...A2,N1-q1(S1-q2)×(N1-q1)=a(q2+1,q1+1)a(q2+1,q1+2)...a(q2+1,N1)a(q2+2,q1+1)a(q2+2,q1+2)...a(q2+2,N1).........a(S1,q1+1)a(S1,q1+1)...a(S1,N1)

B1=B1,1B1,2...B1,q1(S1-q2)×q1=a(q2+1,1)a(q2+1,2)...a(q2+1,q1)a(q2+2,1)a(q2+2,2)...a(q2+2,q1).........a(S1,1)a(S1,2)...a(S1,q1)

B2=B2,1B2,2...B2,N1-q1q2×(N1-q1)=a(1,q1+1)a(1,q1+2)...a(1,N1)a(2,q1+1)a(2,q1+2)...a(2,N1).........a(q2,q1+1)a(q2,q1+1)...a(q2,N1)

其中,q1为行交织深度系数,q2为列交织深度系数,q1和q2均为正整数且q1<N′1,q2<S1,N′1为外码编码输出码码长,S1为外码编码输出码个数,T为第一矩阵,a(i,j)为第一矩阵中的项,i为项的行标,i=1,2,…,S1,j为项的列标,j=1,2,…,N′1,A1为第一子矩阵,分别为A1的列向量,A2为第二子矩阵,分别为A2的列向量,B1为第三子矩阵,分别为B1的列向量,B2为第四子矩阵,分别为B2的列向量。

组合单元23将至少四个子矩阵中的至少两个子矩阵进行列向量转置组合,获得内码编码的输入码。具体地,组合单元23包括:第二存储器231和第二控制器232。其中,第二存储器231存储至少四个子矩阵,并在第二控制器232的控制下输出内码编码的输入码字。第二控制器232根据组合参数选择策略,获得第一组合参数m1、第二组合参数m2、第三组合参数m3和第四组合参数m4。组合参数选择策略包括:m1、m2、m3和m4均为正整数,且q1/m1、(N′1-q1)/m2、q1/m3和(N′1-q1)/m4均为整数,且q1/m1=(N′1-q1)/m2,q1/m3=(N′1-q1)/m4 m1·q2+m2·(S1-q2)=K2,m3·(S1-q2)+m4·q2=K2,其中,K2为内码信息位。第二控制器232还根据

d(1)=A1,1TA1,2T...A1,m1TA2,1TA2,2T...A2,m2T1×K2d(2)=A1,m1+1TA1,m1+2T...A1,m1+m1TA2,m2+1TA2,m2+2T...A2,m2+m2T1×K2...d(q1/m1)=A1,q1-m1+1TA1,q1-m1+2T...A1,q1Ta2,N1-q1-m2+1TA2,N1-q1-m2+2T...A2,N1-q1T1×K2d(q1/m1+1)=B1,1TB1,2T...B1,m3TB2,1TB2,2T...B2,m4T1×K2d(q1/m1+2)=B1,m3+1TB1,m3+2T...B1,m3+m3TB2,m4+1TB2,m4+2T...B2,m4+m4T1×K2...d(S2)=B1,q1-m3+1TB1,q1-m3+2T...B1,q1TB2,N1-q1-m4+1TB2,N1-q1-m4+2T...B2,N1-q1T1×K2

控制第二存储器231依次输出内码编码的输入码字d(1)、d(2)…d(q1/m1)、d(q1/m1+1)、d(q1/m1+2)…d(S2),其中,d(1)、d(2)…d(q1/m1)、d(q1/m1+1)、d(q1/m1+2)…d(S2)表示内码编码的输入码字,S2为内码个数。

内码编码单元25,用于对来自组合单元23的内码编码的输入码字进行内码编码。

在本发明实施例二中,交织器的矩阵单元将外码编码输出码排列为矩阵,划分单元将该矩阵划分为子矩阵,组合单元对子矩阵列向量进行转置组合后作为内码编码的输入码字,通过交织级联将内码译码的随机错误和/或较长突发错误均匀地分布在外码编码输出码的码字内,降低了级联码的差错平层。

以上对本发明的交织外码编码输出码字的方法以及相应的交织器进行了说明,如果采用本发明的交织外码编码输出码字的方法和交织器进行编码传输,则在接收方必须采用相应的解交织外码编码输出码字的方法和解交织器进行解码。以下通过两个实施例,分别对本发明的解交织外码编码输出码字的方法和解交织器进行说明。

图3为本发明实施例三的解交织外码编码输出码字的方法的流程图。如图3所示,该方法包括如下步骤。

步骤301:将内码译码的每一个输出码字拆分成至少两个子矩阵组,将拆分后的所述至少两个子矩阵组进行转置重组,获得至少四个子矩阵。

步骤302:对至少四个子矩阵进行组合,获得第一矩阵。

步骤303:根据第一矩阵中的每一行,获得一个外码编码输出码的码字,外码编码输出码的个数为第一矩阵的行数,外码编码输出码的码长为第一矩阵的列数。

以下通过一个实施例对本发明的交织外码编码输出码字的方法进行详细说明。在该实施例中,仍以内码为LDPC码,外码为代数码为例,介绍本发明实施例的交织外码编码输出码字的方法的具体过程。与前述的交织外码编码输出码字的方法相对应,在进行交织时,采用S1个2m元(N1,K1)代数码与S2个二元(N2,K2)LDPC码并行交织,则其对应的并行解交织的步骤如下。

步骤1:获得S2个长度为K2的二元(N2,K2)LDPC码译码器的输出比特序列d′(1),d′(2),…,d′(S2),对其进行解交织预处理。在预处理过程中,如果在交织过程中对LDPC码进行了补0,则在解交织过程中,需要按照交织时的补0规则去除LDPC码编码时添加的0。经过预处理之后,d′(1),d′(2),…,d′(S2)被还原为S2个长度为K2的交织序列d(1),d(2),…,d(S2)。

步骤2:将LDPC码译码器的每一个输出码字拆分成两个子矩阵组,根据拆分后的LDPC码译码的输出码字进行转置重组,获得四个子矩阵。

首先,获得行交织深度系数q1和列交织深度系数q2,其中,q1和q2均为正整数且q1<N′1,q2<S1,N′1为代数码码长,S1为代数码个数。

然后,根据拆分参数选择策略,获得第一拆分参数m1、第二拆分参数m2、第三拆分参数m3和第四拆分参数m4。拆分参数选择策略包括:m1、m2、m3和m4均为正整数,且q1/m1、(N′1-q1)/m2、q1/m3和(N′1-q1)/m4均为整数,且q1/m1=(N′1-q1)/m2,q1/m3=(N′1-q1)/m4 m1·q2+m2·(S1-q2)=K2,m3·(S1-q2)+m4·q2=K2,其中,K2为LDPC码译码的输出码字的信息位。

接下来,前q1/m1个LDPC码译码器的输出码字为d(1),d(2),…,d(q1/m1),根据将每个LDPC码译码器的输出码字,拆分为两个子矩阵组,其中,为第一子矩阵组,将表示为j=1,2,…,q1,则每个行数为q2,列数为1,为第二子矩阵组,将表示为j=1,2,…,N′1-q1,则每个为行数为S1-q2,列数为1。

采用同样的方法,后S2-q1/m1个LDPC码译码器的输出码字为d(q1/m1+1),d(q1/m1+2),…,d(S2),根据

将每个LDPC码译码器的输出码字,拆分为两个子矩阵组,其中,为第三子矩阵组,将表示为j=1,2,…,q1,则每个的行数为S1-q2,列数为1,为第四子矩阵组,将表示为j=1,2,…,N′1-q1,则每个的行数为q2,列数为1。

然后,将中的输入矩阵A1,将输入矩阵A2,得到按照同样的方法,依次将q1/m1个d(1),d(2),…,d(q1/m1)序列输入矩阵A1和A2,最后得到

A1=A1,1A1,2...A1,m1A1,m1+1A1,m1+2...A1,q1q2×q1

A2=A2,1A2,2...A2,m2A2,m2A2,m2...A2,N1-q1(S1-q2)×(N1-q1)

其中,A1为第一子矩阵,A2为第二子矩阵。

按照同样的方法,将中的输入矩阵B1,将输入矩阵B2,得到按照同样的方法,再依次将S2-q1/m1个d(q1/m1+1),d(q1/m1+2),…,d(S2)序列输入矩阵B1和B2,最后得到

B1=B1,1B1,2...B1,m3B1,m3+1B1,m3+2...B1,q1(S1-q2)×q1

B2=B2,1B2,2...B2,m4B2,m4+1B2,m4+2...B2,N1-q1q2×(N1-q1)

其中,B1为第三子矩阵,B2为第四子矩阵。

步骤3:对所述至少四个子矩阵进行组合,获得第一矩阵。

在本步骤中,将步骤2中得到的子矩阵A1,A2,B1,B2按照的结构组成矩阵T,该矩阵T即第一矩阵。

步骤4:分别根据第一矩阵中的每一行,获得一个代数码码字,所述代数码个数为第一矩阵的行数,所述代数码码长为第一矩阵的列数。

此步骤的具体过程是,根据步骤3获得的矩阵T,按行输出矩阵T的第一行,即获得第一个二元(N′1,K′1)代数码(a1,j)。按照同样的方法,依次输出矩阵T的每一行,分别根据每一行获得一个代数码,这样就得到了S1个二元(N′1,K′1)代数码完成了解交织过程。

在本发明实施例三中,提供一种与本发明实施例一的交织外码编码输出码字的方法相对应的解交织外码编码输出码字的方法,由于交织与解交织外码编码输出码字的方法中,对外码编码和内码编码进行并行交织级联,从而将内码译码的随机错误和/或较长突发错误均匀地分布在所有外码编码输出码的码字内,充分利用外码编码输出码的纠错性能,降低了级联码的差错平层。

以上通过具体实施例对本发明的解交织外码编码输出码字的方法进行了说明,上述方法由本发明实施例提供的解交织器实现。以下通过另一实施例,对采用该解交织外码编码输出码字的方法的解交织器进行说明。图4为本发明实施例四的解交织器的结构示意图。如图4所示,该解交织器至少包括:子矩阵单元41、组合单元42和外码获取单元43。还可以包括:外码译码单元44。

其中,子矩阵单元41将内码译码的每一个输出码字拆分成至少两个子矩阵组,将拆分后的所述至少两个子矩阵组进行转置重组,获得至少四个子矩阵。具体地,子矩阵单元41包括:第三存储器411和第三控制器412。其中,第三存储器411存储内码译码的每一个输出码字,并在第三控制器412的控制下输出至少四个子矩阵。第三控制器412获得行交织深度系数q1和列交织深度系数q2,其中,q1和q2均为正整数且q1<N′1,q2<S1,N′1为外码编码输出码的码长,S1为外码编码输出码的个数。第三控制器412还根据拆分参数选择策略,获得第一拆分参数m1、第二拆分参数m2、第三拆分参数m3和第四拆分参数m4;拆分参数选择策略包括:m1、m2、m3和m4均为正整数,且q4/m1、(N′1-q1)/m2、q1/m3和(N′1-q1)/m4均为整数,且q1/m1=(N′1-q1)/m2,q1/m3=(M′1-q1)/m4m1·q2+m2·(S1-q2)=K2,m3·(S1-q2)+m4·q2=K2,其中,K2为内码译码的输出码字的信息位。第三控制器412还根据

和将内码译码的输出码字d(1),…,d(q1/m1),d(q1/m1+1),d(S2)拆分为两个子矩阵组;

根据A1=A1,1A1,2...A1,m1A1,m1+1A1,m1+2...A1,q1q2×q1

A2=A2,1A2,2...A2,m2A2,m2A2,m2...A2,N1-q1(S1-q2)×(N1-q1)

B1=B1,1B1,2...B1,m3

控制所述第三存储器411输出至少四个子矩阵,其中,A1为第一子矩阵,A2为第二子矩阵,B1为第三子矩阵,B2为第四子矩阵,d表示内码译码的输出码字,为第一子矩阵列向量的转置,为第二子矩阵列向量的转置,为第三子矩阵列向量的转置,为第四子矩阵列向量的转置,S2为内码译码的输出码字的个数。

组合单元42对至少四个子矩阵进行组合,获得第一矩阵。具体地,组合单元42包括第四存储器421和第四控制器422。其中,第四存储器421存储至少四个子矩阵,并在第四控制器422的控制下输出第一矩阵。第四控制器422用于根据控制第四存储器421输出第一矩阵,其中,T为第一矩阵。

外码获取单元43分别根据第一矩阵中的每一行,获得一个外码编码输出码的码字,该外码编码输出码的个数为第一矩阵的行数,外码编码输出码的码长为第一矩阵的列数。

外码译码单元44对来自外码获取单元43的外码编码输出码的码字进行译码。

在本发明实施例四中,交织器的矩阵单元将外码编码输出码排列为矩阵,划分单元将该矩阵划分为子矩阵,组合单元对子矩阵列向量进行转置组合后作为内码编码的输入码字,通过交织级联将内码译码的随机错误和/或较长突发错误均匀地分布在外码编码输出码的码字内,降低了级联码的差错平层。

需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号