CN108449090B - A Configurable Multi-Code Length and Multi-Rate LDPC Decoder - Google Patents

A Configurable Multi-Code Length and Multi-Rate LDPC Decoder Download PDF

Info

Publication number
CN108449090B
CN108449090B CN201810072942.9A CN201810072942A CN108449090B CN 108449090 B CN108449090 B CN 108449090B CN 201810072942 A CN201810072942 A CN 201810072942A CN 108449090 B CN108449090 B CN 108449090B
Authority
CN
China
Prior art keywords
unit
check
information processing
processing unit
vpu
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
CN201810072942.9A
Other languages
Chinese (zh)
Other versions
CN108449090A (en
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201810072942.9A priority Critical patent/CN108449090B/en
Publication of CN108449090A publication Critical patent/CN108449090A/en
Application granted granted Critical
Publication of CN108449090B publication Critical patent/CN108449090B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

A low-density parity check code LDPC decoder capable of configuring multiple code lengths and multiple code rates comprises a three-layer structure, wherein a top-layer module comprises an input soft information storage unit, an output soft information storage unit, a checksum storage unit, a decoding control unit, a macro definition unit and a core decoding unit; the core decoding layer module comprises an initialization unit, an iteration control unit, a variable information processing unit VPU, a check information processing unit CPU, an iteration information storage unit, a row logic connection unit, a column logic connection unit and a check unit; the check layer module comprises a check core unit and a check sum calculation unit. The decoder can realize flexible configuration of various code lengths and various code rates, can improve the throughput rate of the decoder, and is suitable for finishing the decoding work of the low-density parity check code LDPC with various code lengths and various code rates.

Description

一种可配置多码长、多码率的LDPC译码器A Configurable Multi-Code Length and Multi-Rate LDPC Decoder

技术领域technical field

本发明涉及通信技术领域,更进一步涉及无线通信技术领域中一种可配置多码长、多码率的低密度奇偶校验码LDPC(Low Density Parity Check Code)译码器。本发明提供一种可配置多码长、多码率的低密度奇偶校验码LDPC译码器结构,该结构下的译码器具有多种码长、多种码率兼容,并且码长码率可灵活配置的特点,可适用于对多种码长、多种码率的低密度奇偶校验码LDPC的译码工作。The present invention relates to the field of communication technologies, and further relates to a low density parity check code LDPC (Low Density Parity Check Code) decoder capable of configuring multiple code lengths and multiple code rates in the field of wireless communication technologies. The present invention provides a low-density parity-check code LDPC decoder structure that can be configured with multiple code lengths and multiple code rates. The decoder under the structure is compatible with multiple code lengths and multiple code rates, and the code length codes The feature of flexible configuration of the rate is applicable to the decoding of low-density parity-check codes LDPC with various code lengths and various code rates.

背景技术Background technique

低密度奇偶校验码是20世纪60年代提出的具有稀疏校验矩阵的一类线性分组码。它的误码性能非常接近香农限,并且具有结构灵活,译码复杂度相对较低、并行操作等特点,非常适合硬件实现。因而在近年来的信道编译码领域得到了良好的发展。低密度奇偶校验码LDPC的码率构造比较灵活,可以构造任意码率,因此,针对不同业务需求,兼容不同码长、不同码率的低密度奇偶校验码LDPC译码器显得尤为重要。Low-density parity-check codes are a class of linear block codes with sparse check matrices proposed in the 1960s. Its bit error performance is very close to the Shannon limit, and it has the characteristics of flexible structure, relatively low decoding complexity and parallel operation, which is very suitable for hardware implementation. Therefore, it has been well developed in the field of channel coding and decoding in recent years. The code rate structure of low density parity check code LDPC is relatively flexible, and any code rate can be constructed. Therefore, it is particularly important for low density parity check code LDPC decoders compatible with different code lengths and different code rates to meet different service requirements.

中国科学院微电子研究所在其申请的专利文献“一种高吞吐率的LDPC译码器”(专利申请号:200910081094.9,申请公开号:CN101854177A)中公开了一种高吞吐率低密度奇偶校验码译码器。该译码器包括输入缓存、校验节点运算单元、变量节点运算单元、输出缓存、控制逻辑单元和互联网络。其中:该译码器采用部分并行译码结构,使用x个变量节点运算单元、y个校验节点运算单元,x和y分别为H的基础矩阵的列数和行数,1个输入缓存、1个输出缓存。每个变量节点运算单元由信道信息存取器和外信息存储器构成,每个校验节点运算单元由1个计算输入最小值和输入次小值的运算单元构成。该发明在不增加硬件消耗的基础上,实现译码输入输出的同时进行,从而大大提高了译码器的吞吐率。该译码器存在的不足之处是,首先,该译码器所使用的变量节点计算单元、校验节点计算单元只对应了一种校验矩阵结构,码率单一,而对于不同业务的需求,该译码器无法满足多码长、多码率并存的译码需求,其次,该译码器并未对校验基矩阵参数的提取功能封装到一个固定模块,当码长,码率变化后,该译码器的移植困难,第三,该译码器采用的部分并行结构只解决了单码长、单码率的译码器在提高其吞吐率的同时兼顾较低的硬件资源消耗,并不适用于多码长、多码率的译码器。The Institute of Microelectronics of the Chinese Academy of Sciences has disclosed a high-throughput low-density parity check in its patent document "An LDPC Decoder with High Throughput" (Patent Application No.: 200910081094.9, Application Publication No.: CN101854177A). code decoder. The decoder includes an input buffer, a check node operation unit, a variable node operation unit, an output buffer, a control logic unit and an interconnection network. Among them: the decoder adopts a partial parallel decoding structure, using x variable node operation units and y check node operation units, x and y are the number of columns and rows of the basic matrix of H, 1 input buffer, 1 output buffer. Each variable node operation unit is composed of a channel information accessor and an external information memory, and each check node operation unit is composed of an operation unit that calculates the input minimum value and the input second minimum value. The invention realizes simultaneous decoding input and output without increasing hardware consumption, thereby greatly improving the throughput rate of the decoder. The disadvantage of the decoder is that, first of all, the variable node calculation unit and the check node calculation unit used by the decoder only correspond to one check matrix structure, the code rate is single, and the requirements for different services , the decoder cannot meet the decoding requirements of multiple code lengths and multiple code rates. Secondly, the decoder does not encapsulate the extraction function of the check basis matrix parameters into a fixed module. When the code length changes, the code rate changes. Finally, the transplant of the decoder is difficult. Third, the partial parallel structure adopted by the decoder only solves the problem that the decoder of single code length and single code rate can improve its throughput while taking into account the lower consumption of hardware resources. , and is not suitable for multi-code length and multi-code rate decoders.

华为技术有限公司在其申请的专利文献“可变码长LDPC码编码或译码的方法与装置及编码器和译码器”(申请号CN200510012193.3,申请公开号CN1017411396A)中公开了一种可变码长的低密度奇偶校验码LDPC译码器。该译码器采用一组基指数矩阵存储单元存储基指数矩阵,并对各码长的基指数矩阵按照扩展因子进行扩展,得到校验矩阵,从而达到码长可变的目的。但是,该译码器仍然存在的不足之处是,该译码器虽然实现了码长的可变,并未实现码率的可变。而且,该译码器不能在同一系统中同时使用多种码长和多种码率。Huawei Technologies Co., Ltd. disclosed a patent document "Variable Code Length LDPC Code Encoding or Decoding Method and Device, and Encoder and Decoder" (application number CN200510012193.3, application publication number CN1017411396A) in its application. Variable code length low density parity check LDPC decoder. The decoder adopts a set of base index matrix storage units to store the base index matrix, and expands the base index matrix of each code length according to the expansion factor to obtain a check matrix, so as to achieve the purpose of variable code length. However, the decoder still has the disadvantage that although the decoder realizes the variable code length, it does not realize the variable code rate. Moreover, the decoder cannot use multiple code lengths and multiple code rates simultaneously in the same system.

发明内容SUMMARY OF THE INVENTION

本发明的目的是针对上述现有技术存在的不足,提供一种可配置多码长、多码率的低密度奇偶校验码LDPC(Low Density Parity Check Code)译码器结构,该结构下的译码器可实现多种码长、多种码率的兼容,多码长、多码率能够进行灵活配置,并且在提高译码器吞吐率的同时兼顾较低的硬件资源消耗,适用于完成对多种码长、多种码率的低密度奇偶校验码LDPC的译码工作。The object of the present invention is to provide a configurable multi-code length, multi-code rate Low Density Parity Check Code LDPC (Low Density Parity Check Code) decoder structure for the shortcomings of the above-mentioned prior art. The decoder can realize the compatibility of multiple code lengths and multiple code rates, and can be flexibly configured with multiple code lengths and multiple code rates. Decoding of low-density parity-check codes (LDPC) with various code lengths and rates.

该译码器包括顶层模块、核心译码层模块、校验层模块的三层结构;所述顶层模块包括存储输入软信息单元,存储输出软信息单元,存储校验和单元,译码控制单元,宏定义单元,核心译码单元;所述核心译码层模块包括初始化单元,迭代控制单元,变量信息处理单元VPU,校验信息处理单元CPU,迭代信息存储单元,行逻辑连接单元,列逻辑连接单元,校验单元;所述校验层模块包括校验核心单元,校验和计算单元;The decoder includes a three-layer structure of a top module, a core decoding layer module, and a check layer module; the top module includes a storage input soft information unit, a storage output soft information unit, a storage checksum unit, and a decoding control unit. , a macro definition unit, a core decoding unit; the core decoding layer module includes an initialization unit, an iteration control unit, a variable information processing unit VPU, a verification information processing unit CPU, an iteration information storage unit, a row logic connection unit, and a column logic unit. a connection unit, a verification unit; the verification layer module includes a verification core unit and a verification sum calculation unit;

所述宏定义单元,用于存储与码率一一对应的低密度奇偶校验码LDPC译码器的多个校验基矩阵以及多个标准扩展因子,将所有校验基矩阵按照不同的标准扩展因子进行扩展,得到与码长一一对应的校验矩阵;通过更换输入的低密度奇偶校验码LDPC译码器的校验基矩阵,实现不同码率的配置,通过更换输入的低密度奇偶校验码LDPC译码器的标准扩展因子,实现码长的配置;The macro definition unit is used to store multiple check basis matrices and multiple standard expansion factors of the low density parity check code LDPC decoder corresponding to the code rate one-to-one, and all check basis matrices according to different standards The expansion factor is extended to obtain a check matrix corresponding to the code length; The standard expansion factor of the parity check code LDPC decoder to realize the configuration of the code length;

所述核心译码单元,采用部分并行结构,用于完成低密度奇偶校验码LDPC译码器的初始化、迭代译码、校验工作;The core decoding unit adopts a partial parallel structure, and is used to complete the initialization, iterative decoding and verification work of the low-density parity-check code LDPC decoder;

所述变量信息处理单元VPU,用于更新变量节点的变量信息,变量信息处理单元VPU共有15种输入端口数量的变量信息处理单元VPU模块,核心译码单元以宏定义单元输入的校验基矩阵的各列权重为基准,选取相应的变量信息处理单元VPU模块,核心译码单元以宏定义单元输入的校验基矩阵的最大列数为基准,选取变量信息处理单元VPU的总数;The variable information processing unit VPU is used to update the variable information of the variable node. The variable information processing unit VPU has a total of 15 variable information processing unit VPU modules with the number of input ports, and the core decoding unit defines the check basis matrix input by the macro definition unit. The weight of each column is the benchmark, and the corresponding variable information processing unit VPU module is selected, and the core decoding unit is based on the maximum number of columns of the check basis matrix input by the macro definition unit, and the total number of the variable information processing unit VPU is selected;

所述校验信息处理单元CPU,用于更新校验节点的校验信息,校验信息处理单元CPU共有15种输入端口数量的校验信息处理单元CPU模块,核心译码单元以宏定义单元输入的校验基矩阵的各行权重为基准,选取相应的校验信息处理单元CPU模块,核心译码单元以宏定义单元输入的校验基矩阵的最大行数为基准,选取校验信息处理单元CPU的总数量;The verification information processing unit CPU is used to update the verification information of the check node. The verification information processing unit CPU has a total of 15 types of verification information processing unit CPU modules with the number of input ports, and the core decoding unit inputs the macro definition unit. The weight of each row of the check base matrix is the benchmark, select the corresponding check information processing unit CPU module, the core decoding unit is based on the maximum number of rows of the check base matrix input by the macro definition unit, and select the check information processing unit CPU the total number of;

所述迭代信息存储单元,包括迭代信息存储器和偏移地址生成器,所述偏移地址生成器用于产生迭代信息存储器的读写地址,偏移地址生成器利用宏定义单元输出的校验基矩阵元素的位置信息,按照逆序写入,顺序读出的方式产生迭代信息存储器的读写地址。The iterative information storage unit includes an iterative information memory and an offset address generator, the offset address generator is used to generate read and write addresses of the iterative information memory, and the offset address generator utilizes the check basis matrix output by the macro definition unit The position information of the element is written in reverse order and read out sequentially to generate the read and write addresses of the iterative information memory.

本发明与现有技术相比较,具有如下优点:Compared with the prior art, the present invention has the following advantages:

第一,由于本发明的宏定义单元,可以存储与码率一一对应的低密度奇偶校验码LDPC译码器的多个校验基矩阵,克服了现有技术中译码器所使用的变量节点计算单元、校验节点计算单元只对应了一种校验矩阵结构,存在的单一码率的问题,使得本发明可同时对多种码率的低密度奇偶校验码LDPC进行译码。First, due to the macro definition unit of the present invention, it is possible to store multiple check basis matrices of the low density parity check code LDPC decoder corresponding to the code rate one-to-one, which overcomes the need for the decoder in the prior art. The variable node calculation unit and the check node calculation unit only correspond to one type of parity check matrix structure, and the problem of a single code rate enables the present invention to simultaneously decode low-density parity-check codes LDPC with multiple code rates.

第二,由于本发明的宏定义单元,可以存储低密度奇偶校验码LDPC译码器的多个标准扩展因子,将所有校验基矩阵按照不同的标准扩展因子进行扩展,得到与码长一一对应的校验矩阵,克服了现有技术中虽然可以实现码长的变换,但不能在同一系统中同时使用多种码长的问题,使得本发明在对低密度奇偶校验码LDPC进行译码时实现多种码长的兼容。Second, due to the macro definition unit of the present invention, a plurality of standard expansion factors of the low-density parity-check code LDPC decoder can be stored, and all check basis matrices are expanded according to different standard expansion factors to obtain a code equal to the length of the code. A corresponding parity check matrix overcomes the problem in the prior art that although the conversion of code lengths can be implemented, multiple code lengths cannot be used simultaneously in the same system, so that the present invention can decode low-density parity-check codes LDPC. Compatible with multiple code lengths.

第三,由于本发明的宏定义单元,可以存储低密度奇偶校验码LDPC译码器的多个校验基矩阵以及多个标准扩展因子,通过更换输入的低密度奇偶校验码LDPC译码器的校验基矩阵,实现不同码率的配置,通过更换输入的低密度奇偶校验码LDPC译码器的标准扩展因子,实现不同码长的配置,克服了现有技术中码长,码率变化后移植困难的问题,使得本发明中低密度奇偶校验码LDPC译码器的多码长,多码率能够进行灵活配置。Third, due to the macro definition unit of the present invention, multiple check basis matrices and multiple standard expansion factors of the low density parity check code LDPC decoder can be stored, and by replacing the input low density parity check code LDPC decoding The check basis matrix of the decoder can realize the configuration of different code rates. By changing the standard expansion factor of the input low-density parity-check code LDPC decoder, the configuration of different code lengths can be realized, which overcomes the problem of code length and code length in the prior art. The problem of difficulty in transplanting after rate change enables the multi-code length and multi-code rate of the low-density parity-check code LDPC decoder in the present invention to be flexibly configured.

第四,由于本发明的核心译码单元采用部分并行结构,变量信息处理单元VPU、校验信息处理单元CPU均有15种输入端口数量的模块,并且输入端口数量值大的变量信息处理单元VPU模块、校验信息处理单元CPU模块向下兼容输入端口数量值小的变量信息处理单元VPU模块、校验信息处理单元CPU模块,克服了现有技术中未涉及到多码长、多码率的译码器在提高其吞吐率的同时兼顾较低的硬件资源消耗的问题,使得本发明中的低密度奇偶校验码LDPC译码器在提高其吞吐率的同时兼顾较低的硬件资源消耗。Fourth, since the core decoding unit of the present invention adopts a partial parallel structure, the variable information processing unit VPU and the verification information processing unit CPU have modules with 15 types of input ports, and the variable information processing unit VPU with a large number of input ports. The module and the verification information processing unit CPU module are backward compatible with the variable information processing unit VPU module and the verification information processing unit CPU module with a small number of input ports, which overcomes the problems of multi-code length and multi-code rate in the prior art. The decoder improves its throughput while taking into account the problem of lower hardware resource consumption, so that the low density parity check code LDPC decoder in the present invention improves its throughput while taking into account lower hardware resource consumption.

附图说明Description of drawings

图1是本发明三层结构图。Fig. 1 is a three-layer structure diagram of the present invention.

图2是本发明顶层模块结构图。Fig. 2 is a top-level module structure diagram of the present invention.

图3是本发明核心译码层模块结构图。FIG. 3 is a structural diagram of a core decoding layer module of the present invention.

具体实施方式Detailed ways

下面结合附图对本发明做进一步的描述。The present invention will be further described below with reference to the accompanying drawings.

参照图1,对本发明的译码器结构做进一步的描述,该译码器结构包括顶层模块、核心译码层模块、校验层模块的三层结构,该译码器的整体结构以功能划分,顶层模块用于完成译码器在译码过程中的时序和流程控制;核心译码层结构用于完成译码器的核心迭代译码工作;校验层用于完成译码器对校验信息的计算与存储工作。Referring to Fig. 1, the decoder structure of the present invention is further described, the decoder structure comprises a three-layer structure of a top module, a core decoding layer module, and a check layer module, and the overall structure of the decoder is divided by function , the top-level module is used to complete the timing and flow control of the decoder in the decoding process; the core decoding layer structure is used to complete the core iterative decoding work of the decoder; the check layer is used to complete the decoder verification Information calculation and storage work.

参照图2,对本发明的顶层结构做进一步的描述,所述顶层模块包括存储输入软信息单元,存储输出软信息单元,存储校验和单元,译码控制单元,宏定义单元,核心译码单元;该译码器的译码过程是:译码控制单元将EMIF映射信号中启动译码的控制指令发送给存储输入软信息单元,存储输入软信息单元将EMIF映射信号中的串行初始软信息进行缓存,然后并行提供给核心译码单元,核心译码单元利用宏定义单元所提供的各种码长、码率信息进行迭代译码,迭代译码完成后,译码控制单元分别发送控制指令给存储输出软信息单元和存储校验和单元,存储输出软信息单元缓存并行的输出软信息,然后串行输出;存储校验和单元缓存校验和信息,匹配时序后输出。2, the top-level structure of the present invention is further described, the top-level module includes a storage input soft information unit, a storage output soft information unit, a storage checksum unit, a decoding control unit, a macro definition unit, and a core decoding unit. The decoding process of this decoder is: the decoding control unit sends the control instruction of starting decoding in the EMIF mapping signal to the storage input soft information unit, and the storage input soft information unit converts the serial initial soft information in the EMIF mapping signal Cache, and then provide it to the core decoding unit in parallel. The core decoding unit uses the various code length and code rate information provided by the macro definition unit to perform iterative decoding. After the iterative decoding is completed, the decoding control unit sends control commands respectively. For the storage output soft information unit and the storage checksum unit, the storage output soft information unit caches the parallel output soft information, and then outputs it serially; the storage checksum unit caches the checksum information, and outputs it after matching the timing sequence.

宏定义单元用于存储与码率一一对应的低密度奇偶校验码LDPC译码器的多个校验基矩阵以及多个标准扩展因子。The macro definition unit is used to store multiple parity check basis matrices and multiple standard spreading factors of the low density parity check code LDPC decoder that correspond one-to-one with the code rate.

结合本发明的实施例对宏定义单元所存储的校验基矩阵以及标准扩展因子做进一步描述,该实施例的宏定义单元实现了3种码长、9种码率的兼容,三种码率分别为1/2,、3/4、1/3;其中1/2码率对应的校验基矩阵为mx0:The check basis matrix and the standard expansion factor stored in the macro definition unit are further described in conjunction with the embodiment of the present invention. The macro definition unit of this embodiment realizes the compatibility of three code lengths, nine code rates, and three code rates. They are 1/2, 3/4, and 1/3 respectively; the check basis matrix corresponding to 1/2 code rate is mx0:

Figure BDA0001558681190000051
Figure BDA0001558681190000051

3/4码率对应的校验基矩阵为mx1:The check basis matrix corresponding to the 3/4 code rate is mx1:

Figure BDA0001558681190000052
Figure BDA0001558681190000052

1/3码率对应的校验基矩阵为mx2:The check basis matrix corresponding to 1/3 code rate is mx2:

Figure BDA0001558681190000061
Figure BDA0001558681190000061

将上述3个校验基矩阵中的每个校验基矩阵,分别按照3个不同的标准扩展因子进行扩展,得到与码长一一对应的9个校验矩阵,实现9种码率的兼容,其中:Each of the above-mentioned three check base matrices is expanded according to 3 different standard expansion factors to obtain 9 check matrices corresponding to the code lengths one-to-one, realizing the compatibility of 9 code rates ,in:

第1个校验基矩阵mx0对应的3个不同的标准扩展因子为z_faca:The three different standard expansion factors corresponding to the first check basis matrix mx0 are z_faca:

z_faca=[26 40 90];z_faca = [26 40 90];

第2个校验基矩阵mx1对应的3个不同的标准扩展因子为z_facb:The three different standard expansion factors corresponding to the second check basis matrix mx1 are z_facb:

z_facb=[26 53 77];z_facb=[26 53 77];

第3个校验基矩阵mx2对应的3个不同的标准扩展因子为z_facc:The three different standard expansion factors corresponding to the third check basis matrix mx2 are z_facc:

z_facc=[22 24 90];z_facc = [22 24 90];

扩展后得到的9种码率为矩阵mx:The 9 code rates obtained after expansion are the matrix mx:

Figure BDA0001558681190000062
Figure BDA0001558681190000062

通过更换输入的低密度奇偶校验码LDPC译码器的校验基矩阵,实现不同码率的配置,通过更换输入的低密度奇偶校验码LDPC译码器的标准扩展因子,实现码长的配置。By replacing the check basis matrix of the input low-density parity-check code LDPC decoder, the configuration of different code rates can be realized. configuration.

宏定义单元首先利用输入的3个校验基矩阵和9个标准扩展因子统计译码核心单元的各种参数信息,具体包括:统计所有校验基矩阵的行数、列数、最大行数、最大列数、非-1元素的个数、非-1元素的最大个数信息,其中,三个校验基矩阵的行数row=[8 15 16],三个校验基矩阵的列数col=[16 20 24],三个校验基矩阵的最大行数为16,最大列数为24;三个校验基矩阵中非-1元素的个数num=[50 59 83],三个校验基矩阵中非-1元素的个数为83;然后,宏定义单元利用输入的3个校验基矩阵和9个标准扩展因子,构造4个数据表,分别是列权重数据表vpu_type、行权重数据表cpu_type、列权重统计数据表vpu_tn、行权重统计数据表cpu_tn,具体过程是:The macro definition unit first uses the input 3 check base matrices and 9 standard expansion factors to count various parameter information of the decoding core unit, specifically including: counting the number of rows, columns, maximum rows, The maximum number of columns, the number of non-1 elements, and the maximum number of non-1 elements information, wherein the number of rows of the three check basis matrices row=[8 15 16], the number of columns of the three check basis matrices col=[16 20 24], the maximum number of rows of the three check base matrices is 16, and the maximum number of columns is 24; the number of non-1 elements in the three check base matrices num=[50 59 83], three The number of non-1 elements in the check basis matrix is 83; then, the macro definition unit uses the input 3 check basis matrices and 9 standard expansion factors to construct 4 data tables, which are the column weight data table vpu_type , row weight data table cpu_type, column weight statistics table vpu_tn, row weight statistics table cpu_tn, the specific process is:

分别统计3个校验基矩阵中每列的列权重信息,将每列的列权重信息分别降序排列,取三个校验基矩阵中每列的列权重信息的最大值存放在列权重数据表vpu_type中,可得vpu_type=[16 16 6 6 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2];Count the column weight information of each column in the three check basis matrices separately, arrange the column weight information of each column in descending order, and take the maximum value of the column weight information of each column in the three check basis matrices and store it in the column weight data table. In vpu_type, vpu_type=[16 16 6 6 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2];

分别统计3个校验基矩阵中每行的行权重信息,将每行的行权重信息分别降序排列,取三个校验基矩阵中每行的行权重信息的最大值存放在列权重数据表Calculate the row weight information of each row in the three check basis matrices separately, arrange the row weight information of each row in descending order, and store the maximum value of the row weight information of each row in the three check basis matrices in the column weight data table.

vpu_type中,可得cpu_type=[7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5];In vpu_type, cpu_type=[7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5];

统计列权重数据表vpu_type中的列权重信息,将不重复出现的列权重值存放在列权重统计数据表vpu_tn的第一行,将每一种列权重值所对应的数量存放在列权重统计数据表vpu_tn的第二行,可得

Figure BDA0001558681190000071
Count the column weight information in the column weight data table vpu_type, store the column weight values that do not appear repeatedly in the first row of the column weight statistics data table vpu_tn, and store the number corresponding to each column weight value in the column weight statistics data. The second row of table vpu_tn, we can get
Figure BDA0001558681190000071

统计行权重数据表cpu_type中的行权重信息,将不重复出现的行权重值存放在行权重统计数据表cpu_tn的第一行,将每一种行权重值所对应的数量存放在行权重统计数据表cpu_tn的第二行,可得

Figure BDA0001558681190000072
Count the row weight information in the row weight data table cpu_type, store the row weight values that do not appear repeatedly in the first row of the row weight statistics data table cpu_tn, and store the number corresponding to each row weight value in the row weight statistics data. The second row of the table cpu_tn, we can get
Figure BDA0001558681190000072

参照图3,对本发明的核心译码层结构做进一步的描述,所述核心译码层模块包括初始化单元,迭代控制单元,变量信息处理单元VPU,校验信息处理单元CPU,迭代信息存储单元,行逻辑连接单元,列逻辑连接单元,校验单元;核心译码单元的译码过程是:将从顶层模块中存储输入软信息单元并行输入的初始软信息分别存储在各个初始信息存储器中,各个变量信息处理单元VPU利用各自的初始软信息进行尝试译码,将译码结果输入到校验单元进行校验,如果校验和为0,译码结束,否则将译码软信息通过列逻辑连接单元输入到迭代信息存储单元中,校验信息处理单元CPU通过行逻辑连接单元读取迭代信息存储单元中变量信息,用于更新校验信息,更新完毕后再通过行逻辑连接单元将新的校验信息输入到迭代信息存储单元,如此重复迭代,直到译码正确或者到达最大迭代次数,最终将译码软信息并行输出到顶层模块的存储输出软信息单元,将校验和信息输出到顶层模块的存储校验和单元。3, the core decoding layer structure of the present invention is further described, the core decoding layer module includes an initialization unit, an iteration control unit, a variable information processing unit VPU, a verification information processing unit CPU, and an iteration information storage unit, The row logic connection unit, the column logic connection unit, the check unit; the decoding process of the core decoding unit is: the initial soft information input in parallel from the top-level module is stored in the input soft information unit and stored in each initial information memory, respectively. The variable information processing unit VPU uses the respective initial soft information to attempt decoding, and inputs the decoding result to the verification unit for verification. If the checksum is 0, the decoding ends, otherwise the decoding soft information is connected by column logic. The unit is input into the iteration information storage unit, and the verification information processing unit CPU reads the variable information in the iteration information storage unit through the row logic connection unit to update the verification information. The verification information is input to the iterative information storage unit, and the iteration is repeated until the decoding is correct or the maximum number of iterations is reached, and finally the decoded soft information is output to the storage and output soft information unit of the top-level module in parallel, and the checksum information is output to the top-level module. The storage checksum unit.

核心译码单元采用部分并行结构,用于完成低密度奇偶校验码LDPC译码器的初始化、迭代译码、校验工作;The core decoding unit adopts a partial parallel structure, which is used to complete the initialization, iterative decoding and verification of the low density parity check code LDPC decoder;

本发明的实施例中核心译码单元采用的部分并行结构是指,核心译码单元包括1个初始化单元,1个校验单元,1个迭代控制单元,24个并行工作的变量信息处理单元VPU,16个并行工作的校验信息处理单元CPU,24个并行工作的行逻辑连接单元,16个并行工作的列逻辑连接单元,83个并行工作的迭代信息存储单元,24、16、83分别是校验基矩阵mx0、mx1、mx2中的最大列数、最大行数、最大权重数。The partial parallel structure adopted by the core decoding unit in the embodiment of the present invention means that the core decoding unit includes an initialization unit, a check unit, an iterative control unit, and 24 variable information processing units VPU working in parallel , 16 parallel work check information processing units CPU, 24 parallel work row logic connection units, 16 parallel work column logic connection units, 83 parallel work iterative information storage units, 24, 16, 83 are respectively The maximum number of columns, the maximum number of rows, and the maximum number of weights in the check basis matrix mx0, mx1, and mx2.

变量信息处理单元VPU用于更新变量节点的变量信息,该变量信息处理单元VPU更新变量节点的变量信息时所使用的算法不限于某一种基于置信传播的译码算法,展现了该译码器结构具有良好的通用性;变量信息处理单元VPU共有15种输入端口数量的变量信息处理单元VPU模块,每种模块具有唯一的输入端口数量,输入端口的数量值自[2,16]设置,核心译码单元以宏定义单元输入的校验基矩阵的各列权重为基准,选取相应的变量信息处理单元VPU模块,在本发明的实施例中,可根据列权重统计数据表vpu_tn来选择变量信息处理单元VPU的种类和数量,即:选择2个16输入的变量信息处理单元VPU、2个6输入的变量信息处理单元VPU、1个5输入的变量信息处理单元VPU、4个3输入的变量信息处理单元VPU、15个2输入的变量信息处理单元VPU;输入端口数量值大的变量信息处理单元VPU模块向下兼容输入端口数量值小的变量信息处理单元VPU模块,由于列权重统计数据表vpu_tn存放的是三个校验基矩阵中列权重的最大值,因此,如果校验基矩阵的列权重值小于最大列权重值,则可以将一些输入端口接地,来实现变量信息处理单元VPU模块的复用。例如,校验基矩阵mx0的最大列权重为6,因此,当使用1/2码率的译码器时,将16输入的变量信息处理单元VPU模块的10个引脚接地,可作为6输入的变量信息处理单元VPU模块。The variable information processing unit VPU is used to update the variable information of the variable node. The algorithm used by the variable information processing unit VPU to update the variable information of the variable node is not limited to a certain decoding algorithm based on belief propagation. The structure has good generality; the variable information processing unit VPU has a total of 15 variable information processing unit VPU modules with the number of input ports, each module has a unique number of input ports, the value of the number of input ports is set from [2, 16], the core The decoding unit selects the corresponding variable information processing unit VPU module based on the weight of each column of the check basis matrix input by the macro definition unit. In the embodiment of the present invention, the variable information can be selected according to the column weight statistical data table vpu_tn The type and quantity of the processing unit VPU, namely: select 2 variable information processing units VPU with 16 inputs, 2 variable information processing units VPU with 6 inputs, 1 variable information processing unit VPU with 5 inputs, and 4 variables with 3 inputs Information processing unit VPU, 15 variable information processing units VPU with 2 inputs; the variable information processing unit VPU module with a large input port number value is backward compatible with the variable information processing unit VPU module with a small input port number value, because the column weight statistics table vpu_tn stores the maximum value of the column weight in the three check basis matrices. Therefore, if the column weight value of the check basis matrix is less than the maximum column weight value, some input ports can be grounded to realize the variable information processing unit VPU module reuse. For example, the maximum column weight of the parity check matrix mx0 is 6. Therefore, when using a 1/2 code rate decoder, connect 10 pins of the 16-input variable information processing unit VPU module to ground, which can be used as 6-input The variable information processing unit VPU module.

校验信息处理单元CPU用于更新校验节点的校验信息,该校验信息处理单元CPU更新校验节点的校验信息时所使用的算法也不限于某一种基于置信传播的译码算法;校验信息处理单元CPU共有15种输入端口数量的校验信息处理单元CPU模块,每种模块具有唯一的输入端口数量,输入端口的数量值自[2,16]设置,核心译码单元以宏定义单元输入的校验基矩阵的各行权重为基准,选取相应的校验信息处理单元CPU模块,在本发明的实施例中,可根据行权重统计数据表cpu_tn来选择校验信息处理单元CPU的种类和数量,即:选择3个7输入的校验信息处理单元CPU、4个6输入的校验信息处理单元CPU、9个5输入的校验信息处理单元CPU;输入端口数量值大的校验信息处理单元CPU模块向下兼容输入端口数量值小的校验信息处理单元CPU模块,由于行权重统计数据表cpu_tn存放的是三个校验基矩阵中行权重的最大值,因此,如果校验基矩阵的行权重值小于最大行权重值,则可以将一些输入端口接地,来实现校验信息处理单元CPU模块的复用。例如,校验基矩阵mx1的最大行权重为4,因此,当使用3/4码率的译码器时,将7输入的校验信息处理单元CPU模块的3个引脚接地,可作为4输入的校验信息处理单元CPU模块。The verification information processing unit CPU is used to update the verification information of the check nodes, and the algorithm used by the verification information processing unit CPU to update the verification information of the check nodes is not limited to a certain decoding algorithm based on belief propagation. ; The verification information processing unit CPU has a total of 15 verification information processing unit CPU modules with input port numbers, each module has a unique number of input ports, the number of input ports is set from [2, 16], and the core decoding unit is set to The weight of each row of the check basis matrix input by the macro definition unit is used as the benchmark, and the corresponding check information processing unit CPU module is selected. In the embodiment of the present invention, the check information processing unit CPU can be selected according to the row weight statistical data table cpu_tn Type and quantity, namely: select 3 7-input verification information processing unit CPU, 4 6-input verification information processing unit CPU, 9 5-input verification information processing unit CPU; input port number value is large The check information processing unit CPU module is backward compatible with the check information processing unit CPU module with a small number of input ports. Since the row weight statistics table cpu_tn stores the maximum value of the row weight in the three check basis matrices, if the If the row weight value of the test basis matrix is smaller than the maximum row weight value, some input ports can be grounded to realize the multiplexing of the CPU module of the verification information processing unit. For example, the maximum row weight of the check basis matrix mx1 is 4. Therefore, when using a 3/4 code rate decoder, grounding the 3 pins of the check information processing unit CPU module with 7 inputs can be used as 4 The input verification information is processed by the CPU module of the unit.

迭代信息存储单元包括迭代信息存储器和偏移地址生成器,其中,偏移地址生成器用于产生迭代信息存储器的读写地址,偏移地址生成器利用宏定义单元输出的校验基矩阵中元素的位置信息,按照逆序写入,顺序读出的方式产生迭代信息存储器的读写地址,将偏移地址生成器内置在迭代信息存储单元中的好处是,任何变量信息处理单元VPU、校验信息处理单元CPU访问迭代信息存储单元时都无需做偏移地址的选择,可以降低逻辑资源消耗。The iterative information storage unit includes an iterative information memory and an offset address generator, wherein the offset address generator is used to generate read and write addresses of the iterative information memory, and the offset address generator utilizes the elements in the check basis matrix output by the macro definition unit. The location information is written in reverse order and read sequentially to generate the read and write addresses of the iterative information memory. The advantage of building the offset address generator in the iterative information storage unit is that any variable information processing unit VPU, verification information processing unit When the unit CPU accesses the iterative information storage unit, there is no need to select an offset address, which can reduce logic resource consumption.

行逻辑连接单元用于从宏定义单元输入的所有校验基矩阵的最大行数中选取相应的端口总数,以端口总数为基准确定校验信息处理单元CPU与迭代信息存储单元的逻辑连接方式,其使用的种类和数量与校验信息处理单元CPU的种类和数量相对应;在本发明的实施例中使用3个7端口的行逻辑连接单元、4个6端口的行逻辑连接单元、9个5端口的行逻辑连接单元。The row logic connection unit is used to select the corresponding total number of ports from the maximum number of rows of all check basis matrices input by the macro definition unit, and determine the logical connection mode between the check information processing unit CPU and the iteration information storage unit based on the total number of ports, The type and quantity used are corresponding to the type and quantity of the verification information processing unit CPU; in the embodiment of the present invention, three 7-port row logical connection units, four 6-port row logical connection units, and 9 row logical connection units are used. 5-port row logic connection unit.

列逻辑连接单元利用从宏定义单元输入的所有校验基矩阵的最大列数中选取相应的端口总数,以端口总数为基准确定变量信息处理单元VPU与迭代信息存储单元的逻辑连接方式,其使用的种类和数量与变量信息处理单元VPU的种类和数量相对应;在本发明的实施例中使用2个16端口的列逻辑连接单元、2个6端口的列逻辑连接单元、1个5端口的列逻辑连接单元、4个3端口的列逻辑连接单元、15个2端口的列逻辑连接单元。The column logical connection unit selects the corresponding total number of ports from the maximum number of columns of all check basis matrices input by the macro definition unit, and determines the logical connection mode between the variable information processing unit VPU and the iterative information storage unit based on the total number of ports. The type and quantity of the VPU correspond to the type and quantity of the variable information processing unit VPU; in the embodiment of the present invention, two 16-port column logic connection units, two 6-port column logic connection units, and one 5-port column logic connection unit are used. Column logic connection unit, 4 3-port column logic connection units, 15 2-port column logic connection units.

校验层模块包括校验核心单元,校验和计算单元。The check layer module includes a check core unit and a checksum calculation unit.

校验单元用于完成译码的校验工作,对每次变量信息处理单元VPU输出的软信息进行译码判决,当校验和为0时,译码正确,停止迭代,否则继续下一次迭代译码,直到达到最大迭代次数为止。The verification unit is used to complete the verification work of decoding, and performs decoding judgment on the soft information output by the variable information processing unit VPU each time. When the checksum is 0, the decoding is correct, and the iteration is stopped, otherwise the next iteration is continued. Decode until the maximum number of iterations is reached.

Claims (1)

1.一种可配置多码长、多码率的低密度奇偶校验码LDPC译码器,其特征在于,包括顶层模块、核心译码层模块、校验层模块的三层结构;所述顶层模块包括存储输入软信息单元,存储输出软信息单元,存储校验和单元,译码控制单元,宏定义单元,核心译码单元;所述核心译码层模块包括初始化单元,迭代控制单元,变量信息处理单元VPU,校验信息处理单元CPU,迭代信息存储单元,行逻辑连接单元,列逻辑连接单元,校验单元;所述校验层模块包括校验核心单元,校验和计算单元;1. a configurable multi-code length, multi-code rate low-density parity-check code LDPC decoder, is characterized in that, comprises the three-layer structure of top module, core decoding layer module, check layer module; Described The top-level module includes a storage input soft information unit, a storage output soft information unit, a storage checksum unit, a decoding control unit, a macro definition unit, and a core decoding unit; the core decoding layer module includes an initialization unit, an iteration control unit, a variable information processing unit VPU, a verification information processing unit CPU, an iteration information storage unit, a row logic connection unit, a column logic connection unit, and a verification unit; the verification layer module includes a verification core unit and a verification sum calculation unit; 所述宏定义单元,用于存储与码率一一对应的低密度奇偶校验码LDPC译码器的多个校验基矩阵以及多个标准扩展因子,将所有校验基矩阵按照不同的标准扩展因子进行扩展,得到与码长一一对应的校验矩阵;通过更换输入的低密度奇偶校验码LDPC译码器的校验基矩阵,实现不同码率的配置,通过更换输入的低密度奇偶校验码LDPC译码器的标准扩展因子,实现码长的配置;The macro definition unit is used to store multiple check basis matrices and multiple standard expansion factors of the low density parity check code LDPC decoder corresponding to the code rate one-to-one, and all check basis matrices according to different standards The expansion factor is extended to obtain a check matrix corresponding to the code length; The standard expansion factor of the parity check code LDPC decoder to realize the configuration of the code length; 所述核心译码单元,采用部分并行结构,用于完成低密度奇偶校验码LDPC译码器的初始化、迭代译码、校验工作;所述核心译码单元采用部分并行结构是指,核心译码单元包括1个初始化单元,1个校验单元,1个迭代控制单元,m个并行工作的变量信息处理单元VPU,n个并行工作的校验信息处理单元CPU,g个并行工作的行逻辑连接单元,h个并行工作的列逻辑连接单元,k个并行工作的迭代信息存储单元,m、n、k分别表示由所有校验基矩阵中的最大列数、最大行数、最大权重数所确定的数值,g与m的取值相等,h与n的取值相等;The core decoding unit adopts a partial parallel structure, and is used to complete the initialization, iterative decoding and verification work of the low-density parity check code LDPC decoder; the core decoding unit adopts a partial parallel structure means that the core The decoding unit includes 1 initialization unit, 1 check unit, 1 iteration control unit, m variable information processing units VPU working in parallel, n check information processing units CPU working in parallel, g rows working in parallel Logical connection unit, h column logical connection units working in parallel, k iteration information storage units working in parallel, m, n, k respectively represent the maximum number of columns, the maximum number of rows, and the maximum number of weights in all check basis matrices For the determined value, the values of g and m are equal, and the values of h and n are equal; 所述变量信息处理单元VPU,用于更新变量节点的变量信息,变量信息处理单元VPU共有15种输入端口数量的变量信息处理单元VPU模块,核心译码单元以宏定义单元输入的校验基矩阵的各列权重为基准,选取相应的变量信息处理单元VPU模块,核心译码单元以宏定义单元输入的校验基矩阵的最大列数为基准,选取变量信息处理单元VPU的总数;所述变量信息处理单元VPU共有15种输入端口数量的变量信息处理单元VPU模块是指,每种模块具有唯一的输入端口数量,输入端口的数量值自[2,16]设置,输入端口数量值大的变量信息处理单元VPU模块向下兼容输入端口数量值小的变量信息处理单元VPU模块,将输入端口数量值大的变量信息处理单元VPU的部分输入引脚接地,以替代输入端口数量值小的变量信息处理单元VPU;The variable information processing unit VPU is used to update the variable information of the variable node. The variable information processing unit VPU has a total of 15 variable information processing unit VPU modules with the number of input ports, and the core decoding unit defines the check basis matrix input by the macro definition unit. The weight of each column is the benchmark, the corresponding variable information processing unit VPU module is selected, the core decoding unit is based on the maximum number of columns of the check basis matrix input by the macro definition unit, and the total number of variable information processing units VPU is selected; The information processing unit VPU has a total of 15 variables with the number of input ports. The information processing unit VPU module means that each module has a unique number of input ports. The number of input ports is set from [2, 16], and the variable with a large number of input ports The information processing unit VPU module is backward compatible with the variable information processing unit VPU module with a small number of input ports. Part of the input pins of the variable information processing unit VPU with a large number of input ports are grounded to replace the variable information with a small number of input ports. processing unit VPU; 所述校验信息处理单元CPU,用于更新校验节点的校验信息,校验信息处理单元CPU共有15种输入端口数量的校验信息处理单元CPU模块,核心译码单元以宏定义单元输入的校验基矩阵的各行权重为基准,选取相应的校验信息处理单元CPU模块,核心译码单元以宏定义单元输入的校验基矩阵的最大行数为基准,选取校验信息处理单元CPU的总数量;所述校验信息处理单元CPU共有15种输入端口数量的校验信息处理单元CPU模块是指,每种模块具有唯一的输入端口数量,输入端口的数量值自[2,16]设置,输入端口数量值大的校验信息处理单元CPU模块向下兼容输入端口数量值小的校验信息处理单元CPU模块,将输入端口数量值大的校验信息处理单元CPU的部分输入引脚接地,以替代输入端口数量值小的校验信息处理单元CPU;The verification information processing unit CPU is used to update the verification information of the check node. The verification information processing unit CPU has a total of 15 types of verification information processing unit CPU modules with the number of input ports, and the core decoding unit inputs the macro definition unit. The weight of each row of the check base matrix is the benchmark, select the corresponding check information processing unit CPU module, the core decoding unit is based on the maximum number of rows of the check base matrix input by the macro definition unit, and select the check information processing unit CPU The verification information processing unit CPU has a total of 15 verification information processing unit CPU modules with input port numbers, which means that each module has a unique number of input ports, and the number of input ports ranges from [2,16] Setting, the verification information processing unit CPU module with a large input port number value is backward compatible with the verification information processing unit CPU module with a small input port number value, and part of the input pins of the verification information processing unit CPU with a large input port number value Grounding to replace the verification information processing unit CPU with a small number of input ports; 所述迭代信息存储单元,包括迭代信息存储器和偏移地址生成器,所述偏移地址生成器用于产生迭代信息存储器的读写地址,偏移地址生成器利用宏定义单元输出的校验基矩阵元素的位置信息,按照逆序写入,顺序读出的方式产生迭代信息存储器的读写地址;The iterative information storage unit includes an iterative information memory and an offset address generator, the offset address generator is used to generate read and write addresses of the iterative information memory, and the offset address generator utilizes the check basis matrix output by the macro definition unit The position information of the element is written in reverse order and read sequentially to generate the read and write addresses of the iterative information memory; 所述行逻辑连接单元,用于从宏定义单元输入的所有校验基矩阵的最大行数中选取相应的端口总数,以端口总数为基准确定校验信息处理单元CPU与迭代信息存储单元的逻辑连接方式;The row logic connection unit is used to select the corresponding total number of ports from the maximum number of rows of all check basis matrices input by the macro definition unit, and determine the logic of the check information processing unit CPU and the iterative information storage unit based on the total number of ports. connection method; 所述列逻辑连接单元,利用从宏定义单元输入的所有校验基矩阵的最大列数中选取相应的端口总数,以端口总数为基准确定变量信息处理单元VPU与迭代信息存储单元的逻辑连接方式;The column logical connection unit selects the corresponding total number of ports from the maximum number of columns of all check basis matrices input from the macro definition unit, and determines the logical connection mode between the variable information processing unit VPU and the iteration information storage unit based on the total number of ports ; 所述校验单元,用于完成译码的校验工作,对每次变量信息处理单元VPU输出的软信息进行译码判决,当校验和为0时,译码正确,停止迭代,否则继续下一次迭代译码,直到达到最大迭代次数为止。The verification unit is used to complete the verification work of decoding, and performs decoding judgment on the soft information output by the variable information processing unit VPU each time. When the verification sum is 0, the decoding is correct, and the iteration is stopped, otherwise it continues. The next iteration is decoded until the maximum number of iterations is reached.
CN201810072942.9A 2018-01-25 2018-01-25 A Configurable Multi-Code Length and Multi-Rate LDPC Decoder Active CN108449090B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810072942.9A CN108449090B (en) 2018-01-25 2018-01-25 A Configurable Multi-Code Length and Multi-Rate LDPC Decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810072942.9A CN108449090B (en) 2018-01-25 2018-01-25 A Configurable Multi-Code Length and Multi-Rate LDPC Decoder

Publications (2)

Publication Number Publication Date
CN108449090A CN108449090A (en) 2018-08-24
CN108449090B true CN108449090B (en) 2020-06-16

Family

ID=63190930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810072942.9A Active CN108449090B (en) 2018-01-25 2018-01-25 A Configurable Multi-Code Length and Multi-Rate LDPC Decoder

Country Status (1)

Country Link
CN (1) CN108449090B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379087B (en) * 2018-10-24 2022-03-29 江苏华存电子科技有限公司 Method for LDPC to modulate kernel coding and decoding rate according to error rate of flash memory component
CN110048805B (en) * 2018-12-11 2021-08-31 西安电子科技大学 Decoding control system and method of low density parity check code, wireless communication system
CN112803952B (en) * 2019-11-13 2025-05-27 新岸线(北京)科技集团有限公司 Data storage method and device for LDPC decoder
CN113612582B (en) * 2021-08-12 2022-06-07 西安电子科技大学 A parallel LDPC decoder for Turbo-like variable sequence message passing

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770640A (en) * 2004-11-04 2006-05-10 中兴通讯股份有限公司 A low-density parity-check code encoder/decoder and its generation method
CN1808955A (en) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 Non-regular low intensity parity code based coder and its creation method
CN1953335A (en) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 A coding device and method for low density parity check code of supporting any code rate/code length
CN101047387A (en) * 2007-03-23 2007-10-03 北京大学 Construction method of multi-code rate compatible LDPC code and its decoder
CN101072036A (en) * 2007-04-29 2007-11-14 浙江大学 Series low-density even-odd check code decoder for supporting multi-rate multi-code-length
CN101162907A (en) * 2006-10-10 2008-04-16 华为技术有限公司 Method and device for constructing low-density parity code check matrix
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
US7502987B2 (en) * 2004-05-12 2009-03-10 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
CN102075196A (en) * 2010-12-10 2011-05-25 清华大学 Multi-code rate multi-code length QC-LDPC code construction method and coding modulation system
CN103973315A (en) * 2013-01-25 2014-08-06 中兴通讯股份有限公司 LDPC code decoding device and decoding method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996752B2 (en) * 2007-05-05 2011-08-09 Legend Silicon Corp. Method and apparatus for decoding a LDPC code
KR101077552B1 (en) * 2007-12-14 2011-10-28 한국전자통신연구원 APPARATUS AND METHOD OF DECODING LOW DENSITY PARITY CHECK CODE USING MUlTI PROTOTYPE MATRIX

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502987B2 (en) * 2004-05-12 2009-03-10 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
CN1770640A (en) * 2004-11-04 2006-05-10 中兴通讯股份有限公司 A low-density parity-check code encoder/decoder and its generation method
CN1808955A (en) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 Non-regular low intensity parity code based coder and its creation method
CN1953335A (en) * 2005-10-21 2007-04-25 中兴通讯股份有限公司 A coding device and method for low density parity check code of supporting any code rate/code length
CN101162907A (en) * 2006-10-10 2008-04-16 华为技术有限公司 Method and device for constructing low-density parity code check matrix
CN101217337A (en) * 2007-01-01 2008-07-09 中兴通讯股份有限公司 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
CN101047387A (en) * 2007-03-23 2007-10-03 北京大学 Construction method of multi-code rate compatible LDPC code and its decoder
CN101072036A (en) * 2007-04-29 2007-11-14 浙江大学 Series low-density even-odd check code decoder for supporting multi-rate multi-code-length
CN102075196A (en) * 2010-12-10 2011-05-25 清华大学 Multi-code rate multi-code length QC-LDPC code construction method and coding modulation system
CN103973315A (en) * 2013-01-25 2014-08-06 中兴通讯股份有限公司 LDPC code decoding device and decoding method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"OFDM系统中高性能LDPC码解码器的研究与实现";向波;《中国博士学位论文全文数据库•信息科技辑》;20101115;第2010年卷(第11期);I136-58 *
"短波通信中的QC-LDPC码研究与实现";王耿;《中国优秀硕士学位论文全文数据库•信息科技辑》;20111215;第2011年卷(第12期);I136-134 *

Also Published As

Publication number Publication date
CN108449090A (en) 2018-08-24

Similar Documents

Publication Publication Date Title
CN108449090B (en) A Configurable Multi-Code Length and Multi-Rate LDPC Decoder
CN101047387B (en) A construction method of multi-rate compatible LDPC code and its decoder
RU2395902C2 (en) Ldpc coding device and methods
CN102394661B (en) LDPC (low density parity check) decoder and decoding method based on layer decoding processing
Ho et al. A 520k (18900, 17010) array dispersion LDPC decoder architectures for NAND flash memory
CN109802687B (en) High-speed code rate compatible LDPC encoder of QC-LDPC code based on FPGA
CN116827357A (en) Method and device for encoding and decoding structured low-density parity check code LDPC
CN100438394C (en) Construction method of non-regular permutation matrix LDPC code and its device
CN109495115B (en) LDPC decoder based on FPGA and decoding method
CN109347486B (en) Low-complexity high-throughput 5G LDPC encoder and encoding method
CN100425000C (en) Twin-turbo structure low-density parity-check code decoder and decoding method
CN112134570A (en) A multi-mode LDPC decoder for deep space communication
CN103916134B (en) Low-density parity check code aliasing and decoding method and multi-core collaborative aliasing decoder
CN101854177B (en) LDPC decoder with high throughput rate
US20230037965A1 (en) Layered semi parallel ldpc decoder system having single permutation network
CN101335592A (en) Realization Method of High Speed LDPC Decoder Based on Matrix Partitioning
KR20110087268A (en) Decoding circuit and encoding circuit
CN110048805B (en) Decoding control system and method of low density parity check code, wireless communication system
CN101594152B (en) LDPC code decoding method for realizing simultaneous operation of horizontal operation and vertical operation
CN103220002A (en) Quasi-cyclic low-density parity-check (LDPC) code construction method capable of eliminating decoder access conflict
US20110179337A1 (en) Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof
CN101577555A (en) Minimum value comparing method in LDPC decoding and realization device thereof
CN102594369A (en) Quasi-cyclic low-density parity check code decoder based on FPGA (field-programmable gate array) and decoding method
CN102064837B (en) Partially parallel decoding method of quasi-cyclic low density parity check (QC-LDPC) code based on first in first out (FIFO) fragmentation
CN102201817B (en) Low-power-consumption LDPC decoder based on optimization of memory folding architecture

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