IP Library Granted Patent US 8,489,962
Granted Patent B2
US 8,489,962 · App. 12/452,412 · Granted Jul 16, 2013

Shuffled LDPC decoding

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,489,962
App. No.
12/452,412
Granted
Jul 16, 2013
Kind
B2
Abstract

An LDPC decoder iteratively decodes an LDPC code represented by a parity check matrix H consisting of a plurality of circulants based on a Log-Likelihood Ratio Belief-Propagation algorithm. First computation means ( 1010 ) compute for a next iteration symbol messages λ κm from a representation of a corresponding symbol value stored in a first memory 1005 and from check node messages Λ mn from a previous iteration. A shuffler ( 1030 ) changes a sequence of the symbol message received from the first computation means ( 1010 ) in dependence on a position of the non-zero elements in a corresponding sub-matrix. Second computation means (DP-O, DP-I, DP-D-I) compute the check node messages in dependence on symbol messages received from the barrel shifter and store a representation of the computed check node message in a second memory ( 1015 ). Third computation means ( 1020 ) update the representation of the symbol values in the first memory in dependence on output of the first and second computing means. The principle of “staggered” or “shuffled” LDPC decoding is used. One embodiment is designed for multi-diagonal circulants.

Claims (20)

1. An LDPC decoder for iteratively decoding an LDPC code on a Galois Field where the code is represented by a predetermined M×N parity check matrix H comprising a plurality of sub-matrices where each sub-matrix is either a zero-matrix or a matrix with a same number of non-zero elements in each row and column; the LDPC decoder being based on a Log-Likelihood Ratio Belief-Propagation algorithm, hereinafter referred to a LLR-BP algorithm, representing passing symbol messages λ nm from a respective symbol-node n (0<=n<N) to a connected check-node m (0<=m<M) and passing check node messages Λ mn from a respective check-node m to a connected symbol-node n; connections between symbol nodes and check nodes being defined by the parity check matrix H; the LDPC decoder comprising:

a first memory for storing, for each symbol node, a representation of a respective symbol value of a corresponding symbol of the LDPC code;

a second memory for storing a representation of the respective check node messages Λ mn ;

first computation means for computing, for a next iteration, symbol messages λ nm from the representation of a corresponding symbol value stored in the first memory and check node messages from a previous iteration;

a shuffler for receiving from the first computation means symbol messages arranged in a first sequence and supplying the symbol message in a different sequence in dependence on a position of non-zero elements in a corresponding sub-matrix;

second computation means (DP-O, DP-I, DP-DI) for computing, in accordance with the LLR-BP algorithm, check node messages and for storing a representation of the computed check node messages in the second memory; the computation being in dependence on symbol messages received from the shuffler by the respective check node; and

third computation means for updating the representation of the symbol values in the first memory in dependence on output of the first and second computing means.

2. An LDPC decoder as claimed in claim 1 , wherein at least one of the sub-matrices is a matrix with at least two non-zero elements in each row and column, hereinafter referred to as multi-matrix; the first computation means being arranged to compute symbol messages λ nm i that correspond to a multi-matrix in dependence on associated check node messages that each correspond to a respective one of the non-zero elements in the multi-matrix.

3. An LDPC decoder as claimed in claim 2 , wherein the first computation means is arranged to iteratively compute symbol messages relating to a single symbol node by in each iteration combining a respective one of the associated check node messages to a computed result.

4. An LDPC decoder as claimed in claim 1 , wherein the LLR-BP algorithm is based on a min-sum algorithm and the LDPC decoder including correcting means for multiplying a value of a symbol message by a corrective factor α; and saturation means for restricting a value to a predetermined range; the correcting means and saturating means being arranged in between the first computation means and the shuffler.

5. An LDPC decoder as claimed in claim 1 , wherein the representation of the symbol messages is stored in the first memory in a predetermined sequence; the LDPC decoder including a further shuffler arranged in between the second computation means and third computation means for supplying check node messages in a sequence corresponding to said predetermined sequence.

6. An LDPC decoder as claimed in claim 1 , wherein the LLR-BP algorithm is based on a min-sum algorithm; the second computation means including compression means for compressing check node messages and storing the check node messages in the second memory in a compressed form; and the first computation means including decompression means for decompressing check node messages read from the second memory.

7. An LDPC decoder as claimed in claim 1 , wherein the sub-matrix is a circulant, being either a zero-matrix or a diagonal matrix with at least one diagonal and at least one circulants is a diagonal matrix formed by rotating an identity matrix over at least one position; and the shuffler being a barrel shifter for changing the sequence of symbol messages in dependence on the rotation of the circulants.

8. A method of iteratively decoding an LDPC code on a Galois Field where the code is represented by a predetermined M×N parity check matrix H comprising a plurality of sub-matrices where each sub-matrix is either a zero-matrix or a matrix with a same number of non-zero elements in each row and column; the LDPC decoding method being based on a Log-Likelihood Ratio Belief-Propagation algorithm, hereinafter referred to a LLR-BP algorithm, representing passing symbol messages λ nm from a respective symbol-node n (0<=n<N) to a connected check-node m (0<=m<M) and passing check node messages Λ mn from a respective check-node m to a connected symbol-node n; connections between symbol nodes and check nodes being defined by the parity check matrix H; the LDPC decoding method comprising:

storing, for each symbol node, a representation of a respective symbol value of a corresponding symbol of the LDPC code in a first memory;

storing a representation of the respective check node messages Λ mn in a second memory;

performing a first computation including computing, for a next iteration, symbol messages λ nm from the representation of a corresponding symbol value stored in the first memory and check node messages from a previous iteration;

performing a shuffling operation by receiving symbol messages produced by the first computation arranged in a first sequence and supplying the symbol message in a different sequence in dependence on a position of the non-zero elements in a corresponding sub-matrix;

performing a second computation including computing, in accordance with the LLR-BP algorithm, check node messages and storing a representation of the computed check node messages in the second memory; the computation being in dependence on symbol messages received from the shuffler by the respective check node; and

updating the representation of the symbol values in the first memory in dependence on output of the first and second computation.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
STATUS CHANGE-ENTITY IN LIQUIDATION Recorded Feb 2, 2016
From: ST-ERICSSON SA
To: ST-ERICSSON SA, EN LIQUIDATION
Reel/Frame 037739/0493 →
CHANGE OF NAME Recorded Aug 24, 2012
From: ST WIRELESS SA
To: ST-ERICSSON SA
Reel/Frame 028845/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2010
From: NXP B.V.
To: ST WIRELESS SA
Reel/Frame 024526/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2010
From: DIELISSEN, JOHN
To: NXP B.V.
Reel/Frame 024489/0566 →