Decoder for low-density parity-check codes

US10958288B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10958288-B2
Application numberUS-201816213908-A
CountryUS
Kind codeB2
Filing dateDec 7, 2018
Priority dateAug 27, 2013
Publication dateMar 23, 2021
Grant dateMar 23, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus for decoding LDPC code provide that an LDPC code may be represented as a Tanner graph comprising bit nodes and check nodes and connections between them. A configurable LDPC decoder supporting many different LDPC codes having any sub-matrix size includes several independently addressable memories which are used to store soft decision data for each bit node. The decoder further includes a number P of check node processing systems which generate updated soft decision data. The updated values are then passed back to the memories via a shuffling system. If the number of check nodes processed in parallel by the check node processing systems is PCNB (where P≥PCNB) and the soft decision data for a bit node is of word size q bits, the total width of the independently addressable memories is larger than PCNB*q bits.

First claim

Opening claim text (preview).

What is claimed is: 1. A configurable LDPC decoder comprising: one or more memories arranged collectively to store soft decision data for each bit node for use in decoding an LDPC code and each memory having a width, the width of a memory comprising an amount of data accessible from the memory in a single cycle; a plurality of check node processing systems arranged to operate in parallel and generate updates to the bit node soft decision data; a first shuffling system arranged to pass data from the one or more memories to the plurality of check node processing systems; and a second shuffling system arranged to pass updates to the bit node soft decision data from the plurality of check node processing systems to the one or more memories; wherein each check node processing system generates updates to soft decision data for a bit node using check-to-bit node messages for each check node connected to the bit node and wherein each check-to-bit node message is calculated using a min-sum algorithm and a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check message magnitudes. 2. The configurable LDPC decoder according to claim 1 , wherein the variable offset is subtracted from an initial bit-to check node message calculated using the min-sum algorithm. 3. The configurable LDPC decoder according to claim 1 , wherein the decoder is arranged to support multiple different LDPC code structures having any sub-matrix size. 4. The configurable LDPC decoder according to claim 3 , wherein a parity check matrix for the LDPC code comprises a plurality of sub-matrices, a check node block comprises a group of check nodes processed in parallel by the check node processing systems and a sub-matrix comprises a plurality of check node blocks. 5. The configurable LDPC decoder according to claim 3 , wherein the one or more memories comprises a plurality of independently addressable memories. 6. A method of decoding an LDPC code comprising: accessing, in a single cycle, soft decision data for a plurality of bit nodes from one or more independently addressable memories; providing the accessed soft decision data to a plurality of check node processing systems; generating updates to the soft decision data for the plurality of bit nodes in parallel in the check node processing systems; and storing updated soft decision data for the plurality of bit nodes in the one or more independently addressable memories, wherein generating updates to the soft decision data for the plurality of bit nodes in parallel in the check node processing systems comprises, for each bit node: calculating initial check-to-bit node messages for each check node connected to the bit node using a min-sum algorithm; generating final check-to-bit node messages for each check node connected to the bit node using a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check node messages; and calculating an update to the soft decision data based on the final check-to-bit node messages for each bit node connected to the check node. 7. The method according to claim 6 , wherein generating final check-to-bit node messages for each check node connected to the bit node using a variable offset comprises: subtracting the variable offset from each initial check-to-bit node message to generate the final check-to-bit node messages for each check node connected to the bit node. 8. The method according to claim 6 , wherein the soft decision data for a plurality of bit nodes is accessed, in a single cycle, from the one or more independently addressable memories. 9. A non-transitory computer readable storage medium having stored thereon computer readable program code for generating a processor comprising an LDPC decoder, the LDPC decoder comprising: one or more memories arranged collectively to store soft decision data for each bit node for use in decoding an LDPC code and each memory having a width, the width of a memory comprising an amount of data accessible from the memory in a single cycle; a plurality of check node processing systems arranged to operate in parallel and generate updates to the bit node soft decision data; a first shuffling system arranged to pass data from the one or more memories to the plurality of check node processing systems; and a second shuffling system arranged to pass updates to the bit node soft decision data from the plurality of check node processing systems to the one or more memories; wherein each check node processing system generates updates to soft decision data for a bit node using check-to-bit node messages for each check node connected to the bit node and wherein each check-to-bit node message is calculated using a min-sum algorithm and a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check message magnitudes.

Assignees

Inventors

Classifications

  • QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2] · CPC title

  • Implementations concerning memory access contentions · CPC title

  • Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel · CPC title

  • Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields · CPC title

  • Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10958288B2 cover?
Methods and apparatus for decoding LDPC code provide that an LDPC code may be represented as a Tanner graph comprising bit nodes and check nodes and connections between them. A configurable LDPC decoder supporting many different LDPC codes having any sub-matrix size includes several independently addressable memories which are used to store soft decision data for each bit node. The decoder furt…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification H03M13/1111. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 23 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).