基于生成矩阵的QC_LDPC码编码方法及编码器技术

技术编号:20492826 阅读:58 留言:0更新日期:2019-03-02 23:00
本发明专利技术提供了一种基于生成矩阵的QC_LDPC码编码方法,其特征在于:包括如下步骤:将编码信息序列S串并转换成信息位Si;从生成矩阵G中获取子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对信息位Si进行循环移位操作,以分别获得中间乘积结果;分别将所有中间乘积结果累加得到向量矩阵乘积结果sgi,j;对向量矩阵乘积结果sgi,j运算得到中间校验位Pi,j;生成校验位P。该编码方法通过对输入信息序列进行转换之后利用生成矩阵的准循环特性进行编码,减少了硬件资源的消耗,使芯片面积得以减小,实现码率兼容。本发明专利技术还提供一种可减少存储资源消耗、减少计算资源消耗、实现码率兼容的基于生成矩阵的QC_LDPC码编码器。

QC_LDPC Coding Method and Encoder Based on Generation Matrix

The invention provides a QC_LDPC code coding method based on generating matrix, which is characterized by the following steps: converting the coding information sequence S into information bits Si in series and parallel; obtaining sub-matrices Gi, j from the generating matrix G; cyclic shifting operation of information bits Si by using the addresses of all non-zero elements \1\ in the first row of each sub-matrix Gi, j, in order to obtain the intermediate product results respectively. The results of vector matrix product SGI and j are obtained by accumulating all the intermediate product results, and the intermediate check bits Pi and j are obtained by computing the vector matrix product results SGI and j, respectively, and the check bits P are generated. The encoding method uses the quasi-cyclic property of the generated matrix to encode the input information sequence, which reduces the consumption of hardware resources, reduces the chip area and achieves rate compatibility. The invention also provides a QC_LDPC coder based on generating matrix, which can reduce storage resource consumption, computing resource consumption and rate compatibility.

【技术实现步骤摘要】
基于生成矩阵的QC_LDPC码编码方法及编码器
本专利技术涉及编码
,更具体地说,涉及一种基于生成矩阵的QC_LDPC码编码方法及编码器。
技术介绍
目前,由于LDPC码几乎适用于所有的信道,性能逼近香农限,易于进行理论分析和研究,适合硬件实现,因此成为编码界研究热点。根据校验矩阵H每行和每列中非零的个数是否相等,LDPC码可以分为规则码和非规则码,如果校检矩阵H的每行和每列中非零元素的个数都是相同的,则该LDPC码称为规则LDPC码;否则为不规则LDPC码。同等条件下不规则LDPC码性能比规则LDPC码更好,但其编译码相对比较复杂。QC_LDPC码即为规则LDPC码,其生成矩阵G具有准循环结构,这样就可以通过简单的移位器和累加器进行编码。基于生成矩阵G的编码方法有三种:串行编码、全并行编码以及部分并行编码。其中串行编码所需编码时间为信息序列长度的编码周期,速度非常慢,不适用于高速通信的情景;全并行编码虽然速度很快,但需要事先准备好一帧信息序列,这在信息位长度较长时会带来非常大的存储代价,无法应用;因此目前基于生成矩阵的编码多采用部分并行编码方法。然而传统的部分并行编码方法在硬件实现时耗费资源较多,增大了芯片面积,体现在以下方面:(一)传统编码器利用子矩阵的第一行的元素进行编码,因此需要存储子矩阵第一行中所有的元素,在硬件实现时耗费资源较多;(二)传统编码器在实现信息位与生成矩阵的乘积时,如图1所示,是通过将1比特信息位与生成矩阵G中对应的一行相乘得到乘积结果,再通过累加所有行与对应信息位的乘积结果得到信息位与矩阵的的乘积结果,而硬件实现时分别通过按位相与和按位异或得到乘积和累加结果,当校验位较长时这一过程将消耗大量与门和异或门,从而增大了芯片的面积。
技术实现思路
为克服现有技术中的缺点与不足,本专利技术的一个目的在于提供一种基于生成矩阵的QC_LDPC码编码方法。该方法通过对输入信息序列进行转换之后利用生成矩阵的准循环特性进行编码,减少了硬件资源的消耗,使芯片面积得以减小,且可以实现基于此编码方法的码率兼容编码器。本专利技术的另一个目的在于提供一种可减少存储资源消耗、减少计算资源消耗、实现码率兼容的基于生成矩阵的QC_LDPC码编码器。为了达到上述目的,本专利技术通过下述技术方案予以实现:一种基于生成矩阵的QC_LDPC码编码方法,其特征在于:包括如下步骤:S1步,输入编码信息序列S,将编码信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),其中,t-c=K/b,K为编码信息序列S的长度;S2步,从生成矩阵G中获取t-c行c列b阶子矩阵Gi,j(j=1,2,3,…,c);设定初始中间校验位Pi-1,j为0;S3步,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j;S4步,将当前向量矩阵乘积结果sgi,j与前一中间校验位Pi-1,j按位异或运算得到当前信息位Si对应的中间校验位Pi,j;S5步,跳至S3步计算下一信息位Si对应的中间校验位Pi,j,直至信息位St-c对应的中间校验位Pi,j计算完成;得到校验位P:P={Pi=t-c,j=1,Pi=t-c,j=2,…,Pi=t-c,j=c};编码信息序列S编码完成。优选地,所述S1步中,将编码信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),是指:将编码信息序列S进行串并转换或者进行串并转换和补零操作来分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c)。优选地,所述S2步中,从生成矩阵G中获取t-c行c列b阶子矩阵Gi,j,是指:从生成矩阵G中获取对应矩阵Q,对应矩阵Q包括各个子矩阵Gi,j:G=[IQ]其中I为K阶单位矩阵。优选地,所述S3步中,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j,是指包括以下步骤:S31步,通过当前信息位Si确定i,找出i对应的子矩阵Gi,j;i对应的子矩阵Gi,j包括Gi,1Gi,2Gi,3…Gi,c;S32步,获取当前子矩阵Gi,j第一行所有非零元素“1”的数量n和地址;S33步,针对当前子矩阵Gi,j,根据当前非零元素“1”对应的地址将当前信息位Si循环移动n位,其中,n为当前非零元素“1”的地址;得到当前非零元素“1”对应的中间乘积结果;S34步,跳至S33步以进行下一个非零元素“1”对应的中间乘积结果计算,直至当前子矩阵Gi,j第一行所有非零元素“1”对应的中间乘积结果均计算完成;S35步,将当前子矩阵Gi,j对应的所有中间乘积结果累加得到当前信息位Si与当前子矩阵Gi,j之间的向量矩阵乘积结果sgi,j;当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j计算,采用并行计算或串行计算或并行与串行结合计算。优选地,所述S5步之后还包括S6步:校验位P通过串并转换,并进行输出。一种基于生成矩阵的QC_LDPC码编码器,其特征在于:包括:输入串并转换模块,用于将输入信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),其中,t-c=K/b,K为编码信息序列S的长度;存储模块,用于存储生成矩阵G的所有子矩阵中第一行所有非零元素“1”的地址;编码模块,用于根据子矩阵中第一行所有非零元素“1”的地址对信息位Si进行循环移位操作以计算出向量矩阵乘积结果,从而获取校验位;以及输出串并转换模块,用于将信息序列和编码模块得出的校验位通过串并转换,输出码字。优选地,所述输入串并转换模块中,用于将输入信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),是指:用于将编码信息序列S进行串并转换或者进行串并转换和补零操作来分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c)。优选地,所述编码模块中,用于根据子矩阵中第一行所有非零元素“1”的地址对信息位Si进行循环移位操作以计算出向量矩阵乘积结果,从而获取校验位,是指:包括如下步骤:Y1步,从输入串并转换模块中获取信息位Si(i=1,2,3,…,t-c);Y2步,从存储模块中获取生成矩阵G中对应的t-c行c列b阶子矩阵Gi,j(j=1,2,3,…,c);设定初始中间校验位Pi-1,j为0;Y3步,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;分别将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j;Y4步,将当前向量矩阵乘积结果sgi,j与前一中间校验位Pi-1,j按位异或运算得到当前信息位Si对应的中间校验位Pi,j;Y5步,跳至Y3步计算下一信息位Si对应的中间校验位Pi,j,直至信息位St-本文档来自技高网
...

【技术保护点】
1.一种基于生成矩阵的QC_LDPC码编码方法,其特征在于:包括如下步骤:S1步,输入编码信息序列S,将编码信息序列S分成t‑c段长度为b比特的信息位Si(i=1,2,3,…,t‑c),其中,t‑c=K/b,K为编码信息序列S的长度;S2步,从生成矩阵G中获取t‑c行c列b阶子矩阵Gi,j(j=1,2,3,…,c);设定初始中间校验位Pi‑1,j为0;S3步,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j;S4步,将当前向量矩阵乘积结果sgi,j与前一中间校验位Pi‑1,j按位异或运算得到当前信息位Si对应的中间校验位Pi,j;S5步,跳至S3步计算下一信息位Si对应的中间校验位Pi,j,直至信息位St‑c对应的中间校验位Pi,j计算完成;得到校验位P:P={Pi=t‑c,,j=1,Pi=t‑c,j=2,…,Pi=t‑c,j=c};编码信息序列S编码完成。

【技术特征摘要】
1.一种基于生成矩阵的QC_LDPC码编码方法,其特征在于:包括如下步骤:S1步,输入编码信息序列S,将编码信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),其中,t-c=K/b,K为编码信息序列S的长度;S2步,从生成矩阵G中获取t-c行c列b阶子矩阵Gi,j(j=1,2,3,…,c);设定初始中间校验位Pi-1,j为0;S3步,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j;S4步,将当前向量矩阵乘积结果sgi,j与前一中间校验位Pi-1,j按位异或运算得到当前信息位Si对应的中间校验位Pi,j;S5步,跳至S3步计算下一信息位Si对应的中间校验位Pi,j,直至信息位St-c对应的中间校验位Pi,j计算完成;得到校验位P:P={Pi=t-c,,j=1,Pi=t-c,j=2,…,Pi=t-c,j=c};编码信息序列S编码完成。2.根据权利要求1所述的基于生成矩阵的QC_LDPC码编码方法,其特征在于:所述S1步中,将编码信息序列S分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c),是指:将编码信息序列S进行串并转换或者进行串并转换和补零操作来分成t-c段长度为b比特的信息位Si(i=1,2,3,…,t-c)。3.根据权利要求1所述的基于生成矩阵的QC_LDPC码编码方法,其特征在于:所述S2步中,从生成矩阵G中获取t-c行c列b阶子矩阵Gi,j,是指:从生成矩阵G中获取对应矩阵Q,对应矩阵Q包括各个子矩阵Gi,j:G=[IQ]其中I为K阶单位矩阵。4.根据权利要求1所述的基于生成矩阵的QC_LDPC码编码方法,其特征在于:所述S3步中,找出当前信息位Si对应的各个子矩阵Gi,j;利用各个子矩阵Gi,j第一行所有非零元素“1”的地址分别对当前信息位Si进行循环移位操作,以分别获得中间乘积结果;将所有中间乘积结果累加得到当前信息位Si与各个子矩阵Gi,j之间的向量矩阵乘积结果sgi,j,是指包括以下步骤:S31步,通过当前信息位Si确定i,找出i对应的子矩阵Gi,j;i对应的子矩阵Gi,j包括Gi,1Gi,2Gi,3…Gi,c;S32步,获取当前子矩阵Gi,j第一行所有非零元素“1”的数量n和地址;S33步,针对当前子矩阵Gi,j,根据当前非零元素“1”对应的地址将当前信息位Si循环移动n位,其中,n为当前非零元素“1”的地址;得到当前非零元素“1”对应的中间乘积结果;S34步,跳至S33步以进行下一个非零元素“1”对应的中间乘积...

【专利技术属性】
技术研发人员:姜小波陈培
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1