Claims
- 1. A method for encoding an information signal the method comprising:
nonsystematically encoding the information signal; interleaving the information signal to form an interleaved information signal; and encoding the interleaved information signal.
- 2. A method as in claim 1 wherein encoding the interleaved information signal further comprises nonsystematically encoding the interleaved information signal.
- 3. A method as in claim 2 wherein the encoding further comprises convolutionally encoding.
- 4. A method as in claim 1 where nonsystematically encoding further comprises recursively encoding.
- 5. A method as in claim 1 wherein the interleaving comprises even-odd interleaving.
- 6. A method as in claim 1 wherein the interleaving comprises bit interleaving.
- 7. A method as in claim 5 further comprising:
selecting an odd encoding from the encoded information signal; selecting an even encoding from the encoded interleaved information signal; and concatenating the selected odd encoding to the selected even encoding to form a composite signal.
- 8. A method as in claim 5 further comprising:
selecting an even encoding from the encoded information signal; selecting an odd encoding from the encoded interleaved information signal; and concatenating the selected odd encoding to the selected even encoding to form a composite signal.
- 9. A method as in claim 7 further comprising mapping the composite signal in a signal mapper.
- 10. A method as in claim 8 further comprising mapping the composite signal in a signal mapper.
- 11. A method for encoding an information signal comprising:
encoding the information signal; interleaving the information signal to form an interleaved information signal; and nonsystematically encoding the interleaved information signal.
- 12. A method as in claim 11 wherein encoding the interleaved information signal further comprises nonsystematically encoding the interleaved information signal.
- 13. A method as in claim 12 wherein encoding further comprises convolutionally encoding.
- 14. A method as in claim 11 where nonsystematically encoding further comprises recursively encoding.
- 15. A method as in claim 11 wherein the interleaving comprises even-odd interleaving.
- 16. A method as in claim 11 wherein the interleaving comprises bit interleaving.
- 17. A method as in claim 15 further comprising:
selecting an odd encoding from the encoded information signal; selecting an even encoding from the encoded interleaved information signal; and concatenating the selected odd encoding to the selected even encoding to form a composite signal.
- 18. A method as in claim 14 further comprising:
selecting an even encoding from the encoded information signal; and selecting an odd encoding from the encoded interleaved information signal; and concatenating the selected odd encoding to the selected even encoding to form a composite signal.
- 19. A method for encoding an information signal comprising:
encoding the information signal; modulo-N interleaving the information signal, where N is an integer greater than one; and encoding the modulo interleaved information signal.
- 20. A method as in claim 19 wherein encoding the interleaved information signal further comprises nonsystematically encoding the interleaved information signal.
- 21. A method as in claim 19 wherein encoding the interleaved information signal further comprises nonsystematically encoding the interleaved information signal.
- 22. A method as in claim 19 further comprising:
selecting alternately between the encoded information signal and the interleaved information signal ; and accepting the selected encoding in a mapper.
- 23. A method as in claim 19 wherein the encoding further comprises recursively encoding.
- 24. A method as in claim 19 wherein the encoding further comprises convolutionally encoding.
- 25. A method as in claim 19 wherein the interleaving comprises bit interleaving.
- 26. A method as in claim 19 further comprising:
selecting a first encoding from the encoded information signal; and selecting N−1 encodings from the modulo-N encoded interleaved information signal; and accepting the selected encoding in a mapper.
- 27. A method as in claim 19 wherein the interleaving further comprises random interleaving.
- 28. A method as in claim 19 wherein the interleaving further comprises random interleaving.
- 29. A method as in claim 19 wherein the interleaving further comprises block interleaving.
- 30. A method for parallel concatenated encoding an information signal, the method comprising:
turbo trellis encoding an information signal; and mapping the encoded information signal in a first mapper; and concatenating the encoded signal mapped in the first mapper with another signal mapped in a second mapper.
- 31. A method as in 30 wherein the turbo trellis encoding an information signal comprises nonsystematically encoding the information signal in a constituent encoder.
- 32. A method as in 30 wherein the turbo trellis encoding an information signal comprises recursively encoding the information signal in a constituent encoder.
- 33. A method as in 30 wherein the turbo trellis encoding an information signal comprises convolutionally encoding the information signal in a constituent encoder.
- 34. A method as in 30 wherein the turbo trellis encoding an information signal comprises even-odd interleaving the information signal in an eve n-odd interleaver.
- 35. A method as in 30 wherein the turbo trellis encoding an information signal comprises modulo-N interleaving, where N is greater than 2, the information signal in a modulo-N interleaver.
- 36. A method as in 30 wherein the turbo trellis encoding an information signal comprises ST even/odd interleaving the information signal in an even/odd interleaver.
- 37. A method as in 30 wherein the turbo trellis encoding an information signal comprises ST modulo-N interleaving, where N is greater than 2, the information signal in a modulo-N interleaver.
- 38. A method as in 30 wherein the turbo trellis encoding an information signal comprises interleaving the information signal before providing it to a constituent encoder.
- 39. A method as in claim 38 wherein the interleaving comprises modulo interleaving.
- 40. A method as in claim 38 wherein the interleaving comprises ST interleaving.
- 41. A method as in 30 wherein concatenating the encoded signal mapped in the first mapper with another signal mapped in a second mapper comprises:
puncturing a portion of the encoded information signal; and mapping the punctured portion of the information signal concatenated with a portion of the information signal in a second mapper.
- 42. A method as in 30 wherein concatenating the encoded signal mapped in the first mapper with another signal mapped in a second mapper comprises:
puncturing a portion of the encoded information signal; and mapping a portion of the information signal in a second mapper.
- 43. A method for interleaving a first block of data tuples to create a second block of data tuples, the method comprising:
identifying a modulo sequence designation for each data tuple in the first block; and interleaving the data tuples from the first block into positions in the second block having the same modulo sequence designation.
- 44. The method of claim 43 wherein the bits of each data tuple from the first block are interleaved independently into positions in the second block.
- 45. The method of claim 44 wherein the bits of each data tuple from the first block are interleaved into tuples in the second block having the same position of significance within the tuple.
- 46. A method for encoding data tuples comprising:
ST interleaving the data tuples in a first even-odd interleaver; encoding in a first encoder the data tuples interleaved in the first interleaver; ST interleaving the data tuples in a second even-odd interleaver; encoding in a second encoder the data tuples interleaved in the second interleaver; and selecting encoded tuples alternatively from the first and second encoder.
- 47. A method as in claim 46 wherein the encoding in a first encoder further comprises nonsystematically encoding in a first encoder.
- 48. A method as in claim 46 wherein the encoding in a second encoder further comprises nonsystematically encoding in a second encoder.
- 49. A method for encoding data tuples, the method comprising:
encoding the data tuples in a first encoder; interleaving the data tuples in an even/odd interleaver; encoding the interleaved tuples in a second encoder; and selecting encoded tuples alternatively from the first and second encoder.
- 50. A method as in claim 49 wherein the encoding in a first encoder further comprises nonsystematically encoding in a first encoder.
- 51. A method as in claim 49 wherein the encoding in a second encoder further comprises nonsystematically encoding in a second encoder.
- 52. A method as in claim 49 wherein the interleaving comprises ST interleaving.
- 53. A method as in claim 49 further comprising mapping the alternatively selected tuples in a mapper.
- 54. A method of encoding data symbols the method comprising
dividing a data tuple into a sequential sequence of equally sized tuples of N input bits, the tuples being of size N regardless of the size of the data tuple: and turbo trellis modulated encoding the equally sized tuples.
- 55. The method as in claim 54 wherein turbo trellis modulated encoding the tuples further comprises:
modulo interleaving the tuples; encoding the modulo interleaved tuples; and modulo selecting the encoded tuples.
- 56. A method for producing a code from a sequence of tuples the method comprising:
encoding the sequence of tuples in a first encoding; modulo interleaving the input tuples in at least one interleaving; encoding the modulo interleaved tuples in at least one encoding; selecting the encoded tuples sequentially from each encoding; and mapping the selected tuples in at least one mapper.
- 57. A method as in claim 56 wherein encoding the sequence of tuples in a first encoder comprises systematically encoding the sequence of tuples in a first encoding.
- 58. A method as in claim 56 wherein encoding the sequence of tuples in a first encoder comprises nonsystematically encoding the sequence of tuples in a first encoding.
- 59. A method as in claim 56 wherein encoding the sequence of tuples in a first encoding comprises convolutionally encoding the sequence of tuples in a first encoding.
- 60. A method as in claim 56 wherein encoding the sequence of tuples in a first encoding comprises recursively encoding the sequence of tuples in a first encoding.
- 61. A method as in claim 56 wherein modulo interleaving the input tuples in at least one interleaving comprises ST interleaving.
- 62. A method as in claim 56 wherein encoding the modulo interleaved tuples in at least one encoding comprises systematically encoding the sequence of N tuples.
- 63. A method as in claim 56 wherein encoding the modulo interleaved tuples in at least one encoding comprises nonsystematically encoding.
- 64. A method as in claim 56 wherein encoding the modulo interleaved tuples in at least one encoding comprises convolutionally encoding.
- 65. A method as in claim 56 wherein encoding the modulo interleaved tuples in at least one encoding comprises recursively encoding.
- 66. A method as in claim 56 wherein selecting the encoded tuples sequentially from each encoding comprises puncturing at least one bit from an encoding.
- 67. A method as in claim 66 wherein the puncturing at least one bit from an encoding further comprises substituting at least one uncoded bit for the at least one bit punctured from the encoding.
- 68. A method for creating a parallel concatenated code having a higher rate than the constituent encodings the method comprising:
TTCM encoding information tuples; mapping a first portion of the encoded information tuples in a first mapping; puncturing a second portion of the encoded tuples and substituting uncoded tuples; mapping the uncoded tuples in a second mapping.
- 69. A method for selecting mappings in a TTCM encoder the method comprising:
selecting non-Ungerboeck mappings; computing the average effective distance between code words in each mapping; and selecting the non-Ungerboeck mapping which has approximately the greatest effective distance between code words.
- 70. A method for generating a modulo-N interleaving sequence the method comprising:
selecting a range of addresses from 0 to M for a seed interleaving sequence; creating N interleaving sequences from the seed sequence; creating a first sequence by selecting elements sequentially from the N interleaving sequences; multiplying each element in the first sequence by N to create a second sequence; adding the element position modulo-N to each element in the second sequence to generate the modulo-N interleaving sequence.
- 71. A method as in claim 70 herein an interleaving sequence is created from the seed sequence by using the inverse sequence of the seed sequence.
- 72. A method as in claim 70 wherein an interleaving sequence is created from the seed sequence by using the time reversal of the seed sequence.
- 73. A method as in claim 70 wherein an interleaving sequence is created from the seed sequence by using the inverse of the time reversal of the seed sequence.
- 74. A method for communicating data the method comprising:
modulo-N turbo-encoding the data; communicating the data across a channel; and modulo-N decoding the data.
- 75. A method as in claim 74 wherein modulo-N turbo-encoding the data comprises modulo-N turbo-trellis encoding the data.
- 76. A method as in claim 74 wherein modulo-N turbo-encoding the data comprises:
interleaving the data N+1 times; and encoding the data N+1 times in constituent encoders.
- 77. A method as in claim 74 wherein modulo-N turbo-encoding the data comprises:
interleaving the data N times; and encoding the data N+1 times in constituent encoders.
- 78. A method as in claim 76 herein interleaving comprises ST interleaving.
- 79. A method as in claim 77 wherein interleaving comprises ST interleaving.
- 80. A method as in claim 74 wherein modulo-N decoding the data comprises modulo-N parallel decoding the data.
- 81. A method for creating a higher rate code from a lower rate encoder constituent encoder, the method comprising:
turbo trellis code modulation modulo-N encoding an input sequence of tuples to produce an output sequence of tuples; and puncturing the output sequence and substituting uncoded input sequence tuples for corresponding encoded output sequence tuples.
- 82. A method as in claim 81 wherein the turbo-trellis coded modulation modulo-N encoding comprises ST encoding.
- 83. A method as in claim 81 wherein the turbo-trellis coded modulation modulo-N encoding comprises interleaving the input sequence in N modulo-N interleavers and encoding the resulting N interleaved sequence in N encoders.
- 84. A method for selecting a constellation mapping for a Turbo-Trellis Encoder.
selecting non-Ungerboeck mappings; determining the effective minimum distance of code words in the non-Ungerboeck mappings; and selecting the non-Ungerboeck mapping having code words with the largest effective average distance form each other;
- 85. A method of encoding data tuples the method comprising:
encoding the data tuples with a Reed Soloman; and turbo trellis encoding the tuples encoded with the Reed Soloman code.
- 86. A method as in claim 85 wherein turbo trellis encoding the tuples further comprises turbo trellis modulo-N encoding the tuples.
- 87. A method as in claim 86 wherein turbo trellis encoding the tuples comprises ST interleaving the tuples.
- 88. A method as in claim 86 wherein turbo trellis encoding the tuples comprises ST interleaving the tuples prior to providing them to any constituent encoder.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority from provisional applications “TURBO TRELLIS ENCODER AND DECODER” serial No. 60/232,053 filed on Sep. 12, 2000, and from “PARALLEL CONCATENATED CODE WITH SISO INTERACTIVE TURBO DECODER” Ser. No. 60/232,288 filed on Sep. 29, 2000. Both of which are incorporated by reference herein as though set forth in full.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60232053 |
Sep 2000 |
US |
|
60232288 |
Sep 2000 |
US |