一种适用于多进制LDPC码的校验节点更新方法与流程

文档序号:15844204发布日期:2018-11-07 08:48阅读:518来源:国知局
一种适用于多进制LDPC码的校验节点更新方法与流程

本发明涉及信道编解码技术领域,特别涉及一种适用于多进制ldpc码的校验节点更新方法。

背景技术

信道编码是保证通信系统和存储系统可靠工作的关键技术。ldpc(二进制低密度奇偶校验码)是一类性能可逼近香农极限的线性纠错码。在过去的十余年中,二进制ldpc码得到快速的发展并广泛应用于通信和数据传输系统中。多进制ldpc码可以表现出比二进制ldpc码更好的纠错能力,更低的错误平层并高度适用于高阶调制。

多进制ldpc码的译码算法有很多,归纳起来可分为硬判决和软判决两大类。其中,硬判决算法虽然实现简单,但是性能并不理想,所以在实际应用中很少使用。软判决译码算法中,综合考虑译码复杂度和性能两种因素,最小和算法是在硬件实现中较为普遍采用的一种算法。它在进行变量节点更新时只有加法运算,校验节点更新时只有比较运算,得到一行的最小值和次小值。而这两种运算中对译码器吞吐量的现值主要是比较寻找最小值的运算。

传统的比较单元寻找最小值和次小值的结构如图1所示,d1,d2,d3,d4,d5,d6,d7,d8代表输入比较单元的数据,cp为比较单元,实线代表最小值,虚线代表次小值。有些译码器中为了提高吞吐量使用三个值或更多值同时进行比较以缩短比较周期。传统的比较算法完全使用比较器实现,若采用m值比较器,寻找最小值和次小值使用的周期数最小为logmdc个比较周期,其中m表示一个比较单元同时能对m个值进行比较,dc表示校验节点的度,即参与校验节点更新时输入该模块的数据个数。当校验节点的度dc较大时,比较周期明显增大。若为了减小比较周期而采用四个以上输入的比较器,则消耗的片上资源明显增加,对功耗和成本控制都非常不利。



技术实现要素:

本发明的目的在于提供一种适用于多进制ldpc码的校验节点更新方法,以解决现有的校验节点更新方法存在运算次数多、计算复杂,资源消耗大且成本高的问题。

为解决上述技术问题,本发明提供一种适用于多进制ldpc码的校验节点更新方法,包括如下步骤:

步骤1、将v2c软消息转换到δ域;

步骤2、从中选出每一行的最小值和次小值,并在第一次迭代中将它们的位置保存;

步骤3、将选出的最小值和次小值构成两种配置,分别生产第一额外列和第二额外列;所述第一额外列的值用来更新除最小v2c值所处位置以外其他位置的c2v值,所述第二额外列的值用来更新最小v2c值位置上的c2v值;

步骤4、将得到的c2v值转换回普通域;

步骤5、在后续迭代中,比较第一次迭代中两个已保存位置上的两个v2c值,选择更小的值使用,重复步骤3~步骤4。

可选的,所述步骤3中将选出的最小值和次小值构成两种配置,分别生产第一额外列和第二额外列具体为:每一行最小值和配置,生成第一额外列;每一行次小值和配置,生成第二额外列。

可选的,最小值和配置即为每行的最小值。

可选的,次小值和配置为每行的次小值或是两个不同行最小值的和,两者取其中的较小值。

可选的,在后续迭代中,每一行进行的比较操作为一次。

可选的,所述步骤5中,当达到最大迭代次数后,停止迭代,输出c2v值。

在本发明中提供了一种适用于多进制ldpc码的校验节点更新方法,将v2c软消息转换到δ域,从中选出每一行的最小值和次小值,并在第一次迭代中将它们的位置保存;将选出的最小值和次小值构成两种配置,分别生产第一额外列和第二额外列;所述第一额外列的值用来更新除最小v2c值所处位置以外其他位置的c2v值,所述第二额外列的值用来更新最小v2c值位置上的c2v值;将得到的c2v值转换回普通域;在后续迭代中,比较第一次迭代中两个已保存位置上的两个v2c值,选择更小的值使用。本发明通过固定位置选择最小值以及双额外列的方式,在基本不损失性能的前提下,减少比较运算次数,大幅降低计算复杂度,减小硬件开销,降低成本。

附图说明

图1为传统的校验节点更新单元比较模块示意图;

图2为适用于多进制ldpc码的校验节点更新方法的流程示意图;

图3为v2c软消息在δ域下的示意图。

具体实施方式

以下结合附图和具体实施例对本发明提出的一种适用于多进制ldpc码的校验节点更新方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

实施例一

本发明提供了一种适用于多进制ldpc码的校验节点更新方法,流程示意图如图2所示。所述适用于多进制ldpc码的校验节点更新方法包括如下步骤:

步骤s21、将v2c软消息转换到δ域;

步骤s22、从中选出每一行的最小值和次小值,并在第一次迭代中将它们的位置保存;

步骤s23、将选出的最小值和次小值构成两种配置,分别生产第一额外列和第二额外列;所述第一额外列的值用来更新除最小v2c值所处位置以外其他位置的c2v值,所述第二额外列的值用来更新最小v2c值位置上的c2v值;

步骤s24、将得到的c2v值转换回普通域;

步骤s25、在后续迭代中,比较第一次迭代中两个已保存位置上的两个v2c值,选择更小的值使用,重复步骤s23~步骤s24。

具体的,先将v2c软消息转换到δ域,如图3所示,表示了同样在有限域gf(4)中校验节点度数dc=5情况下的交织δ消息。其中,c1,c2,c3,c4,c5表示矩阵h中某一行中的非零元素组成的列,η表示δ指数,范围从0至3;

挑选v2c软消息每一行的最小值和次小值,并在第一次迭代中将它们的位置保存;图3中,η=0行最小值和次小值均为0,η=1行最小值为5,次小值为10,η=2行最小值为10,次小值为15,η=3最小值为9,次小值为10。同时保存它们的位置;

将选出的最小值和次小值构成两种配置,分别生产第一额外列和第二额外列;具体的,每一行最小值和配置,生成第一额外列;每一行次小值和配置,生成第二额外列。最小值和配置即为每行的最小值,次小值和配置为每行的次小值或是两个不同行最小值的和,两者取其中的较小值。在本实施例一中,最小值和配置δw1中元素依次为0,5,10,9;次小值和配置δw2中元素依次为0,10,14,10。值得注意的是,从η=1和η=3(η=0已在其它列中被选择)的最小值能够组成和最小和为14的配置。这里的和14就比之前η=2行的次小值15要更小。第一额外列的值用来更新除最小v2c值所处位置以外其他位置的c2v值,第二额外列的值用来更新最小v2c值位置上的c2v值;

将得到的c2v值转换回普通域;

在后续迭代中,比较第一次迭代中两个已保存位置上的两个v2c值,选择更小的值使用,重复步骤3~步骤4。因此,后续迭代中,每一行进行的比较操作仅为1次。当达到最大迭代次数后,停止迭代,输出c2v值。

本实施例一提供的适用于多进制ldpc码的校验节点更新方法,通过固定位置选择最小值以及双额外列的方式,在基本不损失性能的前提下,减少比较运算次数,大幅降低计算复杂度,减小硬件开销,降低成本。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

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