CN102916705B - Ldpc码构造方法和装置 - Google Patents
Ldpc码构造方法和装置 Download PDFInfo
- Publication number
- CN102916705B CN102916705B CN201210362228.6A CN201210362228A CN102916705B CN 102916705 B CN102916705 B CN 102916705B CN 201210362228 A CN201210362228 A CN 201210362228A CN 102916705 B CN102916705 B CN 102916705B
- Authority
- CN
- China
- Prior art keywords
- matrix
- individuality
- ldpc code
- population
- individual
- 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
Abstract
本发明提供一种LDPC码构造方法,包括步骤:基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;根据每个矩阵个体的适应度从矩阵种群中选择矩阵个体;对选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;对所述最优矩阵个体进行解码获得LDPC码。本发明还提供一种LDPC码构造装置,本发明的技术,基于置换群的技术,根据基础校验矩阵随机构造矩阵种群,可以构造任意码率的LDPC码,实用性强;同时,利用遗传算法优胜劣汰的特性,通过对矩阵种群中的矩阵个体的交叉和变异,并最终收敛到性能较优的矩阵种群,进而选择出最优矩阵个体,获得大围长的性能优异的LDPC码。
Description
技术领域
本发明涉及通信与电子系统技术领域,特别是涉及一种LDPC码构造方法和装置。
背景技术
目前,在构造LDPC码的方法中,主要分确定性和随机性两种方式,传统的构造LDPC码技术,典型的有Gallager LDPC码构造法和Mackay LDPC码构造法。
Gallager LDPC码构造法主要是由确定的方式构造正则校验矩阵(如单位阵),将该矩阵的所有排列组合形成一系列正则子矩阵,再将这些正则子矩阵组合成所需的校验矩阵,这是一种随机正则LDPC码。
Mackay LDPC码构造法是一种直接构造LDPC码校验矩阵的技术,这种技术产生随机码,在保证校验矩阵的列是等重的条件下,使行重量尽可能相等,是一种准正则码。
对于构造LDPC码来说,LDPC码性能的好坏可以直接影响到LDPC码译码的性能,会直接影响到译码中误码率的大小,围长是所有环中有最小边数的环长,其是评估LDPC码的一个重要指标,是影响译码性能的一个重要因素,因而构造大围长的LDPC码很重要。
传统的构造LDPC码技术中,确定性方式构造出来的LDPC码的结果比较单一,实用性差;而随机构造的LDPC码容易出现小围长的码,LDPC码的性能较差。
发明内容
基于此,有必要针对传统的构造LDPC码技术构造出来的LDPC码实用性差、性能较差的问题,提供一种LDPC码构造方法和装置。
一种LDPC码构造方法,包括如下步骤:
基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
对所述最优矩阵个体进行解码获得LDPC码。
一种LDPC码构造装置,包括:
置换单元,用于基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
适应度计算单元,用于根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
个体选择单元,用于根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
交叉和变异单元,用于对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
解码单元,用于对所述最优矩阵个体进行解码获得LDPC码。
上述LDPC码构造方法和装置,基于置换群的技术,根据基础校验矩阵随机构造矩阵种群,可以构造任意码率的LDPC码,实用性强;同时,利用遗传算法优胜劣汰的特性,通过对矩阵种群中的矩阵个体的交叉和变异,并最终收敛到性能较优的矩阵种群,进而选择出最优矩阵个体,获得大围长的性能优异的LDPC码。
附图说明
图1为一个实施例的LDPC码构造方法流程图;
图2为迭代处理一个应用实例的流程图;
图3为一个实施例的LDPC码构造装置结构示意图。
具体实施方式
下面结合附图对本发明的LDPC码构造方法的具体实施方式作详细描述,图1示出了一个实施例的LDPC码构造方法流程图,主要包括如下步骤:
S100,基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
S200,根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
S300,根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
S400,对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
S500,对所述最优矩阵个体进行解码获得LDPC码。
本发明的LDPC码构造方法,根据基础校验矩阵随机构造矩阵种群,并利用遗传算法优胜劣汰的特性,根据适应度和选择原则选择矩阵个体,以及对选择的矩阵个体进行交叉和变异,并最终收敛到性能较优的矩阵种群,然后再从矩阵种群中选择出最优矩阵个体,对其进行解码后,即可获得大围长的性能优异的信道纠错码中的LDPC码。
为了更清晰本发明的LDPC码构造方法,下面阐述较佳实施例。
对于步骤S100,主要是利用改进的遗传算法来构造,算法首先初始化,产生初始化的矩阵种群,所述的初始化,给定的输入条件是校验节点m,信息节点n,以及信息节点的度分布。假设度分布序列为(d1,d2,…,dn),初始化种群时用下述步骤产生:
(a)根据输入条件设置一个合法的基础校验矩阵;
具体的,所述输入条件是校验节点m,信息节点n以及信息节点的度分布,采用该输入条件可以构造任意码率的性能优异的LDPC码;
对于设置的基础校验矩阵,例如,构建基础矩阵H0:
其中,H0为m行n列的矩阵,其第i(i=1,2,…,n)列有di个1,且1的位置均在前di行,后面的行均为0。
(b)基于置换群理论对所述基础校验矩阵进行编码获得矩阵个体;
例如,结合置换群的理论对上述矩阵H0进行编码,即将基础矩阵H0的每一列按自然顺序排列,并以此进行编码,则上述矩阵H0可以编码为矩阵个体:
(c)将所述矩阵个体进行随机置换获得矩阵种群;
例如,将上述矩阵H0的每一列分别进行随机排列,则可以产生若干个合法的校验矩阵,这些校验矩阵可以遍历任意的解空间,将矩阵H0编码后的个体X0的每一列分别进行随机置换,得到矩阵个体如下:
其中,矩阵个体中每列的元素h1j,h2j,…,hmj(j=1,2,…,n)是1,2,…,m的一个排列。显然,对个体的任意第i列,前di行的元素即表示在校验矩阵H中第i列中元素1的位置,其余的位置为0。如果校验矩阵H0是5行10列的,第一列的列重为2,将其编码后矩阵个体的第一列为[2,4,5,1,3]T,由第一个校验节点的度为2,则此校验矩阵第一列中1的位置在第2行和第4行。设置种群的大小m,采取上述方式产生m个矩阵个体作为初始矩阵种群。
上述处理过程,为矩阵个体的解码提供一种很便捷的方式,易于遗传算法的解码执行。
对于步骤S200,为了获取大围长的LDPC码,优选的,适应度函数设置为关于LDPC码围长的线性函数,即
f=αc+β
式中,c为LDPC码的围长,围长即为Tanner图中最短环的长度,Tanner图的每条边均为无向边,根据Tanner图的特点,c≥4,且为偶数,α,β为常数,且α,β的取值不宜过大。
对于步骤S300,即根据每个矩阵个体的适应度并采用一定的方式选择矩阵个体;
具体地,根据矩阵个体的适应度从种群中选择m个矩阵个体(m为矩阵种群的矩阵个体总数),选择矩阵个体可以采用轮盘赌选择法,其中,矩阵个体被选择的概率与其适应度成正比。通过上述处理可以保证低适应度的矩阵个体从矩阵种群中去除,而高适应度的矩阵个体将被多次选择。
对于步骤S400,主要是进行遗传操作,即对前述步骤中选择的矩阵个体进行交叉和变异处理,包括如下步骤:
(d)利用置换群相乘的交叉方式对所述矩阵个体进行交叉操作,获得若干个新的矩阵个体;
具体地,将矩阵个体的交叉概率设置为pc,将步骤S300中选择出来的m个矩阵个体,按照交叉概率依次判断是否进行交叉,判断操作如下:
依次产生m个0~1均匀分布的随机数,若第i个随机数小于pc,则相应地对第i个矩阵个体进行交叉操作;否则,矩阵个体不进行交叉。
在将m个矩阵个体都判断完后,将选择出来一部分的矩阵个体进行交叉(设为m1个矩阵个体,若m1为奇数,去掉一个矩阵个体),具体的,将m1个矩阵个体成对地进行交叉,这样将会产生m1个新的矩阵个体。
在交叉处理中,采用置换群的相乘作为交叉方式,即将被选中的若干个矩阵个体成对地进行交叉操作,优选的,交叉处理的方式为多点交叉,设置K(K>1)个交叉点,随机选择个体的K列进行交叉操作,置换群的相乘如下:
假设被选择的矩阵个体H1和H2:
随机选择K个交叉点,如选到的第一个交叉点为第2列,则将H1和H2的第2列取出来,两者作为置换分别左乘和右乘,则可得到两个不同的结果,即
和
则交叉后的第2列分别为[l12,l22,l32,…,lm2]T和[k12,k22,k32,…,km2]T,对K个交叉点均执行上述操作,而个体的其它列不变,这样通过定义交叉运算就可以产生两个不同的合法的矩阵个体。
(e)利用置换群相乘的变异方式对所述新的若干个矩阵个体进行变异处理;
具体地,将矩阵个体的变异概率设置为pm,对所述交叉后产生的若干个新的矩阵个体,按照所设置的变异概率依次判断进入变异操作,判断操作如下:
将前述步骤中m1个新的矩阵个体依次根据变异概率进行判断是否需要变异,依次产生m1个0~1均匀分布的随机数,若第i个随机数小于pm,则相应地对第i个矩阵个体进行变异操作;否则,矩阵个体不进行变异。假设m2个矩阵个体需要变异,这样变异后也会产生m2个新的矩阵个体;
优选的,通过设置置换群的左乘以一个随机奇置换来进行矩阵个体的变异,为了让矩阵个体可以遍历整个解空间,随机选择矩阵个体的一列,并左乘以一个随机产生的奇置换;
通过上述方式的变异,可以确保产生的矩阵个体都是合法的,同时,左乘以奇置换,可以让矩阵个体遍历整个解空间,从而使得搜索到的最优解是全局最优解,避免出现将局部最优解当作全局最优解的情况。
(f)将所述变异处理后的矩阵个体加入到所述矩阵种群中进行迭代处理;
具体地,首先将变异后产生的若干个新的矩阵个体加入到初始种群中;然后计算所述矩阵种群的各个矩阵个体的适应度,去掉若干个适应度最小的矩阵个体;在设定的迭代次数内,根据适应度和设定的选择原则选择m个矩阵个体,对所选择的矩阵个体进行交叉和变异处理;在达到最大迭代次数时,终止迭代,并选择适应度最大的矩阵个体作为最优矩阵个体进行输出;其中,迭代的次数可以根据实际情况设定,一般设置在100~200范围内;
通过迭代处理,不断的交叉和变异,并最终收敛到性能较优的矩阵种群,从而可以获得一批较优解,对应于一批围长较长的LDPC码,适应度最大的对应为最优矩阵个体。
参见图2所示,图2是迭代处理一个应用实例的流程图,包括如下步骤:
S401、将变异后产生的新的矩阵个体加入到初始种群中,取代适应度最小的若干个矩阵个体;
S402、判断是否达到预设的最大迭代次数,若是,执行步骤S406,若否,执行步骤S403;
S403、按照轮盘赌的方式从矩阵种群中选择m个矩阵个体;
S404、对选择的矩阵个体进行交叉操作,产生m1个新的矩阵个体;
S405、对m1个新的矩阵个体进行变异操作,产生m2个新的矩阵个体,返回步骤S401;
S406、选择适应度最大的矩阵个体进行输出。
对于步骤S500,通过对最优矩阵个体进行解码,可以获得大围长的LDPC码,将该LDPC码用于译码,可以提高LDPC码的译码性能。
下面结合附图对本发明的LDPC码构造方法对应装置的具体实施方式作详细描述,图3示出了一个实施例的LDPC码构造装置结构示意图,主要包括:
置换单元,用于基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
适应度计算单元,用于根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
个体选择单元,用于根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
交叉和变异单元,用于对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
解码单元,用于对所述最优矩阵个体进行解码获得LDPC码。
为了更清晰本发明的LDPC码构造装置,下面阐述较佳实施例。
对于置换单元,进一步包括:
矩阵设置模块,用于根据输入条件设置一个合法的基础校验矩阵;
矩阵编码模块,用于基于置换群理论对所述基础校验矩阵进行编码获得矩阵个体;
种群生成模块,用于将所述矩阵个体进行随机置换获得矩阵种群。
对于适应度计算单元,优选的,适应度函数设置为关于LDPC码围长的线性函数,即
f=αc+β
式中,c为LDPC码的围长,围长即为Tanner图中最短环的长度,Tanner图的每条边均为无向边,根据Tanner图的特点,c≥4,且为偶数,α,β为常数,且α,β的取值不宜过大。
对于交叉和变异单元,进一步包括:
交叉操作模块,用于利用置换群相乘的交叉方式对所述选择的矩阵个体进行交叉操作,获得若干个新的矩阵个体;
变异操作模块,用于利用置换群相乘的变异方式对所述新的矩阵个体进行变异处理;
迭代模块,用于将所述变异处理后的矩阵个体加入到所述矩阵种群中进行迭代处理。
优选的,所述迭代模块进一步用于:
将新加入到矩阵种群的矩阵个体取代适应度最小的若干个矩阵个体;
在设定的迭代次数内,从所述矩阵种群中选择矩阵个体,并对所述选择的矩阵个体进行交叉和变异处理;
在达到最大的迭代次数时,选择适应度最大的矩阵个体进作为最优矩阵个体进行输出。
本发明的LDPC码构造装置与LDPC码构造方法一一对应,在LDPC码构造方法实施例中的技术特征及其有益效果,均适用于LDPC码构造装置的实施例中,在此不再赘述。
本发明利用了置换群的技术,并结合了遗传算法的搜索寻优方式,所提出的一种新的LDPC码的编码技术手段,利用多个置换来表示LDPC码的校验矩阵,并以此进行编码和解码获得矩阵种群,通过设置线性的适应度函数,计算矩阵种群中各个矩阵个体的适应度,然后根据适应度来选择个数相同的矩阵个体,再利用置换群的乘法原则对选择的矩阵个体进行交叉和变异,经过多次矩阵种群的进化迭代,收敛到性能较优的矩阵种群,最终得到最优的大围长的LDPC码。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种LDPC码构造方法,其特征在于,包括如下步骤:
基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
对所述最优矩阵个体进行解码获得LDPC码。
2.根据权利要求1所述的LDPC码构造方法,其特征在于,所述基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群步骤包括:
根据输入条件设置一个合法的基础校验矩阵;
基于置换群理论对所述基础校验矩阵进行编码获得矩阵个体;
将所述矩阵个体进行随机置换获得矩阵种群。
3.根据权利要求1所述的LDPC码构造方法,其特征在于,所述适应度函数为:
f=αc+β
式中,c为围长的大小,α,β均为常数。
4.根据权利要求1所述的LDPC码构造方法,其特征在于,所述对所述选择的矩阵个体进行交叉和变异处理步骤包括:
利用置换群相乘的交叉方式对所述选择的矩阵个体进行交叉操作,获得若干个新的矩阵个体;
利用置换群相乘的变异方式对所述新的矩阵个体进行变异处理;
将所述变异处理后的矩阵个体加入到所述矩阵种群中进行迭代处理。
5.根据权利要求4所述的LDPC码构造方法,其特征在于,所述利用置换群相乘的变异方式对所述新的矩阵个体进行变异处理步骤包括:
通过设置置换群的左乘以一个随机奇置换来进行矩阵个体的变异。
6.根据权利要求4所述的LDPC码构造方法,其特征在于,所述将所述变异处理后的矩阵个体加入到所述矩阵种群中进行迭代处理步骤包括:
将新加入到矩阵种群的矩阵个体取代适应度最小的若干个矩阵个体;
在设定的迭代次数内,从所述矩阵种群中选择矩阵个体,并对所述选择的矩阵个体进行交叉和变异处理;
在达到最大的迭代次数时,选择适应度最大的矩阵个体作为最优矩阵个体进行输出。
7.一种LDPC码构造装置,其特征在于,包括:
置换单元,用于基于置换群理论对基础校验矩阵进行随机置换获得矩阵种群;
适应度计算单元,用于根据设定的LDPC码的适应度函数计算所述矩阵种群的各个矩阵个体的适应度;
个体选择单元,用于根据每个矩阵个体的适应度从所述矩阵种群中选择矩阵个体;
交叉和变异单元,用于对所述选择的矩阵个体进行交叉和变异处理,获得最优矩阵个体;
解码单元,用于对所述最优矩阵个体进行解码获得LDPC码。
8.根据权利要求7所述的LDPC码构造装置,其特征在于,所述置换单元包括:
矩阵设置模块,用于根据输入条件设置一个合法的基础校验矩阵;
矩阵编码模块,用于基于置换群理论对所述基础校验矩阵进行编码获得矩阵个体;
种群生成模块,用于将所述矩阵个体进行随机置换获得矩阵种群。
9.根据权利要求7所述的LDPC码构造装置,其特征在于,所述交叉和变异单元包括:
交叉操作模块,用于利用置换群相乘的交叉方式对所述选择的矩阵个体进行交叉操作,获得若干个新的矩阵个体;
变异操作模块,用于利用置换群相乘的变异方式对所述新的矩阵个体进行变异处理;
迭代模块,用于将所述变异处理后的矩阵个体加入到所述矩阵种群中进行迭代处理。
10.根据权利要求9所述的LDPC码构造装置,其特征在于,所述迭代模块进一步用于:
将新加入到矩阵种群的矩阵个体取代适应度最小的若干个矩阵个体;
在设定的迭代次数内,从所述矩阵种群中选择矩阵个体,并对所述选择的矩阵个体进行交叉和变异处理;
在达到最大的迭代次数时,选择适应度最大的矩阵个体作为最优矩阵个体进行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362228.6A CN102916705B (zh) | 2012-09-25 | 2012-09-25 | Ldpc码构造方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362228.6A CN102916705B (zh) | 2012-09-25 | 2012-09-25 | Ldpc码构造方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916705A CN102916705A (zh) | 2013-02-06 |
CN102916705B true CN102916705B (zh) | 2015-05-13 |
Family
ID=47614957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210362228.6A Active CN102916705B (zh) | 2012-09-25 | 2012-09-25 | Ldpc码构造方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916705B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
-
2012
- 2012-09-25 CN CN201210362228.6A patent/CN102916705B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
Also Published As
Publication number | Publication date |
---|---|
CN102916705A (zh) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102412842B (zh) | 一种低密度奇偶校验码的编码方法及装置 | |
CN101662290B (zh) | 生成准循环ldpc码及编码的方法与装置 | |
CN102164025B (zh) | 基于重复编码和信道极化的编码器及其编译码方法 | |
CN101106381B (zh) | 分层的低密度校验码译码器及译码处理方法 | |
CN101604977B (zh) | 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 | |
CN102638274B (zh) | 利用向量行分组的结构化ldpc设计操作发送器的设备及方法 | |
CN101232288B (zh) | 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器 | |
CN102394659B (zh) | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 | |
CN101796488A (zh) | 奇偶校验矩阵的产生 | |
CN105846830A (zh) | 数据处理装置 | |
CN101159435B (zh) | 基于移位矩阵分级扩展的低密度校验码校验矩阵构造方法 | |
CN107370490A (zh) | 结构化ldpc的编码、译码方法及装置 | |
CN106998208A (zh) | 一种可变长Polar码的码字构造方法 | |
CN100542049C (zh) | 一种多码率的ldpc码的译码器装置及译码方法 | |
CN101534128A (zh) | 低密度奇偶校验码校验矩阵的构造方法 | |
CN107124251A (zh) | 一种基于任意内核的极化码编码方法 | |
CN109067408A (zh) | 一种原模图ldpc码的设计方法 | |
CN100508442C (zh) | 一种编译码方法及编译码装置 | |
Senthoor et al. | Improved layered regenerating codes characterizing the exact-repair storage-repair bandwidth tradeoff for certain parameter sets | |
CN103795424A (zh) | 一种qc-ldpc码的校验矩阵的构造方法 | |
CN102420616A (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN101262230A (zh) | 一种低密度奇偶校验码矩阵的设计方法 | |
CN102916705B (zh) | Ldpc码构造方法和装置 | |
CN103368585B (zh) | 一种ldpc码校验矩阵的构造方法 | |
CN103532570B (zh) | 一种准随机ldpc卷积码的构造方法及编码器设计 |
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 |