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(Qj))的初始化方程为:
其中yj为第i个变量节点从加性高斯白噪声信道接收到数值,σn2为噪声的平均功率。
6.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤5)中重置懒惰校验函数节点集合是为了确保译码结果的正确性,防止之前判决正确的置信度在后续的更新过程中发生变化。
7.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤7)中串行分层调度算法的计算过程为依此执行以下3个方程:
L(qji)=L(Qj)-L(rij)
L(Qj)=L(qji)+L'(rij)
其中,L(qji)为运算过程中的中间变量,表示为第j个变量节点传递给第i个校验函数节点的外信息。
8.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤7)中间变量包含min(i)和smin(i),min(i)表示|L(qki)|取值中的最小值,而smin(i)表示|L(qki)|取值中的次小值。
9.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述述步骤8)中懒惰判决条件为:
si×(min(i)+α×smin(i))>Lth
其中α为近似因子,取值为0.75;Lth为懒惰门限,该值需通过仿真确定。
10.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤10)中译码终止条件为:
1)译码迭代次数达到设定的最大值,其中迭代次数为重复步骤4)~9)的次数;所有校验方程都已满足,即P×B=0。