Abstract:
A margin decoding communications system includes a circuit receiving a message encoded by an iterative code and processing the message into scores. A normalization process module receives the scores and iteratively approximates log-map normalization factors of the scores to generate approximation normalization factors. An element receives the message and the approximation normalization factors and decodes the received message based on the approximation normalization factors.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application No. 60/790,176, filed on Apr. 7, 2006. The disclosure of the above application is incorporated herein by reference. 
    
    
     FIELD 
     The present disclosure generally relates to error correction coding. More specifically, the present invention relates to an analog system and method for iterative decoding of turbo, low-density parity check (LDPC) or turbo-like encoded data. 
     BACKGROUND 
     The statements in this section merely provide background information related to the present disclosure and may not constitute prior art. 
     Underlying the success of low-density parity-check (LDPC) codes and its acceptance into emerging digital video broadcasting (DVB-S2) and wireless standards (802.11, 802.12, 802.20) has been its fast and hardware realizable decoding process. Conventional LDPC decoders are either based on sum-product processes or use suboptimal min-sum (MS) processes. Both decoding processes are soft-decision processes that operate in either probability or log-likelihood ratio (LLR) domains and are amenable to parallel analog and digital hardware implementations. In particular, analog decoders are attractive over their digital counterparts because of their potential to achieve superior energy efficiency at fixed decoding speeds. Popular topology for analog LDPC decoders has been based on trans-linear circuits using either bipolar transistors or MOS transistors biased in weak inversion. Alternate analog topology based on min-sum approximation of sum-product process has been reported and has been mapped onto optical networks for high-speed decoding. 
     The LDPC decoding process can be expressed by equations in terms of a log-MAP formulation. LDPC codes are a class of binary linear block codes whose parity check matrix contains only a few 1&#39;s in comparison to the amount of 0s. An example of a parity check matrix H and its tanner or factor graph are shown in  FIG. 1 . A factor graph consists of variable nodes v k ,k=1, . . . ,N c  which are connected to check nodes c i ,i=1 . . . ,M using edges. The number of edges associated with each node (also known as degree of the node) is represented by d c  for check nodes and as d v  for variable nodes. The parity check matrix for LDPC code is represented by H(d v ,d c ). 
     For detailed treatment and analysis of LDPC decoding based on sum-product process, reference may be had to J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of block and convolutional codes,” IEEE Trans. Inf. Theory, vol. IT-42, no. 3, pp. 429445, March 1996, which is incorporated herein by reference in its entirety for any purpose. More briefly, let V i  denote a set of check nodes connected to the variable node v i  and V i˜j  represent the set of check nodes other than c j  that are connected to variable node vi. Similarly let C j  denote a set of variable nodes connected to the check node c j  and C j˜i  represent the set of variable nodes other than the node v i  connected to c j . 
     In a message passing process, each check node c j  receives messages from its set of neighbors C j  (denoted by L(v i →c j )) and computes messages to be sent to the variable nodes v i εC j  (denoted by L(c j →v i )) according to 
                       L   ⁡     (       c   j     →     v   i       )       =     2   ⁢       tanh     -   1       ⁡     [       ∏       v   k     ∈     C     j   ~   1           ⁢     tanh   ⁡     (       L   (       v   k     →     c   j         2     )         ]           ⁢     
             (   1   )               
where tan h(χ)=(exp(χ)−exp(−χ))/(exp(χ)+exp(−χ)). In subsequent iterations, the variable nodes v i  receive messages from its check nodes c j εV i  and re-computes messages (denoted by L(v i →c j )) that will be sent to the check node c j  according to
 
                     L   ⁡     (       c   j     →     v   i       )       =       L   ⁡     (     v   i     )       +       ∑       c   k     ∈     V     j   ~   1           ⁢       L   ⁡     (       c   k     →     v   i       )       .                 (   2   )               
Messages are propagated back and forth between the variable and check nodes for a pre-determined number of iterations before a decision on the received bits is performed.
 
     In LDPC decoding, the computationally intensive core is equation (1) which requires evaluations of hyperbolic function. Several approximations have been proposed in literature that approximate floating point computation of hyperbolic functions, some of which include the use of finite resolution look tables for digital implementations or a min-sum approximation for analog implementations. Equation (1) can be computed recursively according to the following process:
         1) Initialize L(v i →c j )=−∞.   2) Repeat the following recursion for each element v j εC j˜i          

     
       
         
           
             
               
                 
                   
                     L 
                     ⁡ 
                     
                       ( 
                       
                         
                           v 
                           i 
                         
                         → 
                         
                           c 
                           j 
                         
                       
                       ) 
                     
                   
                   ← 
                   
                     
                       log 
                       ⁡ 
                       
                         [ 
                         
                           
                             1 
                             + 
                             
                               ⅇ 
                               
                                 
                                   L 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       
                                         v 
                                         i 
                                       
                                       → 
                                       
                                         c 
                                         j 
                                       
                                     
                                     ) 
                                   
                                 
                                 + 
                                 
                                   L 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       
                                         c 
                                         j 
                                       
                                       → 
                                       
                                         v 
                                         i 
                                       
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           
                             
                               ⅇ 
                               
                                 L 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       v 
                                       i 
                                     
                                     → 
                                     
                                       c 
                                       j 
                                     
                                   
                                   ) 
                                 
                               
                             
                             + 
                             
                               ⅇ 
                               
                                 L 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       c 
                                       j 
                                     
                                     → 
                                     
                                       v 
                                       i 
                                     
                                   
                                   ) 
                                 
                               
                             
                           
                         
                         ] 
                       
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     The update equation (3) is the fundamental operation for implementing LLR based LDPC decoders. For the sake of brevity, the operation (3) can be compactly represented as x←log(1+e χ+y )−log(e x +e y ) where the arbitrary variables x, y represent the likelihoods. Before we introduce the log-MAP formulation and subsequently margin propagation, we will first decompose variables x and y into differential representations as x=x + −x −  and y=y + −y −  with x + ,x − ,y + ,y − ≧0. Such a decomposition is desirable for analog circuit implementation because a fully differential architecture is robust to common-mode interference. Equation (3) can be represented as the following differential updates:
 
 x   + ←log└ e   x     +     +y     +     +e   x     −     +y     −   ┘  (4)
 
 x   − ←log└ e   x     +     +y     −     +e   x     −     +y     +   ┘  (5)
 
Each of the updates (4), (5) are in the form of a “log-MAP” normalization which are popular in Bayesian network literature.
 
     SUMMARY 
     In accordance with the present invention, a margin decoding communications system includes a circuit receiving a message encoded by an iterative code and processing the message into scores. A normalization module receives the scores and iteratively approximates log-map normalization factors of the scores to generate approximation normalization factors. An element receives the message and the approximation normalization factors and decodes the received message based on the approximation normalization factors. 
     The margin propagation process is advantageous over previous decoding processes for implementing analog decoders. For example, unlike conventional analog decoders which rely on trans-linear operation of transistors, margin propagation (MP) based decoders use only additions, subtractions and threshold operations and can be mapped onto several analog networks (current-mode, charge-mode, or non-electronic circuits). Additionally, compared to trans-linear and min-sum approaches, the computational core of margin propagation can be implemented using universal conservation laws (charge, current, energy, mass etc.) and therefore can be mapped onto several analog architectures. Also, the properties and performance of margin propagation analog LDPC decoders are superior compared with those of alternative decoders based on sum-product and min-sum (MS) process. In particular, margin based LDPC decoders achieve near identical bit error rate performance as their floating point sumproduct counterparts and superior performance as compared to MS decoders. Moreover, when messages in LDPC decoding process are corrupted by additive noise, margin decoders demonstrate superior performance, compared to sum-product and MS based decoders. 
     Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. 
    
    
     
       DRAWINGS 
       The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein: 
         FIG. 1(   a ) is a diagram illustrating a H(2,4) parity check matrix in accordance with the prior art; 
         FIG. 1(   b ) is a diagram illustrating a factor graph corresponding to the matrix of  FIG. 1(   a ) in accordance with the prior art; 
         FIG. 2  is a diagram illustrating the margin normalization procedure in accordance with a presently preferred embodiment of the present invention; 
         FIG. 3  is a graphical representation illustrating comparison of normalization scores computed according to log-MAP normalization and margin normalization in accordance with the presently preferred embodiment of the present invention; 
         FIG. 4(   a )- 4 ( c ) are diagrams illustrating a CCD based implementation of margin normalization in accordance with the presently preferred embodiment of the present invention; 
         FIG. 5  is an electrical circuit diagram illustrating a charge mode implementation of the reverse water-filling process in accordance with the presently preferred embodiment of the present invention; 
         FIG. 6  is an electrical diagram illustrating a current mode implementation of the reverse water-filling process in accordance with another embodiment of the present invention; 
         FIG. 7  is a graphical representation illustrating optimal value of margin parameter γ for LDPC codes of different node degree and size in accordance with the presently preferred embodiment of the present invention; 
         FIG. 8  is a graphical representation illustrating comparison of BER curves for iterative decoders implemented using sum-product, min-sum, and the margin propagation process in accordance with the presently preferred embodiment of the present invention; 
         FIG. 9  is a graphical representation illustrating comparison of the BER curves obtained for an LDPC code with length N c =2048 using log-MAP and margin based decoder in accordance with the presently preferred embodiment of the present invention; and 
         FIG. 10  is a graphical representation illustrating the case when messages in LDPC decoding process are corrupted by additive noise, margin decoders in accordance with the present invention demonstrate superior performance in BER, compared to sum-product and MS based decoders. 
     
    
    
     DETAILED DESCRIPTION 
     The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses. 
     A margin propagation based iterative analog decoding process accomplishes decoding for low density parity check (LDPC) codes. At the core of margin propagation is reverse water-filling process that performs a normalization operation. Given a set of scores f i εR,i=1, . . . ,N, reverse water-filling computes a normalization factor zεR according to the equation 
                       ∑   i   N     ⁢     [       f   i     -   z     ]       +=   γ           (   6   )               
where [.]+=max(.,0) denotes a threshold operation and γ≧0 represents a parameter of the process. The solution to constraint (6) is shown in  FIG. 2 , where the cumulative score beyond the normalization factor z (shown by the shaded area) equals γ. A process to obtain z based on equation (6) requires nested routines involving sorting and binary search which makes its digital implementation complex and cumbersome. However, this can be naturally implemented on analog structures using universal conservation laws (charge, current, mass etc).
 
     The margin normalization factor computed according to equation (6) can be used to approximate factors computed according to a log-MAP normalization. For a set of scores f i ,i=1, . . . ,N, log-MAP normalization factor is computed according to 
     
       
         
           
             
               
                 
                   z 
                   = 
                   
                     log 
                     ⁢ 
                     
                       
                         ∑ 
                         i 
                         N 
                       
                       ⁢ 
                       
                         ⅇ 
                         
                           f 
                           i 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
       FIG. 3  compares margin normalization factor computed according to equation (6) with log-MAP normalization factor computed according to (7), when only one of the likelihood scores is varied.  FIG. 3  shows that margin normalization is a piece-wise linear approximation of log-MAP normalization, differing only by a constant. 
     Margin normalization can be applied to recursions (4) and (5) by approximating the differential log-MAP normalization factors as
 
 L ( v   i   →c   j )←( z   1   −z   2 )  (8)
 
where the normalization factors z 1  and z 2  are computed according to the following reverse water-filling constraints
 
[ x   +   +y   +   −z   1 ] +   +[x   −   +y   −   −z   1 ]+=γ  (9)
 
and
 
[ x   −   +y   +   −z   2 ] +   +[x   +   +y   −   −z   2 ] + =γ  (10)
 
x + ,x − ,y +  and y −  are differential representations of likelihoods as x + =L + (v i →c j ),x − =L − (v i →c j ),y + =L + (c j →v i ), and y − =L − (c j →v i ). The normalization parameter γ is dependent only on size and degree of the nodes in the parity check matrix.
 
     Margin propagation and its underlying reverse water-filling process can be naturally mapped onto several analog computational structures.  FIG. 4(   a )-( c ) illustrates a possible implementation for solving equation (6) on a charged coupled device (CCD). The figure shows a CCD consisting of several potential wells whose depths can be adjusted by application of an external voltage to CCD electrodes. As shown in  FIG. 4(   a ), the initial charge in the potential wells is γ and the initial depths of all the wells are equal. The depths of the wells are then monotonically adjusted adiabatically in parallel such that the charge re-distributes itself to an equilibrium condition. This is shown in  FIG. 4(   b ). The procedure terminates when all the potential well depths have been adjusted to levels proportional to scores f i i=1, . . . ,N. This is shown in  FIG. 4(   c ). At the end of the procedure, the equilibrium condition based on charge conservation amongst potential wells satisfies the reverse water-filling criterion given by (6). The normalization parameter z represents the bulk potential of the CCD and the residual charge in the i th  potential well is proportional to the value [f i −z]+. 
     Even though the above description uses charge as the parameters for analog computation, other physical parameters can also be used. For instance, the potential wells in illustration  4  can be replaced by micro-fluidic chambers in a MEMS device, where the computation can be performed using a noncompressive fluidic medium. Reverse water-filling functionality can also be emulated on CMOS devices using charge mode or current mode circuits. A current mode implementation for margin propagation is illustrated in S. Chakrabartty, “CMOS analog iterative decoders using margin propagation circuits,” Proceedings of International Symposium on Circuits and Systems, Kos, Greece, 2006, which in incorporated by reference herein in its entirety for any purpose. 
     A CMOS charge mode implementation based on emulation of steps shown in  FIG. 4  is shown by the circuit in  FIG. 5 . The circuit includes reset switches that regulate the flow of charge. During the reset phase (R=1), the charge stored on the node z is proportional to the differential parameter γ + −γ − . When the reset switch is off (R=0), charge is distributed along the node z, subject to the constraints imposed by the pMOS transistors. Thus each capacitor will store charge proportional to the value [f i −z]+. At equilibrium, the voltage at node z will settle down to satisfy the reverse water-filling criterion. Once the differential normalization factor z has been calculated, additions in update equations (9) and (10) can be obtained using switched-capacitor techniques. 
     A CMOS current mode implementation is shown in  FIG. 6 . The electrical circuit includes transistors M 1 , M 2 , and M 3  and current mirrors. Both nMOS transistors, and pMOS transistors can be present. Current sources represent γ and f i ,i=1, . . . ,N. Current conservation at node A satisfies the reverse water-filling constraint. The current through transistors M 2  and M 3  are equal to [f i −z]+. The current that flows through transistor M 1  is equal to z. 
     The performance of margin based LDPC decoding algorithm was compared to sum-product and min-sum based LDPC decoding algorithm using computer simulations. In the experiments, a rate 1/2 H(4, 8) LDPC code with a codeword length of N c =256 and N c =1024 was chosen. An additive white Gaussian noise (AWGN) channel with noise variance N 0 /2 was used for simulations. An all reference zero codeword was transmitted using binary phase shift keying (BPSK) modulation. Subsequent to LDPC decoding bit error rate (BER) was plotted against signal-to-noise ratio (SNR), computed according to SNR=10 log 10 (E b /N 0 ) with E b  representing energy per bit. The simulation results for codeword length of 256 were obtained after 10 message passing iterations where as 20 iterations of computations were used for codeword of length 1024. 
     The first set of experiments were used to determine the optimal value of γ for parity check matrix with different node degree that produced the lowest BER. A code length of N c =256 was chosen for the experiments.  FIG. 7  shows BER curves obtained for optimal value of γ for different rate 1/2 parity check matrices with varying node degrees. The plot shows performance degradation with the increase in degree. The figure also shows a monotonic behavior between degree of parity check matrix and the optimal value of γ. This behavior is attributed to an increase in density of 1&#39;s in a LDPC parity matrix (or number of interconnections in the LDPC factor graph), which leads to decrease in the relative margin (distance between scores) and hence decrease in optimal value of γ. 
     The next set of experiments compared the performance of margin based decoders with alternate decoding algorithms.  FIG. 8  compares the BER obtained for the LDPC code with length N c =256 using an sum-product (tan h), min-sum (MS) and margin based decoder. The result shows that the performance of margin based decoder is near identical to log-MAP decoder, where as MS decoder incurs a penalty of 0.3 dB as compared to log-MAP decoder. The performance penalty for MS decoder has already been observed and previously reported.  FIG. 9  compares the BER curves obtained for an LDPC code with length N c =2048 using log-MAP and margin based decoder, which reiterates the previous observation that margin based approximation of log-MAP decoding does not incur any performance penalty in its BER. 
     The advantage of margin based decoding over log-MAP decoding can be demonstrated for the scenario where the communication channel used for propagating the messages between variable and check nodes is non-ideal. Such a scenario arises in an analog iterative decoding hardware where the messages could be corrupted by substrate coupling noise or digital switching noise. For this experiment, two sources of additive noise were considered. A primary noise corrupts the BPSK signal at the receiver and a secondary noise corrupts the messages propagated on communication channel between nodes of the code graph. For the experiment, a rate 1/2 LDPC code of length N c =256 was chosen. The SNR due to primary noise contribution was fixed to 2 dB and the SNR due to secondary noise contribution was varied.  FIG. 10  compares the BER obtained for LDPC decoders implemented with log-MAP, MS and margin propagation. The results indicate a clear advantage of margin based decoder over both log-MAP and MS decoders as it demonstrates reduced degradation in BER for increasing secondary noise levels. It can also be seen from the figure that MS decoder is more robust to log-MAP decoder when the secondary noise level increased beyond a threshold. This is consistent with results that have been reported showing that MS decoders are more robust to message quantization than log-MAP based decoders. 
     More discussion of the teachings presented above can be found in: (a) S. Chakrabartty, “CMOS analog iterative decoders using margin propagation circuits,” Proceedings of International Symposium on Circuits and Systems, Kos, Greece, 2006; and (2) C. Kong and S. Chakrabartty, “Analog iterative LDPC decoders based on margin propagation,” Proc. Analog Decoding Workshop, Torino, Italy, Jun. 5-6, 2006. The contents of these disclosures are incorporated by reference herein in their entirety for any purpose. 
     One skilled in the art will recognize that the preferred embodiment of the present invention detailed above may be modified without departing from the spirit and scope of the present invention. Moreover, the description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention.