TURBO CODES   (Cont)

 

 

BLOCK DIAGRAM OF A TURBO ENCODER / DECODER :

Encoder :

· Parallel concatenation of constituent code
· Encoders connected through an interleaver
· Conventional block interleaver with N = Number of bits
· Optimization possible, but only small gains expected due to short interleaver

Decoder :

· D1 and D2 arranged serially
· Inner decoder D1 and outer decoder D2
· Decoding by Max-Log-MAP algorithm
· Best compromise between robustness, performance and decoding effort

Limiting Factor of Turbo Code

     This section will be discussing various factors that limit the bit error rate (BER) performance of turbo code. These factors include the frame size, encoder memory, code rate, output puncturing, number of decoding iteration, noise level and type of channel.

Frame size

     Frame size refers to the size of data (the number of bit) to be sent at a time. Larger frame size allows more bits to be shuffled by interleaver. This reduces the correlation between two adjacent bits and hence helps improving the BER performance as the effect of burst error on the message signal has become less significant.


     However, the drawback for larger frame size is the longer decoding time. Since the received signals are highly uncorrelated, more decoding iteration is needed to decode a message correctly. Based on our simulation the decoding time increases significantly with frame size. On the other hand when the turbo code is a block code, one will only get the output after the completion of decoding the whole block. The whole decoding process will become much longer and hence increase the latency. This will become a problem for real-time applications where the timing deadline is really short.

     Besides timing issue, the reliability of transmission will be suffered also. This is because channel in wireless environment is unreliable. If the frame is sent with big size, it is more likely that lots of useful data will be lost along the transmission and user at the receiving end will not be able to recover the original data. Therefore the reliability of transmission and decoding latency are the trade-off to BER performance in Turbo Code in this case.


Encoder Memory Size

     Encoder memory represents the number of bit/state that can be stored in the encoder. Larger memory size allows more complicated coding algorithm to be used so that the encoded message will become more resistive to noise. This helps improving the BER performance in Turbo Code. Based on our simulation BER performance for encoder memory of 5 outperforms encoder with memory of 3.

     However, the decoding process will become even more complicated as the number of decoding state (trellis formed) is exponentially proportional to the memory size. The decoding state and memory size of encoder can be related as follows:

Decoding state = 2(memory size)

     This not only increases the complexity of the algorithm and hardware itself but also increase the decoding latency dramatically, which will once again hurt the real-time performance. To avoid latency problem the encoder memory size should be kept small (3 to 5).

next >>

Home | Error Correcting Codes | Block Codes | Convolution Codes | Turbo Codes | References
________________________________________________________________________________________________
For comments and suggestions
contact the Webmaster