CN104333390B - 一种ldpc码的校验矩阵的构造方法与编码方法 - Google Patents
一种ldpc码的校验矩阵的构造方法与编码方法 Download PDFInfo
- Publication number
- CN104333390B CN104333390B CN201410691486.8A CN201410691486A CN104333390B CN 104333390 B CN104333390 B CN 104333390B CN 201410691486 A CN201410691486 A CN 201410691486A CN 104333390 B CN104333390 B CN 104333390B
- Authority
- CN
- China
- Prior art keywords
- matrix
- ldpc
- basic matrix
- check
- rings
- 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.)
- Active
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明属于LDPC码(低密度奇偶校验码)校验矩阵构造技术领域,特别涉及一种LDPC码的校验矩阵的构造方法与编码方法。该LDPC码的校验矩阵的构造方法包括以下步骤:步构造LDPC码校验矩阵基矩阵HB,针对基矩阵HB,检测并消除4环,得出消除4环后的基矩阵;在消除4环后的基矩阵中,将每个0元素用z×z的全零矩阵替换,z表示设定的扩展因子;用F表示消除4环后的基矩阵的非零元素个数,用HB(f)表示消除4环后的基矩阵的第f个非零元素,得出大小为z×z的单位矩阵循环右移HB(f)位后的矩阵Iz(HB(f)),在所述消除4环后的基矩阵中,将第f个非零元素HB(f)替换为矩阵Iz(HB(f));得出LDPC码校验矩阵,所述LDPC码校验矩阵为:消除4环后的基矩阵的每个元素完成替换后得到的新矩阵。
Description
技术领域
本发明属于LDPC码(低密度奇偶校验码)校验矩阵构造技术领域,特别涉及一种LDPC码的校验矩阵的构造方法与编码方法。本发明旨在构造结构简单、易于存储的准循环LDPC码校验矩阵
背景技术
随着社会的发展,数字通信已经成为人们生活中必不可少的一部分,并且有着广泛的应用场景。最为人们所熟知的通信有无线通信、卫星通信、数字电视、数字广播、无线网络、视频点播等等。另外还有一种抽象的“通信”方式,即数据存储系统,其典型应用有磁碟、磁带、CD/DVD等。对于数据存储系统来说,通信是将有用的信息从一个时间点“传送”到另外一个时间点。由于信息在空间传输或时间传送的过程中受到噪声的干扰,使得信息不能正确无误的传输,在接收端总是存在错误比特。为了纠正这些错误,可以在发送端使用前向纠错码(Forward-Error-Control,FEC)。前向纠错码是一种抗干扰技术,通过在信息中加入冗余信息(校验位)来克服传输过程中受到的噪声与干扰。
低密度奇偶校验码(Low-Density Parity-Check,LDPC)是译码性能接近信道容量的线性分组码,具有超强的纠错能力。LDPC码是由校验矩阵刻画的,校验矩阵的结构完全决定了LDPC码的编码效率与译码性能,因此如何构造性能优良结构简单的校验矩阵成为了国内外研究的热点。
现有技术中LDPC码校验矩阵的构造方案的缺点主要有:校验矩阵不易存储、码长/码率不可灵活改变、编码效率低。例如,Gallager提出的随机构造方法得到的矩阵由于具有纯随机性,大大增加了编码的复杂度,同时需要很大的存储空间进行矩阵存储。PEG算法得到是下三角矩阵,这种结构虽然能降低编码复杂度,但矩阵仍然具有随机性,同样对器件的存储空间要求较高,不利于硬件实现。基于有限域和有限几何构造的校验矩阵有着严谨的代数结构,具有循环或准循环特性(矩阵中任意一行是上一行的循环右移或左移),因此大大降低了对硬件存储空间的要求,然而由于矩阵是基于有限域和有限几何构造的,这就使得这一类码的码长、码率不能灵活改变。
发明内容
本发明的目的在于提出一种LDPC码的校验矩阵的构造方法与编码方法,本发明构造的准循环LDPC码校验矩阵具有码率灵活可变、码长动态范围宽、不包含环(girth)4等特点。本发明在构造校验矩阵的基础上还提出了一种便于硬件实现的快速编码方法。本发明的技术思路大致为:首先根据给定的边的度分布导出节点的度分布,并生成符合节点度分布的大小为Mb×Nb且具有下三角形式的基矩阵;其次对于给定的扩展因子z进行基矩阵环4检测/消除,使扩展后的校验矩阵不包含环4;最后将基矩阵中的非零元素用z×z的单位循环子矩阵替换,从而生成校验矩阵。
为实现上述技术目的,本发明采用如下技术方案予以实现。
技术方案一:
一种LDPC码的校验矩阵的构造方法包括以下步骤:
步骤1,构造LDPC码校验矩阵基矩阵HΒ,LDPC码校验矩阵基矩阵HΒ的行数表示为Mb,LDPC码校验矩阵基矩阵HΒ的列数表示为Nb;
步骤2,针对得出的LDPC码校验矩阵基矩阵HΒ,检测并消除4环,得出消除4环后的基矩阵;
步骤3,在所述消除4环后的基矩阵中,将每个0元素用z×z的全零矩阵替换,z表示设定的扩展因子,z为大于1的自然数;用F表示消除4环后的基矩阵的非零元素个数,用HΒ(f)表示消除4环后的基矩阵的第f个非零元素,f取1至F,得出大小为z×z的单位矩阵循环右移HΒ(f)位后的矩阵Iz(HΒ(f)),在所述消除4环后的基矩阵中,将第f个非零元素HΒ(f)替换为矩阵Iz(HΒ(f));得出LDPC码校验矩阵,所述LDPC码校验矩阵为:消除4环后的基矩阵的每个元素完成替换后得到的新矩阵。
本技术方案的特点和进一步改进在于:
在步骤1中,根据给定的校验节点边的度的分布、以及给定的变量节点边的度的分布,得出校验节点的度的分布、以及变量节点的度的分布;设置基矩阵的行数和列数,构造符合校验节点的度的分布和变量节点的度的分布的LDPC码校验矩阵基矩阵HΒ。
LDPC码校验矩阵基矩阵HΒ由信息位子矩阵和校验位子矩阵组合构成,HΒ=[HB1,HB2],HB1是大小为Mb×(Nb-Mb)的矩阵,HB2是大小为Mb×Mb的矩阵;信息位子矩阵HB1中的每个非零元素为[1,z]范围内的任意整数,z表示设定的扩展因子;校验位子矩阵HB2为下三角矩阵,其每个主对角线元素为z,校验位子矩阵HB2的每个非零元素为[1,z]范围内的任意整数。
所述步骤2的具体子步骤为:
(2.1)令迭代次数指示变量l=0,1,2,...;设置最大迭代次数为Imax,Imax为大于1的自然数;当l=0时,跳至子步骤(2.2);
(2.2)如果l<Imax,则跳至子步骤(2.3);如果l=Imax,则跳至子步骤(2.7);
(2.3)得出LDPC码校验矩阵基矩阵HΒ的第n列的非零元素位置索引向量fn,n∈[1,Nb],非零元素位置索引向量fn是列数为Mb的行向量,如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素为0,则非零元素位置索引向量fn的第m个元素为0,m∈[1,Mb];如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素不为0,则非零元素位置索引向量fn的第m个元素为1;
用fj表示LDPC码校验矩阵基矩阵HΒ的第j列非零元素位置索引向量,j∈[1,Nb-1];用fj'表示LDPC码校验矩阵基矩阵HΒ的第j'列非零元素位置索引向量,j'∈[2,Nb];遍历所有满足j<j'的j和j'的取值,针对每一组j和j'的取值,计算出向量fj,j',fj,j'=fj+fj';将得出的各个向量fj,j'组合成集合F,F={fj,j'|j∈[1,Nb-1],j'∈[2,Nb],j<j'};令k=1,令4环指示变量g=0,令K表示集合F中的元素个数;
(2.4)将集合F中的第k个元素表示为将向量的第i个元素表示为将向量的第i'个元素表示i∈[1,Mb-1],i'∈[2,Mb];遍历所有满足i<i'的i和i'的取值,针对每一组i和i'的取值,进行LDPC码校验矩阵基矩阵的元素替换,然后执行子步骤(2.5);
所述针对每一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换的过程为:
判断是否满足条件如果不满足,则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果满足,则令 其中,表示LDPC码校验矩阵基矩阵HΒ的第i行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i行第j'列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j'列的元素;判断z是否整除(A+D)-(B+C),如果z不能整除(A+D)-(B+C),则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果z能整除(A+D)-(B+C),则随机产生不为D且在[1,z]范围内的整数D',令g=1,在LDPC码校验矩阵基矩阵HΒ中,将第i'行第j'列的元素替换为D';
(2.5)如果k<K,则令k的值自增1,返回至子步骤(2.4);如果k=K,则跳至子步骤(2.6);
(2.6)若g=1,则令迭代次数指示变量l的值自增1,返回至子步骤(2.2);若g=0,则令l=Imax,返回至子步骤(2.2);
(2.7)得出消除4环后的基矩阵,所述消除4环后的基矩阵为当前的LDPC码校验矩阵基矩阵。
技术方案二:
一种LDPC码的编码方法,基于上述一种LDPC码校验矩阵的构造方法,其特征在于,包括以下步骤:
a)用Nb表示消除4环后的基矩阵的列数,用Mb表示消除4环后的基矩阵的行数;将待编码的信息分为Kb组,Kb组待编码的信息分别表示为Kb个行向量每组待编码的信息的大小为z比特;Kb=Nb-Mb;
设置第1存储单元至第Nb存储单元,将第q组待编码的信息存储于第q存储单元中,q取1至Nb;其余每个存储单元初始时刻存储z比特的全零行向量;当m=1时,跳至步骤b);
b)用表示消除4环后的基矩阵的第m第n列的元素,m取1至Mb,n取1至Nb;得出第n个选通开关的参数值εn,若则εn=1,若则εn=0;得出第n个选通开关的输出值,第n个选通开关的输出值为Unεn,其中,Un表示第n存储单元存储的行向量;
c)得出第m个校验分组信息Sm,
其中,表示将消除4环后的基矩阵的第m第n列的元素替换而成的矩阵的转置;将得出的第m个校验分组信息Sm存储于第Kb+m存储单元中;
d)如果m<Mb,则令m的值自增1,返回至步骤b);如果m=Mb,则基于LDPC码的编码过程完毕。
本发明的有益效果为:1)能够检测并消除环4;2)构造出的校验矩阵结构简单,易于存储,并且能够快速编码;3)相应的LDPC码的码长和码率可变且动态范围宽,译码性能接近理论值。
附图说明
图1为本发明中LDPC码的校验矩阵的Tanner图的举例示意图;
图2为大小为5×5的单位阵循环右移3位的举例示意图;
图3a为本发明实施例中举例构造出的LDPC码校验矩阵基矩阵HΒ的示意图;
图3b为LDPC码校验矩阵可能存在4环时对应的基矩阵的结构示意图;
图4a是扩展因子为5时基矩阵扩展后存在4环的举例示意图;
图4b是扩展因子为5时基矩阵扩展后不存在4环的举例示意图;
图5为本发明实施例的于LDPC码的编码方法的逻辑框图;
图6为采用本发明和IEEE802.16e标准得出的LDPC码的误码率的对比曲线示意图。
具体实施方式
为了清楚的阐述本发明的技术方案,这里对LDPC码的校验矩阵进行说明。
LDPC码可以用校验矩阵进行刻画。令H表示一个稀疏的大小为m'×n'的校验矩阵,令C表示列数为n'的行向量,则凡是满足HCT=0m'的C就是校验矩阵H所定义的LDPC码字(码字共n'个比特),其中,上标T表示矩阵或向量的转置,0m'表示行数为m'的全零向量。定义校验矩阵H的每一行的行重为这一行非零元素的个数,定义校验矩阵H的每一行的列重为这一行非零元素的个数。与LDPC码校验矩阵相对应的是它的Tanner图。Tanner图是一种二分图(bipartite graph),LDPC码校验矩阵的Tanner图包含多个节点,LDPC码校验矩阵的Tanner图的节点包含了两类节点:变量节点(variable node)和校验节点(check node)。对于大小为m'×n'的校验矩阵H来说,其Tanner图中变量节点共有n'个,校验节点共m'个;变量节点的个数与LDPC码字的比特数相同,校验节点的个数与LDPC码的校验方程的个数相同。
用表示校验矩阵H的第行第列的元素,如果不等于0,则在第个校验节点和第节点之间引入一条边(edge)。下面举例表现出了一个LDPC码的校验矩阵H
与该校验矩阵相对应的Tanner图如图1所示,参照图1,为本发明中LDPC码的校验矩阵的Tanner图的举例示意图。该校验矩阵H和图1中,v0至v5表示校验矩阵H的六个校验节点,c0至c2表示校验矩阵H的三个变量节点。每一个校验节点代表一个校验方程,连接在任意一个校验节点上所有变量节点的模二和(异或逻辑)应为0。每个校验节点有一个与之对应的校验方程,如图1中的校验节点c0的校验方程为:其中,表示异或。凡是能够符合所有校验节点的校验方程的向量(v0,v1,v2,v3,v4,v5),就是一个符合要求的LDPC码字,即HCT=0,C就是校验矩阵H所定义的LDPC码字。显然向量(0,0,0,0,0,0)能够符合图1中的所有校验方程,所以向量(0,0,0,0,0,0)是一个由矩阵H所定义的合法码字;同样地,我们可以验证向量(0,1,1,0,1,0)也是一个由矩阵H所定义的合法码字。
在Tanner图上,由某个节点出发,经过一系列的边,再回到该节点,构成一条封闭路径,称此路径为Tanner图上的一个环(girth),环的长度定义为此封闭路径中所包含的边的个数。由于Tanner图上的短环往往会影响到LDPC迭代译码的性能,因此在构造校验矩阵H时,一般原则是尽量避免短环,特别是长度为4的短环出现。在图1中,虚线恰好构成了4环。
节点的度:对于LDPC码校验矩阵的Tanner图,每个变量节点所连接边的个数称为对应变量节点的度,每个校验节点所连接边的个数称为对应校验节点的度。例如,对于图1,变量节点v0的度为2,校验节点c0的度为3。
节点的度分布:对于LDPC码校验矩阵的Tanner图,得出度为a的变量节点所占比例(度为a的变量节点的个数与变量节点总数之比),a取1至dv,dv表示最大的变量节点的度。并得出度为b的校验节点所占比例(度为b的校验节点与校验节点总数之比),b取1至dc,dc表示最大的校验节点的度。例如,对于图1,度为1的变量节点有3个(v1,v2,v3),变量节点的总数为6,度为1的变量节点所占比例为0.5。一般地,将变量节点的度的分布定义为如下多项式:
其中,表示度为a的变量节点所占比例,x表示自变量。变量节点的度的分布也可以用度为1,2,3…dv的变量节点所占比例组成的向量来表示,例如对于图1,变量节点的度的分布为(0.5,0.5)。将校验节点的度的分布定义为如下多项式:
其中,表示度为b的校验节点所占比例,x表示自变量。校验节点的度的分布也可以用度为1,2,3…dc的校验节点所占比例组成的向量,例如对于图1,校验节点的度的分布为(0.3333,0.3333,0.3333)。
边的度:变量节点边的度定义为该变量节点的度,校验节点边的度为该校验节点的度。例如对于图1,变量节点v0边的度为2,变量节点v1边的度为2。校验节点c0边的度为3,校验节点c1边的度为2。
边的度分布:对于LDPC码校验矩阵的Tanner图,得出度为a的变量节点边所占比例(度为a的变量节点边与Tanner图中总边数之比),a取1只dv;并得出度为b的校验节点边所占比例(度为b的校验节点边Tanner图中总边数之比)。例如,对于图1,度为1的变量节点边的个数为3,Tanner图中总边数为9,则度为1的变量节点边所占比例为0.3333。一般的,将变量节点边的度的分布定义为如下多项式:
其中,表示度为a的变量节点边所占比例,x表示自变量。变量节点边的度的分布也可以用度为1,2,3…dv的变量节点边所占比例组成的向量来表示,例如对于图1,变量节点边的度分布为(0.3333,0.6667)。将校验节点边的度的分布定义为如下多项式:
其中,表示度为b的校验节点边所占比例,x表示自变量。校验节点边的度的分布也可以用度为1,2,3…dc的校验节点边所占比例组成的向量来表示,例如对于图1,校验节点边的度分布为(0.2222,0.3333,0.4444)。
显然,可以看出,度为a的变量节点所占比例与度为a的变量节点边所占比例满足以下关系式:
而度为b的校验节点所占比例与度为b的校验节点边所占比例满足以下关系式:
因此,在已知有了边的度分布,可以快速的计算出对应的节点的度的分布。
单位矩阵循环右移。用k表示任意的自然数,大小为z'×z'的单位矩阵循环右移k位的含义是:该单位矩阵的每一列向右移动k列,该单位矩阵的任一列向右移动k列的过程中,如果超过该单位矩阵的第z列,则返回至该单位矩阵的第1列。当k为小于z'的自然数时,矩阵第一行的k+1列为1,其余均为0,第二行是第一行的循环右移,。参照图2,为大小为5×5的单位阵循环右移3位的举例示意图。显然,大小为z'×z'的单位矩阵循环右移z'位后为其自身。
下面结合附图对本发明作进一步说明:
本发明的一种LDPC码校验矩阵的构造方法包括以下步骤:
步骤1,构造LDPC码校验矩阵基矩阵HΒ,LDPC码校验矩阵基矩阵HΒ的行数表示为Mb,LDPC码校验矩阵基矩阵HΒ的列数表示为Nb。
其具体步骤为:
根据给定的校验节点边的度的分布、以及给定的变量节点边的度的分布,得出校验节点的度的分布、以及变量节点的度的分布;设置基矩阵的行数和列数,构造符合校验节点的度的分布和变量节点的度的分布的LDPC码校验矩阵基矩阵HΒ。
本发明实施例中,LDPC码校验矩阵基矩阵HΒ由信息位子矩阵和校验位子矩阵组合构成,HΒ=[HB1,HB2],HB1是大小为Mb×(Nb-Mb)的矩阵,HB2是大小为Mb×Mb的矩阵,Mb表示所有构造的LDPC码校验矩阵基矩阵HΒ的行数,Nb表示所有构造的LDPC码校验矩阵基矩阵HΒ的列数。信息位子矩阵HB1中的每个非零元素为[1,z]范围内的任意整数,z表示设定的扩展因子;校验位子矩阵HB2为下三角矩阵,其主对角线元素均为z,校验位子矩阵HB2的每个非零元素为[1,z]范围内的任意整数。
本发明实施例中,可以根据给定LDPC码的码率来设置基矩阵的行数和列数,给定LDPC码的码率为基矩阵的行数与列数之比。
下面举例说明本发明实施例中LDPC码校验矩阵基矩阵HΒ的构造过程。
给定的LDPC码的码率为0.5,给定的变量节点边的度的分布η(e)(x)和给定的校验节点边的度的分布χ(e)(x)分别为:
η(e)(x)=0.084507x2-1+0.633803x3-1+0.281690x10-1;
χ(e)(x)=0.887324x7-1+0.112676x8-1
经密度进化理论可知,符合上述给定的一组边的度分布的LDPC码译码性能阈值为0.7842dB。即如果码长趋于无限长、译码迭代次数趋于无限大,则在时,误码率趋于0。通过推导,校验节点的度的分布χ(n)(x)、以及变量节点的度的分布η(n)(x)分别为:
η(n)(x)=0.15x2+0.75x3+0.1x10
χ(n)(x)=0.9x7+0.1x8
根据给定的码率、校验节点的度的分布χ(n)(x)、以及变量节点的度的分布η(n)(x),将LDPC码校验矩阵基矩阵HΒ的行数Mb设为10,将LDPC码校验矩阵基矩阵HΒ的列数Nb设为20。此时,校验节点和变量节点的分布情况如下:、变量节点度为2的有3个,度为3的有15个,度为10的有2个;校验节点度为7的有9个,度为8的有1个。忽略边缘效应,可以构造出符合上述节点分布的基矩阵HΒ,参照图3a,为本发明实施例中举例构造出的LDPC码校验矩阵基矩阵HΒ的示意图。图3a中,●表示[1,z]范围内的任意整数;■表示整数z;空白处表示0。LDPC码校验矩阵基矩阵HΒ的左边和下边分别给出了行重与列重,即校验节点和变量节点的度分布情况。需要说明的是,LDPC码校验矩阵基矩阵HΒ的结构不唯一。
参照图3b,为LDPC码校验矩阵可能存在4环时对应的基矩阵的结构示意图。图3b中,当(A+D)-(B+C)是扩展因子z的倍数时,基矩阵HΒ扩展后存在z个4环,其中A、B、C和D分别为非零元素。参照图4a,是扩展因子为5时基矩阵扩展后存在4环的举例示意图。图4a中,A=1,B=2,C=3,D=4。参照图4b,是扩展因子为5时基矩阵扩展后不存在4环的举例示意图。图4b中,A=1,B=2,C=3,D=5。图4a中,存在5个4环,图4b不存在4环。可以看出仅需随机改变A、B、C、D元素中任意一个,破坏出现4环的条件,图4b与图4a相比,D的取值由4变为5。
本发明实施例中,在得出LDPC码校验矩阵基矩阵HΒ,还需要检测并消除4环,下面通过步骤2说明检测并消除4环的过程。
步骤2,针对得出的LDPC码校验矩阵基矩阵HΒ,检测并消除4环,得出消除4环后的基矩阵。
其具体子步骤为:
(2.1)设定的扩展因子表示为z,z为大于1的自然数,令迭代次数指示变量l=0,1,2,...;设置最大迭代次数为Imax,Imax为大于1的自然数;当l=0时,跳至子步骤(2.2);
(2.2)判断迭代次数指示变量l和最大迭代次数Imax的大小关系,如果l<Imax,则跳至子步骤(2.3);如果l=Imax,则跳至子步骤(2.7);
(2.3)得出LDPC码校验矩阵基矩阵HΒ的第n列的非零元素位置索引向量fn,n∈[1,Nb],非零元素位置索引向量fn是列数为Mb的行向量,如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素为0,则非零元素位置索引向量fn的第m个元素为0,m∈[1,Mb];如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素不为0,则非零元素位置索引向量fn的第m个元素为1。
用fj表示LDPC码校验矩阵基矩阵HΒ的第j列非零元素位置索引向量,j∈[1,Nb-1];用fj'表示LDPC码校验矩阵基矩阵HΒ的第j'列非零元素位置索引向量,j'∈[2,Nb];遍历所有满足j<j'的j和j'的取值,针对每一组j和j'的取值,得出向量fj,j',fj,j'=fj+fj';将得出的各个向量fj,j'组合成集合F,F={fj,j'|j∈[1,Nb-1],j'∈[2,Nb],j<j'};令k=1,令4环指示变量g=0,令K=|F|,|F|表示集合F中的元素个数。
(2.4)将集合F中的第k个元素表示为将向量的第i个元素表示为将向量的第i'个元素表示i∈[1,Mb-1],i'∈[2,Mb];遍历所有满足i<i'的i和i'的取值,针对每一组i和i'的取值,进行LDPC码校验矩阵基矩阵的元素替换,然后执行子步骤(2.5);
本发明实施例中,针对每一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换的过程为:
判断是否满足条件如果不满足,则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果满足,则令 其中,表示LDPC码校验矩阵基矩阵HΒ的第i行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i行第j'列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j'列的元素;判断z是否整除(A+D)-(B+C),如果z不能整除(A+D)-(B+C),则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果z能整除(A+D)-(B+C),随机产生不为D且在[1,z]范围内的整数D',令g=1,在LDPC码校验矩阵基矩阵HΒ中,将第i'行第j'列的元素替换为D'。
(2.5)如果k<K,则令k的值自增1,返回至子步骤(2.4);如果k=K,则跳至子步骤(2.6);
(2.6)若g=1,则令迭代次数指示变量l的值自增1,返回至子步骤(2.2);若g=0,则令l=Imax,返回至子步骤(2.2);
(2.7)得出消除4环后的基矩阵,所述消除4环后的基矩阵为当前的LDPC码校验矩阵基矩阵。
下面通过具体的例子对步骤2进行说明。
对于图3a所示的基矩阵HΒ,得出LDPC码校验矩阵基矩阵HΒ的第j列非零元素位置索引向量fj,j∈[1,20-1],得出LDPC码校验矩阵基矩阵HΒ的第j'列非零元素位置索引向量fj',j'∈[2,20],j<j'。计算出向量fj,j',fj,j'=fj+fj'
若fj,j'中2的个数大于等于2,则存在图3b所示的结构。例如,在图3a所示的基矩阵中,f1=(0,0,1,1,0,0,1,0,0,0),f2=(1,1,1,1,1,1,1,1,1,1),f3=(0,0,1,0,1,1,0,0,0,0)。则f1,2=f1+f2=(1,1,2,2,1,1,2,1,1,1),因此图3a所示的基矩阵的第1列与第2列存在3个可能出现4环的结构,其位置分别是[(3,1),(3,2),(4,1),(4,2)]、[(3,1),(3,2),(7,1),(7,2)]、[(4,1),(4,2),(7,1),(7,2)]。
在图3a所示的基矩阵中,f1,3=f1+f3=(0,0,2,1,1,1,1,0,0,0),因此图3a所示的基矩阵的第1列与第3列不可能出现环4的结构。
在图3a所示的基矩阵中,f2,3=f2+f3=(1,1,2,1,2,2,1,1,1,1),因此图3a所示的基矩阵的第2列与第3列存在3个可能出现4环的结构,其位置分别是[(3,2),(3,3),(5,2),(5,3)]、[(3,2),(3,3),(6,2),(6,3)]、[(5,2),(5,3),(6,2),(6,3)]。在检测出可能出现4环的结构后,判断用扩展因子扩展后确实出现环4的条件是否满足,如果满足则随机改变非零元素D的数值。
步骤3,在步骤2得出的消除4环后的基矩阵中,将每个0元素用z×z的全零矩阵替换;用F表示消除4环后的基矩阵的非零元素个数,用HΒ(f)表示消除4环后的基矩阵的第f个非零元素,f取1至F,得出大小为z×z的单位矩阵循环右移HΒ(f)后的矩阵Iz(HΒ(f)),在消除4环后的基矩阵中,将第f个非零元素HΒ(f)替换为矩阵Iz(HΒ(f));将消除4环后的基矩阵的每个元素完成替换后得到新矩阵作为所要构造的LDPC码校验矩阵。
本发明实施例在上述一种LDPC码校验矩阵的构造方法的基础上还提出了一种基于LDPC码的编码方法。参照图5,为本发明实施例的于LDPC码的编码方法的逻辑框图。该基于LDPC码的编码方法包括以下子步骤:
a)用Nb表示消除4环后的基矩阵的列数,用Mb表示消除4环后的基矩阵的行数;将待编码的信息分为Kb组(分别表示为Kb个行向量),每组待编码的信息的大小为z比特。z为设定的扩展因子,Kb为信息分组的个数,Kb=Nb-Mb,Mb表示校验分组的个数。
设置第1存储单元至第Nb存储单元,将第q组待编码的信息存储与第q存储单元中,q取1至Nb;其余每个存储单元初始时刻存储z比特的全零行向量。本发明的基于LDPC码的编码方法是基于基矩阵的一种递归算法,即采用所有的各组待编码的信息和前m-1个校验分组信息来获得第m个校验分组信息,m取1至Mb。当m=1时,跳至步骤b);
b)将消除4环后的基矩阵第m行作为控制参数,用表示消除4环后的基矩阵第m第n列的元素,m取1至Mb,n取1至Nb;得出第n个选通开关的参数值εn,若则εn=1,此时第n个选通开关闭合;若则εn=0,此时第n个选通开关断开。
得出第n个选通开关的输出值,第n个选通开关的输出值为Unεn,其中,Un表示第n存储单元存储的行向量。
c)得出第m个校验分组信息Sm,
其中,表示将除4环后的基矩阵第m第n列的元素通过步骤3替换而成的矩阵的转置。行向量乘以实质为行向量循环左移位。Sm表示将通过选通开关的行向量乘以并进行行向量模2加。
将得出的第m个校验分组信息Sm存储于第Kb+m存储单元中。
d)如果m<Mb,则令m的值自增1,返回至步骤b);如果m=Mb,则基于LDPC码的编码过程完毕。
本发明的效果可以通过以下仿真实验进一步说明。
在仿真实验中,将图3a所示的矩阵作为基矩阵,分别采用本发明和IEEE802.16e标准构造LDPC码。本发明构造LDPC码时其参数如下:图3a所示的矩阵作为基矩阵,扩展因子z分别选取50、150、500、5000和50000,最大迭代次数50次,码率为0.5。利用本发明步骤1至步骤3得出的校验矩阵对应的LDPC码的码长分别为1000、3000、10000、100000和1000000(码长的单位为bit)。IEEE802.16e标准构造LDPC码其参数如下:图3a所示的矩阵作为基矩阵,码长为1008bit,码率为0.5。
仿真实验中采用二进制相移键控(Binary-Phase-Shift-Key,BPSK)调制方式,信道为加性白高斯噪声(Additive-White-Gaussian-Noise,AWGN)信道,LDPC译码算法采用和-积(Sum-Product Algorithm,SPA)译码算法。参照图6,为采用本发明和IEEE802.16e标准得出的LDPC码的误码率的对比曲线示意图。图6中,横轴表示信噪比单位IEEE802.16e标准为dB,纵轴表示构造的LDPC码的误码率。图6中,带星号的线代表采用IEEE802.16e标准得出的LDPC码的误码率和信噪比的关系曲线,每个带圆圈的线代表采用本发明得出的LDPC码的误码率和信噪比的关系曲线,带圆圈的五条线从右到左依次对应的码长为1000、3000、10000、100000和1000000(码长的单位为bit)。从图6中可以看出:1)在基矩阵相同仅改变扩展因子的情况下,本发明可得到码长范围很宽的LDPC码(103~106),并且都能够正常工作。2)当本发明采用的校验矩阵对应的LDPC码的码长为1000时,该码长与采用IEEE802.16e得出的LDPC码的码长近似相同,此时,本发明构造出的LDPC码的性能与IEEE802.16e所采用的LDPC码基本相同;3)对于本发明来说,随着LDPC码的码长的增长,译码性能逐渐向(密度进化)理论阈值(0.7842dB)靠拢。例如,当码长为106,误码率为10-6时,所需信噪比为0.9300dB,与理论值仅有0.1458dB差异。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种LDPC码的校验矩阵的构造方法,其特征在于,包括以下步骤:
步骤1,构造LDPC码校验矩阵基矩阵HΒ,LDPC码校验矩阵基矩阵HΒ的行数表示为Mb,LDPC码校验矩阵基矩阵HΒ的列数表示为Nb;
步骤2,针对得出的LDPC码校验矩阵基矩阵HΒ,检测并消除4环,得出消除4环后的基矩阵;
步骤2的具体子步骤为:
(2.1)令迭代次数指示变量l=0,1,2,...;设置最大迭代次数为Imax,Imax为大于1的自然数;当l=0时,跳至子步骤(2.2);
(2.2)如果l<Imax,则跳至子步骤(2.3);如果l=Imax,则跳至子步骤(2.7);
(2.3)得出LDPC码校验矩阵基矩阵HΒ的第n列的非零元素位置索引向量fn,n∈[1,Nb],非零元素位置索引向量fn是列数为Mb的行向量,如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素为0,则非零元素位置索引向量fn的第m个元素为0,m∈[1,Mb];如果LDPC码校验矩阵基矩阵HΒ的第n列第m行的元素不为0,则非零元素位置索引向量fn的第m个元素为1;
用fj表示LDPC码校验矩阵基矩阵HΒ的第j列非零元素位置索引向量,j∈[1,Nb-1];用fj'表示LDPC码校验矩阵基矩阵HΒ的第j'列非零元素位置索引向量,j'∈[2,Nb];遍历所有满足j<j'的j和j'的取值,针对每一组j和j'的取值,计算出向量fj,j',fj,j'=fj+fj';将得出的各个向量fj,j'组合成集合F,F={fj,j'|j∈[1,Nb-1],j'∈[2,Nb],j<j'};令k=1,令4环指示变量g=0,令K表示集合F中的元素个数;
(2.4)将集合F中的第k个元素表示为将向量的第i个元素表示为将向量的第i'个元素表示遍历所有满足i<i'的i和i'的取值,针对每一组i和i'的取值,进行LDPC码校验矩阵基矩阵的元素替换,然后执行子步骤(2.5);
所述针对每一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换的过程为:
判断是否满足条件如果不满足,则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果满足,则令 其中,表示LDPC码校验矩阵基矩阵HΒ的第i行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i行第j'列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j列的元素,表示LDPC码校验矩阵基矩阵HΒ的第i'行第j'列的元素;判断z是否整除(A+D)-(B+C),如果z不能整除(A+D)-(B+C),则针对下一组i和i'的取值进行LDPC码校验矩阵基矩阵的元素替换;如果z能整除(A+D)-(B+C),则随机产生不为D且在[1,z]范围内的整数D',令g=1,在LDPC码校验矩阵基矩阵HΒ中,将第i'行第j'列的元素替换为D';
(2.5)如果k<K,则令k的值自增1,返回至子步骤(2.4);如果k=K,则跳至子步骤(2.6);
(2.6)若g=1,则令迭代次数指示变量l的值自增1,返回至子步骤(2.2);若g=0,则令l=Imax,返回至子步骤(2.2);
(2.7)得出消除4环后的基矩阵,所述消除4环后的基矩阵为当前的LDPC码校验矩阵基矩阵;
步骤3,在所述消除4环后的基矩阵中,将每个0元素用z×z的全零矩阵替换,z表示设定的扩展因子,z为大于1的自然数;用F表示消除4环后的基矩阵的非零元素个数,用HΒ(f)表示消除4环后的基矩阵的第f个非零元素,f取1至F,得出大小为z×z的单位矩阵循环右移HΒ(f)位后的矩阵Iz(HΒ(f)),在所述消除4环后的基矩阵中,将第f个非零元素HΒ(f)替换为矩阵Iz(HΒ(f));得出LDPC码校验矩阵,所述LDPC码校验矩阵为:消除4环后的基矩阵的每个元素完成替换后得到的新矩阵。
2.如权利要求1所述的一种LDPC码的校验矩阵的构造方法,其特征在于,在步骤1中,根据给定的校验节点边的度的分布、以及给定的变量节点边的度的分布,得出校验节点的度的分布、以及变量节点的度的分布;设置基矩阵的行数和列数,构造符合校验节点的度的分布和变量节点的度的分布的LDPC码校验矩阵基矩阵HΒ。
3.如权利要求2所述的一种LDPC码的校验矩阵的构造方法,其特征在于,在步骤1中,LDPC码校验矩阵基矩阵HΒ由信息位子矩阵HB1和校验位子矩阵HB2组合构成,HΒ=[HB1,HB2],HB1是大小为Mb×(Nb-Mb)的矩阵,HB2是大小为Mb×Mb的矩阵;信息位子矩阵HB1中的每个非零元素为[1,z]范围内的任意整数,z表示设定的扩展因子;校验位子矩阵HB2为下三角矩阵,其每个主对角线元素为z,校验位子矩阵HB2的每个非零元素为[1,z]范围内的任意整数。
4.一种LDPC码的编码方法,基于权利要求1所述的一种LDPC码校验矩阵的构造方法,其特征在于,包括以下步骤:
a)用Nb表示消除4环后的基矩阵的列数,用Mb表示消除4环后的基矩阵的行数;将待编码的信息分为Kb组,Kb组待编码的信息分别表示为Kb个行向量每组待编码的信息的大小为z比特;Kb=Nb-Mb;
设置第1存储单元至第Nb存储单元,将第q组待编码的信息存储于第q存储单元中,q取1至Nb;其余每个存储单元初始时刻存储z比特的全零行向量;当m=1时,跳至步骤b);
b)用表示权利要求1中消除4环后的基矩阵的第m第n列的元素,m取1至Mb,n取1至Nb;得出第n个选通开关的参数值εn,若则εn=1,若则εn=0;得出第n个选通开关的输出值,第n个选通开关的输出值为Unεn,其中,Un表示第n存储单元存储的行向量;
c)得出第m个校验分组信息Sm,
其中,表示利用权利要求1步骤3将消除4环后的基矩阵的第m第n列的元素替换而成的矩阵的转置;将得出的第m个校验分组信息Sm存储于第Kb+m存储单元中;
d)如果m<Mb,则令m的值自增1,返回至步骤b);如果m=Mb,则基于LDPC码的编码过程完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691486.8A CN104333390B (zh) | 2014-11-26 | 2014-11-26 | 一种ldpc码的校验矩阵的构造方法与编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691486.8A CN104333390B (zh) | 2014-11-26 | 2014-11-26 | 一种ldpc码的校验矩阵的构造方法与编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104333390A CN104333390A (zh) | 2015-02-04 |
CN104333390B true CN104333390B (zh) | 2019-08-06 |
Family
ID=52408055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410691486.8A Active CN104333390B (zh) | 2014-11-26 | 2014-11-26 | 一种ldpc码的校验矩阵的构造方法与编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104333390B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3477865B1 (en) * | 2016-08-19 | 2021-07-28 | Huawei Technologies Co., Ltd. | Basis matrix generating method, coding/decoding method and apparatus for ldpc codes |
WO2018171043A1 (zh) | 2017-03-24 | 2018-09-27 | 中兴通讯股份有限公司 | 一种准循环低密度奇偶校验编码处理方法及装置 |
CN109120276B (zh) * | 2017-05-05 | 2019-08-13 | 华为技术有限公司 | 信息处理的方法、通信装置 |
CN108988870B (zh) * | 2017-05-31 | 2021-08-31 | 大唐移动通信设备有限公司 | Ldpc码校验矩阵的构造方法 |
CN107248865B (zh) * | 2017-06-14 | 2021-05-18 | 武汉虹信科技发展有限责任公司 | 一种生成校验矩阵的方法及装置 |
KR102194029B1 (ko) | 2017-06-15 | 2020-12-22 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 정보 프로세싱 방법 및 통신 장치 |
WO2019001090A1 (zh) * | 2017-06-27 | 2019-01-03 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109150196A (zh) * | 2017-06-27 | 2019-01-04 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109150197B (zh) * | 2017-06-27 | 2024-05-14 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109150193B (zh) | 2017-06-27 | 2020-11-27 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN108880563A (zh) * | 2018-06-14 | 2018-11-23 | 东南大学 | 一种ldpc码的改进编码方法及系统 |
CN109309502B (zh) * | 2018-08-03 | 2021-05-04 | 西安电子科技大学 | 5g nr标准的分层ldpc基矩阵处理译码方法 |
CN110739976B (zh) * | 2019-11-06 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | 一种无短环qc-ldpc码的快速生成方法 |
CN110677159B (zh) * | 2019-11-13 | 2023-03-10 | 天津津航计算技术研究所 | Ldpc校验矩阵的四环快速检测方法 |
CN114448446A (zh) * | 2022-02-10 | 2022-05-06 | 广东行远机器人技术有限公司 | 水下光通信ldpc编码处理方法、装置及计算机可读存储介质 |
CN114826375A (zh) * | 2022-03-29 | 2022-07-29 | 南京英田光学工程股份有限公司 | 一种ldpc码的块交织快速构造方法 |
CN115499017B (zh) * | 2022-11-14 | 2023-03-24 | 北京得瑞领新科技有限公司 | 闪存编解码方法及装置、介质、固态硬盘 |
CN116112125B (zh) * | 2023-04-12 | 2023-07-14 | 浪潮电子信息产业股份有限公司 | 一种数据传输方法、装置、设备和计算机可读存储介质 |
CN116436474B (zh) * | 2023-06-13 | 2023-11-17 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 一种信道编解码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808955A (zh) * | 2005-01-23 | 2006-07-26 | 中兴通讯股份有限公司 | 基于非正则低密度奇偶校验码的编译码器及其生成方法 |
CN102904581A (zh) * | 2011-07-26 | 2013-01-30 | 无锡物联网产业研究院 | Ldpc码校验矩阵的构造方法及装置 |
CN103368585A (zh) * | 2013-07-19 | 2013-10-23 | 太原理工大学 | 一种ldpc码校验矩阵的构造方法 |
CN103731157A (zh) * | 2013-12-16 | 2014-04-16 | 西安邮电大学 | 准循环低密度校验码的联合构造方法 |
-
2014
- 2014-11-26 CN CN201410691486.8A patent/CN104333390B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808955A (zh) * | 2005-01-23 | 2006-07-26 | 中兴通讯股份有限公司 | 基于非正则低密度奇偶校验码的编译码器及其生成方法 |
CN102904581A (zh) * | 2011-07-26 | 2013-01-30 | 无锡物联网产业研究院 | Ldpc码校验矩阵的构造方法及装置 |
CN103368585A (zh) * | 2013-07-19 | 2013-10-23 | 太原理工大学 | 一种ldpc码校验矩阵的构造方法 |
CN103731157A (zh) * | 2013-12-16 | 2014-04-16 | 西安邮电大学 | 准循环低密度校验码的联合构造方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104333390A (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104333390B (zh) | 一种ldpc码的校验矩阵的构造方法与编码方法 | |
US8495453B1 (en) | Circulant processing scheduler for layered LDPC decoder | |
CN102394659B (zh) | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 | |
CN104821831B (zh) | 一种适用于高码率qc-ldpc码的双循环构造方法 | |
CN101826878A (zh) | Qc-ldpc码构建方法 | |
CN101159435B (zh) | 基于移位矩阵分级扩展的低密度校验码校验矩阵构造方法 | |
CN108134610A (zh) | 基于杨辉三角的特殊结构原模图qc-ldpc码的构造方法 | |
CN107888200A (zh) | 一种利用近似环额外信息度与分割移位的低错误平层qc‑ldpc码构造方法 | |
CN102055484A (zh) | 基于最小均方差准则的ldpc分层bp译码算法及译码器结构 | |
CN109067408A (zh) | 一种原模图ldpc码的设计方法 | |
CN109120374A (zh) | 准循环低密度奇偶校验编码设计方法及装置 | |
CN101207386A (zh) | 一种二进制低密度奇偶校验码的构造方法 | |
CN103795424B (zh) | 一种基于qc‑ldpc的通信方法 | |
CN102857236A (zh) | 基于求和阵列的cmmb中ldpc编码器和编码方法 | |
CN102420616B (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN103346803B (zh) | 一种无线通信系统中使用的信道编码方法 | |
CN108390676A (zh) | 一种结合等差数列与原模图的qc-ldpc码新颖构造方法 | |
CN107947802B (zh) | 速率兼容低密度奇偶校验码编译码的方法及编译码器 | |
CN105871385B (zh) | 一种ldpc卷积码构造方法 | |
CN105720990B (zh) | Ldpc码的校验矩阵的四环搜索方法及装置 | |
CN102412845A (zh) | 基于欧氏几何的准循环低密度校验码的构造方法 | |
CN102723956B (zh) | 一种ldpc码的生成方法 | |
CN102594506A (zh) | 基于码结构的交叠编码序列的处理方法和装置 | |
CN108270448A (zh) | 准循环低密度奇偶校验编码方法及装置 | |
Sułek | Nonbinary Quasi-Regular QC-LDPC Codes Derived From Cycle Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |