ceives k bits at a time and produces a codeword of n bits, where n > k. While there are 2nd possible sequences of n bits, only 2k codewords are used. The ratio kln 9.12 Channel coding and modulation is the code rate and is denoted by R. Lower code rates corresponding to small values of R can generally correct more channel errors than higher code rates, and therefore are more robust. However, higher code rates are more bandwidth efficient because of lower overhead due to parity bits. Thus, the selection of the code rate is a trade-off between energy efficiency and bandwidth efficiency. For every combination of code rate R, code word length n, baseband modulation scheme, channel type, and receiver noise power, there is a theoretical lower limit on the amount of energy that must be used to convey one bit of information. This limit is called the channel capacity of the communication channel [88]. Since the dawn of information theory, engineers and mathematicians have tried to construct codes that achieve performance close to Shannon capacity [89]. The introduction of Convolutional Turbo Codes (CTC) in 1993 followed by the invention of Block Turbo Codes (BTC) in 1994 closed much of the performance gap with maximum channel capacity. Turbo codes are essentially parallel concate- nated convolutional codes with an internal interleaving mechanism combined with an iterative soft- decision decoding algorithm. In this section, we first review the principles of turbo coding and then we describe the channel coding and modulation schemes that are used in the IEEE 802.16m standard. 9.12.1 Principles of Turbo Coding In information theory, one can ideally approach the Shannon limit as closely as desired using soft decision decoding of a long block code or a convolutional code with a large constraint length. In practice; however, decoding of these codes becomes very computationally intensive. Similar to any conventional error correcting codes, the turbo codes work by imposing a structure on the transmitted bit sequence. If the recei