CN108337070A - 一种ldpc码信道解码器及其解码方法 - Google Patents
一种ldpc码信道解码器及其解码方法 Download PDFInfo
- Publication number
- CN108337070A CN108337070A CN201810236015.6A CN201810236015A CN108337070A CN 108337070 A CN108337070 A CN 108337070A CN 201810236015 A CN201810236015 A CN 201810236015A CN 108337070 A CN108337070 A CN 108337070A
- Authority
- CN
- China
- Prior art keywords
- data
- ldpc code
- module
- ldpc
- decoding
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开一种LDPC码信道解码器及其解码方法,所述解码器包括:输入数据缓冲模块,用于通过外部接口获取LDPC码的信道接收数据,将输入数据进行一定的缓存和顺序重排,重排后的数据送至LDPC解码中心;LDPC解码中心,从所述输入数据缓冲模块获取数据存储到四端口的数据存储模块中,利用运算器采用TDMP算法进行解码;输出数据缓冲模块,于达到解码迭代次数后输出解码结果,并于输出时进行数据的缓存和顺序重排,本发明通过改进解码器内部数据存储模块的实现方式,提升了解码器内部数据存储模块和计算器之间的数据通路带宽,从而有效提高TDMP算法解码过程中的数据传输速率。
Description
技术领域
本发明涉及一种信道解码方法及装置,特别是涉及一种高吞吐率的空间数据系统咨询委员(Consultative Committee for Space Data Systems,CCSDS)规定的近地通信的LDPC(8160,7136)码的信道解码器及其解码方法。
背景技术
LDPC的全称为低密度奇偶校验码(Low-Density Parity-Check Codes),是一种基于稀疏校验矩阵的线性分组码。LDPC编码是R.Gallager教授在1962年首次提出的。受限制于当时的计算能力,人们对这种编码的认识十分有限。在之后的数十年间,LDPC编码都少有实质性的进一步研究成果。直到20世纪90年代,人们才开始重新研究LDPC编码这一领域,并产生了一系列突破进展,促使LDPC码迅速成为信道编码领域关注和研究的热点。
LDPC编码的结构可以由校验矩阵唯一确定,因而对某种LDPC编码的设计本身也就是对一个特定校验矩阵的构造过程。早期的LDPC码字构造方式主要采用随机构造的方法,通过随机方式构造出的码字纠错性能很好,同时参数选择上的灵活性也很高。但是随着应用的发展,对码字长度的要求不断增加。随机方式产生的长码字会使得编码器的硬件结构十分复杂,编码时的复杂程度和资源需求也逐渐难以接受。所以随后人们逐渐转而使用代数方法构造LDPC码字。这类构造方法包括了试验设计方法、置换方法、图论方法和几何方法等等。通过不同的码字构造方法,人们逐渐在性能和复杂度直接获取了良好的平衡。
LDPC编码相比于其他编码方式,有以下一些主要特点:1.在长度达到一定程度后,拥有超过Turbo码的纠错能力和更低的错误平层(Error Floor),其性能也就更接近Shannon极限的纠错能力;2.LDPC码的一些解码算法十分适合并行译码,且解码复杂度低;3.LDPC码不需要交织器,译码延迟也就更低;4.多码率的实现更为简便。
近年来,LDPC码已经在现代通信系统中得到了广泛的应用,如数字地面广播(Digital Television Terrestrial Broadcasting,DTTB),万兆以太网(10GBASE-Tstandard for 10-Gbit Ethernet,IEEE 802.3an),数字卫星广播(Digital SatelliteBroadcasting,DVB-S2)和微波通信的WiMAX标准等。国际空间数据系统咨询委员会(Consultative Committee for Space Data Systems,CCSDS)也是基于近地空间信息传输的需求和LDPC高纠错能力的特点,提出的(8160,7136)码字。其编码方式为LDPC码,目标的使用环境为地面和近地卫星的通讯。
目前主流的LDPC码信道解码器都采用两相信息传递算法(Two Phase MessagePassing,TPMP)或者Turbo译码信息传递算法(Turbo Decoding Message Passing,TDMP)。TPMP基于传统的置信传输算法(Belief Propagation,BP):在其算法中,信息的更新是通过Tanner图中两类节点之间的互相传递实现的。TDMP算法作为后起的研究领域,相比于TPMP的主要区别在于迭代过程中信息更新方式的不同:TPMP算法中两类节点在更新过程中的相互独立性更高,也就表示了计算时并行化的可能性更高;TDMP算法数据计算时前后的依赖关系更大,同时也为其提供了更高效的译码迭代收敛速度,即TDMP算法吞吐率普遍小于TPMP算法,因此在TDMP算法中提高其解码的并行性能是该领域研究的一个重要方向。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种LDPC码信道解码器及其解码方法,以解决TDMP解码算法计算时并行度普遍小于TPMP算法的问题,在解码器内部引入了特殊的Memory设计方案,从而极大提高了对于CCSDS规定的近地通信的LDPC(8160,7136)码解码时内部数据通路带宽,并且通过计算有效的避免了流水线会导致的数据生成与消费冲突,最终达到了输入定点量化后的信道LDPC编码数据后,能够高吞吐率完成解码的功能。
为达上述及其它目的,本发明提出一种一种LDPC码信道解码器,包括:
输入数据缓冲模块,用于通过外部接口获取LDPC码的信道接收数据,将输入数据进行一定的缓存和顺序重排,重排后的数据送至LDPC解码中心;
LDPC解码中心,从所述输入数据缓冲模块获取数据存储到四端口的数据存储模块中,利用运算器采用TDMP算法进行解码;
输出数据缓冲模块,于达到解码迭代次数后输出解码结果,并于输出时进行数据的缓存和顺序重排。
进一步地,当所述解码器初始处于输入模式时,所述输入数据缓冲模块自动每周期固定获取32个数据,输入数据为定点量化后的数据。
进一步地,所述LDPC解码中心包括:
数据存储模块,为四端口的存储单元,用于存储所述输入数据缓冲模块送入的输入数据,负责对运算器供给数据,并保存中间和最终结果;
运算器,包括多个并行的运算单元同时工作,采用TDMP算法进行解码,数据从所述数据存储模块和运算器之间以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程;
中间存储模块,用于存储解码过程中产生的外部信息;
控制模块,用于控制数据存储模块及中间存储模块的地址和运算器的使能。
进一步地,所述数据存储模块支持的读写端口数为四个,其中两个是写端口,两个是读端口。在工作过程中基本保证相对独立,在遇到读写冲突时,保证写数据正确并读取结果为冲突的写入数据。
进一步地,四端口同时工作的实现方法依托于对两个双端口存储单元的包装,通过在对同一地址的数据提供两个写入位置来保证每周期写入两个数据的需求实现,并用额外的控制结构记录两个子存储单元中有效数据的位置。
进一步地,所述运算器包含26个运算单元同时工作,各运算单元和数据存储没模块之间通过精确的连接控制保证数据流向的正确。
进一步地,每个运算单元接收32个输入数据,并相应的生成32个更新后的结果,每个运算单元经过对数据的加减、排序、归一化再加减得到更新后的结果。
进一步地,每个运算单元的运算过程通过三级流水线完成。
进一步地,每个运算单元包括:
解压缩单元,用于进行解压缩操作,将压缩过的中间信息ex数据解压;
减法单元,用于进行有符号数的减法运算,并行处理32组数据减法;
最小值和次小值搜索单元,用于搜索最小值和次小值;
归一化单元,用于对计算得到的最小值和次小值归一化;
加法单元,用于进行加法运算;
scalc单元,用于更新结果的符号位。
为达到上述目的,本发明还提供一种LDPC码信道解码方法,包括如下步骤:
步骤一,从外部接口输入LDPC码的信道接收数据;
步骤二,将数据存储到四端口的数据存储模块中,数据存储模块负责对运算器供给数据并保存中间和最终结果;
步骤三,利用运算器采用TDMP算法进行解码,数据从数据存储模块和运算器之间中以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程;
步骤四,当达到解码迭代次数后,将解码结果按照设定的流程输出。
与现有技术相比,本发明一种LDPC码信道解码器及其解码方法通过改进解码器内部数据存储模块的实现方式,提升了解码器内部数据存储模块和计算器之间的数据通路带宽,从而有效提高TDMP算法解码过程中的数据传输速率,并提高了Tanner图中两类节点之间信息传递以及同时计算数据的并行数目,同时本发明通过考量计算单元中流水线的级数,使得在不会产生数据产生与消费冲突的前提下,尽可能提高数据计算的并行度。
附图说明
图1为本发明一种LDPC码信道解码器的系统架构图;
图2为本发明具体实施例中该LDPC码信道解码器的顶层接口示意图;
图3为本发明具体实施例中LDPC解码中心20的结构示意图;
图4为本发明具体实施例中CCSDS(8176,7154)LDPC码的基矩阵构成示意图;
图5为本发明具体实施例中数据存储模块的连接结构图;
图6(a)、(b)为本发明具体实施例中通过两个双端口RAM实现四端口数据存储模块(Memory)功能的结构示意图;
图7为本发明具体实施例中计算单元的结构示意图;
图8为本发明一种LDPC码信道解码方法的步骤流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种LDPC码信道解码器的系统架构图。如图1所示,本发明一种LDPC码信道解码器,包括:
输入数据缓冲模块(input_buffer)10,用于通过外部接口获取LDPC码的信道接收数据,将输入数据进行一定的缓存和顺序重排,重排后的数据送至LDPC解码中心20。
图2为本发明具体实施例中该LDPC码信道解码器的顶层接口示意图。具体地,从外部接口输入(8160,7136)码的信道接收数据,数据包含可能存在的信道干扰,其中的主要数据输入端口为ldpc_input,ldpc_input_valid为输入数据有效信号,ldpc_frame_start:ldpc为码帧开始标记,ldpc_iter_num为解码器迭代次数配置,clk为时钟信号,rst为复位信号,解码器初始处于输入模式,会自动每周期固定获取32个数据,输入数据为定点量化后的数据,采用符号位加幅值的表示方法,具体的量化比特数为5至7位。
LDPC解码中心(ldpc_decode_core)20,从输入数据缓冲模块10获取数据存储到四端口的数据存储模块中,利用运算器采用TDMP算法进行解码,数据从数据存储模块和运算器之间中以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程。
图3为本发明具体实施例中LDPC解码中心20的结构示意图。如图3所示,LDPC解码中心20进一步包括:
数据存储模块(LLR memory)201,为四端口的存储单元,用于存储输入数据缓冲模块10送入的输入数据,负责对运算器供给数据,并保存中间和最终结果。在本发明具体实施例中,数据存储模块(LLR memory)201支持的读写端口数为四个,其中两个是写端口,两个是读端口,在工作过程中基本保证相对独立,在遇到读写冲突时,保证写数据正确并读取结果为冲突的写入数据,对于所述的四端口数据存储模块201,其四端口同时工作的实现方法依托于对两个双端口存储单元的包装,通过在对同一地址的数据提供两个写入位置来保证每周期写入两个数据的需求可以实现,并用额外的控制结构记录了两个子Memory中有效数据的位置。
具体地,由于CCSDS(8176,7154)LDPC码实际是一种码率为7/8的QC-II型码字。其校验矩阵由2乘16个大小为511乘511的基矩阵构成,如图4所示。所以在解码时也需要对数据进行分组,每组为511个数据。因此,本发明之数据存储模块的结构如图5所示,其包括16个llr_mem_unit单元(llr_mem_unit0-llr_mem_unit15),其中的每个llr_mem_unit模块都是一个独立的4端口子模块,由控制信号control_signals控制,其数据的输入和输出则通过llr_mem_separation模块和llr_mem_join模块完成拆分和拼接,llr_mem和row_calc对数据的需求相当于经过了一次行列转换,每个llr_mem_unit存储着数据的一列,而row_calc相当于需要处理数据的一行,所以拆分和拼接过程总体是两个行列转换过程。
具体而言,以任意一个llr_mem_unit模块为例,其功能的实现如图6(a)和图6(b)。其中bram_0和bram_1是两个基础的双端口bram,两个bram中保存着同一份地址对应的数据,但是同一时刻,一个地址对应的数据只在bram_0或bram_1一个中有效,两个bram的a端口均负责mem_a相关信号的操作;b端口均负责mem_b相关信号的操作,最左侧的输入中,mem_in_a、addr_rd_a、addr_wr_a分别为a端口要处理的写入数据、读取数据地址、写入数据地址,mem_sel_a则是a端口选择信号,用于确定bram_0和bram_1中哪一个的a端口用于写入,而另一个用于读取,wr_en为a b两套端口共用的写入使能。其他输入为b端口的对应信号,输出信号则为bram_0和bram_1选择之后的结果,而mem_sel_a_delay和mem_sel_b_delay分别为mem_sel_a和mem_sel_b延迟一个cycle的信号。图6(a)中的缓冲输入(buffer_in)和缓冲输出(buffer_out)模块主要解决了存储器数据中的数据对齐问题以及同周期读写同一地址时产生的数据冲突。mem_wrapper模块则将两个2端口块存储单元(blockmemory)封装成一个独立的四端口功能的存储单元(memory)
运算器202,包括多个并行的运算单元同时工作,采用TDMP算法进行解码。具体地,数据从数据存储模块201和运算器202之间以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程。在本发明具体实施例中,运算器202包含了26个运算单元同时工作,26个运算单元和数据存储模块201之间通过精确的连接控制保证了数据流向的正确,每个运算单元可以接收32个输入数据,并相应的生成32个更新后的结果,每个运算单元要经过对数据的加减、排序、归一化再加减得到更新后的结果,这一过程本身符合归一化的最小和算法,每个运算单元的运算过程通过三级流水线完成。
在本发明具体实施例中,每个计算单元的功能连接如图7所示。Qsign为数组Q的符号位,Qabs为数组Q的绝对值,Sign是32个符号位处理后的符号结果,min和submin分别是归一化后的最小值和次小值,minrow是由min和submin生成的用于下一步计算的数组,其中的32个llr input和对应的32个llr output为从输入数据存储模块(LLR memory)201获得的从输入数据缓冲模块10输入的数据或者数据的迭代中间结果,另外的input ex和outputex数据则是解码迭代过程中产生的一些中间参数。具体地,每个计算单元包括:解压缩(dcp)单元701,用于进行解压缩操作,将压缩过的中间信息ex数据解压;减法(minus)单元702,用于进行有符号数的减法运算(两个5比特定点数的减法),并行处理32组数据减法;最小值和次小值搜索(mvf)单元703,用于搜索最小值和次小值,即搜索32个5比特定点数中的最小和次小值;归一化(norm)单元704,用于对计算得到的最小值和次小值归一化;加法(adder)单元705,用于进行加法运算(两个5比特定点数的加法);scalc单元706,用于更新结果的符号位。
中间存储模块(ex mem)203,用于存储解码过程中产生的外部信息(extrinsicinformation),这是算法中一种中间过程值。
控制模块(ldpc_core_control)204,主要用于控制llr mem及ex mem两个存储模块的地址和运算器202的使能。
图6中的数据从开始计算到最终写回数据存储模块(LLR memory)201经历了三级流水线。此外,图7中的计算单元在整个解码器中共存在并行工作的26个,如图3中所示的row_calc模块数量。
输出数据缓冲模块(output_buffer)30,用于输出解码结果,并于输出时进行数据的缓存和顺序重排。
当达到合适的解码迭代次数后,数据存储模块(LLR memory)201保存的结果即为解码的最终结果,随后,数据会进入图1中的输出数据缓冲模块(output_buffer)30,以用于输出时数据的缓存和顺序重排,解码器的最终结果会通过图2的主要数据输出端口ldpc_output输出,输出方式为每周期输出32个比特,不足部分补零。
图8为本发明一种LDPC码信道解码方法的步骤流程图。如图8所示,本发明一种LDPC码信道解码方法,包括如下步骤:
步骤801,从外部接口输入LDPC码的信道接收数据,数据包含可能存在的信道干扰。具体地,从外部接口输入(8160,7136)码的信道接收数据,解码器初始处于输入模式,会自动接收输入的数据,每周期固定获取32个数据,输入数据为定点量化后的数据,采用符号位加幅值的表示方法,具体的量化比特数为5至7位。
步骤802,将数据存储到四端口的数据存储模块中,数据存储模块负责对运算器供给数据并保存中间和最终结果。在本发明具体实施例中,数据存储模块支持的读写端口数为四个,其中两个是写端口,两个是读端口,在工作过程中基本保证相对独立,在遇到读写冲突时,保证写数据正确并读取结果为冲突的写入数据。四端口同时工作的实现方法依托于对两个双端口存储单元的包装,通过在对同一地址的数据提供两个写入位置来保证每周期写入两个数据的需求可以实现,并用额外的控制结构记录了两个子存储单元中有效数据的位置。
步骤803,利用运算器采用TDMP算法进行解码,数据从数据存储模块和运算器之间中以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程。在本发明具体实施例中,运算器包含了26个运算单元同时工作,26个运算单元和Memory之间通过精确的连接控制保证了数据流向的正确。每个运算单元可以接收32个输入数据,并相应的生成32个更新后的结果。每个运算单元要经过对数据的加减、排序、归一化再加减得到更新后的结果。这一过程本身符合归一化的最小和算法,每个运算单元的运算过程通过三级流水线完成。
步骤804,当达到合适的解码迭代次数后,数据存储模块中保存的结果即为解码的最终结果,将解码结果按照设定的流程输出。也就是说,当TDMP算法跌到到设定的次数后,解码器会自动进入输出模式,此后解码器会完整的按顺序输出解码结果,每周期输出32个比特,不足部分补零。
综上所述,本发明一种LDPC码信道解码器及其解码方法通过改进解码器内部数据存储模块的实现方式,提升了解码器内部数据存储模块和计算器之间的数据通路带宽。从而有效提高TDMP算法解码过程中的数据传输速率,并提高了Tanner图中两类节点之间信息传递以及同时计算数据的并行数目,同时本发明通过考量计算单元中流水线的级数,使得在不会产生数据产生与消费冲突的前提下,尽可能提高数据计算的并行度。本发明最终实现了一个吞吐率极高的CCSDS(8160,7136)LDPC码解码器。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种LDPC码信道解码器,包括:
输入数据缓冲模块,用于通过外部接口获取LDPC码的信道接收数据,将输入数据进行一定的缓存和顺序重排,重排后的数据送至LDPC解码中心;
LDPC解码中心,从所述输入数据缓冲模块获取数据存储到四端口的数据存储模块中,利用运算器采用TDMP算法进行解码;
输出数据缓冲模块,于达到解码迭代次数后输出解码结果,并于输出时进行数据的缓存和顺序重排。
2.如权利要求1所述的一种LDPC码信道解码器,其特征在于:当所述解码器初始处于输入模式时,所述输入数据缓冲模块自动每周期固定获取32个数据,输入数据为定点量化后的数据。
3.如权利要求1所述的一种LDPC码信道解码器,其特征在于:所述LDPC解码中心包括:
数据存储模块,为四端口的存储单元,用于存储所述输入数据缓冲模块送入的输入数据,负责对运算器供给数据,并保存中间和最终结果;
运算器,包括多个并行的运算单元同时工作,采用TDMP算法进行解码,数据从所述数据存储模块和运算器之间以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程;
中间存储模块,用于存储解码过程中产生的外部信息;
控制模块,用于控制数据存储模块及中间存储模块的地址和运算器的使能。
4.如权利要求3所述的一种LDPC码信道解码器,其特征在于:所述数据存储模块支持的读写端口数为四个,其中两个是写端口,两个是读端口。在工作过程中基本保证相对独立,在遇到读写冲突时,保证写数据正确并读取结果为冲突的写入数据。
5.如权利要求4所述的一种LDPC码信道解码器,其特征在于:四端口同时工作的实现方法依托于对两个双端口存储单元的包装,通过在对同一地址的数据提供两个写入位置来保证每周期写入两个数据的需求实现,并用额外的控制结构记录两个子存储单元中有效数据的位置。
6.如权利要求3所述的一种LDPC码信道解码器,其特征在于:所述运算器包含26个运算单元同时工作,各运算单元和数据存储没模块之间通过精确的连接控制保证数据流向的正确。
7.如权利要求6所述的一种LDPC码信道解码器,其特征在于:每个运算单元接收32个输入数据,并相应的生成32个更新后的结果,每个运算单元经过对数据的加减、排序、归一化再加减得到更新后的结果。
8.如权利要求7所述的一种LDPC码信道解码器,其特征在于:每个运算单元的运算过程通过三级流水线完成。
9.如权利要求7所述的一种LDPC码信道解码器,其特征在于:每个运算单元包括:
解压缩单元,用于进行解压缩操作,将压缩过的中间信息ex数据解压;
减法单元,用于进行有符号数的减法运算,并行处理32组数据减法;
最小值和次小值搜索单元,用于搜索最小值和次小值;
归一化单元,用于对计算得到的最小值和次小值归一化;
加法单元,用于进行加法运算;
scalc单元,用于更新结果的符号位。
10.一种LDPC码信道解码方法,包括如下步骤:
步骤一,从外部接口输入LDPC码的信道接收数据;
步骤二,将数据存储到四端口的数据存储模块中,数据存储模块负责对运算器供给数据并保存中间和最终结果;
步骤三,利用运算器采用TDMP算法进行解码,数据从数据存储模块和运算器之间中以很高的带宽进行迭代,经过多个周期的迭代解码过程之后,完成TDMP算法需要的过程;
步骤四,当达到解码迭代次数后,将解码结果按照设定的流程输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810236015.6A CN108337070A (zh) | 2018-03-21 | 2018-03-21 | 一种ldpc码信道解码器及其解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810236015.6A CN108337070A (zh) | 2018-03-21 | 2018-03-21 | 一种ldpc码信道解码器及其解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108337070A true CN108337070A (zh) | 2018-07-27 |
Family
ID=62932268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810236015.6A Pending CN108337070A (zh) | 2018-03-21 | 2018-03-21 | 一种ldpc码信道解码器及其解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108337070A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231877A (zh) * | 2007-01-26 | 2008-07-30 | 联发科技股份有限公司 | 存取n端口存储器m个存储器地址的方法及n端口存储器 |
CN101350218A (zh) * | 2008-07-31 | 2009-01-21 | 北京炬力北方微电子有限公司 | 一种虚拟多端口存储器及其存储和读取数据的方法 |
CN101771421A (zh) * | 2010-03-11 | 2010-07-07 | 复旦大学 | 基于tdmp的超高速低功耗qc-ldpc码解码器 |
CN102624401A (zh) * | 2012-03-30 | 2012-08-01 | 复旦大学 | 一种兼容结构化与非结构化ldpc译码器及译码算法 |
CN102930898A (zh) * | 2012-11-12 | 2013-02-13 | 中国电子科技集团公司第五十四研究所 | 一种构建多端口异步存储模块的方法 |
CN104407992A (zh) * | 2014-12-17 | 2015-03-11 | 中国人民解放军国防科学技术大学 | 一种基于双端口寄存器阵列的四端口存储器 |
-
2018
- 2018-03-21 CN CN201810236015.6A patent/CN108337070A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231877A (zh) * | 2007-01-26 | 2008-07-30 | 联发科技股份有限公司 | 存取n端口存储器m个存储器地址的方法及n端口存储器 |
CN101350218A (zh) * | 2008-07-31 | 2009-01-21 | 北京炬力北方微电子有限公司 | 一种虚拟多端口存储器及其存储和读取数据的方法 |
CN101771421A (zh) * | 2010-03-11 | 2010-07-07 | 复旦大学 | 基于tdmp的超高速低功耗qc-ldpc码解码器 |
CN102624401A (zh) * | 2012-03-30 | 2012-08-01 | 复旦大学 | 一种兼容结构化与非结构化ldpc译码器及译码算法 |
CN102930898A (zh) * | 2012-11-12 | 2013-02-13 | 中国电子科技集团公司第五十四研究所 | 一种构建多端口异步存储模块的方法 |
CN104407992A (zh) * | 2014-12-17 | 2015-03-11 | 中国人民解放军国防科学技术大学 | 一种基于双端口寄存器阵列的四端口存储器 |
Non-Patent Citations (1)
Title |
---|
RUOCHEN LIAO: ""FPGA-Based High Throughput TDMP LDPC Decoder"", 《NCCET 2016论文集》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
US7853854B2 (en) | Iterative decoding of a frame of data encoded using a block coding algorithm | |
US8046658B2 (en) | Method and device for decoding blocks encoded with an LDPC code | |
US7454693B2 (en) | LDPC decoder | |
CN101777921B (zh) | 用于显式存储片上系统的结构化ldpc码译码方法及装置 | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
CN108696282A (zh) | 一种高效低复杂度的qc-ldpc码全并行分层结构译码器 | |
CN109347486B (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
CN103618556A (zh) | 基于rmp调度的部分并行qc-ldpc译码方法 | |
US8499228B2 (en) | Method for decoding a succession of blocks encoded with an error correction code and correlated by a transmission channel | |
CN101686104B (zh) | 一种前向纠错的编解码的方法、装置和系统 | |
CN102064835B (zh) | 适用于准循环ldpc译码的译码器 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN103929209A (zh) | 基于fpga的高性能组合rs处理器 | |
CN111030780A (zh) | 一种可配置并行比特分组交织器及交织方法 | |
CN108337070A (zh) | 一种ldpc码信道解码器及其解码方法 | |
CN103475378B (zh) | 一种适用于光通信的高吞吐率ldpc译码器 | |
CN110166060A (zh) | 高吞吐流水线型极化码bp译码器及其实现方法 | |
CN115694513A (zh) | 一种基于移位型基图的超高吞吐率ldpc译码器 | |
Yoon et al. | High-speed two-parallel concatenated BCH-based super-FEC architecture for optical communications | |
CN101141132A (zh) | 一种准循环低密度奇偶校验码编码器和校验位生成方法 | |
CN110474647B (zh) | 有限域构造的ldpc码的译码方法、装置、译码器及存储介质 | |
US9219504B2 (en) | LEH memory module architecture design in the multi-level LDPC coded iterative system | |
CN112671415B (zh) | 一种面向乘积码的高吞吐量编码方法 | |
CN111181570A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180727 |
|
WD01 | Invention patent application deemed withdrawn after publication |