Claims
- 1. An encoder for turbo coded trellis code modulation comprising an encoder data block for storing incoming data, and at least two parallel recursive systematic convolutional encoders, said recursive systematic convolutional encoders being connected to receive data in parallel from said encoder data block, and wherein each said parallel recursive systematic convolutional encoder comprises a first set of adders, each adder connected to receive a plurality of data streams from said encoder block, a second set of adders connected to the outputs of the respective adders of the first set of adders, and delay units for feeding the outputs of said second set of adders to their inputs in a recursive arrangement.
- 2. An encoder as claimed in claim 1, wherein each said parallel recursive systematic convolutional encoder further comprises a further adder connected to receive the some of said data streams from said encoder block and the outputs of some of said delay units, the output of said further adder providing the output of said recursive systematic convolutional encoders.
- 3. An encoder as claimed in claim 1, wherein said output represents an error check bit.
- 4. An encoder as claimed in claim 1, wherein said data streams represent the least significant bits of said encoded data.
- 5. Decoding apparatus for a turbo coded trellis code modulation signal, comprising a pair of decoders performing forward and backward iteration on an input signal, and interleaver and de-interleaver, said decoders being programmed to first obtain the values γj(Rk, s′, s), whereγj(Rk, s′, s)=log(Pr(dk=j, Sk=s, Rk|Sk−1=s′))=Pjk+Pck(m) normalize the values γj(Rk, s′, s), wherein all the values γj(Rk, s′, s) are normalized with the same normalization factor so that they are located in the center of dynamic range to permit the use of fixed point implementation; perform forward and backward iteration on the values γj(Rk, s′, s); take a number n of soft input bits, where n is an integer greater than 1; determine the probability values for the possible combinations of said n bits; and perform forward and backward iteration on said input bits in parallel to generate the decoded output.
- 6. Decoding apparatus as claimed in claim 5, wherein said decoders calculates 2n probability values and obtains the corresponding error check bit therefrom.
- 7. Decoding apparatus as claimed in claim 6, wherein each decoder comprises a normalization unit and a unit for performing a log-add operation to perform said iteration.
- 8. Decoding apparatus as claimed in claim 7, wherein said unit for performing a log-add operation comprises a look-up table and a maximum operation unit.
- 9. A method of decoding a turbo trellis coded modulation signal comprising:comprising first obtaining the values γj(Rk, s′, s), where γj(Rk, s′, s)=log(Pr(dk=j, Sk=s, Rk|Sk−1=s′))=Pjk+Pck(m) normalizing the values γj(Rk, s′, s), wherein all the values γj(Rk, s′, s) are normalized with the same normalization factor so that they are located in the center of dynamic range to permit the use of fixed point implementation: performing forward and backward iteration on the values γj(Rk, s′, s); taking a number n of soft input bits, where n is an integer greater than 1; determining the probability values for the possible combinations of said n bits; and performing forward and backward iteration on said input bits in parallel to generate the decoded output.
- 10. A method as claimed in claim 9, wherein in the forward iteration, each state k(αk(s)) is determined by 2n previous states.
- 11. A method as claimed in claim 9, wherein n is 3.
- 12. A method as claimed in claim 11, wherein after performing forward and backward iteration, the soft bit outputs are calculated in two steps as follows:(i) first calculate eight Pjk values for j=000, 001, . . . , 111 as Pkj=MAX(s, s′)[γj(Rk, s, s′)αk−1(s′)βk(s)](ii) then derive the soft output as the combination of Pj3k values, such as Po3k(0)=prob(b3k=0)=P000k+P010k+P100k+P110k Po3k(1)=prob(b3k=1)=P001k+P011k+P101k+P111k Po3k+1(0)=prob(b3k=1)=P000k+P001k+P100k+P101k Po3k+1(1)=prob(b3k+1=1)=P010k+P011k+P110k+P111k Po3k+2(0)=prob(b3k+2=0)=P000k+P001k+P010k+P011k Po3k+2(1)=prob(b3k+2=1)=P100k+P101k+P110k+P111k.
- 13. A method as claimed in claim 12, wherein at the last iteration, the soft error check bits arc also outputted as: Pc3k+2(1)=prob(bc3k+2=1)=MAX(s,s′)[γck1(Rk,s,s′)αk-1(s′)βk(s)]Pc3k+2(0)=prob(bc3k+2=0)=MAX(s,s′)[γck0(Rk,s,s′)αk-1(s′)βk(s)]where γck0(Rk, s, s′) and γck1(Rk, s, s′) represent the transferring probability from state s′ to s with error check bit (at time 3k+2) being 0 and 1 respectively.
- 14. A turbo trellis coded modulation signal decoding method, comprising:first obtaining the values γj(Rk, s′, s), where γj(Rk, s′, s)=log(Pr(dk=j, Sk=s, Rk|Sk−1=s′))=Pjk+Pck(m) normalizing the values γj(Rk, s′, s), wherein all the values γj(Rk, s′, s) are normalized with the same normalization factor so that they are located in the center of dynamic range to permit the use of fixed point implementation;performing forward and backward iteration on the values γj(Rk, s′, s); taking a number n of soft input bits, where n is an integer greater than 1; determining the probability values for the possible combinations of said n bits; and performing forward and backward iteration on said input bits in parallel to generate the decoded output.
Parent Case Info
Our co-pending patent application Ser. No. 09/562,322 of even date describes how turbo code can be used to code only the least significant bit (LSB) in the constellation and thereby achieve better performance than currently used trellis-coded modulation, such as Wei code. The achievable data rate is only a couple of dB away from Shannon capacity.
US Referenced Citations (15)
Foreign Referenced Citations (2)
Number |
Date |
Country |
WO 9852362 |
Nov 1998 |
WO |
WO 0022739 |
Apr 2000 |
WO |
Non-Patent Literature Citations (1)
Entry |
Kwon et al., “A Modified Two-Step Sova-Based Turbo Decoder for Low Power and High Performance”, 1999 IEEE Tencon, pp. 297-300. |