基于变量节点懒惰串行分层调度的LDPC译码算法的制作方法

文档序号:12489781阅读:来源:国知局

技术特征:

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))的初始化方程为:

<mrow> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <msub> <mi>y</mi> <mi>j</mi> </msub> </mrow> <msubsup> <mi>&sigma;</mi> <mi>n</mi> <mn>2</mn> </msubsup> </mfrac> </mrow>

其中yj为第i个变量节点从加性高斯白噪声信道接收到数值,σn2为噪声的平均功率。

6.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤5)中重置懒惰校验函数节点集合是为了确保译码结果的正确性,防止之前判决正确的置信度在后续的更新过程中发生变化。

7.根据权利要求1所述的一种基于变量节点懒惰串行分层调度的LDPC译码算法,其特征在于:所述步骤7)中串行分层调度算法的计算过程为依此执行以下3个方程:

L(qji)=L(Qj)-L(rij)

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>2</mn> <msup> <mi>tanh</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <munder> <mo>&Pi;</mo> <mrow> <mi>k</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>\</mo> <mi>j</mi> </mrow> </munder> <mi>tanh</mi> <mo>(</mo> <mrow> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>L</mi> <mrow> <mo>(</mo> <msub> <mi>q</mi> <mrow> <mi>k</mi> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

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。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1