IP Library Granted Patent US 8,832,534
Granted Patent B1
US 8,832,534 · App. 12/984,428 · Granted Sep 9, 2014

LDPC decoder architecture

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,832,534
App. No.
12/984,428
Granted
Sep 9, 2014
Kind
B1
Abstract

Systems, devices, and methods are disclosed for a novel LDPC decoder. An architecture is described to implement a novel sequence of bit node processing (BNP) and check node processing (CNP) operations. More specifically, the BNP may be split into two parts: a BNP accumulator and a BNP extrinsic information calculator. This separation of processing modules may provide for fewer read and write operations to and from edge memory.

Claims (37)

1. A communication terminal comprising:

a decoding circuit configured to decode data that has been encoded according to a coding scheme defining a parity check matrix, wherein the parity check matrix defines parity equations and edges between bit nodes and check nodes, the decoding circuit comprising:

an input buffer configured to store channel soft information;

a bit node processing (BNP) accumulation module communicatively coupled with the input buffer and configured to read the channel soft information from the input buffer, to access extrinsic information for edges, and to generate accumulated values for edges by summing the channel soft information and the extrinsic information for edges;

an edge memory communicatively coupled with the BNP accumulation module and configured to receive and store the accumulated values for edges generated by the BNP accumulation module;

a BNP calculation module communicatively coupled with the edge memory and configured to receive the accumulated value from the edge memory, to access extrinsic information for edges of a previous check node processing (CNP) iteration, and to generate extrinsic information inputs for edges of a new CNP iteration by subtracting the extrinsic information for edges of the previous CNP iteration from the accumulated values for edges received from the edge memory;

a CNP processor module communicatively coupled with the BNP calculation module and the BNP accumulation module, and configured to receive the extrinsic information inputs for edges generated by the BNP calculation module and to generate output extrinsic information for edges from the extrinsic information inputs for edges received from the BNP calculation module, the output extrinsic information being provided to the BNP accumulation module; and

an output buffer communicatively coupled with the BNP accumulation module and configured to store output data from the BNP accumulation module when a determination is made that all parity equations defined by the parity check matrix are satisfied.

2. The communication terminal of claim 1 , wherein:

the CNP processor module is configured to generate the output extrinsic information for edges with an accumulation operation using as operands the extrinsic information inputs for edges received from the BNP calculation module; and

the CNP processor module is further configured to generate the output extrinsic information for edges by subtracting the extrinsic information inputs for edges received from the BNP calculation module from the output extrinsic information for edges with an inverse of the accumulation operation.

3. The communication terminal of claim 1 , wherein the coding scheme comprises a low-density parity-check (LDPC) code.

4. The communication terminal of claim 1 , wherein the communication terminal is a satellite modem.

5. A method for decoding data in a communication terminal, wherein the data has been encoded according to a coding scheme defining a parity check matrix, and wherein the parity check matrix defines parity equations and edges between bit nodes and check nodes, the method comprising:

storing channel soft information;

generating at a first bit node processing (BNP) module, accumulated values for edges by summing the channel soft information with extrinsic information for edges;

storing the accumulated values for edges generated by the first BNP module in a memory communicatively coupled with the first BNP module;

generating at a second BNP module communicatively coupled with the memory, extrinsic information inputs for edges for a new check node processing (CNP) iteration by subtracting extrinsic information for edges of a previous CNP iteration from the accumulated values for edges, the accumulated values for edges being received at the second BNP module from the memory;

generating at a CNP module communicatively coupled with the first BNP module and the second BNP module, output extrinsic information for edges using the extrinsic information inputs for edges received at the CNP module from the second BNP module, the output extrinsic information being provided to the first BNP module; and

storing an output from the first BNP module when a determination is made that all parity equations defining the parity check matrix are satisfied.

6. The method of claim 5 , wherein generating the output extrinsic information further comprises:

performing an accumulation operation that uses as operands the extrinsic information inputs for edges; and

subtracting the extrinsic information inputs for edges from the output extrinsic information for edges with an inverse of the accumulation operation.

7. The method of claim 5 , wherein the coding scheme comprises a low-density parity-check (LDPC) code.

8. The method of claim 5 , wherein the communication terminal is a satellite modem.

9. A system for decoding data in a communication terminal, wherein the data has been encoded according to a coding scheme defining a parity check matrix, wherein the parity check matrix defines parity equations and edges between bit nodes and check nodes, the system comprising:

means for storing channel soft information;

means for generating at a first bit node processing (BNP) module, accumulated values for edges by summing the channel soft information with extrinsic information for edges;

means for storing the accumulated values for edges generated by the first BNP module in a memory communicatively coupled with the first BNP module;

means for generating at a second BNP module communicatively coupled with the memory, extrinsic information inputs for edges for a new check node processing (CNP) iteration by subtracting extrinsic information for edges of a previous CNP iteration from the accumulated values for edges, the accumulated values for edges being received at the second BNP module from the memory;

means for generating at a CNP module communicatively coupled with the first BNP module and the second BNP module, output extrinsic information for edges using the extrinsic information inputs for edges received at the CNP module from the second BNP module, the output extrinsic information being provided to the first BNP module; and

means for storing an output from the first BNP module when a determination is made that all parity equations defining the parity check matrix are satisfied.

10. The system of claim 9 , wherein the means for generating the output extrinsic information further comprise:

means for performing an accumulation operation that uses as operands the extrinsic information inputs for edges; and

means for subtracting the extrinsic information inputs for edges from the output extrinsic information for edges with an inverse of the accumulation operation.

11. The system of claim 9 , wherein the coding scheme comprises a low-density parity-check (LDPC) code.

12. The system of claim 9 , wherein the communication terminal is a satellite modem.

Assignments (5)
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
SECURITY AGREEMENT Recorded Dec 23, 2013
From: VIASAT, INC.
To: UNION BANK, N.A., AS AGENT FOR THE SECURED PARTIES
Reel/Frame 031868/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2011
From: DAVE, SAMEEP; MO, FAN
To: VIASAT, INC.
Reel/Frame 025651/0850 →