CN101567697B - 一种速率兼容的低密度奇偶校验码编码方法和编码器 - Google Patents
一种速率兼容的低密度奇偶校验码编码方法和编码器 Download PDFInfo
- Publication number
- CN101567697B CN101567697B CN 200910085516 CN200910085516A CN101567697B CN 101567697 B CN101567697 B CN 101567697B CN 200910085516 CN200910085516 CN 200910085516 CN 200910085516 A CN200910085516 A CN 200910085516A CN 101567697 B CN101567697 B CN 101567697B
- Authority
- CN
- China
- Prior art keywords
- matrix
- submatrix
- diagonal
- basic extension
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种速率兼容的低密度奇偶校验码的校验矩阵获取方法,包括:选择母码矩阵,并确定基础扩展矩阵的大小;将基础扩展矩阵划分为六个子矩阵,按照最小环最大化原则,分别确定各个子矩阵的取值,再将各个子矩阵合并构成基础扩展矩阵;最后,利用当前扩展因子z对得到的基础扩展矩阵进行修正,再利用大小为z×z的矩阵P对修正后的基础扩展矩阵进行扩展,得到校验矩阵;利用该校验矩阵对待编码数据进行LDPC编码。应用本发明,一方面,能够实现速率兼容,另一方面,由于采用最小化最大化原则确定各个基础扩展矩阵中各个子矩阵的取值,因此,相对于打孔方式实现速率兼容的LDPC码,能够提高译码性能。
Description
技术领域
本发明涉及低密度奇偶校验码(LDPC)的编码技术,特别涉及一种速率兼容的LDPC编码方法和编码器。
背景技术
低密度奇偶校验码(Low-Density Parity-Check Codes,LDPC)是一类线性分组码,其校验矩阵可以用二进制矩阵表示,如图1所示,每一列有j个1(即列重量为j),每一行有k个1(即行重量为k),而其他元素都是零,其中j≥3,k>j,j、k为较小的整数。LDPC的校验矩阵还可以用一种双向图来表示,现在一般称为Tanner图。Tanner图与二进制校验矩阵是直接对应的。如图2所示,Tanner图中下面是变量节点(s0,s1,...,s9),可认为是一个码字中的一个比特、或校验矩阵中的一列;上面是校验节点(c0,c1,...,c4),每个节点代表一个校验方程、或校验矩阵中的一行。当码字中某一比特包含在某一校验方程中时,图2中相应节点之间存在连线。对于每个节点,与之相连的边的数目称为这个节点的度(degree)。低密度校验矩阵的结构对于码的性能有决定性的作用。不同的构造方法都是为了实现以下几个目的:优化非规则码节点度数分布;增大图中的周期,减少编码复杂度。Tanner图中的节点如果构建成如图3所示形式,则图中的短环周期为4。
目前,准循环的LDPC码被越来越多地应用到实际通信领域中。该码的校验矩阵是一个大小为(mb×z)×(nb×z)的矩阵,用H来表示,其中,z表示扩展因子。该校验矩阵H由许多大小为z×z的循环特征矩阵和全零阵构成。具体该校验矩阵的形成方式为:定义P是一个大小为z×z的单位矩阵的移位矩阵,其形式如下:
上述P矩阵进行不同偏移量的循环移位得到多个大小为z×z的循环特征矩阵,校验矩阵H就由这些循环特征矩阵和全零阵构成。具体校验矩阵的形式如下式所示:
其中,表示对矩阵P进行hij b次循环移位后得到的矩阵,如果 则 定义
则校验矩阵可以表示为 ,其中,校验矩阵H的大小为M×N,且N=nb×z,M=mb×z。将Hb称为校验矩阵的基础矩阵,根据该基础矩阵和替换矩阵P就可以得到校验矩阵。
基础矩阵hb由两部分构成, 其中Hb1对应于***位比特,Hb2对应于校验位比特。
速率兼容(Rate-Compatible,RC)的LDPC码在实际的分组数据通信中有着极其重要的作用。速率兼容码的一个主要优点就是只需一对编、译码器即可完成各个速率的编码、译码工作。除了具有低复杂度的优点外,速率兼容码还为自动重发请求(Automatic Repeat Request,ARQ)/前向纠错(ForwardError Correction,FEC)协议提供了一个有效的框架。
目前的速率兼容码,均是通过打孔方式实现的不同速率的编译码操作,这种方式不能保证在一个很大的码率范围内的LDPC码的性能。这是因为在高码率的情况下,打孔打掉了大部分译码器需要的软信息,从而导致译码失败。
发明内容
有鉴于此,本发明提供一种速率兼容的LDPC编码方法和编码器,利用由该方法和编码器进行速率兼容的LDPC编码,能够极大提高的编码性能。
为实现上述目的,本发明采用如下的技术方案:
一种速率兼容的低密度奇偶校验码的校验矩阵获取方法,包括:
将基础扩展矩阵Hextension划分为六个子矩阵, 其中,Hb system为所述母码矩阵的信息子矩阵,Hb parity为所述母码矩阵的校验子矩阵,Hupper_right、Hlower_left、Hlower_mid、Hlower_right大小分别为mb×Δm、Δm×(nb-mb)、Δm×mb、Δm×Δm;
将子矩阵Hupper_right的所有元素设置为-1;
对于子矩阵Hlower_mid,将预设的对角线上的所有元素设置为0,其余元素设置为-1,所述预设的对角线为连接第行第0列元素和第nmb-1行第列元素的对角线,以及连接第(n-1)mb行第的元素和第行第mb-1列元素的对角线,其中,n=1,...,Δx,且n为正整数;
构造子矩阵Hlower_right的掩码矩阵HMASK lower_right为具备多条对角线的下三角矩阵,所述多条对角线中包括掩码矩阵HMASK lower_right的主对角线和Δx条副对角线,其中,所述Δx条副对角线为所述矩阵Hlower_mid中所述预设对角线的延长线,所述多条对角线上的所有元素设置为1,其余元素设置为0;
根据子矩阵Hb system、Hb parity、Hupper_right、Hlower_mid和子矩阵Hlower_right的掩码矩阵确定子矩阵Hlower_left的掩码矩阵HMASK lower_left的度分布,构造掩码矩阵HMASK lower_left;
将掩码矩阵HMASK lower_right中所有取值为0的元素在子矩阵Hlower_right中对应的元素设置为“-1”,将矩阵HMASK lower_right中主对角线上的元素在子矩阵Hlower_right中对应的元素设置为“0”,将掩码矩阵HMASK lower_left中所有取值为0的元素在子矩阵Hlower_left中对应的元素设置为“-1”;根据最小环长最大化准则,为矩阵HMASK lower_right中副对角线上的元素在矩阵Hlower_right中对应的元素以及矩阵HMASK lower_left中取值为“1”的元素在子矩阵Hlower_left中对应的元素设置对应的偏移量;
将确定的六个子矩阵进行合并得到所述基础扩展矩阵;
利用得到的校验矩阵对待编码数据进行LDPC编码。
较佳地,根据最小环长最大化及短环个数最小化准则,构造掩码矩阵HMASK lower_left,满足最小环长大于等于6。
较佳地,根据
和
配置整数系数C1,...,C9,D1,...,D9,使所述基础扩展矩阵的最小环长大于等于6,其中,C1,...,C9为非负整数,zmax为扩展因子的最大值,hi′j′ lower_right为子矩阵Hlower_right中第i′行第j′列的元素取值,且i′和j′为所述副对角线上元素的索引,hij lower_left为子矩阵Hlower_left中第i行第j列的元素取值,且i和j为子矩阵Hlower_left中与掩码矩阵HMASK lower_left中取值为“1”的元素对应的元素索引。
较佳地,所述修正处理为:其中,hij b为基础扩展矩阵Hextension中第i行第j列的元素取值,(hij b)modified为hij b修正后的元素取值。
较佳地,预先根据多个可选的目标码率选择目标矩阵并确定各个目标码率下的基础扩展矩阵;
在进行LDPC编码时,根据当前的目标码率选择相应的基础扩展矩阵,并执行所述修正处理和扩展操作,得到校验矩阵。
一种速率兼容的低密度奇偶校验码的编码器,包括:
基础扩展矩阵确定单元,用于选择母码矩阵,并确定基础扩展矩阵的大小(mb+Δm)×(nb+Δm),其中,Δm=Δx·mb, 表示向上取整,R0为母码矩阵对应的码率,mb和nb分别为母码矩阵的行数和列数,R为目标码率;将基础扩展矩阵Hextension划分为六个子矩阵, 其中,Hb system为所述母码矩阵的信息子矩阵,Hb parity为所述母码矩阵的校验子矩阵,Hupper_right、Hlower_left、Hlower_mid、Hlower_right大小分别为mb×Δm、Δm×(nb-mb)、Δm×mb、Δm×Δm;将子矩阵Hupper_right的所有元素设置为-1;对于子矩阵Hlower_mid,将预设的对角线上的所有元素设置为0,其余元素设置为-1,所述预设的对角线为连接第行第0列元素和第nmb-1行第列元素的对角线,以及连接第(n-1)mb行第的元素和第行第mb-1列元素的对角线,其中,n=1,...,Δx,且n为正整数;构造子矩阵Hlower_right的掩码矩阵HMASK lower_right为具备多条对角线的下三角矩阵,所述多条对角线中包括掩码矩阵HMASK lower_right的主对角线和Δx条副对角线,其中,所述Δx条副对角线为所述矩阵Hlower_mid中所述预设对角线的延长线,所述多条对角线上的所有元素设置为1,其余元素设置为0;根据子矩阵Hb system、Hb parity、Hupper_right、Hlower_mid和子矩阵Hlower_right的掩码矩阵确定子矩阵Hlower_left的掩码矩阵HMASK lower_left的度分布,构造掩码矩阵HMASK lower_left;将掩码矩阵HMASK lower_right中所有取值为0的元素在子矩阵Hlower_right中对应的元素设置为“-1”,将矩阵HMASK lower_right中主对角线上的元素在子矩阵Hlower_right中对应的元素设置为“0”,将掩码矩阵HMASK lower_left中所有取值为0的元素在子矩阵Hlower_left中对应的元素设置为“-1”;根据最小环长最大化准则,为矩阵HMASK lower_right中副对角线上的元素在矩阵Hlower_right中对应的元素以及矩阵HMASK lower_left中取值为“1”的元素在子矩阵Hlower_left中对应的元素设置对应的偏移量;将确定的六个子矩阵进行合并得到所述基础扩展矩阵;
修正处理单元,用于利用当前扩展因子z对所述基础扩展矩阵确定单元得到的基础扩展矩阵进行修正处理;
编码单元,用于利用所述扩展单元得到的校验矩阵对待编码数据进行LDPC编码。
较佳地,所述基础扩展矩阵确定单元包括确定子单元和存储子单元,
所述确定子单元,进一步用于根据多个可选的目标码率选择目标矩阵并确定各个目标码率下的基础扩展矩阵,并将各个可选的目标码率与相应的基础扩展矩阵对应保存在所述存储子单元中;
所述修正处理单元,进一步用于在所述存储子单元中提前与当前的目标码率对应的基础扩展矩阵。
由上述技术方案可见,本发明中,选择母码矩阵,并确定基础扩展矩阵的大小;将基础扩展矩阵划分为六个子矩阵, 按照最小环最大化原则,分别确定各个子矩阵的取值,再将各个子矩阵合并构成基础扩展矩阵;最后,利用当前扩展因子z对得到的基础扩展矩阵进行修正,再利用大小为z×z的矩阵P对修正后的基础扩展矩阵进行扩展,得到校验矩阵;利用该校验矩阵对待编码数据进行LDPC编码。经过上述方式得到的LDPC码,一方面,能够实现速率兼容,另一方面,由于采用最小化最大化原则确定各个基础扩展矩阵中各个子矩阵的取值,因此,相对于打孔方式实现速率兼容的LDPC码,能够提高译码性能。
附图说明
图1为利用二进制矩阵表示LDPC码校验矩阵的示意图。
图2为利用Tanner图表示LDPC码校验矩阵的示意图。
图3为本发明中LDPC的校验矩阵获取方法的流程图。
图4为本发明中基础扩展矩阵的结构示意图一。
图5为本发明中基础校验矩阵的结构示意图二。
图6为本发明与现有技术中构造的LDPC码的误帧率(BLER)和信噪比(Eb/No)之间的性能对比曲线关系。
图7为本发明中的LDPC码与现有Turbo码的误帧率(FER)和信噪比(Eb/No)之间的性能对比曲线关系。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
本发明的基本思想是:根据目标码率,按照最小环长最大化准则将母码矩阵扩展为满足不同目标码率要求的基础扩展矩阵,以实现速率兼容的LDPC编码,从而避免由于打孔处理而造成的译码性能降低。
本发明中提供了速率兼容的LDPC编码器,包括:基础扩展矩阵确定单元、修正处理单元、扩展单元和编码单元。
在上述LDPC编码器中,可以实施本发明的LDPC编码方法。图3为本发明中LDPC的编码方法的流程图。如图3所示,该方法包括:
步骤301,根据码率R和码长N的要求,选择母码矩阵,并确定基础扩展矩阵的大小。
本步骤可以通过下面步骤实现:
(11)根据码率R和码长N的要求,确定信息比特长度K和校验比特长度M;其中,信息比特长度K=RN,校验比特长度M=N-K,式中,信息比特长度K、码长N和校验比特M均为正整数;
假定本发明一具体实施例中,目标码率为1/3,码长N有三种要求,分别为3180、6060、15342,则对应的信息比特长度K=1060、2020、5114,对应的校验比特长度M=2120、4040、10228;以下就以此种情况为例对每个步骤进行具体说明。
(12)选择大小为mb×nb的母码矩阵Hb uniform,具体母码矩阵选择方式与现有实现方式相同。其中,母码矩阵由大小为mb×(nb-mb)的***位子矩阵Hb system和大小为mb×mb的校验位子矩阵Hb parity两部分组成,即 其中Hb parity是双对角线的准下三角矩阵;
在具体实施例中,选择的母码矩阵行数为mb=16,列数nb=32,母码码率为1/2,母码矩阵由大小为16×16的***位子矩阵Hb system和大小为16×16的校验位子矩阵Hb system组成,其中Hb parity是双对角线的准下三角矩阵;
其中,***位子矩阵
校验位子矩阵
(13)根据码率R,确定需要构造的基础扩展矩阵Hextension的行数和列数,该基础扩展矩阵Hextension行数为mb+Δm,列数为nb+Δm,Δm=mb·Δx;
其中,由R=((nb+mb·Δx)-(mb+mb·Δx))/(nb+mb·Δx),且R0=(nb-mb)/nb,可得出 表示向上取整,R0为母码矩阵对应的码率。这样,就可以根据码率为R0的母码矩阵大小扩展出码率为R的基础扩展矩阵的大小。当然,本步骤仅确定了基础扩展矩阵的大小,在后续步骤还需要进一步确定基础扩展矩阵的具体取值,然后通过对该基础扩展矩阵进行替换就可以得到码率为R的校验矩阵;
在具体实施例中,由于LDPC的目标码率为R=1/3,则基础扩展矩阵的码率也为R=1/3,又根据母码码率R0=1/2,可得Δx=1,Δm=mb=16,因而得出基础扩展矩阵Hextension的行数为32,列数为48。
步骤302,将基础扩展矩阵Hextension划分为六个子矩阵
由选择的母码矩阵扩展得到基础扩展矩阵,因此,将母码矩阵作为基础扩展矩阵中左上角的矩阵,并据此将基础扩展矩阵划分为多个子矩阵,再逐个确定除母码矩阵之外的其他子矩阵的取值,从而最终确定基础扩展矩阵。
具体地,将基础扩展矩阵Hextension划分为六个子矩阵,即 其中,Hb system为母码矩阵的信息子矩阵,Hb parity为母码矩阵的校验子矩阵,Hupper_right、Hlower_left、Hlower_mid、Hlower_right为扩展出的子矩阵,大小分别为mb×Δm、Δm×(nb-mb)、Δm×mb、Δm×Δm。
在具体实施例中,基础扩展矩阵Hextension如图4所示,矩阵包括5个部分,其中,左上角是大小为16×32的母码矩阵Hb uniform, 扩展部分Hupper_right、Hlower_left、Hlower_mid、Hlower_right矩阵大小分别均为16×16。
步骤303,将子矩阵Hupper_right中的所有元素设置为-1。
步骤304,对于子矩阵Hlower_mid,将预设的对角线上的所有元素设置为0,其余元素设置为-1。
本步骤确定子矩阵Hlower_mid中所有元素的取值。如图5所示,子矩阵Hlower_mid呈现双对角线的形式。在各个对角线上的所有元素设置为0,其余元素设置为-1。具体对角线为:连接第行第0列元素和第nmb-1行第列元素的对角线,和,连接第(n-1)mb行第的元素和第行第mb-1列元素的对角线。其中,n的取值为小于等于Δx的所有正整数,即n从1开始取,一直取到Δx,当n取任一值时,得到两条对角线,因此子矩阵Hlower_mid共有2Δx条对角线。这样,即可以确定子矩阵Hlower_mid的所有元素取值,最终确定的子矩阵Hlower_mid行重为1,列重为Δx。
在具体实施例中,构造基础扩展矩阵下半部分中间大小为16×16的矩阵Hlower_mid时,首先将矩阵中所有元素置为“-1”,再将对角线上的元素置为“0”,此处由于Δx=1,因此n仅取1,从而第一条对角线连接的是子矩阵Hlower_mid中第8行第0列的元素与第15行第7列的元素,第二条对角线连接的是子矩阵Hlower_mid中第0行第8列的元素与第7行第15列的元素;该子矩阵的行重为1,列重也为1;
步骤305,根据子矩阵Hlower_mid构造一个与基础扩展矩阵右下角的子矩阵Hlower_right相对应、且结构相同的掩码矩阵HMASK lower_right。
本步骤构造的掩码矩阵HMASK lower_right中的元素值为“0”或“1”,其中,“0”表示没有矩阵运算,“1”表示有矩阵运算。
具体地,子矩阵Hlower_right的掩码矩阵HMASK lower_right为具备多条对角线的下三角矩阵,其中,多条对角线中包括掩码矩阵HMASK lower_right的主对角线和Δx条副对角线,其中,Δx条副对角线为子矩阵Hlower_mid中所有对角线的延长线,如图5所示。并且,在掩码矩阵HMASK lower_right中,各个对角线上的所有元素设置为1,其余元素设置为0。
在具体实施例中,掩码矩阵是一个具有双对角线的下三角矩阵,且副对角线是由子矩阵Hlower_mid的第一条对角线延长得到的,具体该掩码矩阵
步骤306,根据子矩阵Hb system、Hb parity、Hupper_right、Hlower_mid和子矩阵Hlower_right的掩码矩阵确定子矩阵Hlower_left的掩码矩阵HMASK lower_left的度分布,构造掩码矩阵HMASK lower_left。
本步骤中,可以采用密度演化理论根据已经确定的几个子矩阵的结构,确定子矩阵Hlower_left的掩码矩阵HMASK lower_left的度分布,采用渐进加边方法构造掩码矩阵HMASK lower_left。该掩码矩阵HMASK lower_left与掩码矩阵HMASK lower_right类似,其中的元素值为“0”或“1”,“0”表示没有矩阵运算,“1”表示有矩阵运算。
优选地,在构造掩码矩阵HMASK lower_left的过程中,依照最小环长最大化及短环个数最小化的准则进行。
在具体实施例中,根据已经构造好的4个部分的结构,采用密度演化理论,得到左下角掩码矩阵HMASK lower_left的列重分布为0.6875x0+0.125x2+0.1875x16,也就是列重量分别为0、2、16的列数占总列数比例分别为0.6875、0.125、0.1875;再采用渐进加边算法加边使基础扩展矩阵Hextension的最小环长最大化,即最小环长≥6,以及短环个数最小化,得到的掩码矩阵为
步骤307,根据最小环长最大化准则,为矩阵HMASK lower_right中副对角线上的元素在矩阵Hlower_right中对应的元素以及矩阵HMASK lower_left中取值为“1”的元素在子矩阵Hlower_left中对应的元素设置对应的偏移量,并将矩阵Hlower_right和Hlower_left中的其余元素设置为“-1”。
本步骤中,根据掩码矩阵HMASK lower_right和HMASK lower_left,确定相应的子矩阵Hlower_right和HMASK lower_left的元素取值。具体地,根据
和
配置整数系数C1,...,C9,D1,...,D9,使基础扩展矩阵的最小环长大于等于6,其中,C1,...,C9为非负整数,zmax为扩展因子的最大值,hi′j′ lower_right为子矩阵Hlower_right中第i′行第j′列的元素取值,且i′和j′为子矩阵Hlower_right中副对角线上元素的索引,hij lower_left为子矩阵Hlower_left中第i行第j列的元素取值,且i和j为子矩阵Hlower_left中与掩码矩阵HMASK lower_left中取值为“1”的元素对应的元素索引。将矩阵Hlower_right和Hlower_left中的其余元素设置为“-1”。
在具体实施例中,首先配置左下角子矩阵Hlower_left的偏移量:在Hlower_left中,将对应于掩码矩阵HMASK lower_left中元素为“0”的位置均填充“-1”,其余部分采用下述计算公式得到的:
接下来配置右下角子矩阵Hlower_right的偏移量:在Hlower_right中,先将主对角线上的元素为填为“0”,再将副对角线上的元素采用下述公式计算:
式中,hi,j lower_right是扩展部分右下角矩阵子Hlower_left中第i行、第j列的元素,且i=8,9,...,15,j=i-8;该元素满足在副对角线上;zmax为扩展因子z可取得的最大值,zmax=384,mod为求余运算符号,最后将其余位置元素置为“-1”;
该
步骤308,将确定的六个子矩阵合并成基础扩展矩阵。
至此,即可以得到基础扩展矩阵。上述步骤301~308的操作可以由前述编码器中的基础扩展矩阵单元完成相应功能。
步骤309,根据当前扩展因子z对基础扩展矩阵Hextension进行修正处理,得到修正后的基础扩展矩阵Hmodified。
母码矩阵是根据最大的扩展因子zmax得到的,并且在上述确定各个子矩阵的过程中,也是基于母码矩阵和最大扩展因子进行的,因此步骤308中合并得到的基础扩展矩阵也是与最大扩展因子相应zmax的。而在实际应用中,进行编码的扩展因子z可能小于最大扩展因子zmax,因此,需要根据实际扩展因子z对基础扩展矩阵进行修正,以使该修正后的基础扩展矩阵Hmodified中所有元素的值都小于LDPC码的扩展因子z。
在具体实施例中,信息比特长度分别为1060、2020、5114,对应的扩展因子分别为67、127、320,从而得到3个修正后的矩阵H1060 modified、H2020 modified、H5114 modified;该
该
该
本步骤的操作可以由前述LDPC编码器中的修正处理单元完成相应功能。
步骤310,利用大小为z×z的替换矩阵P,对修正后的基础扩展矩阵进行扩展,得到实际编码时所需的(mb+Δm)×z行(nb+Δm)×z列的校验矩阵H。
具体进行扩展的方式与现有相同,这里就不再赘述。
在具体实施例中,信息比特长度分别为1060、2020、5114,对应的扩展因子分别为67、127、320,从而得到3个大小分别为2144×3216、4064×6096、10240×15360的校验矩阵H1060、H2020、H5114。
本步骤的操作可以由前述LDPC编码器中的扩展单元完成相应功能。
步骤311,利用步骤310确定的校验矩阵H对待编码数据进行LDPC编码。
接下来,就可以利用得到的校验矩阵进行LDPC编码。下面简单介绍一下编码过程,仍以上述具体实施例的参数为例:
码率R=1/3,把一个码字x划分为N-2M个信息比特s、M个校验比特c1和M个校验比特c2,x=[s,c1,c2],相应地,把2M×N的校验矩阵H划分为6块稀疏矩阵, 即H1,H2,H3,H4,H5和H6,大小分别为M×(N-2M)、M×M、M×M、M×(N-2M)、M×M、M×M,根据HxT=0T,可得:
于是可以得到 由于H3是全零矩阵,推出 再由 进一步推出 由于矩阵H2采用双对角线的准下三角结构,H6采用严格下三角结构,因此H2 -1和H6 -1具有非常简单的形式,可以直接按照上边计算公式得到校验比特部分c1和c2,并且可以保证编码器具有线性复杂度。
利用校验矩阵H进行编码的具体操作步骤采用现有方式,具体如下:
步骤1:将kx=kb×z-K个0比特加在K比特的信息块前,构成kb×z比特信息比特s;例如,当K=1060时,kx=kb×z-K=16×67-1060=12;
步骤2:对校验矩阵H中的子矩阵[H1|H2]进行初等行变换,将校验矩阵[H1|H2]中的所有行都加到第一行中,计算出校验码的第一块;
由于子矩阵H2是下三角矩阵,因此首先从第一行开始算起,如上进行计算。
步骤3:根据子矩阵[H1|H2]用递推方法计算出其他校验位,与步骤2计算出的校验码一起构成c1;
步骤4:根据子矩阵[H4|H5|H6]用递推的方法计算出校验位c2;
步骤5:在s中删除在步骤1中添加的0比特。如果码字x剩下的比特数不等于N,则码字x尾部的y=2mb×z-N+K(y为一个较小的数)个校验比特需要删除,例如,当K=1060时,y=2mb×z-N+K=2×16×67-3180+1060=24。
这样,即完成了利用依照本发明方法得到的校验矩阵进行LDPC编码的过程。上述利用校验矩阵进行LDPC编码的操作可以由前述LDPC编码器中的编码单元完成相应功能。
至此,本发明中速率兼容的LDPC编码方法流程结束。通过上述方式,可以根据合适的母码矩阵得到各种码率下的校验矩阵,从而实现速率兼容的LDPC编码。
在上述本发明的具体实现过程中,可以针对各种可选的目标码率,执行步骤301~308,然后将得到的基础扩展矩阵与相应的目标码率对应保存。在进行实际LDPC编码时,根据当前的码率要求选择目标码率,再提取出与该目标码率对应的基础扩展矩阵,执行步骤309~310进行修正处理和扩展,得到相应的校验矩阵,再利用步骤311进行LDPC编码。这样,前述步骤301~308的操作可以预先执行并保存,能够减少LDPC编码时的实时运算量,提高编码速度。
相应地,当采用上述针对各种可选目标码率预先确定相应基础扩展矩阵的方式,在编码器中的具体实现可以为:编码器中的基础扩展矩阵确定单元包括确定子单元和存储子单元,其中,确定子单元用于针对各种可选的目标码率,执行步骤301~308,然后将得到的基础扩展矩阵与相应的目标码率对应保存在存储子单元中。修正处理单元在获取基础扩展矩阵确定单元得到的基础扩展矩阵时,优选地,从基础扩展矩阵确定单元中的存储单元中提取与当前目标码率对应的基础扩展矩阵。
由上述本发明的具体实现过程可见,在构造速率兼容的LDPC码过程中,本发明中采用由母码矩阵进行扩展得到基础扩展矩阵,再由基础扩展矩阵进行扩展得到校验矩阵的方式。上述方式与现有的打孔方式相比,尽量保留了译码的有用信息,并且在确定基础扩展矩阵的过程中,根据最小环长最大化的准则进行,因此能够提高译码性能。
为了鉴定依照本发明方式形成的LDPC码的传输性能,采用AWGN信道模型对本发明构造出的LDPC码的传输性能进行了仿真试验,并与现有技术中通过打孔方式实现的LDPC码进行了性能比较。表1为用于试验和分析性能的实施例各个参数的设置情况。
参数名称 | 数值 |
信息位长(K) | 1024 |
码率 | 2/3 |
调制模式 | BPSK |
信道模型 | AWGN |
译码方式 | LDPC:Log-BP最大迭代次数=50 |
图6为本发明与现有技术中构造的LDPC码的误帧率(BLER)和信噪比(Eb/No)之间的性能对比曲线关系。在图6中,虚线是按照现有技术中打孔方式实现的LDPC码的传输性能曲线,实线按照本发明的方法实现的LDPC码的传输性能曲线。由图6可见,同现有的打孔技术相比,采用本发明构造的LDPC码的误帧率性能优于现有技术。
同时,还对依据本发明的方式构造的LDPC码和现有的Turbo码的传输性能进行了仿真和比较。表2为用于试验和分析性能的实施例各个参数的设置情况。
参数名称 | 数值 |
信息位长(K) | 1060、2020、5114 |
码率 | 1/3 |
调制模式 | BPSK |
信道模型 | AWGN |
译码方式 | Turbo:Log-MAP最大迭代次数=8LDPC:Log-BP最大迭代次数=50 |
图7为本发明中的LDPC码与现有Turbo码的误帧率(FER)和信噪比(Eb/No)之间的性能对比曲线关系。在图7中,虚线是Turbo码的传输性能曲线,实线是本发明中LDPC码的传输性能曲线。由图7可见,采用本发明构造的LDPC码的误帧率性能良好:在信息位长度为2020,误帧率为10-3时,LDPC码比Turbo码多0.08dB的增益;在信息位长度为5114时,误帧率为10-3时,LDPC码比Turbo码多0.1dB的增益;并且在误帧率为10-4时,LDPC码能够克服Turbo码存在的地板效应。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种速率兼容的低密度奇偶校验码的校验矩阵获取方法,其特征在于,该方法包括:
将基础扩展矩阵Hextension划分为六个子矩阵, 其中,为所述母码矩阵的信息子矩阵,为所述母码矩阵的校验子矩阵,Hupper_right、Hlower_left、Hlower_mid、Hlower_right大小分别为mb×Δm、Δm×(nb-mb)、Δm×mb、Δm×Δm;
将子矩阵Hupper_right的所有元素设置为“-1”;
对于子矩阵Hlower_mid,将预设的对角线上的所有元素设置为“0”,其余元素设置为“-1”,所述预设的对角线为连接第行第0列元素和第nmb-1行第列元素的对角线,以及连接第(n-1)mb行第列的元素和第行第mb-1列元素的对角线,其中,n=1,...,Δx,且n为正整数;
构造子矩阵Hlower_right的掩码矩阵为具备多条对角线的下三角矩阵,所述多条对角线中包括掩码矩阵的主对角线和Δx条副对角线,其中,所述Δx条副对角线为所述矩阵Hlower_mid中所述预设对角线的延长线,所述多条对角线上的所有元素设置为“1”,其余元素设置为“0”;
将掩码矩阵中所有取值为“0”的元素在子矩阵Hlower_right中对应的元素设置为“-1”,将矩阵中主对角线上的元素在子矩阵Hlower_right中对应的元素设置为“0”,将掩码矩阵中所有取值为“0”的元素在子矩阵Hlower_left中对应的元素设置为“-1”;根据最小环长最大化准则,为矩阵中副对角线上的元素在矩阵Hlower_right中对应的元素以及矩阵中取值为“1”的元素在子矩阵Hlower_left中对应的元素设置对应的偏移量;
将确定的六个子矩阵进行合并得到所述基础扩展矩阵;
利用得到的校验矩阵对待编码数据进行LDPC编码。
5.根据权利要求1到4中任一所述的方法,其特征在于,预先根据多个可选的目标码率选择目标矩阵并确定各个目标码率下的基础扩展矩阵;
在进行LDPC编码时,根据当前的目标码率选择相应的基础扩展矩阵,并执行所述修正处理和扩展操作,得到校验矩阵。
6.一种速率兼容的低密度奇偶校验码的编码器,其特征在于,该编码器包括:
基础扩展矩阵确定单元,用于选择母码矩阵,并确定基础扩展矩阵的大小(mb+Δm)×(nb+Δm),其中,Δm=Δx·mb, 表示向上取整,R0为母码矩阵对应的码率,mb和nb分别为母码矩阵的行数和列数,R为目标码率;将基础扩展矩阵Hextension划分为六个子矩阵, 其中,为所述母码矩阵的信息子矩阵,为所述母码矩阵的校验子矩阵,Hupper_right、Hlower_left、Hlower_mid、Hlower_right大小分别为mb×Δm、Δm×(nb-mb)、Δm×mb、Δm×Δm;将子矩阵Hupper_right的所有元素设置为“-1”;对于子矩阵Hlower_mid,将预设的对角线上的所有元素设置为“0”,其余元素设置为“-1”,所述预设的对角线为连接第行第0列元素和第nmb-1行第列元素的对角线,以及连接第(n-1)mb行第列的元素和第行第mb-1列元素的对角线,其中,n=1,...,Δx,且n为正整数;构造子矩阵Hlower_right的掩码矩阵为具备多条对角线的下三角矩阵,所述多条对角线中包括掩码矩阵的主对角线和Δx条副对角线,其中,所述Δx条副对角线为所述矩阵Hlower_mid中所述预设对角线的延长线,所述多条对角线上的所有元素设置为“1”,其余元素设置为“0”;根据子矩阵Hupper_right、Hlower_mid和子矩阵Hlower_right的掩码矩阵确定子矩阵Hlower_left的掩码矩阵的度分布,构造掩码矩阵将掩码矩阵中所有取值为“0”的元素在子矩阵Hlower_right中对应的元素设置为“-1”,将矩阵中主对角线上的元素在子矩阵Hlower_right中对应的元素设置为“0”,将掩码矩阵中所有取值为“0”的元素在子矩阵Hlower_left中对应的元素设置为“-1”;根据最小环长最大化准则,为矩阵中副对角线上的元素在矩阵Hlower_right中对应的元素以及矩阵中取值为“1”的元素在子矩阵Hlower_left中对应的元素设置对应的偏移量;将确定的六个子矩阵进行合并得到所述基础扩展矩阵;
修正处理单元,用于利用当前扩展因子z对所述基础扩展矩阵确定单元得到的基础扩展矩阵进行修正处理;
编码单元,用于利用所述扩展单元得到的校验矩阵对待编码数据进行LDPC编码。
7.根据权利要求6所述的编码器,其特征在于,所述基础扩展矩阵确定单元包括确定子单元和存储子单元,
所述确定子单元,进一步用于根据多个可选的目标码率选择目标矩阵并确定各个目标码率下的基础扩展矩阵,并将各个可选的目标码率与相应的基础扩展矩阵对应保存在所述存储子单元中;
所述修正处理单元,进一步用于在所述存储子单元中提取与当前的目标码率对应的基础扩展矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910085516 CN101567697B (zh) | 2009-05-25 | 2009-05-25 | 一种速率兼容的低密度奇偶校验码编码方法和编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910085516 CN101567697B (zh) | 2009-05-25 | 2009-05-25 | 一种速率兼容的低密度奇偶校验码编码方法和编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101567697A CN101567697A (zh) | 2009-10-28 |
CN101567697B true CN101567697B (zh) | 2012-12-12 |
Family
ID=41283686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910085516 Expired - Fee Related CN101567697B (zh) | 2009-05-25 | 2009-05-25 | 一种速率兼容的低密度奇偶校验码编码方法和编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101567697B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102412842B (zh) * | 2010-09-25 | 2016-06-15 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码方法及装置 |
KR101922555B1 (ko) * | 2011-08-30 | 2018-11-28 | 삼성전자주식회사 | 방송/통신시스템에서 정보 송수신 방법 및 장치 |
WO2013032156A1 (en) | 2011-08-30 | 2013-03-07 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving information in a broadcasting/communication system |
KR101907943B1 (ko) | 2012-01-31 | 2018-12-19 | 삼성전자주식회사 | 통신 시스템에서 데이터 송/수신 장치 및 방법 |
CN103310251B (zh) * | 2012-09-10 | 2015-02-18 | 成都菲普迪斯科技有限公司 | Ccqr码的编码方法及译码方法 |
CN107404322B (zh) * | 2014-09-17 | 2020-10-16 | 上海数字电视国家工程研究中心有限公司 | 针对低码率ldpc码的校验矩阵及ldpc码字 |
CN105811996B (zh) | 2014-12-30 | 2019-12-06 | 华为技术有限公司 | 一种基于准循环ldpc的数据处理方法及*** |
WO2018126914A1 (zh) * | 2017-01-09 | 2018-07-12 | 中兴通讯股份有限公司 | 准循环低密度奇偶校验码的编码方法及装置、存储介质 |
CN108809509B (zh) * | 2017-05-05 | 2021-01-22 | 电信科学技术研究院 | 低密度奇偶校验码的基础图选择方法及装置 |
CN109995379B (zh) * | 2017-12-29 | 2021-07-16 | 华为技术有限公司 | 处理信息的方法和装置 |
CN111464191A (zh) * | 2020-05-25 | 2020-07-28 | 重庆邮电大学 | 一种基于矩阵扩展和斐波那契数列的rc-ldpc码构造方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070038916A1 (en) * | 2005-06-08 | 2007-02-15 | Conexant Systems, Inc. | Method of coding data |
CN1953335A (zh) * | 2005-10-21 | 2007-04-25 | 中兴通讯股份有限公司 | 支持任何码率/码长的低密度奇偶校验码编码装置和方法 |
-
2009
- 2009-05-25 CN CN 200910085516 patent/CN101567697B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070038916A1 (en) * | 2005-06-08 | 2007-02-15 | Conexant Systems, Inc. | Method of coding data |
CN1953335A (zh) * | 2005-10-21 | 2007-04-25 | 中兴通讯股份有限公司 | 支持任何码率/码长的低密度奇偶校验码编码装置和方法 |
Non-Patent Citations (1)
Title |
---|
倪俊枫,甘小莺,张海滨,徐友云.改进的分层修正最小和LDPC译码算法及译码器设计.《***工程与电子技术》.2008, * |
Also Published As
Publication number | Publication date |
---|---|
CN101567697A (zh) | 2009-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101567697B (zh) | 一种速率兼容的低密度奇偶校验码编码方法和编码器 | |
CN103152056B (zh) | 一种基于原模图的准循环ldpc码构造方法及装置 | |
CN101141133B (zh) | 一种结构化低密度校验码的编码方法 | |
CN101162907B (zh) | 一种利用低密度奇偶校验码实现编码的方法及装置 | |
EP3457575B1 (en) | Encoding method and device and decoding method and device for structured ldpc | |
CN104868925A (zh) | 结构化ldpc码的编码方法、译码方法、编码装置和译码装置 | |
CN101796488A (zh) | 奇偶校验矩阵的产生 | |
CN101431337A (zh) | 提高编码并行度实现降低编码时延的方法 | |
CN103731160B (zh) | 分组空间耦合低密度奇偶校验编码方法 | |
CN104917536A (zh) | 一种支持低码率编码的方法及装置 | |
CN103053116B (zh) | 低密度奇偶校验码的编码方法和装置 | |
CN101453297A (zh) | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 | |
CN101159435B (zh) | 基于移位矩阵分级扩展的低密度校验码校验矩阵构造方法 | |
CN101207386B (zh) | 一种二进制低密度奇偶校验码的构造方法 | |
CN101373976A (zh) | 生成ldpc校验矩阵的方法和设备 | |
CN101488760B (zh) | 一种低码率ldpc码的编码方法 | |
CN104967455A (zh) | 空间耦合低密度奇偶校验码的递归编码方法 | |
CN102420616B (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN101465655B (zh) | 极短码长低密度奇偶校验码的编码方法 | |
CN101577554B (zh) | 多码长多码率的低密度奇偶校验码的编码方法 | |
CN103199877A (zh) | 一种结构化ldpc卷积码构造编码方法 | |
CN106685432A (zh) | 一种基于完备循环差集的大围长Type‑II QC‑LDPC码构造方法 | |
CN102611465B (zh) | 结构化多元非规则重复累积码的编码器与编码方法 | |
CN105871385A (zh) | 一种ldpc卷积码构造方法 | |
CN103338044B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |