一种ldpc码校验节点更新方法及系统的制作方法

文档序号:7545696阅读:433来源:国知局
一种ldpc码校验节点更新方法及系统的制作方法
【专利摘要】本发明公开了一种LDPC码校验节点更新方法,该方法包括将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置1;寻找状态寄存器中置1的状态位,获得校验节点数据中的最小值;当最小值个数大于1时,则将所有值更新为最小值,停止寻找次最小值;当最小值个数为1时,继续寻找次最小值;将状态寄存器中最低位置1的状态位屏蔽;再次寻找最低位置的1,获得校验节点数据中的次最小值。本发明进一步公开了一种基于FPGA的用于LDPC码校验节点的更新系统,该系统包括数据寄存模块、屏蔽模块和选通模块。本发明所技术方案采用状态寄存器只需一个周期即可输出最小值,比较周期不受校验节点度限制,对片上资源的消耗较少,有效的节省了运行空间,提供运算速度。
【专利说明】一种LDPC码校验节点更新方法及系统
【技术领域】
[0001]本发明涉及一种数字通信更新方法。更具体地,涉及一种LDPC码校验节点的更新方法及系统。
【背景技术】
[0002]LDPC码作为一种性能优异的信道编码方式,已在多种通信标准中得到广泛应用,高速、低功耗的LDPC码译码器是实际应用中的一项核心技术。LDPC码的译码算法有很多,归结起来可分为硬判决和软判决两大类。其中,硬判决算法虽然实现简单,但是性能并不理想,所以在实际中很少用到。软判决译码算法中,综合考虑译码复杂度和性能两种因素,最小和算法是在硬件实现中较为普遍采用的一种算法。它在进行变量节点更新时只有加法运算,校验节点更新时只有比较运算,得到一行的最小值和次最小值。而这两种运算中对译码器吞吐量的限制主要是比较寻找最小值的运算。在FPGA中校验节点更新过程如图1所示。图1中Dini代表输入校验节点更新单元的数据,Din数据输入之后首先进行补码到原码的转换,然后进行符号与绝对值的分离。绝对值经过比较单元找到最小值和次最小值之后与符号相乘,转换成补码输出。
[0003]传统的比较单元寻找最小值和次最小值的结构如图2所示,其中Cl到CS代表输入比较单元的数据,CS为比较单元,实线代表最小值,虚线代表次最小值。有些译码器中为了提高吞吐量使用三个值或更多的值同时进行比较以缩短比较周期。传统的比较算法完全使用比较器实现,若采用k值比较器,寻找最小值和次最小值使用的周期数最小为logkd。个比较周期,其中k表示一个比较单元同时能对k个值进行比较,d。代表校验节点的度,即参与校验节点更新时输入该模块的数据个数。当校验节点的度d。较大时,比较周期明显增大。若为了减小比较周期而采用四个以上输入的比较器,则消耗的片上资源明显增加,对功耗和成本控制都非常不利。

【发明内容】

[0004]本发明要解决的技术问题是提供一种LDPC码校验节点的更新方法及系统,以克服现有技术资源浪费、功耗大和成本高的问题。
[0005]为解决上述技术问题,本发明采用下述技术方案
[0006]一种LDPC码校验节点更新方法,该方法包括
[0007]S1、将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置I ;
[0008]S2、寻找状态寄存器中置I的状态位,获得校验节点数据中的最小值;
[0009]S3、当最小值个数大于I时,则将所有值更新为最小值,停止寻找次最小值;当最小值个数为I时,继续S4和S5 ;
[0010]S4、将状态寄存器中最低位置I的状态位屏蔽;
[0011]S5、再次寻找最低位置的1,获得校验节点数据中的次最小值。[0012]优选的,所述步骤S2进一步包括判断状态位是否置I的步骤:当校验节点数据与状态位相等时,则将该状态位的值置1,否则该状态位置O。
[0013]一种用于LDPC码的校验节点更新系统,该系统包括
[0014]数据寄存模块,用于将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置I ;
[0015]屏蔽模块,用于使状态寄存器的最低位置的I取反;
[0016]选通模块,用于按最小值的个数条件,判断是否屏蔽状态寄存器的状态位,继续寻找次最小值。
[0017]优选的,所述数据寄存模块采用32位的状态寄存器。
[0018]优选的,所述数据过滤模块采用屏蔽寄存器。
[0019]优选的,所述选通模块为比较选通器。
[0020]优选的,所述寻找最小值在一个时钟周期内完成,所述寻找次最小值在一个周期内完成
[0021]本发明的有益效果如下:
[0022]本发明所提供的技术方案采用状态寄存器只需一个周期即可输出最小值,比较周期不受校验节点度限制,对片上资源的消耗较少,有效的节省了运行空间,提供运算速度。
【专利附图】

【附图说明】
[0023]下面结合附图对本发明的【具体实施方式】作进一步详细的说明。
[0024]图1示出传统FPGA中校验节点更新过程示意图;
[0025]图2示出传统的校验节点更新单元比较模块示意图;
[0026]图3示出本发明所述一种LDPC码校验节点更新方法示意图;
[0027]图4示出本发明所述一种用于LDPC码校验节点更新的FPGA示意图。
【具体实施方式】
[0028]为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
[0029]如图3所示,本发明公开了一种LDPC码校验节点更新方法,该方法包括将校验节点数据中与状态位相等的状态位置I的步骤Si,即当校验节点数据与状态位不相等时,状态位置0,当校验节点数据与状态位相等时,将状态位置I ;寻找状态寄存器中最低位置I的状态位,获得校验节点数据中的最小值的步骤S2 ;当最小值个数大于I时,则将所有值更新为最小值,停止寻找次最小值;当最小值个数为I时,继续S4和S5的步骤S3 ;将校状态寄存器中最低位置I的状态位屏蔽的步骤S4 ;寻找状态寄存器中次最低位置I的状态位,获得校验节点数据中的次最小值的步骤S5。
[0030]如图4所示,本发明进一步公开了一种基于FPGA的用于LDPC码的校验节点更新系统,该系统包括用于将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置I的数据寄存模块,该数据寄存模块采用32位的状态寄存器I ;用于使状态寄存器的状态位置I的状态取反的过滤模块,该过滤模块采用屏蔽寄存器2 ;用于按最小值的个数条件,判断是否屏蔽状态寄存器的状态位,继续寻找次最小值的选通模块,该选通模块采用比较选通器3。
[0031]本发明利用状态寄存器,它的每一位代表了参与更新的数据是否存在与该位的位置序号相等的数据。在LDPC码译码器的硬件实现中,通常采用6bit的形式存储外信息,其中Ibit的符号位,5bit的数据位。所以5bit最多只能表示32个数,那么使用32位的状态寄存器就可以记录所有数据出现的情况。如果在参与比较的数据中有与状态位相等的,便将该状态位的值之为1,否则置为O。状态寄存器输入校验节点更新模块之后只需寻找状态寄存器状态位的I就可以确定最小值的大小,因为这个I的位置序号就代表了最小值的大小。与此同时,为了寻找次最小值,需要在第一状态寄存器之后加入一个屏蔽寄存器,将校验节点数据中的最小值过滤掉,在其余数据中,继续按照寻找最小值的方法来寻找次最小值。由此,通过本发明公开的技术方案可以在两个周期得到最小值和次最小值。但是在校验节点更新过程中如果一行中最小值的个数大于I个,那么会将更新前的这一行的所有的值更新为最小值而不需要寻找次最小值。所以在第二个周期寻找次最小值时还需要对上一周期找到的最小值得个数进行统计,如果最小值个数大于1,那么所有节点更新的值都为最小值。因此,需要在第一状态寄存器与屏蔽寄存器之间加入一个比较选通器,根据最小值的个数来判断是否寻找次最小值。整个校验节点更新过程只需2个周期完成,它所需要的周期不受校验节点度的限制。
[0032]现选取校验节点的度为16,即每个校验节点均有16条分支与变量节点相连。以其中某个校验节点为例考虑,共有16个信息输入,其绝对值以十进制标识,分别为1,2,3,7,8,9,O, 10,11,12,31,25,2,4,O, 26,采用专利中的方法,输入校验节点更新模块的应该是一个32位的状态寄存器,该寄存器每一位的值如表I所不。
[0033]表1.输入校验节点更新模块状态寄存器的值
[0034]
状态位 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 数值 1 00001 1000000000 状态位 15 14 13 12 11 10 9 8 7 6 5 4 3 2 I O 数值 0001111110001111
[0035]经过第一个周期,找到最低位的I在第O个状态位上,所以最小值为O。为了将最低位置为0,将该寄存器与另外一个32位寄存器相与,从前面的叙述中可知,与之相与的寄存器状态位小于等于最小值的值为0,其余位为1,所以它的值十六进制表示为OxffTfTffe,相与之后得到OxffTfTfTe,并将其作为下一周期寻找次最小值的输入。在第二个周期中寻找最小值,由于Oxfffffffe最低位的I在I的位置上,所以次最小值是I。同时在这个周期内统计了最小值的个数,本例中为2,所以在最后校验节点到变量节点更新输出时,所有的值都更新为O。与图2中方法相比,校验节点更新周期由4个周期减少到2个周期这种更新方式在校验节点个数比较多的时候尤为明显。
[0036]综上所述,根据发明所提供的技术方案仅需一个周期即可输出最小值,在两个周期内输出最小值和次最小值。比较周期不受校验节点度限制,对片上资源的消耗较少,有效的节省了运行空间,提高了运算速度
[0037]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
【权利要求】
1.一种LDPC码校验节点更新方法,其特征在于:该方法包括 51、将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置I ; 52、寻找状态寄存器中置I的状态位,获得校验节点数据中的最小值; 53、当最小值个数大于I时,则将所有值更新为最小值,停止寻找次最小值;当最小值个数为I时,继续S4和S5 ; 54、将状态寄存器中最低位置I的状态位屏蔽; 55、再次寻找最低位置的1,获得校验节点数据中的次最小值。
2.根据权利要求1所述的一种LDPC码校验节点更新方法,其特征在于:所述步骤S2进一步包括判断状态位是否置I的步骤:当校验节点数据与状态位相等时,则将该状态位的值置I,否则该状态位置O。
3.一种用于LDPC码的校验节点更新系统,其特征在于:该系统包括 数据寄存模块,用于将校验节点数据输入状态寄存器,并将校验节点数据中与状态位相等的状态位置I ; 屏蔽模块,用于使状态寄存器的最低位置的I取反; 选通模块,用于按最小值的个数条件,判断是否屏蔽状态寄存器的状态位,继续寻找次最小值。
4.根据权利要求3所述的校验节点更新系统,其特征在于:所述数据寄存模块采用32位的状态寄存器。
5.根据权利要求3所述的校验节点更新系统,其特征在于:所述屏蔽模块采用屏蔽寄存器。
6.根据权利要求3所述的校验节点更新系统,其特征在于:所述选通模块为比较选通器。
7.根据权利要求3所述的校验节点更新系统,其特征在于:所述寻找最小值在一个时钟周期内完成,所述寻找次最小值在一个周期内完成。
【文档编号】H03M13/11GK103986474SQ201410180696
【公开日】2014年8月13日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】张立军, 姜莹 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1