turbo encoder proposed by Berrou et al. [10] is shown in Figure 6.19. The input data are sent with two sets of parity bits each calculated separately using identical convolutional encoders. One encoder outputs parity bits based on the received order of the input bits, whereas the other encoder is fed a rearranged sequence of the input bits and therefore outputs a differ- ent sequence of parity bits. The receiver decodes the received bits once using one set of parity bits. The order of the decoded bits is then rearranged and decoding is done once again using the other parity bits. This process is iterated several times, recursively improving error correction as bits with higher reliability are fed back into the decoder. Each iteration improves the performance of turbo codes until the theoretical limits of Shannon's theorem are reached. The performance of the Turbo coding as presented by Berrou et al. [10] is shown in Figure 6.20. Note that the Shannon limit, or the best possible performance, is 0.19 dB for a rate 1/2 code. This limit is approached to within 0.5 dB by a turbo decoder after 18 iterations at BER of 10-4 Turbo codes were not included in the initial releases of the 3G standards as they were per- ceived to have unacceptable processing complexity. Voice communications need to be carried Input bit Output bit 1 Delay Output bit 2 Interleaving Figure 6.19 3G standard turbo (3,1,4) encoder Broadband Telecommunications Technologies and Management 1.0E+00 Shannon limit 1.0E-01 1.0E-02 1.0E-03 No coding Iteration 1.0E-04 1.0E-05 Eb/No (dB) Figure 6.20 BER results for the 3G standard turbo code [10] out in real-time and the processing delay needed for turbo decoding due to the necessary iter- ations was considered impractical. Turbo codes were incorporated in later releases particularly for data communications applications. The fourth generation standards use a rate 1/3 turbo code for all user data channels [11]. Low Density Parity Check Codes Another class of codes used in broadband telecommunications systems a