IP Library Granted Patent US 7,350,130
Granted Patent B2
US 7,350,130 · App. 11/017,403 · Granted Mar 25, 2008

Decoding LDPC (low density parity check) code with new operators based on min

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,350,130
App. No.
11/017,403
Granted
Mar 25, 2008
Kind
B2
Abstract

Decoding LDPC (Low Density Parity Check) code with new operators based on min* operator. New approximate operators are provided that may be employed to assist in calculating one or a minimum value (or a maximum value) when decoding various coded signals. In the context of LDPC decoding that involves both bit node processing and check node processing, either of these new operators (i.e., the min† (min-dagger) operator or the min′ (min-prime) operator) may be employed to perform the check node processing that involves updating the edge messages with respect to the check nodes. Either of these new operators, min† operator or min′ operator, is shown herein to be a better approximate operator to the min** operator.

Claims (83)

1. A decoder that is operable to decode an LDPC (Low Density Parity Check) coded signal, the decoder comprising:

a bit node processor that is operable to:

receive a plurality of bit metrics; and

perform bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes; and

a check node processor that is operable to perform check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes by performing min† (min-dagger) processing or min′ (min-prime processing).

2. The decoder of claim 1 , further comprising:

a metric generator that is operable to:

receive I, Q (In-phase, Quadrature) values corresponding to a symbol of the LDPC coded signal; and

generate a plurality of symbol metrics from the I, Q values; and

a symbol node calculator functional block that is operable to generate the plurality of bit metrics from the plurality of symbol metrics.

3. The decoder of claim 1 , further comprising:

a hard limiter that is operable to receive soft output from the bit node processor that corresponds to most recently updated plurality of edge messages with respect to the plurality of bit nodes and to make best estimates of bits of a symbol of the LDPC coded signal using the soft output.

4. The decoder of claim 3 , further comprising:

a syndrome calculation functional block that is operable to receive the best estimates of bits of the symbol of the LDPC coded signal from the hard limiter and is operable to determine whether each of a plurality of syndromes of an LDPC code by which the LDPC coded signal is generated is substantially equal to zero within a degree of precision.

5. The decoder of claim 1 , wherein the check node processor further comprises a min† functional block that is operable to:

perform min† processing on a plurality of inputs to generate a min† result;

include a min* (min-star) functional block that is operable to perform min* processing on the plurality of inputs to generate a min* result;

when the min* result is greater than or equal to zero within a predetermined degree of precision, the min† functional block is operable to output the min* result as the min† result; and

when the min* result is less than zero within a predetermined degree of precision, the min† functional block is operable to output a value of zero as the min† result.

6. The decoder of claim 1 , wherein the check node processor further comprises a min′ functional block that is operable to:

perform min′ processing on a plurality of inputs thereby to generate a min′ result;

include a min functional block that is operable to perform min processing on the plurality of inputs to generate a min result;

include a min* (min-star) functional block that is operable to perform min* processing on the plurality of inputs to generate a min* result;

when the min result is greater than zero within a predetermined degree of precision, the min′ functional block is operable to output the min* result as the min′ result; and

when the min result is less than or equal to zero within the predetermined degree of precision, the min′ functional block is operable to output a value of zero as the min′ result.

7. The decoder of claim 1 , wherein:

the LDPC coded signal is a variable code rate signal;

the first symbol of the LDPC coded signal has a first code rate; and

the second symbol of the LDPC coded signal has a second code rate.

8. The decoder of claim 1 , wherein:

the LDPC coded signal is a variable modulation signal;

the first symbol of the LDPC coded signal has a first modulation having a first constellation shape and a corresponding first mapping; and

the second symbol of the LDPC coded signal has a second modulation having a second constellation shape and a corresponding second mapping.

9. The decoder of claim 1 , wherein:

the decoder is operable to decode LDPC coded signals that are compliant with at least one of DVB-S2 (Digital Video Broadcasting Project—Satellite Version 2) draft standard and recommended practices provided by IEEE (Institute of Electrical & Electronics Engineers) P802.3an (10 GBASE-T) Task Force.

10. A method for decoding an LDPC (Low Density Parity Check) coded signal, the method comprising:

receiving a plurality of bit metrics;

performing bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes; and

performing check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes by performing min† (min-dagger) processing or min′ (min-prime processing).

11. The method of claim 10 , further comprising:

receiving I, Q (In-phase, Quadrature) values corresponding to a symbol of the LDPC coded signal;

generating a plurality of symbol metrics from the I, Q values; and

generating the plurality of bit metrics from the plurality of symbol metrics.

12. The method of claim 10 , further comprising:

receiving soft output that corresponds to most recently updated plurality of edge messages with respect to the plurality of bit nodes; and

making best estimates of bits of a symbol of the LDPC coded signal using the soft output.

13. The method of claim 12 , further comprising:

receiving best estimates of bits of the symbol of the LDPC coded signal; and

determining whether each of a plurality of syndromes of an LDPC code by which the LDPC coded signal is generated is substantially equal to zero within a degree of precision.

14. The method of claim 10 , further comprising:

performing min† processing on a plurality of inputs to generate a min† result there from;

performing min* processing on the plurality of inputs to generate a min* result there from;

when the min* result is greater than or equal to zero within a predetermined degree of precision, outputting the min* result as the min† result; and

when the min* result is less than zero within a predetermined degree of precision, outputting a value of zero as the min† result.

15. The method of claim 10 , further comprising:

performing min′ processing on a plurality of inputs thereby generating a min′ result there from;

performing min processing on the plurality of inputs thereby generating a min result there from;

performing min* processing on the plurality of inputs thereby generating a min* result there from;

when the min result is greater than zero within a predetermined degree of precision, outputting the min* result as the min′ result; and

when the min result is less than or equal to zero within the predetermined degree of precision, outputting a value of zero as the min′ result.

16. The method of claim 10 , wherein:

the LDPC coded signal is a variable code rate signal;

the first symbol of the LDPC coded signal has a first code rate; and

the second symbol of the LDPC coded signal has a second code rate.

17. The method of claim 10 , wherein:

the LDPC coded signal is a variable modulation signal;

the first symbol of the LDPC coded signal has a first modulation having a first constellation shape and a corresponding first mapping; and

the second symbol of the LDPC coded signal has a second modulation having a second constellation shape and a corresponding second mapping.

18. The method of claim 10 , wherein:

the method is operable to decode LDPC coded signals that are compliant with at least one of DVB-S2 (Digital Video Broadcasting Project—Satellite Version 2) draft standard and recommended practices provided by IEEE (Institute of Electrical & Electronics Engineers) P802.3an (10 GBASE-T) Task Force.

19. A decoder that is operable to decode an LDPC (Low Density Parity Check) coded signal, the decoder comprising:

a bit node processor that is operable to:

receive a plurality of bit metrics; and

perform bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes; and

a check node processor that is operable to perform check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes by performing mint (min-dagger) processing or min′ (min-prime processing); and wherein:

the LDPC coded signal is a variable code rate signal; and

the LDPC coded signal is a variable modulation signal.

20. A method for decoding an LDPC (Low Density Parity Check) coded signal, the method comprising:

receiving a plurality of bit metrics;

performing bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes; and

performing check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes by performing min† (min-dagger) processing or min′ (min-prime processing); and wherein:

the LDPC coded signal is a variable code rate signal; and

the LDPC coded signal is a variable modulation signal.

Assignments (6)
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 →