Efficient design to calculate extrinsic information for soft-in-soft-out (SISO) decoder
First Claim
1. A soft-in soft-out functional block (SISO), within a turbo trellis coded modulation (TTCM) decoder, that calculates extrinsic information when iteratively decoding a plurality of symbols of a received data frame, the plurality of symbols being encoded according to a rate control sequence, the SISO comprising:
- an extrinsic calculation functional block that determines a plurality of minimum extrinsic outputs and a plurality of log extrinsic outputs according to the rate control sequence, the extrinsic functional block employs a plurality of trellis metrics, a plurality of forward metric values (alphas) and a plurality of backward metric values (betas) corresponding to a trellis, and a plurality of ‘
a priori’
probability values (apps);
an extrinsic decoding functional block that determines extrinsic information corresponding to input bits of symbols of the plurality of symbols using the plurality of minimum extrinsic outputs and the plurality of log extrinsic outputs, the decoding functional block also decodes the input bits using the extrinsic information corresponding to the input bits and the apps corresponding to the input bits; and
an uncoded bit selection determination functional block that determines an uncoded bit select value that is used to selectively decode an uncoded bit when at least one symbol of the plurality of symbols comprises the uncoded bit; and
wherein the uncoded bit selection determination functional block uses the decoded input bits to select a best estimate of the uncoded bit.
6 Assignments
0 Petitions
Accused Products
Abstract
Efficient design to calculate extrinsic information for Soft-In-Soft-Out (SISO) decoder. A design provides for very efficient performing extrinsic value calculation when performing iterative decoding. The design also accommodates a variety of rate controls each having varying bandwidth efficiencies. By grouping and capitalizing on the commonality of many of the intermediate terms that are employed when calculating the extrinsic values needed to perform iterative decoding, a great saving in terms of hardware may be achieved. In addition, this also provides a great deal of improvement in terms of operational speed and overall decoder system efficiency. The design is also adaptable to assist in performing decoding input symbols having multiple bits; a single design may be employed to accommodate different input symbols that have different numbers of bits. The extrinsic calculation employs min* processing in one embodiment; however, the design may also be performed using max*, min, or max processing.
17 Citations
56 Claims
-
1. A soft-in soft-out functional block (SISO), within a turbo trellis coded modulation (TTCM) decoder, that calculates extrinsic information when iteratively decoding a plurality of symbols of a received data frame, the plurality of symbols being encoded according to a rate control sequence, the SISO comprising:
-
an extrinsic calculation functional block that determines a plurality of minimum extrinsic outputs and a plurality of log extrinsic outputs according to the rate control sequence, the extrinsic functional block employs a plurality of trellis metrics, a plurality of forward metric values (alphas) and a plurality of backward metric values (betas) corresponding to a trellis, and a plurality of ‘
a priori’
probability values (apps);an extrinsic decoding functional block that determines extrinsic information corresponding to input bits of symbols of the plurality of symbols using the plurality of minimum extrinsic outputs and the plurality of log extrinsic outputs, the decoding functional block also decodes the input bits using the extrinsic information corresponding to the input bits and the apps corresponding to the input bits; and an uncoded bit selection determination functional block that determines an uncoded bit select value that is used to selectively decode an uncoded bit when at least one symbol of the plurality of symbols comprises the uncoded bit; and wherein the uncoded bit selection determination functional block uses the decoded input bits to select a best estimate of the uncoded bit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A soft-in soft-out functional block (SISO) that iteratively decodes a plurality of symbols, of a received data frame, that are encoded according to a rate control sequence, the SISO comprising:
-
an extrinsic calculation functional block that calculates a plurality of min* extrinsic outputs for a plurality of input bits of a symbol within the plurality of symbols according to the rate control sequence; an extrinsic decoding functional block that employs the plurality of min* extrinsic outputs and the plurality of apps to generate a plurality of extrinsic values and a decoded plurality of input bits of the symbol within the plurality of symbols; and an uncoded bit selection determination functional block that generates an uncoded bit select value for use in selecting a best estimate of an uncoded bit from among a plurality of possible uncoded bit values when at least one symbol of the plurality of symbols of the received data frame comprises the uncoded bit. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. An extrinsic calculation and decoding method that iteratively decodes a plurality of symbols, comprising:
-
receiving a rate control sequence, a plurality of trellis metrics, a plurality of forward metric values (alphas) and a plurality of backward metric values (betas) corresponding to a trellis, and a plurality of ‘
a priori’
probability values (apps);decoding the plurality of ‘
a priori’
probability values (apps);selectively adding the decoded plurality of ‘
a priori’
probability values (apps) to the plurality of trellis metrics thereby generating a plurality of ap_metrics according to the rate control sequence;performing min* processing on a plurality of combinations of input bits thereby generating a plurality of minimum extrinsic outputs and a plurality of log extrinsic outputs, the min* processing employs the plurality of forward metric values (alphas), the plurality of backward metric values (betas), and the plurality of ap_metrics; and decoding the input bits by selectively summing the plurality of minimum extrinsic outputs and the plurality of log extrinsic outputs thereby generating a plurality of extrinsic outputs. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. An extrinsic calculation and decoding method that iteratively decodes a plurality of symbols, comprising:
-
receiving a rate control sequence, a plurality of trellis metrics, a plurality of forward metric values (alphas) and a plurality of backward metric values (betas) corresponding to a trellis, and a plurality of ‘
a priori’
probability values (apps);decoding the plurality of ‘
a priori’
probability values (apps);selectively adding the decoded plurality of ‘
a priori’
probability values (apps) to the plurality of trellis metrics thereby generating a plurality of ap_metrics according to the rate control sequence;performing min* processing on a plurality of combinations of input bits thereby generating a plurality of minimum extrinsic outputs and a plurality of log extrinsic outputs, the min* processing employs the plurality of forward metric values (alphas), the plurality of backward metric values (betas), and the plurality of ap_metrics; decoding the input bits by selectively summing the plurality of minimum extrinsic outputs and the plurality of log extrinsic outputs thereby generating a plurality of extrinsic outputs; calculating a first sum of values selected from the plurality of extrinsic outputs that is indicative of a possibility of one of the input bits comprising a value of 1; and
.calculating a second sum of values selected from the plurality of extrinsic outputs that is indicative of a possibility of the one of the input bits comprising a value of 0; and assigning the value of the one of the inputs bits to the value 1 when a magnitude of the first sum is smaller than the second sum and alternatively assigning the value of the one of the inputs bits to the value 0 when a magnitude of the first sum is larger than the second sum; and selectively decoding an uncoded bit according to the rate control sequence by performing min* processing, employing one of the decoded input bits, the plurality of forward metric values (alphas), and the plurality of backward metric values (betas), to generate an uncoded bit select value for use in selecting a best estimate of an uncoded bit from among a plurality of possible uncoded bit values when at least one symbol of the plurality of symbols comprises the uncoded bit. - View Dependent Claims (52, 53, 54, 55, 56)
-
Specification