**6.1 Convolution coding**

The default channel coding scheme for WiMAX channels a convolutional encoder; based on binary non-recurs ive convolutional coding (CC). It uses a constituent encoder with a constraint length 7 and a native code rate ½-The convolutional encoder transforms an mbit symbol into an n-bit symbol, where m/n is the code rate {n ~ m}. The transformation is a function of the last k information symbols, where k is the constraint length of the code [5].

The Turbo encoder is used to encode the output of the data randomizer . A padding byte 0x00 at the end of the OFDM mode of each FEC block is used to initialize the encoder to the 0 state . In OFDMA tailbiting is used to initialize the encoder by using 6 bits from the end of the data block appended at the beginning, to be used as flush bits. These appended bits flush out the bits left in the encoder by the previous FEC block. The first 12 parity bits that

are generated by the convolutional encoder which depend on the 6 bits left in the encoder by the previous FEC block are discarded [9].

#### **6.2 Turbo coding**

Turbo codes are high-performance error correction codes used to achieve maximal information transfer over a bandwidth-limited noise prone communication.

WiMAX uses duo-binary turbo codes with a constituent recursive encoder of constraint length of 4. In duo-binary turbo codes, two consecutive bits from the un-coded bit sequence are sent to the encoder simultaneously. The duo-binary convolution encoder has two generating polynomials, 1 +D2+O3 and 1 +D3 for two parity bits with four possible state transitions.

### **6.3 Block turbo and LDPC coding**

These are some of the optional channel coding schemes for WiMAX. The block turbo codes consist of two binary extended Hamming codes that are applied on natural and interleaved information bit sequences, respectively. The LDPC code, is based on a set of one or more fundamental LDPC codes, each of the fundamental codes is a systematic linear block code that can accommodate various code rates and packet sizes. The LDPC code can flexibly support various block sizes for each code rate through the use of an expansion factor [9, 12].

## **6.4HARQ**

Hybrid Automatic Repeat reQuest can be implemented in type I or II, commonly referred to as chase combining and incremental redundancy respectively. In Chase combining the receiver uses the current and all the previous transmissions of data block for puncturing and hopefully the right information is decoded or the HARQ timer runs out. However, with incremental redundancy the receiver uses different version of the redundancy block leading to lower BER and BLER.
