IP Library Granted Patent US 8,332,718
Granted Patent B2
US 8,332,718 · App. 12/079,467 · Granted Dec 11, 2012

Efficient implementation to perform iterative decoding with large iteration counts

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,332,718
App. No.
12/079,467
Granted
Dec 11, 2012
Kind
B2
Abstract

Systems and methods are presented to improve the performance of a constant bit rate iterative decoder by providing elastic buffering, while utilizing a relatively simple decoder architecture capable of maintaining a fixed number of iterations of a lower value. An LDPC decoder can be designed, for example, to support less than the maximum possible number of iterations, and can, for example, be mated to elastic input and output buffers. If a given code block, or succession of code blocks, requires the maximum number of iterations for decoding, the decoder can, for example, run at such maximum number of iterations and the elastic input buffer can, for example, hold code blocks waiting to be processed so as to maintain a constant input rate. Alternatively, if one or more code blocks requires less than the nominal number of iterations, the output buffer can store those code blocks so as to preserve a constant output rate. It is emphasized that this abstract is provided to comply with the rules requiring an abstract, and is submitted with the understanding that it will not be used to interpret or limit the scope or the meaning of the claims.

Claims (41)

1. A method of efficiently performing iterative decoding, comprising:

setting a decoder to operate at a nominal iteration rate N;

allowing the decoder to increase or decrease the number of iterations when needed or feasible; and

storing a queue of code blocks in each of an elastic input buffer and an elastic output buffer,

wherein the input rate of code blocks to the input buffer and the out put rate of code blocks from the output buffer is constant,

wherein the size of the elastic input buffer is a function of the expected number, Nseq, of sequential code blocks that would require M iterations, and

wherein the size of the elastic input buffer is Nseq multiplied by the size of a code block multiplied by M/N, or Nseq*M/N*Block_size.

2. The method of claim 1 , wherein the decoder can increase to a maximum number of iterations M.

3. The method of claim 2 , wherein M is an integer multiple of N.

4. The method of claim 1 , wherein the decoder implements one of a Low Density Parity Code, a Turbo code and a modification of either of them.

5. The method of claim 1 , wherein the size of the elastic output buffer is a function of the expected number of sequential code blocks that can be processed with less than N iterations.

6. The method of claim 1 , wherein if the elastic input buffer is filled, the decoder operates at no more than N iterations per code block.

7. The method of claim 1 , wherein the decoder can exit processing of a code block upon the detection of one of a defined set of termination indicators.

8. The method of claim 7 , wherein the defined set of termination indicators include large portion of bits still in error after a defined number of iterations, static parity error count, and parity sum below a defined minimum threshold.

9. A system for efficient iterative decoding, comprising:

a decoder set to operate at a nominal iteration rate N; and

an elastic input buffer and an elastic output buffer each coupled to the decoder,

wherein the input rate of code blocks to the input buffer and the out put rate of code blocks from the output buffer is constant, and

wherein the size of the elastic input buffer is a function of the expected number, Nseq, of sequential code blocks that would require M iterations, and

wherein said size of the elastic input buffer is Nseq multiplied by the size of a code block multiplied by M/N, or Nseq*M/N*Block size.

10. The system of claim 9 , wherein in operation the decoder can increase or decrease the number of iterations when needed or feasible.

11. The system of claim 10 , wherein if the elastic input buffer is filled, the decoder operates at no more than N iterations per code block.

12. The system of claim 9 , wherein the decoder implements one of a Low Density Parity Code, a Turbo code and a modification of one of them.

13. The system of claim 9 , wherein the size of the elastic output buffer is a function of the expected number of sequential code blocks that can be processed with less than N iterations.

14. The system of claim 9 , wherein the decoder can exit processing of a code block upon the detection of one of a defined set of termination indicators.

15. The system of claim 9 , wherein the decoder can increase to a maximum number of iterations M.

16. The system of claim 15 , where M is greater than or equal to 4N.

17. A non-transitory program storage device readable by a processing unit, tangibly embodying a program of instructions executable by the processing unit to implement a method of efficiently performing iterative decoding, said method comprising:

setting a decoder to operate at a nominal iteration rate N;

increasing or decreasing the number of iterations when needed or feasible; and

storing a queue of code blocks in each of an elastic input buffer and an elastic output buffer,

wherein the input rate of code blocks to the input buffer and the out put rate of code blocks from the output buffer is constant,

wherein the size of the elastic input buffer is a function of the expected number, Nseq, of sequential code blocks that would require M iterations, and

wherein the size of the elastic input buffer is Nseq multiplied by the size of a code block multiplied by M/N, or Nseq*M/N*Block_size.

18. The non-transitory programmable storage device of claim 17 , wherein in said method the decoder can increase to a maximum number of iterations M.

19. The non-transitory programmable storage device of claim 17 , wherein in said method M is an integer multiple of N.

20. The non-transitory programmable storage device of claim 17 , wherein in said method the decoder implements one of a Low Density Parity Code, a Turbo code and a modification of either of them.

21. The non-transitory programmable storage device of claim 17 , wherein in said method the size of the elastic output buffer is a function of the expected number of sequential code blocks that can be processed with less than N iterations.

22. The non-transitory programmable storage device of claim 17 , wherein in said method if the elastic input buffer is filled, the decoder operates at no more than N iterations per code block.

23. The non-transitory programmable storage device of claim 17 , wherein in said method the decoder can exit processing of a code block upon the detection of one of a defined set of termination indicators.

24. The non-transitory programmable storage device of claim 17 , wherein in said method the defined set of termination indicators include large portion of bits still in error after a defined number of iterations, static parity error count, and parity sum below a defined minimum threshold.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Sep 1, 2017
From: U.S. BANK NATIONAL ASSOCIATION
To: SIRIUS XM RADIO INC.; SIRIUS XM CONNECTED VEHICLE SERVICES INC.
Reel/Frame 043747/0091 →
PATENT SECURITY AGREEMENT Recorded Apr 11, 2014
From: SIRIUS XM RADIO INC.; SIRIUS XM CONNECTED VEHICLE SERVICES INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 032660/0603 →
SECURITY AGREEMENT Recorded Dec 5, 2012
From: SIRIUS XM RADIO INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029408/0767 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 11, 2012
From: U.S. BANK NATIONAL ASSOCIATION
To: SIRIUS XM RADIO INC.
Reel/Frame 028938/0704 →
SECURITY AGREEMENT Recorded Jan 14, 2011
From: SIRIUS XM RADIO INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 025643/0502 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2009
From: LIBERTY MEDIA CORPORATION
To: SIRIUS XM RADIO INC.
Reel/Frame 023134/0370 →
PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Aug 24, 2009
From: SIRIUS XM RADIO INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 023134/0459 →
SECURITY AGREEMENT Recorded Feb 17, 2009
From: SIRIUS XM RADIO INC.
To: LIBERTY MEDIA CORPORATION
Reel/Frame 022266/0682 →
CHANGE OF NAME Recorded Feb 4, 2009
From: SIRIUS SATELLITE RADIO INC.
To: SIRIUS XM RADIO INC.
Reel/Frame 022203/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2008
From: SCARPA, CARL; SCHELL, EDWARD
To: SIRIUS SATELLITE RADIO INC.
Reel/Frame 021418/0545 →