IP Library Granted Patent US 7,328,398
Granted Patent B2
US 7,328,398 · App. 11/433,028 · Granted Feb 5, 2008

Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses

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 7,328,398
App. No.
11/433,028
Granted
Feb 5, 2008
Kind
B2
Abstract

Low Density Parity Check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses. For the first time, min* processing is demonstrated for use in decoding LDPC-coded signals. In addition, max*, min**, or max** (and their respective inverses) may also be employed when performing calculations that are required to perform decoding of signals coded using LDPC code. These new parameters may be employed to provide for much improved decoding processing for LDPC codes when that decoding involves the determination of a minimal and/or maximal value, or a minimal and/or maximal log corrected value, from among a number of possible values. The total number of processing steps employed within the decoding of an LDPC-coded signal is significantly reduced be employing the min*, max*, min**, or max** (and their respective inverses) decoding processing described herein.

Claims (82)

1. An apparatus, comprising:

a min* functional block, that performs min* processing, that is operable to:

determine a first sign function value using a first value;

determine a second sign function value using a second value; and

update a check node extrinsic information value, that is used in decoding an LDPC (Low Density Parity Check) coded signal, using the first sign function value and the second sign function value.

2. The apparatus of claim 1 , wherein:

the min* functional block is operable to:

determine a minimum value from among the first value and the second value;

determine a logarithmic correction factor based on the first value and the second value; and

update the check node extrinsic information value using the first sign function value, the second sign function value, the minimum value and the logarithmic correction factor.

3. The apparatus of claim 1 , further comprising:

a memory that stores a plurality of predetermined logarithmic correction factors; and wherein:

at least one predetermined logarithmic correction factor of the plurality of predetermined logarithmic correction factors is an absolute value of a difference between the first value and the second value.

4. The apparatus of claim 1 , further comprising:

a memory that stores a plurality of predetermined logarithmic correction factors; and wherein:

at least one predetermined logarithmic correction factor of the plurality of predetermined logarithmic correction factors is a function of an absolute value of a difference between the first value and the second value.

5. The apparatus of claim 1 , further comprising:

a memory that stores a plurality of predetermined logarithmic correction factors; and wherein:

the min* functional block is operable to:

determine a minimum value from among the first value and the second value;

select the logarithmic correction factor from the plurality of predetermined logarithmic correction factors stored in the memory based on the first value and the second value; and

update the check node extrinsic information value using the first sign function value, the second sign function value, the minimum value, and the logarithmic correction factor.

6. The apparatus of claim 1 , wherein:

the min* functional block is operable to:

multiply the first sign function value by the second sign function value.

7. The apparatus of claim 1 , wherein:

the min* functional block is operable to:

determine a minimum value from among the first value and the second value;

determine a logarithmic correction factor based on the first value and the second value;

subtract the logarithmic correction factor from the minimum value thereby generating a min* resultant; and

multiply the first sign function value by the second sign function value and by the min* resultant.

8. The apparatus of claim 1 , wherein:

the min* functional block is operable to perform min*+ processing and min*− processing;

the min*+ processing operates using a plurality of values that correspond, at least in part, to a plurality of variable node extrinsic information values to generate an intermediate variable resultant; and

the min*− processing operates using the intermediate variable resultant and at least one variable node extrinsic information value of the plurality of variable node extrinsic information values.

9. The apparatus of claim 1 , wherein:

the apparatus is a decoder, a receiver, or a transceiver that is implemented within a communication system; and

an LDPC code by which the LDPC coded signal is generated is a regular LDPC code or an irregular LDPC code.

10. An apparatus, comprising:

a min** functional block, that performs min** processing using a plurality of values that correspond, at least in part, to a plurality of variable node extrinsic information values, that is operable to update a check node extrinsic information value, that is used in decoding an LDPC (Low Density Parity Check) coded signal, using the plurality of values.

11. The apparatus of claim 10 , wherein:

a first value of the plurality of values corresponds to a first variable node extrinsic information value of the plurality of variable node extrinsic information values; and

a second value of the plurality of values corresponds to a second variable node extrinsic information value of the plurality of variable node extrinsic information values.

12. The apparatus of claim 10 , wherein:

the min** functional block is operable to:

determine a first sign function value using a first value of the plurality of values;

determine a second sign function value using a second value of the plurality of values; and

update the check node extrinsic information value, that is used in decoding the LDPC coded signal, using by also using the first value, the second value, the first sign function value, and the second sign function value.

13. The apparatus of claim 10 , wherein:

the min** functional block is operable to:

determine a minimum value from among a first value of the plurality of values and a second value of the plurality of values;

determine a logarithmic correction factor based on the first value and the second value; and

update the check node extrinsic information value using the minimum value and the logarithmic correction factor.

14. The apparatus of claim 10 , further comprising:

a memory that stores a plurality of predetermined logarithmic correction factors; and wherein:

at least one predetermined logarithmic correction factor of the plurality of predetermined logarithmic correction factors is a function of at least one of an absolute value of a difference between a first value of the plurality of values and a second value of the plurality of values and a sum of the first value and the second value.

15. The apparatus of claim 10 , wherein:

the min** functional block is operable to:

determine a first sign function value using a first value of the plurality of values;

determine a second sign function value using a second value of the plurality of values;

determine a minimum value from among a first value of the plurality of values and a second value of the plurality of values;

determine a logarithmic correction factor based on the first value and the second value;

add the logarithmic correction factor to the minimum value thereby generating a min** resultant; and

multiply the first sign function value by the second sign function value and by the min** resultant.

16. The apparatus of claim 10 , wherein:

the min** functional block is operable to perform min**+ processing and min**− processing;

the min**+ processing operates using the plurality of values to generate an intermediate variable resultant; and

the min**− processing operates using the intermediate variable resultant and at least one variable node extrinsic information value of the plurality of variable node extrinsic information values.

17. The apparatus of claim 10 , wherein:

the apparatus is a decoder, a receiver, or a transceiver that is implemented within a communication system; and

an LDPC code by which the LDPC coded signal is generated is a regular LDPC code or an irregular LDPC code.

18. An apparatus, comprising:

a check node processing functional block that is operable to perform min** processing using a plurality of values that correspond, at least in part, to a plurality of variable node extrinsic information values, to update a check node extrinsic information value;

a variable node processing functional block that is operable to employ the updated check node extrinsic information value to update at least one variable node extrinsic information value of the plurality of variable node extrinsic information values; and

a variable bit estimation functional block that is operable to estimate a bit within an LDPC (Low Density Parity Check) coded signal using the updated at least one variable node extrinsic information value.

19. The apparatus of claim 10 , wherein:

the min** functional block is operable to perform min**+ processing and min**− processing;

the min**+ processing operates using the plurality of values to generate an intermediate variable resultant; and

the min**− processing operates using the intermediate variable resultant and at least one variable node extrinsic information value of the plurality of variable node extrinsic information values.

20. The apparatus of claim 19 , wherein:

the apparatus is a decoder, a receiver, or a transceiver that is implemented within a communication system; and

an LDPC code by which the LDPC coded signal is generated is a regular LDPC code or an irregular LDPC code.

Assignments (7)
DEED OF GIFT Recorded Aug 9, 2023
From: BELMONT HOLDINGS TRUST; SETH RODNER REVOCABLE TRUST
To: ACCESS TO ADVANCED HEALTH INSTITUTE
Reel/Frame 064546/0378 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER PREVIOUSLY RECORDED AT REEL: 047357 FRAME: 0302. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048674/0834 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0658. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047357/0302 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0658 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →