适用于QC-LDPC码的通用化译码方法及译码模块技术

技术编号:20874693 阅读:39 留言:0更新日期:2019-04-17 11:10
一种适用于QC‑LDPC码的通用化译码方法及译码模块,通过改变校验子矩阵、列重子矩阵、行重子矩阵的初始值,实现准循环LDPC码译码实现的模块化,适用于规则QC‑LDPC码和非规则QC‑LDPC码。该通用化实现算法不仅减少了存储模块所需硬件资源,也减少了QC‑LDPC码译码算法实现的工作量,具有良好的灵活性与极强的兼容性。

【技术实现步骤摘要】
适用于QC-LDPC码的通用化译码方法及译码模块
本专利技术涉及数字通信领域,尤其涉及一种适用于QC-LDPC码的通用化译码方法及译码模块。
技术介绍
1962年R.G.Gallager在其博士论文中提出了规则LDPC码的构造方法、编译码算法及其译码算法性能分析。但是由于当时条件的限制,LDPC码被忽略了30多年。随着Tanner图的提出,Mackay、Luby提出的非规则LDPC码的概念被推广,证实了非规则LDPC码比规则LDPC码具有更好的性能。LDPC码是一种线性分组码,通常由校验矩阵进行描述,主要特点是校验矩阵具有稀疏性。LDPC码具有逼近香农极限的优良性能,译码实现复杂度较低,实现结构较灵活的优点。因此,美国航天系统顾问委员会将LDPC码写入CCSDS标准中,该标准提出了一组适用于深空通信系统的高码率LDPC码。在LDPC码广泛应用中,LDPC译码算法的优化一直是个关键问题。研究学者根据R.G.Gallager提出的软判决译码算法进行简化,提出了BP译码算法和适用于硬件实现的最小和译码算法。文献1(李化营,王健,刘炎.LDPC码改进高速译码算法[J].遥测遥控,2015,36(2))提出一种能够在很大程度上节约存储资源的精简最小和算法,该算法采用部分并行结构,在节约存储资源的前提下,提高了译码器的译码速度。文献2(苏悦,王健辉.一种结构化LDPC码的部分并行译码器设计[J].航天器工程,2014,23(3))针对CCSDS标准中深空通信LDPC码,提出了能够部分并行译码的译码器结构,便于工程实现时在译码时延和实现复杂度之间折中。但是,以上提出的LDPC码译码算法实现与其稀疏校验矩阵有着密切的联系,对于不同的校验矩阵,需要重新设计译码器,大大增加了研发时间和研发成本,不具备通用性。专利1(LDPC码译码器及实现方法,CN104052500A,2014)提供了一种LDPC码译码器结构及实现方法,该译码器包括:译码单元、中心控制单元和地址生成单元。该方法主要讲述了中心控制单元,没有对地址生成单元进行描述。专利2(一种通用型LDPC译码器,CN101977063A,2011)提供了一种通用型LDPC译码器,包括调度模块、输入模块、译码模块和输出模块,该方法在不改变原模图的基础上,实现通用于各种码长的LDPC码,但是该方法不适用于不同原模图的LDPC码的译码实现。专利3(一种基于FPGA的高速自适应DVB-S2LDPC译码器及译码方法,CN201610955524.5,2016)提供了多码率兼容译码方法,该方法在XC7VX485T上最大吞吐率可达5Gbps,资源消耗为67%,但该方法只符合DVB-S2标准,不适应其他的LDPC码。
技术实现思路
本专利技术提供一种适用于QC-LDPC码的通用化译码方法及译码模块,旨在以校验子矩阵、行重子矩阵、列重子矩阵为基础,实现适用于二进制QC-LDPC码译码算法实现的通用化。为了达到上述目的,本专利技术提供一种适用于QC-LDPC码的通用化译码方法,包含以下步骤:根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;更新变量节点;根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;更新校验节点;迭代进行上述步骤,直至满足最大迭代次数。所述的校验子矩阵的构成方法包含:校验矩阵分成m×n个循环子矩阵,每个循环子矩阵的大小为L×L,每个循环子矩阵每行“1”的个数小于等于1,记录循环子矩阵第一行“1”的位置,组成m×n大小的校验子矩阵,其中数据均小于等于L。根据校验子矩阵每行非“0”数据的个数组成行重子矩阵,根据校验子矩阵每列非“0”数据的个数组成列重子矩阵。计算列矩阵的方法包含:根据校验子矩阵得到每个循环子矩阵第一列“1”的位置dv,循环子矩阵处于校验子矩阵的列数d_col;通过下述公式得到校验矩阵每列“1”的位置:di=dv+(d_col-1)*n+ii=0,1,2,...,n-1式中,n表示校验子矩阵的大小,当dv+i等于n时,即“1”的位置处于子矩阵的最后一列,下一时刻将dv+i置成0,即“1”的位置循环到子矩阵的第一列。更新变量节点的方法包含:式中,L(k)(rji)表示校验节点第k次运算的结果,L(k)(qij)表示变量节点第k次运算的结果,\j表示除了第j行以外的其他行,N(i)表示与该变量节点相连的校验节点的集合。计算行矩阵的方法包含:根据校验子矩阵得到每个循环子矩阵第一行“1”的位置dc,循环子矩阵处于校验子矩阵的行数d_row;通过下述公式得到校验矩阵每行“1”的位置:dj=dc+(d_row-1)*m+jj=0,1,2,...,m-1式中,m表示校验子矩阵的大小,当dc+j等于m时(“1”的位置处于子矩阵的最后一列),下一时刻将dc+j置成0,即“1”的位置循环到子矩阵的第一列。更新校验节点的方法包含:式中,\i表示除了第i列以外的其他列,N(j)表示与该校验节点相连的变量节点的集合,λ是修改因子。判断是否满足最大迭代次数τ的方法包含:式中,τ表示最大迭代次数,L(qi)表示变量节点收集到的所有信息,L(Pi)表示译码输入信息。本专利技术还提供一种适用于QC-LDPC码的通用化译码模块,包含:列矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;变量节点更新模块,其用于更新变量节点;行矩阵计算模块,其用于根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;校验节点更新模块其用于更新校验节点。本专利技术通过改变校验子矩阵、列重子矩阵、行重子矩阵的初始值,实现准循环LDPC码译码实现的模块化,适用于规则QC-LDPC码和非规则QC-LDPC码。该通用化实现算法不仅减少了存储模块所需硬件资源,也减少了QC-LDPC码译码算法实现的工作量,具有良好的灵活性与极强的兼容性。附图说明图1是本专利技术提供的一种适用于QC-LDPC码的通用化译码方法的流程图。图2为(1024,1536)LDPC码的校验子矩阵。图3为(1024,1536)LDPC码的行重子矩阵。图4为(1024,1536)LDPC码的列重子矩阵。具体实施方式以下根据图1~图4,具体说明本专利技术的较佳实施例。如图1所示,以CCSDS协议中深空通信的(1024,1536)非规则QC-LDPC码为例,本专利技术提供一种适用于QC-LDPC码的通用化译码方法,译码算法采用最小和译码算法,包含以下步骤:步骤S1、存储QC-LDPC码的校验子矩阵、行重子矩阵、列重子矩阵;步骤S2、存储量化后的译码输入信息;步骤S3、根据校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;步骤S4、更新变量节点;步骤S5、根据校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;步骤S6、更新校验节点;步骤S7、迭代次数判断是否满足最大迭代次数(每次迭代之后,迭代次数+1),若是,输出译码结果,若否,进行步骤S3。进一步,所述的步骤S1中,校验子矩阵的构成方法包本文档来自技高网
...

【技术保护点】
1.一种适用于QC‑LDPC码的通用化译码方法,其特征在于,包含以下步骤:根据QC‑LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;更新变量节点;根据QC‑LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;更新校验节点;迭代进行上述步骤,直至满足最大迭代次数。

【技术特征摘要】
1.一种适用于QC-LDPC码的通用化译码方法,其特征在于,包含以下步骤:根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每列“1”的位置,即列矩阵;更新变量节点;根据QC-LDPC码的更新后的校验子矩阵、行重子矩阵、列重子矩阵,计算出校验矩阵每行“1”的位置,即行矩阵;更新校验节点;迭代进行上述步骤,直至满足最大迭代次数。2.如权利要求1所述的适用于QC-LDPC码的通用化译码方法,其特征在于,所述的校验子矩阵的构成方法包含:校验矩阵分成m×n个循环子矩阵,每个循环子矩阵的大小为L×L,每个循环子矩阵每行“1”的个数小于等于1,记录循环子矩阵第一行“1”的位置,组成m×n大小的校验子矩阵,其中数据均小于等于L。3.如权利要求2所述的适用于QC-LDPC码的通用化译码方法,其特征在于,根据校验子矩阵每行非“0”数据的个数组成行重子矩阵,根据校验子矩阵每列非“0”数据的个数组成列重子矩阵。4.如权利要求3所述的适用于QC-LDPC码的通用化译码方法,其特征在于,计算列矩阵的方法包含:根据校验子矩阵得到每个循环子矩阵第一列“1”的位置dv,循环子矩阵处于校验子矩阵的列数d_col;通过下述公式得到校验矩阵每列“1”的位置:di=dv+(d_col-1)*n+ii=0,1,2,...,n-1式中,n表示校验子矩阵的大小,当dv+i等于n时,即“1”的位置处于子矩阵的最后一列,下一时刻将dv+i置成0,即“1”的位置循环到子矩阵的第一列。5.如权利要求4所述的适用于QC-LDPC码的通用化译码方法,其特征在于,更新变量节点的方法包含:式中,L(k)(rji)表...

【专利技术属性】
技术研发人员:范明慧胡阳高承帅王召利李名祺李腾飞
申请(专利权)人:上海无线电设备研究所
类型:发明
国别省市:上海,31

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

1