IPHD (iterative parallel hybrid decoding) of various MLC (multi-level code) signals
First Claim
1. A decoder that is operable to perform IPHD (Iterative Parallel Hybrid Decoding) on a MLC (Multi-Level Code) LDPC (Low Density Parity Check) signal, the decoder comprising:
- an initialize edge message functional block that is operable to;
receive I, Q (In-phase, Quadrature) values corresponding to a symbol of the MLC LDPC signal; and
initialize a plurality of edge messages with respect to a plurality of bit nodes to a plurality of predetermined values for each level of the MLC LDPC signal;
a plurality of check engines in a parallel arrangement that includes a separate check engine that corresponds to each level of the MLC LDPC signal that is operable to;
for each level of the MLC LDPC signal, the corresponding check engine of the plurality of check engines is operable to receive the initialized plurality of edge messages with respect to a plurality of bit nodes from the initialize edge message functional block; and
for each level of the MLC LDPC signal, the corresponding check engine of the plurality of check engines is operable to perform check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes;
a symbol update engine that is operable to;
for each level of the MLC LDPC signal, receive the updated plurality of edge messages with respect to the plurality of check nodes from the plurality of check engines;
receive the I, Q values corresponding to the symbol of the MLC LDPC signal;
calculate a plurality of symbol metrics using the I, Q values;
calculate a plurality of LLR (Log-Likelihood Ratio) bit metrics using the plurality of symbol metrics;
calculate a plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using the plurality of LLR bit metrics and the updated pluralities of edge messages with respect to the plurality of check nodes corresponding to all levels of the MLC LDPC signal; and
estimate a logarithm of a probability of the symbol of the MLC LDPC signal using the plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using and at least one symbol metric of the plurality of symbol metrics; and
a plurality of bit engines in a parallel arrangement that includes a separate bit engine that corresponds to each level of the MLC LDPC signal that is operable to;
receive the estimate of the logarithm of the probability of the symbol of the MLC LDPC signal;
for each level of the MLC LDPC signal, the corresponding bit engine of the plurality of bit engines is operable to receive the updated plurality of edge messages with respect to the plurality of check nodes; and
for each level of the MLC LDPC signal, the corresponding bit engine of the plurality of bit engines is operable to perform bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes.
7 Assignments
0 Petitions
Accused Products
Abstract
IPHD (Iterative Parallel Hybrid Decoding) of various MLC (Multi-Level Code) signals. Various embodiments are provided by which IPHD may be performed on MLC LDPC (Multi-Level Code Low Density Parity Check) coded modulation signals mapped using a plurality of mappings. This IPHD may also be performed on MLC LDPC coded modulation signals mapped using only a singe mapping as well. In addition, various embodiments are provided by which IPHD may be performed on ML TC (Multi-Level Turbo Code) signals. These principles of IPHD, shown with respect to various embodiments IPHD of MLC LDPC coded modulation signals as well as the IPHD of ML TC signals, may be extended to performing IPHD of other signal types as well. Generally speaking, based on the degree of the MLC signal, a corresponding number of parallel paths operate in cooperation to decode the various levels of the MLC signal.
26 Citations
24 Claims
-
1. A decoder that is operable to perform IPHD (Iterative Parallel Hybrid Decoding) on a MLC (Multi-Level Code) LDPC (Low Density Parity Check) signal, the decoder comprising:
-
an initialize edge message functional block that is operable to; receive I, Q (In-phase, Quadrature) values corresponding to a symbol of the MLC LDPC signal; and initialize a plurality of edge messages with respect to a plurality of bit nodes to a plurality of predetermined values for each level of the MLC LDPC signal; a plurality of check engines in a parallel arrangement that includes a separate check engine that corresponds to each level of the MLC LDPC signal that is operable to; for each level of the MLC LDPC signal, the corresponding check engine of the plurality of check engines is operable to receive the initialized plurality of edge messages with respect to a plurality of bit nodes from the initialize edge message functional block; and for each level of the MLC LDPC signal, the corresponding check engine of the plurality of check engines is operable to perform check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes; a symbol update engine that is operable to; for each level of the MLC LDPC signal, receive the updated plurality of edge messages with respect to the plurality of check nodes from the plurality of check engines; receive the I, Q values corresponding to the symbol of the MLC LDPC signal; calculate a plurality of symbol metrics using the I, Q values; calculate a plurality of LLR (Log-Likelihood Ratio) bit metrics using the plurality of symbol metrics; calculate a plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using the plurality of LLR bit metrics and the updated pluralities of edge messages with respect to the plurality of check nodes corresponding to all levels of the MLC LDPC signal; and estimate a logarithm of a probability of the symbol of the MLC LDPC signal using the plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using and at least one symbol metric of the plurality of symbol metrics; and a plurality of bit engines in a parallel arrangement that includes a separate bit engine that corresponds to each level of the MLC LDPC signal that is operable to; receive the estimate of the logarithm of the probability of the symbol of the MLC LDPC signal; for each level of the MLC LDPC signal, the corresponding bit engine of the plurality of bit engines is operable to receive the updated plurality of edge messages with respect to the plurality of check nodes; and for each level of the MLC LDPC signal, the corresponding bit engine of the plurality of bit engines is operable to perform bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for performing IPHD (Iterative Parallel Hybrid Decoding) on a MLC (Multi-Level Code) LDPC (Low Density Parity Check) signal, the method comprising:
-
receiving I, Q (In-phase, Quadrature) values corresponding to a symbol of the MLC LDPC signal; initializing a plurality of edge messages with respect to a plurality of bit nodes to a plurality of predetermined values for each level of the MLC LDPC signal; for each level of the MLC LDPC signal, receiving the initialized plurality of edge messages with respect to a plurality of bit nodes from the initialize edge message functional block; for each level of the MLC LDPC signal, performing check node processing that involves updating a plurality of edge messages with respect to a plurality of check nodes; for each level of the MLC LDPC signal, receiving the updated plurality of edge messages with respect to the plurality of check nodes; calculating a plurality of symbol metrics using the I, Q values; calculating a plurality of LLR (Log-Likelihood Ratio) bit metrics using the plurality of symbol metrics; calculating a plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using the plurality of LLR bit metrics and the updated pluralities of edge messages with respect to the plurality of check nodes corresponding to all levels of the MLC LDPC signal; estimating a logarithm of a probability of the symbol of the MLC LDPC signal using the plurality of logarithms of probabilities of bits of the symbol of the MLC LDPC signal using and at least one symbol metric of the plurality of symbol metrics; receiving the estimate of the logarithm of the probability of the symbol of the MLC LDPC signal; for each level of the MLC LDPC signal, receiving the updated plurality of edge messages with respect to the plurality of check nodes; and for each level of the MLC LDPC signal, performing bit node processing that involves updating a plurality of edge messages with respect to a plurality of bit nodes. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification