CN102790622B - 低密度奇偶校验码校验矩阵的构造方法及装置 - Google Patents
低密度奇偶校验码校验矩阵的构造方法及装置 Download PDFInfo
- Publication number
- CN102790622B CN102790622B CN201110131720.8A CN201110131720A CN102790622B CN 102790622 B CN102790622 B CN 102790622B CN 201110131720 A CN201110131720 A CN 201110131720A CN 102790622 B CN102790622 B CN 102790622B
- Authority
- CN
- China
- Prior art keywords
- verification address
- initial verification
- packet
- value
- address
- 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码校验矩阵的具体实现方案。
Description
技术领域
本发明涉及低密度奇偶校验码技术领域,尤其涉及一种低密度奇偶校验码校验矩阵的构造方法及装置。
背景技术
低密度奇偶校验(LDPC,Low Density Parity Check)码是一类由稀疏矩阵定义的线性分组码,其迭代译码算法比较简单,具有逼近香农限的性能,目前,很多通信系统的标准中均采用了LDPC码。
LDPC码的编码方法有很多,大致可以分为随机构造法和代数构造法。随机构造法虽然符合香农信息论中的随机编码思想,在码长较长时具有逼近香农限的性能,但是由于随机构造出的LDPC码没有一定的码结构,因此编译码的复杂度较高,在实际应用中,大多采用代数构造法来构造LDPC码。代数构造法包括有限几何法、图论法、置换法等,这些不同的代数构造方法都是为了实现以下几个目的:尽可能增大二分图(也可以称为Tanner图)中的环的环长、优化非规则码的节点度分布、减少编码复杂度、保证构造的LDPC码具有良好的码性能等。
和积算法是一种迭代的概率译码方法,由于其较低的复杂度和较优的译码性能,成为LDPC码的首选译码方法。若LDPC码的校验矩阵中不存在环,则和积算法就等效于逐符号的最大后验概率译码算法,此时和积算法可以实现最佳译码。但是,LDPC码的校验矩阵一般存在环,其中,环长为不小于4的偶数,若LDPC码的校验矩阵中存在环,则由和积算法计算所得的概率并非真正的后验概率,并不能达到最优的逐符号的最大后验概率,因此环的存在使得译码的最优性能得不到满足,尤其是环长较短的环(也可以称为短环,例如环长为4)会严重影响LDPC码的译码性能,因此,在构造LDPC码的校验矩阵时,应尽量避免出现短环,以减少短环对LDPC码的译码性能的影响。
现有技术中还没有提出构造不存在短环的LDPC码校验矩阵的具体实现方案。
发明内容
本发明实施例提供一种LDPC码校验矩阵的构造方法及装置,用以提出一种构造不存在短环的LDPC码校验矩阵的具体实现方案。
本发明实施例技术方案如下:
一种LDPC码校验矩阵的构造方法,该方法包括步骤:根据预设的分组长度值,将低密度奇偶校验LDPC码的信息比特划分成各分组;针对划分出的每个分组,分别执行:根据循环移位值和分组长度值,搜索初始校验地址;判断搜索到的该初始校验地址和该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环,在判断结果为否时,将搜索到的该初始校验地址确定为该分组的初始校验地址;判断该分组的初始校验地址的数量是否达到预设的第二规定阈值,并在判断结果为否时,返回继续执行搜索初始校验地址的操作;在针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定出的初始校验地址,构造对应的LDPC码校验矩阵。
一种LDPC码校验矩阵的构造装置,包括:划分模块,用于根据预设的分组长度值,将低密度奇偶校验LDPC码的信息比特划分成各分组;搜索模块,用于针对划分模块划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址,以及在第二判断模块的判断结果为否时,继续执行搜索初始校验地址的操作;第一判断模块,用于判断搜索模块搜索到的该初始校验地址和确定模块已确定出的、该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环;确定模块,用于在第一判断模块的判断结果为否时,将搜索模块搜索到的该初始校验地址确定为该分组的初始校验地址;第二判断模块,用于判断该分组的初始校验地址的数量是否达到预设的第二规定阈值;构造模块,用于在确定模块针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定模块确定出的初始校验地址,构造对应的LDPC码校验矩阵。
本发明有益效果如下:
本发明实施例技术方案中,首先根据预设的分组长度值,将LDPC码的信息比特划分成各分组,针对划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址,判断搜索到的该初始校验地址和该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环,在判断结果为否时,将搜索到的该初始校验地址确定为该分组的初始校验地址,判断该分组的初始校验地址的数量是否达到预设的第二规定阈值,并在判断结果为否时,返回继续执行搜索初始校验地址的操作,在针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定出的初始校验地址,构造对应的LDPC码校验矩阵。由上可见,本发明实施例技术方案提出了一种构造不存在短环的LDPC码校验矩阵的具体实现方案,从而避免了在构造LDPC码的校验矩阵时出现短环,有效地减少了短环对LDPC码的译码性能的影响。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,LDPC码校验矩阵的构造方法流程示意图;
图2为本发明实施例中,针对每个分组分别确定初始校验地址的方法具体实现流程示意图;
图3为本发明实施例中,LDPC码校验矩阵的构造装置结构示意图;
图4为本发明实施例中,LDPC码编码器的硬件实现结构示意图;
图5为本发明实施例中,LDPC码校验矩阵的构造装置结构示意图;
图6为本发明实施例中,当LDPC码编码器处于信息比特输入状态时,控制电路产生的控制信号的时序示意图;
图7为本发明实施例中,当LDPC码编码器处于校验比特输出状态时,控制电路产生的控制信号的时序示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
扩展非规则重复累加码是一类编码具有线性复杂度的LDPC码,令LDPC码的码长为N,信息比特长度为K,校验比特长度为M=N-K,LDPC码校验矩阵H具有如下形式:
H=[H1,H2]
其中,H1是M×K阶的稀疏矩阵,H2是M×M阶的阶梯下三角矩阵。
稀疏矩阵H1一般采用结构化构造的方法,根据分组长度值P,将LDPC码的信息比特K划分成各分组,共划分为fτ个分组,fτ=K/P,每个分组中,首个列向量中“1”的位置称之该分组的初始校验地址,分组中其余列向量中“1”的位置称为移位校验地址,初始校验地址和移位校验地址可以统称为校验地址,移位校验地址由前一列向量的校验地址向下循环移位q次得到,q称为循环移位值,q=M/P,P能被M整除。
由上可见,构造LDPC码校验矩阵H时,如果校验比特长度M已知,则可获得阶梯下三角矩阵H2,那么只需要构造稀疏矩阵H1即可,因此需要获知各分组的校验地址,而分组的移位校验地址由初始校验地址循环移位得到,因此,为了保证构造出的校验矩阵H不出现短环,显然每个分组的初始校验地址的选取尤为重要。
如图1所示,为本发明实施例中,LDPC码校验矩阵的构造方法流程图,其具体处理流程如下:
步骤11,根据预设的分组长度值,将LDPC码的信息比特划分成各分组;
将0~(M-1)这M个校验地址按从小到大的顺序,每q个分成一个分段,共分为P个分段,P不仅表示分组长度值,还表示分段的数量,将初始校验地址表示成商值乘以P再加上余数值的形式,即:
初始校验地址=商值×P+余数值
其中,商值取自与分组长度值P对应的商值集合{0,1,ΛP-1},余数值取自与循环移位值q对应的余数值集合{0,1,Λq-1}。
步骤12,针对划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址;
在针对每个分组分别进行初始校验地址的搜索时,只需要在商值集合{0,1,ΛP-1}中选取一个商值,在余数值集合{0,1,Λq-1}中选取出一个余数值,然后将商值与分组长度值P进行积运算后,再与循环移位值q进行和运算,得到的值即为搜索到的初始校验值。
步骤13,判断搜索到的该初始校验地址和该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环,在判断结果为是时,转至步骤12,在判断结果为否时,转至步骤14;
针对每个分组,先按照步骤12,搜索出第一个初始校验地址,由于不存在确定出的初始校验地址,因此可以直接将搜索到的第一个初始校验地址确定为该分组的初始校验地址,继续搜索初始校验地址,由搜索到的初始校验地址和确定出的、该分组的初始校验地址构成校验矩阵,判断构成的校验矩阵中是否存在环长不大于第一规定阈值的环,即判断是否存在短环,若判断出存在短环,则认为本次搜索到的初始校验地址不满足条件,此时需要在预设的最大搜索次数的范围内,反复进行随机搜索,直至搜索到校验矩阵中不存在短环的初始校验地址,若判断出不存在短环,则认为本次搜索到的初始校验地址满足条件,可以转至步骤14,确定为该分组的初始校验地址。
其中,最大搜索次数为Max_SN,若达到最大搜索次数时,仍未搜索到校验矩阵中不存在短环的初始校验地址,则中断搜索过程,此时,可以减小每个分组内初始校验地址的数量τ值或fτ值,然后重新开始搜索初始校验地址。
上述第一规定阈值可以进行设置,例如设置为4,若校验矩阵中存在环长为4的环,则认为存在短环。
在判断校验矩阵是否存在短环时,简单的代数方法为:将校验矩阵乘以该校验矩阵的转置,得到对应的方阵,若除方阵对角线上的元素之外的其余元素均不大于1,则校验矩阵不存在短环,否则存在短环。
步骤14,将搜索到的该初始校验地址确定为该分组的初始校验地址;
步骤15,判断该分组的初始校验地址的数量是否达到预设的第二规定阈值,在判断结果为是时,转至步骤16,在判断结果为否时,转至步骤12;
上述第二规定阈值即为预设的每个分组内初始校验地址的数量τ,其中τ≤P。
在将搜索到的该初始校验地址确定为该分组的初始校验地址之后,在继续执行搜索初始校验地址的操作之前,可以记录余数值的使用次数,即将本次选取的余数值对应的使用次数累计加1,在从循环移位值q对应的余数值集合中,选取一个余数值时,确定针对余数值集合所包含的各余数值分别累计的使用次数,选择出使用次数最少的余数值,若使用次数最少的余数值为1个,则直接选取该余数值,若使用次数最少的余数值为至少两个,则在使用次数最少的余数值中,随机选择一个余数值,这样就使得余数值被选取的次数尽量相同,以达到校验节点的度值尽量保持均匀的目的。
设分组的初始校验地址为η,0≤η≤M-1,其对q值取模,余数值为α,即α=μmodq,则根据下式的计算,分组内其余列的移位校验地址中必含有余数值为α的移位校验地址。
((η+iq)modM)modq=ηmodq=α
其中,1≤i≤P-1。
即具有相同余数值的校验地址对应的校验节点必定具有相同的度值,即校验矩阵的行重。这个结论为在搜索初始校验地址的过程中,如何保持校验节点的度值尽量均匀提供了依据。
在将搜索到的该初始校验地址确定为该分组的初始校验地址之后,在继续执行搜索初始校验地址的操作之前,还可以将选取的商值,从分组长度值对应的商值集合中删除,其目的是将分组内的初始校验地址放置于P个分段中的不同分段内。
步骤16,在针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定出的初始校验地址,构造对应的LDPC码校验矩阵。
在构造LDPC码校验矩阵H时,先根据针对各分组分别确定出的初始校验地址,构造对应的稀疏矩阵H1,然后根据构造的所述稀疏矩阵H1和与该稀疏矩阵H1对应的阶梯下三角矩阵H2,构造对应的LDPC码校验矩阵H。
例如,τ=3,fτ=2,M=12,P=4,q=3,Max_N=1000,针对两个分组确定出的初始校验地址分别为:{2,4,11}和{1,6,9},构造的校验矩阵H为:
本发明实施例中,可以依次针对各分组确定初始校验地址,例如,在划分出的各分组中,先随机选取一个分组,针对该分组确定初始校验地址,在确定出数量为第二规定阈值的初始校验地址后,从其他分组中随机选取一个分组,继续执行确定初始校验地址的操作,直至针对所有分组均确定出数量为第二规定阈值的初始校验地址。
此外,还可以同时针对各分组确定初始校验地址,在针对所有分组均确定出数量为第二规定阈值的初始校验地址后,再构造对应的LDPC码校验矩阵。
由上述处理过程可知,本发明实施例技术方案中,首先根据预设的分组长度值,将LDPC码的信息比特划分成各分组,针对划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址,判断搜索到的该初始校验地址和该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环,在判断结果为否时,将搜索到的该初始校验地址确定为该分组的初始校验地址,判断该分组的初始校验地址的数量是否达到预设的第二规定阈值,并在判断结果为否时,返回继续执行搜索初始校验地址的操作,在针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定出的初始校验地址,构造对应的LDPC码校验矩阵。由上可见,本发明实施例技术方案提出了一种构造不存在短环的LDPC码校验矩阵的具体实现方案,从而避免了在构造LDPC码的校验矩阵时出现短环,有效地减少了短环对LDPC码的译码性能的影响。
下面给出更为具体的实施方式。
如图2所示,为针对划分出的每个分组分别确定初始校验地址的方法具体实现流程示意图,其具体处理流程如下:
步骤21,对各变量进行初始化处理:
Used_Rem_Cnt表示余数值集合中的q个余数值的使用次数,Used_Rem_Cnt初始化为q维零向量,Grp_indx表示当前分组的分组号,Deg_indx表示该分组的初始校验地址的个数,Used_Rem_Cnt={0,0,...,0},Grp_indx=0,Deg_indx=0,商值集合为{0,1,ΛP-1},余数值集合为{0,1,Λq-1}。
步骤22,将搜索次数置0;
步骤23,随机搜索出一个初始校验地址,具体的:从商值集合中随机选取出一个商值,再根据Used_Rem_Cnt中记录的余数值的使用次数,从余数值集合中随机选取出一个使用次数最少的余数值,搜索到的初始校验地址等于选取的商值乘以P,再加上选取的余数值。
步骤24,判断搜索到的初始校验地址与已确定出的、该分组的初始校验地址构成的校验矩阵中是否存在环长不大于第一规定阈值的环,若判断结果为是,则转至步骤25,若判断结果为否,则转至步骤28;
步骤25,将搜索次数累计加1;
步骤26,判断搜索次数是否达到预先设置的最大搜索次数Max_SN,若判断结果为是,则转至步骤27,若判断结果为否,则转至步骤23;
步骤27,中断搜索初始校验地址的处理;
步骤28,将搜索到的初始校验地址确定为该分组的初始校验地址,将搜索到的初始校验地址进行存储;
步骤29,将选取的余数值的使用次数Used_Rem_Cnt累计加1,在商值集合中,将选取的商值删除;
步骤210,将已确定出的、该分组的初始校验地址的个数Deg_indx累计加1;
步骤211,判断已确定出的、该分组的初始校验地址的个数Deg_indx是否达到了第二规定阈值,若判断结果为是,则转至步骤212,若判断结果为否,则转至步骤22;
步骤212,完成该分组的初始校验地址的确定过程。
与上述LDPC码校验矩阵的构造方法对应,本发明实施例提供一种LDPC码校验矩阵的构造装置,其结构如图3所示,包括划分模块31、搜索模块32、第一判断模块33、确定模块34、第二判断模块35和构造模块36,其中:
划分模块31,用于根据预设的分组长度值,将LDPC码的信息比特划分成各分组;
搜索模块32,用于针对划分模块31划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址,以及在第二判断模块35的判断结果为否时,继续执行搜索初始校验地址的操作;
第一判断模块33,用于判断搜索模块32搜索到的该初始校验地址和确定模块34已确定出的、该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环;
确定模块34,用于在第一判断模块33的判断结果为否时,将搜索模块32搜索到的该初始校验地址确定为该分组的初始校验地址;
第二判断模块35,用于判断该分组的初始校验地址的数量是否达到预设的第二规定阈值;
构造模块36,用于在确定模块34针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定模块34确定出的初始校验地址,构造对应的LDPC码校验矩阵。
较佳地,搜索模块32具体包括第一选取子模块、第二选取子模块、运算子模块和确定子模块,其中:
第一选取子模块,用于从分组长度值对应的商值集合中,选取一个商值;
第二选取子模块,用于从循环移位值对应的余数值集合中,选取一个余数值;
运算子模块,用于将第一选取子模块选取的商值与所述分组长度值进行积运算后,与第二选取子模块选取的余数值进行和运算;
确定子模块,用于将运算子模块运算得到的值确定为搜索到的初始校验地址。
更佳地,所述LDPC码校验矩阵的构造装置还包括累计模块,用于在搜索模块32继续执行搜索初始校验地址的操作之前,将第二选取子模块选取的余数值对应的使用次数累计加1;
第二选取子模块具体用于:
确定累计模块针对余数值集合所包含的各余数值分别累计的使用次数,选择出使用次数最少的余数值,以及在选择出的使用次数最少的余数值中,选择一个余数值。
更佳地,所述LDPC码校验矩阵的构造装置还包括删除单元,用于在搜索模块32继续执行搜索初始校验地址的操作之前,将第一选取子模块选取的商值,从分组长度值对应的商值集合中删除。
构造模块36具体包括:
第一构造子模块,用于在确定模块34针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定模块34确定出的初始校验地址,构造对应的稀疏矩阵;
第二构造子模块,用于根据第一构造子模块构造的所述稀疏矩阵和与该稀疏矩阵对应的阶梯下三角矩阵,构造对应的LDPC码校验矩阵。
下面对基于上述LDPC码校验矩阵的构造方法进行编码的LDPC码编码器进行详细介绍。
LDPC码编码器完成的功能是根据输入的K个信息比特,先原样输出这K个信息比特,再输出M个校验比特,其编码的实质就是在二元域上求解线性方程组HCT=0,其中H为校验矩阵,C为码字向量。在实际应用中,LDPC码一般采用的是系统码形式,其码字可以表示成信息比特与校验比特级联的形式,即:
C=(m0,m1,Λ,mK-1,p0,p1,Λ,pM-1)
其中,m0,m1,Λ,mK-1为K个取值在二元域上的已知信息比特,p0,p1,Λ,pM-1为M个取值在二元域上的未知校验比特。
设稀疏矩阵H1具有式(1)所示的形式:
其中,ai,j是稀疏矩阵H1中的元素,ai,j在二元域上取值。
本发明实施例提出,引入迭代中间变量Si,j,Si,j具有式(2)所示的形式:
Si,j=Si,j+ai,jmj (2)
其中,0≤i≤M-1,0≤j≤K-1,Si,0=Si,0+ai,0m0,则线性方程组可以为式(3)所示:
针对式(3),为了求解p0,p1ΛpM-1,需求解出S0,K-1,S1,K-1ΛSM-1,K-1,而由式(2)可知,Si,j的计算是一个累加ai,jmj的过程,令τ∈I(j)=(i:ai,j=1),式(2)可简化成式(4):
Si,j=Sτ,j-1+mj (4)
针对式(4),每当输入一个信息比特mj,仅仅需要计算稀疏矩阵H1中第j列上不为0的那些Si,j即可。
本发明实施例提出,可以但不限于用P个容量为(q×1)比特的双口随机存取存储器(RAM,Random Access Memory)对式(2)中的迭代中间变量Si,j进行顺序存储,P个双口RAM分别为:RAM0,RAM1,Λ,RAMP=1。
对于每个信息比特mj,从P个双口RAM中的τ个读写地址处读出存储值,与mj进行异或处理,在下一个时钟周期将异或处理得到的值写入双口RAM的原地址中。由于在搜索初始校验地址的过程中,初始校验地址被置于P个分段中的不同分段内,这τ个读写地址必定处于不同的双口RAM上,因此不会出现读写地址冲突的问题。
设分组的首列初始校验地址的商值分别为Q1,Q2,Λ,Qτ,余数值分别为R1,R2,Λ,Rτ,则与此列初始校验地址相对应的P个双口RAM的读使能为:
其中,i=0,1,ΛM-1 j=1,2,Λτ。
P个双口RAM的读地址为:
其中,i=0,1,ΛM-1 j=1,2,Λτ。
由于校验矩阵的分组结构化构造特点,该分组中与其余列的移位校验地址相对应的P个双口RAM的读使能分别由前一列校验地址相对应的读使能循环移位得到,该分组中与其余列的移位校验地址相对应的P个双口RAM的读地址分别由前一列校验地址相对应的读地址循环移位得到。
本发明实施例提出,LDPC码编码器的硬件实现结构可以但不限于如图4所示,其工作状态分为信息比特输入状态和校验比特输出状态。下面将参照图4至图7,对LDPC码编码器的硬件实现结构进行详细描述。
令即需要用l个比特来表示q值。
图4中,使能存储器4001是容量为fτ×P的只读存储器(ROM,Read-Only Memory),其存储的是根据式(5)计算出的、所有分组的初始校验地址的读使能。
地址存储器4002是容量为fτ×(P×l)的ROM,其存储的是根据式(6)计算出的、所有分组的初始校验地址的读地址。
例如,若分组1的初始校验地址为2,4,11,初始校验地址对应的分段号分别为1,2,4,分组2的初始校验地址为1,6,9,初始校验地址对应的分段号分别为1,3,4,使能存储器4001中存储的是2个四维向量:{1101}和{1011}。
若l=2,分组1的初始校验地址为2,4,11,对应的余数值分别为2,1,2,分组2的初始校验地址为1,6,9,对应的余数值分别为1,0,0,则地址存储器4002中存储的是2个六维向量:{100110}和{010000}。
在LDPC码编码器处于信息比特输入状态时,使能存储器4001和地址存储器4002的读地址控制信号CA每隔P个时钟周期自动累计加1,(初始值为0),而在LDPC码编码器处于校验比特输出状态,读地址控制信号CA保持不变。
图4中,使能循环移位寄存器4003是一组宽度为1比特、长度为P的循环移位寄存器,其P个输出使能信号分别对应到P个迭代计算单元4005上。
地址循环移位寄存器4004是一组宽度为l比特、长度为P的循环移位寄存器,其P个输出地址值分别对应到P个迭代计算单元4005上。
迭代计算单元4005的详细结构如图5所示,其中,控制信号CE5决定了双口RAM中写入的值,在CE5无效的情况下,当读使能信号有效时,根据读地址读出双口RAM中的值,与信息比特进行异或处理,在下一个时钟周期将异或处理得到的值写入双口RAM的原地址中;在CE5有效的情况下,双口RAM将被写入0值,即进行清零操作,以保证后续的信息段能正确编码。
在图4中,控制信号CE2是使能循环移位寄存器4003和地址循环移位寄存器4004的载入信号,有效时间为一个时钟周期。在LDPC码编码器处于信息比特输入状态时,控制信号CE1无效,CE2每隔P个时钟周期有效一次,载入使能存储器4001和地址存储器4002读出的值;在LDPC码编码器处于校验比特输出状态时,CE1有效,CE2仅有效一次,使能循环移位寄存器4003中载入P维向量{10Λ0}(即4006),使地址循环移位寄存器4004载入{10Λq-1}(即4008)。
在图4中,部件4007是数据宽度为P的二选一数据选择器,部件4009是数据宽度为P×l的二选一数据选择器。
控制信号CE3是循环移位寄存器4003的循环移位使能信号,在LDPC码编码器处于信息比特输入状态时,CE3一直保持有效;在LDPC码编码器处于校验比特输出状态时,CE3每隔q个时钟周期有效一次,有效时间为一个时钟周期。
控制信号CE4是循环移位寄存器4004的循环移位使能信号,在LDPC码编码器处于校验比特输出状态和校验比特输出状态时,均保持有效。
控制信号CE6是数据宽度为1的P选一数据选择器(即4010)的选择信号,在LDPC码编码器处于信息比特输入状态时,CE6保持为0值;在LDPC码编码器处于校验比特输出状态时,CE6每隔q个时钟周期自动累计加1,将迭代计算单元4005中的P个双口RAM中存储的数据依次输出。
在图4中,部件4011是异或门,部件4012是触发器,这两者构成的电路用于递归式(3)中的校验比特。
控制电路4013用于产生控制信号CA、CE1、CE2、CE3、CE4、CE5和CE6,当LDPC码编码器处于信息比特输入状态时,其时序图如图6所示,当LDPC码编码器处于校验比特输出状态时,其时序图如图7所示。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (6)
1.一种低密度奇偶校验码校验矩阵的构造方法,其特征在于,包括:
根据预设的分组长度值,将低密度奇偶校验LDPC码的信息比特划分成各分组;
针对划分出的每个分组,分别执行:
根据循环移位值和分组长度值,搜索初始校验地址,其中,所述初始校验地址为每个分组中首个列向量中1的位置;
判断搜索到的该初始校验地址和该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环,在判断结果为是时,返回继续执行搜索初始校验地址的操作,在判断结果为否时,将搜索到的该初始校验地址确定为该分组的初始校验地址;
判断该分组的初始校验地址的数量是否达到预设的第二规定阈值,并在判断结果为否时,返回继续执行搜索初始校验地址的操作;在判断结果为是时,在针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定出的初始校验地址,构造对应的LDPC码校验矩阵;
根据确定出的初始校验地址,构造对应的LDPC码校验矩阵包括:根据针对各分组分别确定出的初始校验地址和移位校验地址,构造对应的稀疏矩阵,其中,所述移位校验地址由前一列向量的校验地址向下循环移位得到;根据构造的所述稀疏矩阵和与该稀疏矩阵对应的阶梯下三角矩阵,构造对应的LDPC码校验矩阵;
其中,根据循环移位值和分组长度值,搜索初始校验地址,具体包括:从分组长度值对应的商值集合中,选取一个商值,其中,所述商值集合为{0,1,…P-1},其中,P为所述分组长度值;商值为所述商值集合中的任意值;从循环移位值对应的余数值集合中,选取一个余数值,所述余数值集合为{0,1,…q-1},其中,q为所述循环移位值;余数值为所述余数值集合中任意值;将选取的商值与所述分组长度值进行积运算后,与选取的余数值进行和运算;将运算得到的值确定为搜索到的初始校验地址。
2.如权利要求1所述的方法,其特征在于,在继续执行搜索初始校验地址的操作之前,还包括:
将选取的余数值对应的使用次数累计加1;
从循环移位值对应的余数值集合中,选取一个余数值,具体包括:
确定针对余数值集合所包含的各余数值分别累计的使用次数;
选择出使用次数最少的余数值;
在选择出的使用次数最少的余数值中,选择一个余数值。
3.如权利要求1所述的方法,其特征在于,在继续执行搜索初始校验地址的操作之前,还包括:
将选取的商值,从分组长度值对应的商值集合中删除。
4.一种低密度奇偶校验码校验矩阵的构造装置,其特征在于,包括:
划分模块,用于根据预设的分组长度值,将低密度奇偶校验LDPC码的信息比特划分成各分组;
搜索模块,用于针对划分模块划分出的每个分组,分别根据循环移位值和分组长度值,搜索初始校验地址,以及在第二判断模块的判断结果为否时,继续执行搜索初始校验地址的操作,其中,所述初始校验地址为每个分组中首个列向量中1的位置;
第一判断模块,用于判断搜索模块搜索到的该初始校验地址和确定模块已确定出的、该分组的初始校验地址所构成的校验矩阵中是否存在环长不大于第一规定阈值的环;
确定模块,用于在第一判断模块的判断结果为否时,将搜索模块搜索到的该初始校验地址确定为该分组的初始校验地址,在第一判断模块的判断结果为是时,返回继续执行搜索初始校验地址的操作;
第二判断模块,用于判断该分组的初始校验地址的数量是否达到预设的第二规定阈值;
构造模块,用于在确定模块针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定模块确定出的初始校验地址,构造对应的LDPC码校验矩阵;
构造模块具体包括:
第一构造子模块,用于在确定模块针对各分组分别确定出数量为第二规定阈值的初始校验地址后,根据确定模块确定出的初始校验地址和移位校验地址,构造对应的稀疏矩阵,其中,所述移位校验地址由前一列向量的校验地址向下循环移位得到;第二构造子模块,用于根据第一构造子模块构造的所述稀疏矩阵和与该稀疏矩阵对应的阶梯下三角矩阵,构造对应的LDPC码校验矩阵;
其中,所述搜索模块具体包括:第一选取子模块,用于从分组长度值对应的商值集合中,选取一个商值,其中,所述商值集合为{0,1,…P-1},其中,P为所述分组长度值;商值为所述商值集合中的任意值;第二选取子模块,用于从循环移位值对应的余数值集合中,选取一个余数值,所述余数值集合为{0,1,…q-1},其中,q为所述循环移位值;余数值为所述余数值集合中任意值;
运算子模块,用于将第一选取子模块选取的商值与所述分组长度值进行积运算后,与第二选取子模块选取的余数值进行和运算;确定子模块,用于将运算子模块运算得到的值确定为搜索到的初始校验地址。
5.如权利要求4所述的装置,其特征在于,还包括:
累计模块,用于在搜索模块继续执行搜索初始校验地址的操作之前,将第二选取子模块选取的余数值对应的使用次数累计加1;
第二选取子模块具体用于:
确定累计模块针对余数值集合所包含的各余数值分别累计的使用次数,选择出使用次数最少的余数值,以及在选择出的使用次数最少的余数值中,选择一个余数值。
6.如权利要求4所述的装置,其特征在于,还包括:
删除单元,用于在搜索模块继续执行搜索初始校验地址的操作之前,将第一选取子模块选取的商值,从分组长度值对应的商值集合中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110131720.8A CN102790622B (zh) | 2011-05-19 | 2011-05-19 | 低密度奇偶校验码校验矩阵的构造方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110131720.8A CN102790622B (zh) | 2011-05-19 | 2011-05-19 | 低密度奇偶校验码校验矩阵的构造方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102790622A CN102790622A (zh) | 2012-11-21 |
CN102790622B true CN102790622B (zh) | 2017-03-15 |
Family
ID=47155934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110131720.8A Active CN102790622B (zh) | 2011-05-19 | 2011-05-19 | 低密度奇偶校验码校验矩阵的构造方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102790622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934449B (zh) * | 2023-02-08 | 2023-06-02 | 合肥智芯半导体有限公司 | 一种寄存器的校验方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564466A (zh) * | 2004-03-29 | 2005-01-12 | 上海交通大学 | 采用分层低密度校验码的信道编码方法 |
CN1783730A (zh) * | 2004-12-01 | 2006-06-07 | 三星电子株式会社 | 生成低密度奇偶校验码的方法与装置 |
CN1794621A (zh) * | 2006-01-12 | 2006-06-28 | 北京大学 | 非规则置换矩阵ldpc码的构造方法及装置 |
CN101080872A (zh) * | 2004-12-15 | 2007-11-28 | 摩托罗拉公司 | 利用向量行分组的结构化ldpc设计 |
CN101162907A (zh) * | 2006-10-10 | 2008-04-16 | 华为技术有限公司 | 一种构造低密度奇偶校验码校验矩阵的方法及装置 |
CN101262230A (zh) * | 2008-04-24 | 2008-09-10 | 复旦大学 | 一种低密度奇偶校验码矩阵的设计方法 |
CN101997552A (zh) * | 2009-08-31 | 2011-03-30 | 电子科技大学 | 低编码复杂度多元非规则ldpc码的设计 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103931B2 (en) * | 2008-08-27 | 2012-01-24 | Mitsubishi Electric Research Laboratories, Inc. | Method for constructing large-girth quasi-cyclic low-density parity-check codes |
-
2011
- 2011-05-19 CN CN201110131720.8A patent/CN102790622B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564466A (zh) * | 2004-03-29 | 2005-01-12 | 上海交通大学 | 采用分层低密度校验码的信道编码方法 |
CN1783730A (zh) * | 2004-12-01 | 2006-06-07 | 三星电子株式会社 | 生成低密度奇偶校验码的方法与装置 |
CN101080872A (zh) * | 2004-12-15 | 2007-11-28 | 摩托罗拉公司 | 利用向量行分组的结构化ldpc设计 |
CN1794621A (zh) * | 2006-01-12 | 2006-06-28 | 北京大学 | 非规则置换矩阵ldpc码的构造方法及装置 |
CN101162907A (zh) * | 2006-10-10 | 2008-04-16 | 华为技术有限公司 | 一种构造低密度奇偶校验码校验矩阵的方法及装置 |
CN101262230A (zh) * | 2008-04-24 | 2008-09-10 | 复旦大学 | 一种低密度奇偶校验码矩阵的设计方法 |
CN101997552A (zh) * | 2009-08-31 | 2011-03-30 | 电子科技大学 | 低编码复杂度多元非规则ldpc码的设计 |
Non-Patent Citations (1)
Title |
---|
准循环LDPC好码设计;肖扬 等;《系统工程与电子技术》;20090531;第31卷(第5期);第1011-1017页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102790622A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7730377B2 (en) | Layered decoding of low density parity check (LDPC) codes | |
CN100425000C (zh) | 双涡轮结构低密度奇偶校验码解码器及解码方法 | |
US20110239080A1 (en) | Error detection/correction circuit, memory controller and semiconductor memory apparatus | |
CN103843252A (zh) | 确定准循环低密度奇偶校验码的方法和基于准循环低密度奇偶校验码进行数据编码的系统 | |
CN107852176A (zh) | Ldpc码编码器和译码器 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
US8843810B2 (en) | Method and apparatus for performing a CRC check | |
CN107404321A (zh) | 用于纠错码解码的方法和设备 | |
WO2021063217A1 (zh) | 一种译码方法及装置 | |
CN105811996A (zh) | 一种基于准循环ldpc的数据处理方法及系统 | |
CN102356554A (zh) | Turbo码数据交织处理方法和用于交织Turbo码数据的交织器 | |
CN103731157B (zh) | 准循环低密度校验码的联合构造方法 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN106708654A (zh) | 一种用于NANDflash的BCH纠错码的电路结构 | |
CN102790622B (zh) | 低密度奇偶校验码校验矩阵的构造方法及装置 | |
CN113055028A (zh) | Ldpc解码方法、解码器、解码装置及存储介质 | |
CN107947802A (zh) | 速率兼容低密度奇偶校验码编译码的方法及编译码器 | |
CN109935263B (zh) | 非易失性存储器的编译码方法及存储系统 | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
CN106656211A (zh) | 一种基于Hoey序列的非规则Type‑II QC‑LDPC码构造方法 | |
CN105790774A (zh) | 一种改进型ldpc译码方法及装置 | |
CN102594507B (zh) | 一种软件无线电系统中的高速并行Turbo译码方法及系统 | |
Nair et al. | Maximally recoverable codes with hierarchical locality | |
US11171673B2 (en) | Decoding method and apparatus | |
Farnoud et al. | Multipermutation codes in the Ulam metric |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221107 Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right |