System and Method of Belief Propagation Decoding
20170141796 ยท 2017-05-18
Inventors
Cpc classification
H03M13/1111
ELECTRICITY
H03M13/6577
ELECTRICITY
H03M13/114
ELECTRICITY
H03M13/1174
ELECTRICITY
H03M13/033
ELECTRICITY
H03M13/1154
ELECTRICITY
H03M13/1171
ELECTRICITY
H03M13/01
ELECTRICITY
H03M7/00
ELECTRICITY
International classification
Abstract
A method for decoding a codeword transmitted over a channel demodulates data received over the channel to produce an initial estimate of belief messages for bits of the codeword and decodes the codeword using a belief propagation (BP) decoding that iteratively passes the belief messages between a set of variable nodes representing the bits of the codeword and a set of check nodes representing parity-check constraints on the bits of the codeword until a termination condition is met. The BP decoding selects a look-up table based on a probability of the belief messages and maps, using the look-up table, values of at least two incoming belief messages to values of at least one outgoing belief message that forms an incoming belief message in a subsequent iteration of the BP decoding.
Claims
1. A method for decoding a codeword transmitted over a channel, comprising: demodulating data received over the channel to produce an initial estimate of belief messages for bits of the codeword; and decoding the codeword using a belief propagation (BP) decoding that iteratively passes the belief messages between a set of variable nodes representing the bits of the codeword and a set of check nodes representing parity-check constraints on the bits of the codeword until a termination condition is met, wherein the BP decoding comprises: determining a probability of the belief messages; selecting a look-up table (LUT) from a set of LUTs based on the probability; and mapping, using the LUT, values of at least two incoming belief messages to values of at least one outgoing belief message that forms an incoming belief message in a subsequent iteration of the BF decoding, wherein at least some steps of the method are performed by a processor of a BP decoder.
2. The method of claim 1, wherein values of the belief messages are quantized, and wherein each LUT maps the quantized values of the two incoming belief messages to the quantized values of the outgoing belief messages according to a quantized function of the incoming belief messages modified based on the probability.
3. The method of claim 2, wherein the probability is a probability mass function (PMF) that gives the probability of occurrence of the quantized values of belief messages conditioned on the bits of the codeword.
4. The method of claim 3, further comprising: selecting a set of PMF for the belief messages of the BP decoding; and determining, for each PMF, a LUT that increases mutual information (MI) of the outgoing belief messages with values having a probability governed by the PMF to form the set of LUTs.
5. The method of claim 2, wherein the BP decoding uses at least two different LUTs for at least two different iterations, wherein the two different LUTs uses different quantized function modified with different probabilities that the belief messages represent the bits of the codeword to map identical values of the incoming belief messages to different values of the outgoing belief message.
6. The method of claim 2, wherein the quantized function is a log-likelihood function quantized to a predetermined set of values determined such that mutual information of the belief messages is increased depending on the probability of the belief messages, wherein the predetermined set of values changes between at least two iterations of the BP decoding.
7. The method of claim 1, further comprising: determining a signal-to-noise ratio (SNR) in the channel; and determining the probability as a function of the SNR.
8. The method of claim 7, further comprising: determining an index of the iterations of the BP decoding; and determining the probability as a function of the SNR, the index of the iterations, and a modulation format.
9. The method of claim 1, wherein the BF decoder is a cascading decoder that uses multiple stages for propagating the belief messages, further comprising: selecting at least two different LUTs for at least two different stages of the cascading decoder, wherein the LUT for different stages of the cascading decoder have a predetermined level of quantization.
10. The method of claim 1, further comprising: determining the LUT associated with the probability of the belief messages, such that at least two incoming belief messages representing the bits of the codeword with the probability are mapped by the LUT to at least one outgoing belief message that increases mutual information of the incoming belief messages.
11. The method of claim 10, wherein the initial estimate of belief messages is quantized log-likelihood ratio (LLR) of the bits of the codeword encoded using a non-binary code, further comprising: representing jointly the two incoming belief messages as a generalized node for an LLR vector using a vector quantization; and determining the LUT to increase the mutual information of the LLR vector.
12. The method of claim 11, further comprising: determining low-density parity-check (LDPC) codes for decoding the codeword by embedding short block codes according to the generalized node.
13. The method of claim 1, further comprising: determining a low-density parity-check (LDPC) code for the variable nodes and the check nodes with variable degree distribution; determining the LUTs adapted for the variable degree distribution of the variable nodes and the check nodes; and determining a scheduling of BP decoding such that mutual information of the belief messages after predefined number of iterations is increased.
14. A system for decoding a codeword transmitted over a channel, comprising: a demodulator to demodulate data received over the channel and to produce an initial estimate of belief messages for bits of the codeword; a memory to store a set of look-up tables (LUTs) determined for different probabilities of the belief messages; a belief propagation (BP) decoder to decode the codeword by iteratively passing the belief messages between a set of variable nodes representing the bits of the codeword and a set of check nodes representing parity-check constraints on the bits of the codeword until a termination condition is met, wherein the BP decoder determines a probability of the belief messages to represent the bits of the codeword; selects, based on the probability, a LUT from the set of LUTs stored in the memory; and maps, using the LUT, values of at least two incoming belief messages to values of at least one outgoing belief message that forms an incoming belief message in a subsequent iteration of the BF decoder.
15. The system of claim 14, wherein values of the belief messages are quantized, and wherein each LUT maps the quantized values of the two incoming belief messages to the quantized value of the outgoing belief message according to a quantized function of the incoming belief messages modified based on the probability, and wherein the probability is a probability mass function (PMF) that gives the probability that the quantized value of belief messages occurs conditioned on the bits of the codeword.
16. The system of claim 15, wherein the BP decoder determines the probability as a function of a signal-to-noise ratio (SNR) in the channel.
17. The system of claim 15, wherein the BP decoder determines the probability as a function of a signal-to-noise ratio (SNR) in the channel and an index of the iterations of the BP decoding.
18. The system of claim 14, wherein the BP decoder determines a scheduling to propagate the belief messages, wherein a subset of the variable nodes and a subset of the check nodes propagates belief messages in parallel, wherein the subsets change for different iterations, wherein the scheduling is determined such that mutual information of the propagated belief messages is increased after predefined number of iterations.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028]
[0029] At the transmitter 110, the original data to be sent come from a source 111. The source data include codewords that are first encoded by an FEC encoder 112. The encoded data are modulated by a modulator 113. The modulator uses various digital modulation formats such as quadrature-amplitude modulation (QAM). The modulated data are transmitted into the channel via front-end circuits 114, which can include electro-optic devices for optical communications and radio-frequency devices for radio communications. The front-end can also include signal pre-processing such as band-pass filter, precoding, power loading, pilot insertion, and pre-distortion.
[0030] The channel 120 distorts the transmitted signal. For example, the channel adds additive white Gaussian noise (AWGN), co-channel interference (CCI), deep fading, impulsive noise, inter-symbol interference (ISI), nonlinear interference (NLI) due to Kerr effect, and linear chromatic dispersion (CD).
[0031] The receiver 130 first converts the channel output into electrical received signals via front-end circuits 131, which are typically complementary of the front-end 114 at the transmitter. For example, the front-end includes linear equalization, nonlinear equalization, adaptive filtering, channel estimation, carrier phase recovery, synchronization, and polarization recovery. The received signals are demodulated at a demodulator 132 to produce an initial estimate of belief messages for bits of the transmitted codeword. For example, in one embodiment, the demodulator 132 calculates log-likelihood ratio (LLR) data. The LLR data are used to decode for recovering the source data at an FEC decoder 133. In various embodiments, the decoder 133 is a belief propagation (BP) decoder. The decoded data are finally sent to a data sink 134.
[0032] Some embodiments of the invention are based on recognition that belief messages used by the BP decoder come from a specific probability distribution, which is not uniform and varies over decoding process. Therefore, a single look-up table (LUT) does not represent different varieties of the statistics of the belief messages and thus suboptimal. To that end, some embodiments of the invention use a set of look-up tables (LUTs) 140 determined for different probabilities of the belief messages. Those LUTs are determined and selected adaptively to increase mutual information of belief messages based on their probabilities.
[0033] The transmitted codewords encoded with LDPC codes can be decoded with various implementations of BP decoding methods. For example, BP decoding includes sum-product method (SP), min-sum (MS), offset min-sum (OMS), modified min-sum (MMS), and delta-min (DM) methods. Different methods have different update rules for iterative BP decoding. The LDPC codes can be represented by Tanner graphs for carrying out the iterative decoding process. The Tanner graph includes two sets of nodes, i.e., variable nodes to represent bits of the codeword and check nodes to represent parity-check constraints on the bits of the codeword. An edge of the graph connects a variable node to a check node only if that particular bit represented by the variable node participates in the parity check equation represented by the check node. The number of edges connecting to variable nodes and check nodes is referred to as variable degree and check degree, respectively. The error-correction performance of LDPC codes depends on the distribution of variable and check degrees in general. LDPC codes are specified by a parity-check matrix (PCM), whose non-zero elements come from a finite set of Galois field. In particular for LDPC codes, the PCM is sparse, i.e., the number of nonzero elements is small, and thus the Tanner graph is also sparse, i.e., there is relatively small number of edges. The sparse Tanner graph can lead to computationally efficient BP decoding since the number of belief messages propagated over BP decoding is equal to the total number of edges in the Tanner graph.
[0034]
[0035] In some embodiments, the message updates are done at all VNDs in parallel, and then the updated messages are processed at all CNDs in parallel. This method of update scheduling is called flooding scheduling. In some embodiments, the scheduling is layered, where CNDs are split into multiple layers, and the CND updates are done at once for each layer before VND updates. This layered scheduling can reduce the required number of VNDs and CNDs for parallel implementations, leading to smaller circuit size of the decoder. In addition, the layered scheduling can improve the decoding convergence speed. In one embodiment, the scheduling is adaptively designed so that the mutual information (MI) is maximized at the final iteration according to adaptive LUT.
[0036] The computation of the update rule for BP decoding based on SP can require computation of logarithmic functions. To simplify the computations, some BP decoders use look-up tables (LUT) to pre-compute the quantized results of such logarithmic functions. The LUT implementations are computationally efficient when the number of quantization level is small, whereas the low-level quantization used for determining the LUT can degrade the accuracy of the decoding. Some embodiments of the invention improve both the efficiency and accuracy of the BP decoders by using adaptive LUTs that varies according to the probability of the belief messages propagated in the Tanner graph.
[0037] In one embodiment of the invention, the FEC encoder 112 can also be adaptively changed by information of LUTs 140. For this embodiment, the LDPC decoder 133 is implemented by a flexible Tanner graph to accommodate different LDPC codes. When the LDPC encoder uses different degree PCMs, the Tanner graph can be changed accordingly. An edge interleaver 230 can change the Tanner graph by routing the belief messages between VNDs and CNDs according to the PCM used at the transmitter. The edge interleaver 230 can include reconfigurable selector 235 for adaptively routing the belief messages between intended VNDs and CNDs.
[0038] One embodiment of the invention uses turbo iterative demodulation, where the demodulator 132 receives intermediate belief messages from the FEC decoder 133 so that the LLR data are updated to be more reliable. In this embodiment, the LLR 205 from the demodulator is selected by a turbo loop multiplexer 240, which switch initial LLR data from the demodulator or updated LLR data from the demodulator after turbo iteration.
[0039] In some embodiments of the invention, the FEC decoder uses a finite-precision BP decoding, i.e., all the belief messages are quantized, and the quantized messages are processed by adaptive lookup table (LUT), without using any arithmetic operations. In one embodiment, the number of inputs for LUT is all two ports, and the quantization levels are kept constant. The adaptive LUT changes update rules at VNDs and CNDs depending on one or combination of the iteration count, cascaded stage, signal-to-noise ratio (SNR), Galois field size, modulation formats, degree distribution, quantization level, and scheduling.
[0040] Adaptive LUT-Based BP Decoding Using Probability of Belief Messages
[0041]
[0042] The method demodulates 250 data received over the channel to produce an initial estimate 255 of belief messages for bits of the codeword. For example, the initial estimate can be LLR of the data or any other statistic of the channel 120. Next, the method decodes 260 codeword using a belief propagation (BP). The BP decoding 260 outputs the decoded codeword 265.
[0043] In turn, the BP decoding 260 determines 270 a probability 275 of the belief messages and selects 280 a look-up table (LUT) 285 from a set of LUTs 295 based on the probability 275. The BP decoding uses the LUT 285 to map 290 values of incoming belief messages to values of outgoing belief messages. The outgoing belief message forms an incoming belief message in a subsequent iteration of the BF decoding.
[0044] In some embodiments, the BP decoder is a quantized decoder. For example, values of the belief messages are quantized and each LUT maps the quantized values of the two incoming belief messages to the quantized values of the outgoing belief messages according to a quantized function of the incoming belief messages modified based on the probability. The probability can be, e.g., a probability mass function (PMF) that gives the probability of occurrence of the quantized values of belief messages conditioned on the bits of the codeword.
[0045] In some embodiments, the LUTs are determined to increase mutual information of the belief messages. For example, for the quantized BP decoder, the set of LUTs are determined for a set of different PMFs, such that each LUT maximizes mutual information (MI) of the outgoing belief messages with values having a probability governed by the corresponding PMF.
[0046] For example, the update rules at degree-2 VNDs and degree-3 CNDs for SP decoding are as follows:
where L.sub.0, L.sub.1 and L.sub.2 are outgoing belief message, the first incoming belief message, and the second incoming belief message, respectively. One of the incoming messages for VNDs is the initial LLR data from the demodulator. Higher-degree decoders can be computed by cascading degree-2 VNDs or degree-3 CNDs. Hyperbolic functions, arctan h(x) and tan h(x), involve exponential function, exp(x), and logarithmic function, log(x), as arctanh
and tan h
To avoid those nonlinear functions, some decoders such as MS methods use simplified update rules for CNDs. However, those simplification methods degrade performance significantly and the LUT-based BP decoders approximate the original CND updates by using LUT, which pre-computes the results, instead of involving complicated arithmetic computations.
[0047]
[0048]
[0049] The BP decoder 370 adaptively selects the best update rules from the LUTs 140, for each LUT of cascade stages over different iterations and SNRs. The LUT is designed so that the MI is maximized, rather than approximation error from idealistic adders is minimized.
[0050] The conventional LUT is designed to provide outgoing messages as close to the output of idealistic SP decoding as possible within available precision of quantization level. For example, the belief messages are quantized into 4 levels; 2A, A, 0, and A, i.e., 2-bit fixed-point precision scaled by a factor of A. The scale factor can be selected such that the approximation error is minimized. Supposing A=0.5, the pre-computed CND output for SPA decoding is given as follows:
TABLE-US-00001 SPA CND L.sub.1 = 2A L.sub.1 = A L.sub.1 = 0 L.sub.1 = A L.sub.2 = 2A 0.87A 0.45A 0 0.45A L.sub.2 = A 0.45A 0.24A 0 0.24A L.sub.2 = 0 0 0 0 0 L.sub.2 = A 0.45A 0.24A 0 0.24A
[0051] If the outgoing message is also quantized by the same 4 levels (2A, A, 0, and A), the LUT to approximate the SPA by rounding becomes as follows:
TABLE-US-00002 LUT CND L.sub.1 = 2A L.sub.1 = A L.sub.1 = 0 L.sub.1 = A L.sub.2 = 2A A 0 0 0 L.sub.2 = A 0 0 0 0 L.sub.2 = 0 0 0 0 0 L.sub.2 = A 0 0 0 0
[0052] This LUT has a maximum approximation error of 0.45A, e.g., at L.sub.1=2A and L.sub.2=A. This approximation error can be decreased by optimizing the 4-level quantization points or increasing the quantization level with higher precision. However, increasing the quantization level requires larger circuits for decoder implementation because the size of LUT rapidly increases with respect to the quantization level.
[0053] In an analogous manner, the pre-computed VND output for SPA decoding (which is just an arithmetic addition) and its approximated LUT are respectively as follows:
TABLE-US-00003 SPA VND L.sub.1 = 2A L.sub.1 = A L.sub.1 = 0 L.sub.1 = A L.sub.2 = 2A 4A 3A 2A A L.sub.2 = A 3A 2A A 0 L.sub.2 = 0 2A A 0 A L.sub.2 = A A 0 A 2A
and
TABLE-US-00004 LUT VND L.sub.1 = 2A L.sub.1 = A L.sub.1 = 0 L.sub.1 = A L.sub.2 = 2A 2A 2A 2A A L.sub.2 = A 2A 2A A 0 L.sub.2 = 0 2A A 0 A L.sub.2 = A A 0 A A
[0054] With this LUT, the approximation error is 2A at maximum when incoming messages are L.sub.1=2A and L.sub.2=2A. This error can be decreased by designing the 4-level quantization points or increasing the quantization level for incoming messages and outgoing messages. However, the conventional LUT design method is not always efficient because smallest possible approximation errors do not always result in the best performance of LUT-based BP decoding.
[0055] Some embodiments of the invention are based on recognition that the incoming messages are not uniformly distributed, and that the probability distribution can change across the decoding iterations. For example, if the probability of (L.sub.1, L.sub.2)=(2A, 2A) is much smaller than the probability of (L.sub.1, L.sub.2)=(0, 0) at which there is no approximation error, the overall performance may not be degraded significantly. Accordingly, some embodiments optimize the LUTs by taking the statistics of the belief messages into account so that the quantization level is kept small while the degradation is negligible.
[0056] In some embodiments, the metric for determining LUT is an increase of mutual information (MI) of the outgoing belief messages with values having the probability of incoming belief messages. Increasing the MI results in increases of the decoding performance because the belief messages are updated to increase the reliability over decoding iterations. Let Q.sub.0, Q.sub.1, and Q.sub.2 be the quantization levels of the outgoing belief message L.sub.0, the quantization levels of the first incoming belief message L.sub.1, and the quantization levels of the second incoming belief message L.sub.2, respectively. The Q.sub.i-alphabet quantization points for L.sub.i are represented as (V.sub.i.sup.1, V.sub.i.sup.2, . . . , V.sub.i.sup.Q.sup.
[0057] Likewise, the outgoing message of L.sub.0=V.sub.0.sup.2=0 occurs for three pairs of incoming messages of (L.sub.1, L.sub.2)={(V.sub.1.sup.2, V.sub.2.sup.4), (V.sub.1.sup.3, V.sub.2.sup.3), (V.sub.1.sup.4, V.sub.2.sup.1)}, and the probability becomes P.sub.0.sup.3=P.sub.1.sup.2P.sub.2.sup.4+P.sub.1.sup.3P.sub.2.sup.3+P.sub.1.sup.4P.sub.2.sup.2. The PMF of incoming messages are usually non-uniform, and hence those probabilities can be different. In consequence, the different LUT results in different PMF of outgoing message. For example, the above example of LUT for CND outputs the value of L.sub.0=V.sub.0.sup.3=0 for all pairs of incoming messages except for the pair of (L.sub.1, L.sub.2)={(V.sub.1.sup.1, V.sub.2.sup.1)}. Correspondingly, the PMF of outgoing message becomes (P.sub.0.sup.1, P.sub.0.sup.2, P.sub.0.sup.3, P.sub.0.sup.4)=(0, 0, 1P.sub.1.sup.1P.sub.2.sup.1, P.sub.1.sup.1P.sub.2.sup.1), which is different from another example of LUT for VND. The method of the invention uses the statistics, i.e., the PMFs, to provide efficient and accurate LUT for quantized BP decoding.
[0058] The PMFs of the incoming and outgoing messages depend on the associated bit of the codeword. More specifically, the PMF for the belief message L.sub.i is (P.sub.i.sup.1[b], P.sub.i.sup.2[b], . . . , P.sub.i.sup.Q.sup.
where
[0059] For example, when SNR is high, the LLR data from the demodulator have usually higher amplitudes. For this case, the probability of L.sub.1=2A is much higher than the probability of L.sub.1=0 for the above example of 4-level quantization. In contrast, for low-SNR regimes, the probability of L.sub.1=0 can be much higher than the others. The difference of the probabilities (i.e., PMFs) results in different MI of the outgoing belief messages and the LUT for one specific PMF is no longer optimal for the other PMFs of the incoming belief messages. Accordingly, different embodiments use multiple LUTs, which are adaptively selected based on the probability to deal with this problem.
[0060] For example, in one embodiment, the BP decoding uses at least two different LUTs for at least two different iterations, wherein the two different LUTs uses different quantized function modified with different probabilities that the belief messages represent the bits of the codeword to map identical values of the incoming belief messages to different values of the outgoing belief message. For example, the quantized function approximated by the LUTs is a log-likelihood function quantized to a predetermined set of values determined such that mutual information of the belief messages is increased depending on the probability of the belief messages. In some embodiments, the predetermined set of values changes between at least two iterations of the BP decoding.
[0061] Statistics of Belief Messages and Optimal Quantization
[0062] Some embodiments of the invention determine the LUTs for different probabilities of the belief messages. For example, one embodiment provides a way to design LUT database 140 to minimize the number of quantization levels while the degradation of the overall bit-error rate (BER) performance is negligible. The embodiment uses the LUT design method in favor of maximizing the MI of the output of LUTs rather than just minimizing the quantization errors. The adaptive LUT can work as a floating-point operation even with a limited precision, and the degradation due to dynamic range loss for different SNR can be resolved.
[0063] The statistics of the LLR data from the demodulator is well descried by a Gaussian mixture model (GMM) before quantization. For example of 4-ary QAM modulation format, the LLR distribution is given as follows:
where N(a,b) denotes the Gaussian distribution with a mean of a and a variance of b, and S.sup.2 is an effective noise variance over the communication channel, i.e., the channel SNR is given by its inverse, 1/S.sup.2. The MI of the LLR is given by the ten-Brink's J-function, which is well approximated by a Marquardt-Levenberg method as follows:
where s=2/S.sup.2. This clearly shows the change of MI over different SNRs, 1/S.sup.2.
[0064] Moreover, the MI of the LLR from the demodulator also depends on the modulation formats. For example, the MI of some modulation formats can be well approximated by the following error function:
Ierfc(a.sub.0+a.sub.1s+a.sub.2s.sup.2+a.sub.3exp(a.sub.4+a.sub.5s)),
where erfc(x) is a complementary error function, s=10 log.sub.10(1/S.sup.2) is the SNR in dB, and the parameters a.sub.i vary for different modulation formats, e.g., [0065] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.427, 0.156, 0.0032, 0, 0, 0), for 2-ary QAM, [0066] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.012, 0.137, 0.0031, 0, 0, 0), for 4-ary QAM, [0067] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.549, 0.095, 0.0019, 0, 0, 0), for 16-ary QAM, and [0068] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.426, 0.105, 0.0034, 0, 0, 0), for 8-ary QAM.
[0069] The above MI of the LLR data can be degraded by quantizing into finite-precision alphabet at the demodulator. The method of the invention provides the best quantization points for the LLR data to maximize the MI of the quantized LLR data. For example, when the quantization points are uniformly located as
with a threshold factor of A.sub.i, the optimal threshold is derived by the following expression:
A.sub.i=exp(c.sub.0+C.sub.as),
where parameters c.sub.0 and c.sub.1 depend on the number of quantization points, e.g., as follows: [0070] (c.sub.0, c.sub.1)=(0.565, 0.119), for 3-level quantization, [0071] (c.sub.0, c.sub.1)=(0.096, 0.119), for 4-level quantization, and [0072] (c.sub.0, c.sub.1)=(0.667, 0.120), for 8-level quantization.
[0073] Optimal quantization points to maximize the MI for different quantization level and other conditions can be found in a similar way with least-squares fitting. Using the optimized threshold, the MI of quantized LLR data is maximized, and the corresponding MI for 2-ary QAM is approximated by the error function with parameters: [0074] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.556, 0.0743, 0.00057, 0.441, 0.0115, 0.128), for 3-level quantization, [0075] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.508, 0.0764, 0.00061, 0.447, 0.0433, 0.128), for 4-level quantization, and [0076] (a.sub.0, a.sub.1, a.sub.2, a.sub.3, a.sub.4, a.sub.5)=(0.452, 0.0789, 0.00065, 0.388, 0.0595, 0.129), for 8-level quantization, respectively.
[0077] Now, different SNRs and modulation formats are related with the MI of quantized LLR data, which uses the best quantization points in one-to-one correspondence. In other words, given the MI value of the quantized LLR data, the PMF can be automatically derived by assuming that the non-quantized LLR data follows the above-mentioned GMM. More specifically, the PMF of quantized LLR data having the MI of I is calculated by integral of Gaussian distribution as follows:
P.sub.i.sup.j=.sub.{|L.sub.
[0078] Given the calculated PMF of incoming belief messages, one embodiment determines the LUT that results in increase of MI of outgoing belief message.
[0079] To that end, one embodiment determines the probability as a function of SNR. Additionally or alternatively, one embodiment determines the probability as a function of the SNR, the index of the iterations, the modulation format, and the quantization level.
[0080]
[0081] Global Optimization of LUT Adaptation and LDPC Code Designing
[0082] LUT adaptation is globally performed so that the final MI of belief messages is maximized after the finite-number of decoding iterations. The update behavior across decoding iterations can be analyzed by an extrinsic information transfer (EXIT) chart.
[0083]
[0084] The belief messages from VND pass to CND, and the MI is improved. The evolution of the MI update can be analyzed by EXIT trajectory 640, which shows the final MI after 2-iteration decoding with the given CND curve 630, which can be adjusted by degree distribution design. In this embodiment, the code adaptation with different degree distribution provides further performance improvement according to LUT adaptation. This embodiment is based on a recognition that an optimized LDPC code for idealistic BP decoding is no longer optimal for finite-precision LUT-based decoding. In addition to optimizing the LDPC codes depending the adaptive LUT decoding, the method of the invention provides the way to select the best LUT for finite-iteration decoding by using this EXIT trajectory analysis. For example, the LUT which maximizes the outgoing MI at the first iteration is not always globally optimal after multiple iterations. The method globally selects the LUT which maximizes the final MI rather than intermediate MI of outgoing belief messages by finding best pairs of LUTs in EXIT trajectory.
[0085] In order to further improve the efficiency and accuracy within limited quantization levels, one embodiment uses a generalized node employing a vector quantization to represent multiple belief messages jointly. This embodiment is effective for generalized LDPC convolutional codes, which embed short block codes such as extended Golay codes as a high-dimensional modulation. One embodiment uses the generalized node to decode non-binary LDPC codes, in which LLR vector is jointly quantized by a vector quantization to maximize the MI. More specifically, the distribution of LLR vector for non-binary LDPC codes can be well approximated by a correlated GMM, whose covariance matrix has the maximum eigen-vector of all-ones vector, and the maximum eigen-value is M-times larger than other eigen-values. Using this statistical knowledge, one embodiment uses the best vector quantization to maximize the MI of the outgoing belief messages for non-binary LDPC codes. This is efficient because all quantized belief messages are now scalar values not vector values thanks to the vector quantization. Therefore, the computational complexity of non-binary LDPC decoding is significantly reduced by adaptive LUT decoding.
[0086] Accordingly, in one embodiment, the initial estimate of belief messages is quantized log-likelihood ratio (LLR) of the bits of the codeword encoded using a non-binary code. The embodiment represents jointly the two incoming belief messages as a generalized node for an LLR vector using a vector quantization and determines the LUT to increase the mutual information of the LLR vector. Additionally the embodiment can also determine LDPC codes for decoding the codeword by embedding short block codes according to the generalized node.
[0087] Decoder Scheduling
[0088] In one embodiment, the LUT updates allow any scheduling such as flooding, shuffled, and layered scheduling. One embodiment takes the scheduling into account to modify the EXIT trajectory analysis for LUT design. For example, when the 2-layer scheduling is employed, the PCM can be divided by 3 subsets of variable nodes and 2 layers of check nodes as shown in
[0089]
[0090] The above-mentioned EXIT trajectory analysis can be generalized for any scheduling in a straightforward manner by using a protograph and protograph-based EXIT chart. For example, when 3-layer scheduling is employed, the protograph is represented by
[0091] The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments can be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors can be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor can be implemented using circuitry in any suitable format.
[0092] Also, the various methods or processes outlined herein can be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Also, the embodiments of the invention can be embodied as a method, of which an example has been provided. The acts performed as part of the method can be ordered in any suitable way. Accordingly, embodiments can be constructed in which acts are performed in an order different than illustrated, which can include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments.
[0093] Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.