US2015188579A1PendingUtilityA1

Efficient implementation to perform iterative decoding with large iteration counts

Assignee: SIRIUS XM RADIO INCPriority: Mar 29, 2007Filed: Nov 19, 2014Published: Jul 2, 2015
Est. expiryMar 29, 2027(~0.7 yrs left)· nominal 20-yr term from priority
H03M 13/3746H03M 13/6505H03M 13/1105H03M 13/05
46
PatentIndex Score
0
Cited by
0
References
0
Claims

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

exact text as granted — not AI-modified
1 . A method of efficiently performing iterative decoding in a decoder, comprising:
 operating at a nominal iteration rate N;   changing the iteration rate by either:
 (i) increasing the number of iterations as needed, if sufficient buffer space is available, 
 (ii) decreasing the number of iterations of a current code block being processed, or 
 (iii) stopping decoding of a current code block being processed; 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 output rate of code blocks from the output buffer is constant, and   wherein the elastic buffer size is a multiple of a single code block.   
     
     
         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 - 6 . (canceled) 
     
     
         7 . 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. 
     
     
         8 . The method of  claim 1 , wherein if the elastic input buffer is filled, the decoder operates at a multiple of N, depending upon how many code blocks can fit into the remaining input buffer space. 
     
     
         9 . 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, including (i) large portion of bits still in error after a defined number of iterations, (ii) static parity error count, (iii) parity sum below a defined minimum threshold, or(iv) any combination of these. 
     
     
         10 . (canceled) 
     
     
         11 . 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 output rate of code blocks from the output buffer is constant, and wherein in operation, the decoder can   change the iteration rate by either:
 (ii) increasing the number of iterations, as needed, if sufficient buffer space is available, 
 (ii) decreasing the number of iterations of a current code block being processed, or 
 (iii) stopping decoding of a current code block being processed; and 
   wherein the elastic buffer size is a multiple of a single code block.   
     
     
         12 . (canceled) 
     
     
         13 . The system of  claim 12 , wherein the decoder can increase to a maximum number of iterations M, where M is a multiple of N. 
     
     
         14 . (canceled) 
     
     
         15 . The system of  claim 11 , wherein the decoder implements one of a Low Density Parity Code, a Turbo code and a modification of one of them. 
     
     
         16 . The system of  claim 13 , wherein at least one of:
 the size of the elastic input buffer is a function of the expected number of sequential code blocks that can require M iterations, and   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.   
     
     
         17 - 18 . (canceled) 
     
     
         19 . The system of  claim 11 , wherein the decoder can exit stop processing of a current code block upon the detection of one of a defined set of termination indicators. 
     
     
         20 . A 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:
 operating at a nominal iteration rate N;   changing the iteration rate by either:
 (i) increasing the number of iterations as needed, if sufficient buffer space is available, 
 (ii) decreasing the number of iterations of a current code block being processed, or 
 (iii) stopping decoding of a current code block being processed; 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 output rate of code blocks from the output buffer is constant, and   wherein the elastic buffer size is a multiple of a single code block.   
     
     
         21 . The programmable storage device of  claim 20 , wherein in said method the decoder can increase to a maximum number of iterations M. 
     
     
         22 . The programmable storage device of  claim 20 , wherein in said method M is an integer multiple of N. 
     
     
         23 . The programmable storage device of  claim 20 , wherein in said method the decoder implements one of a Low Density Parity Code, a Turbo code and a modification of either of them. 
     
     
         24 . (canceled) 
     
     
         25 . The programmable storage device of  claim 20 , wherein in said method, at least one of:
 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, and   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.   
     
     
         26 . (canceled) 
     
     
         27 . The programmable storage device of  claim 20 , wherein in said method if the elastic input buffer is filled, the decoder operates at a multiple of N, depending upon how many code blocks can fit into the remaining input buffer space. 
     
     
         28 . The programmable storage device of  claim 20 , wherein in said method the decoder can exit processing of a code block upon deciding that the currently processed code block will either (i) not converge, or (ii) does not need to. 
     
     
         29 . (canceled)

Join the waitlist — get patent alerts

Track US2015188579A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.