CN113381769B - 一种基于fpga的译码器 - Google Patents
一种基于fpga的译码器 Download PDFInfo
- Publication number
- CN113381769B CN113381769B CN202110716250.5A CN202110716250A CN113381769B CN 113381769 B CN113381769 B CN 113381769B CN 202110716250 A CN202110716250 A CN 202110716250A CN 113381769 B CN113381769 B CN 113381769B
- Authority
- CN
- China
- Prior art keywords
- decoder
- decoding
- fpga
- data
- unit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
Abstract
本发明公开了一种基于FPGA的译码器及其设计方法,属于数据处理领域,基于FPGA的译码器包括:多个并行的译码器核;每个译码器核包括数据输入单元、数据输出单元和多个并行的译码单元,每个译码器核中译码单元的数量为令译码器核译码吞吐率最大时所需的译码单元的最小数量;每个译码器核中,多个并行的译码单元复用数据输入单元和数据输出单元,用于并行地对数据输入单元中的编码数据进行译码,并将译码后的数据传输至数据输出单元。可以利用多内存FPGA的内存通道和硬件资源实现该FPGA,可以简单扩展硬件规模,快速适应不同的FPGA硬件平台,在大规模FPGA上快速实现高性能译码。
Description
技术领域
本发明属于数据处理领域,更具体地,涉及一种基于FPGA的译码器及其设计方法。
背景技术
随着社会的发展,各种业务对存储设备的容量与速度都提出了越来越高的要求,这种需求需要高存储密度、高吞吐率的存储设备来满足。存储密度的提高使得存储介质的原始误码率有所上升,因此,对于高存储密度的存储设备,采用先进的纠错编码技术十分重要。然而,先进的纠错编码技术往往计算较为复杂,例如低密度奇偶校验码(Low DensityParity Check Code,LDPC),LDPC的CPU译码速度相当低,无法部署于实际应用中。为了满足高存储密度存储设备的高吞吐率需求,通常需要通过设计专用硬件来进行高性能译码。
现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是一种可修改内部逻辑的通用芯片。相比于设计专用集成电路芯片,使用FPGA的重新开发成本较低。随着芯片制程的不断进步,FPGA的规模与专用集成电路芯片的制造成本均大幅增加,因此,相比于设计专用集成电路芯片,直接使用FPGA的性价比越来越高。同时,现在越来越多样的应用需要专用硬件进一步提高处理能力,因此,FPGA越来越多地直接作为专用硬件使用。
FPGA在借助制程提升增加规模的同时,为了进一步减小与专用集成电路芯片之间的电路效率差距,FPGA的硬件架构设计发生了许多变化,硬件单元变得更加异构,还加入了特殊的数据总线。因此,不考虑FPGA平台自身特性的译码器设计无法充分发挥出FPGA的性能,并且无法适应大规模FPGA,甚至无法直接使用。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于FPGA的译码器及其设计方法,其目的在于解决现有FPGA译码器不适应大规模FPGA的缺陷,同时可以简单扩展硬件规模,快速适应不同的FPGA硬件平台,在大规模FPGA上快速实现高性能译码。
为实现上述目的,按照本发明的一个方面,提供了一种基于FPGA的译码器,包括:多个并行的译码器核;每个所述译码器核包括数据输入单元、数据输出单元和多个并行的译码单元,每个所述译码器核中译码单元的数量为令所述译码器核译码吞吐率最大时所需的译码单元的最小数量;每个所述译码器核中,所述多个并行的译码单元复用所述数据输入单元和所述数据输出单元,用于并行地对所述数据输入单元中的编码数据进行译码,并将译码后的数据传输至所述数据输出单元。
更进一步地,所述译码器核的数量为所述译码器所处FPGA的硬件资源所支持的最大译码器核数量。
更进一步地,所述数据输入单元和数据输出单元通过所述译码器核的接口分别与所述FPGA的数据总线相连接,用于支持所述译码单元的IO模式,并为所述FPGA的数据总线提供高吞吐率传输的IO模式。
更进一步地,所述译码器核还包括多个输入缓冲区和多个输出缓冲区,所述多个输入缓冲区和所述多个输出缓冲区均与所述多个并行的译码单元通过内部总线一一对应连接,所述多个输入缓冲区还连接所述数据输入单元,所述多个输出缓冲区还连接所述数据输出单元。
更进一步地,所述译码单元包括依次连接的初始化模块、内存块阵列和节点更新阵列;所述初始化模块用于读取分配至所述译码单元中的编码数据,并将读取到的编码数据存储在所述内存块阵列中;所述节点更新阵列用于对所述内存块阵列中存储的编码数据进行迭代译码。
更进一步地,所述节点更新阵列包括多个节点更新模块,所述节点更新模块用于更新迭代译码过程中所述内存块阵列中缓存的中间变量;所述译码器中预先存储有映射表,当所述节点更新模块需要对多个小于基本单元位宽的中间变量进行更新时,所述节点更新模块还用于通过查询所述映射表以更新所述中间变量。
更进一步地,所述译码单元还包括单元输入接口和单元输出接口,所述初始化模块用于从所述单元输入接口读取所述编码数据,所述节点更新阵列译码后的数据通过所述单元输出接口输出。
更进一步地,所述单元输入接口的数据类型为与所述编码数据的量化位宽相同的有符号整数,所述单元输出接口的数据类型为1bit的无符号整数。
按照本发明的另一个方面,提供了一种如上所述的基于FPGA的译码器的设计方法,包括:S1,计算单个译码器核的数据输入速度与单个译码单元的译码速度之间的第一比值,将所述译码器核内译码单元的数量设置为所述第一比值的整数部分,并实现所述译码器核的硬件设计,测量所述译码器核的实际译码吞吐率;逐一减少所述译码器核内译码单元的数量,直至所述译码器核的实际译码吞吐率变小,所述译码器核的实际译码吞吐率变小之前的最小数量为最优数量,并将所述译码器核内译码单元的数量设置为所述最优数量。
更进一步地,所述S2之后还包括:计算FPGA的通道带宽与所述最优数量对应译码器核的数据输入带宽之间的第二比值,以及计算所述FPGA的硬件资源数量的50%与所述最优数量对应译码器核的硬件资源消耗数量之间的第三比值;将所述译码器核的数量设置为所述第二比值和所述第三比值中最小比值的整数部分,并实现所述译码器的硬件设计,测量所述译码器的实际译码吞吐率;逐一增加所述译码器核的数量,直至所述译码器的实际译码吞吐率最大或所述FPGA中译码器的实现失败,得到最优译码器核数量,并将所述译码器核的数量设置为所述最优译码器核数量。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)译码器由多个译码器核组成,每个译码器核包括多个译码单元,将译码器核中译码单元的数量设置为令译码器核译码吞吐率最大时所需的译码单元的最小数量,使得数据输入的速度与译码器的聚合译码吞吐率一致,避免浪费带宽或产生输入数据的停顿,从而避免了译码器的性能降低;
(2)将译码器核的数量设置为FPGA硬件资源所支持的最大译码器核数量,充分利用FPGA硬件实现平台的硬件资源和内存通道,从而在尽可能多地使用FPGA硬件实现平台的硬件资源的同时,获得更高的吞吐率;
(3)确定译码器核中译码单元的数量时,基于单个译码器核的数据输入速度与单个译码单元的译码速度之间的比值确定初始设计值,并在初始设计值的基础上递减以寻找最优设计值,该设计方法仅需几次较少的硬件实现即可在快速增大硬件规模的同时获得硬件效率的平衡点,减少了硬件设计的搜索空间,加快了设计周期。
附图说明
图1为本发明实施例提供的基于FPGA的译码器的结构框图;
图2为本发明实施例提供的译码单元的结构框图;
图3为本发明实施例提供的节点更新模块的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
图1为本发明实施例提供的基于FPGA的译码器的结构框图。参阅图1,结合图2-图3,对本实施例中基于FPGA的译码器进行详细说明。
参阅图1,基于FPGA的译码器包括多个并行的译码器核。每个译码器核包括数据输入单元、数据输出单元和多个并行的译码单元。每个译码器核中译码单元的数量为令该译码器核译码吞吐率最大时所需的译码单元的最小数量。每个译码器核中,多个并行的译码单元复用数据输入单元和数据输出单元,用于并行地对数据输入单元中的编码数据进行译码,并将译码后的数据传输至数据输出单元,保证译码器核的数据输入输出速度和译码速度匹配,并且充分利用多内存FPGA的内存通道和硬件资源。译码器应当具有数据的输入、输出与解码功能,并部署于FPGA硬件实现平台。
对于每个译码器核而言,其包含的多个译码单元分别通过相应的内部总线与数据输入单元和数据输出单元连接。当每个译码器核内译码单元的最佳数量N确定之后,可以通过串行地执行数据输入单元N次,并将需要该译码器核译码的编码数据输入至N个译码单元中,并行地运行N个译码单元,可以通过串行地执行数据输出单元N次以输出N个译码单元译码后的数据,实现译码器核内部输入输出与译码处理能力的平衡。减少了输入输出单元的停顿时间,提高了输入输出单元的硬件利用效率,获得硬件效率更高的译码器核。
根据本发明的实施例,译码器核的数量为译码器所处FPGA平台的硬件资源所支持的最大译码器核数量。译码器核还包括多个输入缓冲区和多个输出缓冲区。多个输入缓冲区和多个输出缓冲区均与多个并行的译码单元通过内部总线一一对应连接。多个输入缓冲区还连接数据输入单元。多个输出缓冲区还连接数据输出单元。数据输入单元将编码数据放入输入缓冲区,译码单元从其连接的输入缓冲区中读取编码数据,并将译码后的数据放入其连接的输出缓冲区,输出缓冲区将译码后的数据传输至数据输出单元。
每个译码器核中,数据输入单元和数据输出单元通过译码器核的接口分别与FPGA平台提供的数据总线相连接。译码器核的接口与FPGA平台提供的数据总线相连,数据输入单元和数据输出单元与译码器核的接口直接连接。数据输入单元和数据输出单元用于支持译码单元的IO模式,并为FPGA的数据总线提供高吞吐率传输的IO模式。
本实施例中,一个译码单元可以处理一路数据,每次处理一个码字,码字为输入的编码数据的最小单位。可以通过数据输入单元输入的参数决定各译码单元的执行次数。输入数据是编码后含噪音的对数概率似然比数值或含噪音的码字,形式为连续的多个整数,精度为多个比特或单个比特,最小单位为一个码字,其长度由译码器所对应的码决定。输出数据是经过译码后获得的数据,形式为连续的多个比特,最小长度由译码器所对应的码决定,当噪音强度在译码器纠错范围内时,译码后的数据与编码前的数据一致。
译码器单元包含结合硬件单元和译码算法特征,完成码字的高效解码。参阅图2,译码单元包括依次连接的初始化模块、内存块阵列和节点更新阵列。初始化模块用于读取分配至译码单元中的编码数据,并将读取到的编码数据存储在内存块阵列中。节点更新阵列用于对内存块阵列中存储的编码数据进行迭代译码。满足迭代结束条件时,输出内存块阵列中的译码结果,具体通过译码单元的输出模块输出译码结果。
节点更新阵列包括多个节点更新模块。节点更新模块的实现与译码算法相关,用于更新迭代译码过程中内存块阵列中缓存的中间变量。译码器中预先存储有映射表,当节点更新模块需要对多个小于基本单元位宽的中间变量进行更新时,节点更新模块还用于通过查询映射表以更新中间变量。利用预先设计存储映射表的方式取代计算电路,减少硬件开销。
参阅图3,对本实施例中映射表的工作原理进行详细说明。节点更新模块需要对两个、三个和六个2bit数进行映射,而后求出4bit的和、以及进行4bit数与2bit数的求出2bit数的减法。以FPGA为xilinx alveo U50为例,其基本硬件单元映射表(Look-Up-Table,LUT)的接口数为6,因此,可以将两个和三个2bit数的运算视为一个6bit数的运算,将六个2bit数的运算视为两个6bit数的运算,将4bit数与2bit数的运算视为一个6bit数的运算。
参阅图3,以三个输入与输出的变量节点更新模块为例,图中三个输入进行映射后求和的操作可等效为一组6bit输入的LUT-A,三个由2bit数经过映射后与4bit数求差的运算也可等效为一组6bit输入的LUT-S。这样等效之后,变量节点更新模块中所有较复杂的运算都可以通过预先计算结果的方式直接设计LUT实现,而无需使用LUT模拟门电路,而后再将多个LUT模拟的门电路进行组合以模拟计算电路。由此可以将多个步骤简化为一个步骤,降低延迟的同时减少了硬件资源的消耗。
译码单元还包括单元输入接口和单元输出接口。初始化模块用于从单元输入接口读取编码数据,节点更新阵列译码后的数据通过单元输出接口输出。单元输入接口的数据类型为与编码数据的量化位宽相同的有符号整数。单元输出接口的数据类型为1bit的无符号整数。
本发明实施例还提供了一种如图1-图3所示基于FPGA的译码器的设计方法,包括操作S1-操作S2。并以在xilinx alveo U50数据中心FPGA加速卡上实现802.16e标准1/2码率的QC-LDPC码的高吞吐率三层结构译码器设计为例进行说明。
在执行操作S1之前,需要按照译码算法设计译码单元。本实施例中,译码单元的接口有两个,分别是1536个2bit有符号整数的单元输入和768个1bit的单元输出。译码单元由以下几部分构成:78个深度为64的内存块组成的内存块阵列、输入码字缓存阵列、初始化模块、78对校验节点与变量节点更新模块组成的节点更新阵列、以及输出模块。
译码单元的初始化模块将单元输入接口的输入数据传输到内存块阵列,然后节点更新阵列迭代更新内存块阵列中的数据,直至满足迭代退出条件,迭代退出条件离如为迭代次数上限或完成译码。
操作S1,计算单个译码器核的数据输入速度与单个译码单元的译码速度之间的第一比值,将译码器核内译码单元的数量设置为第一比值的整数部分,并实现该单个译码器核的硬件设计,测量译码器核的实际译码吞吐率。
以单个译码器核的数据输入延迟为104周期,单个译码单元的译码延迟为1508个周期,因此操作S1求得的比值为14,设计包含14个译码单元的译码器核。
操作S2,逐一减少译码器核内译码单元的数量,直至译码器核的实际译码吞吐率变小,译码器核的实际译码吞吐率变小之前的最小数量为最优数量,并将译码器核内译码单元的数量设置为最优数量。
具体地,对包含不同数量译码单元的译码器核进行硬件实现及测试,测试发现当单个译码器核中译码单元的数量为12个时译码吞吐率已经达到最大,再减小译码单元的数量时译码吞吐率变小,因此12即为最有数量。本实施例中提出的译码单元数量设计方案,仅需几次较少的硬件实现即可在快速增大硬件规模的同时获得硬件效率的平衡点,减少了硬件设计的搜索空间,加快了设计周期。
在操作S2之后,还应对译码器中译码器核的数量进行设计。具体地:计算FPGA的通道带宽与最优数量对应译码器核的数据输入带宽之间的第二比值,以及计算FPGA的硬件资源数量的50%与最优数量对应译码器核的硬件资源消耗数量之间的第三比值;将译码器核的数量设置为第二比值和第三比值中最小比值的整数部分,并实现译码器的硬件设计,测量译码器的实际译码吞吐率;逐一增加译码器核的数量,直至译码器的实际译码吞吐率最大或FPGA中译码器的实现失败,得到最优译码器核数量,并将译码器核的数量设置为最优译码器核数量。在xilinx alveo U50中最大实现了14个译码器核。本实施例中,最终获得了包含14译码器核、各译码器核中包含12译码单元802.16e标准1/2码率的QC-LDPC码的高吞吐率三层结构部分并行译码器。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于FPGA的译码器,其特征在于,包括:
多个并行的译码器核;每个所述译码器核包括数据输入单元、数据输出单元和多个并行的译码单元,每个所述译码器核中译码单元的数量为令所述译码器核译码吞吐率最大时所需的译码单元的最小数量;
每个所述译码器核中,所述多个并行的译码单元复用所述数据输入单元和所述数据输出单元,用于并行地对所述数据输入单元中的编码数据进行译码,并将译码后的数据传输至所述数据输出单元,所述译码器核的数量为所述译码器所处FPGA的硬件资源所支持的最大译码器核数量;
每个所述译码器核中译码单元的数量通过以下方式确定:计算单个译码器核的数据输入速度与单个译码单元的译码速度之间的第一比值,将所述译码器核内译码单元的数量设置为所述第一比值的整数部分,并实现所述译码器核的硬件设计,测量所述译码器核的实际译码吞吐率;逐一减少所述译码器核内译码单元的数量,直至所述译码器核的实际译码吞吐率变小,所述译码器核的实际译码吞吐率变小之前的最小数量为最优数量,并将所述译码器核内译码单元的数量设置为所述最优数量;
所述译码器核的数量通过以下方式确定:计算FPGA的通道带宽与所述最优数量对应译码器核的数据输入带宽之间的第二比值,以及计算所述FPGA的硬件资源数量的50%与所述最优数量对应译码器核的硬件资源消耗数量之间的第三比值;将所述译码器核的数量设置为所述第二比值和所述第三比值中最小比值的整数部分,并实现所述译码器的硬件设计,测量所述译码器的实际译码吞吐率;逐一增加所述译码器核的数量,直至所述译码器的实际译码吞吐率最大或所述FPGA中译码器的实现失败,得到最优译码器核数量,并将所述译码器核的数量设置为所述最优译码器核数量。
2.如权利要求1所述的基于FPGA的译码器,其特征在于,所述数据输入单元和数据输出单元通过所述译码器核的接口分别与所述FPGA的数据总线相连接,用于支持所述译码单元的IO模式,并为所述FPGA的数据总线提供高吞吐率传输的IO模式。
3.如权利要求1-2任一项所述的基于FPGA的译码器,其特征在于,所述译码器核还包括多个输入缓冲区和多个输出缓冲区,所述多个输入缓冲区和所述多个输出缓冲区均与所述多个并行的译码单元通过内部总线一一对应连接,所述多个输入缓冲区还连接所述数据输入单元,所述多个输出缓冲区还连接所述数据输出单元。
4.如权利要求1所述的基于FPGA的译码器,其特征在于,所述译码单元包括依次连接的初始化模块、内存块阵列和节点更新阵列;所述初始化模块用于读取分配至所述译码单元中的编码数据,并将读取到的编码数据存储在所述内存块阵列中;所述节点更新阵列用于对所述内存块阵列中存储的编码数据进行迭代译码。
5.如权利要求4所述的基于FPGA的译码器,其特征在于,所述节点更新阵列包括多个节点更新模块,所述节点更新模块用于更新迭代译码过程中所述内存块阵列中缓存的中间变量;
所述译码器中预先存储有映射表,当所述节点更新模块需要对多个小于基本单元位宽的中间变量进行更新时,所述节点更新模块通过查询所述映射表以更新所述中间变量。
6.如权利要求4或5所述的基于FPGA的译码器,其特征在于,所述译码单元还包括单元输入接口和单元输出接口,所述初始化模块用于从所述单元输入接口读取所述编码数据,所述节点更新阵列译码后的数据通过所述单元输出接口输出。
7.如权利要求6所述的基于FPGA的译码器,其特征在于,所述单元输入接口的数据类型为与所述编码数据的量化位宽相同的有符号整数,所述单元输出接口的数据类型为1bit的无符号整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716250.5A CN113381769B (zh) | 2021-06-25 | 2021-06-25 | 一种基于fpga的译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716250.5A CN113381769B (zh) | 2021-06-25 | 2021-06-25 | 一种基于fpga的译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381769A CN113381769A (zh) | 2021-09-10 |
CN113381769B true CN113381769B (zh) | 2023-02-07 |
Family
ID=77579382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110716250.5A Active CN113381769B (zh) | 2021-06-25 | 2021-06-25 | 一种基于fpga的译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113381769B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075198B (zh) * | 2011-01-11 | 2013-01-09 | 上海交通大学 | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 |
CN102545913B (zh) * | 2012-02-07 | 2015-05-27 | 中兴通讯股份有限公司 | 一种迭代译码方法及系统 |
CN106911336B (zh) * | 2017-01-17 | 2020-07-07 | 清华大学 | 多核调度的高速并行低密度奇偶校验译码器及其译码方法 |
-
2021
- 2021-06-25 CN CN202110716250.5A patent/CN113381769B/zh active Active
Non-Patent Citations (2)
Title |
---|
1Gbit/S QC-LDPC码译码结构的设计;黄志成;《桂林电子科技大学学报》;20180430;92-96 * |
A shared hard decisions storing in partially parallel FPGA-based QC-LDPC decoder;Tianjiao Xie;《2015 IEEE International Conference on Communication Problem-Solving (ICCP)》;20151231;594-596 * |
Also Published As
Publication number | Publication date |
---|---|
CN113381769A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lin et al. | A high throughput list decoder architecture for polar codes | |
CN100581064C (zh) | 低密度奇偶校验码解码装置和方法 | |
US11165448B2 (en) | Low latency polar coding and decoding by merging of states of the polar code graph | |
CN104079382A (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
CN105049061A (zh) | 基于超前计算的高维基极化码译码器和极化码译码方法 | |
Wang et al. | Processing-task arrangement for a low-complexity full-mode WiMAX LDPC codec | |
KR20060068168A (ko) | 저 복잡도 ldpc복호 장치 및 그 방법 | |
CN109347486B (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
CN103916134A (zh) | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 | |
CN112332857B (zh) | 一种用于ldpc码的循环移位网络系统及循环移位方法 | |
CN114422085A (zh) | 基于fpga的优化速率匹配方法及系统 | |
CN113381769B (zh) | 一种基于fpga的译码器 | |
Zhang et al. | High-throughput fast-SSC polar decoder for wireless communications | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN102201817B (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
US20230037965A1 (en) | Layered semi parallel ldpc decoder system having single permutation network | |
CN103475378B (zh) | 一种适用于光通信的高吞吐率ldpc译码器 | |
CN114884618A (zh) | 一种基于gpu的5g多用户ldpc码高速译码器及其译码方法 | |
CN111900999B (zh) | 一种面向卫星非连续通信的高性能极化编码方法及编码器 | |
CN114430280A (zh) | 一种译码方法及装置 | |
CN113472358A (zh) | 一种基于准循环生成矩阵的高速并行编码器 | |
CN110022158B (zh) | 一种译码方法及装置 | |
CN108566210B (zh) | 兼容IEEE 802.11n标准的LDPC编码系统及方法、LDPC编码器 | |
CN107888201B (zh) | 一种全并行高吞吐量ldpc译码方法 | |
CN104199352A (zh) | 基于fpga的区间编码硬件实现系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |