Claims
- 1. A method of generating a self-inverting turbo code interleaver from an existing non-self-inverting turbo code interleaver specification, comprising:
identifying a plurality of original cycles of the non-self-inverting turbo code interleaver specification, said original cycles specifying a mapping of an input bit position to a respective output bit position for raw data bits to be coded, where the last bit identified in each cycle is mapped to an output position corresponding to the first bit in said original cycle; breaking up each original cycle containing more than two bits into new cycles, each new cycle containing one pair of bits, said pair of bits for each successive cycle being taken from successive pairs of bits of said original cycle beginning with the first bit in each cycle, wherein each original cycle having an odd number of bits provides: (i) at least one new cycle containing a pair of bits; and (ii) one new cycle having a single bit; wherein said new cycles define the mapping between the input and output bit positions for said self-inverting turbo code interleaver.
- 2. A method in accordance with claim 1, wherein the self-inverting turbo code interleaver has a normalized dispersion of at least 0.33.
- 3. A method in accordance with claim 2, wherein said self-inverting turbo code interleaver has a normalized s-parameter of at least 33.
- 4. A method in accordance with claim 1, wherein said non-self-inverting interleaver is a block interleaver.
- 5. A method in accordance with claim 4, wherein said block length of said interleaver is at least 1024.
- 6. A method for randomly generating a self-inverting turbo code interleaver, comprising:
(a) setting a minimum target separation value S, such that two input bits less than S apart at the input are at least S apart at the output of the interleaver; (b) mapping a first input bit position to a randomly chosen output bit position j; (c) constraining input position j to map to said first input bit position, j being randomly chosen from all allowed output positions which do not violate the target separation value S; (d) for each of the remaining input bits, in sequence:
computing all remaining allowed output bit positions of each successive input bit that does not violate the target separation value S when an input bit position corresponding to the allowed output bit position is constrained to map to an output position corresponding to the respective successive input bit position; choosing one of the remaining allowed output bit positions of the respective input bit at random; constraining the input bit position corresponding to the chosen output bit to map to an output bit position corresponding to the respective successive input bit position.
- 7. A method in accordance with claim 6, further comprising:
in the event that step (d) results in failure when no remaining output bit positions are allowed for one of said remaining input bits, discarding results of steps (b-d) and repeating steps (b-d) until all of the input bits are mapped to corresponding allowed output values.
- 8. A method in accordance with claim 6, further comprising:
in the event that step (d) results in failure when no remaining output bit positions are allowed for one of said remaining input bits, discarding results of step (d) and repeating step (d) until all of said remaining input bits are mapped to corresponding allowed output values.
- 9. A method in accordance with claim 6, further comprising:
in the event that step (d) results in failure when no remaining output bit positions are allowed for one of said remaining input bits, discarding results of step (d) for a selected number of m previous bits in the sequence prior to said failure and repeating step (d) beginning with said mth previous bit in said sequence.
- 10. A method in accordance with claim 9, wherein m varies with each successive iteration of step (d).
- 11. A method for encoding digital data for transmission;
encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; interleaving a copy of said original data stream using a self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5 to produce an interleaved data stream; encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; modulating the combined data stream for transmission via a communications network.
- 12. A method in accordance with claim 11, wherein said normalized s-parameter is provided by:
- 13. A method in accordance with claim 11, wherein the communications system comprises at least one of a global communication system, an Internet, an extranet, a wide area network, a local area network, or a wireless network.
- 14. A method in accordance with claim 11, wherein the normalized dispersion is at least 0.67 and the normalized s-parameter is at least 50.
- 15. A method for communicating a data stream, comprising:
encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; interleaving a copy of said original data stream using a self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5 to produce an interleaved data stream; encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; modulating the combined data stream; transmitting the modulated combined data stream via a communications network; receiving the modulated combined data stream; demodulating the modulated combined data stream; first pass decoding and de-interleaving of said first and second convolutionally coded data streams by: decoding the first convolutionally coded data stream to produce first reliability estimates for raw data bits of the original data stream;
de-interleaving the first reliability estimates to produce de-interleaved first reliability estimates; decoding the second convolutionally coded data stream using said de-interleaved first reliability estimates to produce second reliability estimates for said raw data bits of said original data stream; and de-interleaving said second reliability estimates to provide de-interleaved second reliability estimates; and feeding said de-interleaved second reliability estimates into a second pass decoding and de-interleaving of said first and second convolutionally coded data streams to recover said original data stream.
- 16. A method in accordance with claim 15, wherein said normalized s-parameter is provided by:
- 17. A method in accordance with claim 15, further comprising:
additional decoding and de-interleaving passes, as necessary, to recover said original data stream.
- 18. Apparatus for encoding digital data for transmission;
a first encoder for encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; a self-inverting turbo code interleaver for interleaving a copy of said original data stream to produce an interleaved data stream, said self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5; a second encoder for encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; a combiner for combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; a modulator for modulating the combined data stream for transmission via a communications network.
- 19. Apparatus in accordance with claim 18, wherein said normalized s-parameter is provided by:
- 20. Apparatus in accordance with claim 18, wherein the communications system comprises at least one of a global communication system, an Internet, an extranet, a wide area network, a local area network, or a wireless network.
- 21. Apparatus in accordance with claim 18, wherein the normalized dispersion is at least 0.67 and the normalized s-parameter is at least 50.
- 22. Apparatus for communicating a data stream, comprising:
a first encoder for encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; a self-inverting turbo code interleaver for interleaving a copy of said original data stream to produce an interleaved data stream, said self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5; a second encoder for encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; a combiner for combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; a modulator for modulating the combined data stream; a transmitter for transmitting the modulated combined data stream via a communications network; a receiver for receiving the modulated combined data stream; a demodulator for demodulating the modulated combined data stream; a first decoder for decoding the first convolutionally coded data stream to produce first reliability estimates for raw data bits of the original data stream; a first de-interleaver for de-interleaving the first reliability estimates to produce de-interleaved first reliability estimates; a second decoder for decoding the second convolutionally coded data stream using said de-interleaved first reliability estimates to produce second reliability estimates for said raw data bits of said original data stream; and a second de-interleaver for de-interleaving said second reliability estimates to provide de-interleaved second reliability estimates; and a feedback loop for feeding said de-interleaved second reliability estimates into said first decoder for second pass decoding and de-interleaving of said first and second convolutionally coded data streams to recover said original data stream.
- 23. Apparatus in accordance with claim 22, wherein said normalized s-parameter is provided by:
- 24. Apparatus in accordance with claim 22, wherein:
additional decoding and de-interleaving passes are performed, as necessary, to recover said original data stream.
- 25. A method for encoding digital data for transmission;
encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; interleaving said first convolutionally coded data stream using a self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5 to produce an interleaved data stream; encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; modulating the combined data stream for transmission via a communications network.
- 26. A method in accordance with claim 25, wherein said normalized s-parameter is provided by:
- 27. A method in accordance with claim 25, wherein the communications system comprises at least one of a global communication system, an Internet, an extranet, a wide area network, a local area network, or a wireless network.
- 28. A method in accordance with claim 25, wherein the normalized dispersion is at least 0.67 and the normalized s-parameter is at least 50.
- 29. A method for communicating a data stream, comprising:
encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; interleaving said convolutionally coded data stream using a self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5 to produce an interleaved data stream; encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; modulating the combined data stream; transmitting the modulated combined data stream via a communications network; receiving the modulated combined data stream; demodulating the modulated combined data stream; first pass decoding and de-interleaving of said first and second convolutionally coded data streams by:
decoding the first convolutionally coded data stream to produce first reliability estimates for raw data bits of the original data stream; de-interleaving the first reliability estimates to produce de-interleaved first reliability estimates; decoding the second convolutionally coded data stream using said de-interleaved first reliability estimates to produce second reliability estimates for said raw data bits of said original data stream; and de-interleaving said second reliability estimates to provide de-interleaved second reliability estimates; and feeding said de-interleaved second reliability estimates into a second pass decoding and de-interleaving of said first and second convolutionally coded data streams to recover said original data stream.
- 30. A method in accordance with claim 29, wherein said normalized s-parameter is provided by:
- 31. A method in accordance with claim 29, further comprising:
additional decoding and de-interleaving passes, as necessary, to recover said original data stream.
- 32. Apparatus for encoding digital data for transmission, a first encoder for encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream;
a self-inverting turbo code interleaver for interleaving said first convolutionally coded data stream to produce an interleaved data stream, said self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5; a second encoder for encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; a combiner for combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; a modulator for modulating the combined data stream for transmission via a communications network.
- 33. Apparatus in accordance with claim 32, wherein said normalized s-parameter is provided by:
- 34. Apparatus in accordance with claim 32, wherein the communications system comprises at least one of a global communication system, an Internet, an extranet, a wide area network, a local area network, or a wireless network.
- 35. Apparatus in accordance with claim 32, wherein the normalized dispersion is at least 0.67 and the normalized s-parameter is at least 50.
- 36. Apparatus for communicating a data stream, comprising:
a firts encoder for encoding an original data stream with a first convolutional code to produce a first convolutionally coded data stream; a self-inverting turbo code interleaver for interleaving said first convolutionally coded data stream to produce an interleaved data stream, said self-inverting turbo code interleaver having at least one of a normalized s-parameter of at least 33 and a normalized dispersion of at least 0.5; a second encoder for encoding the interleaved data stream with a second convolutional code to produce a second convolutionally coded data stream; a combiner for combining the first convolutionally coded data stream and the second convolutionally coded data stream to provide a combined data stream; a modulator for modulating the combined data stream; a transmitter for transmitting the modulated combined data stream via a communications network; a receiver for receiving the modulated combined data stream; a demodulator for demodulating the modulated combined data stream; a first decoder for decoding the first convolutionally coded data stream to produce first reliability estimates for raw data bits of the original data stream; a first de-interleaver for de-interleaving the first reliability estimates to produce de-interleaved first reliability estimates; a second decoder for decoding the second convolutionally coded data stream using said de-interleaved first reliability estimates to produce second reliability estimates for said raw data bits of said original data stream; and a second de-interleaver for de-interleaving said second reliability estimates to provide de-interleaved second reliability estimates; and a feedback loop for feeding said de-interleaved second reliability estimates into said first decoder for second pass decoding and de-interleaving of said first and second convolutionally coded data streams to recover said original data stream.
- 37. Apparatus in accordance with claim 36, wherein said normalized s-parameter is provided by:
- 38. Apparatus in accordance with claim 36, wherein:
additional decoding and de-interleaving passes are performed, as necessary, to recover said original data stream.
Parent Case Info
[0001] This application claims the benefit of U.S. provisional patent application No. 60/382,493 filed on May 21, 2002, which is incorporated herein and made a part hereof by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60382493 |
May 2002 |
US |