一种生成校验矩阵的方法及装置与流程

文档序号:11326672阅读:881来源:国知局
一种生成校验矩阵的方法及装置与流程

本发明涉及信息编码技术领域,尤其涉及一种生成校验矩阵的方法及装置。



背景技术:

低密度奇偶校验码(lowdensityparitycheckcode,ldpc)具有很好的汉明距离特性、很强的纠错能力及较低的错误平层,它几乎适用于所有的信道,因此成为编码界近年来的研究热点。ldpc码分为两大类,随机ldpc码,和准循环(quasicyclic,qc)ldpc码,qcldpc码的校验矩阵由一组循环矩阵构成。qc-ldpc码硬件实现简单,占用的存储空间少且容易扩展,因此被广泛应用在现代通信的各个领域。

ldpc码的环是指在ldpc码的校验矩阵对应的二分图中,从一个节点出发,交替地经过校验节点和比特节点,经过若干步后回到出发节点形成的回路。从ldpc码的校验矩阵上看,如果校验矩阵中,任意矩形元素阵列的四个顶点上的元素都是1,则由该校验矩阵生成的ldpc码存在4环。如果ldpc码的校验矩阵中有4环的存在,会影响ldpc码的译码结果,因此,ldpc码的校验矩阵中,应当避免4环的存在。常用的消除ldpc码校验矩阵中的4环的方法是,在生成ldpc码校验矩阵后,再通过迭代运算消除校验矩阵中的4环。很明显,上述先生成校验矩阵,再进行修正的处理方法,步骤繁琐,效率较低。



技术实现要素:

基于上述现有技术的缺陷和不足,本发明提出一种生成校验矩阵的方法及装置,能够直接生成无4环的校验矩阵,处理过程更高效。

一种生成校验矩阵的方法,包括:

生成索引矩阵及设定维数的单位矩阵;其中,由所述索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;

根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵;

用所述各个元素对应的替换矩阵,分别替换所述索引矩阵中的各个元素,得到校验矩阵。

优选地,所述生成索引矩阵,包括:

生成设定行数以及设定列数的矩阵,其中,所述设定行数以及设定列数的矩阵中的每一行元素均构成等差数列,并且,不同行元素构成的等差数列的公差不相等。

优选地,所述索引矩阵中的左侧元素为:用于构成阶数与所述索引矩阵的行数相同的,近似上三角形式的子矩阵的元素。

优选地,所述得到校验矩阵之后,该方法还包括:

计算所述校验矩阵左侧的、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值;

如果所述行列式的值为零,则重复改变所述索引矩阵中各元素的值,并生成校验矩阵,直到生成的校验矩阵左侧、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值不为零。

优选地,所述根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵,包括:

根据所述索引矩阵中的元素的值,对所述设定维数的单位矩阵进行与所述元素的值相同次数的循环移位处理;

将循环移位处理后的设定维数的单位矩阵,设定为所述索引矩阵中的元素对应的替换矩阵。

一种生成校验矩阵的装置,包括:

矩阵生成单元,用于生成索引矩阵及设定维数的单位矩阵;其中,由所述索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;

移位处理单元,用于根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵;

替换处理单元,用于用所述各个元素对应的替换矩阵,分别替换所述索引矩阵中的各个元素,得到校验矩阵。

优选地,所述矩阵生成单元生成索引矩阵时,具体用于:

生成设定行数以及设定列数的矩阵,其中,所述设定行数以及设定列数的矩阵中的每一行元素均构成等差数列,并且,不同行元素构成的等差数列的公差不相等。

优选地,所述矩阵生成单元生成的索引矩阵中的左侧元素为:用于构成阶数与所述索引矩阵的行数相同的,近似上三角形式的子矩阵的元素。

优选地,该装置还包括:

计算单元,用于计算所述校验矩阵左侧的、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值;

处理单元,用于当所述行列式的值为零时,重复改变所述索引矩阵中各元素的值,并生成校验矩阵,直到生成的校验矩阵左侧、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值不为零。

优选地,所述移位处理单元根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵时,具体用于:

根据所述索引矩阵中的元素的值,对所述设定维数的单位矩阵进行与所述元素的值相同次数的循环移位处理;将循环移位处理后的设定维数的单位矩阵,设定为所述索引矩阵中的元素对应的替换矩阵。

本发明提出的生成校验矩阵的方法,在生成ldpc码校验矩阵时,首先生成索引矩阵;其中,由所述索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;然后,通过该索引矩阵,进一步处理得到校验矩阵。上述技术方案通过设置索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列的每一行上的两个元素以及每一列上的两个元素的差值不完全相等,保证通过该索引矩阵得到的校验矩阵中任意两行或任意两列的相同位置元素不同时为1,从而保证生成的校验矩阵无4环。可见,上述生成校验矩阵的过程,可以直接生成无4环的校验矩阵,其处理过程更高效。

附图说明

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

图1是本发明实施例提供的一种生成校验矩阵的方法的流程示意图;

图2是本发明实施例提供的索引矩阵中的矩形元素阵列示意图;

图3是本发明实施例提供的另一种生成校验矩阵的方法的流程示意图;

图4是本发明实施例提供的一种生成校验矩阵的装置的结构示意图;

图5是本发明实施例提供的另一种生成校验矩阵的装置的结构示意图。

具体实施方式

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

本发明实施例公开了一种生成校验矩阵的方法,参见图1所示,该方法包括:

s101、生成索引矩阵及设定维数的单位矩阵;其中,由所述索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;

具体的,索引矩阵的形式,类似于如下所示的索引矩阵形式:

ldpc码长不同,对应的校验矩阵的大小不同,也就是说,不同码长的ldpc码对应的,用于生成校验矩阵的索引矩阵大小不同。本发明实施例设定校验节点度数k=5,变量节点度数j=3,假设需要生成的ldpc码的码长为n,单位矩阵维数为q,且q=n/k,编码效率则按照上述条件对上述索引矩阵p1的元素进行取值,可得到满足上述条件的索引矩阵:

其中,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o∈(0~q-1);并且,上述索引矩阵p1中任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等。例如,假设索引矩阵p1中任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列如图2所示,其中a、b、c、d分别代表上述矩形元素阵列的四个顶点元素,则如上述介绍的本发明实施例所生成的索引矩阵p1的特征,a与b的差值、c与d的差值、a与c的差值、b与d的差值,这四个差值不完全相等。对应到索引矩阵p1,元素d、e、i、j构成类似于图2所示的矩形元素阵列形式,则按照上述本发明实施例设定,d与e的差值、i与j的差值、d与i的差值、e与j的差值,不完全相等。

需要说明的是,上述单位矩阵的维数q=n/k,当q不为整数时,其值向下取整。假设q=3,则3维的单位矩阵e如下所示:

s102、根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵;

具体的,上述对单位矩阵进行循环移位处理,是指对单位矩阵的元素,分别进行循环右移,具体的移动次数根据对应的索引矩阵元素的值而定。

例如,假设对上述3维的单位矩阵分别进行0次、1次、2次循环移位处理,则处理后的3维单位矩阵分别为:

循环移位处理后的单位矩阵,作为索引矩阵元素的替换矩阵。

s103、用所述各个元素对应的替换矩阵,分别替换所述索引矩阵中的各个元素,得到校验矩阵。

具体的,用循环移位后的单位矩阵替换对应的索引矩阵元素,得到的校验矩阵的维数是3q×5q维的。例如,假设对上述索引矩阵p1进行元素替换后,可以得到如下的校验矩阵:

由于生成校验矩阵的索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等,即索引矩阵无4环。则根据上述技术方案生成的校验矩阵h1的各个元素中,任意两行,或任意两列之间的位置相同的1的个数不大于1,也就是说h1中的任意两行、任意两列元素不能构成4环,即本发明实施例生成的校验矩阵h1无4环。

本发明实施例提出的生成校验矩阵的方法,在生成ldpc码校验矩阵时,首先生成索引矩阵;其中,由所述索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;然后,通过该索引矩阵,进一步处理得到校验矩阵。上述技术方案通过设置索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列的每一行上的两个元素以及每一列上的两个元素的差值不完全相等,保证通过该索引矩阵得到的校验矩阵中任意两行或任意两列的相同位置元素不同时为1,从而保证生成的校验矩阵无4环。可见,上述生成校验矩阵的过程,可以直接生成无4环的校验矩阵,其处理过程更高效。

可选的,在本发明的另一个实施例中,所述生成索引矩阵,包括:

生成设定行数以及设定列数的矩阵,其中,所述设定行数以及设定列数的矩阵中的每一行元素均构成等差数列,并且,不同行元素构成的等差数列的公差不相等。

具体的,要保证索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等,方法有多种,任意一种能够达到上述效果的方法都可以被本发明实施例所采用。

其中一种有效的方法是,设定索引矩阵的每一行的元素,均构成等差数列,并且不同行元素构成的等差数列的公差不相等。假设上述索引矩阵p1的第一行元素构成的等差数列的公差为v1,第二行元素构成的等差数列的公差为v2,第三行元素构成的等差数列的公差为v3,并且v1≠v2≠v3,则上述索引矩阵p1的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值均不同,从而可以保证上述索引矩阵p1的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等。

显而易见的,参考上述方法,通过设置索引矩阵的每一列元素构成等差数列,并且不同列元素构成的等差数列的公差不相等,同样可以保证索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等。

可选的,在本发明的另一个实施例中,所述索引矩阵中的左侧元素为:用于构成阶数与所述索引矩阵的行数相同的,近似上三角形式的子矩阵的元素。

具体的,在本发明实施例中,索引矩阵的左侧元素,构成阶数与索引矩阵的行数相同的,近似上三角形式的子矩阵。上述左侧元素,是指从索引矩阵的最左边一列元素开始的,用于组成上述子矩阵的元素。

仍以上述实施例提出的索引矩阵p1为例说明,假设设置索引矩阵p1的左侧元素构成阶数与索引矩阵的行数相同的上三角形式的子矩阵,则索引矩阵的具体形式为:

其中,a,b,c,d,e,f,g,h,m,l∈(0~q-1);并且满足任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等。

相应的,参照上述实施例技术方案,将上述索引矩阵p中的每一个非零元素用q阶的单位矩阵e替换,且替换的每个单位矩阵根据索引矩阵中元素的值的不同进行循环移位;对于索引矩阵p中的0元素,直接用未移位的q阶单位矩阵e替换;而索引矩阵p中的空元素,则直接用q阶零矩阵替换。经过上述处理后,由索引矩阵p得到校验矩阵h为:

其中,e0表示没有经过循环移位的单位矩阵,z表示零矩阵;

通过这样的设计,得到的校验矩阵h中任意两行,或任意两列之间位置相同的1的个数不大于1,即校验矩阵h不存在四环。并且,校验矩阵h中,有q行元素的1的个数为5;有2q行元素的1的个数为4;有2q列元素的1的个数为2;有3q列元素的1的个数为3。此时,根据该校验矩阵h构造的ldpc码为不规则的ldpc码。

可选的,在本发明的另一个实施例中,所述得到校验矩阵之后,参见图3所示,该方法还包括:

s304、计算所述校验矩阵左侧的、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值;

如果所述行列式的值为零,则重复执行步骤s305、改变所述索引矩阵中各元素的值,并生成校验矩阵,直到生成的校验矩阵左侧、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值不为零。

具体的,如上一实施例生成的校验矩阵h,将校验矩阵h改写成h=[ab]的形式,其中a为校验矩阵h最左侧部分元素构成的子矩阵,a为如下形式:

如果矩阵a为非奇异矩阵,那么可以由校验矩阵h,根据公式g=[a-1·bi]生成用于生成ldpc码的生成矩阵g。根据生成矩阵g,可以根据公式cn=u·g快捷地生成ldpc码,其中,u为信息码。

为了保证生成的校验矩阵可以通过上述技术方案,快捷地生成ldpc码,本发明实施例在生成校验矩阵后,计算a的行列式的值|a|,当|a|=0时,表示a为奇异矩阵,则返回重新选取a,b,c,d,e,f,g,h,m,l的值,并按照上述实施例技术方案,重新生成校验矩阵,直到校验矩阵中所包含的子矩阵a为非奇异矩阵,即|a|≠0。此时生成的校验矩阵,可以直接生成生成矩阵。

本实施例中的步骤s301~s303分别对应图1所示的方法实施例中的步骤s101~s103,其具体内容请参见对应图1所示的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵,包括:

根据所述索引矩阵中的元素的值,对所述设定维数的单位矩阵进行与所述元素的值相同次数的循环移位处理;

将循环移位处理后的设定维数的单位矩阵,设定为所述索引矩阵中的元素对应的替换矩阵。

具体的,对于索引矩阵中的每个元素,按照上述方案,分别处理得到与该元素对应的替换矩阵。需要指出的是,对设定维数的单位矩阵进行循环移位处理的次数,与对应的索引矩阵元素的值相等。例如,假设索引矩阵中某一元素的值为k,则将设定维数的单位矩阵向右循环移位k次后得到的矩阵,作为该元素的替换矩阵。

本发明实施例还公开了一种生成校验矩阵的装置,参见图4所示,该装置包括:

矩阵生成单元401,用于生成索引矩阵及设定维数的单位矩阵;其中,由所述索引矩阵的任意两行元素以及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;

移位处理单元402,用于根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵;

替换处理单元403,用于用所述各个元素对应的替换矩阵,分别替换所述索引矩阵中的各个元素,得到校验矩阵。

具体的,本实施例中的各个单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

本发明实施例提出的生成校验矩阵的装置,在生成ldpc码校验矩阵时,首先矩阵生成单元401生成索引矩阵;其中,由所述索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列中,每一行的两个端点元素的差值,以及每一列的两个端点元素的差值,不完全相等;然后,移位处理单元402和替换处理单元403通过该索引矩阵,进一步处理得到校验矩阵。上述技术方案通过设置索引矩阵的任意两行元素及任意两列元素的重叠元素构成的矩形元素阵列的每一行上的两个元素以及每一列上的两个元素的差值不完全相等,保证通过该索引矩阵得到的校验矩阵中任意两行或任意两列的相同位置元素不同时为1,从而保证生成的校验矩阵无4环。可见,上述生成校验矩阵的过程,可以直接生成无4环的校验矩阵,其处理过程更高效。

可选的,在本发明的另一个实施例中,矩阵生成单元401生成索引矩阵时,具体用于:

生成设定行数以及设定列数的矩阵,其中,所述设定行数以及设定列数的矩阵中的每一行元素均构成等差数列,并且,不同行元素构成的等差数列的公差不相等。

具体的,本实施例中的矩阵生成单元401的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,矩阵生成单元401生成的索引矩阵中的左侧元素为:用于构成阶数与所述索引矩阵的行数相同的,近似上三角形式的子矩阵的元素。

具体的,本实施例中的矩阵生成单元401的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,参见图5所示,该装置还包括:

计算单元404,用于计算所述校验矩阵左侧的、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值;

处理单元405,用于当所述行列式的值为零时,重复改变所述索引矩阵中各元素的值,并生成校验矩阵,直到生成的校验矩阵左侧、且阶数为所述设定行数乘以所述设定维数的矩阵的行列式的值不为零。

具体的,本实施例中的各个单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,移位处理单元402根据所述索引矩阵中的各个元素的值,分别对所述设定维数的单位矩阵进行循环移位处理,得到所述各个元素对应的替换矩阵时,具体用于:

根据所述索引矩阵中的元素的值,对所述设定维数的单位矩阵进行与所述元素的值相同次数的循环移位处理;将循环移位处理后的设定维数的单位矩阵,设定为所述索引矩阵中的元素对应的替换矩阵。

具体的,本实施例中的移位处理单元402的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1