serial and parallel turbo codes

144

description

serial and parallel turbo codes

Transcript of serial and parallel turbo codes

Page 1: serial and parallel turbo codes

Serial and Parallel Con atenatedTurbo CodesMark Sum Chuen HoB.Eng(Hons)Institute for Tele ommuni ations Resear hS hool of Ele tri al and Information EngineeringThe University of South Australia

Submitted for the degree ofPhD Eng Tele ommuni ation (Resear h)November 2002

Page 2: serial and parallel turbo codes

2

Page 3: serial and parallel turbo codes

Contents1 Introdu tion 11.1 Summary of ontributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Fundamentals of Turbo odes 52.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 System stru ture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1 PCCC en oder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.2 SCCC en oder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Con ept of iterative de oding . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Component de oder for PCCCs and SCCCs . . . . . . . . . . . . . . . . . 102.4.1 MAP de oding algorithm . . . . . . . . . . . . . . . . . . . . . . . . 112.4.2 Log-MAP de oding algorithm . . . . . . . . . . . . . . . . . . . . . 152.4.3 Max-log-MAP de oding algorithm . . . . . . . . . . . . . . . . . . . 172.4.4 SOVA de oder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5 Iterative de oding of PCCCs and SCCCs . . . . . . . . . . . . . . . . . . . 192.5.1 PCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5.2 SCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.3 Comparison of PCCCs and SCCCs . . . . . . . . . . . . . . . . . . 232.6 Turbo odes with asymmetri omplexity . . . . . . . . . . . . . . . . . . . 242.6.1 SCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.6.2 PCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.7 Con lusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Constituent odes for PCCC de oders. 293.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Generating the distan e spe trum . . . . . . . . . . . . . . . . . . . . . . . 293.2.1 Constituent PCCC en oder . . . . . . . . . . . . . . . . . . . . . . 303.2.2 State diagram of onvolutional odes . . . . . . . . . . . . . . . . . 323.2.3 State Transition Matrix . . . . . . . . . . . . . . . . . . . . . . . . 333.2.4 Unidire tional Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Average upper bound based on uniform interleaver . . . . . . . . . . . . . 383.4 Trun ated union bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.5 Minimising number of nearest neighbours . . . . . . . . . . . . . . . . . . . 41i

Page 4: serial and parallel turbo codes

ii CONTENTS3.6 E�e tive free distan e and minimum distan e . . . . . . . . . . . . . . . . 433.7 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.7.1 Trun ated union bounds of PCCC . . . . . . . . . . . . . . . . . . . 523.7.2 Maximum likelihood de oding and iterative de oding . . . . . . . . 523.8 Con lusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Interleaver Design 544.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2 Interleaver Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.1 S distan e Property . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2.2 Mod-k Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.2.3 Symmetri Property . . . . . . . . . . . . . . . . . . . . . . . . . . 654.3 Interleaver Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.3.1 Blo k Interleaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.3.2 Cir ular Interleaver . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.3.3 Blo k heli al Interleaver . . . . . . . . . . . . . . . . . . . . . . . . 694.3.4 Pseudo-random Interleaver . . . . . . . . . . . . . . . . . . . . . . . 714.3.5 Symmetri Interleavers . . . . . . . . . . . . . . . . . . . . . . . . . 724.4 Symmetri Mod-k interleaver . . . . . . . . . . . . . . . . . . . . . . . . . 814.5 Interleaver Size and Performan e . . . . . . . . . . . . . . . . . . . . . . . 874.6 Symmetri Interleavers and SCCCs . . . . . . . . . . . . . . . . . . . . . . 914.7 Con lusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 Varian e estimation for PCCCs and SCCCs 955.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.2 Varian e sensitivity of PCCCs and SCCCs . . . . . . . . . . . . . . . . . . 955.2.1 Varian e sensitivity of onstituent odes . . . . . . . . . . . . . . . 965.2.2 Varian e mismat h of PCCCs . . . . . . . . . . . . . . . . . . . . . 965.2.3 Varian e mismat h of SCCC . . . . . . . . . . . . . . . . . . . . . . 985.3 Varian e estimation methods. . . . . . . . . . . . . . . . . . . . . . . . . . 1015.3.1 Summer varian e estimator . . . . . . . . . . . . . . . . . . . . . . 1015.3.2 Reed varian e estimator . . . . . . . . . . . . . . . . . . . . . . . . 1035.3.3 New Reed varian e estimator . . . . . . . . . . . . . . . . . . . . . 1045.4 Varian e estimator performan e . . . . . . . . . . . . . . . . . . . . . . . . 1055.4.1 PCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.4.2 SCCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.5 Mean Squared Error Performan e . . . . . . . . . . . . . . . . . . . . . . . 1075.6 Con lusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076 Con lusion 1106.1 Summary of results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.2 Areas for Future Resear h . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Bibliography 114

Page 5: serial and parallel turbo codes

CONTENTS iiiA Performan e bounds of PCCC 119B Interleaver generator ow diagram 123C Matlab ode for Chapter 4 126D Matlab ode for Chapter 5 127

Page 6: serial and parallel turbo codes

List of Figures1.1 Stru ture of a digital ommuni ation system. . . . . . . . . . . . . . . . . . 12.1 Stru ture of a digital ommuni ation system. . . . . . . . . . . . . . . . . . 62.2 PCCC en oder stru ture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Examples of a four state RSC en oder, (a) rate 1/2 and (b) rate 2/3. . . . 82.4 SCCC en oder stru ture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5 Stru ture of an iterative de oder. . . . . . . . . . . . . . . . . . . . . . . . 92.6 The al ulation of �mk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7 The al ulation of �mk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.8 Comparison of PCCC BER performan e for di�erent lookup table sizes. . . 172.9 Comparison of SCCC BER performan e for di�erent lookup table sizes. . . 182.10 BER performan e of a four state rate 1/3 PCCC, N=10,000. . . . . . . . . 202.11 SCCC de oder stru ture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.12 BER performan e of a four state rate 1/3 SCCC, N=10,000. . . . . . . . . 242.13 BER performan e omparison of four state rate 1/3 PCCC and SCCC,N=10,000. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.14 PCCC BER performan e with asymmetri omplexity CC, mixture of fourstate and eight state odes, 192 bit interleaver, six iterations. . . . . . . . . 272.15 PCCC BER performan e with asymmetri omplexity CC, mixture of twostate and four state odes, 192 bit interleaver, six iterations. . . . . . . . . 272.16 BER performan e of rate 1/2 RSC with memory lengths 1,2,3 and 4. . . . 283.1 En oder stru ture for a (2,1,2) RSC ode with generator polynomials f7,5g8. 333.2 Trellis stru ture and state diagram for a (2,1,2) RSC en oder with generatorpolynomials f7,5g8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3 Modi�ed state diagram of Figure 3.2. . . . . . . . . . . . . . . . . . . . . . 343.4 Trellis se tions of unidire tional algorithm. . . . . . . . . . . . . . . . . . . 373.5 Trun ated union bound and BER performan e of rate 1/2 PCCC usingeight state rate 2/3 onstituent en oders, N=400 and 6 de oder iterations. 433.6 Trun ated union bound and BER performan e of rate 1/2 PCCC usingeight state rate 2/3 onstituent en oders, N=4096 and 6 de oder iterations. 443.7 Trun ated union bound and BER performan e between di�erent riteria ofmaximisation for N=400 and 6 de oder iterations. . . . . . . . . . . . . . . 45iv

Page 7: serial and parallel turbo codes

LIST OF FIGURES v3.8 Trun ated union bound and BER performan e between di�erent riteria ofmaximisation for N=4096 and 6 de oder iterations. . . . . . . . . . . . . . 453.9 En oder stru ture for rate 1/n RSC onstituent ode (eight state rate 1/3example). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.10 En oder stru ture for rate k/(k+1) systemati feedba k onvolutional ode(eight state rate 2/3 example). . . . . . . . . . . . . . . . . . . . . . . . . . 463.11 BER performan e omparison between repetition and non-repetition on-stituent odes for four state rate 1/5 PCCC, N=512. . . . . . . . . . . . . 513.12 BER performan e omparison between repetition and non-repetition on-stituent ode for four state rate 1/5 PCCC, N=1024. . . . . . . . . . . . . 513.13 Trun ated union bound for rate 1/3 PCCC with 1024 bit interleaver, with2 state to 128 state rate 1/2 onstituent odes. . . . . . . . . . . . . . . . . 524.1 Input/output position plot of a 192 bit pseudo-random interleaver. . . . . . 564.2 Input/output position plot of a 192 bit S-random interleaver. . . . . . . . . 574.3 PCCC performan e with random interleaver and in reasing S onstraint,192 bit interleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4 PCCC performan e with random interleaver and in reasing S onstraint,512 bit interleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.5 PCCC performan e with random interleaver and in reasing S onstraint,2048 bit interleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.6 PCCC performan e with random interleaver and in reasing S onstraint,4096 bit interleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.7 4 state rate 1/3 SCCC simulation with 192 bit interleaver of di�erent Svalues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.8 4 state rate 1/3 SCCC simulation with 1024 bit interleaver of di�erent Svalues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.9 4 state rate 1/3 SCCC simulation with 4096 bit interleaver of di�erent Svalues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.10 Amount of prote tion on information bits between random interleaver andmod-2 interleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.11 Input/output position plot of a 192 bit mod-2 S-random interleaver. . . . . 634.12 Example of a nine element pure mod-3 interleaver. . . . . . . . . . . . . . . 644.13 4 state rate 1/2 turbo ode with di�erent 256 bit mod-2 interleavers, eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.14 4 state rate 1/2 turbo ode with di�erent 1024 bit mod-2 interleavers, eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.15 4 state rate 1/2 turbo ode with di�erent 4096 bit mod-2 interleavers, eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.16 4 state rate 3/5 turbo ode with di�erent 2049 bit mod-3 interleavers, eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.17 Interleave and deinterleave pattern for symmetri and random interleaver. . 684.18 Input/output position plot of a 192 bit blo k interleaver. . . . . . . . . . . 70

Page 8: serial and parallel turbo codes

vi LIST OF FIGURES4.19 Input/output position plot of a 192 bit ir ular shift interleaver, a = 17. . . 704.20 A 3 � 4 blo k heli al interleaver with interleaving from (a) the upper lefthand orner and (b) the lower left hand orner. . . . . . . . . . . . . . . . 714.21 Input/output position plot of a 208 bit blo k heli al interleaver. . . . . . . 724.22 Position plot of a 4� 3 blo k heli al interleaver. . . . . . . . . . . . . . . . 744.23 Input/output position plot of a blo k heli al symmetri interleaver. . . . . 764.24 Input/ouput position plot of a 192 bit ir ular symmetri interleaver witha = 31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.25 BER performan e of 255 bit ir ular interleaver with di�erent values of a. . 784.26 BER performan e of 1023 bit ir ular interleaver with di�erent values of a. 784.27 BER performan e of 4095 bit ir ular interleaver with di�erent values of a. 794.28 Input/output position plot of a 192 bit S-symmetri interleaver. . . . . . . 804.29 Interleaver performan e omparison for four state rate 1/3 turbo ode,N=1024, six iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.30 4 state rate 1/3 turbo ode with di�erent 400 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.31 4 state rate 1/3 turbo ode with di�erent 2048 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.32 4 state rate 1/3 turbo ode with di�erent 4096 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.33 Comparison between di�erent types of symmetri interleaver with six iter-ations, N=256. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.34 Comparison between di�erent types of symmetri interleaver with eightiterations, N=512. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.35 Comparison between di�erent types of symmetri interleaver with eightiterations, N=1024. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.36 Comparison between di�erent types of symmetri interleaver with eightiterations, N=4096. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.37 4 state rate 1/2 turbo ode with di�erent 1024 bit interleaver designs andsix iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.38 4 state rate 3/5 turbo ode with di�erent 256 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.39 4 state rate 3/5 turbo ode with di�erent 1024 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.40 4 state rate 3/5 turbo ode with di�erent 4096 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.41 4 state rate 4/6 turbo ode with di�erent 400 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.42 4 state rate 4/6 turbo ode with di�erent 2048 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.43 4 state rate 4/6 turbo ode with di�erent 4086 bit interleavers and eightiterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.44 4 state rate 1/3 turbo ode with di�erent interleaver sizes and eight iterations. 90

Page 9: serial and parallel turbo codes

LIST OF FIGURES vii4.45 4 state rate 1/3 SCCC simulation with di�erent types of 192 bit interleaver. 914.46 4 state rate 1/3 SCCC simulation with di�erent types of 256 bit interleaver. 924.47 4 state rate 1/3 SCCC simulation with di�erent types of 512 bit interleaver. 924.48 4 state rate 1/3 SCCC simulation with di�erent types of 1024 bit interleaver. 934.49 4 state rate 1/3 SCCC simulation with di�erent types of 4096 bit interleaver. 935.1 BER performan e of four state rate 1/2 log-MAP de oder versus de oderEb=N0 o�set, N=1024. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.2 BER performan e of four state rate 2/3 log-MAP de oder versus de oderEb=N0 o�set, N=1024. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.3 BER performan e of four state rate 1/3 PCCC versus de oder Eb=N0 o�set,N=1024, six iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.4 BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=256, eight iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995.5 BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=1024, eight iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.6 BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=2048, six iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.7 BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=4096, eight iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.8 f(x) versus Channel Varian e. . . . . . . . . . . . . . . . . . . . . . . . . . 1025.9 Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=384 and six iterations. . . . . . . . . . . . . . . . . . . 1065.10 Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=4092 and six iterations. . . . . . . . . . . . . . . . . . 1065.11 Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=8192 and six iterations. . . . . . . . . . . . . . . . . . 1075.12 Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=384 and six iterations. . . . . . . . . . . . . . . . . . . 1085.13 Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=2048 and six iterations. . . . . . . . . . . . . . . . . . . 1085.14 Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=8092 and six iterations. . . . . . . . . . . . . . . . . . . 109A.1 Trun ated union bound for rate 1/5 PCCC with 1024 bits interleaver, with2 state to 64 state rate 1/3 onstituent odes. . . . . . . . . . . . . . . . . 119A.2 Trun ated union bound for rate 1/2 PCCC with 1024 bits interleaver, with2 state to 64 state rate 2/3 onstituent odes. . . . . . . . . . . . . . . . . 120A.3 Trun ated union bound for rate 1/2 PCCC with 1024 bits interleaver, with2 state to 128 state pun tured rate 1/2 onstituent odes. . . . . . . . . . . 120A.4 Trun ated union bound for rate 3/5 PCCC with 1024 bits interleaver, with2 state to 32 state rate 3/4 onstituent odes. . . . . . . . . . . . . . . . . 121

Page 10: serial and parallel turbo codes

viii LIST OF FIGURESA.5 Trun ated union bound for rate 1/7 PCCC with 1024 bits interleaver, with2 state to 32 state pun tured rate 1/4 onstituent odes. . . . . . . . . . . 121A.6 Trun ated union bound for rate 1/9 PCCC with 1024 bits interleaver, with2 state to 16 state rate 1/5 onstituent odes. . . . . . . . . . . . . . . . . 122A.7 Trun ated union bound for rate 4/6 PCCC with 1024 bits interleaver, with2 state to 32 state rate 4/5 onstituent odes. . . . . . . . . . . . . . . . . 122B.1 Flow diagram of a mod-k interleaver generator with S distan e property. . 124B.2 Flow diagram of a symmetri interleaver with S and mod-k properties. . . 125

Page 11: serial and parallel turbo codes

List of Tables2.1 Rate 1/2 RSC generator polynomials. . . . . . . . . . . . . . . . . . . . . . 263.1 Generator polynomials with di�erent number of neighbours. . . . . . . . . 423.2 Eight state rate 2/3 onstituent odes that were sear hed a ording todi�erent riteria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.3 Best rate 1/2 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 473.4 Best rate 2/3 pun tured rate 1/2 onstituent odes with pun turing pattern[1 0℄. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.5 Best rate 1/3 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 483.6 Best rate 1/4 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 483.7 Best rate 1/5 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 493.8 Best rate 2/3 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 493.9 Best rate 3/4 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 493.10 Best rate 4/5 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 503.11 Best rate 5/6 onstituent odes. . . . . . . . . . . . . . . . . . . . . . . . . 504.1 Input/output index of the heli al interleaver in Figure 4.22. . . . . . . . . . 745.1 Mean Squared Error for di�erent estimators with blo k size of 384. . . . . 109

ix

Page 12: serial and parallel turbo codes

GlossaryTerm De�nition Page� interleaver 7��1 deinterleaver 10AWGN additive white Gaussian noise 12BER bit error rate 2BPSK binary phase shift keying 1CC onstituent odes 7CWEF onditional weight enumerating fun tion 39HCCCs hybrid on atenated onvolutional odes 38IRWEF input-redundan y weight enumerating fun tion 39MAP maximum a posteriori 11PCCC parallel on atenated onvolutional odes 3QPSK quadrature phase shift keying 1RSC re ursive systemati onvolutional 5SCCC serial on atenated onvolutional odes 3SOVA soft output Viterbi algorithm 11

x

Page 13: serial and parallel turbo codes

SummaryTurbo odes were �rst introdu ed by Berrou et. al in 1993. It is a lass of odes whi h on atenate two or more re ursive systemati onvolutional odes (RSC) in parallel, withthe input to ea h RSC permuted by an interleaver. These odes an a hieve performan every lose to Shannon's apa ity with large interleavers (several kilobits).The performan e of turbo odes is determined by �ve di�erent fa tors: onstituenten oder design, interleaver design, onstituent de oder algorithm, interleaver size andnumber of de oder iterations. The latter three fa tors require in reases in delay or om-plexity in order to gain extra improvement. However, the �rst two fa tors an a hieveimprovement in performan e without in reases in omplexity. Due to the presen e of aninterleaver in the stru ture of turbo odes, onventional design rules for onvolutional odes are not suitable. It was found that the performan e of turbo odes depends on theminimum distan e generated by weight two input sequen es, the e�e tive free distan e.Previous ode sear hes involved �nding odes that have maximum e�e tive free distan e.Here the ode sear h was extended to odes that maximise e�e tive free distan e as wellas minimise the number of nearest neighbours. Further riteria were also used to isolatethe best ode when more than one ode has a similar number of nearest neighbours andthe same e�e tive free distan e.Another way of improving the performan e of turbo odes is to design good inter-leavers so that maximum performan e an be a hieved for the same blo k size. Di�erentinterleaver generation methods were investigated and their bit error rate performan e forparallel and serial s hemes were ompared. Symmetri interleavers, whi h have identi- al interleave and deinterleave patterns, were also studied. The symmetri property anxi

Page 14: serial and parallel turbo codes

redu e interleaver implementation omplexity. Interleavers an also be modi�ed so thatthey are designed to improve the prote tion of ea h bit in a pun tured turbo odings heme.The de oding of ea h onstituent ode an be performed by using a MAP de oder. Inorder for a MAP de oder to operate orre tly the varian e of the hannel has to be knownbefore de oding an start. It is known that the performan e of a MAP de oder does notsigni� antly degrade if the estimated varian e is lower than the a tual true varian e ofthe hannel. However, the de oder will have severe degradation if the estimated varian eis higher than expe ted. It is also known that the same e�e t also applies to parallel on atenation. However, the e�e t on the performan e of serial on atenated s hemeshas not been previously studied. Our investigations show that the serial s heme is lessforgiving ompared to the parallel on atenation. If the estimated varian e is either toohigh or lower than the a tual true varian e, performan e will degrade.Also, unlike parallel odes, if the estimated varian e is slightly higher than the truevarian e, we found that the performan e slightly in reases. Di�erent methods of varian eestimation have been used to estimate the varian e of the hannel. We found that theSummer estimator, Reed estimator and the New Reed estimator perform very well forboth large and small blo k sizes.

xii

Page 15: serial and parallel turbo codes

De larationI de lare that this thesis presents work arried out by myself and does not in orporatewithout a knowledgment any material previously submitted for a degree or diploma inany university; and that to the best of my knowledge it does not ontain any materialspreviously published or written by another person ex ept where due referen e is made inthe text.

Mark S. C. Ho

xiii

Page 16: serial and parallel turbo codes

A knowledgementsFirst I would like to thank my supervisors, Dr. Mark Ri e, Dr. Steven Pietrobon and Dr.Tim Giles, for their help and ontributions to the thesis. I would also like to thank all thesta� members at the Institute for Tele ommuni ations Resear h (ITR) at the University ofSouth Australia for their �nan ial and te hni al support whi h made this study possible.Espe ially, I would like to thank Dr. Paul Gray, Dr. Mark Reed, John Buetefuer,and Paul Petit for all of their dis ussions and omments related to this thesis.Finally, I would like to thank my family in Hong Kong for their support throughoutthe ten years that I have been studying in Australia.

xiv

Page 17: serial and parallel turbo codes

Chapter 1Introdu tionThe stru ture of a digital ommuni ation system is shown in Figure 1.1. At the transmitterside we have the sour e en oder onverting the analog or digital information sour e to asequen e of binary digits. The sequen e of binary digits is passed to the turbo en oderand the output modulated by the digital modulator before being transmitted a ross thephysi al hannel to the re eiver. The modulator an use s hemes su h as binary phaseshift keying (BPSK) or quadrature phase shift keying (QPSK). At the re eiver side there eived signal, orrupted with noise and interferen e from the hannel, is demodulatedby the digital demodulator and its output de oded by the turbo de oder to remove anyerrors generated due to the hannel. The output of the turbo de oder is then onvertedba k to the transmitted information by the sour e de oder.

Digitalmodulator

Digitaldemodulator

Sourcedecoder

Sourceencoder

Informationsink

Informationsource

Channel

encoder

decoderChannel

Channel

Figure 1.1: Stru ture of a digital ommuni ation system.1

Page 18: serial and parallel turbo codes

The role of the hannel en oder/de oder pair is to prote t the binary informationgenerated by the sour e en oder by adding redundan y to the sour e binary sequen e.This added redundan y an be used at the re eiver to orre t errors generated due tonoise and interferen e of the physi al hannel.Di�erent lasses of error ontrol odes have been proposed in the last �ve de ades.They in lude Hamming odes, BCH odes, y li odes, Reed-Solomon odes, onvolu-tional odes, et . All of these odes are trying to get loser to the Shannon limit: thetransmission of error free information at the full apa ity of the hannel. The entire od-ing so iety is very ex ited about the dis overy of turbo odes [1℄, a lass of on atenated onvolutional odes that an a hieve performan e very lose to the Shannon limit. Sin ethe announ ement of turbo odes in 1993, mu h resear h has been performed to gainmore understanding of their performan e, su h as better onstituent odes [2, 3℄, betterinterleavers [4, 5, 6, 7℄, and simpli� ation of the de oding algorithm [8, 9, 10℄.This thesis is organised as follows: Chapter 2 presents the basi s of turbo odes.We des ribe the MAP de oding algorithm [9, 11℄ and its appli ation to parallel or serial on atenated turbo odes. A omparison is made between parallel and serial s hemes.We also give some indi ations about how the performan e of onstituent odes an a�e tthe performan e of turbo odes.In Chapter 3 we improve the performan e of parallel on atenated turbo odes by�nding onstituent odes that have maximum e�e tive free distan e as well as minimumnumber of nearest neighbours. Additional parameters are also used to �nd better odeswhen there is more than one ode that have identi al parameters. The bit error rate (BER)performan e bounds with two di�erent ode rates are plotted to show that in reasing thetrellis omplexity of onstituent odes does improve the performan e of turbo odes whenmaximum likelihood de oders are used.In Chapter 4 we look at di�erent types of interleavers that an be used with turbo odes. We �rst present the generation methods for a number of di�erent interleaver types.We then look at a lass of interleavers that have identi al interleave and deinterleave pat-2

Page 19: serial and parallel turbo codes

terns, alled symmetri interleavers [7℄. We �nd that it is possible that various types ofinterleavers, e.g., heli al interleavers, an also be symmetri . In addition to the imple-mentation advantages of symmetri interleavers, we found that symmetri interleavers ana hieve better performan e ompared to non-symmetri interleavers. We also investigatethe performan e of di�erent types of interleavers when applied to serial turbo odes. Wefound that, as opposed to the parallel s heme, a spread interleaver [4℄ outperforms othertypes of interleavers, in luding symmetri interleavers.In Chapter 5 the impa t of hannel varian e mismat h on the BER performan e ofserial on atenated onvolutional odes (SCCC) and parallel on atenated onvolutional odes (PCCC) was investigated. It was found that serial s hemes are more sensitive to hannel varian e mismat h when ompared to parallel s hemes. We reviewed two di�erentvarian e estimation s hemes and applied them to the serial s heme. We found that boths hemes work very well with a serial de oder. The s hemes also work well for small blo ksizes.1.1 Summary of ontributionsThe original ontributions of this investigation are:� Chapter 3{ We �nd onstituent odes for PCCCs with maximal e�e tive free distan e aswell as minimum number of nearest neighbours.{ Additional riteria were used to further sele t the onstituent ode if more thanone ode has identi al distan e properties.{ The bounds of PCCCs with di�erent onstituent ode en oder omplexitieswere al ulated. We found that we do get improvement as the omplexityin reases.� Chapter 4 3

Page 20: serial and parallel turbo codes

{ We �nd the performan e of symmetri interleavers (interleavers whi h haveidenti al interleave and deinterleave sequen es) have identi al performan e ompared to a random interleaver.{ We ombine di�erent properties of an interleaver together so as to a hievebetter results than those with only a single property.{ We �nd that other interleaver types an also be symmetri .{ Performan e of di�erent interleaver types for SCCCs were ompared. We foundthat a spread interleaver works best.� Chapter 5{ We found that SCCCs are more sensitive to varian e mismat h ompared toPCCCs. Slightly overestimating the varian e was found to in rease perfor-man e.{ Performan e of two di�erent varian e estimators for SCCCs were ompared.We found that both estimators perform quite well when applied to SCCCs.For PCCC's, the Reed-Asenstorfer varian e estimator performed better thanthe Summer-Stephen varian e estimator for small blo k sizes.

4

Page 21: serial and parallel turbo codes

Chapter 2Fundamentals of Turbo odes2.1 Introdu tionTurbo odes were introdu ed by Berrou et. al. in 1993 [1℄. It is a lass of odes whi h on atenate two or more re ursive systemati onvolutional (RSC) odes in parallel, andwhere the input to all ex ept one RSC is �rst permuted by an interleaver. These odes ana hieve a performan e very lose to Shannon's apa ity with large interleavers (severalkilobits). However, for small interleavers it an still have amazing performan e over other on atenated odes.Sin e the input to ea h onvolutional en oder is separated by an interleaver, Turbo odes are en oded in the form of a blo k. Ea h blo k onsists of the systemati un odeddata and the en oded data from ea h en oder. At the de oder side, a omponent de oderis used to de ode information from ea h omponent en oder, with an interleaver anda deinterleaver so that information an be ex hanged between the two de oders. Thepro ess of this ex hange of information is ontinued via iteration until the reliability ofthe information is in reased to almost one. In this ase reliability is a measure of the on�den e of a de oded bit, ranging from zero (not reliable) to one.In the following se tion we dis uss the idea of iterative de oding for Turbo odes.We also look at some of the issues that a�e t the performan e of Turbo odes, su h asinterleaver size, memory size and number of iterations. We note that the interleaver is apermutation operation. 5

Page 22: serial and parallel turbo codes

2.2 System stru tureThe stru ture of the digital ommuni ation system used in this thesis is shown inFigure 2.1. At the transmitter side we have the sour e en oder onverting the analog ordigital information sour e to a sequen e of binary digits. The sequen e of binary digits ispassed to a turbo en oder and the output modulated by the digital modulator before beingtransmitted a ross the physi al hannel to the re eiver. The modulator an use s hemessu h as BPSK or QPSK. At the re eiver side, the re eived signal (whi h is orruptedwith noise and interferen e from the hannel) is demodulated by the digital demodulatorand its output de oded by a turbo de oder to remove any errors generated due to the hannel. The output of the turbo de oder is then onverted ba k to the transmittedinformation by the sour e de oder. The role of the turbo en oder/de oder pair is toencoderTurboInformation

source

ChannelAWGN, Rayleigh, etc.

decoderTurboInformation

sink

BPSK orQPSK

modulator

BPSK orQPSK

demodulatorFigure 2.1: Stru ture of a digital ommuni ation system.prote t the binary information generated by the sour e en oder by adding redundant bitsto the sour e binary sequen e. This added redundan y an be used at the re eiver to orre t errors generated due to noise and interferen e of the physi al hannel.Two ways of onstru ting turbo odes are PCCC and SCCC. Both stru tures onsistof similar omponents su h as RSC en oders and interleavers. The on�guration of ea h omponent will lead to di�erent performan e of the overall turbo ode.6

Page 23: serial and parallel turbo codes

2.2.1 PCCC en oderPCCC is a lass of ode that on atenates two or more RSCs, termed onstituent odes (CC), in parallel. The input to one en oder is not permuted. The input to the otheren oders are permuted so that the other onstituent en oders are fed with interleavedversions of the input information sequen e. The Turbo en oder stru ture for a rate 1/3Turbo ode with two rate 1/2 RSC onstituent en oders and one interleaver (�) is shownin Figure 2.2. We an also use pun turing at the output of the Turbo en oder to in rease�?s

- ---s -

CC2CC1d 1

2d

Figure 2.2: PCCC en oder stru ture.the oding rate. For example, a pun turing pattern of f1 0g for CC1 and f0 1g for CC2will generate an overall PCCC ode rate of 1/2. Figure 2.3(a) shows a four state rate 1/2RSC en oder with generator polynomial g=fg0g1g=f7 5g that is used in this thesis. O talnotation of ode polynolmials with g0 being the divisor ploynomial is used throughout thisthesis.2.2.2 SCCC en oderAn SCCC en oder is similar to the serial on atenated odes �rst proposed by Forney[12℄. The main di�eren e is that an interleaver is lo ated between the output of the outeren oder and the input of the inner en oder. Therefore, the output odewords of the outer ode are interleaved, ompared to PCCCs where only the information bits are interleaved.The en oder stru ture of a rate 1/3 SCCC, using a rate 1/2 outer en oder and a rate 2/37

Page 24: serial and parallel turbo codes

D D

DD

u 1

h 00 h

01

h 01

h 21

20

h

h 00

h 10

h 20

h 22

h 12

h 02

h 11

h 21

c

uu 2

c

(a) Rate 1/2 RSC encoder. (b) Rate 1/3 RSC encoder.Figure 2.3: Examples of a four state RSC en oder, (a) rate 1/2 and (b) rate 2/3.inner en oder, is shown in Figure 2.4. Although pun turing is possible with SCCCs, it� CCInner- - - -CCOuterdO IdI OFigure 2.4: SCCC en oder stru ture.is usually better if rate hanges are a hieved by hanging the CC of both the inner andouter ode. For example, we an a hieve a rate 1/2 SCCC with a rate 1/2 outer odeand a rate 1 inner ode. Note that due to the stru ture of SCCCs, only the inner ode isrequired to be re ursive to a hieve interleaver gain [13℄.2.3 Con ept of iterative de odingThe onventional way of on atenated de oding is to �rst de ode the inner de oder.The de oded information is then passed on to the outer de oder as the �nal de odedinformation. This only happens if one iteration is performed, i.e., the information arenot re y led to improve the on�den e of the de oded information. This is ineÆ ientsin e if a soft de ision output de oder is used, the soft infomation an be reused bythe other de oder. Sin e the re y led information are obtained from a similar de oder,the information must be pro essed to remove orrelation between ea h bit. The pro essrepeats until the blo k is reliably de oded. 8

Page 25: serial and parallel turbo codes

�� �� r

r - z1 + Lx + z02

z2 + Lx + z01 De oder 2-y2 -��1�d̂- - --- 6- ? ?

?�r

�-De oder 1 �

��1xy1 + z1 + Lx

+z2 Figure 2.5: Stru ture of an iterative de oder.Figure 2.5 shows the stru ture of generi iterative de oder. Here we assume thatwe used a turbo ode stru ture with two onstituent odes. The information symbol dand parity symbols 1 and 2 are modulated as x, y1 and y2, respe tively. The modulatedsymbols are transmitted a ross a wireless hannel. At the re eiver side the noise orruptedsymbols are fed into the turbo de oder. For the �rst de oder we only want to de ode CC1,therefore only x and y1 are input to the �rst soft de ision de oder.In the �rst iteration, the �rst soft de ision de oder outputs the estimated information(z2+Lx+z01) to the interleaver (�) to remove orrelation between the de oded informationbits. Lx is the log-likelihood ratio of x, de�ned asLx = log �p(d = 0jx)p(d = 1jx)� :Before interleaving, the input intrinsi information from De oder 2 (z2) is subtra tedfrom the output soft information to obtain information Lx+z01. This is to ensure that thede oded information are not orrelated at the next de oding stage. After interleaving,information is input into the se ond soft de ision de oder. For the �rst iteration, z2 isinitialised to zero.Note that interleaving auses the extrinsi information from de oder 1 z01 to be re-named as intrinsi information z1 for de oder 2. Extrinsi information an be thought9

Page 26: serial and parallel turbo codes

of as a soft orre tion term that removes errors aused by noise and interferen e on the hannel.The de oding of the se ond soft de ision de oder is based on the se ond set of trans-mitted symbols (y2) and the soft extrinsi information from the last soft de ision de oder.This allows the de oder to make maximum use of all the information available from theother de oder. Note that we only need to input y2 into de oder 2 to de ode CC2 sin ethe input information ontains information about d as well.At the output of the se ond de oder we obtain an output that ontains both theintrinsi information from de oder 1 and extrinsi information from de oder 2 (z1+Lx+z02). This information an either be used to make a hard de ision or passed ba k to de oder1 for another iteration.Before another iteration starts, the output from de oder 2 will go through a pro essthat is similar to that of the �rst de oder, where the infomation (Lx + z1) at the inputof the de oder is subtra ted from the output to obtain the extrinsi information (z02).This new information is deinterleaved by the deinterleaver (��1) and fedba k to the �rstde oder to ontinue with the next iteration of de oding. Deinterleaving auses z02 to berenamed z2.Sin e the information is being re y led and improved by the de oder at ea h iterationwe expe t the performan e of the iterative de oder to improve at ea h iteration. As we an see, an important fa tor of iterative de oding lies in the pro ess and ex hange ofextrinsi information between ea h de oder to improve the performan e at ea h de oderiteration. One obvious question is how to obtain the soft output information in the �rstpla e so that the extrinsi information an be generated. In the next se tion we will lookat how the soft information an be generated by using a soft de ision de oding algorithm.2.4 Component de oder for PCCCs and SCCCsIn this se tion we will look at the omponent de oder used for iterative de oding ofPCCCs and SCCCs. The main requirement for a turbo de oder is to be iterative. For both10

Page 27: serial and parallel turbo codes

PCCCs and SCCCs, the omponent de oder must be able to handle soft information bothat the input and output. This type of algorithm is required so that soft information anbe passed between ea h de oder to improve the performan e with ea h de oder iteration.Di�erent authors have proposed di�erent types of algorithms that an handle soft infor-mation, e.g., maximum a posteriori (MAP) [8, 11, 14℄, log-MAP [9, 10℄, max-log-MAP[10, 15℄ and soft output Viterbi algorithm (SOVA) [16, 17, 18, 19℄ algorithms.We �rst present the MAP and log-MAP algorithms whi h give the best performan ewith iterative de oding. This is followed by the sub-optimal max-log MAP and SOVAalgorithms (in terms of BER) whi h give poorer performan e with iterative de oding.2.4.1 MAP de oding algorithmThe MAP de oding algorithm was �rst proposed by Chang and Han o k [14℄ tominimise the symbol error probability for an inter-symbol interferen e hannel. Later,Bahl et. al. [11, 20℄ and M Adam et. al. [21℄ presented the algorithm for appli ationon the oded hannel. Berrou et. al. [1℄ modi�ed the algorithm presented in [11℄ forsystemati onvolutional odes.Sin e then, a number of variations have been proposed. In [8, 9, 10℄ a simpli�ed MAPalgorithm was proposed whi h an redu e the de oding omplexity with no degradation inperforman e. A sliding window version of the algorithm was also proposed whi h allowsreal time de oding [8, 15℄. A simpler MAP algorithm alled Max-Log-MAP or sub-MAPwas proposed in [10℄ whi h performs only a fra tion worse than the MAP algorithm atlow BERs. The MAP de oder has also been implemented by a number of resear hers su has Pietrobon [9℄ and Barbules u et. al. [22℄.Here we give a des ription of the MAP de oding algorithm presented in [9℄. The jobof the MAP de oder is, given a priori information of the oded and un oded data, tooutput a posteriori probabilities of the oded and un oded symbols.We de�ne Sk and dk as the en oder state and binary information bit at time k. Ea hbinary information bit is asso iated with a state transition from time k to time k + 1.This hanges the en oder state from Sk to Sk+1.11

Page 28: serial and parallel turbo codes

Here we onsider a rate 1/2 re ursive systemati en oder with an output symbol attime k whi h onsists of un oded data dk and oded bit k. These symbols are modulatedwith BPSK and transmitted a ross an additive white Gaussian noise (AWGN) hannel.At the re eiver we have the re eived sequen eRN1 = (R1; :::; Rk; :::; RN) (2.2)where Rk = (xk; yk) is the re eived symbol at time k. xk and yk are BPSK modulatedsymbols de�ned as xk = (2dk � 1) + pkyk = (2 k � 1) + qkwhere pk and qk are two independent normally distributed Gaussian noise variables withzero mean and varian e �2. If omplex QPSK modulation is used the total noise varian eis 2�2. We de�ne the log-likelihood ratio �k asso iated with ea h information bit dk as�k = Pr(dk = 0jRk)Pr(dk = 1jRk) (2.3)where Pr(dk = ijRk) is the a priori probability of the data bit dk with value i = 0; 1.The a posteriori probability of a de oded data bit dk isPr(dk = ijRN1 ) =Xm �i;mk (2.4)where �i;mk = Pr(dk = i; Sk = mjRN1 ) (2.5)and m is a state index varying from 0 to 2� � 1, where � is the en oder memory. Forexample, � = 2 for the en oder in Figure 2.3a. Combining (2.4) with (2.3) we have thelikelihood ratio as �k =Xm �0;mk =Xm �1;mk : (2.6)The de oder makes a de ision based on the sign of the likelihood ratiod̂k = � 0; �k � 11; �k < 1 :12

Page 29: serial and parallel turbo codes

Using Bayes' rule (2.5) an be rewritten asPr(dk = i; Sk = mjRN1 ) = Pr(dk = i; Sk = m;RN1 )=Pr(RN1 )= Pr(Rk�11 jdk = i; Sk = m;RNk )Pr(RNk+1jdk = i; Sk = m;Rk)Pr(dk = i; Sk = m;Rk)=Pr(RN1 ): (2.7)Sin e the events before time k do not depend on the observation after time k, the expres-sion Pr(Rk�11 jdk = i; Sk = m;RNk ) an be simpli�ed asPr(Rk�11 jdk = i; Sk = m;RNk ) = Pr(Rk�11 jSk = m) = �mk : (2.8)We de�ne this as the forward state metri �mk . Similarly, the expression Pr(RNk+1jdk =i; Sk = m;Rk) an be rewritten asPr(RNk+1jdk = i; Sk = m;Rk) = Pr(RNk+1jSk+1 = f(i;m)) = �f(i;m)k+1 (2.9)where f(i;m) is the next state given an input i and urrent state m. We de�ne this asthe reverse state metri �m0k+1. We de�ne the bran h metri asPr(dk = i; Sk = m;Rk) = Æi;mk : (2.10)Substituting (2.8), (2.9) and (2.10) into (2.7) we obtain�i;mk = �mk Æi;mk �f(i;m)k+1 =Pr(RN1 ): (2.11)The forward state metri �mk an be re ursively al ulated using�mk = Pr(Rk�11 jSk = m)= 1Xj=0 �b(j;m)k�1 Æj;b(j;m)k�1 (2.12)where b(j;m) is the state going ba kwards in time from state m given the input j. Figure2.6 shows a graphi al representation of the al ulation of �mk .13

Page 30: serial and parallel turbo codes

ddd ddd hhh

time = k � 1 time = k

����������������������1

PPPPPPPPPPPPPPPPPPPPPPq�b(1;m)k�1�b(0;m)k�1 j = 0j = 1

Æ0;b(0;m)k�1Æ1;b(1;m)k�1

�mkFigure 2.6: The al ulation of �mk .The ba kward state metri �m0k+1 an be re ursively al ulated in a similar fashionusing �mk = Pr(RNk jSk = m)= 1Xj=0 Æj;mk �f(j;m)k+1 : (2.13)Figure 2.7 shows a graphi al representation of the al ulation of �mk . The bran h metri Æi;mk an be al ulated usingÆi;mk = Pr(dk = i; Sk = m;Rk)= �k� ik exp[L (xki+ yk i;m)℄ (2.14)where L = 2=�2, i;m is the oded bit given data bit dk = i and state Sk = m, � ik =Pr(dk = i), xk and yk are the re eived symbol at time k, and �k is a renormalisation onstant. Substituting (2.14) into (2.11) we an evaluate (2.6) as�k = �0k�1k exp(�L xk) Xm �mk exp(L yk 0;m)�f(0;m)k+1 ! = Xm �mk exp(L yk 1;m)�f(1;m)k+1 != �k exp(�Lx)� 0k (2.15)14

Page 31: serial and parallel turbo codes

ddddddhh

htime = k + 1time = k ����������������������)

PPPPPPPPPPPPPPPPPPPPPPi

�f(0;m)k+1�f(1;m)k+1

Æ0;mkÆ1;mk

�mk j = 0j = 1Figure 2.7: The al ulation of �mk .where �k = �0k=�1k is the input a priori likelihood ratio (z1 or z2 = � ln �k), Lx = L xk and� 0k is the output extrinsi information for the turbo de oder (z01 or z02 = � ln � 0k).2.4.2 Log-MAP de oding algorithmOne way to redu e the omplexity of the MAP algorithm is to operate in the log-arithm domain. In this way all the multipli ations and divisions be ome additions andsubtra tions [9, 10, 23℄. One problem of this method is the need to evaluate the sum ofall the exponentials. These operations an be simpli�ed using the method des ribed in[9, 10℄, where we an express the log expression asa^ b � � ln(e�x + e�y) = min(x; y)� ln(1 + e�jx�yj): (2.16)From a �rst look this fun tion may seem too omplex to implement due to the log andexponential fun tion. If we plot the fun tion ln(1 + e�x) versus x we �nd that the valuefalls exponentially to 10�2 at x � 4, whi h is a small value that will not make mu hdi�eren e in the �nal output. Therefore it is possible to implement the fun tion with a15

Page 32: serial and parallel turbo codes

lookup table for the log(1 + e�x) expression. We letLk = � ln�kAmk = � ln�mkBmk = � ln�mkDi;mk = � ln Æi;mk :Equations (2.6), (2.12) and (2.13) of the MAP algorithm be omeLk = 2v�1̂m=0 Amk +D0;mk +Bf(0;m)k+1 � 2v�1̂m=0 Amk +D1;mk +Bf(1;m)k+1 (2.17)Amk = 1̂j=0Ab(j;m)k�1 +Dj;b(j;m)k�1 (2.18)Bmk = 1̂j=0Dj;mk +Bf(j;m)k+1 (2.19)where n̂j=0�j = �0^�1 � � �^�n:The bran h metri in (2.14) be omesDi;mk = � ln�k � ln � ik � L (xki + yk i;m)= Kk � (zk + L xk)i� L yk i;mwhere zk = � ln �k is the log a priori probability and Kk = � ln�k � ln �0k . Equation(2.15) an now be expressed as Lk = zk + L xk + z0k (2.20)where zk is the intrinsi information and z0k = � ln � 0k is the extrinsi information.It was mentioned in [10, 23℄ that an eight entry lookup table for log(1 + e�x) issuÆ ient to guarantee almost ideal performan e. Figures 2.8 and 2.9 show the e�e t oflookup table size on BER performan e using QPSK for a PCCC and SCCC respe tively.The maximum entry value was limited to 10. Entries above this value were set to zero. As16

Page 33: serial and parallel turbo codes

an be seen from the simulation results the degradation in BER performan e from usingan eight entry lookup table is very small (<0.1 dB) ompared to using exa t values. Forthe PCCC ase, a four state rate 1/3 en oder (rate 1/2 onstituent ode g=f7 5g) with a1024 bit S=16 S-random interleaver was used with eight iterations. For the SCCC ase,a four state rate 1/3 en oder (rate 1/2 outer ode g=f7 5g and rate 2/3 inner ode h=f73 5g) with a 2048 bits S=20 S-random interleaver was used with eight iterations.The Log-MAP algorithm will be used as the onstituent de oder for the rest of thisthesis with a 32 entry lookup table.

0 0.2 0.4 0.6 0.8 1 1.2 1.410

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

4 entries 8 entries 16 entries32 entriesexact

Figure 2.8: Comparison of PCCC BER performan e for di�erent lookup table sizes.2.4.3 Max-log-MAP de oding algorithmEquations (2.17), (2.18) and (2.19) an be further simpli�ed by letting the fun tionlog(1 + e�x) = 0 and repla ing all the V fun tions by the min fun tion.Lk = minm (Amk +D0;mk +Bf(0;m)k+1 )�minm (Amk +D1;mk +Bf(1;m)k+1 ) (2.21)Amk = min(Ab(0;m)k�1 +D0;b(0;m)k�1 ; Ab(1;m)k�1 +D1;b(1;m)k�1 ) (2.22)Bmk = min(D0;mk +Bf(0;m)k+1 ; D1;mk +Bf(1;m)k+1 ): (2.23)17

Page 34: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.410

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

4 entries 8 entries 16 entries32 entriesexact

Figure 2.9: Comparison of SCCC BER performan e for di�erent lookup table sizes.This algorithm was �rst used for the ISI hannel [24, 25℄ and later applied to the oding hannel [26, 27℄. This algorithm has the same maximum likelihood performan e as theViterbi and SOVA algorithms but requires a larger omputation omplexity [26℄. Inturbo de oders, it performs slightly worse than MAP, but better than SOVA onstituentde oders [26℄.2.4.4 SOVA de oderTraditionally, onvolutional odes were de oded by the Viterbi algorithm. The draw-ba k of the Viterbi algorithm is that it an only generate hard estimates of the de odedsymbols. This hard estimate will result in performan e loss when apply to multistage de- oding, su h as turbo odes. To over ome this drawba k, the Viterbi de oding algorithmwas modi�ed to generate a soft estimate on the de oded symbols so that it an be usedin iterative de oding. This modi�ed Viterbi algorithm is alled the SOVA algorithm.The SOVA algorithm was �rst proposed in [16℄. It is a basi ally a modi�ed versionof the Viterbi algorithm where the output sequen e is augmented with soft information.18

Page 35: serial and parallel turbo codes

Other s hemes of the modi�ed Viterbi algorithm were introdu ed by other authors [16,17, 18, 19, 28, 29℄.The operation of the SOVA algorithm is similar to the hard-output Viterbi algorithm[30℄. Rather than output a hard de ision value of the most likely ode symbol sequen e,it produ es a soft output based on the likelihood of the ode symbol sequen e.The soft output of the SOVA de oder at time t is obtained from the di�eren e of theminimum path metri among all the paths with symbol 0 at time t and the minimum pathmetri among all the paths with symbol 1 at time t. The sign of the di�eren e is used todetermine the hard estimate. The absolute value is used as the soft output informationfor the next de oding stage.The input to the SOVA algorithm is identi al to the Viterbi algorithm. For AWGN,the bran h metri is al ulated based on the squared Eu lidean distan e between there eived sequen e and the modulated sequen e. The path metri is then onstru tedbased on the a umulated path metri from the previous state and the bran h metri that leads to the urrent state. The path metri s are then ompared, with the minimumpath metri sele ted as the survivor. This is performed until the end of the re eivedsequen e is rea hed.A tra e ba k from the end of the sequen e for the path with the minimum pathmetri is then performed. This is the maximum likelihood sequen e. At the same time,the di�eren e between the maximum likelihood path and the omplementary path is al ulated to obtain a soft output for the de oded symbol at time t. The de odingoperation is �nished when it rea hes the beginning of the re eived sequen e.A more in-depth explanation of the SOVA de oding algorithm is given in [31℄.2.5 Iterative de oding of PCCCs and SCCCs2.5.1 PCCCFigure 2.5 shows the de oder stru ture for a PCCC. � and ��1 are the interleaverand deinterleaver, respe tively, whi h are used to reorganise the soft information between19

Page 36: serial and parallel turbo codes

the two onstituent de oders. The en oder stru ture in Figure 2.2 is used for en oding.The Log-MAP algorithm des ribed in Se tion 2.4.2 is used as the onstituent de oder.Unlike SCCCs, the CC an be de oded in any order provided that the orre t infor-mation is input into the MAP module. The operation of a PCCC is des ribed in Se tion2.3. Figure 2.10 shows the BER performan e of a four state rate 1/3 PCCC with a 10,000bit pseudo-random interleaver and six iterations. Note that ea h CC should be terminated

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.810

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

iter 1

iter 2

iter 3

iter 4

iter 5

iter 6Figure 2.10: BER performan e of a four state rate 1/3 PCCC, N=10,000.to the zero state. The original turbo ode [1℄ s heme used dual termination, i.e., both CCsterminated to the zero state. In [32℄ and [33℄ only one de oder was terminated while theother de oder was set to the �nal value of the forward re ursion �. In [34℄ it was foundthat if either de oders are not terminated then their respe tive �'s should be initialisedto zero. This an a hieve performan e very lose to the dual termination s heme. We all this the no termination s heme. In [34℄ it was found that the di�eren es in BER20

Page 37: serial and parallel turbo codes

performan e between no termination, single termination and dual termination s hemesare only obvious at BERs lower than 10�7. Therefore, throughout this thesis, the notermination s heme is used for all simulations.To better illustrate the performan e of iterative de oding of PCCCs, we have sim-ulated the transmission of a paragraph of plain text a ross an AWGN hannel with no oding and ompared it to the output of a four state rate 1/2 PCCC (generator poly-nomial=f7 5g) with a 192 bit pseudo-random interleaver at Eb=N0=1.5 dB. For thissimulation we use the 7 bit ASCII hara ter set to en ode ea h hara ter. On e 192 bitsof un oded data was olle ted, it was en oded by the PCCC en oder and transmitteda ross an AWGN hannel using QPSK. We assume the re eiver has omplete knowledgeof the hannel and an pass the true soft de ision data to the PCCC de oder.� Original message:To allow error free ommuni ation, error ontrol oding is used by adding redun-dant bits into the transmitted information sequen e. Turbo odes are a lass of onvolutional error ontrol odes whi h an a hieve performan e lose to Shannon'stheoreti al \ oding barrier".� No oding:D ill u erro free oimqny atign, erj r bontjml o$in'$is usee by0add ng"rddtneanpbits into$the trao3mitvmD inf vmition!seq5en e. Turbo Mdds are$a*ahass!of" onvomuvion eprnr kntrol /d s wh) h0 an a hieve"tOrformanse #loSe tm(Tje Shann/n'sth%ozeti al"" oding ji" iez"* D� First PCCC iteration:D illf error&fvde` ki/u a atzon, eRr r ontJm| o$in' is tsee by aed ng feDt-ndant bip (into hu traosei ted inl eation sequen e.(Turbo /des are$a alass of onvolutiola error ontvol /des v i h an aahive"tG2forMan e slose tm Shannon'stheorEti al " gd)ng b " I .� Third PCCC iteration: 21

Page 38: serial and parallel turbo codes

illow error freep oiluni ation, error ontrol oling is used by aeding redundant bitsinto the transmitted inf rmati n sequen e. Turbo odes are a lass of onvolutionalerror ontrol odes whi h an a hieve PorforMan e lose tm Shannon's theoreti al\ oding barrier".� Sixth PCCC iterations:To allow error free ommuni ation, error ontrol oding is used by adding redun-dant bits into the transmitted information sequen e. Turbo odes are a lass of onvolutional error ontrol odes whi h an a hieve performan e lose to Shannon'stheoreti al \ oding barrier".As we an see, parts of the text are orre ted at ea h iteration. The orre t estimationof these parts of the text helps the turbo de oder to orre t other parts of the text insubsequent iterations.2.5.2 SCCCFigure 2.11 shows the de oder stru ture for an SCCC with the Log-MAP algorithmas the onstituent de oder. Note that the de oding order of ea h CC is �xed sin e theouter ode is en oded before the inner ode. Therefore, the inner ode must be de oded�rst before the outer ode an be de oded.The de oding of SCCCs is similar to that of PCCCs. The re eived symbols xI and yIare fed into the inner de oder MAP I . At the �rst iteration the extrinsi information zOis set to 0. After de oding, the output extrinsi information L xI+z0I is deinterleaved andinput into the outer de oder as a priori information L xO + zI . After de oding we haveoutput zI + L xO + z0O. zI + L xO is subtra ted from the output of the se ond de oderand interleaved before input to the inner de oder as extrinsi information zO for the nextiteration. Note that MAPO needs to provide outputs for both the data and parity bits,while MAP I needs to provide outputs for the data bits only.For the last iteration, a hard de ision is made on the output of the outer de oderzI + L xO + z0O. Figure 2.12 shows the BER vs Eb=N0 performan e of a four state rate22

Page 39: serial and parallel turbo codes

��������

-6?��? ?? r

r r�- -- -

��

xI ; yI MAPI MAPO��1

d̂zO

zO + L xI + z0I L xO + zI zI + L xO + z0O

Figure 2.11: SCCC de oder stru ture.1/3 SCCC with a 10,000 bit pseudo-random interleaver and six iterations.2.5.3 Comparison of PCCCs and SCCCsFigure 2.13 shows a omparison of BER performan e between a four state rate 1/3PCCC and SCCC with six de oder iterations. As we an see, we have a trade o� betweenusing PCCC and SCCC at di�erent Eb=N0. At Eb=N0 ranges between 0 to 0.9 dB, PCCCperforms better than SCCC. After 0.9 dB, the PCCC rea hes what is known as an \error oor" or are, whi h in fa t is when the performan e of the PCCC is limited by thefree distan e of the turbo ode. However, the performan e of the SCCC is still in its\waterfall" region where the performan e improves rapidly as Eb=N0 in reases. In fa t,the are region of SCCCs is mu h lower than that of PCCCs. This makes it an attra tivealternative to PCCCs if low BER performan e is required.23

Page 40: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.410

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

iter 1iter 2

iter 3

iter 4

iter 5

iter 6

Figure 2.12: BER performan e of a four state rate 1/3 SCCC, N=10,000.2.6 Turbo odes with asymmetri omplexityTypi al implementations of turbo odes use CCs with identi al omplexity. However,there is no reason why we annot use CCs with di�erent omplexity. In fa t, due to theway that turbo odes work, by using di�erent onstituent en oders we an a hieve betterperforman e at a desired BER. A study on the performan e of asymmetri turbo odesbased on onstituent odes with di�erent generator polynomials was presented in [35℄.It was found that by mixing onstituent odes with both primitive and non-primitivefeedba k polynomials, one an a hieve better performan e than an be gained from bothtypes of feedba k polynomials. It was also found that asymmetri turbo odes have abetter FER than turbo odes with only primitive or non-primitive onstituent odes.The de oding of turbo odes depends on the de oding performan e at ea h de odingstage. Therefore, the performan e of ea h de oder will a�e t the overall performan e ofthe turbo de oder. 24

Page 41: serial and parallel turbo codes

0 0.5 1 1.510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

PCCC SCCC

Figure 2.13: BER performan e omparison of four state rate 1/3 PCCC and SCCC,N=10,000.2.6.1 SCCCSCCCs being similar to traditional on atenated odes, an have an inner and outerouter ode with di�erent omplexity. It was observed in [36℄ that the inner ode shouldhave as low omplexity as possible sin e the inner ode is working at very low Eb=N0 andhas the most onta t with the hannel.2.6.2 PCCCFor PCCCs, it was found in [37℄ that at a BER range between 10�2 and 10�4, turbo odes an give better performan e with shorter memory onstituent odes and a simplerde oding omplexity. However, the high are aused by the poor dmin of the onstituent ode does not make them suitable for low BER appli ations.The BER performan e of the onstituent odes improves as soon as the omplexityin reases. However this improvement in performan e only o urs at higher Eb=N0 wherethe improved free distan e starts to gain advantage. Therefore, in reasing the performan e25

Page 42: serial and parallel turbo codes

of ea h onstituent en oder should asymptoti ally improve the performan e of PCCCs.One important point that should be onsidered is in whi h order the onstituent odesshould be de oded.Figures 2.14 and 2.15 show the simulation results of an asymmetri PCCC with a192 bit S-random interleaver with S=8 and six iterations. Figure 2.14 shows a PCCCs heme with a mixture of four state and eight state CCs. As we an see, if the simplerfour state ode is the �rst ode to be de oded, it has a large advantage in performan eover de oding the more omplex eight state ode �rst. This is due to the fa t that thelower omplexity four state ode outperforms the higher omplexity eight state ode atlow Eb=N0. One interesting e�e t is that between 1.6 and 2.1 dB the four and eight statemixed PCCC outperforms the eight state PCCC. This might be related to the rossoverregion between the four state CC and eight state CC.Figure 2.16 shows simulation results of a 192 bit rate 1/2 RSC with in reasing mem-ory size. The generator polynomials of the rate 1/2 RSC are given in Table 2.1 [2, 3℄.dfree is the minimum free Hamming distan e. d2 is the minimum Hamming distan e for odewords with input weight two. As we an see, below 0 dB the simplest memory one ode outperforms all the other more omplex odes. Note that their performan e rossesover ea h other after about 0 dB with the most omplex memory 4 ode outperformingall the other odes [38℄. Therefore, in the performan e of PCCCs, we will also expe t a ross over between de oding the more omplex and less omplex ode at high Eb=N0.s g0 g1 dfree d22 3 2 3 34 7 5 5 68 13 17 6 816 23 33 7 1232 45 77 8 20Table 2.1: Rate 1/2 RSC generator polynomials.As we an see in Figure 2.15, in the region lose to an Eb=N0 of 1.8 dB, de odingthe two state ode �rst gives better performan e than de oding the four state ode �rst.26

Page 43: serial and parallel turbo codes

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 310

−6

10−5

10−4

10−3

10−2

Eb/No (dB)

BE

R

s1=4, s2=4s1=8, s2=4s1=4, s2=8s1=8, s2=8

Figure 2.14: PCCC BER performan e with asymmetri omplexity CC, mixture of fourstate and eight state odes, 192 bit interleaver, six iterations.

0 0.5 1 1.5 2 2.5 3 3.510

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

s1=2, s2=2s1=4, s2=2s1=2, s2=4s1=4, s2=4

Figure 2.15: PCCC BER performan e with asymmetri omplexity CC, mixture of twostate and four state odes, 192 bit interleaver, six iterations.27

Page 44: serial and parallel turbo codes

−3 −2 −1 0 1 2 3 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16

Figure 2.16: BER performan e of rate 1/2 RSC with memory lengths 1,2,3 and 4.However, after 2.1 dB, the performan e starts to rossover and de oding the more omplexfour state ode �rst gives better performan e. The ode rate di�eren e is 10 log 3/2 =1.76 dB, whi h is lose to the rossover point.2.7 Con lusionIn this hapter we des ribed the stru ture of turbo oded systems. We looked at de- oding algorithms that an be used by a turbo oded system and we des ribed the MAPalgorithms that an be used in turbo de oders. Two types of on atenation method werereviewed, PCCC and SCCC. Both methods use similar de oding algorithms, althoughthe en oder and de oder stru tures are very di�erent. This leads to di�erent BER per-forman e at di�erent Eb=N0. This should be taken into a ount when spe ifying a turbo ode. If the system is power limited then PCCCs should be used due to their good per-forman e at low Eb=N0. However, the high are makes it less attra tive if a low BERperforman e is required. SCCCs an a hieve better performan e ompared to PCCCs athigher Eb=N0 due to its mu h lower are. 28

Page 45: serial and parallel turbo codes

Chapter 3Constituent odes for PCCCde oders.3.1 Introdu tionA PCCC is a parallel on atenation of two or more onvolutional odes. Therefore,the hara teristi of ea h omponent ode is important in order to improve the perfor-man e of Turbo odes. A ommon way of measuring the performan e of onvolutional odes is to �nd their distan e spe trum.Although numerous ode sear hes for good onstituent odes for PCCCs have beenperformed, most of the results are based on maximising the input weight two free dis-tan e of the ode. In order to further improve the performan e we should also minimisethe number of nearest neighbours. In this hapter we will look at some of the suitable onstituent odes that are sele ted based on a di�erent set of riteria ompared to otherpublished results.3.2 Generating the distan e spe trumThis se tion des ribes di�erent methods of �nding the distan e spe trum of a mem-ory length � rate k=n onvolutional ode. The �rst method involves using the statediagram of the onvolutional ode to �nd the generating fun tion T (X) of the ode. Thegenerating fun tion gives the distan e spe trum of a onvolutional ode. Sin e it is arational polynomial expression, it an generate a distan e spe trum up to in�nity. The29

Page 46: serial and parallel turbo codes

se ond method uses an exhaustive sear h method based on the Viterbi algorithm. Thisinvolves �nding error paths that diverge from the all zero odeword by extending thetrellis of the onstituent onvolutional ode. This method is more suitable for omputerimplementation and it an generate the spe tral lines of interest eÆ iently.Note that the distan e spe trum we des ribe in this se tion are semi-in�nite, i.e.,the distan e spe trum an be extended for as long as the input information sequen e isrequired. This is di�erent from the �nite distan e spe trum that is required by turbo odes due to the presen e of a �nite length interleaver in the turbo en oder. The lengthof the interleaver limits the length of the distan e spe trum required. The pro ess of howto apply the semi-in�nite distan e spe trum to turbo odes is overed in Se tion 3.3.Before we go any further, we will need a brief understanding of the distan e spe trumof onvolutional odes and PCCCs.3.2.1 Constituent PCCC en oderConvolutional odes were �rst introdu ed as an alternative to blo k odes [39℄. Di�er-ent de oding s hemes su h as sequential [40, 41℄, threshold [42℄ and maximum likelihood[40, 41℄ have been used to de ode onvolutional odes.It is known that the asymptoti performan e of onvolutional odes for AWGN an beimproved by maximising the free distan e of the distan e spe trum [40℄. The free distan eof a linear ode is determined by the smallest non-zero output weight of a onvolutional ode's distan e spe trum. However, due to the presen e of an interleaver, it is extremelydiÆ ult to �nd the distan e spe trum of a PCCC. To over ome this, the weight spe trumof a PCCC is found by averaging the weight spe trum over all interleavers, alled an\uniform" interleaver [43℄. The basi idea is to ombine the distan e spe tra of the two onstituent odes to reate a super spe tra whi h ontains all possible ombinations ofall the paths. Ea h element of this super spe tra is averaged based on the size of theinterleaver and the size of the ombined error path. We will look in more detail of thismethod later in the hapter. Due to this new te hnique, it was found in [43, 44℄ that weneed to alter the desired hara teristi of the onstituent onvolutional odes in order to30

Page 47: serial and parallel turbo codes

suit the hara teristi s of PCCCs.It was shown in [43, 44℄ that the �rst term in the ombined distan e spe trum of aPCCC with a uniform interleaver is proportional toN1�dwXdf (3.1)where N is the interleaver size, dw is the weight of the input information sequen e thatgenerates the ode sequen e of output ode weight df , and X is the bran h gain for anoutput ode sequen e with weight df .Note that we an only minimise this �rst term for N !1 if dw � 2. When dw = 2we get a multipli ation fa tor of N�1 in the �nal distan e spe trum, whi h will result inthe distan e spe trum being averaged based on the interleaver size. In [44℄ this pro ess is alled spe tral thinning or interleaver gain in [43℄. For other spe trum terms proportionalto N1�d0wXd0f where d0w > dw or d0f > df , the spe trum terms will have less ontributionto the bound as SNR in reases. Therefore, the main ontribution at high SNR is fromthe �rst term of the distan e spe trum.Note that for the ase when dw = 1 the 1=N fa tor disappears from (3.1). This meansthe size of the interleaver no longer has any e�e t on the spe tral density of the distan espe trum. Thus, we want to avoid any ontribution from input information weight one odewords.For non-re ursive onvolutional en oders, it is possible to generate a low weightoutput for an input information weight one information word. A weight one informationword input into a non-re ursive onvolutional en oder will always be self-terminating [45℄(i.e., remerge with the all zeros path with weight one input information word). Sin e aPCCC only permutes the information bits, a weight one input will always generate errorevents of low weight for both onstituent odes, no matter how it is permuted. Therefore, onvolutional en oders with �nite impulse responses are not suitable for PCCCs where wewant to use the interleaver to provide us with diversity between ea h onstituent en oder.On the other hand, re ursive systemati onvolutional (RSC) en oders when usingfeedba k polynomials require a nonzero number of bits to return the en oder to the all31

Page 48: serial and parallel turbo codes

zero state. That is, all information words will have a weight that is two or greater.Sin e only a small fra tion of these inputs generate low weight ode words, the han ethat a low weight input for one onstituent ode will generate a low weight odeword forthe other ontituent ode is greatly redu ed. That is, the interleaver is said to breakuplow weight odewords from one onstituent ode to high weight ode words of the other onstituent ode. This basi ally eliminates the problem of a self-terminating weight oneinput information sequen e that the interleaver annot breakup.For re ursive odes we need to onsider weight two or higher self-terminating inputinformation words whi h an produ e a low weight output odeword. In [44℄, it wassaid that with the help of an interleaver between ea h en oder, most of the low weightself-terminating input information words will have a higher han e of being broken-upto produ e an output odeword that is of high weight at the se ond en oder. Also,all the high weight input information words, after permuting, will have a mu h higher han e of being broken-up than those of lower weight. Therefore, the performan e mainlydepends on the weight of the output odeword generated by the input information wordof lowest weight. For the ase of RSCs, the lowest possible input information weight that an generate a self-terminating sequen e is the weight two input information sequen e.Hen e, the problem of �nding good odes for PCCCs lies in �nding onstituent re ursiveen oders that have maximum output weight for weight two input sequen es. We all theseinput sequen es the e�e tive free distan e [43℄ of turbo en oders, as ompared to the freedistan e of a onvolutional ode.3.2.2 State diagram of onvolutional odesThe stru ture of a onvolutional ode is essentially a state ma hine whi h an berepresented by either a state diagram or trellis. The state diagram and the trellis bothdes ribe the transition from the urrent state to the next state given a ertain input.The ode transfer fun tion is given in the form [41℄A(W;Z) = 1Xw=1 1Xj=dfreeAw;jWwZj (3.2)32

Page 49: serial and parallel turbo codes

where A(W;Z) is the number of output weight j ode words generated by an inputinformation word of weight w.For the re ursive onvolutional en oder in Figure 3.1 we an derive the state diagramand its trellis as shown in Figure 3.2.D Dd

d

cFigure 3.1: En oder stru ture for a (2,1,2) RSC ode with generator polynomials f7,5g8.In the trellis diagram ea h path is onne ted between a starting state S and endingstate S 0 with an (input information word/output ode word) pair asso iate with ea hpath. For the state diagram, ea h transition from one state to another has a ertain inputweight W and output weight Z asso iated with it. This basi ally des ribes the weightof the input odeword that aused the transition and the weight of the output odewordgenerated. Hen e the transition from state S0 to S2 of the rate 1/2 RSC ode is ausedby a weight one input W whi h generates a weight two output Z2.Note that the state diagram is a losed graph, i.e., it does not onvey information forthe beginning and ending states whi h is required in order to analyse error paths. Sin eall error paths diverge from the zero state and remerge with the zero state, we an modifythe state diagram by splitting the zero state to a starting state and ending state (note thatsplitting the zero state only works for linear odes and odes with ertain symmetries).This is alled a modi�ed state diagram. The modi�ed state diagram of the rate 1/2 odeis given in Figure 3.3.3.2.3 State Transition MatrixThis method uses the modi�ed state diagram to �nd the distan e spe trum of the ode [46℄ by deriving the state transition matrix A from the state diagram. A state33

Page 50: serial and parallel turbo codes

1/11

0/00

1/11

0/00

1/10

0/01

0/01

1/10

d/dc

S2

S0

S1

S3

1

1

Z Z

ZW

ZW

S S’

00 00

01 01

10 10

11 11

Z²W Z²W

State Diagram

Trellis Structure

Figure 3.2: Trellis stru ture and state diagram for a (2,1,2) RSC en oder with generatorpolynomials f7,5g8.

Z W

Z

1

Z

Z W

Z W

Z W2 2

S0 S1S2

S3

S0’Figure 3.3: Modi�ed state diagram of Figure 3.2.34

Page 51: serial and parallel turbo codes

transition matrix ontains all the parameters going from one state to another. By writingout the state equations in a matrix form we an �nd the generating fun tion by solvingthe state equation going into the terminal state S00. Note that the state transition matrix an be also be solved by using Mason's formula [47℄.The state transition equation is given in the following formx = �x + x0 (3.3)M = 2�xT = (x1 � � �xM)(x0)T = (x01 � � �x0M)� = 26664 x11 x21 � � � xM�11 xS001x12 x22 � � � xM�12 xS002... ... � � � ... ...x1S00 x2S00 � � � xM�1S00 xS00S00

37775where xi is the path gain from state S0 to state Si and xji is the path gain from state j to i.� is the state transition matrix whi h des ribes the distan e and input weight generatedwhen going from one state to another. x0 ontains the distan e and input informationweight generated by going from state zero. From the example in Figure 3.3 we obtain thefollowing state transition matrix � and x0.� = 2664 0 ZW Z 01 0 0 00 Z ZW 0Z2W 0 0 0 3775 ; x0 = 2664 0Z2W00 3775 and x = 2664 x1x2x3x4 3775 :After expanding the matrix we obtain the following four equationsx1 = ZWx1 + Zx3x2 = x1 + Z2Wx3 = Z2x2 + ZWx3x4 = Z2Wx1 = A(W;Z):35

Page 52: serial and parallel turbo codes

By solving A(W;Z) for x4 we an �nd the generating fun tion for our (2,1,2) RSC ode,whi h is A(W;Z) = x4 = Z5W 2(Z +W � Z2W )1� 2ZW + Z2W 2 � Z2= Z5W 2(W + Z + ZW 2 + Z2(3W +W 3) + � � � )= Z5W 3 + Z6W 2 + Z6W 4 + 3Z7W 3 + Z7W 5 + � � � :The polynomial above shows that we have one path with output distan e 5 whi h isgenerated by a weight 3 input sequen e, i.e., Z5W 3, et . Note that A(W;Z) is an in�nitepolynomial, whi h means that the spe trum of the ode is in�nite. By using the transferfun tion method des ribed above we an �nd the entire spe trum of the onstituent ode.However, as we an see it is not easy to implement. In the next se tion we will des ribea method that is more suitable for implementation.3.2.4 Unidire tional AlgorithmDi�erent to the method in Se tion 3.2.3, the unidire tional algorithm [48℄ makesuse of the trellis instead of the modi�ed state diagram. Essentially, the uni-dire tionalalgorithm is similar to the Viterbi algorithm. Rather than �nding the survivor path atea h state of the trellis, all paths are extended until at least one path re-merges withthe all zeros path. The input and output weights of the re-merged paths are stored toform the weight spe trum. This method is more suitable for omputer implementationsin e it is similar to the Viterbi algorithm. Here we will brie y des ribe the unidire tionalalgorithm.The algorithm begins by extending all the paths that start from state zero at t=0that do not terminate at the zero state. We then move to the next trellis se tion andextend all the paths that were extended in the last trellis se tion. If one of the pathsremerges with the zero state, the a umulated input and output weights of that path arere orded. Otherwise, the rest of the paths are extended until some limit is rea hed. Thislimit is usually de�ned to be when all the metri s ex eed some distan e. Figure 3.4 showsthe unidire tional algorithm for the �rst six trellis se tions.36

Page 53: serial and parallel turbo codes

1/2

2/3

1/3

3/50/0S

00

10

11

01

1/4

2/3

2/6

1/4

2/4 2/4,3/5

4/6,3/7

2/5(2),3/63/4,2/5

1/5

3/7(2),4/8 2/8...

t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7

1/6...

1/1

00

10

11

01

0/0

1/2

0/0

1/1

0/1

0/1

1/2

S’S

00

10

11

01

Input weight Output weight

Figure 3.4: Trellis se tions of unidire tional algorithm.37

Page 54: serial and parallel turbo codes

For trellises that have parallel paths this method is more suitable for omputer im-plementation. Therefore, this method was sele ted. To simplify the sear h the feedba kpolynomial was limited to only primitive polynomials. This is due to the fa t that re ur-sive onvolutional odes will have maximum period if the feedba k polynomial is primitive[44℄. This will give a maximum period of 2� � 1. Hen e, h0 or g0 has to be primitive. Alist of primitive polynomials for di�erent en oder memory lengths are given in [49℄.We denote the minimum output weight of ea h remerged path, aused by input weighti, as di. From Figure 3.4 we have one d3 = 5 (input weight three output weight �ve) pathat t=2 and one d2 = 6 path at t=3. Note that it is possible to have a multiple number ofremerges that have the same input weight and output weight, su h as the d3 = 7 path att=6. We all this the multipli ity, or the number of neighbours. It is represented by Ni,for an input weight i.3.3 Average upper bound based on uniform inter-leaverDue to the random nature of the interleaver it is impra ti al to �nd the union boundof the bit error probability for PCCCs that in ludes all possible ombinations of errorpaths from ea h onstituent ode. Therefore, an average upper bound was proposedbased on the on ept of an uniform interleaver [43, 44℄. An uniform interleaver of lengthN is a probabilisti devi e that permutes an input weight w information word to alldistin t � Nw � ombinations with probability 1/� Nw �. The resultant bound is theperforman e averaged over all possible interleaver hoi es. In other words, the boundproves the existen e of at least one interleaver with at least the spe i�ed performan e.We will look at ways of generating good interleavers in Chapter 4. For randomly hoseninterleavers, the average bound gives an approximate performan e measure of PCCCs.The average bound for SCCCs [13℄ and hybrid on atenated onvolutional odes (HCCCs)[50℄ is also available.Here, we brie y des ribe a method of generating the average upper bound for PCCCs38

Page 55: serial and parallel turbo codes

given in [43℄. First, we need to de�ne the input-redundan y weight enumerating fun tion(IRWEF) of an (n; k) systemati onvolutional ode C asAC(W;Z) �Xw;jACw;jWwZj (3.4)where ACw;j denotes the number of output odewords generated by an input informationword of Hamming weight w with Hamming weight j output parity bits. W and Z aredummy variables for the information and parity bits. The value of ACw;j an be obtainedfrom (3.2). This fun tion des ribes the ontributions of information and parity bits to thetotal Hamming weight of the output odeword, whi h is (w + j) for a systemati ode.From the IRWEF, we an obtain the onditional weight enumerating fun tion (CWEF)of the CC ACw(Z) =Xj ACw;jZj = 1w! � �wAC(W;Z)�Ww ����W=1 :The �nite length of an interleaver e�e tively makes the onstituent onvolutional odea blo k ode. Therefore, we need to �nd the CWEF representation of the onstituent onvolutional ode based on the equivalent blo k ode. The equivalent blo k ode repre-sentation of a onvolutional ode is obtained by �nding all ombinations of a set of errorevents of the onvolutional ode within a length equal to N. The blo k equivalent CWEFof the onvolutional ode is [43℄ ACw(Z) =Xj Aw;jZjwith Aw;j �Xm;nK[m;n℄Tw;j;m;n (3.5)where mmin � m � N , 1 � n � bm=mmin , mmin is the shortest length error path andK[m;n℄ = � N �m+ nn � :K[m;n℄ is the expression for the multipli ity of the output odewords produ ed by a single ombination of n error events with total length m. Tw;j;m;n is the number of on atenated39

Page 56: serial and parallel turbo codes

paths in the trellis produ ed by an input information sequen e of weight w and outputparity weight j with length m and n remerges with the zero state. Note that the nremerges are subje t to the onstraint that they leave the zero state immediately afterremerging.We an now obtain the CWEF of a PCCC by using the uniform interleaver on eptwe mentioned previously. The uniform interleaver makes the CWEF of the se ond CCindependent of the �rst CC. Therefore, we an express the CWEF of a PCCC as theprodu t of the CWEFs of two CCsACpw (Z) = AC1w (Z) � AC2w (Z)� Nw � : (3.6)Finally, the bit error probability of a PCCC based on the uniform interleaver is upperbounded by [43, 44℄ Pb � (2n�1)NXd=dfree wdN Q r2dREbN0 ! (3.7)where n is the number of ode bits of the onstituent ode and N is the interleaver size.Also, d = w + j is the Hamming weight of the output odeword generated by an inputinformation word of Hamming weight wd and R is the overall ode rate of the turbo ode.The value of wd is obtained from the super distan e spe tra al ulated from (3.6).For high Eb=N0 (bit error rate � 10�5), the performan e is dominated by the �rstterm of the bound. Hen e, we an simplify (3.7) toPb � wfreeN Q r2dfreeREbN0 ! (3.8)wheredfree=e�e tive free distan e of the turbo ode.wfree=Hamming weight of the information sequen es ausing the freedistan e odewords. 40

Page 57: serial and parallel turbo codes

As we an see from (3.8), in order to minimise Pb we should minimise the Q fun tion.Sin e the Q fun tion is a negative exponential fun tion, we should maximise dfree for agiven ode rate R and Eb=N0. For a �xed interleaver size N we should also minimisewfree. For PCCCs, the e�e tive free distan e is dependent on the free distan e generatedby weight two input information sequen es (sin e the interleaver annot breakup inputinformation weight one sequen es). Therefore, to minimise the bit error probability ofPCCCs we should maximise d2 and minimise N2 of the onstituent onvolutional ode.3.4 Trun ated union boundThe union bound expression given in (3.7) requires all possible ombinations of errorpaths in the super distan e spe tra to be al ulated. This is not pra ti al for interleaversizes above 100 bits. Therefore, to simplify the bound al ulation we trun ate the distan espe tra to only in ludes all distan e terms up to approximately twi e d2. We all theresultant bound the trun ated union bound.One problem with su h a trun ated bound is that the result does not ne essary re e tthe true union bound due to some omponents of the distan e spe tra not being in luded.In [43℄ it was found that the e�e t on the union bound due to trun ation is non-existantafter a BER of around 10�4. Sin e the union bound is usually tight for BER lower than10�3 [43℄, in the area of interest (BER of less than 10�4) the trun ated union boundshould give us results that is very lose to the union bound.3.5 Minimising number of nearest neighboursIn this se tion we will look at the e�e t of minimising the number of nearest neigh-bours for the onstituent ode of a turbo ode. The performan e of onvolutional odesdepends highly on the hoi e of generator polynomials. As mentioned before, good sele -tion riteria for PCCCs are to maximise d2 as well as minimise N2 (similar to maximisingdfree and minimising Nfree for trellis odes) [51℄.41

Page 58: serial and parallel turbo codes

h0 h1 h2 d2 d3 dminmin. N2 13 15 17 5(1) 4(1) 4(1)not min. N2 13 07 17 5(2) 4(2) 4(3)Table 3.1: Generator polynomials with di�erent number of neighbours.In Table 3.1 we list two di�erent generator polynomials for an eight state, rate 2/3systemati onvolutional en oder that have the same input information weight 2 e�e tivefree distan e, but di�erent number of nearest neighbours. The distan e terms d2 and d3 arethe minimum Hamming weight paths for information weight two and three, respe tively.The distan e term dmin is the minimum free distan e of the ode. The numbers in bra ketsnext to the distan e terms are the number of neighbours for that distan e term (N2; N3and Nmin, respe tively). All the ode polynomials, h0; : : : ; hn�1, where n is the numberof oded bits, are expressed in o tal notation, e.g., 138 = 10112 � D3 +D + 1.The se ond generator polynomial f13,07,17g has a larger number of nearest neigh-bours at d2, dmin and d3. The trun ated union bound and simulation results of bothof these odes for a rate 1/2 PCCC en oder with a 400 (S=10) and 4096 (S=25) bitS-symmetri interleaver [7℄ and six de oder iterations are shown in Figures 3.5 and 3.6,respe tively. As we an see for both interleaver sizes, the onstituent ode with a smallernumber of neighbours performs better than the one with more neighbours at low BER;even-though they have very small di�eren es in distan e pro�les. This indi ates thatthe number of nearest neighbours an have an impa t on the performan e of PCCCs,espe ially at low BER.The trun ated union bound in Figures 3.5 and 3.6 in ludes all distan e terms up toapproximately twi e d2. This is used for all the bounds generated in this thesis, ex eptfor odes where d2 is greater than 60, where all distan e terms up to d2 are used.Figures 3.5 and 3.6 also show a large di�eren e in performan e between a subopti-mum de oder with a parti ular interleaver and the trun ated union bound for a uniforminterleaver. Due to a �nite number of terms the bound at low Eb=N0 does not diverge atthe ut-o� rate. At high Eb=N0, the performan e is limited by the free distan e at the42

Page 59: serial and parallel turbo codes

ode. In this ase, even with sub-optimum de oding, the parti ular interleaver hosenperforms better than the bound at high Eb=N0 (where the bound is a urate). Even withquite di�erent performan e results for di�erent interleavers, the e�e t of minimising N2appears to be valid.

0 0.5 1 1.5 2 2.5 3 3.5 410

−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

Rmin N

2

not min N2

Figure 3.5: Trun ated union bound and BER performan e of rate 1/2 PCCC using eightstate rate 2/3 onstituent en oders, N=400 and 6 de oder iterations.3.6 E�e tive free distan e and minimum distan eIt was shown in Se tion 3.3 that for `average' PCCCs the free distan e is determinedby weight two input information sequen es. However, there are often more than onegenerator polynomial having the same d2 and N2. Therefore, after maximising d2 andminimising N2 we an use further riteria to determine the best ode. A logi al hoi eis to maximise either d3 or dmin and minimise their respe tive neighbours, N3 and Nmin.We an illustrate this with three di�erent eight state, rate 2/3 systemati onvolutional odes in Table 3.2. Ea h ode was sele ted based on di�erent maximisation riteria; the43

Page 60: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

min N2

not min N2

Figure 3.6: Trun ated union bound and BER performan e of rate 1/2 PCCC using eightstate rate 2/3 onstituent en oders, N=4096 and 6 de oder iterations.�rst ode based on d2, the se ond on dmin and the third d3.h0 h1 h2 d2 dmin d3max. d2 13 15 17 5(1) 4(1) 4(1)max. dmin 13 11 17 4(1) 4(1) 5(6)max. d3 17 07 13 4(3) 4(3) >10Table 3.2: Eight state rate 2/3 onstituent odes that were sear hed a ording to di�erent riteria.These odes were simulated using the standard PCCC stru ture with a 400 bit (S=10)and 4096 bit (S=25) S-symmetri interleaver and six iterations. The average bound andsimulation performan e are presented in Figures 3.7 and 3.8. The solid lines representbound results and the dashed lines represent simulation results.As an be seen from both simulation results, at a BER of 10�6 the ode with max-imum d2 performs better then the other two. The maximised dmin ode is only slightly44

Page 61: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 410

−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

Max. d2

Max dmin

Max d3

Figure 3.7: Trun ated union bound and BER performan e between di�erent riteria ofmaximisation for N=400 and 6 de oder iterations.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

max. d2

max. dmin

max. d3

Figure 3.8: Trun ated union bound and BER performan e between di�erent riteria ofmaximisation for N=4096 and 6 de oder iterations.45

Page 62: serial and parallel turbo codes

worse than the �rst ode. The ode that maximised d3 performs mu h worse than theother two, even-though they have the same dmin and d2. Thus, our sele tion riteria is to�nd the ode with the best d2, followed by dmin, and then by d3.3.7 ResultsIn [52℄ a list of the best rate 1/n and k/(k+1) polynomials were given. The sele tion riteria for the best polynomials was based on maximising d2 only. We extend the resultsto maximise d2 as well as minimise N2. Extra riteria were used to separate the best odes if multiple odes with identi al d2 and N2 exist. Examples of eight state rate 1/2and rate 2/3 en oder stru tures are given in Figures 3.9 and 3.10, respe tively.D- -D -D ?+m-y2y1?rm+ -

�m+?x m+m+� 6r6r ?m+ -?m+ -r -r -- g03g02g01g00 g13g12g11g10 +m -?r +m -?r g23g22g21g20Figure 3.9: En oder stru ture for rate 1/n RSC onstituent ode (eight state rate 1/3example).

6h03 6rh02 6rh01 rh00+Æ ��- D- +Æ ��- D- +Æ ��- D- +Æ ��--?rh23 ?rh22 ?rh21 ?rh20 -?rh13 ?rh12 ?rh11 ?rh10x1 y1x2 y2y0Figure 3.10: En oder stru ture for rate k/(k+1) systemati feedba k onvolutional ode(eight state rate 2/3 example).Here we list the best generator polynomials for various rate 1/n and rate k/(k+1) onstituent odes. Note that for the ase of rate k/(k+1), the en oder stru ture is more46

Page 63: serial and parallel turbo codes

ommonly refered to as a systemati feedba k onvolutional ode. The ode sear h wasperformed using the unidire tional Viterbi algorithm with the following order of sele tion:d2; N2; dmin; Nmin; d3; N3. In the following tables m is the memory size of the en oder.The trellis size is equal to 2m. Note that g0 and gi (i = 1; 2; 3; � � � ) are the feedba k andfeedforward polynomials for rate 1/n onstituent en oders. h0 and hi (i = 1; 2; 3; � � � ) arethe feedba k and feedforward polynomials for rate k/(k+1) onstituent en oders.The order of ode sele tion is di�erent from those presented in [2℄ where the sele tionorder was d2; N2; d3; N3; d4; N4; d5; N5. The goal of our sele tion is to a hieve the bestperforman e at highEb=N0, where the performan e is dominated by the minimum distan eof the PCCC ode. Therefore, asymptoti ally our odes should a hieve the same or betterperforman e than those published. In Tables 3.3 to 3.11, � represents odes that are in[52℄ and + represents odes that are in [2℄. Note that the k/(k+1) en oder stru ture in[2℄ is di�erent to that presented here, but they should have similar distan e spe trumproperties. The distan e spe trum of the original pun tured turbo ode [1℄ is given inTable 3.4 (�) for referen e.m g0 g1 dmin d2 d3 d4 d5 d61+ 3 2 3(1) 3(1) 1 1 1 12�+ 7 5 5(6) 6(1) 5(1) 6(1) 7(1) 8(1)3�+ 13 17 6(1) 8(1) 7(3) 6(1) 9(9) 8(1)4�+ 23 37 6(1) 12(1) 8(3) 6(1) 10(14) 8(1)� 23 33 7(2) 12(1) 7(1) 8(4) 7(1) 10(6)� 23 35 7(2) 12(1) 7(1) 8(3) 7(1) 10(8)5 75 53 8(1) 20(1) 9(1) 8(1) 9(7) 10(5)+ 67 45 8(3) 20(1) 10(2) 8(1) 8(2) 10(5)45 77 8(2) 20(1) 9(3) 8(1) 11(14) 8(1)45 67 8(3) 20(1) 8(2) 8(1) 10(6) 10(5)6+ 147 101 7(1) 36(1) 13(1) 8(1) 7(1) 10(2)147 135 10(12) 36(1) 12(1) 10(1) 10(6) 10(4)155 117 10(11) 36(1) 10(1) 10(1) 10(4) 10(3)7 313 275 10(1) 68(1) 15(1) 12(3) 11(6) 10(1)Table 3.3: Best rate 1/2 onstituent odes.47

Page 64: serial and parallel turbo codes

m g0 g1 dmin d2 d3 d4 d5 d61 3 1 2(1) 2(1) 1 6(4) 1 9(4)2� 7 5 3(1) 4(3) 3(1) 4(1) 5(1) 6(1)3� 13 15 4(3) 5(2) 4(2) 4(1) 6(10) 6(2)4� 23 33 5(7) 6(1) 5(5) 6(19) 5(2) 6(3)� 23 35 4(1) 6(1) 4(1) 6(13) 6(5) 6(1)23 31 4(1) 7(2) 4(1) 5(2) 6(3) 6(1)� 37 21 4(4) 4(3) 1 4(1) 5(2) 6(2)5 67 45 5(1) 11(2) 6(2) 6(4) 5(1) 7(6)6 147 165 6(7) 19(2) 6(2) 6(2) 6(2) 6(1)147 117 5(1) 19(2) 7(2) 5(1) 6(1) 7(2)7 367 255 6(3) 35(2) 8(1) 7(2) 6(3) 7(4)Table 3.4: Best rate 2/3 pun tured rate 1/2 onstituent odes with pun turing pattern[1 0℄. m g0 g1 g2 dmin d2 d3 d4 d5 d61+ 3 2 3 5(1) 1 5(1) 1 1 12+ 7 5 7 8(2) 8(1) 8(1) 10(1) 12(1) 14(1)7 5 5 7(1) 10(1) 7(1) 8(1) 9(1) 10(1)3+ 13 15 17 10(3) 14(1) 10(2) 10(1) 14(6) 14(2)13 17 17 8(1) 14(1) 11(3) 8(1) 13(9) 10(1)4 23 25 37 11(1) 22(1) 11(1) 12(2) 15(4) 12(1)+ 23 33 37 10(1) 22(1) 12(1) 10(1) 12(1) 14(2)23 27 35 11(1) 22(1) 11(1) 12(2) 13(3) 14(2)5 67 45 57 13(2) 38(1) 15(1) 14(2) 13(2) 14(1)+ 67 45 51 11(1) 38(1) 17(2) 16(6) 11(1) 14(2)6 155 117 127 15(2) 70(1) 15(1) 18(1) 15(1) 16(3)+ 147 101 115 11(1) 70(1) 23(1) 14(1) 11(1) 16(2)Table 3.5: Best rate 1/3 onstituent odes.m g0 g1 g2 g3 dmin d2 d3 d4 d5 d61+ 3 1 2 3 6(1) 6(1) 1 1 1 13 1 3 3 7(1) 7(1) 1 1 1 12�+ 7 5 7 6 10(2) 10(1) 10(1) 14(2) 16(1) 18(1)3�+ 13 11 15 17 12(1) 20(1) 12(1) 14(1) 18(2) 20(3)4� 23 33 37 25 15(1) 32(1) 15(1) 16(2) 17(1) 18(1)�+ 23 27 35 37 14(1) 32(1) 16(1) 14(1) 18(3) 18(1)� 23 33 27 37 14(1) 32(1) 16(1) 14(1) 16(1) 20(3)� 23 35 33 37 14(1) 32(1) 16(1) 14(1) 16(1) 20(3)5 75 45 57 67 18(3) 56(1) 20(1) 18(2) 18(1) 22(2)+ 67 51 45 71 15(1) 56(1) 23(1) 20(3) 15(1) 20(2)Table 3.6: Best rate 1/4 onstituent odes.48

Page 65: serial and parallel turbo codes

m g0 g1 g2 g3 g4 dmin d2 d3 d4 d5 d61 3 1 2 3 3 8(1) 8(1) 1 1 1 12 7 3 5 6 7 12(2) 12(1) 12(1) 16(1) 18(1) 20(1)3 13 11 15 16 17 15(1) 24(1) 15(1) 16(1) 23(2) 22(1)4 23 25 27 35 37 19(1) 42(1) 19(1) 20(1) 23(3) 20(1)23 27 33 35 37 18(1) 42(1) 20(1) 18(1) 20(1) 24(1)Table 3.7: Best rate 1/5 onstituent odes.m h0 h1 h2 dmin d2 d3 d4 d5 d61+ 3 2 2 2(1) 2(1) 1 6(4) 1 9(4)2�+ 7 3 5 3(1) 4(3) 3(1) 4(1) 5(1) 6(1)3�+ 13 15 17 4(1) 5(1) 4(1) 5(1) 6(6) 6(1)4�+ 23 35 27 5(3) 8(2) 5(3) 6(9) 7(29) 6(1)� 23 35 33 5(4) 8(2) 5(3) 6(10) 5(1) 6(1)5+ 75 51 73 6(11) 12(2) 6(3) 6(3) 6(5) 8(54)6+ 147 133 135 6(5) 20(2) 8(4) 6(3) 6(2) 8(22)147 101 131 6(2) 20(2) 7(3) 6(1) 7(10) 6(1)Table 3.8: Best rate 2/3 onstituent odes.m h0 h1 h2 h3 dmin d2 d3 d4 d5 d61+ 3 2 2 2 2(3) 2(3) 1 5(6) 1 7(1)2� 7 5 3 2 3(6) 3(3) 3(3) 4(7) 5(16) 6(41)� 7 5 3 4 3(6) 3(3) 3(3) 4(7) 5(16) 6(44)3� 13 11 15 17 4(5) 4(1) 4(3) 4(1) 5(7) 6(19)4� 23 25 33 35 4(1) 5(1) 4(1) 5(7) 5(3) 6(13)� 23 27 31 35 4(1) 5(1) 4(1) 5(7) 5(3) 6(11)� 23 21 35 37 4(1) 5(1) 4(1) 5(9) 5(4) 6(12)23 31 32 37 4(7) 6(3) 4(5) 4(2) 6(69) 6(33)5+ 75 53 57 67 5(8) 9(2) 5(2) 5(5) 5(1) 6(7)45 51 63 71 5(9) 9(2) 5(2) 5(5) 5(2) 6(6)Table 3.9: Best rate 3/4 onstituent odes.

49

Page 66: serial and parallel turbo codes

m h0 h1 h2 h3 h4 dmin d2 d3 d4 d5 d61 3 2 2 2 2(6) 2(6) 1 4(1) 1 7(16) 12� 5 1 2 7 7 2(2) 2(2) 1 4(35) 1 6(453)� 7 1 2 3 5 2(1) 2(1) 3(9) 4(26) 5(76) 6(238)7 4 5 6 6 2(1) 2(1) 3(7) 4(17) 5(54) 6(205)3+ 13 11 15 16 17 3(1) 4(2) 3(1) 4(8) 5(42) 6(179)13 15 17 11 5 3(1) 4(3) 3(1) 4(7) 5(41) 6(177)4� 23 35 27 37 31 4(7) 5(2) 4(4) 4(3) 5(14) 6(86)� 23 35 21 37 31 4(8) 5(2) 4(4) 4(4) 5(22) 6(82)� 23 35 33 37 31 4(11) 5(2) 4(6) 4(5) 5(12) 6(82)23 25 27 31 35 4(7) 5(2) 4(4) 4(3) 5(18) 6(78)5 75 53 57 67 71 4(2) 7(2) 4(1) 4(1) 5(10) 6(38)Table 3.10: Best rate 4/5 onstituent odes.m h0 h1 h2 h3 h4 h5 dmin d2 d3 d4 d5 d63 13 7 11 12 15 17 3(4) 3(1) 3(3) 4(23) 5(154) 6(873)4 23 21 31 32 35 37 4(24) 5(4) 4(11) 4(13) 5(86) 6(441)5 45 16 41 51 63 73 4(11) 6(2) 4(6) 4(5) 5(46) 6(284)Table 3.11: Best rate 5/6 onstituent odes.In the results we extended previous rate 1/2 and rate 1/2 pun tured ode sear hresults to 128 states and found better odes based on our sear h riteria. For rate 3/4 odes we found a new 16 state ode with better e�e tive free distan e than those previouslypublished. We generated ompletely new onstituent odes for rate 1/5 and 5/6.In Table 3.5 we in luded the four state ode generator polynomial h=f7 5 5g whi his basi ally a repetition odes. In [2℄ it was noted that this type of onstituent ode doesnot behave very well when embedded in a turbo ode. However, its larger e�e tive freedistan e than the h=f7 5 7g ode should make it a mu h better ode. In Figures 3.11 and3.12 we illustrate both simulation and bound results for both odes. Ea h was simulatedwith an S-interleaver (S=13 for N=512 and S=16 for N=1024), and 6 iterations. Aswe an see, the generator polynomial with larger d2 performs better in terms of bothsimulation and bounds.50

Page 67: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

sim. g=[7 5 7]sim. g=[7 5 5]bound g=[7 5 7]bound g=[7 5 5]

Figure 3.11: BER performan e omparison between repetition and non-repetition on-stituent odes for four state rate 1/5 PCCC, N=512.

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

sim. g=[7 5 7]sim. g=[7 5 5]bound g=[7 5 7]bound g=[7 5 5]

Figure 3.12: BER performan e omparison between repetition and non-repetition on-stituent ode for four state rate 1/5 PCCC, N=1024.51

Page 68: serial and parallel turbo codes

3.7.1 Trun ated union bounds of PCCCFigure 3.13 shows the trun ated union bound for rate 1/3 PCCCs with rate 1/2 onstituent en oders from 2 to 128 states. As we an see, the performan e of PCCCsin reases as we in rease the omplexity of the onstituent odes. Although the trun atedunion bounds are only a urate for Eb=N0>2dB, it is a good indi ation that PCCCs within reased omplexity and maximum likelihood de oding do perform better asymptoti ally ompared to PCCCs with lower omplexity. Figures A.1 to A.7 in Appendix A give thetrun ated union bounds for other ode rates, whi h were found to have similar properties.

0 1 2 3 4 5 610

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32s=64s=128

Figure 3.13: Trun ated union bound for rate 1/3 PCCC with 1024 bit interleaver, with 2state to 128 state rate 1/2 onstituent odes.3.7.2 Maximum likelihood de oding and iterative de odingFrom the average BER bound results given in this hapter we an see that in reasingthe omplexity of the onstituent de oder an improve the performan e. A note of aution,the average BER bound is based on maximum likelihood de oding whi h may not hold52

Page 69: serial and parallel turbo codes

true when sub-optimum iterative de oding is used. In fa t, it is still an open problem to�nd omplex long odes with a realisable de oding algorithm that approa hes maximumlikelihood performan e.3.8 Con lusionIn this hapter we looked at the reasons why the design parameters for the onstituent odes of PCCCs are di�erent from that of onventional onvolutional odes. By using theaverage upper bound, we �nd that we should maximise e�e tive free distan e (d2) as wellas minimise the number of nearest neighbours (N2). For high rate onstituent odes wheremultiple generator polynomials have identi al d2 and N2, extra parameters su h as dmin,Nmin,d3, N3 were used to identify the best onstituent ode. We also �nd that some highrate repetition odes work better than non-repetition odes when embedded in the PCCCstru ture.The average bound of rate 1/9 to 2/3 PCCCs were found for onstituent en oders with omplexity from 2 to 128 states. From the bounds, we an see that the asymptoti BERperforman e with maximum likelihood de oding improves when the en oder omplexityin reases. However, it is still an open resear h problem to �nd omplex long odes that an be de oded by a realisable maximum likelihood algorithm.

53

Page 70: serial and parallel turbo codes

Chapter 4Interleaver Design4.1 Introdu tionInterleaving is a way of improving the performan e of an error orre tion s heme ina bursty hannel. It has the job of spreading out long bursts of errors. The design ofinterleavers in turbo odes is important sin e it has the job of redu ing the orrelationbetween neighbouring bits. This redu es the bit error rate (BER) at ea h de oder itera-tion. In this hapter we will look at di�erent properties and types of interleavers for theappli ation of turbo odes.Note that an interleaver is de�ned by its \type" and the \properties" it possesses.An interleaver \type" des ribes the stru ture that is inherent to the way the interleaveris generated. On the other hand, the \properties" are generi parameters whi h des ribeuseful or undesirable features of the interleaver. For ea h interleaver type it is possibleto have none, one or more properties whi h ould result in di�erent BER performan e orimplementation omplexity.Pun turing was �rst applied to onvolutional odes [53℄ as a way of in reasing the ode rate of existing rate 1/2 de oders. However, pun turing an degrade the performan eof turbo odes due to uneven prote tion of the information bits aused by the randominterleaver. This problem an be redu ed by using a mod-k interleaver whi h ensuresuniform prote tion a ross every bit in the sequen e. For example, let I; J = f0; 1; 2; :::; N�1g. A normal interleaver maps I to J, i.e., � : I ! J . A mod-k interleaver ensures that54

Page 71: serial and parallel turbo codes

ea h element at the i mod k, i 2 I position only maps to an element at the j mod k, j 2 Jposition, i.e., � : I mod k ! J mod k. For turbo odes where the resultant pun turingperiod is greater than two we an relax the mod k restri tion. We will show that a mod-2interleaver has around 0.2 dB improvement over a onventional interleaver at a BER of10�5 for a four state rate 1/2 pun tured turbo ode.Another interleaver type is the symmetri interleaver [54, 55℄. That is, a permu-tation � is symmetri if �(�(i)) = i for all i 2 I. Thus, a symmetri interleaver hasidenti al interleaving and deinterleaving properties, rather than the uneven properties ofnon-symmetri interleavers. An advantage of this type of interleaver is that it an sim-plify interleaver implementation for pipelined turbo de oders sin e only one sequen e isrequired to implement both the interleaver and deinterleaver. The amount of interleavermemory an also be redu ed [55℄.4.2 Interleaver PropertiesIn this se tion ertain properties of interleavers are examined. The properties, Sdistan e, mod-k and symmetri , relate to turbo ode design and performan e.4.2.1 S distan e PropertyAn interleaver with the spread or S distan e property [4℄ will, after interleaving, sepa-rate all neighbouring elements at least S interleaver index distan e apart, i.e., S=min(j�(i)��(j)j; j��1(i)� ��1(j)j), for all i; j 2 I, ji� jj = 1. The performan e of turbo odes im-proves as the S distan e in reases. However, it is more diÆ ult to sear h for interleaverswith large S sin e the proportion of interleavers de reases with in reasing onstraint S.Usually, a randomly sele ted interleaver with good performan e an be generated withS < bpN=2 , where N is the size of the interleaver [4℄. These interleavers are alledS-random. It is usual to have some algorithm whi h an generate S-random interleavers[4℄. The input/output position plot of a 192 bit S-random interleaver with S = 1 andS = 8 are given in Figures 4.1 and 4.2. As we an see from Figure 4.2, the elements55

Page 72: serial and parallel turbo codes

are more evenly spread ompared to a random interleaver with S = 1. For PCCCs,where onvolutional en oders are used as onstituent odes, shorter error bursts o urmore frequently than longer error bursts. Hen e, an S-random interleaver should beable to breakup these shorter sequen es more e�e tively, in reasing the free distan e orde reasing the number of nearest neighbours. This results in better performan e.

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.1: Input/output position plot of a 192 bit pseudo-random interleaver.Figures 4.3, 4.4, 4.5 and 4.6 show the bit error rate performan e of a four state PCCCwith 192, 512, 2048 and 4096 bit interleavers, respe tively. Ea h set of results are runwith 8 iterations and averaged over six interleavers with similar properties. As we ansee, larger values of S an improve the bit error rate performan e of turbo odes from 0.5dB to as mu h as 1 dB for large interleavers.Figures 4.7, 4.8 and 4.9 show simulation results for the a four state rate 1/3 SCCCwith interleaver sizes of 192, 1024 and 4096 bit respe tively. Ea h set of results are runwith 8 de oder iterations and averaged over six interleavers with similar properties. Forthe ase of SCCCs it seems the the S value does not provide signi� ant gain over random56

Page 73: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.2: Input/output position plot of a 192 bit S-random interleaver.interleavers with an S value of one. In fa t, for the interleaver size of 4096 bits, the S=1random interleaver performs 0.05 dB better than the other two interleavers with higherS values. Hen e SCCCs appear to be not as sensitive to the hoi e of the S value as ompared to PCCCs.4.2.2 Mod-k PropertyPun turing an be used to in rease the ode rate of an existing ode while maintainingthe same en oder and de oder stru ture. The obje tive of a pun turing pattern [41℄ is toshow whi h of the output bits in ea h of the output streams are to be pun tured beforetransmission. A zero represents a bit that is going to be deleted from the output stream,while a one represents a bit that is going to be transmitted.It was found that most pun tured turbo odes will ause uneven error prote tion onthe information bits after interleaving [5℄. Uneven error prote tion is aused by the fa tthat, after interleaving, ea h systemati bit of a turbo odeword may not have an equalnumber of parity bits asso iated with it. With uneven pun turing, there may be long57

Page 74: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 4 4.510

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=1S=6

Figure 4.3: PCCC performan e with random interleaver and in reasing S onstraint, 192bit interleaver.

0 0.5 1 1.510

−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=1S=5S=10S=13

Figure 4.4: PCCC performan e with random interleaver and in reasing S onstraint, 512bit interleaver. 58

Page 75: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=1 S=10S=20

Figure 4.5: PCCC performan e with random interleaver and in reasing S onstraint, 2048bit interleaver.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

interleaver size=4096

Eb/No (dB)

BE

R

S=1 S=10S=25

Figure 4.6: PCCC performan e with random interleaver and in reasing S onstraint, 4096bit interleaver. 59

Page 76: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.510

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

N=192(S=1)N=192(S=6)

Figure 4.7: 4 state rate 1/3 SCCC simulation with 192 bit interleaver of di�erent S values.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N0 (dB)

BE

R

N=1024(S=1) N=1024(S=10)N=1024(S=16)

Figure 4.8: 4 state rate 1/3 SCCC simulation with 1024 bit interleaver of di�erent Svalues. 60

Page 77: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.410

−5

10−4

10−3

10−2

10−1

100

Eb/N0 (dB)

BE

R

N=4096(S=1) N=4096(S=10)N=4096(S=25)

Figure 4.9: 4 state rate 1/3 SCCC simulation with 4096 bit interleaver of di�erent Svalues.strings of parity bits that are fully pun tured. This results in very weak prote tion ofthese data bits, ausing a de rease in performan e for these data bits ompared to thosedata bits that have long sequen es of parity.To redu e the problem of uneven error prote tion the interleaver is designed to ensurethat after pun turing, the parity bits are uniformly spread a ross all the information bits.For example, in Figure 4.10 we have a rate 1/2 pun tured turbo ode with pun turingpattern 10 and 01 for the parity bits of the �rst and se ond en oder. The pun turingpattern 11 is used for the information bit stream output.In Figure 4.10 p(�) are the resultant parity bits after pun turing with di�erent in-terleaver patterns applied , namely u, �(u) and �mod�2(u). The shaded bits representparity bits from even index positions while blank bits represent parity bits from oddindex positions.As we an see, random interleaving an ause uneven pun turing of the parity bits.That is, after en oding some information bits will have two parity bits, while other in-61

Page 78: serial and parallel turbo codes

formation bits will have no parity bits; e.g., bit 1 has no parity bit while bit 2 has twoparity bits. However, the mod-2 interleaver, �mod�2(u), ensures that ea h parity bit ispun tured on e and only on e, thus ensuring uniform prote tion a ross all informationbits (ignoring edge e�e ts at the start and end of the blo k).������������������������

������������������������

���������������

���������������

��������������������

��������������������

������������������������

������������������������

������������������

������������������

��������������������

��������������������

���������������

���������������

���������������

���������������

���������������

���������������

������������������

������������������

p(u)

u

0 1 2 3

31 0 2

132 0

after

puncturing

0 2

32

31

1 2 301 2 30

puncture:odd:even:

mod-2πp( (u))

πp( (u))

Figure 4.10: Amount of prote tion on information bits between random interleaver andmod-2 interleaver.Pure Mod-k InterleaverThe on ept of a mod-2 interleaver was �rst applied to turbo odes in [5℄ as an \odd-even" interleaver, where improved performan e was a hieved for pun tured rate 1/2 turbo odes. A mod-2 interleaver ensures that the even parity from the �rst onstituent odeand odd parity from the se ond onstituent ode are only interleaved in the even and oddpositions, respe tively. Figure 4.11 illustrates the input/output position plot of a mod-2interleaver. In this �gure, 2 represent even positions and � represent odd positions.Note that we an extend the mod-2 restri tion to mod-k where k is any positiveinteger. It an be used in appli ations where k-1 parity bits are pun tured from ea h onstituent ode. We all this a pure mod-k interleaver where the modulus rule appliesto all elements of the interleaver. Therefore a pure mod-k interleaver has i mod k = jmod k, where the interleaver maps i! j. 62

Page 79: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.11: Input/output position plot of a 192 bit mod-2 S-random interleaver.As an example, we present a nine element mod-3 interleaver, �mod�3(u), in Figure4.12. Ea h shade represents a di�erent remainder of modulus 3. As we an see, ea helement in the input sequen e u is interleaved a ording to their modulus 3 value. There-fore, after interleaving, the element addresses with modulus 3 values stay in the modulus3 positions.A mod-k interleaver an be onstru ted from k length N=k interleavers. The data iswritten into a k by N=k matrix with ea h row permuted by ea h length N=k interleaver.The data is then read by olumn. i.e., �(i) = k�i mod k+ i mod k where �j; 0 � j � k� 1is a length N=k interleaver. We have that �(i) mod k = i mod k proving that the onstru tion generates a mod-k interleaver.Random Mod-k InterleaverIn the pure mod-k interleaver we restri t all elements of the input sequen e by themod-k rule. The only goal of the mod-k interleaver is to ensure the unpun tured parity bitstays with the information bit. Therefore we an relax the restri tion of mod-k interleavers63

Page 80: serial and parallel turbo codes

������������������������

������������������������

������������������

������������������

������������������

������������������

���������������������

���������������������

����������������������������

����������������������������

���������������������

���������������������

������������������

������������������

umod-3π ( )

���������

���������

���������

���������

���������

���������

������������

������������

������������

������������

������������

������������

������������

������������

0 1 2 3 4 5 7 86u

0 36 7 2 81 4 5

0 1 2u mod 3 =

Figure 4.12: Example of a nine element pure mod-3 interleaver.to only the desired element su h that if i mod k=0, then j mod k=0 and if i mod k 2f1,� � � ,k-1g, then j mod k 2 f1,� � � ,k-1g. This will introdu e more randomness into theinterleaver while retaining the modulus k property of the pun tured ode. Hen e for amodi�ed modulus 3 interleaver, if i mod k=0, then j mod k=0 and if i mod k 2 f1,2g,then j mod k 2 f1,2g.Figures 4.13, 4.14 and 4.15 show the simulation performan e of an S-random and anS-random-mod-2 interleaver for a four state rate 1/2 pun tured turbo ode with a 256,1024 and 4096 bit interleaver and eight iterations. The simulation results are averagedover six interleavers. As we an see, for N=1024 and 4096, mod-2 interleavers an performabout 0.2 dB better than a onventional random interleaver at a BER of 10�5. For N=256,mod-2 interleavers don't appear to have any advantage.We an apply higher amounts of pun turing to in rease the ode rate. Therefore, werequire a mod-k interleaver to a ommodate di�erent levels of pun turing. For example,we an pun ture a rate 1/2 onstituent ode to a rate 3/4 ode. This in turn generates arate 3/5 turbo ode. The pun turing pattern for the �rst and se ond onstituent ode is (01 0) and (1 0 0) respe tively. The results for three di�erent types of 2049 bit interleaversare presented in Figure 4.16. The simulation results are averaged over six interleavers. Aswe an see, a pure mod-3 or random mod-3 interleaver improves the performan e sin ewe ensure that all the parity bits are evenly distributed a ross all information bits. From omputer simulations we found that a random mod-3 interleaver gives similar results64

Page 81: serial and parallel turbo codes

to a pure mod-3 interleaver. The ow diagram for the generation of mod-k S-randominterleavers is given in Appendix B.4.2.3 Symmetri PropertyA disadvantage of most of the interleavers types mentioned previously is that theyrequire both an interleave and a deinterleave sequen e. Sin e an interleave and a dein-terleave sequen e are normally di�erent, separate hardware or lookup tables are usuallyrequired for ea h sequen e. We an solve this problem by using a symmetri interleaver[55℄, where the interleave and deinterleave sequen es are identi al. In other words, a singleinterleaver sequen e an perform both interleaving and deinterleaving.We an illustrate this using a simple nine element symmetri interleaver as pre-sented in Figure 4.17. As we an see, a symmetri interleaver has identi al interleaveand deinterleave sequen es (e.g., element 1 goes to 3 and 3 goes to 1 during interleaveand deinterleave). A onventional pseudo-random interleaver requires two sequen es thatare the inverse of ea h other (e.g., element 1 goes to 6 and 6 goes to 3 at interleave,during deinterleave 6 goes ba k to 1 and 3 goes ba k to 6). Note that for the symmetri interleaver i ! i is a valid interleave pattern for some i.4.3 Interleaver TypesMany di�erent authors [5, 6, 7, 54, 56, 57℄ have looked at the performan e of turbo odes with di�erent interleaver types sin e its �rst introdu tion in 1993. The interleaver isa riti al omponent of a turbo ode sin e it redu es orrelation between ea h onstituentde oder so that improvement an be made with ea h iteration. It also performs thefun tion of spe tral thinning whi h allows the medium input weight spe tral lines todominate the BER performan e at low SNR. This is the reason why turbo odes an haveoutstanding performan e at low SNR. However, at high SNR performan e is redu ed dueto the small minimum distan e of the onstituent odes used. In this se tion we willbrie y look at the stru ture of ea h proposed interleaver type.65

Page 82: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=8 S−randomS=8 S−mod−2

Figure 4.13: 4 state rate 1/2 turbo ode with di�erent 256 bit mod-2 interleavers, eightiterations.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=16 S−randomS=16 S−mod−2

Figure 4.14: 4 state rate 1/2 turbo ode with di�erent 1024 bit mod-2 interleavers, eightiterations. 66

Page 83: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.810

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=26 S−randomS=26 S−mod−2

Figure 4.15: 4 state rate 1/2 turbo ode with di�erent 4096 bit mod-2 interleavers, eightiterations.

0 1 2 3 4 5 6 710

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=20 S−random S=20 Random S−mod−3S=20 Pure S−mod−3

Figure 4.16: 4 state rate 3/5 turbo ode with di�erent 2049 bit mod-3 interleavers, eightiterations. 67

Page 84: serial and parallel turbo codes

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

1 2 3 4 5 6 7 8 9

3 2 1 7 9 8 4 6 5

2 7 3 1 5

Symmetric Interleaver

Interleave

Deinterleave

Deinterleave

Interleave

Random Interleaver

8 469

Figure 4.17: Interleave and deinterleave pattern for symmetri and random interleaver.4.3.1 Blo k InterleaverThe blo k interleaver is one of the frequently used interleaver types [4, 41, 58, 59℄.It is implemented in many wireless ommuni ation systems (GSM, IS-95) to break upburst errors that will be en ountered by the de oder. Its operation involves writing theinformation bits into the rows of an m � n matrix and reading the bits in the olumndire tion of the same matrix (m and n are the number of rows and olumns, respe tively).That is �(i) = m(i mod n) + i div n, i 2 I;mn = N; i div n = bi=n . Deinterleavingis performed simply by writing the interleaved bits in the olumn dire tion and readingthem in the row dire tion. That is ��1(j) = n(i mod m) + j div m; j 2 J . This typeof interleaver has been widely used for most on atenated ode systems where the outer ode (usually a Reed-Solomon ode) are blo k interleaved before being en oded by theinner ode to break up the long bursts of errors generated by the inner de oder.Figure 4.18 plots the input and output positions of a 192 bit (16 � 12) blo k inter-leaver. We all this an input/output position plot; it gives a good visual pi ture of an68

Page 85: serial and parallel turbo codes

interleaver pattern.4.3.2 Cir ular InterleaverThe output of the ir ular interleaver is based on the following ongruen e modulon relation �(j) = (aj) mod N:�(j) is the output position of an interleaved element, j is the input position of the element,and a < bp2N is the step size whi h is hosen to be relatively prime to the interleaversize N . The step size determines the separation between two neighbouring elements afterinterleaving. A detailed dis ussion of this interleaver stru ture is given in [4℄. Figure 4.19shows the input/output position plot of a 192 bit ir ular shift interleaver with a = 17.4.3.3 Blo k heli al InterleaverThe blo k heli al interleaver [60℄ writes ea h input data element in the row dire tionof an m� n matrix, where m has to be hosen relatively prime to n. Interleaving startsfrom the upper left hand orner element, in rementing the index of ea h dimension byone with modulo m and n in the row and olumn dire tion, respe tively, i.e.,ri+1 = ri + 1 mod m i+1 = i + 1 mod ni = 0; 1; � � � ; N � 1where ri and i are the row and olumn indi es for the ith bit. Their initial values arer0 = 0 0 = 0:This is similar to the \simile" interleaver proposed in [61℄. Figure 4.20(a) illustrates theinterleaving pro edure of the blo k heli al interleaver. Another way of interleaving is to69

Page 86: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.18: Input/output position plot of a 192 bit blo k interleaver.

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.19: Input/output position plot of a 192 bit ir ular shift interleaver, a = 17.70

Page 87: serial and parallel turbo codes

start from the lower left hand orner, Figure 4.20(b), i.e.,ri+1 = ri � 1 mod m i+1 = i + 1 mod nwith initial values r0 = N � 1 0 = 0:10 2

53 4

6 7 8

9 10 11

10 2

53 4

6 7 8

9 10 11

Second sequence

First sequence

Third sequence

(a) (b)Figure 4.20: A 3 � 4 blo k heli al interleaver with interleaving from (a) the upper lefthand orner and (b) the lower left hand orner.Figure 4.21 shows the input/output position plot of a 208 bit (16� 13) blo k heli alinterleaver.4.3.4 Pseudo-random InterleaverPseudo-random interleavers are interleavers that are generated randomly [4℄. Ea hsize N pseudo-random interleaver is randomly sele ted from N ! possible interleaver pat-terns. Figure 4.1 shows the input/output position plot of a 192 bit pseudo-random in-terleaver. As we an see from the plot, some elements are lo ated lose to ea h other.This will redu e its e�e tiveness of breaking up some of the error sequen es. We mayapply some riteria while onstru ting the interleaver, so that the interleaver has someproperty that is desired, e.g., in reasing the S distan e so that error sequen es an bemore e�e tively broken up. 71

Page 88: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

200

Input position

Out

put p

ositi

on

Figure 4.21: Input/output position plot of a 208 bit blo k heli al interleaver.4.3.5 Symmetri InterleaversAs dis ussed in Se tion 4.2, interleavers with symmetri properties only require asingle interleaver pattern to perform both interleaving and deinterleaving. Below is a listof interleavers with symmetri properties that an be used for PCCCs and SCCCs withdi�erent blo k sizes.Blo k Symmetri A blo k symmetri interleaver is a blo k interleaver with the symmetri property.A property of the blo k interleaver is that the deinterleaving operation is simply blo kinterleaving with the dimension of the blo k interleaver swapped. Therefore letting n = m72

Page 89: serial and parallel turbo codes

we have �(i) = n(i mod n) + i div n�(�(i)) = n(fn(i mod n) + i div ng mod n) + fn(i mod n) + i div ng div n= n(i div n) + i mod n= iproving that an n � n blo k interleaver is symmetri (proof uses the fa t that i div n �n � 1). Another approa h is to re all that �(i) = m(i mod n) + i div n and ��1(j) =n(i mod m) + j div m. Therefore, m = n results in identi al interleave and deinterleavesequen es, whi h satis�es the riteria for the symmetri property.Blo k Heli al Symmetri A blo k heli al interleaver with dimension m(m � 1) is a symmetri interleaver ifinterleaved from the upper left hand orner or (n� 1)n if interleaved form the lower lefthand orner.We an illustrate this by using a simple example of a 4� 3 heli al interleaver whi hinterleaves from the upper left hand orner. As we interleave ea h element we assign anumber in its pla e for the �nal position in the interleaver. From Figure 4.22 we an seethat after we assign the index to the array some of the elements are swapped as a result ofthe interleaving. This results in a symmetri interleaver stru ture. If we interleave fromthe lower left hand orner all that is required is to swap the matrix dimension to a hievesimilar results.Table 4.1 shows the mapping index of the heli al interleaver in Figure 4.22. im; inare the m and n dimension index of the ith element, respe tively. Note that we an alsoexpress the index of im and in as i div n and i mod n, respe tively. �() is the mappingfun tion of the heli al interleaver de�ned as�(im; in) = �(i div n; i mod n) 7! (i mod m; i mod n):73

Page 90: serial and parallel turbo codes

0 1 2

3 4 5

6 7 8

9 10 11

0

1

2

3

4

5

6

7

8

10

11

9

Figure 4.22: Position plot of a 4� 3 blo k heli al interleaver.im; in f(im; in) i f(i)0,0 0,0 0 00,1 1,1 1 40,2 2,2 2 81,0 3,0 3 91,1 0,1 4 11,2 1,2 5 52,0 2,0 6 62,1 3,1 7 102,2 0,2 8 23,0 1,0 9 33,1 2,1 10 73,2 3,2 11 11Table 4.1: Input/output index of the heli al interleaver in Figure 4.22.

74

Page 91: serial and parallel turbo codes

Hen e, for the ith element of the input sequen e,�(i) = �(n(i div n) + i mod n) 7! n(i mod m) + i mod n:Now, if we interleave i twi e, i.e.,�(�(i)) = n((n(i mod m) + i mod n) mod m) + (n(i mod m) + i mod n) mod n:The se ond part of the expression, (n(i mod m) + i mod n) mod n is equivalent to i modn sin e it is just a multiple of n plus i mod n. For the �rst part, we onje ture that(n(i mod m) + i mod n) mod m is equal to (i div n) when m = (n + 1). We haveg(i) = [n(i mod (n+ 1)) + i mod n℄ mod (n+ 1)= [(n+ 1)(i mod (n + 1)) + i mod n� i mod (n+ 1)℄ mod (n + 1)= [i mod n� i mod (n+ 1)℄ mod (n+ 1):For every n, i mod n� i mod (n+1) de reases by �n. This is equivalent to in rementingby 1 mod (n+1). That is, g(i) in rements by one every n whi h is equal to i div n. Thus�(�(i)) = n(i div n) + i mod n = iand we have a symmetri interleaver.If m 6= n + 1 we an see that the proof will not hold sin e we will not have therequired in rement by one every n.Figure 4.23 shows the input/output position plot of a 182 bit interleaver generatedby a 14� 13 matrix with interleaving from the lower left hand orner.Cir ular Symmetri It is also possible to onstru t symmetri interleavers using the ir ular interleaverstru ture.Theorem: A ir ular interleaver that satis�es the symmetri riteria must satisfy thefollowing rule for step size a, blo k size N , and some integer 0 � m � N � 1a2 = mN + 1: (4.2)75

Page 92: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 1800

20

40

60

80

100

120

140

160

180

Input position

Out

put p

ositi

on

Figure 4.23: Input/output position plot of a blo k heli al symmetri interleaver.Proof: To prove that this will produ e a symmetri interleaver, we use the interleavergenerating equation of the ir ular interleaverf(f(i)) = a(ia mod N) mod N = ia(ia mod N) = jN + iia mod N = jN + iaia = kN + jN + ia) (ak + j)N + i = ia2if l = ak + jthen lN + i = ia2lNi + 1 = a2now let l = im) mN + 1 = a2:Hen e, generating a ir ular interleaver with a symmetri property is just a matter of76

Page 93: serial and parallel turbo codes

�nding the pair of a and N that satis�es the property in (4.2). For a given blo k size ofN bits, we need to �nd the multiple m, su h that pmN + 1 results in an integer value.Sin e we are working in mod N ,m = 0; 1; 2; � � � ; N � 1. In other words, we want to �ndall the m whi h results in an integer value of a that satis�espmN + 1 = a (integer): (4.3)For example, to �nd the step sizes of a 192 bit symmetri interleaver will require us to�nd p(0; 1; 2; � � � ; 190; 191)� 192 + 1 su h that the result is an integer valuea = 1 , 31 , 65 , 95 , 97 , 127 , 161 , 191.Figure 4.24 shows the input/output position plot a 192 bit symmetri ir ular interleaverwith a = 31. The .m Matlab �le used to �nd all values of a given a blo k size N is givenin Appendix C.

0 20 40 60 80 100 120 140 160 1800

20

40

60

80

100

120

140

160

180

Input position

Out

put p

ositi

on

Figure 4.24: Input/ouput position plot of a 192 bit ir ular symmetri interleaver witha = 31.Figures 4.25, 4.26 and 4.27 show the BER performan e of the four state rate 1/3PCCC with ir ular interleavers of di�erent a values.77

Page 94: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 510

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=255 a=16 circular symmetric N=255 a=86 circular symmetric N=255 a=154 circular symmetric

Figure 4.25: BER performan e of 255 bit ir ular interleaver with di�erent values of a.

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=1023 a=32 circular symmetric N=1023 a=373 circular symmetricN=1023 a=683 circular symmetric

Figure 4.26: BER performan e of 1023 bit ir ular interleaver with di�erent values of a.78

Page 95: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=4095 a=64 circular symmetric N=4095 a=701 circular symmetric N=4095 a=2276 circular symmetricN=4095 a=3394 circular symmetric

Figure 4.27: BER performan e of 4095 bit ir ular interleaver with di�erent values of a.Pseudo-Random Symmetri The generation of a pseudo-random symmetri interleaver is similar to that of apseudo-random interleaver, ex ept with the onstraint that if I ! J then J ! I. Togenerate a good interleaver we an also add in the S-distan e onstraint to make it workbetter for turbo odes. Figure 4.28 shows the input/output position plot of a 192 bitS-symmetri interleaver with S=9.The ow diagram for generating a symmetri interleaver with distan e S and mod-kproperties is presented in Appendix B.Sin e we are swapping the positions of two elements in a sequen e, we may loosesome randomness that is required for turbo odes to de orrelate information between the�rst and se ond de oder. This may degrade the performan e of turbo odes. We an hopeto redu e this degradation by putting a distan e onstraint during the generation of theinterleaver. In fa t, we may argue that a symmetri interleaver an perform better thana onventional interleaver due to the fa t that both the interleaver and deinterleaver have79

Page 96: serial and parallel turbo codes

0 20 40 60 80 100 120 140 160 1800

20

40

60

80

100

120

140

160

180

Input position

Out

put p

ositi

on

Figure 4.28: Input/output position plot of a 192 bit S-symmetri interleaver.the same properties. That is, a symmetri interleaver that is good at interleaving willalso be good at deinterleaving. This e�e t was �rst pointed out in [54℄ where symmetri interleavers were shown to have identi al orrelation oeÆ ients for the interleave anddeinterleave sequen es. While it is possible to generate a random interleaver whi h hasgood interleave and deinterleave properties, it is easier to generate a good symmetri interleaver sin e we only need to test the properties of only one sequen e.Figure 4.29 presents the results for the four state rate 1/3 turbo ode with inter-leaver size 1024 and �ve iterations. As we an see from the results, an interleaver designwith the S onstraint (where S=pN=4=16) performs better than an ordinary randominterleaver. The performan e of the interleaver was improved when we imposed the sym-metri onstraint. This indi ates that the property of having identi al interleaving anddeinterleaving an improve performan e.Figures 4.30, 4.31 and 4.32 show further simulation results for three di�erent inter-leaver sizes with eight de oder iterations. Ea h set of simulation results are averaged over80

Page 97: serial and parallel turbo codes

six di�erent interleavers with the same properties. Although there are no obvious im-provements in performan e between S-random and S-symmetri interleavers; the absen ein degradation between the two types of interleavers still make S-symmeti interleaversan attra tive alternative.Finally, Figures 4.33, 4.34, 4.35 and 4.36 show a omparison between di�erent typesof symmetri interleavers for a rate 1/3 four state PCCC and di�erent interleaver sizes.All results were averaged over six di�erent interleavers with the same properties.As we an see from the �gures, the S-symmetri interleaver outperforms all the othersymmetri interleaver types due to its improved distan e property.4.4 Symmetri Mod-k interleaverIn the previous se tion we dis ussed three properties that we an introdu e to aninterleaver stru ture where ea h of them by itself an o�er performan e improvementswhen applied to turbo odes. One intuitive step would be to introdu e all these propertiesinto an interleaver and see if they o�er any additional improvement.Figure 4.37 presents simulation results for a 1024 bit mod-2 S-symmetri interleaverwith S=15 and other types of 1024 bit interleavers for a four state pun tured rate 1/2turbo ode. Six de oder iterations were used before a hard de ision was made.From Figure 4.37 we an see that if we ombine the symmetri and mod-2 propertieswe an make use of the improvement from both properties.Figures 4.38, 4.39 and 4.40 show the BER performan e of di�erent mod-3 interleaverswith interleaver size 256, 1024 and 4096 bits. A four state rate 3/5 PCCC with pun turingpattern (0 0 1) and (1 0 0) for the �rst and se ond onstituent ode is simulated for 8iterations. For interleaver size of 256 bits, all three di�erent types of interleaver givevery similar performan e. For interleaver size of 1024 bits the random S-mod-3 interlaverperform better than the other two interleaver types. For interleaver size of 4096 bits, allthree S-mod-3 interleaver types perform better than the S-random interleaver. While thePure S-mod-3 interleaver performs slightly better than the other two S-mod-3 interleaver81

Page 98: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

RandomS−randomS−symmetric

Figure 4.29: Interleaver performan e omparison for four state rate 1/3 turbo ode,N=1024, six iterations.

0 0.5 1 1.5 2 2.510

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Random interleaver S=10 S−random interleaver S=10 S−random symmetric interleaver

Figure 4.30: 4 state rate 1/3 turbo ode with di�erent 400 bit interleavers and eightiterations. 82

Page 99: serial and parallel turbo codes

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Random interleaver S=20 S−random interleaver S=20 S−random symmetric interleaver

Figure 4.31: 4 state rate 1/3 turbo ode with di�erent 2048 bit interleavers and eightiterations.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6

10−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Random interleaver S=25 S−random interleaver S=25 S−random symmetric interleaver

Figure 4.32: 4 state rate 1/3 turbo ode with di�erent 4096 bit interleavers and eightiterations. 83

Page 100: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 410

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=256(16x16) block symmetric N=272(17x16) helical symmetricN=255(a=16) circular symmetricN=256(S=8) S−symmetric

Figure 4.33: Comparison between di�erent types of symmetri interleaver with six itera-tions, N=256.

1 1.5 2 2.510

−5

10−4

10−3

10−2

Eb/No (dB)

BE

R

N=576(24x24) block symmetric N=552(24x23) helical symmetric N=512(a=255) circular symmetricN=512(S=13) S−symmetric

Figure 4.34: Comparison between di�erent types of symmetri interleaver with eightiterations, N=512. 84

Page 101: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 310

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=1024(32x32) block symmetric N=1056(33x32) helical symmetricN=1023(a=32) circular symmetricN=1024(S=16) S−symmetric

Figure 4.35: Comparison between di�erent types of symmetri interleaver with eightiterations, N=1024.

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=4096(64x64) block symmetric N=4160(65x64) helical symmetricN=4095(a=64) circular symmetricN=4096(S=25) S−symmetric

Figure 4.36: Comparison between di�erent types of symmetri interleaver with eightiterations, N=4096. 85

Page 102: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

P(e

)

BlockHelicalRandomS−randomS−mod2S−sym.S−sym. mod−2

Figure 4.37: 4 state rate 1/2 turbo ode with di�erent 1024 bit interleaver designs andsix iterations.types.Figures 4.41, 4.42 and 4.43 show the BER performan e of di�erent mod-4 interleaverswith interleaver size 400, 2048 and 4086 bits. A four state rate 4/6 PCCC with pun turingpattern (0 0 0 1) and (1 0 0 0) for the �rst and se ond onstituent ode is simulated for 8iterations. For interleaver size of 400 bits all interleaver types have similar performan e.For interleaver size of 2048 bits the pure S-mod-4 interleaver performs better than theother three interleaver types. The S-mod-4 interleavers with symmetri properties per-forms slightly better than those without symmetri properties. For interleaver size of 4086bits, all interleaver types give very similar performan e, with the pure S-mod-4 interleaverperforming better at Eb=N0 below 2.5 dB.Interleavers with mod-k properties do improve performan e with pun turing, as anbe seem from mod-2 interleavers. However, when high amounts of pun turing are applied(above mod-3 pun turing) the performan e gain from using mod-k interleavers is verysmall. Simulation results also show that in most ases the di�eren e in performan e86

Page 103: serial and parallel turbo codes

between pure mod-k interleavers and random mod-k interleavers are not very signi� ant.Therefore, the added randomess does not seem to result in a better interleaver.

0 1 2 3 4 5 6 7 810

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=8 S−random interleaver S=8 Pure S−mod−3 interleaver S=8 Random S−mod−3 interleaver S=8 Random S−mod−3 Symmetric interleaver

Figure 4.38: 4 state rate 3/5 turbo ode with di�erent 256 bit interleavers and eightiterations.4.5 Interleaver Size and Performan eIn [62℄ it was found that the amount of performan e improvment will diminish asthe interleaver size in reases. There are only very small improvement in performan e asthe interleaver size goes above 8,000 bits. Figure 4.44 shows the BER performan e forfour di�erent interleaver sizes: 192, 1024, 4096 and 8192. As an be seen from the results,there is around 1 dB gain at 10�5 by in reasing the interleaver size from 192 bits to 1024bits. The gain redu es to 0.5 dB as the interleaver size in reases from 1024 bits to 4096bits. The gain a hieved from 4096 bits to 8192 bits is only a fra tion of a dB. Hen ewe get diminishing returns as the interleaver size in reases. However, as mentioned inChapter 3, in reasing the interleaver size does lower the are due to in reased interleavergain. 87

Page 104: serial and parallel turbo codes

0 1 2 3 4 5 6 710

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

S=16 S−random interleaver S=15 Pure S−mod−3 interleaver S=15 Random S−mod−3 interleaver S=15 Random S−mod−3 Symmetric interleaver

Figure 4.39: 4 state rate 3/5 turbo ode with di�erent 1024 bit interleavers and eightiterations.

0 1 2 3 4 5 6 710

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

S=25 S−random interleaver S=25 Pure S−mod−3 interleaver S=25 Random S−mod−3 interleaver S=25 Random S−mod−3 Symmetric interleaver

Figure 4.40: 4 state rate 3/5 turbo ode with di�erent 4096 bit interleavers and eightiterations. 88

Page 105: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 410

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=10 S−random interleaver S=10 Random S−mod−4 interleaverS=10 Random S−mod−4 symmetric S=10 pure S−mod−4 interleaver

Figure 4.41: 4 state rate 4/6 turbo ode with di�erent 400 bit interleavers and eightiterations.

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=20 S−random interleaver S=20 Random S−mod−4 interleaverS=20 Random S−mod−4 symmetric S=20 Pure S−mod−4 interleaver

Figure 4.42: 4 state rate 4/6 turbo ode with di�erent 2048 bit interleavers and eightiterations. 89

Page 106: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 310

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

S=25 S−random interleaver S=25 Random S−mod−4 interleaver S=25 Random S−mod−4 symmetric interleaverS=25 Pure S−mod−4 interleaver

Figure 4.43: 4 state rate 4/6 turbo ode with di�erent 4086 bit interleavers and eightiterations.

0 0.5 1 1.5 2 2.5 3 3.5 410

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=192 (S=6) N=1024 (S=16)N=4096 (S=25)N=8192 (S=64)

Figure 4.44: 4 state rate 1/3 turbo ode with di�erent interleaver sizes and eight iterations.90

Page 107: serial and parallel turbo codes

4.6 Symmetri Interleavers and SCCCsIn the previous se tion we investigated symmetri interleavers whi h an be used forparallel on atenated turbo odes. However, how well will the interleavers perform if theyare used for SCCCs? Figures 4.45, 4.46, 4.47, 4.48 and 4.49 present results for a rate 1/3SCCC (rate 1/2 RSC outer ode and rate 2/3 RSC inner ode) with di�erent types of192 bit, 256 bit, 512 bit, 1024 bit and 4096 bit interleavers with 6 iterations. Ea h nen oded bits from the outer en oder were grouped together before interleaving to ensureS distan e separation after interleaving.As we an see from the simulation results, a onventional S-random interleavera hieves the best results. The ir ular shift and the S-symmetri interleavers a hieve omparable results. This result was not expe ted and a satisfa tory explanation ouldnot be found. However, it seems that SCCCs are more sensitive to interleaver stru ture ompared to PCCCs. An explanation for this ould be a subje t of further studies.

1 1.5 2 2.5 3 3.510

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=192 Rand.N=196 BlockN=192 Circ.S=9 S−rand.S=9 S−Sym.

Figure 4.45: 4 state rate 1/3 SCCC simulation with di�erent types of 192 bit interleaver.91

Page 108: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 4 4.510

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

N=256(16x16) block symmetric N=272(17x16) helical symmetricN=255(a=16) circular symmetricN=256(S=8) S−random N=256(S=8) S−symmetric

Figure 4.46: 4 state rate 1/3 SCCC simulation with di�erent types of 256 bit interleaver.

1 1.5 2 2.5 3 3.510

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

N=512 Rand.N=529 BlockN=512 Circ.S=13 S−rand.S=13 S−Sym.

Figure 4.47: 4 state rate 1/3 SCCC simulation with di�erent types of 512 bit interleaver.92

Page 109: serial and parallel turbo codes

0 0.5 1 1.5 2 2.5 3 3.5 410

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

N=1024(32x32) block symmetric N=1056(17x16) helical symmetricN=1023(a=32) circular symmetricN=1024(S=16) S−random N=1024(S=16) S−symmetric

Figure 4.48: 4 state rate 1/3 SCCC simulation with di�erent types of 1024 bit interleaver.

0 0.5 1 1.5 2 2.5 3 3.510

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

N=4096(64x64) block symmetric N=4160(65x64) helical symmetricN=4095(a=64) circular symmetricN=4096(S=25) S−random N=4096(S=25) S−symmetric

Figure 4.49: 4 state rate 1/3 SCCC simulation with di�erent types of 4096 bit interleaver.93

Page 110: serial and parallel turbo codes

4.7 Con lusionIn this hapter we examined several di�erent interleaver types and properties. Wesimulated the performan e of these interleavers with PCCCs and found that interleaverswith the symmetri property perform better than interleavers without the symmetri property. This may be due to the fa t that a symmetri interleaver has identi al interleaveand deinterleave patterns whi h an make it both a good interleaver and deinterleaver.Further improvements an be a hieved if the S distan e onstraints are introdu ed to theinterleaver. A symmetri interleaver also has the advantage of redu ing the omplexityof turbo odes be ause only a single sequen e is needed to perform both interleaving anddeinterleaving.When applied to pun tured turbo odes a mod-k interleaver allows uniform prote tiona ross ea h bit. This is useful where we want to ensure that ea h information bit isprote ted by at least one parity bit. Simulation results show that this type of interleaver an perform better than a pseudo-random interleaver for pun tured turbo odes.We ombined the symmetri , mod-k and S distan e properties together during thegeneration of the interleaver. From simulations, we found that the ombined interleaverperforms better than either a symmetri or mod-k interleaver.We also �nd that when we apply the S-symmetri interleaver to SCCCs we an-not a hieve a performan e improvement when ompared to an S-random interleaver. Ingeneral, an S-random interleaver an a hieve better performan e than other types of in-terleavers for SCCCs. It is not fully understood why S-symmetri interleavers do notperform as well as an S-random interleaver when applied to SCCCs. This ould be asubje t of further investigation.Re ently, a new interleaver stru ture based on the \golden" ratio was proposed [6℄.It was found that this type of interleaver an dramati ally lower the are of turbo odesat high Eb=N0. Further investigation will be required to �nd out how well symmetri interleavers ompare to this type of interleaver.94

Page 111: serial and parallel turbo codes

Chapter 5Varian e estimation for PCCCs andSCCCs5.1 Introdu tionIn analysing wireless hannels we usually assume that we know exa tly the varian eof the hannel. However, in real appli ations this is usually not the ase. The varian eneeds to be derived from the data that was re eived and hen e is only an approximation.There remains a question on how will a non-a urate varian e a�e t the performan e ofan iterative de oder, for both PCCCs and SCCCs.In [63, 64℄ a study of varian e variation on the performan e of PCCCs was performed.It was found that the penalty due to the performan e for PCCCs was small if the varian eestimated was below the a tual value of the varian e, i.e. �2estimate � �2true. However, thee�e t on the performan e of SCCCs has not been previously studied. In this hapter wewill �rst look at the e�e t of di�erent varian e o�sets on the performan e of PCCCs andSCCCs and see if we an apply the varian e estimation methods previously studied forPCCCs.5.2 Varian e sensitivity of PCCCs and SCCCsIn this se tion we will look at the varian e sensitivity of PCCCs and SCCCs and itse�e t on their performan e. 95

Page 112: serial and parallel turbo codes

5.2.1 Varian e sensitivity of onstituent odesBefore we go any further, we will look at the e�e t of varian e mismat h on theperforman e of the onstituent odes sin e they are an integral part of both SCCCs andPCCCs. To simplify the pro ess we only look at the performan e of CCs for a four staterate 1/2 and 2/3 onstituent ode with di�erent values of Eb=N0 o�set. We use Eb=N0be ause we an dire tly relate the results ba k to simulated BER results as well as thea tual varian e sin e Eb=N0 is inversely proportional to the varian e of the hannel.Figures 5.1 and 5.2 shows the BER performan e of a rate 1/2 and 2/3 log-MAPde oder with a de oder Eb=N0 o�set range from -8dB to 8dB. These two rates were hosen be ause they are the most ommonly used CC in PCCCs and SCCCs.Note that the Eb=N0 of the hannel an be onverted to �2 (for an overall ode rateof R) for a BPSK AWGN hannel by using the following relationship�2 = (2R EbNo )�1:Sin e Eb=N0 is inversely proportional to the varian e �2, if the o�set is negative, thenthe varian e used by the de oder is greater than that of the a tual noise varian e, i.e.,�2MAP > �2noise. Whereas if the the o�set is positive, then the varian e of the de oder isless than that of the a tual noise varian e, i.e. �2MAP < �2noise.As we an see from the �gures, both rates perform quite well if the estimated varian eis less than the a tual noise varian e of the hannel, i.e., if the de oder underestimates thea tual ondition of the hannel. On the other hand, performan e does not degrade untilthe Eb=N0 o�set is at least 2dB under the a tual Eb=N0. Hen e, the log-MAP algorithm isquite robust to noise varian e variation. This is going to a�e t the performan e of PCCCsand SCCCs in terms of varian e mismat h, as we will see later.5.2.2 Varian e mismat h of PCCCsIt was found in [63℄ and [64℄ that the varian e mismat h fa tor does not signi� antlya�e t the performan e of PCCCs if the estimated varian e is less than the true noisevarian e. This is similar to that of the log-MAP de oder in the last se tion sin e it is an96

Page 113: serial and parallel turbo codes

−8 −6 −4 −2 0 2 4 6 810

−3

10−2

10−1

100

Eb/No offset

BE

R

0 db1 db2 db3 db4 db

Figure 5.1: BER performan e of four state rate 1/2 log-MAP de oder versus de oderEb=N0 o�set, N=1024.

−8 −6 −4 −2 0 2 4 6 810

−3

10−2

10−1

100

Eb/No offset

BE

R

0 db1 db2 db3 db4 db

Figure 5.2: BER performan e of four state rate 2/3 log-MAP de oder versus de oderEb=N0 o�set, N=1024. 97

Page 114: serial and parallel turbo codes

integral part of the PCCC de oder. We an explain this by looking at the stru ture ofa PCCC de oder. Varian e estimation is used at both onstituent de oders, where the hannel information is being fed into the de oder. This an help distribute the errorsbetween the two de oders. Hen e, the performan e of a PCCC de oder with an S=16S-random interleaver is similar to a MAP de oder with varian e mismat h, as we an seein Figure 5.3.

−6 −4 −2 0 2 4 610

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No offset (dB)

BE

R

Eb/No=0 dB Eb/No=0.5 dBEb/No=1 dB Eb/No=1.5 dBFigure 5.3: BER performan e of four state rate 1/3 PCCC versus de oder Eb=N0 o�set,N=1024, six iterations.

5.2.3 Varian e mismat h of SCCCFigures 5.4, 5.5, 5.6 and 5.7 show the performan e of a four state rate 1/3 SCCCversus varian e mismat h for six iterations with log-MAP onstituent de oder and S-random interleaver sizes of 256 (S=8), 1024(S=16), 2048(S=20) and 4096(S=26) bits,respe tively. As we an see from the results, the same annot be said about SCCCs,where both under estimates and over estimates do not perform very well. This might be98

Page 115: serial and parallel turbo codes

due to the fa t that the pro ess of varian e estimation is only used at the inner de odingstage. Hen e, varian e mismat h errors only appear at the �rst de oding stage, omparedto PCCCs where the errors are more evenly spread a ross both de oders. Also note thatthe de oder a hieves better performan e if the Eb=N0 is somewhere between -0.5 to -1 dBaway from the true Eb=N0. We annot �nd a satisfa tory explanation for this e�e t whi h ould be a fo us for future investigation.

−6 −4 −2 0 2 4 610

−4

10−3

10−2

10−1

100

Eb/No offset (dB)

BE

R

Eb/No=0 dB Eb/No=1 dB Eb/No=2 dB Eb/No=2.5 dB

Figure 5.4: BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=256, eight iterations.

99

Page 116: serial and parallel turbo codes

−6 −4 −2 0 2 4 610

−4

10−3

10−2

10−1

100

Eb/No offset (dB)

BE

R

Eb/No=0 dB Eb/No=0.5 dBEb/No=1 dB Eb/No=1.5 dBFigure 5.5: BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=1024, eight iterations.

−6 −4 −2 0 2 4 610

−5

10−4

10−3

10−2

10−1

100

Eb/No offset (dB)

BE

R

0 dB0.5 dB1 dB1.2 dB1.4 dB

Figure 5.6: BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=2048, six iterations. 100

Page 117: serial and parallel turbo codes

−6 −4 −2 0 2 4 610

−5

10−4

10−3

10−2

10−1

100

Eb/No offset (dB)

BE

R

Eb/No=0 dB Eb/No=0.5 dBEb/No=1 dB Figure 5.7: BER performan e of four state rate 1/3 SCCC versus de oder Eb=N0 o�set,N=4096, eight iterations.5.3 Varian e estimation methods.Two di�erent varian e estimation approa hes were proposed in [64, 9℄ and [63℄. Bothapproa hes, although di�erent, are suitable for online estimation of the hannel varian e.5.3.1 Summer varian e estimator[64, 9℄ proposed a way of estimating the varian e dire tly from the magnitude of there eived symbol rn by �nding the ratio between E(r2n) and E(jrnj)2, whi h is a fun tionof Es=N0. We have E(r2n) = Es + �2and E(jrnj) = �q 2�e�(Es=2�2) +pEs herf�q Es2�2�i :101

Page 118: serial and parallel turbo codes

The ratio be omes,E(r2n)[E(jrnj)℄2 = 1 + Es�2�q 2�e�(Es=2�2) +qEs�2 herf�q Es2�2�i�2= f �Es�2� :As we an see, it is not easy to �nd the varian e from the ratio by using this equation.A pra ti al approa h is to �nd the ratio and its related hannel varian e �2 for theoperational range of the de oder and express it as a lookup table. By using this lookuptable we an �nd the varian e of the hannel by obtaining the ratio from the re eiveddata. Another way, as suggested in [64℄, is to �nd an nth order polynomial that anapproximate the ratio E(r2n)/E(jrnj)2 for a �xed hannel varian e range that is related tothe de oder's Eb=N0 operating range.

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.41.35

1.4

1.45

1.5

1.55

Channel Variance

f(x)

true estimated

Figure 5.8: f(x) versus Channel Varian e.Figure 5.8 shows the plot of f(x) versus hannel varian e for a rate 1/3 ode. The102

Page 119: serial and parallel turbo codes

expression of the polynomial isf(x) = 515:8817x3 � 2175:6197x2 + 3060:7811x� 1435:7934where the oeÆ ients of the third order polynomial were obtained from the poly�t fun -tion in Matlab [65℄. First the fun tion f(x) is analysed for the hannel varian e rangethat is equivalent to an Eb=N0 range from -2dB to 5 dB. The Matlab fun tion poly�t isthen used to �nd the polynomial that �ts the fun tion f(x) in the least squares sense.The oeÆ ients of the polynomial generated by Matlab is then used in the estimator toestimate the hannel varian e given the re eived E(r2n)/E(jrnj)2 ratio. The Matlab �leused to generate the oeÆ ients is given in Appendix D.An advantage of this method is that it an provide an estimate of the varian e beforethe de oding of ea h blo k. This allows the de oder to operate at a varian e that is quite lose to the true varian e. The estimated varian e at ea h blo k is averaged with the lastestimate using ~�2j = �̂2j� + (1� �)~�2j�1 (5.1)where �̂2j is the estimated varian e of the urrent blo k j, ~�2j�1 is the varian e of the lastblo k , and � an be varied to adjust the averaging response, whi h is 0.99 for this ase.5.3.2 Reed varian e estimatorIn [63℄ an estimator that uses the turbo de oder hard de ision output to estimatethe noise varian e was proposed. It makes use of the fa t that, given enough Eb=N0,the hard-de ision output of the turbo de oder will be very lose to the symbol a tuallytransmitted. Hen e, we an make use of this fa t to a urately estimate the varian e ofthe hannel by using the equation̂�2j+1 = N�1Xk=0 (rk;j � d̂k;j)2N (5.2)where rk;j is the re eived symbol at time k in blo k j, d̂k;j is the hard de ision output ofthe turbo de oder after an integer number of iterations and ak is the fading amplitude of103

Page 120: serial and parallel turbo codes

a fully interleaved, frequen y non-sele tive, slowly fading Rayleigh hannel. Note that theestimated varian e is for the next blo k of the turbo de oder. The varian e is averagedat ea h de oded blo k using ~�2j+1 = �̂2j+1� + (1� �)~�2j : (5.3)A disadvantage of this estimator is that it has a one blo k delay. That is, the estimatorhas to wait for the hard de ision of the �rst blo k before the estimated varian e an beused for the next blo k. However, this an be over ome by using a simple estimator to�nd a lose estimate of varian e before the �rst iteration starts.5.3.3 New Reed varian e estimatorAn assumption of the Reed estimator is that it assumes the de oder knows exa tlythe magnitude of the transmitted amplitude. This is not true in a real ommuni ationsystems where the amplitude of the signal is dependent on the signal to noise ratio due tothe auto gain ontrol of the re eiver ampli�er. At high SNR the amplitude of the signalis lose to the gain level of the auto gain ontroller. At low SNR, the ombination ofnoise and signal results in the signal amplitude being redu ed by the auto gain ontroller.Without knowing the SNR, this amplitude annot be determined.Here, we propose a new estimator whi h is similar to the Reed estimator, but we es-timate the amplitude of the re eived symbol from the hard de isions of the turbo de oder.The varian e, �2 an be estimated by�̂2j+1 = E[(Xj � �̂j)2℄= E[X2j ℄� �̂2jwhere E[ ℄ is the sample average and �̂j is the mean amplitude of the estimated re eiveddata blo k j �̂j = 1N N�1Xk=0 ^dk;jrk;j104

Page 121: serial and parallel turbo codes

rk;j is the re eived symbol at time k in blo k j and ^dk;j is the hard de ision output of theturbo de oder after an integer number of iterations. E[X2j ℄ is estimated byE[X2j ℄ ' 1N N�1Xk=0 (rk;j)2:The varian e is averaged at ea h de oded blo k using (5.3).5.4 Varian e estimator performan eThis se tion illustrates the performan e of the varian e estimators for a PCCC andSCCC.5.4.1 PCCCFigures 5.9, 5.10 and 5.11 present a performan e omparison between di�erent vari-an e estimators for a four state rate 1/3 PCCC with S-random interleaver sizes of 384(S=11), 4096 (S=25) and 8192 (S=35) bits, respe tively. Six PCCC de oder iterationswere performed before a hard de ision was made.As we an see, the Summer, Reed and New Reed methods perform very well forall interleaver sizes. There is no di�eren e in BER performan e for all three estimators hemes. Note that the Reed estimator annot be implemented in pra tise sin e the a tualsignal amplitude is not known.5.4.2 SCCCFigures 5.12, 5.13 and 5.14 present performan e omparisons between di�erent vari-an e estimators for a four state rate 1/3 SCCC and six iterations. Three di�erent pseu-dorandom interleaver sizes were simulated: 384, 2048 and 8192 bits. For SCCCs theperforman e of the estimators are quite similar to the PCCC. For the three blo k sizessimulated all three varian e estimators perform quite well. However, the Reed estimatordoes perform a fra tion of a dB worse than the other two estimator at low Eb/No.It also appears from the simulations that the performan e of the Summer estimatordegrades for low Eb=N0. This ould be due to the fa t that the outer de oder does not105

Page 122: serial and parallel turbo codes

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Exact Summer Reed New Reed

Figure 5.9: Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=384 and six iterations.

0 0.2 0.4 0.6 0.8 1 1.2 1.410

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Exact Summer Reed New Reed

Figure 5.10: Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=4092 and six iterations.106

Page 123: serial and parallel turbo codes

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110

−6

10−5

10−4

10−3

10−2

10−1

Eb/No (dB)

BE

R

Exact Summer Reed New Reed

Figure 5.11: Performan e omparison between di�erent varian e estimators, four state,rate 1/3 PCCC, N=8192 and six iterations.dire tly use the re eived data, depending entirely on the output of the inner de oder.This varian e estimation error from the inner de oder will thus be ampli�ed by the outerde oder.5.5 Mean Squared Error Performan eIn Table 5.1 we have the mean squared error performan e for ea h estimator withdi�erent varian e values for a four state SCCC de oder with a blo k size of 384. As anbe seen from the results the mean squared error for three di�erent values of �2 range from0.001 to 0.01. Hen e the estimated varian e generated by all three estimation s hemesare very lose to the a tual hannel varian e.5.6 Con lusionIn this hapter we studied the e�e t of varian e mismat h for PCCCs and SCCCs.107

Page 124: serial and parallel turbo codes

0 0.5 1 1.5 2 2.510

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

Perfect estimationSummer Reed New Reed

Figure 5.12: Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=384 and six iterations.

0 0.5 1 1.510

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

Perfect estimationSummer Reed New Reed

Figure 5.13: Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=2048 and six iterations.108

Page 125: serial and parallel turbo codes

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

BE

R

Perfect estimationSummer Reed New Reed

Figure 5.14: Performan e omparison between di�erent varian e estimators, four staterate 1/3 SCCC, N=8092 and six iterations.Estimator �2=1.191612 �2=1.062025 �2=0.946531Summer 1.536258e-02 5.144830e-03 1.350778e-03Reed 8.565042e-03 1.387372e-03 2.243528e-03New Reed 1.214932e-02 4.511558e-03 3.999086e-03Table 5.1: Mean Squared Error for di�erent estimators with blo k size of 384.We found that SCCCs are more sensitive to varian e mismat h ompared to PCCCs. Twodi�erent varian e estimators that were applied to PCCCs were reviewed and applied toSCCCs to test its performan e. It was found that the Reed estimator made an unrealisti assumption that the signal amplitude is known. We orre ted this in the New Reedestimator. We found that the Summer estimator, Reed estimator and the New Reedestimator perform very well for both large and small blo k sizes.109

Page 126: serial and parallel turbo codes

Chapter 6Con lusion6.1 Summary of resultsIn Chapter 3 riteria for good CCs for PCCCs were investigated. Previous odesear hes were based on �nding CCs that maximised e�e tive free distan e. E�e tive freedistan e is the minimum free distan e that is generated by an input weight two odeword.Based on the uniform bound we found that in addition to maximising the e�e tive freedistan e, we should also minimise the number of nearest neighbors. The number of nearestneighbours is determined by �nding the number of times input weight two error pathsremerge with the zero state. We also found that for some CCs whi h have high oderate, there are very likely multiple generator polynomials having identi al e�e tive freedistan e and number of nearest neighbours. Additional riteria, namely dmin; Nmin; d3and N3 were used to �nd the best CC. We found some odes that are identi al to thosepublished in [43℄ as well as some odes that should perform better sin e we maximisedboth e�e tive free distan e and minimum distan e.We also looked at three di�erent ways of �nding the distan e spe trum of CCs. The�rst method uses the modi�ed state diagram and Mason's formula to �nd the generatingfun tion of the onvolutional ode. The se ond method uses the state transition matrixto solve the state equation going into the terminal state. This results in a generatingfun tion of the onvolutional ode. The third method uses the unidire tional algorithmwhi h is similar to the Viterbi algorithm. This last method is easier to program sin e it110

Page 127: serial and parallel turbo codes

involves systemati extension of paths from ea h state of the trellis se tion to �nd errorpaths that remerges with the zero state.Using the unidire tional algorithm the best CCs were found for rate 1/2, 1/3, 1/4,1/5, 2/3, 3/4, 4/5, 5/6 and pun tured 1/2. From the trun ated uniform bound of these odes, we found that the BER performan e with maximum likelihood de oding is improvedby in reasing the memory of the CC.In Chapter 4 we investigated di�erent types of interleavers that an be used forPCCCs and SCCCs. First, we looked at the generation method of two types of blo kinterleaver: row- olumn blo k interleaver and blo k heli al interleaver. These interleaversare based on writing ea h element row by row and reading ea h element a ording to adi�erent pattern. We then looked at ir ular interleavers, whi h are based on the ir ularshift of ea h elements with step size a. This type of interleaver is more random omparedto blo k interleavers and relatively easy to generate in real time. We also looked atpseudo-random interleavers whi h are generated randomly. Although it an give betterperforman e, they are quite hard to generate in real time without the use of large lookuptables.We also looked at various interleaver properties that an be used to improve theperforman e of PCCCs. First, we looked at the S distan e property. This ensures anS distan e separation between the urrent elements and S neighbouring elements. Thisproperty, if ombined with pseudo-random interleaving, performs quite well with bothPCCCs and SCCCs. The next property, the mod-k property, an be used to redu e theproblem of uneven error prote tion aused by parity pun turing of PCCCs. The propertyensures that every information bit, after pun turing, will be uniformly prote ted. Thisproperty, if ombined with pseudo-random interleaving, an outperform a pseudo-randominterleaver for pun tured PCCCs.The last property we investigated is the symmetri property. An interleaver with thisproperty will have identi al interleave and deinterleave patterns. This property has theadvantage of a simpler implementation sin e only one interleave sequen e is required. A111

Page 128: serial and parallel turbo codes

quadrati interleaver is one type of interleaver that an have this symmetri property. Itis also possible to generate symmetri interleavers using the ir ular, blo k, blo k heli aland pseudo-random interleavers.We found that if we ombined the S-distan e, mod-k and symmetri properties forPCCCs, we an a hieve better performan e ompared to interleavers with only one prop-erty. For SCCCs, the symmetri property was found to redu e performan e for someinterleaver sizes.In Chapter 5 we looked at varian e estimation methods for SCCCs. It was foundin [63, 64℄ that the BER performan e degradation of PCCCs is small if the estimatedvarian e is below the a tual varian e value. We studied the e�e t on performan e forSCCCs if there are mismat hes in varian e estimation. We found that SCCCs are moresensitive to varian e errors. If the estimated Eb=N0 is 0.5 to 1 dB above the true Eb=N0the performan e starts to degrade. However, if the estimated Eb=N0 is 0.5 to 1 dB belowthe true Eb=N0, in some ases we a hieve better performan e. This is a strange e�e t thatwe ould not explain. For estimated Eb=N0 greater than 1 dB below the true Eb=N0, theperforman e qui kly degrades.Two di�erent varian e estimation s hemes that were proposed were investigated forPCCCs and SCCCs. We had to modify one of the s hemes to take into a ount that there eived signal amplitude is usually not known. We found that both s hemes performquite well for SCCCs, in some ases even better than the true varian e ase. This mightdue to the fa t that under estimation works better for SCCCs.6.2 Areas for Future Resear hThere are a number of areas that require further investigation. In Chapter 2 we foundbetter CCs up to rate 5/6 for k/(k+1) odes and 1/5 for 1/n. It would be interestingto extend the results to higher rates and memory. This will allow more ombinationsof di�erent PCCC ode rates and omplexities. Also, optimum CCs for rate ompatibleturbo odes will be an interesting resear h topi .112

Page 129: serial and parallel turbo codes

Re ently, there is a new type of interleaver based on the Golden ratio whi h an lowerthe are of the PCCCs for bit error rate and frame error rate. It would be interestingto see how this interleaver stru ture an be integrated with the mod-k and symmetri properties so that it an further improve performan e.The e�e t of a hieving better SCCC performan e if the varian e is slightly overestimated requires further study. It is not lear why this would happen to SCCCs sin eit does not appear for PCCCs. If we an explain this behaviour we might be able to �nda better SCCC de oder.

113

Page 130: serial and parallel turbo codes

Bibliography[1℄ C. Berrou, A. Glavieux, and P. Thitiumjshima, \Near Shannon limit error orre ting oding: Turbo odes," in Intl. Conf. on Commun., (Geneva, Switzerland), pp. 1064{1070, May 1993.[2℄ S. Benedetto, R. Garello, and G. Montorsi, \A sear h for good onvolutional odesto be used in the onstru tion of turbo odes," IEEE Trans. on Commun., vol. 46,pp. 1101{1105, Sept. 1998.[3℄ M. S. C. Ho, S. S. Pietrobon, and T. Giles, \Improving the onstituent odes ofturbo en oders," in Pro eeding 1998 IEEE Global Tele ommuni ations Conferen e,(Sydney, Australia), pp. 3525{3529, November 1998.[4℄ S. Dolinar and D. Divsalar, \Weight distribution for turbo odes using random andnonrandom permutations," JPL TDA Progress Report, pp. 56{65, Aug. 1995.[5℄ S. A. Barbules u and S. S. Pietrobon, \Interleaver design for turbo odes," Ele troni Letters, vol. 30, pp. 2107{2108, De . 1994.[6℄ S. Crozier, J. Lodge, P. Guinand, and A. Hunt, \Performan e of turbo- odes withrelative prime and golden interleaving strategies," in Pro eeding Sixth InternationalMobile Satellite Conferen e, (Ottawa), pp. 268{275, June 1999.[7℄ M. S. C. Ho, S. S. Pietrobon, and T. Giles, \Interleavers for pun tured turbo odes,"in Pro eedings APCC/ICCS '98, vol. 2, (Singapore), pp. 520{524, Nov. 1998.[8℄ S. S. Pietrobon and A. S. Barbules u, \A simpli� ation of the modi�ed Bahl de odingalgorithm for systemati onvolutional odes," in Int. Symp. on Inform. Theory andits Appli ations, (Sydney, Australia), pp. 1073{1077, Nov. 1994.[9℄ S. S. Pietrobon, \Implementation and performan e of a turbo/MAP de oder," Int.J. of Satellite Commun., vol. 16, pp. 23{46, Jan./Feb. 1998.[10℄ P. Robertson, E. Villebrun, and P. Hoeher, \A omparison of optimal MAP de od-ing algorithms operating in the log domain," in Pro . IEEE Int. Conf. Commun.,(Seattle, USA), pp. 1009{1013, June 1995.114

Page 131: serial and parallel turbo codes

[11℄ L. Bahl, J. Co ke, F. Jelinek, and J. Raviv, \Optimal de oding of linear odes forminimizing symbol error rate," IEEE Trans. Inform. Theory, vol. IT-20, pp. 284{287,1974.[12℄ D. G. Forney, Jr., Con atenated odes. Cambridge, MIT Press, 1966.[13℄ S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, \Serial on atenation of in-terleaved odes: Performan e analysis, design, and iterative de oding," IEEE Trans.Inform. Theory, vol. 44, pp. 909{926, May 1998.[14℄ R. W. Chang and J. C. Han o k, \On re eiver stru tures for hannels having mem-ory," IEEE Trans. Inform. Theory, vol. IT-12, pp. 463{468, O t. 1966.[15℄ A. J. Viterbi, \An intuitive justi� ation and a simpli�ed implementation of the MAPde oder for onvolutional odes," IEEE J. Sele ted Areas Commun., vol. 16, Feb.1998.[16℄ J. Hagenauer and P. Hoeher, \A Viterbi algorithm with soft-de ision outputs andits appli ations," in Pro . IEEE GLOBECOM, (Dallas, USA), pp. 1680{1686, Nov.1989.[17℄ J. Hagenauer, P. Robertson, and L. Papke, \Iterative (\TURBO") de oding of sys-temati onvolutional odes with the MAP and SOVA algorithms," in Pro . of theITG Conf. \Sour e and Channel Coding", (Muni h, Germany), pp. 21{29, 1994.[18℄ Y. Li, B. Vu eti , Y. Sato, and Y. Furuya, \A soft-output Viterbi algorithm," inMobile and Personal Commun. Systems Conferen e, (Adelaide, Australia), pp. 223{231, Nov. 1992.[19℄ C. Berrou, P. Adde, E. Angui, and S. Faudeil, \A low omplexity soft-output viterbide oder ar hite ture," in IEEE Int. Conf. on Communi ations, (Geneva), pp. 737{740, May 1993.[20℄ L. Bahl, J. Co ke, F. Jelinek, and J. Raviv, \Optimal de oding of linear odes forminimizing symbol error rate," in Pro . IEEE Int. Symp. on Information Theory,(Asilmoar, CA), p. 90, May 1972.[21℄ P. L. M Adam, L. R. Wel h, and C. L. Weber, \M.A.P. bit de oding of onvolutional odes," in Pro . IEEE Int. Symp. on Information Theory, (Asilomar, CA), p. 91, May1972.[22℄ S. A. Barbules u, R. Chang, and S. Yaghmour, \Turbo ode -QPSK modem forIntelsat digital servi es," in Pro eedings of 2nd International Symposium on TurboCodes and Related Topi s, (Brest, Fran e), pp. 487{490, 4-7 September 2000.115

Page 132: serial and parallel turbo codes

[23℄ S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, \A soft-input soft-outputmaximum a posteriori (MAP) module to de ode parallel and serial on atenated odes," JPL TDA Progress Report, vol. 42, pp. 1{20, Nov. 1996.[24℄ W. Ko h and A. Baier, \Optimum and sub-optimum dete tion of oded data dis-tributed by time varying intersymbol interferen e," in Pro eedings of GLOBECOM1990, (San Diego, CA), pp. 1679{1684, De . 1990.[25℄ J. Erfanian, S. Pasupathy, and G. Gulak, \Redu ed omplexity symbol dete torswith parallel stru tures for ISI hannels," IEEE Trans. Commun., vol. COM-42,pp. 1661{1671, 1994.[26℄ P. Robertson, E. Villebrun, and P. Hoeher, \A omparison of optimal and sub-optimal MAP de oding algorithms operating in the Log domain," in Pro eedings ofICC 1995, (Seattle, WA), pp. 1009{1013, June 1995.[27℄ M. P. C. Fossorier, F. Burket, S. Lin, and J. Hagenauer, \On the equivalen e betweenSOVA and Max-Log-MAP de odings," IEEE Communi ations Letters, vol. Vol. 2,pp. 137{139, May 1998.[28℄ Y. Li, B. Vu eti , and Y. Sato, \Optimum soft-output dete tion for hannels withinter-symbol inferen e," IEEE Trans. Inform. Theory, vol. 41, pp. 704{713, May1995.[29℄ B. Vu eti , \Iterative de oding algorithms," in The International Symposium onPersonal, Indoor and Mobile Radio Communi ations, (Helsinki, Finland), Sept. 1-41997.[30℄ A. J. Viterbi, \Error bounds for onvolutional odes and an asymptoti ally optimumde oding algorithm," IEEE Trans. Inform. Theory, vol. 13, pp. 260{269, April 1967.[31℄ B. Vu eti and J. Yuan, Turbo Codes Prin iples and Appli ations. Kluwer A ademi Publishers, 2000.[32℄ P. Jung and M. .Nasshan, \Performan e evaluation of turbo odes for short frametransmission systems," Ele troni s Letters, vol. 30, pp. 111{112, Jan. 1994.[33℄ P. Robertson, \Improving de oder and ode stru ture of parallel on atenated re- ursive systemati (turbo) odes," Third Annual Intl. Conf. on Univeral PersonalCommum., pp. 183{187, Sept. 1994.[34℄ M. Reed and S. Pietrobon, \Turbo- ode termination s hemes and a novel alternativefor short frames," IEEE PIMRC, 1996.[35℄ O. Y. Takeshita, O. M. Collins, P. C. Massey, and D. J. Costello, Jr., \A note onasymmetri turbo- odes," IEEE Communi ations Letters, vol. 3, pp. 69{71, Mar h1999. 116

Page 133: serial and parallel turbo codes

[36℄ P. K. Gray, Serially on atenated trellis oded modulation. PhD thesis, Univ. of SouthAustralia, Mar h 1999.[37℄ J. Sun, W. Qi, W. H. Mow, and K. H. Li, \Turbo odes with short memory omponent odes," in Pro eedings APCC/ICCS '98., vol. 2, (Singapore), pp. 530{534, 1998.[38℄ J. Y. Couleaud, \High gain oding s hemes for spa e ommuni ations," ENSICAFinal Year Proje t Report, University of South Australia, Sept. 1995.[39℄ P. Elias, \Coding for noisy hannel," IRE Conv. Re ., no. 4, pp. 37{47, 1955.[40℄ S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamental and Appli ations.Upper Saddle River, New Jersey 07458: Prenti e-Hall, 1983.[41℄ S. B. Wi ker, Error Control Systems for Digital Communi ation and Storage. UpperSaddle River, New Jersey 07458: Prenti e Hall, 1995.[42℄ J. L. Massey, Threshold De oding. Cambridge, Mass.: M.I.T. Press, 1963.[43℄ S. Benedetto and G. Montorsi, \Unveiling turbo odes: Some results on parallel on atenated oding s hemes," IEEE Trans. Inform. Theory, vol. 42, pp. 409{429,Mar h 1996.[44℄ L. C. Perez, J. Seghers, and D. J. Costello, Jr., \A distan e spe trum interpretationof turbo odes," IEEE Trans. Inform. Theory, vol. 42, pp. 1698{1709, Nov. 1996.[45℄ D. Divsalar and P. Pollara, \Turbo odes for PCS appli ations," in Pro eedings ofIEEE ICC'95, pp. 54{59, June 1995.[46℄ J. G. C. Clark and J. B. Cain, Error-Corre tion Coding for Digital Communi ations.New York: Plenum Press, 1981.[47℄ S. Mason and H. Zimmermann, Ele troni Cir uits, Signals, and Systems. New York:Wiley, 1960.[48℄ L. R. Bahl, C. D. Cullum, W. D. Frazer, and F. Jelinek, \An eÆ ient algorithmfor omputing free distan e," IEEE Trans. Inform. Theory, vol. IT-18, pp. 437{439,May 1972.[49℄ W. W. Peterson and E. J. WeldonJr, Error-Corre ting Codes. Cambridge: The MITPress, 1961.[50℄ D. Divsalar and F. Pollara, \Hybrid on atenated odes and iterative de oding,"JPL TDA Progress Report, pp. 1{23, Aug. 1997.[51℄ S. S. Pietrobon, R. H. Deng, A. Lafane hhre, G. Ungerboe k, and D. J. Costello, Jr.,\Trellis- oded multidimensional phase modulation," IEEE Trans. Inform. Theory,vol. 36, pp. 63{89, Jan. 1990. 117

Page 134: serial and parallel turbo codes

[52℄ D. Divsalar and F. Pollara, \On the design of turbo odes," JPL TDA Progess Report,pp. 99{121, Nov. 1995.[53℄ J. B. Cain, G. C. Clark, Jr., and J. M. Geist, \Pun tured onvolutional odes of rate(n-1)/n and simpli�ed maximum likelihood de oding," IEEE Trans. Inform. Theory,vol. IT-25, pp. 97{100, Jan. 1979.[54℄ J. Hokfelt, T. Maseng, and O. Edfors, \Assessing interleaver suitability for turbo odes.," in To appear in Nordi Radio Symposium 1998, (Saltsjobaden, Sweden),O t. 1998.[55℄ Small World Communi ations, \ Iterative De oding of Parallel Con atenated Con-volutional Codes", Jan. 1999. Appli ation Note Version 1.4.[56℄ O. Y. Takeshita and D. J. Costello, Jr., \New lasses of algebrai interleavers forturbo- odes," in Pro eedings of IEEE International Symposium on Information The-ory, (MIT, Cambridge, MA USA), p. 419, Aug. 1998.[57℄ A. S. Barbules u and S. S. Pietrobon, \Interleaver design for three dimensional turbo odes," IEEE International Symposium on Information Theory, p. 37, Sept. 1995.[58℄ T. S. Rappaport,Wireless Communi ations Prin iples and Pra ti e. NJ, USA: Pren-ti e Hall, 1996.[59℄ J. G. Proakis, Digital Communi ations. M Graw-Hill Book Co., 3 ed., 1995.[60℄ D. T. Chi, \A new blo k heli al interleaver," in Pro eedings of MILCOM 1992, (SanDiego, CA), pp. 799{804, O t. 1992.[61℄ A. S. Barbules u and S. S. Pietrobon, \Terminating the trellis of turbo odes in thesame state," Ele troni s Letters, vol. 31, pp. 22{23, Jan. 1995.[62℄ S. Dolinar, D. .Divsalar, and F. Pollara, \Code performan e as a fun tion of blo ksize," TMO Progess Report, vol. 42, May 1998.[63℄ M. Reed and J. Asenstorfer, \A novel varian e estimator for turbo- ode de oding,"in Pro . ICT '97, (Melbourne, Australia), pp. 173{178, April 1997.[64℄ T. A. Summers and S. G. Wilson, \SNR mismat h and online estimation in turbode oding," IEEE Transa tions on Communi ations, vol. 46, pp. 421{423, April 1998.[65℄ The Mathworks, In ., The Student Edition of Matlab. New Jersey, USA: Prenti e-HallInternational Editions, 1992.118

Page 135: serial and parallel turbo codes

Appendix APerforman e bounds of PCCCThis appendix ontains the performan e bounds of PCCC with rate 1/2, 1/3, 2/3, pun -tured 1/2, 3/4, 1/4, 1/5 and 4/5 CC.

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32s=64

Figure A.1: Trun ated union bound for rate 1/5 PCCC with 1024 bits interleaver, with2 state to 64 state rate 1/3 onstituent odes.119

Page 136: serial and parallel turbo codes

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32s=64

Figure A.2: Trun ated union bound for rate 1/2 PCCC with 1024 bits interleaver, with2 state to 64 state rate 2/3 onstituent odes.

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32s=64s=128

Figure A.3: Trun ated union bound for rate 1/2 PCCC with 1024 bits interleaver, with2 state to 128 state pun tured rate 1/2 onstituent odes.120

Page 137: serial and parallel turbo codes

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32

Figure A.4: Trun ated union bound for rate 3/5 PCCC with 1024 bits interleaver, with2 state to 32 state rate 3/4 onstituent odes.

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16s=32

Figure A.5: Trun ated union bound for rate 1/7 PCCC with 1024 bits interleaver, with2 state to 32 state pun tured rate 1/4 onstituent odes.121

Page 138: serial and parallel turbo codes

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=2s=4s=8s=16

Figure A.6: Trun ated union bound for rate 1/9 PCCC with 1024 bits interleaver, with2 state to 16 state rate 1/5 onstituent odes.

0 1 2 3 4 5 6 7 8 9 1010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

s=4s=8s=16s=32

Figure A.7: Trun ated union bound for rate 4/6 PCCC with 1024 bits interleaver, with2 state to 32 state rate 4/5 onstituent odes.122

Page 139: serial and parallel turbo codes

Appendix BInterleaver generator ow diagramFigure B.1 shows the ow diagram for the generation of mod-k S-random interleavers.FigureB.2 shows the ow diagram for the generation of symmetri interleaver with distan e Sand mod-k properties .

123

Page 140: serial and parallel turbo codes

Yes

No

Check the S-distance property

Set the flag if pass.

Check the mod-k property of the

Randomly pick a number from the

numberrejected?

NoYes

interl_array size by 1.

Put the accepted number into

Generate an empty interl_array,

the interl_array. Increase

If reject_array size>0, put all therejected numbers back into the

number array.

Put the rejected number intothe reject_array. Increase

reject_array size by 1.

No

Yes

END

arrayinterl_

size=N?

num_array

size>0?

Empty reject_array.

num_array. Decrease size ofnum_array by 1.

of the newly generated number.

newly generated number. Set

empty reject_array and num_array with numbers from 0 to N-1.

the flag pass.

Figure B.1: Flow diagram of a mod-k interleaver generator with S distan e property.124

Page 141: serial and parallel turbo codes

Move the rejected numberto the reject_array. Reduce

num_array size by 1.

Yes

Generate an empty interl_array,empty reject_array and num_array

with numbers from 0 to N-1.

size>0?

the num_array.

Check for S-distance property for

number, set the flag if pass.

numberrejected?

Yes No

num_array

empty element in interl_array.Get the address of the first non-

both forward and backward direction

If reject_array size>0,put all the reject numbers

into num_array.

Randomly pick a number from

No

Empty reject_array.

No

Yes

interl_arraysize=N?

END

If number equal address, set thesingle number flag.

of each numbers. Set the flag if pass.

Check for mod-k property of each

If single number flag set, moveonly the generated number intointl_array. Else move both num.

Figure B.2: Flow diagram of a symmetri interleaver with S and mod-k properties.125

Page 142: serial and parallel turbo codes

Appendix CMatlab ode for Chapter 4This is the Matlab ode used to �nd the a parameters for the ir ular symmetri inter-leaver.N=4096;m=(1:N)-1;a=sqrt((m*N)+1);a integer=a(�nd((a- oor(a))==0));

126

Page 143: serial and parallel turbo codes

Appendix DMatlab ode for Chapter 5This is the Matlab ode used to generate the oeÆ ients for the third order polynomialused by the Summer estimator.N=50000;R=1/3; % ode ratedata=2* eil(rand(1,N)-0.5)-1; %generate data and add noisenoise=randn(1,N);db=[-2:1:5℄;varian e=1./(R*2*10.^(db./10));std=sqrt(1./(R*2*10.^(db./10)));rat=0;%evaluate the ratio of the re eived datafor i=1:max(size(std))rx=data+(noise*std(i));rat(i)=mean(rx.^2)/(mean(abs(rx)).^2);end%�nd the oeÆ ient of third order polynomial using poly�tP=poly�t(rat,varian e,3);plot(varian e,rat,P(1).*rat.^3+P(2).*rat.^2+P(3).*rat+P(4),rat,'s-.');127

Page 144: serial and parallel turbo codes

grid onxlabel('Channel Varian e');ylabel('f(x)');legend('true','estimated');

128