一种LDPC编码方法及装置制造方法及图纸

技术编号:19011482 阅读:35 留言:0更新日期:2018-09-22 10:55
本申请公开了一种LDPC编码方法及装置,涉及数据处理技术领域,为解决码字长度和校验码长度不可灵活调整的问题而发明专利技术。该方法主要包括:获取待编码数据;以预置校验码长度为行数,以预置编码长度为列数,构建稀疏的校验矩阵,所述校验矩阵的子矩阵为全零矩阵或者循环排列的单位矩阵;根据所述校验矩阵,计算所述待编码数据的校验码;根据所述校验码,生成所述待编码数据的LDPC编码数据。本申请主要应用于数据编码的过程中。

【技术实现步骤摘要】
一种LDPC编码方法及装置
本申请涉及数据处理
,尤其涉及一种LDPC编码方法及装置。
技术介绍
LDPC(LowDensityParityCheckCode,低密度奇偶校验码),是通过校验矩阵定义的一类线性码,为使解码可行,在码长较长时需要校验矩阵满足“稀疏性”,即校验矩阵中1的密度比较低,也就是要求校验矩阵中1的个数远小于0的个数。假设待编码数据S=(s1,s2,…sk),编码完成之后的数据是C=(c1,c2,…cn),其中k为数据长度,n为码字长度,m=n-k为校验码长度。在LDPC解码过程中,公式C·HT=0成立,其中,H是校验矩阵。LDPC编码过程中,公式C=S·G,其中G是生成矩阵。由此可以得到G和H满足G·HT=0。为了降低LDPC解码器的计算复杂度,减少硬件资源消耗。构造的校验矩阵H需要是稀疏矩阵。再根据生成矩阵G和校验矩阵H的关系:G·HT=0,可以得到对应的生成矩阵。但是这样得到的生成矩阵不是稀疏的,需要消耗很大的硬件存储资源来存放矩阵。例如一次我们要处理的数据是2048字节,校验码长度为200字节。那么生成矩阵的大小就是2048x200=409600字节。如果使用ROM来存储生成矩阵,可以节省一些硬件面积。但是这样会是生成矩阵被固定死,不能修改。码字长度也因为生成矩阵的固定而固定,在实际应用中不可调整。
技术实现思路
本申请提供了一种LDPC编码方法及装置,以解决现有技术中解决码字程度和校验码长度不可灵活调整的问题。第一方面,本申请提供了一种LDPC编码方法,该方法包括:获取待编码数据;以预置校验码长度为行数,以预置编码长度为列数,构建稀疏的校验矩阵,所述校验矩阵的子矩阵为全零矩阵或者循环排列的单位矩阵;根据所述校验矩阵,计算所述待编码数据的校验码;根据所述校验码,生成所述待编码数据的LDPC编码数据。采用本实现方式,生成矩阵可以维持稀疏性,使计算复杂度够低。矩阵通过编码来表示,有效减少存放矩阵所需的硬件存储资源。矩阵的编码可被CPU重写,以实现矩阵的可配置性,以适应各种编码码字长度和校验码长度的应用需求。结合第一方面,在第一方面第一种可能的实现方式中,所述校验矩阵为m×n的矩阵,由矩阵块A、矩阵块B、矩阵块C、矩阵块D、矩阵块E和矩阵块T组成,所述矩阵块A为(m-g)×(n-m)的矩阵,所述矩阵块B为(m-g)×g的矩阵,所述矩阵块C为g×(n-m)的矩阵,所述矩阵块D为g×g的方阵,所述矩阵块E为g×(m-g)的矩阵,所述矩阵块T为(m-g)×(m-g)的下三角方阵,所述矩阵块A、所述矩阵块B、所述矩阵块C、所述矩阵块D、所述矩阵块E和所述矩阵块T中分别至少包括一个子矩阵。结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述校验矩阵,计算所述待编码数据的校验码,包括:根据第一预置公式,计算所述待编码数据的第一校验部分,所述第一预置公式为其中p1为所述第一校验部分,φ=-ET-1B+D是非稀疏方阵,s为所述待编码数据,A、B、C、D、E、T为所述校验矩阵的子矩阵;根据第二预置公式,计算所述待编码数据的第二校验部分,所述第二预置公式为其中p2为所述第二校验部分,p1为所述第一校验部分,s为所述待编码数据,A、B、T为所述校验矩阵的子矩阵;合并所述第一校验部分和所述第二校验部分,生成所述校验码。结合第一方面,在第一方面的第三种可能的实现方式中,所述构建所述稀疏的校验矩阵之后,所述方法还包括:按照预置编码方式,保存所述校验矩阵。结合第一方面,在第一方面的第四种可能的实现方式中,所述按照预置编码方式,保存所述校验矩阵,包括:获取所述校验矩阵中的任意待保存子矩阵;判断所述待保存子矩阵所属的矩阵块;查找所述待保存子矩阵的属性参数,如果所述待保存矩阵为所述矩阵块T中任意列的下三角子矩阵,则属性参数包括所述待保存子矩阵是否为全零矩阵,所述待保存子矩阵否为所述待保存子矩阵所属矩阵块的列的第一个非零子矩阵,所述待保存子矩阵是否为所述待保存子矩阵所属块的列的最后一个非零子矩阵,所述待保存子矩阵的循环移动位数,所述待保存子矩阵所属矩阵块的行数,如果所述待保存子矩阵为所述矩阵块A、所述矩阵块B、所述矩阵块C、所述矩阵块D和所述矩阵块E中任意列的子矩阵,则所述属性参数还包括是所述待保存子矩阵否为所述待保存子矩阵所属矩阵块的列的第一个非零子矩阵;按照所述待保存子矩阵所在的行数和列数,保存所述待保存子矩阵的属性参数。第二方面,本申请还提供了一种LDPC编码装置,该装置包括用于执行第一方面各种实现方式中方法步骤的模块。第三方面,本申请还提供了一种终端,包括:处理器及存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述LDPC编码方法。第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的LDPC编码方法各实施例中的部分或全部步骤。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种LDPC编码方法流程图;图2为本申请提供的一种校验矩阵的示意图;图3为本申请提供的一种校验矩阵的子矩阵的示意图;图4为本申请提供的一种校验矩阵的拆分示意图;图5为本申请提供的一种保存校验矩阵的方法流程图;图6为本申请提供的一种LDPC编码装置组成框图;图7为本申请提供的一种计算单元的组成框图;图8为本申请提供的另一种LDPC编码装置组成框图;图9为本申请提供的一种保存单元的组成框图。具体实施方式参见图1,为本申请提供的一种LDPC编码方法流程图。如图1所示,该方法包括:101、获取待编码数据。由于外界的干扰在数据传输过程中可能导致传输数据丢失或异常,但是传输数据的接收端并不知道接收到的数据是否为初始传输数据。为了保证传输数据准确性,通常用一种制定方法对原始数据计算出的一个校验值,接收端用校验值和原始数据计算校验式。如果各校验式的值为零,说明数据正确。如果校验式不全为零,说明数据有错误。根据校验式的计算结果,可以把错误数据纠正。对于传输数据,计算传输数据的校验值,并将传输数据和校验值确定为新的传输数据的过程,称为编码过程。待编码数据,也就是需要传输的初始数据。102、以预置校验码长度为行数,以预置编码长度为列数,构建稀疏的校验矩阵。校验矩阵,是稀疏矩阵,其行数为预置校验码长度,其列数为预置编码长度。稀疏矩阵,是指数值为0的元素数目远远多于非0元素的数目,则称该矩阵为稀疏矩阵。校验矩阵的行数和列数确定之后,如果还不能满足码字长度的需求,可以在码字最后补零来计算校验码。如果构建的校验矩阵计算生成的校验码太长,可以截短输出,满足整个系统数据结构的要求。以上两种方式,进一步使本申请更灵活的适用于各种LDPC编码需求。参见图2,为本申请提供的一种校验矩阵的示意图。参见图3,为本申请提供的一种校验矩阵的子矩阵的示意图。校验矩阵的子矩阵为全零矩阵或者循环排列的单位矩阵。参见图4,为本申请提供的一种校验矩阵的拆分示意图。具体的,如图4所示,校验矩阵为m×n的矩阵,由矩阵块A、矩阵块本文档来自技高网...
一种LDPC编码方法及装置

【技术保护点】
1.一种LDPC编码方法,其特征在于,所述方法包括:获取待编码数据;以预置校验码长度为行数,以预置编码长度为列数,构建稀疏的校验矩阵,所述校验矩阵的子矩阵为全零矩阵或者循环排列的单位矩阵;根据所述校验矩阵,计算所述待编码数据的校验码;根据所述校验码,生成所述待编码数据的LDPC编码数据。

【技术特征摘要】
1.一种LDPC编码方法,其特征在于,所述方法包括:获取待编码数据;以预置校验码长度为行数,以预置编码长度为列数,构建稀疏的校验矩阵,所述校验矩阵的子矩阵为全零矩阵或者循环排列的单位矩阵;根据所述校验矩阵,计算所述待编码数据的校验码;根据所述校验码,生成所述待编码数据的LDPC编码数据。2.如权利要求1所述的方法,其特征在于,所述校验矩阵为m×n的矩阵,由矩阵块A、矩阵块B、矩阵块C、矩阵块D、矩阵块E和矩阵块T组成,所述矩阵块A为(m-g)×(n-m)的矩阵,所述矩阵块B为(m-g)×g的矩阵,所述矩阵块C为g×(n-m)的矩阵,所述矩阵块D为g×g的方阵,所述矩阵块E为g×(m-g)的矩阵,所述矩阵块T为(m-g)×(m-g)的下三角方阵,所述矩阵块A、所述矩阵块B、所述矩阵块C、所述矩阵块D、所述矩阵块E和所述矩阵块T中分别至少包括一个子矩阵。3.如权利要求2所述的方法,其特征在于,所述根据所述校验矩阵,计算所述待编码数据的校验码,包括:根据第一预置公式,计算所述待编码数据的第一校验部分,所述第一预置公式为其中p1为所述第一校验部分,φ=-ET-1B+D是非稀疏方阵,s为所述待编码数据,A、B、C、D、E、T为所述校验矩阵的子矩阵;根据第二预置公式,计算所述待编码数据的第二校验部分,所述第二预置公式为其中p2为所述第二校验部分,p1为所述第一校验部分,s为所述待编码数据,A、B、T为所述校验矩阵的子矩阵;合并所述第一校验部分和所述第二校验部分,生成所述校验码。4.如权利要求2所述的方法,其特征在于,所述构建所述稀疏的校验矩阵之后,所述方法还包括:按照预置编码方式,保存所述校验矩阵。5.如权利要求3所述的方法,其特征在于,所述按照预置编码方式,保存所述校验矩阵,包括:获取所述校验矩阵中的任意待保存子矩阵;判断所述待保存子矩阵所属的矩阵块;查找所述待保存子矩阵的属性参数,如果所述待保存矩阵为所述矩阵块T中任意列的下三角子矩阵,则属性参数包括所述待保存子矩阵是否为全零矩阵,所述待保存子矩阵否为所述待保存子矩阵所属矩阵块的列的第一个非零子矩阵,所述待保存子矩阵是否为所述待保存子矩阵所属块的列的最后一个非零子矩阵,所述待保存子矩阵的循环移动位数,所述待保存子矩阵所属矩阵块的行数,如果所述待保存子矩阵为所述矩阵块A、所述矩阵块B、所述矩阵块C、所述矩阵块D和所述矩阵块E中任意列的子矩阵,则所述属性参数还包括是所述待保存子矩阵否为所述待保存子矩阵所属矩阵块的列的第一个非零子矩阵;按照所述待保存子矩阵所在的行数和列数,保存所述待保存子矩阵的属性参数。6.一种LDPC编码装置,其特征在于,所述装置包括:获取...

【专利技术属性】
技术研发人员:祝博杨应麟彭鹏姜黎
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1