Low complexity decoding schemes for single-parity-check (SPC) based concatenated codes
View Patent ↗This invention provides an iterative PCZZ data decoder that includes circuitry for utilizing all extrinsic information during iterative decoding by updating likelihood information for parity bits L Pi , i=1, . . . , M during iterations. The extrinsic information for the parity bits is included in iterations by re-calculating soft values for parity bits L Pi (k) for each iteration k. In one embodiment the parity bit soft values are re-calculated in a plurality of circuit blocks following Max-Log-APP (MLA) decoder blocks, based on soft values for data bits L Di (k) . In another embodiment the parity bit soft values are re-calculated recursively within the plurality of MLA decoders. The decoder operates to control the convergence of the decoder by monitoring a soft value of one parity check symbol, e.g., L (k−1) [p(IM)], where p(IM) represents the last parity check bit in an I×M parity check array. A decoder iteration stopping rule may be implemented by testing a likelihood measure associated with a last parity check symbol in a parity check column. In one case the likelihood measure may be given by L (k−1) [p(IM]>threshold, and in another case the likelihood measure may be given by L (k−1) [p(I)]>threshold. The likelihood measure is given in general by: L (k−1) [p(I)]>threshold, L (k−1) [p(2I)]>threshold, . . . , L (k−1) [p(IM)]>threshold, where the value of the threshold is a function of data block size.
1. An iterative parallel concatenated zigzag data decoder comprising circuitry for utilizing all extrinsic information during iterative decoding by updating likelihood information for parity bits L Pi , i=1, . . . , M during iterations, where M indicates a number of interleavers used during a concatenated coding technique.
2. A decoder as in claim 1 , where extrinsic information for the parity bits is included in iterations by re-calculating soft values for parity bits L Pi (k) for each iteration k.
3. A decoder as in claim 2 , where the parity bit soft values are re-calculated in a plurality of circuit blocks, that follow a plurality of Max-Log-APP decoder blocks, based on soft values for data bits L Di (k) .
4. A decoder as in claim 2 , where the parity bit soft values are re-calculated recursively within a plurality of Max-Log-APP decoder blocks.
5. A decoder as in claim 1 , where said decoder operates to control the convergence of the decoder by monitoring a soft value of one parity check symbol, L (k−1) [p(IM)], where p(IM) represents last parity check bits in an I×M parity check array.
6. A decoder as in claim 5 , where a decoder iteration stopping rule is implemented by testing a likelihood measure associated with a last parity check symbol in a parity check column.
7. A decoder as in claim 6 , where the likelihood measure is given by L (k−1) [p(IM)]>threshold, where the value of the threshold is a function of data block size.
8. A decoder as in claim 6 , where the likelihood measure is given by L (k−1) [p(I)]>threshold, where the value of the threshold is a function of data block size.
9. A decoder as in claim 6 , where the likelihood measure is given in general by: L (k−1) [p(I)]>threshold, L (k−1) [p(2I)]>threshold, . . . , L (k−1) [p(IM)]>threshold, where the value of the threshold is a function of data block size.
10. A method for operating an iterative parallel concatenated zigzag data decoder, comprising: receiving encoded data; and iteratively decoding said encoded data utilizing all extrinsic information; where iteratively decoding comprises updating likelihood information for parity bits L Pi , i=1, . . . , M during iterations, where M indicates a number of interleavers used during a concatenated data encoding technique.
11. A method as in claim 10 , where utilizing said extrinsic information for the parity bits comprises re-calculating soft values for parity bits L Pi (k) for each iteration k.
12. A method as in claim 11 , where the step of re-calculating the parity bit soft values is performed in a plurality of circuit blocks, following a plurality of Max-Log-APP decoder blocks, based on soft values for data bits L DI (k) .
13. A method as in claim 11 , where the step of re-calculating the parity bit soft values is performed recursively within a plurality of Max-Log-APP decoder blocks.
14. A method as in claim 10 , further comprising controlling the convergence of the decoder by monitoring a soft value of one parity check symbol, L (k−1) [p(IM)], where p(IM) represents last parity check bits in an I×M parity check array.
15. A method as in claim 14 , where relevant parity symbols are corrected before iterative decoding, using a majority rule, or during iterative decoding.
16. A method as in claim 14 , further comprising testing a likelihood measure associated with a last parity check symbol in a parity check column for implementing a decoder iteration stopping rule.
17. A method as in claim 16 , where the likelihood measure is given by L (k−1) [p(IM)]>threshold, where the value of the threshold is a function of data block size.
18. A method as in claim 16 , where the likelihood measure is given by L (k−1) [p(I)]>threshold, where the value of the threshold is a function of data block size.
19. A method as in claim 16 , where the likelihood measure is given in general by: L (k−1) [p(I)]>threshold, L (k−1) [p( 2 I)]>threshold, . . . , L (k−1) [p(IM)]>threshold, where the value of the threshold is a function of data block size.
20. A method for operating an iterative parallel concatenated zigzag data decoder, comprising: receiving encoded data; iteratively decoding said encoded data utilizing extrinsic information; and controlling convergence of the decoder by monitoring a soft value of one parity check symbol, L (k−1) [p(IM)], where p(IM) represents last parity check bits in an I×M parity check array.
21. A method as in claim 20 , further comprising testing a likelihood measure associated with a last parity check symbol in a parity check column for implementing a decoder iteration stopping rule.
22. A method as in claim 21 , where the likelihood measure is given by one of L (k−1) [p(IM)]>threshold, or by L (k−1) p(I)]>threshold, where the value of the threshold is a function of data block size.
23. A method as in claim 21 , where the likelihood measure is given in general by: L (k−1) [p(I)]>threshold, L (k−1) [p(2I)]>threshold, . . . , L(k−1)[p(IM)]>threshold, where the value of the threshold is a function of data block size.
24. A method as in claim 20 , where iteratively decoding comprises updating likelihood information for parity bits L Pi , i=1, . . . , M during iterations, where M indicates a number of interleavers used during a concatenated data encoding technique.