Ldpc译码中的最小值比较方法及其实现装置的制作方法

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

专利名称::Ldpc译码中的最小值比较方法及其实现装置的制作方法
技术领域
:本发明涉及数字信息传输
技术领域
,具体为一种LDPC译码中基于最小值位置指针的最小值比较方法及其实现装置。
背景技术
:LDPC(lowdensityparity-check,低密度奇偶校验)码是一类基于稀疏校验矩阵构造的线性分组码,由Gallager于1962年首先提出,由MacKay于1996年再次提出。LDPC码具有巨大的应用潜力,将在深空通信、光纤通信、卫星数字视频、数字水印、磁/光/全息存储、移动和固定无线通信、电缆调制/解调器和数字用户线中得到广泛应用。尤其是在数字信息传输
技术领域
,LDPC码已成为第四代移动通信编码技术中的首选。LDPC码一般用校验矩阵H进行描述,校验矩阵H中每一行中数字1的个数称为该行的行重,每一列中数字1的个数称为该列的列重。相应校验矩阵H的行重和列重都唯一的LDPC码称为规则LDPC码,否则称为非规则LDPC码。LDPC码的译码算法较多,目前釆用较多的有SPA(sum-productalgorithm,和积)算法,MSA(Min-SumAlgorithm,最小和)算法和改进型最小和算法。由于最小和算法的硬件复杂度较低,且对于信道噪声并不敏感,不需要在译码算法中对信道噪声进行估计,因此被广泛应用在LDPC码的译码运算中。然而,在译码器实现过程中,硬件资源占用较高,译码器的工作速率较低。在译码流程中,存在比较复杂的运算电路,其中最为突出的是主要进行最小值比较运算的水平运算单元。水平运算单元主要完成n输入n输出的比较运算(其中n对应于行重值)。一般釆取直接比较的方法来完成运算,这样当比较数较多时将会需要较多的资源占用,同时会造成逻辑运算延时较长。例如对于行重为8的LDPC码,我们将使用8输入、8输出的比较器模块来完成运算,每个输入都需要对7个输入(除了对应的输入外)进行比较获得最小值。现有技术中最小和算法的实现电路结构示意图如图1所示,其中,PRAM(PRandomAccessMachine,P随机存取机器)用于存储信道输入的软信息,RRAM(R随机存取机器)用于存储水平运算单元的运算结果,QRAM(Q随机存取机器)用于存储垂直运算单元的运算结果(上述PRAM、RRAM和QRAM中的P、R和Q为代号,用于区分不同的RAM),VPU(VerticalArithmeticUnit)为垂直运算器,HPU(HorizontalArithmeticUnit)为水平运算器。其中8输入的水平运算单元的比较运算电路示意图如图2所示,由图2可知,需要2输入比较选通器C22个,不考虑输入与输出两级缓冲寄存器(IN1-IN8与01-08),需要寄存器36个。由图2中可以看出,每位输出的获得都是通过除了相应输入外其它输入的最小值比较获得的,这样大规模的比较模块占用了较多的硬件资源,同时也使得逻辑运算延时较大,运算器只能工作在较低的时钟频率下,进一步制约了译码速率。并且,这样的结构不利于层次化的实现。随着输入个数的增加,硬件资源占用将急剧增加。
发明内容本发明的目的是提供一种能够实现高速比较运算,且能够节省硬件资源的LDPC译码中的最小值比较方法及其实现装置。为达到上述目的,本发明提供了一种LDPC译码中最小值比较方法,包括以下步骤Sl,对n个输入数进行两两分组比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;S2,对所得到的n/2组最小值和次小值进行两两分组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值;S3,重复步骤S2,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;S4,进行选通输出运算,对于第k个输入数,kEl-n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。本发明还提供了一种LDPC译码中最小值比较实现装置,包括首级比较单元,用于对n个输入数进行两两分组比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;中间级比较单元,用于对所述首级比较单元得到的n/2组最小值和次小值进行两两分组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值,并重复这种分组和比较,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;以及最终输出级比较单元,用于进行选通输出运算,对于第k个输入数,kei-n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。其中,所述最终输出级比较单元为二输入多输出选通器。所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接;所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。上述技术方案通过釆用基于最小值位置指针的比较运算单元,实现了一种的LDPC译码中最小值比较方法及其实现装置,并具有如下优点1)能够实现结构化。基于最小值指针比较方法的比较器是一种结构很规整的电路,可以很容易地实现分级设计。2)硬件资源占用少。本发明相比传统的方法,在不降低译码速率的前提下,较大程度地降低了硬件资源占用;同时,在进行流水线设计时所需的寄存器资源也远小于传统的方法。3)应用范围广。本发明可以为各种不同的LDPC码所采用,并且对于原本较难实现的码长较长、行重较大的LDPC码,通过釆用分级流水线设计可以较好地完成设计。4)适合高速时钟的实现。由于本发明的电路结构化程度较好,较容易通过在合适位置插入寄存器来实现流水线设计,达到控制运算逻辑延时的目的,从而达到较高的工作频率和译码速率。图l是现有技术中最小和算法的实现电路结构示意图;图2是现有技术中最小和算法的水平运算单元中的比较运算单元的装置结构图3是本发明实施例的LDPC译码中最小值指针比较方法流程图;图4是本发明实施例的基于最小值位置指针的比较运算单元的装置结构图5是图4的比较运算单元中的中间级比较单元的结构图。具体实施例方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。本发明实施例的LDPC译码中的最小值比较方法流程图,如图3所示,包括步骤301,利用首级比较单元对n个输入数进行排序,排序为1、2,……,n,并按顺序将每相邻两个数为一组分别进行比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;步骤302,利用中间级比较单元对所述首级比较单元得到的n/2组最小值和次小值进行分组,按顺序将每相邻两个组分为一组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值;步骤303,重复步骤302,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;步骤304,利用最终输出级单元进行选通输出运算,对于第k个输入数,kein,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。本发明基于最小值位置指针的比较运算单元的装置包括首级比较单元,用于对n个输入数进行排序,排序为1、2,……,n,并按顺序将每相邻两个数为一组分别进行比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;中间级比较单元,用于对所述首级比较单元得到的n/2组最小值和次小值进行分组,按顺序将每相邻两个组分为一组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值,并对所述n/4组最小值和次小值再次进行分组和比较,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;以及最终输出级比较单元,用于进行选通输出运算,对于第k个输入数,kEl~n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。其中,所述最终输出级比较单元为二输入多输出选通器。本发明实施例的基于最小值位置指针的8输入的比较运算单元的装置结构图如图4所示其中IN1至IN8为输入级缓冲寄存器,用于存储8个输入数;将8个输入数输入到首级比较单元,例如二输入二输出比较选通器C,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;Min()flmction为中间级比较单元,具体为四输入二输出比较选通器;最终输出级比较单元,例如二输入多输出选通器MUX,接收最后一级中间级比较单元Min()fUnction的比较结果;minl2、min34、min56、min78、minl234、min5678、min,secl2、sec34、sec56、sec78、secl234、sec5678为寄存器,用于存储首级比较单元和中间级比较单元寄存器Min()fimction计算出的最小值和次小值;Ol至08为输出级缓冲寄存器,用于存储8个输出数;index为最小值位置指针寄存器。箭头表示数据的流动方向。所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接;所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。中间级比较单元寄存器Min()flmction的结构图如图5所示其中minl、min2、sccl和sec2为寄存器,S为输出次小值的比较器,S与C之间的有向连线表示S的选通控制信号来自C的比较结果。本发明的LDPC译码中水平运算的最小值比较方法与现有技术中SPA算法所使用的硬件资源的数据比较如下表所示<table>tableseeoriginaldocumentpage10</column></row><table>上表所注ALUTs是基于ALTERAFPGA的组合逻辑硬件资源占用,所有输入数为7位位宽的数据(表中寄存器也设位宽为7)。从表中可以看出,当n较小时(n-4),本发明的最小值比较方法的逻辑资源占用比传统方法多,这是由于这时候指针方法的最终输出级所需的选通器占用的资源比率较大;而当n较大时(n-16),指针方法所需的逻辑资源占用较传统方法少;从表中可以看出,随着输入数的增多,指针方法的逻辑资源占用将优于传统方法。而对于寄存器资源占用上,从表中我们可以看出指针方法相比于传统方法有明显的优越性。随着输入数的增大,传统方法所需的寄存器将急剧增加,而指针方法则较好地控制了寄存器资源的规模。在本申请公开的基础上,本领域技术人员可以理解,上述LDPC译码中基于最小值位置指针的最小值比较方法及其实现装置的原理也可以应用于各种运算中所需的最大值比较方法及其实现装置上,其实现方法类似。由以上实施例可以看出,本发明的实施例通过釆用基于最小值位置指针的比较运算单元,实现了一种的LDPC译码的最小值比较方法、实现装置及其电路,本发明的技术方案能够实现高速运算,比如最小和算法中的水平运算,节省硬件资源,且能够进行规整的结构化分级流水设计,从而减少运算逻辑的延时,提高运算速度。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1、一种LDPC译码中最小值比较方法,其特征在于,包括以下步骤S1,对n个输入数进行两两分组比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;S2,对所得到的n/2组最小值和次小值进行两两分组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值;S3,重复步骤S2,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;S4,进行选通输出运算,对于第k个输入数,k∈1~n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。2、一种LDPC译码中最小值比较装置,其特征在于,包括首级比较单元,用于对n个输入数进行两两分组比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;中间级比较单元,用于对所述首级比较单元得到的n/2组最小值和次小值进行两两分组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值,并重复这种分组和比较,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;以及最终输出级比较单元,用于进行选通输出运算,对于第k个输入数,kEln,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。3、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接。4、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接。5、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。全文摘要本发明公开了一种LDPC译码的最小值比较方法及其实现装置。该方法包括S1,利用首级比较单元对n个输入数排序,并按顺序以每相邻两个数为一组分别比较,得到n/2组最小值和次小值;S2,利用中间级比较单元对n/2组最小值和次小值分组,按顺序将每相邻两个组分为一组,得到n/4个新组,比较每个新组中的数,得到n/4组最小值和次小值;S3,重复S2至获得n个输入数的最小值和次小值及n个输入数的最小值位置指针;S4,利用最终输出级单元进行选通输出运算。本发明采用基于最小值位置指针的比较运算单元,实现高速水平运算,节省硬件资源,能够进行规整的结构化分级流水设计,减少运算逻辑的延时,提高运算速度。文档编号H03M13/11GK101577555SQ20091008706公开日2009年11月11日申请日期2009年6月17日优先权日2009年6月17日发明者洪钦智,军王,王劲涛,雷伟龙申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1