Parallel concatenated code with soft-in-soft-out interactive turbo decoder
First Claim
1. An apparatus, comprising:
- a first constituent encoder that is operable to encode a plurality of information bits thereby generating a first plurality of encoded bits;
an interleaver that is operable to interleave the plurality of information bits thereby generating a plurality of interleaved bits;
a second constituent encoder that is operable to encode the plurality of interleaved bits thereby generating a second plurality of encoded bits;
a selector that is operable alternatively to select encoded bits from the first plurality of encoded bits and the second plurality of encoded bits thereby generating a symbol sequence that includes a first symbol that includes at least some encoded bits of the first plurality of encoded bits and a second symbol that includes at least some of the second plurality of encoded bits; and
a mapper that is operable to;
map the first symbol to a first constellation whose constellation points have a first mapping; and
map the second symbol to a second constellation whose constellation points have a second mapping; and
wherein;
the first constituent encoder encodes using a first code rate during a first time;
the second constituent encoder encodes using the first code rate during the first time;
the first constituent encoder encodes using a second code rate during a second time; and
the second constituent encoder encodes using the second code rate during the second time.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for parallel concatenated (Turbo) encoding and decoding. Turbo encoders receive a sequence of input data tuples and encode them. The input sequence may correspond to a sequence of an original data source, or to an already coded data sequence such as provided by a Reed-Solomon encoder. A turbo encoder generally comprises two or more encoders separated by one or more interleavers. The input data tuples may be interleaved using a modulo scheme in which the interleaving is according to some method (such as block or random interleaving) with the added stipulation that the input tuples may be interleaved only to interleaved positions having the same modulo-N (where N is an integer) as they have in the input data sequence. If all the input tuples are encoded by all encoders then output tuples can be chosen sequentially from the encoders and no tuples will be missed. If the input tuples comprise multiple bits, the bits may be interleaved independently to interleaved positions having the same modulo-N and the same bit position. This may improve the robustness of the code. A first encoder may have no interleaver or all encoders may have interleavers, whether the input tuple bits are interleaved independently or not. Modulo type interleaving also allows decoding in parallel.
3 Citations
20 Claims
-
1. An apparatus, comprising:
-
a first constituent encoder that is operable to encode a plurality of information bits thereby generating a first plurality of encoded bits; an interleaver that is operable to interleave the plurality of information bits thereby generating a plurality of interleaved bits; a second constituent encoder that is operable to encode the plurality of interleaved bits thereby generating a second plurality of encoded bits; a selector that is operable alternatively to select encoded bits from the first plurality of encoded bits and the second plurality of encoded bits thereby generating a symbol sequence that includes a first symbol that includes at least some encoded bits of the first plurality of encoded bits and a second symbol that includes at least some of the second plurality of encoded bits; and a mapper that is operable to; map the first symbol to a first constellation whose constellation points have a first mapping; and map the second symbol to a second constellation whose constellation points have a second mapping; and
wherein;the first constituent encoder encodes using a first code rate during a first time; the second constituent encoder encodes using the first code rate during the first time; the first constituent encoder encodes using a second code rate during a second time; and the second constituent encoder encodes using the second code rate during the second time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus, comprising:
-
a first constituent encoder that is operable to; encode a first plurality of information bits thereby generating a first plurality of encoded bits; and encode a second plurality of information bits thereby generating a second plurality of encoded bits; an interleaver that is operable to; interleave the first plurality of information bits thereby generating a first plurality of interleaved bits; and interleave the second plurality of information bits thereby generating a second plurality of interleaved bits; a second constituent encoder that is operable to; encode the first plurality of interleaved bits thereby generating a third plurality of encoded bits; and encode the second plurality of interleaved bits thereby generating a fourth plurality of encoded bits; a puncturing module that is operable to eliminate at least one encoded bit from at least one of the first plurality of encoded bits, the second plurality of encoded bits, the third plurality of encoded bits, and the fourth plurality of encoded bits; a selector that is operable alternatively to select encoded bits from the first plurality of encoded bits and the second plurality of encoded bits, after having undergone any puncturing by the puncturing module, thereby generating a symbol sequence that includes a first symbol that includes at least some encoded bits of the first plurality of encoded bits, a second symbol that includes at least some of the third plurality of encoded bits, a third symbol that includes at least some of the second plurality of encoded bits, and a fourth symbol that includes at least some of the fourth plurality of encoded bits; and a mapper that is operable to; map the first symbol to a first constellation whose constellation points have a first mapping; map the second symbol to a second constellation whose constellation points have a second mapping; map the third symbol to the first constellation whose constellation points have the first mapping; and map the fourth symbol to a third constellation whose constellation points have a third mapping; and
wherein;at least one symbol within the symbol sequence includes an uncoded bit; the first constituent encoder encodes using a first code rate during a first time; the second constituent encoder encodes using the first code rate during the first time; the first constituent encoder encodes using a second code rate during a second time; and the second constituent encoder encodes using the second code rate during the second time. - View Dependent Claims (15, 16, 17)
-
-
18. A method, comprising:
-
encoding a plurality of information bits using a first constituent encoder thereby generating a first plurality of encoded bits; interleaving the plurality of information bits thereby generating a plurality of interleaved bits; encoding the plurality of interleaved bits using a second constituent encoder thereby generating a second plurality of encoded bits; alternatively selecting encoded bits from the first plurality of encoded bits and the second plurality of encoded bits thereby generating a symbol sequence that includes a first symbol that includes at least some encoded bits of the first plurality of encoded bits and a second symbol that includes at least some of the second plurality of encoded bits; mapping the first symbol to a first constellation whose constellation points have a first mapping mapping the second symbol to a second constellation whose constellation points have a second mapping; operating the first constituent encoder using a first code rate during a first time; operating the second constituent encoder using the first code rate during the first time; operating the first constituent encoder using a second code rate during a second time; and operating the second constituent encoder using the second code rate during the second time. - View Dependent Claims (19, 20)
-
Specification