Block codes ● Hamming, Bose-Chaudhary-Hocquenghem (BCH), Reed- Solomon (RS) codes ● Classical and powerful, useful for wire-line, LoS satellite or deep space communication (AWGN channel) ● They can handle burst errors in wireless channels but not large number of distributed errors. ● Based on hard decision decoding, do not utilize advantages of soft-decision decoding. Block codes ● Limited applications for wireless communications. – Large SNR wireless communication – Outer code in a concatenated coding scheme with convolutional code as inner code. Most errors corrected by convolutional code, remaining errors corrected by block code. Classical Convolutional Encoding Classical Convolutional Encoding Turbo encoder Recursive convolutional code Convolutional encoding ● Classical – Non-recursive (feed forward paths only) – Non-systematic (data bits lose their identity) ● Turbo – Recursive (feedback and feed-forward, both types of paths are used) – Systematic (data bits produced as subset of output bits) Comparison of turbo and classical ● Shannon’s channel capacity theorem implies that the code-words need to be random for attaining the target of low Pe. At the same time, the code- words need to be decodable for practical utility. ● Turbo codes are both, random as well as decodable, compared to classical. Comparison of turbo and classical ● Turbo codes perform better for high code-rate or low SNR channels. ● Both need flushing of data bits from the encoder at the end of transmission. Classical encoders are easy to flush out but not so for Turbo codes. Flushing is NOT done in many Turbo codes. Comparison of turbo and classical ● Turbo codes have error-floor. BER drops very quickly at the beginning but later it levels off and decreases at a much slower rate. Leveling off happens in the range of BER = 10-5 to 10-8 depending on flushing policy, block size and type of interleaver. ● Both perform better with soft-decision decoding. Comparison of turbo and classical ● Classical codes use Viterbi decoding algorithm. Maximum likelihood algorithm for a BSC is the same as minimum Hamming distance. ● Complexity of Viterbi algorithm grows exponentially with the number of states in encoders. Upto 256-state decoders are used in practice. Comparison of turbo and classical ● Turbo codes deploy two decoders, each with 16-state or 8- state trellis. ● It generally deploys MAP algorithm in the iterative procedure. ● Generally, maximum iterations are 8. ● The combined effect is that complexity of Turbo decoding remains manageable, yet achieving more coding gain compared to classical codes. Comparison of turbo and classical ● Turbo codes are clear winner fo AWGN channel but there is no clear winner for wireless channels. ● Both need inter-leavers for managing burst errors that occur frequently in wireless environment.