CN101577555A - Ldpc译码中的最小值比较方法及其实现装置 - Google Patents
Ldpc译码中的最小值比较方法及其实现装置 Download PDFInfo
- Publication number
- CN101577555A CN101577555A CNA2009100870672A CN200910087067A CN101577555A CN 101577555 A CN101577555 A CN 101577555A CN A2009100870672 A CNA2009100870672 A CN A2009100870672A CN 200910087067 A CN200910087067 A CN 200910087067A CN 101577555 A CN101577555 A CN 101577555A
- Authority
- CN
- China
- Prior art keywords
- minimum value
- minimum
- sub
- inputs
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种LDPC译码的最小值比较方法及其实现装置。该方法包括:S1,利用首级比较单元对n个输入数排序,并按顺序以每相邻两个数为一组分别比较,得到n/2组最小值和次小值;S2,利用中间级比较单元对n/2组最小值和次小值分组,按顺序将每相邻两个组分为一组,得到n/4个新组,比较每个新组中的数,得到n/4组最小值和次小值;S3,重复S2至获得n个输入数的最小值和次小值及n个输入数的最小值位置指针;S4,利用最终输出级单元进行选通输出运算。本发明采用基于最小值位置指针的比较运算单元,实现高速水平运算,节省硬件资源,能够进行规整的结构化分级流水设计,减少运算逻辑的延时,提高运算速度。
Description
技术领域
本发明涉及数字信息传输技术领域,具体为一种LDPC译码中基于最小值位置指针的最小值比较方法及其实现装置。
背景技术
LDPC(low density parity-check,低密度奇偶校验)码是一类基于稀疏校验矩阵构造的线性分组码,由Gallager于1962年首先提出,由MacKay于1996年再次提出。LDPC码具有巨大的应用潜力,将在深空通信、光纤通信、卫星数字视频、数字水印、磁/光/全息存储、移动和固定无线通信、电缆调制/解调器和数字用户线中得到广泛应用。尤其是在数字信息传输技术领域,LDPC码已成为第四代移动通信编码技术中的首选。
LDPC码一般用校验矩阵H进行描述,校验矩阵H中每一行中数字1的个数称为该行的行重,每一列中数字1的个数称为该列的列重。相应校验矩阵H的行重和列重都唯一的LDPC码称为规则LDPC码,否则称为非规则LDPC码。
LDPC码的译码算法较多,目前采用较多的有SPA(sum-productalgorithm,和积)算法,MSA(Min-Sum Algorithm,最小和)算法和改进型最小和算法。由于最小和算法的硬件复杂度较低,且对于信道噪声并不敏感,不需要在译码算法中对信道噪声进行估计,因此被广泛应用在LDPC码的译码运算中。
然而,在译码器实现过程中,硬件资源占用较高,译码器的工作速率较低。在译码流程中,存在比较复杂的运算电路,其中最为突出的是主要进行最小值比较运算的水平运算单元。水平运算单元主要完成n输入n输出的比较运算(其中n对应于行重值)。一般采取直接比较的方法来完成运算,这样当比较数较多时将会需要较多的资源占用,同时会造成逻辑运算延时较长。例如对于行重为8的LDPC码,我们将使用8输入、8输出的比较器模块来完成运算,每个输入都需要对7个输入(除了对应的输入外)进行比较获得最小值。
现有技术中最小和算法的实现电路结构示意图如图1所示,其中,PRAM(P Random Access Machine,P随机存取机器)用于存储信道输入的软信息,RRAM(R随机存取机器)用于存储水平运算单元的运算结果,QRAM(Q随机存取机器)用于存储垂直运算单元的运算结果(上述PRAM、RRAM和QRAM中的P、R和Q为代号,用于区分不同的RAM),VPU(Vertical Arithmetic Unit)为垂直运算器,HPU(Horizontal Arithmetic Unit)为水平运算器。其中8输入的水平运算单元的比较运算电路示意图如图2所示,由图2可知,需要2输入比较选通器C 22个,不考虑输入与输出两级缓冲寄存器(IN1-IN8与O1-O8),需要寄存器36个。由图2中可以看出,每位输出的获得都是通过除了相应输入外其它输入的最小值比较获得的,这样大规模的比较模块占用了较多的硬件资源,同时也使得逻辑运算延时较大,运算器只能工作在较低的时钟频率下,进一步制约了译码速率。并且,这样的结构不利于层次化的实现。随着输入个数的增加,硬件资源占用将急剧增加。
发明内容
本发明的目的是提供一种能够实现高速比较运算,且能够节省硬件资源的LDPC译码中的最小值比较方法及其实现装置。
为达到上述目的,本发明提供了一种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。
本发明还提供了一种LDPC译码中最小值比较实现装置,包括:
首级比较单元,用于对n个输入数进行两两分组比较,得到每组数的最小值和次小值,即n/2组最小值和次小值,其中n为偶数;
中间级比较单元,用于对所述首级比较单元得到的n/2组最小值和次小值进行两两分组,得到n/4个新组,然后将每个新组中的数进行比较,得到每个新组中输入数的最小值和次小值,即n/4组最小值和次小值,并重复这种分组和比较,直至获得n个输入数的最小值min和次小值sec,并获得n个输入数的最小值位置指针t;以及
最终输出级比较单元,用于进行选通输出运算,对于第k个输入数,k∈1~n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。
其中,所述最终输出级比较单元为二输入多输出选通器。
所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;
所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接;
所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。
上述技术方案通过采用基于最小值位置指针的比较运算单元,实现了一种的LDPC译码中最小值比较方法及其实现装置,并具有如下优点:
1)能够实现结构化。基于最小值指针比较方法的比较器是一种结构很规整的电路,可以很容易地实现分级设计。
2)硬件资源占用少。本发明相比传统的方法,在不降低译码速率的前提下,较大程度地降低了硬件资源占用;同时,在进行流水线设计时所需的寄存器资源也远小于传统的方法。
3)应用范围广。本发明可以为各种不同的LDPC码所采用,并且对于原本较难实现的码长较长、行重较大的LDPC码,通过采用分级流水线设计可以较好地完成设计。
4)适合高速时钟的实现。由于本发明的电路结构化程度较好,较容易通过在合适位置插入寄存器来实现流水线设计,达到控制运算逻辑延时的目的,从而达到较高的工作频率和译码速率。
附图说明
图1是现有技术中最小和算法的实现电路结构示意图;
图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个输入数,k∈1~n,判断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个输入数,k∈1~n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。其中,所述最终输出级比较单元为二输入多输出选通器。
本发明实施例的基于最小值位置指针的8输入的比较运算单元的装置结构图如图4所示:
其中IN1至IN8为输入级缓冲寄存器,用于存储8个输入数;将8个输入数输入到首级比较单元,例如二输入二输出比较选通器C,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;Min()function为中间级比较单元,具体为四输入二输出比较选通器;最终输出级比较单元,例如二输入多输出选通器MUX,接收最后一级中间级比较单元Min()function的比较结果;min12、min34、min56、min78、min1234、min5678、min,sec12、sec34、sec56、sec78、sec1234、sec5678为寄存器,用于存储首级比较单元和中间级比较单元寄存器Min()function计算出的最小值和次小值;O1至O8为输出级缓冲寄存器,用于存储8个输出数;index为最小值位置指针寄存器。箭头表示数据的流动方向。
所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接;
所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接;
所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。
中间级比较单元寄存器Min()function的结构图如图5所示:其中min1、min2、scc1和sec2为寄存器,S为输出次小值的比较器,S与C之间的有向连线表示S的选通控制信号来自C的比较结果。
本发明的LDPC译码中水平运算的最小值比较方法与现有技术中SPA算法所使用的硬件资源的数据比较如下表所示:
上表所注ALUTs是基于ALTERA FPGA的组合逻辑硬件资源占用,所有输入数为7位位宽的数据(表中寄存器也设位宽为7)。从表中可以看出,当n较小时(n=4),本发明的最小值比较方法的逻辑资源占用比传统方法多,这是由于这时候指针方法的最终输出级所需的选通器占用的资源比率较大;而当n较大时(n=16),指针方法所需的逻辑资源占用较传统方法少;从表中可以看出,随着输入数的增多,指针方法的逻辑资源占用将优于传统方法。而对于寄存器资源占用上,从表中我们可以看出指针方法相比于传统方法有明显的优越性。随着输入数的增大,传统方法所需的寄存器将急剧增加,而指针方法则较好地控制了寄存器资源的规模。
在本申请公开的基础上,本领域技术人员可以理解,上述LDPC译码中基于最小值位置指针的最小值比较方法及其实现装置的原理也可以应用于各种运算中所需的最大值比较方法及其实现装置上,其实现方法类似。
由以上实施例可以看出,本发明的实施例通过采用基于最小值位置指针的比较运算单元,实现了一种的LDPC译码的最小值比较方法、实现装置及其电路,本发明的技术方案能够实现高速运算,比如最小和算法中的水平运算,节省硬件资源,且能够进行规整的结构化分级流水设计,从而减少运算逻辑的延时,提高运算速度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
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个输入数,k∈1~n,判断k是否等于所述最小值位置指针t,若相等,则第k个输出值为次小值sec,否则输出最小值min。
3、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述首级比较单元为二输入二输出比较选通器,所述二输入二输出比较选通器与输入端的寄存器相连,且通过中间寄存器与四输入二输出比较选通器连接。
4、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述中间级比较单元为四输入二输出比较选通器,所述四输入二输出比较选通器通过中间的寄存器与所述二输入多输出选通器连接。
5、如权利要求2所述的LDPC译码中最小值比较装置,其特征在于,所述最终输出级比较单元为二输入多输出选通器,所述二输入多输出选通器与输出端的寄存器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100870672A CN101577555A (zh) | 2009-06-17 | 2009-06-17 | Ldpc译码中的最小值比较方法及其实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100870672A CN101577555A (zh) | 2009-06-17 | 2009-06-17 | Ldpc译码中的最小值比较方法及其实现装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101577555A true CN101577555A (zh) | 2009-11-11 |
Family
ID=41272361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100870672A Pending CN101577555A (zh) | 2009-06-17 | 2009-06-17 | Ldpc译码中的最小值比较方法及其实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101577555A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394633A (zh) * | 2011-08-31 | 2012-03-28 | 华南理工大学 | 一种用于ldpc解码器的低功耗异步比较选通器 |
CN102647192A (zh) * | 2011-02-17 | 2012-08-22 | 中兴通讯股份有限公司 | 数据处理方法和装置 |
CN104009762A (zh) * | 2014-04-15 | 2014-08-27 | 东华大学 | 寻找最小值与次小值的一套低复杂度算法及硬件结构 |
CN105556851A (zh) * | 2013-09-13 | 2016-05-04 | 瑞士优北罗股份有限公司 | 用于从值的集合中识别第一极值和第二极值的方法及装置 |
CN113055028A (zh) * | 2021-03-18 | 2021-06-29 | 北京得瑞领新科技有限公司 | Ldpc解码方法、解码器、解码装置及存储介质 |
CN113676189A (zh) * | 2021-08-23 | 2021-11-19 | 上海擎昆信息科技有限公司 | 一种ldpc译码器的最小值计算装置及方法 |
CN115664584A (zh) * | 2022-07-25 | 2023-01-31 | 西安空间无线电技术研究所 | 一种用于高速卫星链路的高能效ldpc译码器 |
-
2009
- 2009-06-17 CN CNA2009100870672A patent/CN101577555A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647192A (zh) * | 2011-02-17 | 2012-08-22 | 中兴通讯股份有限公司 | 数据处理方法和装置 |
CN102647192B (zh) * | 2011-02-17 | 2015-03-25 | 中兴通讯股份有限公司 | 数据处理方法和装置 |
CN102394633A (zh) * | 2011-08-31 | 2012-03-28 | 华南理工大学 | 一种用于ldpc解码器的低功耗异步比较选通器 |
CN102394633B (zh) * | 2011-08-31 | 2013-08-21 | 华南理工大学 | 一种用于ldpc解码器的低功耗异步比较选通器 |
CN105556851A (zh) * | 2013-09-13 | 2016-05-04 | 瑞士优北罗股份有限公司 | 用于从值的集合中识别第一极值和第二极值的方法及装置 |
CN105556851B (zh) * | 2013-09-13 | 2019-05-17 | 瑞士优北罗股份有限公司 | 用于从多个值中识别两个被选值的方法及装置 |
CN104009762A (zh) * | 2014-04-15 | 2014-08-27 | 东华大学 | 寻找最小值与次小值的一套低复杂度算法及硬件结构 |
CN113055028A (zh) * | 2021-03-18 | 2021-06-29 | 北京得瑞领新科技有限公司 | Ldpc解码方法、解码器、解码装置及存储介质 |
CN113055028B (zh) * | 2021-03-18 | 2022-05-17 | 北京得瑞领新科技有限公司 | Ldpc解码方法、解码器、解码装置及存储介质 |
CN113676189A (zh) * | 2021-08-23 | 2021-11-19 | 上海擎昆信息科技有限公司 | 一种ldpc译码器的最小值计算装置及方法 |
CN115664584A (zh) * | 2022-07-25 | 2023-01-31 | 西安空间无线电技术研究所 | 一种用于高速卫星链路的高能效ldpc译码器 |
CN115664584B (zh) * | 2022-07-25 | 2024-04-09 | 西安空间无线电技术研究所 | 一种用于高速卫星链路的高能效ldpc译码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101577555A (zh) | Ldpc译码中的最小值比较方法及其实现装置 | |
CN102857324A (zh) | 基于查找表的深空通信中ldpc串行编码器和编码方法 | |
CN101599302B (zh) | 一种基于fpga的ldpc译码器的译码码字的高效存储方法 | |
CN105356968A (zh) | 基于循环置换矩阵的网络编码的方法及系统 | |
CN109587483A (zh) | 码流提取模块 | |
CN101594152A (zh) | 实现水平运算和垂直运算同时运行的ldpc码译码方法 | |
CN104243095A (zh) | 一种卷积码与线性分组码的码字类型盲识别方法 | |
CN104360976A (zh) | 一种ddr接口的数据编解码方法 | |
CN102857239A (zh) | 基于查找表的cmmb中ldpc串行编码器和编码方法 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
CN105391455A (zh) | 一种归零Turbo码起点及深度盲识别方法 | |
CN102725964A (zh) | 一种编码方法、译码方法及编码装置、译码装置 | |
CN102932002B (zh) | 截短型高速tpc译码器的fpga设计方法 | |
CN102916706A (zh) | 高度并行的cmmb中qc-ldpc编码器和编码方法 | |
CN113381769B (zh) | 一种基于fpga的译码器 | |
CN109639290A (zh) | 一种半随机分组叠加编码及译码方法 | |
CN102970046A (zh) | 高度并行的近地通信中qc-ldpc编码器和编码方法 | |
CN114430280A (zh) | 一种译码方法及装置 | |
CN102571107A (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
CN101789795A (zh) | 基于多码率原模图ldpc码的编码方法及编码器 | |
CN102064836B (zh) | 一种专用比较单元及ldpc码校验节点运算电路 | |
CN102647192B (zh) | 数据处理方法和装置 | |
CN109274460A (zh) | 一种多比特并行结构串行抵消译码方法和装置 | |
CN108566210A (zh) | 兼容IEEE802.11n标准的LDPC编码系统及方法、LDPC编码器 | |
CN114095036B (zh) | 一种动态哈夫曼编码的码长生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091111 |