低密度奇偶校验码校验矩阵构造方法及装置的制作方法

文档序号:7758686阅读:196来源:国知局
专利名称:低密度奇偶校验码校验矩阵构造方法及装置的制作方法
技术领域
本发明涉及分组信道编码技术领域,特别是涉及一种低密度奇偶校验码校验矩阵构造方法及装置。
背景技术
在现有技术中,低密度奇偶校验码(Low Density Parity Check code,简称为 LDPC)最早在1962年由Gallager提出,当时没有受到编码界的重视,直到1996年英国的 Mackay教授等人通过仿真证明了 LDPC的优秀性能,才轰动了编码界,成为自信息论提出以来最重大的研究进展之一。研究表明,基于非规则双向图的LDPC的性能优于Turbo码,具有更低的线性译码复杂度,没有错误平层,因此受到广泛关注。LDPC是一类线性分组码,由LDPC的校验矩阵来定义,设编码后的码长为N,信息位的长度为K,校验位的长度M = N-K,码率R = K/N,则校验矩阵是一个MXN的矩阵。校验矩阵中有很少一部分非零元素,其他大部分元素都是零,所以LDPC的校验矩阵是稀疏矩阵, 矩阵中每一列非零元素的数目称为该列的重。LDPC的校验矩阵可以用一个与其对应的双向图来表示,图1是现有技术中校验矩阵的示意图,如图1所示,该校验矩阵的码长为10,码率为0. 5,图2是图1所示校验矩阵的双向图,如图2所示,双向图的下面有N个节点,每个节点表示码字的信息位,这N个节点称为信息节点{~,j = 1,. . .,N},分别对应于校验矩阵的N列;双向图的上边有M个节点,每个节点表示码字的一个校验集,这M个节点称为校验节点{Zi,i = l,..., M},分别对应于校验矩阵的各行,代表着校验方程。与校验矩阵中“1”相对应的左右两节点之间存在连接边,将这条边两端的节点称为相邻节点,每个节点相连的边的数目称为该节点的度数。若LDPC对应的双向图为规则双向图,则此LDPC称为规则LDPC,规则双向图是指所有校验节点度数相等,信息节点度数也相等,规则LDPC的校验矩阵中每行或列中的“1”的个数是相等的;若LDPC对应的双向图为非规则双向图,则此LDPC称为非规则LDPC,非规则 LDPC码校验矩阵中每行或列中的“ 1,,的个数不相等。在实际应用中,适当构造的不规则码的性能优于规则码的性能。这一点可以从构成LDPC的双向图中直观的得到解释信息节点的度数越大,它从相关联的校验节点得到的信息越多,便越能准确地判断它的正确值,而对于校验节点,情况则相反,校验节点的度数越小,它能反馈给其邻接信息节点的信息便越有价值。显然,不规则码比规则码能够更好的平衡这两种需求。在构造LDPC的校验矩阵时,一个LDPC的校验矩阵的列重分布在很大程度上决定了 LDPC的性能,现有技术中构造出来的校验矩阵的性能比较低,并且构造出来的校验矩阵需要占用大量的存储空间。

发明内容
本发明提供一种低密度奇偶校验码校验矩阵构造方法及装置,以解决现有技术 LDPC的校验矩阵的性能低且需要占用大量的存储空间的问题。
本发明提供一种低密度奇偶校验码校验矩阵构造方法,包括步骤1,根据码率R和码长N计算编码参数,根据编码参数构造校验矩阵,并将校验矩阵进行分块,得到子矩阵H0, H1, H2, ... Hffl ;步骤2,将子矩阵Htl的主对角线和主对角线下方的次对角线所在的位置填充为1 ;步骤3,对于子矩阵Hb,根据子矩阵Hb的列重dv生成dv维随机向量,根据随机向量确定子矩阵Hb的第1列的填充位置Vl,v2,... . Vi,并在第1列的填充位置上填充1,根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,并在第j列的填充位置上填充1,其中,b = 1,2,...m,i = 1,2,... , dv,j 为大于 1 的自然数;步骤4,验证由子矩阵H。,H1, H2, ...,Hb构成的矩阵内是否存在短环,如果存在短环,将最新填充的子矩阵Hb清零,并执行步骤3,如果不存在短环,判断b是否等于m,如果b =m,则校验矩阵构造结束,否则,继续执行步骤3。本发明还提供了一种低密度奇偶校验码校验矩阵构造装置,包括计算模块,用于根据码率R和码长N计算编码参数;构造模块,用于根据编码参数构造校验矩阵;分块模块,用于将校验矩阵进行分块,得到子矩阵Htl,H1, H2, . . . Hm,其中,m为自然数;第一填充模块,用于将子矩阵Htl的主对角线和主对角线下方的次对角线所在的位置填充为1 ;第二填充模块,用于对于子矩阵Hb,根据子矩阵Hb的列重dv生成dv维随机向量, 根据随机向量确定子矩阵Hb的第1列的填充位置Vl,v2,... . Vi,并在第1列的填充位置上填充1,根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,并在第j列的填充位置上填充1,其中,b = l,2,...m,i = 1,2,...,dv,j为大于1的自然数;验证模块,用于验证由子矩阵H。,H1, H2, ...,Hb构成的矩阵内是否存在短环;第一调用模块,用于在存在短环的情况下,将最新填充的子矩阵Hb清零,并调用第二填充模块;判断模块,用于在不存在短环的情况下,判断b是否等于m,如果b = m,则校验矩阵构造结束;第二调用模块,用于判断b不等于m的情况下,调用第二填充模块。本发明有益效果如下通过验证由子矩阵Htl,HnH2,...,Hb构成的矩阵内是否存在短环、以及根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,解决了现有技术中LDPC的校验矩阵的性能低且需要占用大量的存储空间的问题,本发明实施例的技术方案能够适用于码长为从一千左右的短码到码长为十几万的长码,构造的校验矩阵具有一定的循环性,能够极大地降低校验矩阵的存储空间,此外,采用本发明实施例技术方案构造的LDPC码的性能接近随机构造的LDPC码的性能,提高了 LDPC校验矩阵的性能,在通信系统中具有将强的实用性。


图1是现有技术中校验矩阵的示意图;图2是图1所示校验矩阵的双向图3是本发明实施例的低密度奇偶校验码校验矩阵构造方法的流程图;图4是本发明实施例的校验矩阵分块方式的示意图;图5是本发明实施例的低密度奇偶校验码校验矩阵构造装置的结构示意图。
具体实施例方式为了解决现有技术中LDPC校验矩阵的性能低且需要占用大量的存储空间的问题,本发明提供了一种低密度奇偶校验码校验矩阵构造方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。方法实施例根据本发明的实施例,提供了一种低密度奇偶校验码校验矩阵构造方法,图3是本发明实施例的低密度奇偶校验码校验矩阵构造方法的流程图,在对本发明实施例的技术方案进行详细说明之前,首先对涉及到的字母的含义进行说明H代表校验矩阵,Hx代表校验矩阵的子矩阵X,N代表编码后的码长,K代表编码前的码长,即信息位长度,M代表校验位的长度,R代表编码码率,m为K的一个约数,用于控制分块的大小,m越大,将H分块数量越少。以下对本发明实施例的技术方案进行说明,如图3所示,根据本发明实施例的低密度奇偶校验码校验矩阵构造方法包括如下处理步骤301,根据码率R和码长N计算编码参数,根据编码参数构造校验矩阵,并将校验矩阵进行分块,得到子矩阵H0, H1, H2, ... Hffl ;在步骤301中,具体包括如下处理1、将码率R和码长N相乘,得到编码参数K ;2、将码长N减去编码参数K,得到编码参数M ;3、对编码参数K进行因数分解,获取编码参数K的约数m ;4、根据编码参数M和编码参数N构造M行N列的校验矩阵;5、根据参数m对校验矩阵进行分块,将校验矩阵拆分为M行M列的子矩阵H0和M 行K/m列的子矩阵H1, H2, . . . Hm。图4是本发明实施例的校验矩阵分块方式的示意图。步骤302,将子矩阵Htl的主对角线和主对角线下方的次对角线所在的位置填充为 1 ;步骤303,对于子矩阵Hb,根据子矩阵Hb的列重dv生成dv维随机向量,根据随机向量确定子矩阵Hb的第1列的填充位置Vl,v2,... . Vi,并在第1列的填充位置上填充1,随后, 根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,并在第j列的填充位置上填充1,其中,b = 1,2,...m,i = 1,2,..., dv, j为大于1的自然数;上述预先设置的计算方法为通过(Vi+j*m)modM计算子矩阵Hb的第j列的填充位置,其中,1 ^ Vi ^ M0步骤304,验证由子矩阵H。,H1, H2, ...,Hb构成的矩阵内是否存在短环,如果存在短环,将最新填充的子矩阵Hb清零,并执行步骤303,如果不存在短环,则继续判断b是否等于m,如果b = m,则校验矩阵构造结束,否则,继续执行步骤303。以下通过完成的处理过程对本发明上述技术方案进行详细的说明。具体包括如下处理
步骤1、根据码率R、码长N要求计算编码参数,K = R*N,M = N_K,对K进行因数分解,选择合理的m,m越大,存储校验矩阵所需空间越大;步骤2、将校验矩阵进行分块,各块标记为H。,H1, H2, ... Hm ;步骤3、将Htl中主对角线和主对角线下方次对角线所在的位置填充为1,变量b初始值设置为1 ;步骤4、尝试填充子矩阵Hb,b = 1,2,...m,该子矩阵的列重为dv(b),不同的子矩阵具有不同的列重,下述表述中省略参数b ;步骤5、生成dv维随机向量V,该随机向量的每个元素Vi互不相等,且满足
1 ^ Vi ^ M ;步骤6、在子矩阵内,先填充该子矩阵的第1列,在第一列的填充位置标记为V1,
V2 .... Vi ;步骤7、确定上述子矩阵内第j列的填充位置为(Vi+j*m)modM,其中i = 1,2,...,
dv ;步骤8、验证由H。,H1, H2, ...,Hb构成的矩阵内是否存在短环,如果存在短环,那么将最新填充的Hb清零,重新回到步骤4,如果不存在短环,继续步骤9 ;步骤9、如果b = m,那么构造过程结束,否则将b增加1后继续从步骤4执行。本发明实施例的技术方案能够适用于码长为从一千左右的短码到码长为十几万的长码,构造的校验矩阵具有一定的循环性,能够极大地降低校验矩阵的存储空间,此外, 采用本发明实施例技术方案构造的LDPC码的性能接近随机构造的LDPC码的性能,提高了 LDPC校验矩阵的性能,在通信系统中具有将强的实用性。装置实施例根据本发明的实施例,提供了一种低密度奇偶校验码校验矩阵构造装置,图5是本发明实施例的低密度奇偶校验码校验矩阵构造装置的结构示意图,如图5所示,根据本发明实施例的低密度奇偶校验码校验矩阵构造装置包括计算模块50、构造模块51、分块模块52、第一填充模块53、第二填充模块54、验证模块55、第一调用模块56、判断模块57、 第二调用模块58,以下对本发明实施例的各个模块进行详细的说明。计算模块50用于根据码率R和码长N计算编码参数;计算模块50具体包括如下处理1、计算模块50将所述码率R和所述码长N相乘,得到编码参数K,其中,K为编码前的码长;2、计算模块50将所述码长N减去所述编码参数K,得到编码参数M,其中,M为校验位的长度;3、计算模块50对所述编码参数K进行因数分解,获取所述编码参数K的约数 m0构造模块51用于根据编码参数构造校验矩阵;具体地,构造模块51根据所述编码参数M和所述编码参数N构造M行N列的校验矩阵。分块模块52用于将校验矩阵进行分块,得到子矩阵Htl,H1, H2, ... Hm,其中,m为自然数;具体地,分块模块52根据约数m对校验矩阵进行分块,将所述校验矩阵拆分为M行M 列的子矩阵Htl和M行K/m列的子矩阵H1, H2, . . . Hm。第一填充模块53用于将子矩阵Htl的主对角线和主对角线下方的次对角线所在的位置填充为1 ;
第二填充模块54用于对于子矩阵Hb,根据子矩阵Hb的列重dv生成dv维随机向量, 根据随机向量确定子矩阵Hb的第1列的填充位置Vl,v2,... . Vi,并在第1列的填充位置上填充1,根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,并在第j列的填充位置上填充1,其中,b = l,2,...m,i = 1,2,...,dv,j为大于1的自然数;需要说明的是,上述预先设置的计算方法为通过(Vi+j*m)modM计算所述子矩阵Hb的第j列的填充位置,其中,K Vi SM。验证模块55用于验证由子矩阵H。,H1, H2, ...,Hb构成的矩阵内是否存在短环;第一调用模块56用于在存在短环的情况下,将最新填充的子矩阵Hb清零,并调用第二填充模块54 ;判断模块57用于在不存在短环的情况下,判断b是否等于m,如果b = m,则校验矩阵构造结束;第二调用模块58用于判断b不等于m的情况下,调用第二填充模块54。本发明实施例的技术方案能够适用于码长为从一千左右的短码到码长为十几万的长码,构造的校验矩阵具有一定的循环性,能够极大地降低校验矩阵的存储空间,此外, 采用本发明实施例技术方案构造的LDPC码的性能接近随机构造的LDPC码的性能,提高了 LDPC校验矩阵的性能,在通信系统中具有将强的实用性。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
权利要求
1.一种低密度奇偶校验码校验矩阵构造方法,其特征在于,包括步骤1,根据码率R和码长N计算编码参数,根据所述编码参数构造校验矩阵,并将所述校验矩阵进行分块,得到子矩阵H0, H1, H2, ... Hffl ;步骤2,将所述子矩阵Htl的主对角线和所述主对角线下方的次对角线所在的位置填充为1 ;步骤3,对于子矩阵Hb,根据所述子矩阵Hb的列重dv生成dv维随机向量,根据所述随机向量确定所述子矩阵Hb的第1列的填充位置Vl,V2, ... . Vi,并在所述第1列的填充位置上填充1,根据预先设置的计算方法确定所述子矩阵Hb的第j列的填充位置,并在所述第j列的填充位置上填充1,其中,b = l,2,...m,i = 1,2,...,dv,j为大于1的自然数;步骤4,验证由子矩阵Htl,H1, H2, ... , Hb构成的矩阵内是否存在短环,如果存在所述短环,将最新填充的子矩阵Hb清零,并执行步骤3,如果不存在所述短环,判断b是否等于m, 如果b = m,则所述校验矩阵构造结束,否则,继续执行步骤3。
2.如权利要求1所述的方法,其特征在于,所述根据码率R和码长N计算编码参数包括将所述码率R和所述码长N相乘,得到编码参数K,其中,K为编码前的码长; 将所述码长N减去所述编码参数K,得到编码参数M,其中,M为校验位的长度; 对所述编码参数K进行因数分解,获取所述编码参数K的约数m。
3.如权利要求2所述的方法,其特征在于,根据所述编码参数构造校验矩阵,并将所述校验矩阵进行分块,得到子矩阵H0, HijH2,... Hffl包括根据所述编码参数M和所述编码参数N构造M行N列的所述校验矩阵; 根据所述约数m对所述校验矩阵进行分块,将所述校验矩阵拆分为M行M列的子矩阵 H0和M行K/m列的子矩阵H1, H2, · · · Hm。
4.如权利要求3所述的方法,其特征在于,所述预先设置的计算方法包括 通过(Vi+j*m)modM计算所述子矩阵Hb的第j列的填充位置,其中,1 ^ Vi ^ M0
5.一种低密度奇偶校验码校验矩阵构造装置,其特征在于,包括 计算模块,用于根据码率R和码长N计算编码参数;构造模块,用于根据所述编码参数构造校验矩阵;分块模块,用于将所述校验矩阵进行分块,得到子矩阵Htl,H1, H2, . . . Hm,其中,m为自然数;第一填充模块,用于将所述子矩阵Htl的主对角线和所述主对角线下方的次对角线所在的位置填充为1 ;第二填充模块,用于对于子矩阵Hb,根据所述子矩阵Hb的列重dv生成dv维随机向量, 根据所述随机向量确定所述子矩阵Hb的第1列的填充位置Vl,v2,... . Vi,并在所述第1列的填充位置上填充1,根据预先设置的计算方法确定所述子矩阵Hb的第j列的填充位置,并在所述第j列的填充位置上填充1,其中,b = l,2,...m,i = 1,2,...,dv,j为大于1的自然数;验证模块,用于验证由子矩阵Htl,H1, H2, ...,Hb构成的矩阵内是否存在短环; 第一调用模块,用于在存在所述短环的情况下,将最新填充的子矩阵Hb清零,并调用所述第二填充模块;判断模块,用于在不存在所述短环的情况下,判断b是否等于m,如果b = m,则所述校验矩阵构造结束;第二调用模块,用于判断b不等于m的情况下,调用所述第二填充模块。
6.如权利要求5所述的装置,其特征在于,所述计算模块具体用于将所述码率R和所述码长N相乘,得到编码参数K,其中,K为编码前的码长; 将所述码长N减去所述编码参数K,得到编码参数M,其中,M为校验位的长度; 对所述编码参数K进行因数分解,获取所述编码参数K的约数m。
7.如权利要求6所述的装置,其特征在于,所述构造模块具体用于 根据所述编码参数M和所述编码参数N构造M行N列的所述校验矩阵。
8.如权利要求7所述的装置,其特征在于,所述分块模块具体用于根据所述约数m对所述校验矩阵进行分块,将所述校验矩阵拆分为M行M列的子矩阵 H0和M行K/m列的子矩阵H1, H2, · · · Hm。
9.如权利要求8所述的装置,其特征在于,所述预先设置的计算方法包括 通过(Vi+j*m)modM计算所述子矩阵Hb的第j列的填充位置,其中,1 ^ Vi ^ M0
全文摘要
本发明公开了一种低密度奇偶校验码校验矩阵构造方法及装置。该方法包括步骤1,根据码率R和码长N计算编码参数,根据编码参数构造校验矩阵,并将校验矩阵进行分块;步骤2,将子矩阵H0的主对角线和主对角线下方的次对角线所在的位置填充为1;步骤3,对于子矩阵Hb,根据随机向量确定子矩阵Hb的第1列的填充位置v1,v2,....vi,并填充1,根据预先设置的计算方法确定子矩阵Hb的第j列的填充位置,并填充1;步骤4,验证由子矩阵H0,H1,H2,...,Hb构成的矩阵内是否存在短环,如果存在短环,将子矩阵Hb清零,并执行步骤3,如果不存在短环,判断b是否等于m,如果b=m,则校验矩阵构造结束,否则,执行步骤3。
文档编号H04L1/00GK102386995SQ20101026892
公开日2012年3月21日 申请日期2010年9月1日 优先权日2010年9月1日
发明者刘春江, 刘海涛, 吴力夫, 徐淑正, 施玉海, 杨明, 沈阳, 王鹏军, 裴育杰, 赵翮, 郭沛宇 申请人:国家广播电影电视总局广播科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1