CN103684474B - 一种高速ldpc译码器的实现方法 - Google Patents

一种高速ldpc译码器的实现方法 Download PDF

Info

Publication number
CN103684474B
CN103684474B CN201210320089.0A CN201210320089A CN103684474B CN 103684474 B CN103684474 B CN 103684474B CN 201210320089 A CN201210320089 A CN 201210320089A CN 103684474 B CN103684474 B CN 103684474B
Authority
CN
China
Prior art keywords
data
check
node information
variable node
instruction
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.)
Active
Application number
CN201210320089.0A
Other languages
English (en)
Other versions
CN103684474A (zh
Inventor
陆小凡
李明齐
潘霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Advanced Research Institute of CAS
Original Assignee
Shanghai Advanced Research Institute of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Advanced Research Institute of CAS filed Critical Shanghai Advanced Research Institute of CAS
Priority to CN201210320089.0A priority Critical patent/CN103684474B/zh
Publication of CN103684474A publication Critical patent/CN103684474A/zh
Application granted granted Critical
Publication of CN103684474B publication Critical patent/CN103684474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供一种高速LDPC译码器的实现方法,所述方法包括在译码过程中更新校验节点信息和更新变量节点信息,根据编码校验矩阵所满足的行重和列重,选取能够同时处理的校验节点信息和变量节点信息个数与填充格式;对得到的校验节点信息和变量节点信息进行循环移位重新排列,并对重新排列后的数据使用SIMD指令进行处理,最后得到更新后的校验节点信息和变量节点信息。本发明所述的高速LDPC译码器的实现方法设计周期短,成本低,修改和扩展容易,并且解决了实现LDPC译码的吞吐量较小的问题,加快译码速率。

Description

一种高速LDPC译码器的实现方法
技术领域
本发明属于无线通信信道编码领域,涉及一种译码器的实现方法,特别是涉及一种高速LDPC译码器的实现方法。
背景技术
利用虚拟无线电技术实现含LDPC码的系统相关报导和专利很少。虚拟无线电的概念是1999年V.Bose等人提出的,它的目标是以通用计算机的计算能力代替专用器件来完成无线通信中的数字信号处理过程。与基于专用可编程器件架构的软件无线电相比,虚拟无线电系统具有开发成本低、周期短、升级快捷、配置灵活的特点,可支持现有的多种模式的无线网络,还可以通过扩展设计支持未来的网络模式。
虚拟无线电系统实现的关键点是在通用计算机上实现物理层实时信号处理,而译码算法的计算量在整个物理层算法中所占比例较大,实时译码是虚拟无线电系统实现的重中之重。LDPC(Low-density Parity-check,低密度奇偶校验)码是Gallager于1963年提出的一种线性分组码。设码长为N,信息位长度为K,校验位长度为M=N-K,则校验矩阵H是一个M列N行的矩阵,校验矩阵H具有稀疏性。LDPC码性能可逼近香农限,并且具有译码复杂度低、可并行译码等特点,在信道条件较差的无线通信中展现出了巨大的应用前景。目前有LDPC码应用于很多无线通信系统中,如IEEE 802.11n/802.16e、CMMB、DVB等。
LDPC码用Tanner图表示,则Tanner图中有变量节点(Variable Node,VN)和校验节点(Check Node,CN)。与每个校验节点i相连的有b个变量节点,与每个变量节点j相连的有a个校验节点。LDPC的经典译码算法为基于置信度传播迭代译码(BP算法),也称为和积算法。在BP算法的基础上,简化并进行修正后得到Normalized Min_Sum算法,其中,NMS算法核心部分为迭代处理。
由于LDPC译码算法计算量较大,现有的LDPC译码器多数采用FPGA和ASIC实现,设计周期长,成本高,修改和扩展较难。部分LDPC译码器是基于通用处理器实现的,如基于GPU和IBM CELL Broadband Engine (BE),但是吞吐量较小,不满足实际通信系统的需求。目前,随着通用计算机领域的发展,支持SIMD指令集的通用多核CPU已经普及,利用SIMD指令实现LDPC译码算法的并行化是提高译码器吞吐量的重要手段。
但是,现有的LDPC译码器的实现方法有如下不足:
1)现有的LDPC译码器多数是FPGA和ASIC实现,这样的实现设计周期长,成本高,修改和扩展较难;
2)部分LDPC译码器是基于通用处理器实现的,如基于GPU和IBM CELL BroadbandEngine (BE),但是吞吐量较小,不满足实际通信系统的需求;
3)现有的LDPC译码器并行结构不适合通用多核CPU实现。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种高速LDPC译码器结的实现方法,用于解决现有技术中LDPC译码器修改和扩展较难,以及吞吐量较小的问题。
为实现上述目的及其他相关目的,本发明提供一种高速LDPC译码器的实现方法,所述高速LDPC译码器的实现方法包括:
更新校验节点信息的步骤;该步骤包括:令t*b个变量节点信息存储在宽型数据中,并将存储的变量节点信息按b字节一组进行组内循环移位,得到b-1个重排后的数据,并对重排后的数据使用SIMD指令进行处理,得到更新的校验节点信息;其中,t表示需更新的校验节点信息的个数,b表示与每个校验节点相连的变量节点的个数;
更新变量节点信息并更新判决信息的步骤;该步骤包括:令s*a个校验节点信息存储在宽型数据中,得到校验节点信息数据,并将存储的校验节点信息按a个字节一组进行组内循环,得到a-1个重排后的数据,并对a-1个重排后的数据使用SIMD指令进行处理,得到更新的变量节点信息,对变量节点信息进行判决得到译码比特序列;其中,s表示需更新的变量节点信息的个数,a表示与每个变量节点相连的校验节点的个数。
优选地,所述更新校验节点信息的步骤还包括:对b-1个重排后的数据使用SIMD指令集中的指令求对应每个byte位置上b-1个数据中的最小值和符号乘积,并将每个byte位置上的最小值和符号乘积相乘,最后乘以归一化因子。
优选地,所述更新变量节点信息并根性判决信息的步骤还包括:对a-1个重排后的数据使用SIMD指令集中的指令求对应每个byte位置上a-1个数据的和;令已知的变量节点的先验信息存储在宽型数据中,得到变量节点的先验信息数据,使用SIMD指令集中的指令求a-1个重排后的数据求和得到对应每个byte位置上a-1个数据的和与所得变量节点的先验信息数据对应每个byte位置上的数据的和,得到更新的变量节点信息数据,最后使用SIMD指令中的指令求所得更新的变量节点信息数据与校验节点信息数据对应每个byte位置上的数据的和,得到变量节点的后验概率;最后对变量节点信息进行判决得到译码比特序列。
优选地,所使用的SIMD指令集中的指令包括求和指令、求绝对值指令、求最小值指令、求位异或指令、和求乘指令。
优选地,更新校验节点信息中循环移位次数为b-1次。
优选地,更新变量节点信息中循环移位次数为a-1次。
优选地,所述方法还包括初始化变量节点。
优选地,所述方法还包括校验判决,判断校验方程是否非零且是否没有达到最大迭代次数,若是,则返回更新校验节点信息的步骤;若否,输出判决结果。
优选地,所述方法还包括输出判决结果。
优选地,所述宽型数据包括m128i型数据和m256i型数据。
如上所述,本发明所述的高速LDPC译码器的实现方法,具有以下有益效果:
1、加快了译码速率;
2、本发明解决了LDPC译码器吞吐量小的问题;
3、本发明所提供的LDPC译码器,设计周期短,成本低、容易修改和扩展;
4、本发明可应用的范围广,可应用于利用LDPC码作为信道编码的无线通信协议的虚拟无线电系统,例如,IEEE 802.11n/802.16e、DVB、CMMB等。
附图说明
图1显示为本发明的高速LDPC译码器的实现方法的方法流程图。
图2显示为本发明的高速LDPC译码器的实现方法中更新校验节点信息的方法流程图。
图3显示为本发明的高速LDPC译码器的实现方法的更新校验节点信息具体运行过程示意图。
图4显示为本发明的高速LDPC译码器的实现方法中更新变量节点信息的方法流程图。
图5显示为本发明的高速LDPC译码器的实现方法采用的定点化译码算法与浮点型译码算法误码性能比较示意图。
图6显示为本发明的高速LDPC译码器的实现方法在Intel Core i73960X平台上使用单线程、6线程以及12线程译码器的吞吐量性能比较示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
下面结合实施例和附图对本发明进行详细说明。
本发明提供的一种高速LDPC译码器的实现方法,该方法是基于支持SIMD指令X86处理器实现的,所述LDPC译码器支持行重列重固定的LDPC码,可在虚拟无线电系统中使用,也可以在仿真时作为加速核使用。
本实施例提供的一种实现高速LDPC译码器的方法,并且该方法以CMMB的LDPC码的1/2码率为例,其中码字长度为9216,对应的信息比特长度为4608。校验矩阵是准循环矩阵H,H具有固定的行重b和列重a,以1/2码率为例,即b=b,a=3;取NMS算法中的归一化因子θ=0.75,相当于二进制数据与之右移两位的结果相减,更方便定点化的实现。整个译码算法过程中,需定点化的数据为译码输入LLR(对数似然比)和中间变量Lq(变量节点信息)及Lr(校验节点信息)。根据一系列仿真,可确定定点化位宽为8位,一个128bit位宽型数据(m128i)可存储16个8bit数据,一个256bit位宽型数据(m256i)可存储32个8bit数据。
所述高速LDPC译码器的实现方法中包括校验节点的更新和变量节点的更新,其中校验节点的更新过程为:
有M个校验节点,每个校验节点与b个变量节点相连,令需要更新的t个校验节点信息,t=[16/b](使用m128i型数据)或t=[32/b](使用m256i型数据),使用一个m128i型数据或m256i型数据存储t*b个变量节点信息,每次操作即能够同时更新t个校验节点信息;
变量节点信息的更新过程为:
有N个校验节点,每个变量节点与a个校验节点相连,令需要更新的s个变量节点信息,s=[16/a](使用m128i型数据)或s=[32/a](使用m256i型数据),使用一个m128i型数据或m256i型数据存储s*a个变量节点信息,每次操作即能够同时更新s个变量节点信息。
因此,所述高速LDPC译码器的实现方法为归一化后的最小和算法(NMS)采用定点化的算法,其的具体过程如图1所示,包括:
S1,初始化变量节点;
S2,更新校验节点信息;对所有校验节点i和与其相邻的变量节点B(i),计算变量节点传向校验节点的信息,即校验节点信息的更新公式如下:
L(rij)=θ·∏k∈B(i)\jsgn[L(qjk)]·mink∈B(i)\jL(qjk)0<θ<1其中,L(rij)表示为校验节点i和与其相邻的变量节点j构成的校验节点信息;r为校验节点信息指示符;θ为归一化因子;B(i)表示为与校验节点i相邻的变量节点的集合;L(qjk)表示为变量节点j和与其相邻的校验节点k组构成的变量节点信息;q为变量节点信息指示符。因此,更新校验节点信息时,并使用SIMD指令集进行更新校验节点信息的处理方法,如图2所示,包括:
S21,令一个m128i(或m256i型)型数据存储t*b个变量节点信息,并将t*b个变量节点信息分为t组变量节点信息,即同时对t个校验节点进行更新操作,将所需要的t*b个变量节点信息存入一个m128i型数据中,将其余128-t*b*8(或256-t*b*8)比特任意填充;
S22,令存储在所述m128i(或m256i型)型数据中的两组变量节点信息按b个字节为一组将其进行组内循环移位,共循环移位b-1次,得到b-1个除本节点外的其他节点的值,即得到b-1个重排后的m128i(或m256i型)型数据;
S23,令通过步骤S22所得的b-1个m128i(或m256i型)型数据使用SIMD(单指令多数据流)指令集中的求绝对值指令求绝对值,并使用求最小值指令求最小值,即求数据相对应的每个byte位置上b-1个m128i型数据中的最小值,以及使用位异或指令求每个byte位置上b-1个m128i型数据的符号乘积;
S24,使用SIMD指令集中的指令令数据的每个byte位置上的最小值和符合乘积相乘,即将最小值的符号位统一,然后乘以归一化因子,最后得到更新的校验节点信息。
如图3所示,设步骤S2中每个校验节点与b=6个变量节点相连,使用m128i型数据,更新的校验节点信息t=[16/b]时,更新校验节点信息的具体步骤包括:
S21,令一个m128i型数据存储2*6个变量节点信息,并将2*6个变量节点信息分为两组变量节点信息,即同时对两个校验节点进行更新操作,将所需要的12个变量节点信息存如一个m128i型数据中,将其余128-2*6*8=32比特任意填充;
S22,令存储在所述m128i型数据中的两组变量节点信息按6个字节为一组将其进行组内循环移位,共循环移位5次,得到5个除本节点外的其他节点的值,即得到5个重排后的m128i型数据;
S23,令通过步骤S22所得的5个m128i型数据使用SIMD(单指令多数据流)指令集中的求绝对值指令求绝对值,并使用求最小值指令求最小值,即求数据相对应的每个byte位置上5个m128i型数据中的最小值,以及使用位异或指令求每个byte位置上5个m128i型数据的符号乘积;
S24,使用SIMD指令集中的指令令数据的每个byte位置上的最小值和符合乘积相乘,即将最小值的符号位统一,然后乘以归一化因子θ=0.75,最后得到更新的校验节点信息。
S3,更新变量节点信息并更新判决信息;对所有的变量节点j和与其相邻的校验节点A(j),计算校验节点传向变量节点的信息,即变量节点信息的更新公式如下:
L(qij)=L(Pj)+∑k∈A(j)\iL(rkj)L(qj)=L(Pj)+∑k∈A(j)L(rkj)
其中,L(qij)表示为变量节点j与其相邻的校验节点i构成的变量节点信息;L(Pj)表示为变量节点j的先验信息;P为先验信息指示符;A(j)表示为与变量节点j相邻的校验节点的集合;L(rkj)表示为校验节点k和与其相邻的变量节点j构成的校验节点信息;r为校验节点信息指示符;L(Qj)表示为变量节点j的后验概率;Q为后验概率指示符。因此,更新变量节点信息时,已知变量节点j的先验信息L(Pj),并设可同时更新3个校验节点,并使用SIMD指令集进行更新变量节点信息的处理方法如图4所示,包括:
S31,令一个m128i(或m256i型)型数据存储s*a个校验节点信息,其余128-s*a*8(或256-s*a*8)比特任意填充,得到校验节点信息数据;
S32,令存储在m128i(或m256i型)型数据中的校验节点信息按一组a个字节的进行组内循环移位,得到a-1个重新排列后的m128i(或m256i型)型数据;
S33,令a-1个重新排列的m128i(或m256i型)型数据使用SIMD指令集中的求和指令求数据相对应的每个byte位置上a-1个m128i(或m256i型)型数据的和;
S34,将已知的变量节点的先验信息L(Pj)存入一个m128i(或m256i型)型数据中,其余128-s*a*8(或256-s*a*8)比特任意填充,得到变量节点的先验信息数据;
S35,使用SIMD指令集中的求和指令求步骤S33和步骤S34中数据对应的每个byte位置上的数据的和(即a-1个重排后的数据求和得到对应每个byte位置上a-1个数据的和与所得变量节点的先验信息数据对应每个byte位置上的数据的和),得到更新后的变量节点信息;
S36,使用SIMD指令集中的求和指令求步骤S35和步骤S31中数据对应的每个byte位置上的数据的和(即所得更新的变量节点信息数据与校验节点信息数据对应每个byte位置上的数据的和),得到变量节点j的后验概率;以及对变量节点信息进行判决得到译码比特序列,即如果变量节点j的后验概率非零,则Zj=1,否则Zj=0,其中Zj表示为判决以后的译码比特序列。
设每个校验节点与a=3个校验节点相连,使用m128i型数据,更新的变量节点信息s=[16/a]时,更新变量节点信息的具体步骤包括:
S31,令一个m128i型数据存储5*3个校验节点信息,其余128-5*3*8=8比特任意填充,得到校验节点信息数据;
S32,令存储在m128i型数据中的校验节点信息按一组3个字节的进行组内循环移位,得到2个重新排列后的m128i型数据;
S33,令2个重新排列的m128i型数据使用SIMD指令集中的求和指令求数据相对应的每个byte位置上2个m128i型数据的和;
S34,将已知的变量节点的先验信息L(Pj)存入一个m128i型数据中,其余8比特任意填充,得到变量节点的先验信息数据;
S35,使用SIMD指令集中的求和指令求步骤S33和步骤S34中数据对应的每个byte位置上的数据的和(即2个重排后的数据求和得到对应每个byte位置上2个数据的和与所得变量节点的先验信息数据对应每个byte位置上的数据的和),得到更新后的变量节点信息;
S36,使用SIMD指令集中的求和指令求步骤S35和步骤S31中数据对应的每个byte位置上的数据的和(即所得更新的变量节点信息数据与校验节点信息数据对应每个byte位置上的数据的和),得到变量节点j的后验概率;以及对变量节点信息进行判决得到译码比特序列,即如果变量节点j的后验概率非零,则Zj=1,否则Zj=0,其中Zj表示为判决以后的译码比特序列。
S4,校验判决,判断校验方程是否非零且是否没有达到最大迭代次数,若是,则返回步骤S2;若否,继续执行下一步;
S5,输出判决结果。
本发明所述的高速LDPC译码器的实现方法在更新校验节点信息和变量节点信息的时候,进行两部分并行处理,第一部分是同时并行更新不同节点信息,第二部分是对与同一节点相连的多个信息进行并行处理。这两部分措施能够在很大程度上加快译码速率。并且所述方法是采用char数据类型的。因此,通过实验,得到浮点型译码算法和定点化译码算法误码性能的比较,如图5所示。本发明将原来的浮点型数据量化成固定位宽的定点型数据,所产生的误码范围与对应算法的完整精度相比损失小于0.2dB。且将本发明所示的高速LDPC译码器的实现方法应用在Intel Core i73960X平台上(主频设定为4.0GHz),使用多线程调用LDPC译码器,分别比较单核单线程LDPC译码器、6线程译码器以及12线程译码器的吞吐量性能,吞吐量实验结构如图6所示。
本发明所述的高速LDPC译码器的实现方法利用SIMD指令集和多线程技术队LDPC译码程序进行并行优化,在Intel Core i73960X平台上能够达到92~720Mbps的吞吐量。优化过后的LDPC译码程序满足CMMB标准对性能和速度的要求可以进行实时LDPC译码,适用于虚拟无线电。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种高速LDPC译码器的实现方法,其特征在于,所述方法包括:
更新校验节点信息的步骤;该步骤包括:令t*b个变量节点信息存储在宽型数据中,并将存储的变量节点信息按b字节一组进行组内循环移位,得到b-1个重排后的数据,每次操作即能够同时更新t个校验节点信息,并对重排后的数据使用SIMD指令进行处理,得到更新的校验节点信息;其中,t表示需更新的校验节点信息的个数,b表示与每个校验节点相连的变量节点的个数;
更新变量节点信息并更新判决信息的步骤;该步骤包括:令s*a个校验节点信息存储在宽型数据中,得到校验节点信息数据,并将存储的校验节点信息按a个字节一组进行组内循环,得到a-1个重排后的数据,每次操作即能够同时更新s个校验节点信息,并对a-1个重排后的数据使用SIMD指令进行处理,得到更新的变量节点信息,对变量节点信息进行判决得到译码比特序列;其中,s表示需更新的变量节点信息的个数,a表示与每个变量节点相连的校验节点的个数。
2.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述更新校验节点信息的步骤还包括:对b-1个重排后的数据使用SIMD指令集中的指令求对应每个字节位置上b-1个数据中的最小值和符号乘积,并将每个字节位置上的最小值和符号乘积相乘,最后乘以归一化因子。
3.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述更新变量节点信息并更新判决信息的步骤还包括:对a-1个重排后的数据使用SIMD指令集中的指令求对应每个字节位置上a-1个数据的和;令已知的变量节点的先验信息存储在宽型数据中,得到变量节点的先验信息数据,使用SIMD指令集中的指令求a-1个重排后的数据求和得到对应每个字节位置上a-1个数据的和与所得变量节点的先验信息数据对应每个字节位置上的数据的和,得到更新的变量节点信息数据,最后使用SIMD指令中的指令求所得更新的变量节点信息数据与校验节点信息数据对应每个字节位置上的数据的和,得到变量节点的后验概率;最后对变量节点信息进行判决得到译码比特序列。
4.根据权利要求2或3所述的高速LDPC译码器的实现方法,其特征在于:所使用的SIMD指令集中的指令包括求和指令、求绝对值指令、求最小值指令、求位异或指令、和求乘指令。
5.根据权利要求2所述的高速LDPC译码器的实现方法,其特征在于:更新校验节点信息中循环移位次数为b-1次。
6.根据权利要求3所述的高速LDPC译码器的实现方法,其特征在于:更新变量节点信息中循环移位次数为a-1次。
7.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述方法还包括初始化变量节点。
8.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述方法还包括校验判决,判断校验方程是否非零且是否没有达到最大迭代次数,若是,则返回更新校验节点信息的步骤;若否,输出判决结果。
9.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述方法还包括输出判决结果。
10.根据权利要求1所述的高速LDPC译码器的实现方法,其特征在于:所述宽型数据包括m128i型数据和m256i型数据。
CN201210320089.0A 2012-08-31 2012-08-31 一种高速ldpc译码器的实现方法 Active CN103684474B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210320089.0A CN103684474B (zh) 2012-08-31 2012-08-31 一种高速ldpc译码器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210320089.0A CN103684474B (zh) 2012-08-31 2012-08-31 一种高速ldpc译码器的实现方法

Publications (2)

Publication Number Publication Date
CN103684474A CN103684474A (zh) 2014-03-26
CN103684474B true CN103684474B (zh) 2016-08-17

Family

ID=50320928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210320089.0A Active CN103684474B (zh) 2012-08-31 2012-08-31 一种高速ldpc译码器的实现方法

Country Status (1)

Country Link
CN (1) CN103684474B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10566999B2 (en) * 2014-11-19 2020-02-18 Lantiq Beteiligungs-GmbH & Co. KG Low-density parity check decoding
CN105808309B (zh) * 2016-03-08 2019-04-05 中国科学院软件研究所 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法
WO2018095796A1 (en) * 2016-11-23 2018-05-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Receiver, transmitter, communication network, data signal and method improving a retransmission process in a communication network
CN108347298B (zh) * 2017-01-24 2021-01-15 华为技术有限公司 一种编码的方法和通信装置
CN109586844B (zh) * 2018-10-30 2020-08-04 北京航空航天大学 一种基于集合的非均等保护译码方法及系统
CN109921877B (zh) * 2018-12-26 2021-11-12 中国电子科技集团公司第二十研究所 一种awgn信道下基于cuda架构的ldpc码并行译码方法
CN110730005A (zh) * 2019-10-12 2020-01-24 湖南智领通信科技有限公司 一种基于矢量指令集的ldpc码快速译码方法
CN113612581B (zh) * 2021-08-03 2022-03-11 浙江极传信息技术有限公司 一种通用高吞吐率的ldpc译码方法及系统
CN117375636B (zh) * 2023-12-07 2024-04-12 成都星联芯通科技有限公司 提高qc-ldpc译码器吞吐率的方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070062534A (ko) * 2004-10-01 2007-06-15 톰슨 라이센싱 저밀도 패리티 체크(ldpc) 디코더
CN101340193B (zh) * 2008-08-12 2011-04-20 普天信息技术研究院有限公司 一种低密度校验码的构造方法、编码器和译码器
US8918694B2 (en) * 2011-02-28 2014-12-23 Clariphy Communications, Inc. Non-concatenated FEC codes for ultra-high speed optical transport networks

Also Published As

Publication number Publication date
CN103684474A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103684474B (zh) 一种高速ldpc译码器的实现方法
US20180357530A1 (en) Deep learning decoding of error correcting codes
US10530392B2 (en) Vertical layered finite alphabet iterative decoding
CN102932003B (zh) 基于gpu架构的qc-ldpc码的加速译码方法
CN101232288B (zh) 一种基于奇偶校验矩阵的ldpc码的译码方法及译码器
Zhang et al. Controlling the error floor in LDPC decoding
Zhao et al. Implementation of decoders for LDPC block codes and LDPC convolutional codes based on GPUs
CN103220003B (zh) 提高节点处理并行度的qc-ldpc译码器的实现方法
KR20100080779A (ko) 적어도 두 개의 디코딩 매소드를 디코딩하기 위한 asip 아키텍처
CN106452455B (zh) 基于OpenCL移动设备QC-LDPC的动态译码方法
Tarver et al. GPU-based, LDPC decoding for 5G and beyond
CN106788467B (zh) 一种基于CUDA的Raptor Code编码方法、译码方法及系统
Giard et al. High-speed decoders for polar codes
Tarver et al. GPU-based LDPC decoding for vRAN systems in 5G and beyond
JP5148586B2 (ja) 復号装置および復号方法
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
Andrade et al. From low-architectural expertise up to high-throughput non-binary LDPC decoders: Optimization guidelines using high-level synthesis
Pan et al. A high throughput LDPC decoder in CMMB based on virtual radio
Tiwari et al. Flexible LDPC decoder using stream data processing for 802.11 n and 802.16 e
Le Gal et al. High-performance hard-input ldpc decoding on multi-core devices for optical space links
CN109245775A (zh) 一种译码器及其实现译码的方法
Tavares et al. A dual-core programmable decoder for LDPC convolutional codes
CN107465414A (zh) Ldpc码的编码方法
Han et al. High-Throughput Implementation of QC-LDPC on RaPro Prototyping Platform
Jiang et al. Efficient simulation of QC LDPC decoding on GPU platform by CUDA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant