Abstract:
An encoder structure for use in a DMT communications system, has a turbo encoder for encoding a portion of a data stream and generating a coded output. A data combiner has a first input receiving a remaining uncoded portion of the data stream and at least one further input receiving the coded output of the turbo encoder. A selector determines the portion of the data stream applied to the turbo encoder based on the data rate, latency requirement, coding gain performance and circuit complexity.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   This invention relates to the field of digital communications, and in particular to a method of implementing turbo trellis code modulation in a flexible manner that can be adapted to transmission conditions. 
   2. Description of Related Art 
   In a digital communications channel it is common practise to include some form of coding scheme to increase the data throughput. Recently, turbo codes have gained in poplularity due to their large coding gains. See Berrou and A. Glavieux, “Near Optimum Error Correcting Coding and Decoding: Turbo-Codes”, IEEE Trans. on Communications, Vol. 44, No. 10, October, 1996. A turbo coder is a combination of two simple encoders. The input is a block of K information bits. The two encoders generate symbols from two simple recursive convolutional codes, each with a small number of states. The information bits are also sent uncoded. A key feature of turbo codes is the interleaver, which permutes the original K information bits before input to the second encoder. The permutation ensures that input sequences for which one encoder produces low-weight codewords generally causes the other encoder to produce high-weight codewords. Thus, even though the constituent codes are individually weak, the combination is powerful. 
   Turbo codes have been applied in DMT (Discrete Multitone) systems, for example, used in xDSL transmission. In xDSL systems, turbo code can be used to replace other types of trellis code to get better Bit-Error Rate(BER) performance. See, Hamid R. Sadjadpour, “Application of Turbo Codes for Discrete Multi-Tone Modulation Schemes”, AT&amp;T Shannon Labs., 1999. However, when the constellation size increases, the coding gain advantage of turbo code starts to diminish. This is because the redundant bits make the constellation size even larger. Turbo-trellis coded modulation, in which only the least significant bit (LSB) in constellation is coded has been introduced to achieve better performance than other trellis-coded modulation. 
   DMT is a type of Multicarrier Modulation. The basic idea behind multicarrier modulation is that multiple channels can be established with digital signal processing techniques using the Fast Fourier Transform (FFT). A DMT modem encodes bits into symbols and sends them through an inverse FFT and then converters the digital signal into analog, to send it through the copper phone wires. The receiving modem reverses the process. Many subchannels are used to transmit data, each having a different carrier and a different QAM (Quadrature amplitude modulation) constellation containing different number of bits per constellation. The multiple of carriers are implemented through the Discrete Fourier Transform. The number of data being transmitted per DMT symbol varies from 16 bits per symbol for ADSL upstream data transmission to a maximum 15000 bits per symbol for VDSL system. Since turbo code works well with a large interleaver size (typically larger than 1000 bits), at low data rates more bits, and possibly all the bits, need to be transmitted transmission to meet the latency requirement of the system. At high date rates, it is too costly to code all the data. Also, the performance will suffer for high constellation if all data are encoded. 
   There is a need for an effective encoder suitable for DMT applications. 
   SUMMARY OF THE INVENTION 
   In accordance with the invention an arbitrary number of bits can be coded based on coding gain performance, latency, data rate, and hardware capability. 
   Accordingly the present invention provides an encoder structure for use in a DMT communications system, comprising a turbo encoder for encoding a portion of a data stream and generating a coded output; a data combiner having a first input receiving a remaining uncoded portion of said data stream and at least one further input receiving said coded output, and an output for producing a combined data stream; and a selector for selecting the portion of said data stream applied to said turbo encoder. 
   The invention offers the ability to change the number of bits that are sent to the turbo encoder on a tone by tone basis. Some tones, depending on transmission conditions, will carry more bits per symbol than others, and the number of bits passed through the turbo encoder can be varied. In a typical example, there might be 750 tones with an average of six bits per tone. Of these two might be passed through the turbo encoder. But this number can be changed in accordance with the invention depending on the particular requirements. 
   The selector is typically implementing as a tone multiplexer. This generates the DMT tones, in the digital domain, allocates groups of bits to each tone, and then depending on the select input directs a subgroup of bits to the turbo encoder and the remainder straight to the data combiner where they are combined with the output of the turbo encoder into a common data stream for inputting to a QAM modulator. 
   Another aspect of the invention provides A decoder structure for a DMT modulated signal containing data which is at least partially turbo encoded, comprising a hard decoder for receiving a portion of an incoming data stream and generating an output bit stream; a soft decoder for receiving a remaining portion of an incoming data stream and generating a soft decoded output; a turbo decoder for decoder the output of said soft decoder; and a selector for selecting the number of bits in said soft decoder. 
   The invention also provides a method of transmitting data over a communications channel using DMT modulation, comprising receiving an input bit stream; allocating groups of bits to respective tones forming part of said DMT modulation scheme; for each tone determining from its allocated group a number of bits to be encoded; selecting said determined number of bits from each group and directing them to a turbo encoder; and combining an output of said turbo encoder with remaining bits of each group into a common bit stream for transmission over said communications channel. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which; 
       FIG. 1  is a block diagram of a turbo encoder; 
       FIG. 2  is a block diagram of a turbo decoder; 
       FIG. 3  is a block diagram of an encoder structure for turbo trellis code modulation in accordance with one embodiment of the invention; and 
       FIG. 4  is a block diagram of a decoder structure in accordance with one embodiment of the invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   As shown in  FIG. 1 , a turbo encoder comprises an interleaver  10 , which receives a data stream at its input, and a pair of recursive systematic convolutional (RSC) coders  12 ,  14 . One of the RSC encoders  12  takes the data stream in sequence as its input. The other RSC encoder  14  takes the interleaved data as its input. 
   As is known to persons skilled in the art, the output of the two RSC encoders  12 ,  14  is punctured to create error check bits. The final encoder outputs bit streams ck 1  and ck 2  include the error check bits inserted into the data stream based on the required encoder rate. These output streams ck 1  and ck 2  are then combined and sent as an output stream ck. 
   The coded and uncoded data is combined and sent to a QAM (Quadrature Amplitude Modulation) encoder for transmission over a communications channel. 
   A decoder is shown in  FIG. 2 . Received input streams P ck1  and P ck2  are fed to respective decoders  20 ,  22 . The output of decoder  20  is fed to an input of decoder  22  through interleaver  24 , and the output of decoder  22  is passed through de-interleaver  26  to produce decoded output stream b d . 
   The encoder and decoder shown in  FIGS. 1 and 2  are conventional and their operation is well understood by persons skilled in the art. 
   In the structure in accordance with one embodiment of the invention as shown in  FIG. 3 , an input data stream is passed through tone mux  30 , controlled by a bit selector  31  which determines how many bits should be encoded. The uncoded bits are passed directly to data combiner  34 , whereas the bits to be encoded are passed to the input of turbo encoder  32 , producing two outputs from the respective RSCs, which are in turn connected to respective inputs of the data combiner  34 . The data combiner  34  combines the inputs into a combined stream that is applied to the input of a Quadrature amplitude modulator  36 . QAM  36  outputs a modulated signal over the transmission channel. 
   The tone mux  30 , which operates in the digital domain, creates a series of tones, typically about 750, and allocates bits on an incoming block of data to the individual tones. Typically, there might be six bits allocated per tone. The tone mux  30 , as its name implies, then directs the bits from each tone either to the turbo encoder  32  or to the data combiner depending on a decision as to how many bits for that tone will be encoded. For example, the bit selector  31  might determine that the two lowest order bits allocated to the tone go to the encoder  32  and the remaining bits go straight to the data combiner  34  for combining with the encoded bits to be subsequently forwarded as a combined bit stream to the QAM  36 . The turbo encoder works in blocks of data and typically accumulates 1000 bits of data for each turbo encoding operation. 
   The bit selection is typically performed in a digital signal processor, which determines the number of bits to be encoded for each tone based on the particular requirements, namely latency requirement, coding gain performance and the circuitry complexity. In accordance with the invention any suitable method can be used for controlling the tone mux  30  to direct the desired number of bits respectively to the data combiner  34  and the turbo encoder  32 . 
   By carefully selecting the combination address, it is possible to put the encoded data at any required QAM constellation location. Also, at the data combiner  34 , any combination logic for the coded data can be applied to further improve the performance. 
   At decoder side, the bit selector  41  will determine which bits of the I and Q components of the received QAM constellation should go to soft decoder  40  and which should go to the hard decoder  42 . The hard decoder  42  determines whether the uncoded data is a 0 or 1 whereas the soft decoder  40  outputs the probability of each encoded data bit being either a 0 or 1. 
   The turbo decoder  44  takes the soft decision from the soft decoder and starts the iteration MAP (Maximum a posterior) decoder algorithm in a manner known per se. 
   The turbo decoder  44  actually includes two decoders as shown in  FIG. 2 , each corresponding to one of the RSC encoders in the turbo encoder. The decoder  20  takes the soft data stream and the corresponding error check bit for encoder  12  and performs a MAP decoder operation. The decoder  22  applies a MAP decoder algorithm on the interleaved soft data stream and the corresponding error check bit for encoder  14 . After certain number of iterations, the hard decision on the encoded data is made to give an uncoded output bit. 
   Tone demux  46  with bit stream control then combines the coded and uncoded data and sends them out as a decoded data stream. The tone demux  46  is the converse of the tone mux  30 . For each tone, it takes the hard decoded bits and the output of the turbo decoder  22  and produces an output data stream corresponding to the input to the tone mux  30 . Bit stream control unit  48  ensures that the correct number of bits from the turbo decoder  44  is combined with the hard decoded bits for each tone. This can be implemented as a digital signal processor, for example. 
   The invention combines a Turbo coder and trellis-coded modulation, wherein the encoder can select any combination of data to be coded or uncoded. The structure is flexible so that any arbitrary number of bits in a QAM signal can be chosen to be coded. 
   The flexible decoder structure permits any bits in the I and Q components to be selected either to be hard decoded or to go through the MAP decoder procedure. The number of bits being coded is determined by data rate, latency requirement, coding gain performance and the circuitry complexity. 
   Any combination logic can be applied to the coded data. 
   Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.