基于校验节点懒惰串行分层调度的LDPC译码算法制造技术

技术编号:15517195 阅读:141 留言:0更新日期:2017-06-04 07:53
本发明专利技术涉及一种基于校验节点懒惰串行分层调度的LDPC译码算法,采用了基于校验节点置信度的懒惰串行分层调度算法,其基于FPGA平台进行实现。具体是:该译码算法在执行串行分层调度算法的过程中,如果某个校验函数节点的置信度大于某一门限值,则该校验函数节点被置为懒惰节点,不参与后续的迭代译码过程,依此达到降低LDPC码译码算法的复杂度、减少译码器延时和功耗的效果。对于DVB‑S2中的LDPC译码器,该算法最多可将延时和功耗降低45.39%,并可降低LDPC码的误码平层,该算法特别适用于低功耗和高速通信场合。

【技术实现步骤摘要】
基于校验节点懒惰串行分层调度的LDPC译码算法
本专利技术涉及一种低密度奇偶校验码(LDPC)的译码算法,具体来说涉及一种基于因子图中校验节点的懒惰串行分层调度(Check-NodeLazySerialLayeredScheduling,CN-LSLS)的LDPC译码算法。
技术介绍
在通信系统中,信道编码是有效的减小噪声影响的错误检测与纠错技术,其中低密度奇偶校验码(Low-DensityParity-CheckCode,LDPCCode)是目前最接近香农门限的编码技术。然而LDPC译码和迭代均衡的最优算法的复杂度太高,常常不可实现,为此需要寻找复杂度较低的次优算法。基于因子图的置信度传播(beliefpropagation)算法提供了一种复杂度较低且性能良好的译码方案,其中和积算法(sum-productalgorithm,SPA)是一类广泛应用的置信度传播算法。SPA采用局部运算,简化了边缘概率方程和后验概率方程的全局计算,从而降低了LDPC码和迭代均衡算法的复杂度。但是,基于因子图的算法存在以下问题:(a)因子图中的短环增加了变量之间的相关性,容易造成误码扩散,从而降低置信度传播算法性能。(b)置信度传播算法的运算复杂度与因子图中每个函数节点边的数目呈指数增长,因此因子图中存在的大量边增加了算法实现的复杂度。(c)传统的置信度传播速度较慢,所需迭代次数较多,增加了译码器和均衡器的延时和功耗。这三个问题会降低通信系统的可靠性,增加接收系统的复杂度、延时和功耗,从而影响LDPC码的实用性。目前主流的LDPC译码算法都是基于置信度传播的译码方式。LDPC码的置信度传播算法的调度算法主要有并行泛洪调度算法(PFS)、基于分层置信度传播的串行分层调度(SLS)算法和基于剩余置信度的动态调度(DS)算法。其中分层置信度传播算法因其简单的译码器结构和良好的性能而被广泛应用。LDPC码的串行分层调度算法可在不影响误码性能的前提上,将译码算法的收敛速度提升大约1倍,串行分层译码器所需的复杂度和延时都被大大改善。然而在现代高速通信系统中,串行分层调度算法及其对应的译码器依然存在收敛较慢以及延时和功耗较大的缺点。本专利的算法可在串行分层调度算法的基础上,进一步降低译码器的延时和功耗。
技术实现思路
本专利技术的目的是基于因子图和置信度传播算法研究LDPC译码的低复杂度的高性能算法,可为改善通信系统的可靠性、延时、功耗和复杂度提供一种实用的解决方案。本专利技术是以串行分层调度算法为基础,根据校验节点的置信度来减少调度过程中有效性较差的更新过程,以减少不必要的运算,从而达到减少译码延时和功耗的目的。为了实现以上目的,本专利技术提出一种基于校验节点懒惰串行分层调度的LDPC译码算法,即一种基于校验节点置信度的懒惰串行分层调度的低密度奇偶校验码(LDPC码)译码算法(CN-LSLS)。在介绍译码算法之前,先定义LDPC码的校验矩阵为P,其大小为m×n,其中m为其行数,n为其列数。校验矩阵的每行对应因子图中的1个校验函数节点,每列对因子图中的一个变量节点。即该因子图中具有m个校验函数节点和n个变量节点。当校验矩阵中的元素P(i,j)(1≤j≤m,1≤i≤n)为1时,第i个校验函数节点和第j个变量节点之间建立一条路径。基于校验节点置信度的懒惰串行分层调度的LDPC译码算法,其特征在于,包含以下步骤:1)根据LDPC码的校验矩阵P,建立因子图;2)初始化因子图中所有外信息为零;3)初始化变量节点的后验概率信息;4)初始化懒惰校验函数节点集合为空集;5)如果懒惰校验函数节点集合为空集,则重置该集合,使其包含所有校验节点;6)依此选择懒惰校验函数节点集合中的校验节点;7)根据串行分层调度算法,更新步骤5)中所选校验节点的后验概率;8)根据步骤6)中的校验节点后验概率判断懒惰条件是否满足,如果满足懒惰条件,则将步骤5)中所选的校验节点从懒惰校验函数节点集合中删除,否则保留该校验节点;9)重复步骤5)~7),直至所有校验节点都被选择一次;10)根据变量节点的置信度进行硬判决,得到二进制译码结果B;11)判断译码停止条件是否满足,如果译码条件已满足,则终止译码过程,否则重复步骤4)~9)直至译码停止条件被满足。步骤1)中LDPC码的校验矩阵P大小为m×n,其中m为其行数,n为其列数,其元素为0,1。步骤1)中校验矩阵P的每行对应因子图中的1个校验函数节点,每列对应因子图中的一个变量节点,即该因子图中具有m个校验函数节点和n个变量节点,当校验矩阵中的元素P(i,j)(1≤j≤m,1≤i≤n)为1时,第i个校验函数节点和第j个变量节点之间建立一条边。步骤2)中的外信息(L(rij))为第i个校验函数节点传递给第j个变量节点的外部置信度信息。在步骤3)的后验概率信息,在第j个变量节点的后验概率信息(L(Qj))的初始化方程为:其中yj为第i个变量节点从加性高斯白噪声信道接收到数值,σn2为噪声的平均功率。步骤5)中重置懒惰校验函数节点集合是为了确保译码结果的正确性,防止之前判决正确的置信度在后续的更新过程中发生变化。在步骤7)中串行分层调度算法的计算过程为依此循环执行以下3个方程:L(qji)=L(Qj)-L(rij)L(Qj)=L(qji)+L'(rij)其中,L(qji)为运算过程中的中间变量,表示为第j个变量节点传递给第i个校验函数节点的外信息;L'(rij)为更新后的外信息;N(i)表示与第i个校验节点相连接的变量节点集合,而N(i)\j表示N(i)中除去第j个变量节点的集合;tanh()为双曲正切函数。步骤7)中校验节点的后验概率定义为L(Ri),其计算公式为:其中α为近似因子,取值为0.75;同时定义两个中间变量sisi和min(i),其计算公式分别如下:si=Πk∈N(i)sign(L(qki))min(i)=mink∈N(i)|L(qki)|则第i个校验节点的置信度可以表示为:L(Ri)=si×α×min(i)在步骤8)中,懒惰判决条件为:L(Ri)=si×α×min(i)>Lth其中Lth为懒惰门限,其为一足够大的正数,以保证校验节点的置信度足够可靠,该值需通过仿真确定。步骤11)中的译码终止条件为:1)译码迭代次数达到设定的最大值,其中迭代次数为重复步骤4)~9)的次数;2)所有校验方程都已满足,即P×B=0。本专利技术与现有的LDPC译码算法相比,具有以下优点:1、在传统的串行分层算法中,一次译码迭代过程会遍历处理m个校验函数节点。而在本专利技术的译码算法中,则会根据校验节点的置信度情况,实时减少处理的校验函数节点数,从而减少了不必要的迭代更新运算,降低了译码算法的复杂度,因此译码器的功耗和延时也会被降低。2、根据懒惰算法,不必要的更新运算被跳过,因此译码器的延时会被大大降低,同时其功耗也会相应地降低,有助于接收机的低功耗和低延时设计,对于WiMAX和DVB-S2中的LDPC码译码器,该算法可将其译码器的延时和功耗最大降低45.39%。3、从因子图角度看,由于不必要的更新运算被跳过,导致因子图中信息的传递路径的环变长了,从而可改善译码算法的误码性能,降低译码的信噪比门限。总之,该译码算法在执行串行分层调度算法的过程中,如果某个校验函数节本文档来自技高网
...
基于校验节点懒惰串行分层调度的LDPC译码算法

【技术保护点】
一种基于校验节点懒惰串行分层调度的LDPC译码算法,该算法基于现场可编程门阵列FPGA硬件平台进行实现,其特征在于,包含以下步骤:1)根据LDPC码的校验矩阵P,建立因子图;2)初始化因子图中所有外信息为零;3)初始化变量节点的后验概率信息;4)初始化懒惰校验函数节点集合为空集;5)如果懒惰校验函数节点集合为空集,则重置该集合,使其包含所有校验节点;6)依次选择懒惰校验函数节点集合中的校验节点;7)根据串行分层调度算法,更新步骤6)中所选校验节点的后验概率;8)根据步骤7)中的校验节点后验概率判断懒惰条件是否满足,如果满足懒惰条件,则将步骤6)中所选的校验节点从懒惰校验函数节点集合中删除,否则保留该校验节点;9)重复步骤6)~8),直至所有校验节点都被选择一次;10)根据变量节点的置信度进行硬判决,得到二进制译码结果B;11)判断译码停止条件是否满足,如果译码条件已满足,则终止译码过程,否则重复步骤5)~10)直至译码停止条件被满足。

【技术特征摘要】
1.一种基于校验节点懒惰串行分层调度的LDPC译码算法,该算法基于现场可编程门阵列FPGA硬件平台进行实现,其特征在于,包含以下步骤:1)根据LDPC码的校验矩阵P,建立因子图;2)初始化因子图中所有外信息为零;3)初始化变量节点的后验概率信息;4)初始化懒惰校验函数节点集合为空集;5)如果懒惰校验函数节点集合为空集,则重置该集合,使其包含所有校验节点;6)依次选择懒惰校验函数节点集合中的校验节点;7)根据串行分层调度算法,更新步骤6)中所选校验节点的后验概率;8)根据步骤7)中的校验节点后验概率判断懒惰条件是否满足,如果满足懒惰条件,则将步骤6)中所选的校验节点从懒惰校验函数节点集合中删除,否则保留该校验节点;9)重复步骤6)~8),直至所有校验节点都被选择一次;10)根据变量节点的置信度进行硬判决,得到二进制译码结果B;11)判断译码停止条件是否满足,如果译码条件已满足,则终止译码过程,否则重复步骤5)~10)直至译码停止条件被满足。2.根据权利要求1所述的一种基于校验节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤1)中LDPC码的校验矩阵P大小为m×n,其中m为其行数,n为其列数,其元素为0,1。3.根据权利要求1所述的一种基于校验节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤1)中校验矩阵P的每行对应因子图中的1个校验函数节点,每列对应因子图中的一个变量节点,即该因子图中具有m个校验函数节点和n个变量节点,当校验矩阵中的元素P(i,j)(1≤j≤m,1≤i≤n)为1时,第i个校验函数节点和第j个变量节点之间建立一条边。4.根据权利要求1所述的一种基于校验节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤2)中外信息(L(rij))为第i个校验函数节点传递给第j个变量节点的外部置信度信息。5.根据权利要求1所述的一种基于校验节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤3)的后验概率信息,在第j个变量节点的后验概率信息(L...

【专利技术属性】
技术研发人员:张建军范玉进颜凯张鹏泉
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:天津,12

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

1