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中对应的一行相乘得到乘积结果,再通过累加所有行与对应信息位的乘积结果得到信息位与矩阵的的乘积结果,而硬件实现时分别通过按 ...
【技术保护点】
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”对应的中间乘积...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。