Parallel concatenated code with soft-in soft-out interactive turbo decoder
First Claim
1. A method of encoding data tuples, the method comprising:
- encoding the data tuples with a Reed-Solomon code;
turbo trellis encoding the data tuples that have been encoded with the Reed-Solomon code; and
mapping a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein the mapping comprises;
mapping the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, to a first constellation whose constellation points have a first corresponding mapping; and
mapping the bit of the turbo trellis encoded data tuple to a second constellation whose constellation points have a second corresponding mapping.
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.
43 Citations
20 Claims
-
1. A method of encoding data tuples, the method comprising:
-
encoding the data tuples with a Reed-Solomon code; turbo trellis encoding the data tuples that have been encoded with the Reed-Solomon code; and mapping a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein the mapping comprises;mapping the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, to a first constellation whose constellation points have a first corresponding mapping; and mapping the bit of the turbo trellis encoded data tuple to a second constellation whose constellation points have a second corresponding mapping. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An encoder that encodes data tuples, the encoder comprising:
-
a Reed-Solomon encoder that encodes the data tuples; a turbo trellis encoder that performs turbo trellis encoding of the data tuples that have been encoded with the Reed-Solomon encoder; and a mapper implemented to map a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein;the mapper is implemented to map the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, to a first constellation whose constellation points have a first corresponding mapping; and the mapper is implemented to map the bit of the turbo trellis encoded data tuple to a second constellation whose constellation points have a second corresponding mapping. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of encoding data tuples, the method comprising:
-
encoding the data tuples with a Reed-Solomon code; turbo trellis encoding the data tuples that have been encoded with the Reed-Solomon code; and mapping a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein;the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, and the bit of the turbo trellis encoded data tuple are included within a single symbol. - View Dependent Claims (14)
-
-
15. A method of encoding data tuples, the method comprising:
-
encoding the data tuples with a Reed-Solomon code; turbo trellis encoding the data tuples that have been encoded with the Reed-Solomon code; and mapping a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein;the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoding, is included within a first symbol; the bit of the turbo trellis encoded data tuple is included within a second symbol; and each of the first symbol and the second symbol undergo mapping. - View Dependent Claims (16)
-
-
17. An encoder that encodes data tuples, the encoder comprising:
-
a Reed-Solomon encoder that encodes the data tuples; a turbo trellis encoder that performs turbo trellis encoding of the data tuples that have been encoded with the Reed-Solomon encoder; and a mapper implemented to map a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein;the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, and the bit of the turbo trellis encoded data tuple are included within a single symbol. - View Dependent Claims (18)
-
-
19. An encoder that encodes data tuples, the encoder comprising:
-
a Reed-Solomon encoder that encodes the data tuples; a turbo trellis encoder that performs turbo trellis encoding of the data tuples that have been encoded with the Reed-Solomon encoder; and a mapper implemented to map a bit of a Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, and a bit of a turbo trellis encoded data tuple to at least one constellation whose constellation points have at least one corresponding mapping; and
wherein;the bit of the Reed-Solomon encoded data tuple, that has bypassed the turbo trellis encoder, is included within a first symbol; the bit of the turbo trellis encoded data tuple is included within a second symbol; and each of the first symbol and the second symbol are mapped in the mapper. - View Dependent Claims (20)
-
Specification