111
University of Wollongong University of Wollongong Research Online Research Online University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections 2004 Study of turbo codes across space time spreading channel Study of turbo codes across space time spreading channel I. Raad SECTE, University of Wollongong, [email protected] Follow this and additional works at: https://ro.uow.edu.au/theses University of Wollongong University of Wollongong Copyright Warning Copyright Warning You may print or download ONE copy of this document for the purpose of your own research or study. The University does not authorise you to copy, communicate or otherwise make available electronically to any other person any copyright material contained on this site. You are reminded of the following: This work is copyright. Apart from any use permitted under the Copyright Act 1968, no part of this work may be reproduced by any process, nor may any other exclusive right be exercised, without the permission of the author. Copyright owners are entitled to take legal action against persons who infringe their copyright. A reproduction of material that is protected by copyright may be a copyright infringement. A court may impose penalties and award damages in relation to offences and infringements relating to copyright material. Higher penalties may apply, and higher damages may be awarded, for offences and infringements involving the conversion of material into digital or electronic form. Unless otherwise indicated, the views expressed in this thesis are those of the author and do not necessarily Unless otherwise indicated, the views expressed in this thesis are those of the author and do not necessarily represent the views of the University of Wollongong. represent the views of the University of Wollongong. Recommended Citation Recommended Citation Raad, Ibrahim Samir, Study of turbo codes across space time spreading channel, School of Electrical, M.Eng thesis, Computer and Telecommunications Engineering, University of Wollongong, 2004. http://ro.uow.edu.au/theses/269 Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected]

Study of turbo codes across space time spreading channel

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Study of turbo codes across space time spreading channel

University of Wollongong University of Wollongong

Research Online Research Online

University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections

2004

Study of turbo codes across space time spreading channel Study of turbo codes across space time spreading channel

I. Raad SECTE, University of Wollongong, [email protected]

Follow this and additional works at: https://ro.uow.edu.au/theses

University of Wollongong University of Wollongong

Copyright Warning Copyright Warning

You may print or download ONE copy of this document for the purpose of your own research or study. The University

does not authorise you to copy, communicate or otherwise make available electronically to any other person any

copyright material contained on this site.

You are reminded of the following: This work is copyright. Apart from any use permitted under the Copyright Act

1968, no part of this work may be reproduced by any process, nor may any other exclusive right be exercised,

without the permission of the author. Copyright owners are entitled to take legal action against persons who infringe

their copyright. A reproduction of material that is protected by copyright may be a copyright infringement. A court

may impose penalties and award damages in relation to offences and infringements relating to copyright material.

Higher penalties may apply, and higher damages may be awarded, for offences and infringements involving the

conversion of material into digital or electronic form.

Unless otherwise indicated, the views expressed in this thesis are those of the author and do not necessarily Unless otherwise indicated, the views expressed in this thesis are those of the author and do not necessarily

represent the views of the University of Wollongong. represent the views of the University of Wollongong.

Recommended Citation Recommended Citation Raad, Ibrahim Samir, Study of turbo codes across space time spreading channel, School of Electrical, M.Eng thesis, Computer and Telecommunications Engineering, University of Wollongong, 2004. http://ro.uow.edu.au/theses/269

Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected]

Page 2: Study of turbo codes across space time spreading channel

Study of Turbo Codes Across Space Time

Spreading Channel

A thesis submitted in fulfilment of the

requirements for the award of the degree

Masters of Engineering Research

from

The University of Wollongong

by

Ibrahim Samir Raad

Bachelor of Engineering

School of Electrical, Computer

and Telecommunications Engineering

2004

Page 3: Study of turbo codes across space time spreading channel

Abstract

This thesis deals with an application of turbo codes across Space Time Spread-

ing Channel. This is done by undertaking a study into the extent to which

these error correction codes can reduce the bit error rate across the space time

spreading channel. Both the turbo codes and space time channel have been

developed in Matlab’s Simulink.

The thesis starts with an introduction to turbo codes which is presented on the

basis of classical turbo codes introduced by Berrou et al in 1993 (Berrou et al.,

1993). This is illustrated by some examples of their performance across the

Additive White Gaussian Noise Channel (AWGN). Then a detailed description

of the Space Time Spreading (STS) channel and the Universal Mobile Telecom-

munications System (UMTS) turbo codes. Using the UMTS turbo codes this

thesis produces simulation results showing to what extent they reduce the bit

error rate of the STS channel. A description of the system in Simulink and

Matlab is presented. The simulation results show that UMTS turbo codes ap-

plied on the top of the STS channel can improve the bit error rate performance

by approximately 5dB. This is done at the expense of increased complexity and

reduced effective data rate.

ii

Page 4: Study of turbo codes across space time spreading channel

Statement of Originality

This is to certify that the work described in this thesis is entirely my own,

except where due reference is made in the text.

No work in this thesis has been submitted for a degree to any other university

or institution.

Signed

Ibrahim Samir Raad

7 March,2004

iii

Page 5: Study of turbo codes across space time spreading channel

Acknowledgments

Firstly, I would like to thank my supervisor Mr. Peter James Vial for his

support and help during my thesis year for Masters of Engineering Research.

Without his help and tireless effort, this project could not have been completed.

Secondly, I would like to thank Associate Professor Tad Wysocki for his help in

this project.

Finally, I would like to thank my family for their support and patience during

the year.

iv

Page 6: Study of turbo codes across space time spreading channel

Contents

1 Introduction 1

1.1 Objectives of Thesis . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Outline of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Convolutional Coding 4

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Convolutional Encoding . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Turbo Codes 8

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.2 Turbo Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2.1 Turbo Encoding . . . . . . . . . . . . . . . . . . . . . . . 9

3.2.2 Turbo Decoding . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 Factors that effect Turbo Code Performance . . . . . . . . . . . 12

3.3.1 Turbo Interleaver/Permuter . . . . . . . . . . . . . . . . 13

3.3.2 Constituent Encoder . . . . . . . . . . . . . . . . . . . . 14

3.3.3 Puncturing . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3.4 Decoding Algorithm . . . . . . . . . . . . . . . . . . . . 15

3.4 Decoding Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4.2 The Soft Output Viterbi Algorithm (SOVA) . . . . . . . 15

3.4.3 Map Algorithm . . . . . . . . . . . . . . . . . . . . . . . 19

3.4.4 The Max-Log-Map Algorithm . . . . . . . . . . . . . . . 20

3.4.5 Log-Map Algorithm . . . . . . . . . . . . . . . . . . . . . 23

3.4.6 Extrinsic and Intrinsic Information . . . . . . . . . . . . 25

v

Page 7: Study of turbo codes across space time spreading channel

CONTENTS vi

3.4.7 Soft-Input/Soft-Output (SISO) Decoding algorithm . . . 25

3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 A study of the Classical Turbo Codes across AWGN channel 28

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Influence of the Size of input frame (N) . . . . . . . . . . . . . . 29

4.3 Influence of the number of Iterations . . . . . . . . . . . . . . . 29

4.4 Influence of Code Rate (r) . . . . . . . . . . . . . . . . . . . . . 29

4.5 Influence of the Code generator (g) . . . . . . . . . . . . . . . . 38

4.6 Comparison of SOVA and Log-Map decoding algorithms . . . . 39

4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Turbo Codes Across Space Time Spreading Channel 42

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 Space Time Spreading (STS) . . . . . . . . . . . . . . . . . . . . 42

5.3 Description of Validated Space Time Spreading Channel. . . . . 44

5.3.1 The Simulink Model . . . . . . . . . . . . . . . . . . . . 45

5.4 Description of implementations of the UMTS Turbo Codes . . . 47

5.4.1 UMTS Turbo Code . . . . . . . . . . . . . . . . . . . . . 47

5.4.2 UMTS Decoder Architecture . . . . . . . . . . . . . . . . 48

5.4.3 Validation Results of UMTS turbo codes across AWGN

channel . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.5 Implemented STS turbo codes in Simulink . . . . . . . . . . . . 50

5.6 Results of Turbo Codes over Space Time Spreading . . . . . . . 55

5.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6 Conclusion 64

6.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A Classical Turbo Codes tables N=100 and N=400 72

B Classical Turbo Codes tables N=1024 and N=2000 76

C Classical Turbo Codes tables for different generator matrix (g) 80

D Classical Turbo Codes- graphs of results 82

Page 8: Study of turbo codes across space time spreading channel

CONTENTS vii

E Classical Turbo Codes- comparing SOVA and Log-Map decod-ing algorithms 93

F Classical Turbo Codes- comparing constraint length K = 3 andK = 4 95

Page 9: Study of turbo codes across space time spreading channel

List of Figures

1.1 Model for combination of turbo code and STS. . . . . . . . . . . 2

1.2 An example of the components that can be included in this study. 2

2.1 Systematic half-rate, constraint-length two convolutional encoder

CC(2,1,2). (Rooyen et al., 2000) . . . . . . . . . . . . . . . . . . 5

2.2 State transition diagram of the CC(2,1,2) systematic code, where

broken lines indicate transitions due to an input one, while con-

tinuous lines correspond to input zero (Hanzo et al., 2002). . . . 6

3.1 Turbo encoder schematic (Rooyen et al., 2000) . . . . . . . . . . 9

3.2 Turbo decoder schematic (Rooyen et al., 2000) . . . . . . . . . . 10

3.3 Turbo Decoder block diagram (Rooyen et al., 2000) . . . . . . . 11

3.4 Turbo code design space (Berens et al., 1999). . . . . . . . . . . 13

3.5 A summary of the key operations in the MAP algorithm (Hanzo

et al., 2002). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.6 Soft-input/Soft-output decoder for a rate 1/2 RSC code (Hanzo

et al., 2002). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1 Comparison of N = 100, 400, 1024 and 2000 for bit error rate

(BER) versus Eb

Nowith g = [7; 5]octal, rate = 1

2, number of itera-

tion is 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.2 Comparison of N = 100, 400, 1024 and 2000 for bit error rate

(BER) versus Eb

Nowith g = [7; 5]octal, rate = 1

3, number of itera-

tion is 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

viii

Page 10: Study of turbo codes across space time spreading channel

LIST OF FIGURES ix

4.3 Bit Error Rate (BER) versus Eb

Nowith N = 400, with g = [7; 5]octal,

rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.4 Bit Error Rate (BER) versus Eb

Nowith N = 400, with g = [7; 5]octal,

rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.5 Bit Error Rate (BER) versus Eb

Nowith N = 100, with g = [7; 5]octal,

rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.6 Bit Error Rate (BER) versus Eb

Nowith N = 100, with g = [7; 5]octal,

rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.7 Bit Error Rate(BER) versus Eb

Nowith N = 2000, with g = [7; 5]octal,

rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.8 Bit Error Rate(BER) versus Eb

Nowith N = 2000, with g = [7; 5]octal,

rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.9 Comparison of r = 12

and r = 13

with 5 iterations, N=400, g =

[7; 5]octal, Log-Map decoding. . . . . . . . . . . . . . . . . . . . . 38

4.10 Comparison of SOVA and Log-Map decoding algorithms for N =

400 with r = 12

and r = 13. . . . . . . . . . . . . . . . . . . . . . 40

5.1 A(2,1) STS scheme (Hochwald et al., 2001). . . . . . . . . . . . 43

5.2 Block diagram of the operation of the STS model in Simulink

(Vial et al., 2003). . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.3 Plot of m = 1 and m = 2 for STS channel. . . . . . . . . . . . . 46

5.4 Block diagram of the UMTS turbo encoder (Valenti and Sun,

2001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.5 Block diagram of the UMTS turbo decoder (Valenti and Sun,

2001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.6 UMTS turbo codes,BER, N=100. . . . . . . . . . . . . . . . . . 51

5.7 UMTS turbo codes,BER, N=400. . . . . . . . . . . . . . . . . . 52

5.8 UMTS turbo codes,BER, N=1024. . . . . . . . . . . . . . . . . 53

5.9 UMTS turbo codes,BER, N=2000. . . . . . . . . . . . . . . . . 54

5.10 UMTS turbo codes,FER, N=100. . . . . . . . . . . . . . . . . . 55

5.11 UMTS turbo codes,FER, N=400. . . . . . . . . . . . . . . . . . 56

5.12 UMTS turbo codes,FER, N=1024. . . . . . . . . . . . . . . . . 57

Page 11: Study of turbo codes across space time spreading channel

LIST OF FIGURES x

5.13 UMTS turbo codes,FER, N=2000. . . . . . . . . . . . . . . . . 58

5.14 Input Turbo encoder. . . . . . . . . . . . . . . . . . . . . . . . . 58

5.15 STS channel section. . . . . . . . . . . . . . . . . . . . . . . . . 59

5.16 Output Turbo decoder. . . . . . . . . . . . . . . . . . . . . . . . 59

5.17 UMTS turbo codes across STS channel with m = 1, This com-

pares uncoded BER with the 12 iterations. . . . . . . . . . . . . 60

5.18 UMTS turbo codes across STS channel with m = 2, This com-

pares uncoded BER with the 12 iterations. . . . . . . . . . . . . 61

5.19 UMTS turbo codes across STS channel with m = 1 and m = 2,

This compares uncoded BER with the 12 iterations. . . . . . . . 62

D.1 Bit Error Rate versus (BER) Eb

Nowith N = 1024, with g =

[7; 5]octal, rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . 83

D.2 Frame Error Rate versus (FER) Eb

Nowith N = 1024, with g =

[7; 5]octal, rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . 84

D.3 Bit Error Rate versus (BER) Eb

Nowith N = 1024, with g =

[7; 5]octal, rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . 85

D.4 Frame Error Rate versus (FER) Eb

Nowith N = 1024, with g =

[7; 5]octal, rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . 86

D.5 Frame Error Rate versus (FER) Eb

Nowith N = 2000, with g =

[7; 5]octal, rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . 87

D.6 Frame Error Rate versus (FER) Eb

Nowith N = 2000, with g =

[7; 5]octal, rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . 88

D.7 Frame Error Rate (FER) versus Eb

Nowith N = 100, with g =

[7; 5]octal, rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . 89

D.8 Frame Error Rate (FER) versus Eb

Nowith N = 100, with g =

[7; 5]octal, rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . 90

D.9 Frame Error Rate versus (FER) Eb

Nowith N = 400, with g =

[7; 5]octal, rate = 12. . . . . . . . . . . . . . . . . . . . . . . . . . 91

D.10 Frame Error Rate versus (FER) Eb

Nowith N = 400, with g =

[7; 5]octal, rate = 13. . . . . . . . . . . . . . . . . . . . . . . . . . 92

Page 12: Study of turbo codes across space time spreading channel

List of Tables

A.1 1 iteration, N=100, rate=12, Log-Map decoding, g = [7; 5]octal . . 72

A.2 3 iterations, N=100, rate=12, Log-Map decoding, g = [7; 5]octal . 73

A.3 5 iterations, N=100, rate=12, Log-Map decoding, g = [7; 5]octal . 73

A.4 8 iterations, N=100, rate=12, Log-Map decoding, g = [7; 5]octal . 73

A.5 1 iteration, N=100, rate=13, Log-Map decoding, g = [7; 5]octal . . 73

A.6 3 iterations, N=100, rate=13, Log-Map decoding, g = [7; 5]octal . 73

A.7 5 iterations, N=100, rate=13, Log-Map decoding, g = [7; 5]octal . 73

A.8 8 iterations, N=100, rate=13, Log-Map decoding, g = [7; 5]octal . 73

A.9 1 iteration, N=400, rate=12, Log-Map decoding, g = [7, 5]octal. . . 74

A.10 3 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 74

A.11 5 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 74

A.12 8 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 74

A.13 1 iteration, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . . 74

A.14 3 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 74

A.15 5 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 74

A.16 8 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 75

B.1 1 iteration, N=1024, rate=12, Log-Map decoding, g = [7, 5]octal . 76

B.2 3 iterations, N=1024, rate=12, Log-Map decoding, g = [7, 5]octal . 77

B.3 5 iterations, N=1024, rate=12, Log-Map decoding, g = [7, 5]octal . 77

B.4 8 iterations, N=1024, rate=12, Log-Map decoding, g = [7, 5]octal . 77

B.5 1 iteration, N=1024, rate=13, Log-Map decoding, g = [7, 5]octal . 77

B.6 3 iterations, N=1024, rate=13, Log-Map decoding, g = [7, 5]octal . 77

B.7 5 iterations, N=1024, rate=13, Log-Map decoding, g = [7, 5]octal . 77

xi

Page 13: Study of turbo codes across space time spreading channel

LIST OF TABLES xii

B.8 8 iterations, N=1024, rate=13, Log-Map decoding, g = [7, 5]octal . 77

B.9 1 iteration, N=2000, rate=12, Log-Map decoding, g = [7, 5]octal . 78

B.10 3 iterations, N=2000, rate=12, Log-Map decoding, g = [7, 5]octal . 78

B.11 5 iterations, N=2000, rate=12, Log-Map decoding, g = [7, 5]octal . 78

B.12 8 iterations, N=2000, rate=12, Log-Map decoding, g = [7, 5]octal . 78

B.13 1 iteration, N=2000, rate=13, Log-Map decoding, g = [7, 5]octal . 78

B.14 3 iterations, N=2000, rate=13, Log-Map decoding, g = [7, 5]octal . 78

B.15 5 iterations, N=2000, rate=13, Log-Map decoding, g = [7, 5]octal . 78

B.16 8 iterations, N=2000, rate=13, Log-Map decoding, g = [7, 5]octal . 79

C.1 5 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 80

C.2 5 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 81

C.3 5 iterations, N=400, rate=12, Log-Map decoding, g = [17, 15]octal 81

C.4 5 iterations, N=400, rate=13, Log-Map decoding, g = [17, 15]octal 81

E.1 5 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 93

E.2 5 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 94

E.3 5 iterations, N=400, rate=12, SOVA decoding, g = [7, 5]octal . . . 94

E.4 5 iterations, N=400, rate=13, SOVA decoding, g = [7, 5]octal . . . 94

F.1 5 iterations, N=400, rate=12, Log-Map decoding, g = [7, 5]octal . 95

F.2 5 iterations, N=400, rate=13, Log-Map decoding, g = [7, 5]octal . 96

F.3 5 iterations, N=400, rate=12, Log-Map decoding, g = [17, 15]octal 96

F.4 5 iterations, N=400, rate=13, Log-Map decoding, g = [17, 15]octal 96

Page 14: Study of turbo codes across space time spreading channel

List of Abbreviations

ANSI American National Standard Institute.

APP A Posteriori Probability.

ARIB Association of Radio Industries and Business.

AWGN Additive White Gaussian Noise.

BER Bit Error Rate.

BPSK Binary Phase Shift Keying.

CCs Convolutional Codes.

CS Circuit Switch.

CWTS Chinese Wireless Telecommunications Standard.

FEC Forward Error Correction.

FER Frame Error Rate.

GSM Global System For Mobile Communications.

IMT International Mobile Telecommunications.

LLR Log Likelihood Ratio.

LPF Low Pass Filter.

MAP Maximum-A-Posteriori.

PCCC Parallel Concatenated Convolutional Code

PS Packet Switch.

PSD Power Spectral Density.

QPSK Quadrature Phase Shift Keying.

RSC Recursive Systematic Convolutional.

SISO Soft-Input Soft-Output.

SNR Signal to Noise Ratio.

SOVA Soft-Output Viterbi Algorithm.

STS Space Time Spreading.

xiii

Page 15: Study of turbo codes across space time spreading channel

List of Abbreviations xiv

TC Turbo Codes.

TTA Telecommunications Technology Association.

TTC Telecommunications Technology Committee.

VA Viterbi Algorithm

UMTS Universal Mobile Telecommunications System.

WCDMA Wide-band Code Division Multiple Access.

3GPP Third Generation Partnership Project.

Page 16: Study of turbo codes across space time spreading channel

Chapter 1

Introduction

The reason for using turbo codes is due to the fact that noise and distortion

typically hamper the transmission quality in communication systems. Channel

coding can solve this problem. An example in real-time communications, vari-

able delays coming from retransmissions are very disturbing. In broadcasting

applications, retransmission is impossible to implement.

Forward error correction (FEC) adds redundancy to the bit stream which means

information can be properly reproduced at the receiver side.

1.1 Objectives of Thesis

The objectives of this thesis is to investigate the following topics,

1. To carry out an investigation of turbo codes.

2. To implement and validate classical turbo codes.

3. To investigate Universal Mobile Telecommunications System (UMTS) and

UMTS turbo codes (Valenti and Sun, 2001).

4. To implement and investigate UMTS turbo codes in Simulink.

5. To investigate Space Time Spreading channel.

6. To test to what extent turbo coding improves the Bit Error Rate (BER)

of Space Time Spreading (STS).

1

Page 17: Study of turbo codes across space time spreading channel

Introduction 2

Figure 1.1 Model for combination of turbo code and STS.

Figure 1.2 An example of the components that can be included in this study.

Figure 1.1 depicts the model used to test to what extent the turbo codes improve

the bit error rate (BER) of a Space Time Spread (STS) channel. An example

of the components that can be used for this system is given in Figure 1.2. At

the transmitter end the source can be an MPEG file, the encoding is carried

out using turbo encoders and the modulation scheme is Binary Phase Shift

Keying (BPSK). At the receiver side, the demodulation is carried out by BPSK

modulation, the turbo decoder is used to improve the BER and the output

would be the same quality as the input.

1.2 Outline of Thesis

Chapter 2 gives a brief introduction into the convolutional codes and different

parameters associated with them. It outlines important features including the

constraint length, generator matrix and rate. This is important as convolutional

Page 18: Study of turbo codes across space time spreading channel

Introduction 3

codes are the building blocks for turbo codes.

In Chapter 3, a detailed outline of turbo codes proposed by Berrou et al in

1993 is given. This chapter covers both the turbo encoder and turbo decoder

presenting schematics for both. The theoretical performance is discussed along

with the effects of such components as puncturing and interleaver sizes have on

the performance of turbo codes. Decoding algorithms utilized by turbo codes

are discussed in detail.

Chapter 4 presents simulation results for the classical turbo codes discussed in

Chapter 3. The simulations are for varying sizes of the input frame size N,

different generator matrix and two different coding rates, r = 12

and r = 13.

Chapter 5 presents the main objective of this thesis, which is to test to what ex-

tent turbo codes improve space time spreading channels. It begins with an intro-

duction to the space time spreading channel and describes the implementation

and validation of this channel. It then presents an introduction to the Universal

Mobile Telecommunications System or UMTS. The implemented UMTS turbo

codes and simulation results are presented. Finally, the system of turbo codes

across STS, which was designed and implemented in Simulink is presented. The

simulation results are presented and analysed.

Chapter 6 is the conclusion of this thesis. An outline for future work is sug-

gested. Various appendices are provided with information on different aspects

of this thesis which include tables of simulation results obtained for the classical

turbo codes.

Page 19: Study of turbo codes across space time spreading channel

Chapter 2

Convolutional Coding

2.1 Introduction

Convolutional Codes (CCs) can be classified as systematic or non-systematic

codes, where the original information bits of symbols in the systematic codes,

make up part of the encoded codeword, so it becomes possible to recognise the

encoded codeword at the output.

Turbo codes are an example of convolutional channel coding which facilitates

the operation of communication systems near the Shannon theoretical limit.

These codes were proposed in 1993 by Berrou, Glauvieux and Thitimajshima

(Berrou et al., 1993).

2.2 Convolutional Encoding

Figure 2.1 is an example of an encoder using convolutional coding. These en-

coders are usually implemented using linear shift registers. In general, a k -bit

information symbol is entered into the encoder consisting of K shift-register

stages.

In Figure 2.1 the two shift-register stages are s1 and s2. The Constraint Length

of the code refers to the number of shift-register stages K.

The next state of this state machine is determined by the current shift-register,

in case s1 and s2 and the incoming bit bi. The symbol n usually denotes the

4

Page 20: Study of turbo codes across space time spreading channel

Convolutional Coding 5

Figure 2.1 Systematic half-rate, constraint-length two convolutional encoderCC(2,1,2). (Rooyen et al., 2000)

Page 21: Study of turbo codes across space time spreading channel

Convolutional Coding 6

Figure 2.2 State transition diagram of the CC(2,1,2) systematic code, where brokenlines indicate transitions due to an input one, while continuous lines correspond toinput zero (Hanzo et al., 2002).

number of output bits and the coding rate is given by r = kn. Here, n generator

polynomials are necessary for generating n bits.

Generally, a CC is denoted as a CC(n,k,K ) scheme. With the n generator

polynomials given, the code is fully specified. Figure 2.2 depicts the operation

of a convolutional encoder state diagram. From state (s1,s2)=(1, 1) a logical one

input results in a transition to (1,1), while an input zero leads to state (0,1).

The convolutional encoders operational characteristics can be described using

a state transition diagram. An example for this is given in Figure 2.2.

The incoming bit bi governs the state transitions. There are two bits in the

shift register at any moment producing four possible states in the machine. In

Figure 2.2 a continuous line represents a state transition due to a logical zero.

The broken line represents a state transition activated by a logical one.

Page 22: Study of turbo codes across space time spreading channel

Convolutional Coding 7

2.3 Conclusion

This chapter presented a brief description of convolutional codes. This is im-

portant background information as turbo codes are also known as PCCC or

Parallel Concatenated Convolutional Codes. The turbo encoder is made up of

two or more convolutional encoders concatenated in parallel as the name sug-

gests. These convolutional encoders are used with interleavers to produce the

turbo encoder, which will be discussed in Chapter 3.

Page 23: Study of turbo codes across space time spreading channel

Chapter 3

Turbo Codes

3.1 Introduction

The invention of turbo codes (Berrou et al., 1993) not only assisted in attaining

a performance approaching the Shannon theoretical limits of channel coding

for transmissions over Gaussian channels, but also revitalised channel coding

research.

Turbo coding opened a new chapter in the design of iterative detection-assisted

communication systems, such as turbo trellis coding schemes and turbo channel

equalisers. Similarly dramatic advances have been attained with the advent of

space-time coding, when communicating over dispersive, fading wireless chan-

nels.

Recent trends indicate that better overall system performance maybe attained

by jointly optimising a number of system components, such as channel coding,

channel equalization, transmit and receive diversity and the modulation scheme,

than in case of individually optimising the system components (Hanzo et al.,

2002).

This chapter discusses the theory behind the classical turbo codes and the com-

ponents that are involved in designing them. This includes background infor-

mation on the encoder and decoder, with the schematics for both presented and

explained. Other issues are discussed such as puncturing, decoding algorithms,

interleaver design, extrinsic information and intrinsic information.

8

Page 24: Study of turbo codes across space time spreading channel

Turbo Codes 9

Figure 3.1 Turbo encoder schematic (Rooyen et al., 2000)

3.2 Turbo Coding

3.2.1 Turbo Encoding

Two or more recursive systematic convolutional (RSC) encoders compose a

turbo encoder. Typically they are the same and the same data is received by

the two encoders with streams to each encoder permuted by an interleaver. Due

to the interleavers fixed structure and since they generally work on data in a

block-wise manner, turbo codes are classified as block codes. The combination

of interleaving and RSC encoding ensures that most code words produced by a

turbo code have high Hamming weights.

A good first order estimate of code performance is the minimum distance of a

linear-block code. “For linear block codes, the minimum distance is the smallest

non-zero Hamming weight of all the valid code words” (Rooyen et al., 2000).

Figure 3.1 depicts a turbo encoder designed by Berrou et al.

Due to the small number of low weight code words turbo codes can perform

well at low signal to noise ratio (SNR). The relatively small minimum distance

of the code limits the performance of turbo codes at higher signal to noise ratio.

Therefore, it can be said that the goal of turbo codes design is to reduce the

multiplicity of low weight code words.

3.2.2 Turbo Decoding

Figure 3.2 depicts a turbo decoder designed by Berrou at al. The problem of

estimating the states of a Markov process observed through noise has two well

Page 25: Study of turbo codes across space time spreading channel

Turbo Codes 10

Figure 3.2 Turbo decoder schematic (Rooyen et al., 2000)

known trellis-based solutions.

1. The Viterbi Algorithm (Forney, 1973)

2. The (Symbol-to-Symbol) Maximum-A-Posteriori (MAP) Algorithm. (Bahl

et al., 1974)

The two algorithms differ in their optimality criterion. The Viterbi algorithm

finds the most probable transmitted sequence, while the MAP attempts to find

the most likely transmitted symbol, given the received sequence (Valenti, 1999).

The Viterbi Algorithm finds the most probable transmitted sequence using the

expression in Equation 3.1.

x = arg{max

xiP [x|y]

}(3.1)

While the Maximum-A-Posteriori attempts to find the most likely transmit

symbol

xi

given the received sequence.

xi = arg{max

xiP [x|y]

}(3.2)

Page 26: Study of turbo codes across space time spreading channel

Turbo Codes 11

Figure 3.3 Turbo Decoder block diagram (Rooyen et al., 2000)

The problem of decoding turbo codes involves the joint estimation of two (for

the punctured (see section 3.3.3) rate- 12

case) or more Markov processes, one

for each constituent code. While in theory it is possible to model a turbo code

as a single Markov process (Rooyen et al., 2000), it then becomes very complex

and difficult to calculate. Therefore, turbo coding first independently estimates

the individual Markov processes using two trellis based decoding algorithms.

Due to the fact that the two Markov processes are linked by an interleaver, ad-

ditional gain can be achieved by sharing information between the two decoders

in an iterative fashion (Rooyen et al., 2000). The output of one decoder can

be used as a priori information by the second decoder. There is little advantage

in sharing information between the two decoders if the output of one is a hard

decision. Having said that, there is advantage in sharing if soft decisions are

used. Considerable gains can be achieved by performing multiple iterations of

decoding at the expense of increased processing delay.

3.2.2.1 Turbo Decoder Block Diagram

The Schematic for a standard turbo decoder is shown in Figure 3.3.

Page 27: Study of turbo codes across space time spreading channel

Turbo Codes 12

The systematic channel observation y(s)= {y(1)1 , y

(1)2 , ..., y

(1)Ntc} is received by the

first decoder. It also receives the observations of the first encoders parity bits

y(p)={y(2)1 , y

(2)2 , ..., y

(2)Ntc} and a priori information Z(1) derived from the second

decoder’s output, where Ntc is the interleaver size.

Log-Likelihood Ratio or LLR, Λ(1)={Λ(1)1 , Λ

(1)2 , ..., Λ

(1)Ntc} is produced by the

first decoder.

By subtracting the weighted systematic and a priori inputs from the first de-

coders output, the extrinsic information of the first decoder L(1) is found.

Once the extrinsic information is interleaved, it is used by the second decoder

as a priori information. The interleaved and weighted systematic channel ob-

servation r(1) and weighted observations of the second encoders parity bits r(3)

are received by the second decoder as well. The second decoder produces the

LLR, Λ(2), the weighted systematic and a priori inputs of the second decoders

are subtracted to produce the extrinsic information L(2).

The first decoder utilises the extrinsic information produced by the second de-

coder. This information is de-interleaved and used as the a priori input to the

first decoder during the next iteration.

After Itc iterations, the final estimate of the message is found by de-interleaving

and hard-limiting the output of the second decoder.

ui =

1 if Λ(2)π−1(i) ≥ 0,

0 if Λ(0)π−1(i) < 0.

(3.3)

3.3 Factors that effect Turbo Code Performance

Figure 3.4 depicts the turbo code design space (Berens et al., 1999). This

design space can be grouped into two categories, i.e. into a service dependent

and an implementation dependent. The Service dependent influence the quality

of service and the data rate.

The Implementation dependent influence the maximum decoding delay, the im-

Page 28: Study of turbo codes across space time spreading channel

Turbo Codes 13

Figure 3.4 Turbo code design space (Berens et al., 1999).

plementation complexity, system flexibility and modularity.

3.3.1 Turbo Interleaver/Permuter

This defines the service dependent part of the system design space. Depending

on the code words, one of the simple components are teamed with other code

words from the other encoders, which affects the weight distribution of the code

words produced by the turbo decoder.

The performance of the turbo codes depends on the data sequence which pro-

duces low encoded weights at the output of one encoder effectively matching

them with permutations of the same data sequence that yield higher encoded

weights at the outputs of the other encoders.

Three characteristics are important for the interleaver.

1. Interleaver size Ntc: As the interleaver size increases the performance

of the output improves (Benedetto and Divsalar, 1998). This is the most

important factor influencing the turbo code performance.

2. Interleaver gain : In terms of error performance, with the increased

interleaver size, decoding delay increases. Balance must be found between

Page 29: Study of turbo codes across space time spreading channel

Turbo Codes 14

acceptable performance and tolerable latency. Interleaver design becomes

critical at high SNR (Benedetto and Montrosi, 1996). The low weight

code words dominate the performance. Turbo codes perform well at low

SNR with almost any (randomly permutated) interleaver. This is true if

the inputs at the RSC encoders are sufficiently uncorrelated.

3. Interleaver Selection: In principle it is possible to design deterministic

permutations that work better if randomly chosen permutations perform

well. A good reference is (Divsalar et al., 1995) in which they investi-

gate several non-random permutations. They include permutations based

on block interleavers, permutations based on circular shifting and Semi-

random (“S-random”) permutations.

3.3.2 Constituent Encoder

Constituent encoders are chosen from encoders that are recursive and sys-

tematic. In (Divsalar et al., 1995) they argue that for a non-recursive en-

coder, approximately all low weight input sequences are self terminating. Self-

terminating is used to force the encoder back to the all-zero state. This is done

without the aid of the trellis termination scheme (Dolinar and Divsalar, 1995).

While not-self-terminating is where the encoder does not return to the non-zero

state until this is forced on to it at the end of the block (Dolinar and Divsalar,

1995).

Therefore, the output is strongly correlated with the input weight for all possible

input sequences. These encoders are very desirable as constituent encoders due

to this characteristic. The desirability for systematic encoders comes from the

fact that puncturing can be employed to realise code rates that are higher than

those code rates achievable with non-systematic encoders.

The performance of turbo codes is not significantly influenced by the choice of

constituent RSC encoder and in particular its codes. Turbo codes use simple

constituent codes with constraint length of Ktc=3, 4 or 5 for the reasons outlined

above.

Page 30: Study of turbo codes across space time spreading channel

Turbo Codes 15

3.3.3 Puncturing

A common method undertaken in increasing the code rate of turbo codes is

called puncturing. This method punctures the parity bits, therefore reducing

the total number of code bits. The typical method of puncturing is where the

first parity bits are punctured at odd positions and the second parity bits at

even positions (Mielcszarek and Svensson, 2000).

3.3.4 Decoding Algorithm

The number of iterations has an impact on the performance because most de-

coding algorithms are iterative. (Robertson, 1999) and (Robertson, 1994) say

that the number of iterations can be static or determined dynamically during

decoding after evaluation of some criteria. For this project the number of itera-

tions is fixed, since this is a study into the extent to which turbo codes improve

the bit error rate of the space time spreading channel.

3.4 Decoding Algorithms

3.4.1 Introduction

This section presents the theory behind the decoding algorithms used in Turbo

Codes. The decoding algorithms presented and discussed are the soft output

Viterbi algorithm (SOVA), Maximum A-Posteriori (MAP), the Max-Log-MAP,

Log-Map algorithms, Extrinsic and Intrinsic Information and Soft-Input/Soft-

Output (SISO).

3.4.2 The Soft Output Viterbi Algorithm (SOVA)

This has two variations from the classical Viterbi Algorithm, which allows it to

be used as a component decoder for turbo codes.

1. The path metrics utilised are modified to take account of a priori infor-

mation when selecting the maximum likelihood path through the trellis

(Hanzo et al., 2002).

Page 31: Study of turbo codes across space time spreading channel

Turbo Codes 16

2. A modification of the algorithm takes place to provide a soft output in

the form of a-posteriori LLR Λ(uk|y) for each decoded bit (Hanzo et al.,

2002).

The modification of path metrics is carried out as follows (Hanzo et al., 2002).

The states along the surviving path are given by the state sequence Ssk. This

is at state Sk = s at stage k in the trellis. Equation 3.4 gives the probability

that this is the correct path through the trellis: (Note that the symbol ∧ in this

instance denotes logical ’and’.)

P (Ssk|yj≤k

) =P (Ss

k ∧ yj≤k

)

P (yj≤k

)(3.4)

The probability of the received sequence yj≤k

for transitions up to and including

the kth transition is constant for all paths Sk through the trellis to stage k. The

probability that the path Ssk is the correct one is proportional to P (Ss

k ∧ yj≤k

).

It can be said that to maximize P (Ssk ∧ y

j≤k), the path metric must be maxi-

mized.

In a recursive manner, the path metric is easily computable, as we go from the

(k − 1)th stage in the trellis to the kth stage. If the path Ssk at the kth stage,

has the path S sk−1 for its first (k − 1) transitions, then assuming a memoryless

channel, Equation 3.5 holds.

P (Ssk ∧ y

j≤k) = P (S s

k−1 ∧ yj≤k−1

) · P (Sk = s ∧ yk|Sk−1 = s) (3.5)

A suitable metric for the path Ssk is given by M(Ss

k).

M(Ssk) = ln(P (Ss

k ∧ yj≤k

))

= M(S sk−1 + ln(P (Ss ∧ |Sk−1 = s)))

(3.6)

Using Equation 3.7

γk(s, s) = P ({y

k∧ Sk = s

}|Sk−1 = s) (3.7)

Page 32: Study of turbo codes across space time spreading channel

Turbo Codes 17

which is the probability that given trellis was in state s at time k−1. It moves to

state s and the received channels sequence for this transition is yk, the following

equation is obtained:

M(Ssk) = M(S s

k−1) + ln(γk(s, s)) (3.8)

where γk(s, s) is the branch transition probability for path from Sk−1 = s to

Sk = s. Hence (Hanzo et al., 2002):

Γk(s, s) = ln(γk(s, s))

= ln(C.e(ukL(uk)/2)).exp[ Eb

2σ2 2a∑n

l=1 yklxkl])

= ln(C.e(ukLuk/2).exp[Lc

2

∑nl=1 yklxkl])

= C + 12ukL(uk) + Lc

2

∑nl=1 yklxkl

(3.9)

Where Eb is the transmitted energy per bit, σ2 is the noise variance and a is

the fading amplitude with a = 1 for non-fading AWGN channel.

Equation 3.8 can be rewritten by substituting equation 3.9 into it, which gives

the following equation.

ln(γk(s, s)) = Γk(s, s)

= C + 12ukL(uk) + Lc

2

∑nl=1 yklxkl

(3.10)

Since the term C is a constant, it can be omitted hence,

M(Ssk) = M(S s

k−1) +1

2ukL(uk) +

Lc

2

n∑

l=1

yklxkl (3.11)

Finally it can be said that the metric in the SOVA is updated as in the Viterbi

algorithm. The term ukL(uk) is included so that the a-priori information is

available to be taken to account. The application for such a modification is

the requirement to use a-priori information in the Soft-in Soft-out component

decoders of turbo decoders (Hanzo et al., 2002).

The second section of the algorithm is to give soft outputs and a description is

given below (Hanzo et al., 2002).

Page 33: Study of turbo codes across space time spreading channel

Turbo Codes 18

At stage k in the trellis, two paths will reach the state Sk = s in a binary

trellis. Equation 3.11 defines the metric for merging paths. The lower metric is

discarded. The metric difference is defined as:

∆sk = M(Ss

k)−M(Ss

k) ≥ 0 (3.12)

where Ssk and S

s

k reach state Sk = s and have metrics M(Ssk) and M(S

s

k) and

the path Ssk is selected due to its higher metric.

Probability that the correct decision has been taken and the path Ssk is the

selected path is given by Equation 3.13.

P (correct− decision− at− Sk = s) =P (Ss

k)

P (Ssk) + P (S

s

k)(3.13)

Taking into account the metric definition given by Equation 3.6, the following

is obtained:

P (correct− decision− at− Sk = s) =eM(Ss

k)

eM(Ssk) + eM(S

s

k)=

e∆sk

1 + e∆sk

(3.14)

also the LLR that is the correct decision is given by:

L(correct−decision−at−Sk = s) = ln(P (correct− decision− at− Sk = s))

(1− P (correct− decision− at− Sk = s))= ∆s

k

(3.15)

Once the end of the trellis has been reached and the Maximum Likelihood (ML)

path has been identified through the trellis, the LLRs, giving the reliability of

the bit decisions along the ML path, needs to be found.

Studies carried out on the Viterbi algorithm have shown that all paths that

have reached the stage l in the trellis would normally have come from the same

path at some point before l in the trellis (Hanzo et al., 2002). This point before

1 is taken to be γ transitions before the point l, where in most cases γ is itself

five times the constraint length of the convolutional code.

Page 34: Study of turbo codes across space time spreading channel

Turbo Codes 19

The value of uk would not be affected if the algorithm had selected any of the

paths which merged with the ML path after this point. This is due to existence

of such paths that have diverged from the ML path after the transition from

Sk−1 = s to Sk = s.

So SOVA takes into account the probability that the paths merging with the

ML path from stage σ to stage k + σ in the trellis were incorrectly discarded

when calculating the LLR of the bit uk.

This is carried out by considering the values of the metric difference ∆sii for

all states si along the ML path from trellis stage i = k to i = k + δ. LLR is

approximated as follows:

L(uk|y) ≈ ukmini=k...k+δ∆sii

uk 6= uik

(3.16)

uk is the value of the bit given by the ML path and uik is the value of this bit

for the path which merged with the ML path and was discarded at trellis stage

i.

3.4.3 Map Algorithm

The main objective of this algorithm is to decode the received sequence y to

give the a-posteriori LLR Λ(uk|y) (Hanzo et al., 2002).

Note: The three terms αk(s), γk(s, s) and βk(s) are used to calculate the LLRs

L(uk|y) for each bit uk. The MAP algorithm finds αk(s) and βk(s) for all states

s throughout the trellis, i.e. for k = 0, 1, ..., N − 1 and γk(s, s) for all possible

transitions from state Sk−1 = s to state Sk = s, again for k = 0, 1..., N − 1

(Hanzo et al., 2002).

To calculate the γk(s, s) the algorithm uses the channel values ykl and the a-

priori LLR L(uk), in accordance with:

Page 35: Study of turbo codes across space time spreading channel

Turbo Codes 20

γk(s, s) = P (uk)P (yk| {s ∧ s})

= CeukL(uk)/2.exp( Eb

2σ2 2a∑n

l=1 yklxyl)

= CeukL(uk)/2.exp(Lc

2

∑nl=1 yklxyl)

(3.17)

where C = C(1)Luk

C(2)y

kC(3)

xk. The term C does not depend on the sign of the bit uk

or the transmitted codeword xk. Therefore, C is a constant for the summations

and cancels out.

The γk(s, s) values are calculated as the channel values ykl are received, and are

later used to calculate αk(s, s).

αk(s) =∑

alls

γk(s, s).αk−1(s) (3.18)

The βk(s, s) values are calculated using backward recursion:

βk−1(s) =∑

alls

βk(s).γk(s, s) (3.19)

Once all the calculated values of αk(s, s), βk(s, s) and γk(s, s) have been ob-

tained, they are then used to calculate the values of L(uk|y).

L(uk|y) = ln

∑(s,s)=⇒uk=+1 αk−1(s)γk(s, s)βk(s)∑(s,s)=⇒uk=−1 αk−1(s)γk(s, s)βk(s)

(3.20)

Equation 3.20 gives the conditional LLR L(uk|y) that the MAP decoder delivers.

Figure 3.5 depicts a summary of the key operation in the MAP algorithm taken

from (Hanzo et al., 2002).

3.4.4 The Max-Log-Map Algorithm

This algorithm (Hanzo et al., 2002) converts the equations used in the MAP

algorithms to a less complex format. A description of the process follows:

1. αk−1(s) is calculated in a forward recursive manner using Equation 3.18.

2. βk(s) values are calculated in a backward recursion using Equation 3.19.

Page 36: Study of turbo codes across space time spreading channel

Turbo Codes 21

Figure 3.5 A summary of the key operations in the MAP algorithm (Hanzo et al.,2002).

Page 37: Study of turbo codes across space time spreading channel

Turbo Codes 22

3. The branch transition probabilities γs(s, s) is calculated using Equation

3.17.

The simplification by the Max-Log-MAP algorithm takes place by transferring

these equations into the log arithmetic domain and using the following approx-

imation:

ln(∑

i

exi) ≈ maxi

(xi) (3.21)

Where maxi(xi) is the maximum value of xi. Then Ak(s), Bk(s) and Γk(s, s)

are defined as:

Ak(s) = ln(αk(s)) (3.22)

Bk(s) = ln(βk(s)) (3.23)

Γk(s, s) = ln(γk(s, s)) (3.24)

Substituting the approximations given in Equations 3.22, 3.23 and 3.24 in Equa-

tion 3.18 yields:

Ak(s) ≈ maxs

(Ak−1(s) + Γk(s, s)) (3.25)

A branch metric term Γk(s, s) is added to the previous value Ak−1(s) to find

a new value As for that path. Therefore, according to Equation 3.25, the new

value of Ak(s) is the maximum of the Ak(s) values of the various paths reaching

the state Sk = s.

The Ak(s) gives the natural logarithm of the probability that the trellis is in

the state Sk = s at the stage k. Due to the approximation of Equation 3.21,

only the maximum likelihood path through the state Sk = s is considered when

calculating this probability.

Page 38: Study of turbo codes across space time spreading channel

Turbo Codes 23

It then follows that the value of Ak is the Max-Log-Map algorithm which gives

the probability of the most likely path through the trellis to state Sk = s, rather

than the probability of any path through the trellis to state Sk = s. Due to

the approximations of this algorithm, the performance is sub-optimal compared

with the MAP algorithm.

Equation 3.19 is converted using the approximation to form:

Bk−1(s) ≈ maxs

(Bk(s) + Γk(s, s)) (3.26)

Substituting Equations 3.25 and 3.26 into Equation 3.17 gives:

Γk(s, s) = C +1

2ukL(uk) +

Lc

2

n∑

l=1

yklxkl (3.27)

Where C = lnC does not depend on uk or on the transmitted codeword xk and

so can be considered a constant and omitted.

Equation 3.20 is then converted to form:

L(uk|y) ≈ max(s,s)=⇒uk=+1(Ak−1(s) + Γk(s, s) + Bk(s))

−max(s,s)=⇒uk=−1(Ak−1(s) + Γk(s, s) + Bk(s))(3.28)

Every transition from the trellis stage Sk−1 to stage Sk is considered in calcu-

lating the a-posteriori LLR L(uk|y) for each bit uk. There are two groupings

which occur; uk = +1 and uk = −1, with each group that might have occurred

if uk equalled to the values mentioned above.

The maximum value of (Ak−1(s) + Γk(s, s) + Bk(s)) is found for both of these

groups. Then the a-posteriori LLR is calculated based on only these two ‘best’

transitions. There will be 2× 2k−1 transitions at each stage for a binary trellis.

Where K is the constraint length of the convolutional code (Hanzo et al., 2002).

3.4.5 Log-Map Algorithm

Due to Equation 3.21, the Max-Log-Map algorithm gives a slight degradation

in performance compared to the MAP algorithm. The drop in performance is

Page 39: Study of turbo codes across space time spreading channel

Turbo Codes 24

approximately 0.35dB when used for iterative decoding of turbo codes (Hanzo

et al., 2002).

Using the Jacobian algorithm, the approximation of Equation 3.21 can be made

exact, because (Hanzo et al., 2002):

ln(ex1 + ex2) = max(x1, x2) + ln(1 + e−|x1−x2|)

= max(x1, x2) + fc(|x1 − x2|)= g(x1, x2)

(3.29)

The term fc(x) is utilized as a correction term. The calculations for this algo-

rithm are the same as that of Max-Log-Map algorithm except that Equations

3.25 and 3.26 do not have the correction factor which is included in Equation

3.29.

The maximisation will be over two terms in the binary trellises. The approxi-

mations of Equations 3.25 and 3.26 are corrected by adding in the term fc(δ),

where δ is the magnitude of the difference between the metrics of the two merg-

ing paths.

Using the Jacobian logarithm, the approximation in Equation 3.28 giving the

a-posteriori LLR’s L(uk|y) can be eliminated. There will be 2k−1 transitions

to consider in each of the maximisation of Equation 3.28. So Equation 3.21 is

generalised in order to handle more than two xi terms:

ln(I∑

i=1

exi) = g(xI , g(xI−1, . . . , g(x3, g(x2, x1))) . . .) (3.30)

A lookup table can be used to store values of the terms fc(δ), which means

the correction term does not need to be calculated for each value of δ. It was

discovered in (Robertson et al., 1995) that only eight values for δ, ranging from

0 to 5 need to be contained in the table. This algorithm is slightly more complex

than Max-Log-MAP algorithm but it gives exactly the same performance as the

MAP algorithm.

Page 40: Study of turbo codes across space time spreading channel

Turbo Codes 25

3.4.6 Extrinsic and Intrinsic Information

3.4.6.1 Extrinsic Information

Extrinsic information is information from other symbols in the code word se-

quence imposed by the code constraints without using any information concern-

ing the symbol itself.

Extrinsic information relating to a specific symbol is only determined by its

surrounding symbols.

The term Soft Output refers to internal variables of the decoder, indicating a

measure of decoding reliability of bits instead of providing hard decisions.

3.4.6.2 Intrinsic Information

Intrinsic information is a a priori information of the symbol without any code

constraints in relation to a data symbol.

This information is used by the constituent decoders as additional information

related to each code symbol.

In iterative decoding, the extrinsic information provided by the previous decod-

ing step becomes the a priori information of the current decoding stage.

3.4.7 Soft-Input/Soft-Output (SISO) Decoding algorithm

Soft decisions typically take the form of the a posteriori LLRs Λ, of the form

given by:

Λi = lnP [ui = 1|y]

P [ui = 0|y](3.31)

where ui is the information input bit.

A decoding algorithm that accepts an a priori information at its input and

produces an a posteriori information at its output is called a soft-input/soft-

output (SISO) decoding algorithm. The inputs and the outputs of the SISO

decoder for a rate of 12

code are shown in Figure 3.6.

The SISO decoder accepts the three following inputs:

Page 41: Study of turbo codes across space time spreading channel

Turbo Codes 26

Figure 3.6 Soft-input/Soft-output decoder for a rate 1/2 RSC code (Hanzo et al.,2002).

1. The systematic observation y(s)i (agreeing with transmitted bit x

(1)i ).

2. The parity observations y(p)i (agreeing with either transmitted bits x

(2)i or

x(3)i or both.)

3. The a priori information Zi, which is derived from the other decoders

output.

The decoder then produces an output in the LLR form. The log-Likelihood at

the output of a SISO can be factored into 3 terms (Hagenauer, 1996).

Λi =4a

(s)i Es

No

y(s)i + Zi + Li (3.32)

Li - the extrinsic information. a(s) = a(1) - is the fading amplitude associated

with the received systematic observation, y(s)i .

While the first two terms are related to the systematic channel observation

y(s)i and information derived by the other decoder Zi, the extrinsic information

represents new information derived by the current stage of decoding.

In order to prevent positive feedback, it is important that only the extrinsic

information is passed from one decoder to the other.

Thus a priori information at the input of one decoder is found by subtracting

two values from its output - a value proportional to the decoders systematic

input as well as the a-priori input of another decoder.

Page 42: Study of turbo codes across space time spreading channel

Turbo Codes 27

Li = Λi − 4a(s)i Es

No

y(s)i − Zi (3.33)

3.5 Conclusion

This chapter presented a detailed description of the classical turbo codes, which

were designed and proposed by Berrou et al in 1993. It discussed several aspects

of the turbo codes, which included a detailed theoretical background to decod-

ing algorithms, like SOVA, MAP, the Max-Log-Map, Log-Map, soft-input/soft-

output. The concepts of extrinsic and intrinsic information and the a-priori

information, were also introduced.

Interleaver designs and puncturing were presented and discussed briefly. De-

tailed schematics of the turbo design of the decoder and encoder were pre-

sented.

Page 43: Study of turbo codes across space time spreading channel

Chapter 4

A study of the Classical TurboCodes across AWGN channel

4.1 Introduction

This chapter presents simulation results for the implementation of classical

turbo codes based on the Matlab code provided by (Wu, 2000). This study

was undertaken to gain a further understanding of classical codes proposed by

Berrou et al in 1993. It was done by studying different parameters determin-

ing performance of turbo codes . The parameters included the frame size (N),

generator matrix (g), code rate (r) and the number of iterations in the de-

coding process. After presenting diagrams depicting these results, this chapter

discusses the influences of the above mentioned parameters. It concludes by

highlighting some of the major results of turbo codes.

The frame size, N, was varied and the following N sizes were used for this project:

N=100,400,1024 and 2000. The generator matrices used were g = [7; 5]octal,

g = [17; 15]octal and g = [37; 31]octal for the listed frame sizes. The decoding

algorithms used were Log-Map and SOVA discussed in detail in Chapter 3.

The number of iterations were fixed at the values of 1, 3, 5 and 8. The resulting

bit error rate (BER) and frame error rate (FER) are presented. (Please refer

to the appendices for the results of each experiment on the different parameters

listed above.)

28

Page 44: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 29

4.2 Influence of the Size of input frame (N)

After the simulations results were collected and analyzed it was evident that

the influence of the size of the frame or N is an important factor to consider

while undertaking a project in the area of turbo codes. From the results, it is

visible that as N increases the performance of turbo codes improves. Both the

bit error rate and frame error rate are reduced with the increase of N. This is

due to the larger number of data available to the turbo decoder. Figure 4.1 and

Figure 4.2 depicts plots for a simulation with N = 100, N = 400, N = 1024

and N = 2000, and code rates of r = 12

and r = 13

respectively. Both codes

have the same generator matrix of g = [7; 5]octal and use the Log-Map decoding

algorithm. It can be seen that the simulation with the larger value for N,

performs better than when the smaller value is used giving a lower BER for the

same Eb

No. This is also true for the frame error rate.

4.3 Influence of the number of Iterations

The number of decoding iterations is also very important in the design if turbo

codes as seen in the Figure 4.8. From the results obtained, it is evident that

the increase in iteration improved the performance and decreased the bit error

rate and frame error rate. It can also be seen that smaller frame size, such

as N = 100, do not need a high number of iterations to converge, 3 to 5 is

sufficient. This can be seen in Figures 4.5 and 4.6 which depict simulations

for N = 100 with r = 12

and r = 13

and the generator matrix is g = [7; 5]octal

with constraint length k = 3. With larger frame sizes, such as that depicted

in Figures 4.7 and 4.8, (frame size N = 2000) for convergence to occur more

iterations are required.

4.4 Influence of Code Rate (r)

For this simulation code rates of r = 12

and r = 13

are used. Code rate of r = 12

is

achieved by puncturing the parity bits of the constituent encoders (Wu, 2000).

It can be seen that the lower the code rate the lower the bit error rate and frame

Page 45: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 30

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/2, Iteration number = 5, g=[7;5]octal, k=3

N=100N=400N=1024N=2000

Figure 4.1 Comparison of N = 100, 400, 1024 and 2000 for bit error rate (BER)versus Eb

Nowith g = [7; 5]octal, rate = 1

2 , number of iteration is 5.

Page 46: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 31

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

BER versus Eb/No and r=1/3, Iteration number = 5, g=[7;5]octal, k=3

Eb/No(dB)

Bit

Err

or R

ate

(BE

R)

N=100N=400N=1024N=2000

Figure 4.2 Comparison of N = 100, 400, 1024 and 2000 for bit error rate (BER)versus Eb

Nowith g = [7; 5]octal, rate = 1

3 , number of iteration is 5.

Page 47: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 32

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)

Bit

Err

or R

ate

(BE

R)

BER vs dB with N=400, g=[7;5], k=3 r=1/2

1 iteration3 iterations5 iterations8 iterations

Figure 4.3 Bit Error Rate (BER) versus EbNo

with N = 400, with g = [7; 5]octal,rate = 1

2 .

Page 48: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 33

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/3, N=400, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure 4.4 Bit Error Rate (BER) versus EbNo

with N = 400, with g = [7; 5]octal,rate = 1

3 .

Page 49: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 34

0 0.5 1 1.5 2 2.5 3 3.5 410

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/2, N=100, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure 4.5 Bit Error Rate (BER) versus EbNo

with N = 100, with g = [7; 5]octal,rate = 1

2 .

Page 50: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 35

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)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/3, N=100, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure 4.6 Bit Error Rate (BER) versus EbNo

with N = 100, with g = [7; 5]octal,rate = 1

3 .

Page 51: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 36

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/2, N=2000, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure 4.7 Bit Error Rate(BER) versus EbNo

with N = 2000, with g = [7; 5]octal,rate = 1

2 .

Page 52: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 37

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)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/3, N=2000, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure 4.8 Bit Error Rate(BER) versus EbNo

with N = 2000, with g = [7; 5]octal,rate = 1

3 .

Page 53: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 38

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

plot of r=1/2 and r=1/3 for BER versus Eb/No with N=400, g=[7;5]octal, k=3

rate=1/2rate=1/3

Figure 4.9 Comparison of r = 12 and r = 1

3 with 5 iterations, N=400, g = [7; 5]octal,Log-Map decoding.

error rate are for the same Eb

No. This is seen by in Figure 4.9, which compares

r = 12

and r = 13

with the same parameters of N = 400, 5 iterations and the

generator matrix of g = [7; 5]octal. It is evident that the decrease in code rate

from 12

to 13

provided a gain of 0.5dB.

4.5 Influence of the Code generator (g)

The influence of the code generator is also an important factor for the perfor-

mance of Turbo Codes. As the constraint length was increased from k = 3 to

k = 4, the performance improved and the bit error rate and frame error rate

decreased.

Studies have also shown that reversing g such as g = [5; 7]octal instead of g =

Page 54: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 39

[7; 5]octal, results in an inferior turbo code (Dolinar and Divsalar, 1995). Results

were obtained for the following two generator matrix with constraint lengths

of k = 3 and k = 4 respectively g = [7; 5]octal and g = [17; 15]octal. While the

results of the bit error rate for g = [17; 15]octal did not show better results, it

did reduce calculation time. These results and their comparisons are included

in Appendix F.

4.6 Comparison of SOVA and Log-Map decod-

ing algorithms

Figure 4.10 depicts the graph of the results of SOVA and Log-Map decoding

algorithms for N = 400 and two rates of r = 12

and r = 13. It can be seen that

the Log-Map decoding algorithms produces lower values of the bit error rate.

4.7 Conclusion

This chapter presented the results obtained from simulating the classical turbo

codes that were proposed by Berrou et al in 1993. By varying the parameters,

a detailed study was undertaken with the following important conclusions.

1. With the increase of iterations, the performance increased and lower bit

error rate and frame error rate was achieved for the same values of Eb

No.

2. For smaller frame sizes, such as N = 100, convergence in decoding is

achieved for smaller iterations numbers between 3 and 5 iterations.

3. For larger frame sizes, such as N = 2000, more iterations are required to

achieve convergence, i.e. between 8 and 10

4. Lower code rates, such as r = 13, lead to better performance than higher

rates achieved by puncturing, such as r = 12.

5. As the frame size N increased, the performance improved, with lower bit

error rate and frame error rate decreasing for the same values of Eb

No.

Page 55: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 40

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

100

Comparison of Log−Map and Sova decoding algorithms for N=400, with r=1/2 and r=1/3

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

Log−Map 1/2Log−Map 1/3Sova 1/2Sova 1/3

Figure 4.10 Comparison of SOVA and Log-Map decoding algorithms for N = 400with r = 1

2 and r = 13 .

Page 56: Study of turbo codes across space time spreading channel

A study of the Classical Turbo Codes across AWGN channel 41

6. Increase of the constraint length k, leads to the better performance, but

this is at the expense of increased complexity.

7. Log-Map decoding algorithm out performs the SOVA decoding algorithm

in terms of reducing bit error rate.

From the above listed results, it can be seen that this set of implemented turbo

codes obtains similar results presented by Berrou et al. in the paper (Berrou

et al., 1993) presented in 1993 and (Wu, 2000).

Page 57: Study of turbo codes across space time spreading channel

Chapter 5

Turbo Codes Across Space TimeSpreading Channel

5.1 Introduction

This section begins with a discussion on the theory of Space Time Spreading

Channel with two transmitter antennas. A discussion of the implementation

and validation follows. A new form of Turbo Codes, called UMTS turbo codes,

is presented. This is followed by the implementation and validation, where

simulation results of bit error rate and frame error rates are plotted. The

simulation results of the extent to which UMTS turbo codes improves STS

channels is presented and analysed.

The UMTS turbo codes and the STS channel are both developed in Simulink.

5.2 Space Time Spreading (STS)

Space Time Spreading spreads each user’s data in a different way on each trans-

mitter antenna. This is carried out by splitting the data into sub-streams, odd

and even, {b1} and {b2} (Hochwald et al., 2001). The signal transmitted on

each of the antennas are given by:

t1 = (1√2)(b1c1 + b2c2) (5.1)

42

Page 58: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 43

t2 = (1√2)(b2c1 − b1c2) (5.2)

The block diagram of the transmitter is depicted in Figure 5.1.

Figure 5.1 A(2,1) STS scheme (Hochwald et al., 2001).

Where c1 and c2 can be any set of orthogonal 2P × 1 unit-norm spreading

sequence: c1.c2 = 0 (Hochwald et al., 2001). After de-spreading with c1 and c2,

the received signals d1 and d2 are:

d1 = (1√2)(h1b1 + h2b2) + c1n (5.3)

d2 = (1√2)(−h2b1 + h1b2) + c2n (5.4)

The constant 1√2

is a normalization factor of power so a comparison can take

place to a single antenna (Vial et al., 2003). d is defined as d = [d1d2]T , which

yields

d =1√2Hd + v (5.5)

where

Page 59: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 44

H =

h1 h2

−h2 h1

(5.6)

b =

b1

b2

(5.7)

v =

c1n

c2n

(5.8)

It is then shown in (Hochwald et al., 2001) that by allowing hq to denote the

qth column of H, you obtain:

Re{Hd} =1√2[|h1|2 + |h2|2]bq + Re{hqv} (5.9)

By multiplying the de-spread signal d by h1 and h2, where h1 and h2 are the

complex channel gains for path 1 and path 2, it can recover its odd and even

symbols. This then enables the receiver to get the input into soft or hard

decisions. Note that Equation 5.9 assumes perfect knowledge of the channel

coefficients and that no multi-path is present.

For this project, the soft decisions are needed for the Turbo Decoder to enable it

to work correctly. The simulation test-bed of the STS channel system developed

in (Vial et al., 2003) is used for this project. Refer to (Vial et al., 2003) for

validation of the system.

5.3 Description of Validated Space Time Spread-

ing Channel.

This section describes the implemented and validated STS channel in Simulink,

this is developed by Peter Vial of School of Electrical, Computer and Telecom-

munications Engineering and published in (Vial et al., 2003). The study in-

cluded assistance in validating the STS Simulink simulations.

Page 60: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 45

Figure 5.2 Block diagram of the operation of the STS model in Simulink (Vialet al., 2003).

5.3.1 The Simulink Model

Figure 5.2 depicts the block diagram of the Simulink model used in this thesis.

The operation of the STS model begins with the input obtained from a source,

in this particular case, it is a Bernoulli Binary Generator, which is a built-in

Simulink module. The signal is divided into it’s odd and even streams and it

is assumed that BPSK modulation scheme is used. The spreading sequences

are retrieved from a Matlab variable within the Matlab environment. Then

each antenna signal is calculated and transmitted. The next stage requires that

the complex coefficients of simulated space time channel are added via scalar

multiplication of signal with complex coefficients. Both streams are summed

and de-spreading is done. Finally, decoding is carried out and the output is

compared to the input so the BER is calculated. For this section, the output is

a hard decision. Figure 5.3 depicts the simulation results of m = 1 and m = 2

validating the STS channel, where m denotes the number of transmit antennas.

Page 61: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 46

0 2 4 6 8 10 1210

−3

10−2

10−1

100 BER versus Eb/No (dB) STS m=1and m=2.

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

m=1m=2

Figure 5.3 Plot of m = 1 and m = 2 for STS channel.

Page 62: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 47

5.4 Description of implementations of the UMTS

Turbo Codes

The UMTS turbo codes implementation, based on DeBang Lao’s code from

New Jersey Institute of Technology, is described in (Valenti and Sun, 2001).

Turbo codes, due to their performance, have been included in the specifica-

tions for both the WCDMA (UMTS) and cdma2000 third-generation cellular

standards (Valenti and Sun, 2001). It is predicted that the Universal Mobile

Telecommunications System (UMTS) will eventually replace the Global System

for Mobile Communications (GSM). As telecommunications systems move into

third-generation of mobile networks, UMTS addresses the increase in demand

for mobile and Internet applications (Valenti and Sun, 2001). More efficient

error control coding is achieved through the use of turbo codes. It should be

noted that from this point on the notation used is the same as that of (Valenti

and Sun, 2001).

5.4.1 UMTS Turbo Code

Figure 5.4 depicts the block diagram of the UMTS turbo encoder proposed in

(Valenti and Sun, 2001). As with the classical turbo encoders, two recursive

systematic convolutional (RSC) encoders with constraint length four are con-

catenated in parallel. The feed forward generator is 15 and feed back generator

is 13 which is equivalent to g = [15; 13]octal. These values are in octal. K

is the input number of data bits of the turbo encoder, this value is between

40 ≤ K ≤ 5114. The two switches at the start of the process are in the up

position. The data is encoded by the top encoder in its natural order while the

bottom encoder encodes the bits after they are interleaved. Depending on the

size of the input word, the interleaver is a matrix with 5, 10 or 20 rows with

anywhere between 8 to 256 columns. The interleaver accepts the data in a row

wise method, where the first data bit is in the upper-left position of the matrix.

The ordering of the rows is changed by performing inter-row permutations. This

process does not change the ordering of elements within each row. The data is

then read in a column wise method, where the first output bit comes from the

Page 63: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 48

Figure 5.4 Block diagram of the UMTS turbo encoder (Valenti and Sun, 2001)

upper-left position of the transformed matrix. The overall code rate is r = 13

because the data bits are transmitted together with the parity bits generated

by the two encoders.

5.4.2 UMTS Decoder Architecture

Figure 5.5 depicts the block diagram of the UMTS turbo decoder proposed by

Valenti and Sun in (Valenti and Sun, 2001). The decoder, as with the classical

turbo decoder proposed by Berrou et al in (Berrou et al., 1993), is iterative. This

is indicated by the feedback shown in Figure 5.5. Two half-iterations, one for

each constituent RSC code, make up a full iteration. The extrinsic information,

w(Xk), is produced by the second decoder, which becomes the input of the first

decoder. Before the first iteration, the extrinsic information w(Xk) is set to all

zeros, due to decoder number two not carrying out any tasks. The extrinsic

information is updated after every iteration. Due to the two encoders having

independent tails, information which is only regarded as the actual data bits

are passed between decoders.

It is sufficient to add the extrinsic information w(Xk) to the received systematic

LLR R(xk) due to the method of deriving the branch metrics, forming a new

variable V1(Xk). The input to RSC decoder number one, for 1 ≤ k ≤ K, is

Page 64: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 49

Figure 5.5 Block diagram of the UMTS turbo decoder (Valenti and Sun, 2001)

the combined systematic data and the extrinsic information V1(Xk), with the

received parity bits in LLR form R(Zk). The LLR Λ1(Xk) is the output of the

first RSC decoder.

V2(Xk) is formed when w(Xk) is subtracted from Λ1(Xk). Again, V2(Xk) holds

the sum of the systematic channel LLR and the extrinsic information produced

by the first decoder. The input to the second decoder is the interleaved version

of V2(Xk). This input is denoted as V2(X′k). The second input to decoder

number two is the channel LLR corresponding to the second encoders parity

bits denoted as R(Z′k). LLR Λ2(X

′k) is the output of the second decoder, this

is de-interleaved to form Λ2(Xk). V2(Xk) is subtracted from the de-interleaved

output of the second decoder, Λ2(Xk), to form the extrinsic information w(Xk).

This is then fed as an input to the first decoder in the next iteration.

The hard bit decision is taken after the completion of the iterations. If Λ2(Xk),

1 ≤ k ≤ K, where Xk = 1 when Λ2(Xk) > 0 and Xk = 0 when Λ2(Xk) ≤ 0

(Valenti and Sun, 2001).

The decoding algorithm used in this thesis is the Max-Log-Map algorithm de-

scribed in Chapter 3.

Page 65: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 50

5.4.3 Validation Results of UMTS turbo codes acrossAWGN channel

This section presents UMTS turbo codes for different sizes of frames. As men-

tioned above, the rate is set at r = 13. Figures 5.6, 5.7, 5.8 and 5.9 depict the bit

error rate versus Eb

Nofor sizes of the input word (N) of 100, 400, 1024 and 2000

respectively. While Figures 5.10, 5.11, 5.12 and 5.13 depict the frame error rate

for sizes of the input word of 100, 400, 1024 and 2000. The experiment is across

AWGN channel and as can be seen from the listed Figures, there is a significant

improvement for both BER and FER with the increase of iterations. It is also

worth while to note that the BER, for the same number of iterations, improved

with the increase of the size of the input word. This is due to a greater number

of bits for the Turbo Decoder to process. As with the classical turbo codes, the

BER improves over the FER. This is due to turbo codes operating better using

bits rather than entire frames. This validation the Turbo Decoder is important

as it will be used in the next section of this chapter. Results are compared with

(Valenti and Sun, 2001).

5.5 Implemented STS turbo codes in Simulink

Figure 5.14 depicts the implemented in Simulink encoder section of the test-

bed for examining UMTS turbo codes across STS channel. Figure 5.15 depicts

the implemented section of the STS channel. This shows the input from the

encoder to the STS channel and the soft output required for the decoder, while

Figure 5.16 depicts the turbo decoder for the implemented system. The control

panel shown is used to control some of the simulation parameters including the

number of iterations.

The input of the system is generated using a built-in Simulink module called

Random-Integer Generator. The parameters for this built-in block has the

following parameters: the initial seed, frame size, sampling time and the size

of the m-array. The output of this generator is frame based, which is changed

to bits using the Reshape Simulink module. This is the input of the UMTS

turbo encoder, developed in the programming language C and embedded into

Page 66: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 51

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 510

−6

10−5

10−4

10−3

10−2

10−1

100

Bit Error Rate for 1/3 all iterations, N=100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.6 UMTS turbo codes,BER, N=100.

Page 67: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 52

0 0.5 1 1.5 2 2.5 3 3.510

−5

10−4

10−3

10−2

10−1

100

Bit Error Rate for 1/3 all iterations, N=400

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.7 UMTS turbo codes,BER, N=400.

Page 68: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 53

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

100 Bit Error Rate for 1/3 all iterations, N=1024

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.8 UMTS turbo codes,BER, N=1024.

a Simulink module. The reason for changing the input to bits is due to turbo

encoders and decoders operation being based on bits, where approximation of

those bits takes place.

The turbo encoder carries out its operation as described earlier in this chapter.

The output is converted to frames and becomes the input of the STS channel.

The STS channel operates as described earlier and at the output a soft-decision

is required to become the input of the turbo decoder. Another output, a hard-

decision is also taken to compare with the input of the channel so the bit error

rate can be calculated. This is done to allow a comparison of the performance

improvement due to the use of turbo codes with the performance of the STS

channel.

Finally, the input of the turbo decoder is again converted from frames to bits.

At this point the gain is added to the channel. The BER is calculated using

the code in Matlab, which compares the input bits to the output bits.

Page 69: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 54

0 0.5 1 1.5 2 2.5 3 3.5 410

−5

10−4

10−3

10−2

10−1

100

Bit Error Rate for 1/3 all iterations, N=2000

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.9 UMTS turbo codes,BER, N=2000.

Page 70: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 55

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 510

−4

10−3

10−2

10−1

100 Frame Error Rate for 1/3 all iterations, N=100

Eb/No (dB)

Fra

me

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.10 UMTS turbo codes,FER, N=100.

5.6 Results of Turbo Codes over Space Time

Spreading

This section shows simulation results for UMTS turbo codes across the STS

channel for m = 1 and m = 2 using 12 iterations for the decoding. The

decoding algorithm used is the Max-Log-Map described in detail under the

chapter heading turbo codes. The input frame size was set to 400 and the Eb

No

was varied from 0dB to 12dB. This showed that turbo codes has a gain of up to

5 dB, decreasing the BER. These simulation results are shown in Figures 5.17,

5.18 and 5.19.

In terms of the redundancy of the entire system (turbo codes plus STS channel)

for the N = 400 case used for the simulation results presented in Figures 5.17,

5.18 and 5.19, there is an extra 812 bits transmitted with the original frame

size. This occurs after the turbo encoder and are removed by decoder so a

comparison between the input and output can be carried out producing the bit

Page 71: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 56

0 0.5 1 1.5 2 2.5 3 3.510

−4

10−3

10−2

10−1

100

Frame Error Rate for 1/3 all iterations, N=400

Eb/No (dB)

Fra

me

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.11 UMTS turbo codes,FER, N=400.

Page 72: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 57

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 510

−4

10−3

10−2

10−1

100 Frame Error Rate for 1/3 all iterations, N=1024

Eb/No (dB)

Fra

me

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.12 UMTS turbo codes,FER, N=1024.

Page 73: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 58

0 0.5 1 1.5 2 2.5 3 3.5 4 4.510

−3

10−2

10−1

100

Frame Error Rate for 1/3 all iterations, N=2000

Eb/No (dB)

Fra

me

Err

or R

ate

(BE

R)

1 iteration3 iterations5 iterations8 iterations

Figure 5.13 UMTS turbo codes,FER, N=2000.

Figure 5.14 Input Turbo encoder.

Page 74: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 59

Figure 5.15 STS channel section.

Figure 5.16 Output Turbo decoder.

Page 75: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 60

0 2 4 6 8 10 1210

−3

10−2

10−1

100

BER versus Eb/No (dB) with Turbo Codes across STS m=1. N=400, r=1/3, uncoded and 12 iterations

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

uncoded m=112 iterations m=1

Figure 5.17 UMTS turbo codes across STS channel with m = 1, This comparesuncoded BER with the 12 iterations.

Page 76: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 61

0 2 4 6 8 10 1210

−4

10−3

10−2

10−1

100

BER versus Eb/No (dB) with Turbo Codes across STS m=2, N=400, r=1/3, uncoded and 12 iterations

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

STS M=2 uncoded12 iterations

Figure 5.18 UMTS turbo codes across STS channel with m = 2, This comparesuncoded BER with the 12 iterations.

Page 77: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 62

0 2 4 6 8 10 1210

−4

10−3

10−2

10−1

100BER versus Eb/No (dB) with Turbo Codes across STS m=1 amd m=2. N=400, r=1/3, uncoded and 12 iterations

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

uncoded m=1uncoded m=212 iterations m=2

Figure 5.19 UMTS turbo codes across STS channel with m = 1 and m = 2, Thiscompares uncoded BER with the 12 iterations.

Page 78: Study of turbo codes across space time spreading channel

Turbo Codes Across Space Time Spreading Channel 63

error rate. The following is used to calculate redundancy for this system, where

N is the input frame size:

Redundancy = 3 ∗N + 12 (5.10)

The complexity of this system includes 15 multiplication operations, 14 addition

operations and one subtraction. The delay of this system is N which is the size

of the first frame, so before processing can begin in the decoding stage, an entire

frame has to have been transmitted and received.

5.7 Conclusion

This chapter presented and discussed the Space Time Spreading channel with

two transmitter antennas and presented a different version of turbo codes,

known as UMTS turbo codes proposed by Valenti et al. It described the back-

ground information on both of these topics from a variety of sources. Then

this chapter discussed the implementation of both the STS channel in Simulink

and the UMTS turbo codes, presented the results and validation of the system.

UMTS turbo codes performs better than the classical Turbo Codes proposed

by Berrou et al in 1993 across the AWGN channel. It explains the implemen-

tation of the turbo codes across the STS channel. Simulations results showed

that turbo codes decreased BER for the STS channel achieving an extra gain

of 5dB.

Page 79: Study of turbo codes across space time spreading channel

Chapter 6

Conclusion

Turbo codes are a set of error correction codes used on top of wireless channel

to decrease the bit error rate in the transmission between the transmitter and

receiver. Turbo codes were first proposed by Berrou et al in 1993 and have

been used since that time in a number of applications, including deep space

exploration (Berens et al., 1999). The purpose of this thesis is to study to

what extent does the Universal Mobile Telecommunications System (UMTS)

turbo codes, proposed by Valenti and Sun in (Valenti and Sun, 2001) for the

3GPP standard (which is the standard for 3rd generation telecommunications),

decrease the bit error rate of the space time channel (STS). STS channel spreads

each users data in a different way on each transmitter antenna, this is carried

out by splitting the transmitted data into sub-streams, odd {b1} and even {b2}.The signal is transmitted across the STS channel in bits, when the signal arrives

at the receiver, where the turbo decoder is located, the bits become the input.

Depending on the required number of iterations needed to improve the BER,

these bits are passed between the first and second decoder with each iteration

an approximation is carried out on each bit trying to predict the value of the

bit based on the probability of the bit using the systematic and recursive bits

received. The larger the number of iterations carried out the better the perfor-

mance of the system, reducing the BER of the transmitted signal. The results

in this thesis are similar to results obtained in (Wu, 2000), (Hanzo et al.,

2002), (Berrou et al., 1993) and (Rooyen et al., 2000). This showed the larger

the number of iterations and the larger the frame size, the lower the BER.

64

Page 80: Study of turbo codes across space time spreading channel

Conclusion 65

Chapter 1 gives an introduction to the topic and lists the objectives that this

thesis covers. The main objective of this thesis was to determine using simula-

tions to what extent do turbo codes decrease the bit error rate of STS channel

for two transmit antennas (m = 2).

Chapter 2 introduced convolutional codes which are used as building blocks

for the turbo encoder. Turbo codes are also known as Parallel Convolutional

Concatenated Codes (PCCC) because the encoder is designed from two or more

convolutional encoders concatenated in parallel with an interleaver separating

the two. This is used to ensure that the bits coming into the second encoder

are statistically independent. Puncturing is employed to reduce the coding rate

from 13

to 12

by removing bits from the stream of information.

A detailed description of the classical turbo codes proposed by Berrou et al

was presented in Chapter 3. This chapter covered the theoretical background

reading for different aspects of turbo codes such as different decoding algo-

rithms. The decoding algorithms included the Soft Output Viterbi Algorithm

(SOVA), Maximum-A-Posteriori (MAP), the Max-Log-Map algorithm, the Log-

Map Algorithm and the Soft-output Soft-input (SISO) decoding algorithm. The

Max-Log-Map decoding algorithm was used in this thesis at the decoder. This

chapter also presented block diagrams of the turbo encoder and turbo decoder.

Simulation results of the classical turbo codes were presented in Chapter 4. As

discussed, turbo codes improve the overall performance of wireless transmission

data. The results obtained, also shown and discussed in (Berrou et al., 1993),

(Wu, 2000) and (Rooyen et al., 2000), showed that with the increase of the

number of iterations the bit error rate and frame error rate decreased. For

smaller frame sizes such as N = 100, convergence in decoding is achieved with

smaller number of iterations, between three and five. For larger frame sizes such

as N = 2000, more iterations were required to achieve convergence, between 8

and 10. The larger the frame size the quicker the bit error rate and frame error

rate decreased. Better performance was achieved with lower code rate such as

13

rather than 12. This improvement can be shown as a decrease in BER as the

energy of bits increased and finally the Log-Map decoding algorithm performed

Page 81: Study of turbo codes across space time spreading channel

Conclusion 66

better than the SOVA, which was also shown by (Wu, 2000).

Chapter 5 presented the study that was carried out to see to what extent do

turbo codes improve the STS channel with two transmit antennas. A description

of STS channel was presented. The UMTS turbo codes structure was also

presented. This system was developed in Matlab and Simulink. The validation

of simulation results across the Additive White Gaussian Noise channel are

presented and it was shown, as expected, to decrease the bit error rate and

frame error rate with the increase of the number of the decoding iterations and

the increase in the energy per bit relative to noise ( Eb

No). This is compared with

the results presented in (Valenti and Sun, 2001) for the case across AWGN

channel and it can be seen from the results presented in this thesis that the

objective of validating the implemented turbo codes was achieved successfully.

This is followed by the implementation of the turbo codes across STS channel.

Simulating one transmit antenna for the STS channel is similar to simulating

the rayleigh fading channel shown in (Valenti and Sun, 2001). Studying the

result obtained for 12 iterations, frame size of N = 400 and a coding rate of

13

an extra coding gain of 4dB is achieved. Due to turbo codes weakness at

smaller frame sizes as mentioned in Chapter 4 and in (Wu, 2000), the results

in thesis were shown to have higher BER than the results shown in (Valenti

and Sun, 2001).

Comparing the case of turbo codes across two transmit antennas for the STS

channel, where there is greater diversity, it showed that the BER was lower

than the results showed for the rayleigh fading channel in (Valenti and Sun,

2001). Again, this is due to the diversity introduced by the STS channel when

the odd and even parity bits are separated and transmitted across the two

antennas. This reduces the probability of losing or corrupting bits during the

transmission period. Since there is not any comparable material available for

these results, based on the fact that both the STS channel and UMTS turbo

codes were validated and compared to other work that was available, we believe

that the results are accurate. The simulation results showed that the turbo

codes decreases the BER of the STS channel and achieve an extra coding gain

of 5dB.

Page 82: Study of turbo codes across space time spreading channel

Conclusion 67

The redundancy of this system was shown to send an extra 812 bits across the

channel using an input frame size of N = 400. The delay for this system, if

we use a sampling time of 1 × 10−6 seconds / symbol, would be 400 µsecs.

The decoder required a delay of N before any processing could begin. Finally,

the complexity of the entire system included 15 multiplication operations, 14

addition operations and one subtraction operation.

6.1 Contributions

Contributions of this thesis include the following:

1. Principle author of the conference paper (Raad et al., 2004b).

2. Principle author of the conference paper (Raad et al., 2004a).

3. Co-Author of the conference paper (Vial et al., 2003).

4. Co-Author of the conference paper (Vial et al., 2004).

5. A study of classical turbo codes and simulation results.

6. A study of UMTS turbo codes and implementation in Simulink and Mat-

lab.

7. An implementation of UMTS turbo codes across STS in Simulink.

8. A study to what extent UMTS turbo codes decreases bit error rate of STS

channel.

9. Achieved an extra coding gain of 5dB in this system.

6.2 Future Work

1. Apply some of this work for QPSK.

2. Fine tune the STS turbo decoder to see if better results can be achieved

3. Study UMTS turbo codes across m = 4 and m = 8 for the STS channel.

4. Implement the UMTS turbo codes on hardware.

Page 83: Study of turbo codes across space time spreading channel

Conclusion 68

5. Future work requires the development of a new set of decoding algorithms.

Page 84: Study of turbo codes across space time spreading channel

Bibliography

Bahl, L., Cocke, J., Jeinek, F., and Raviv, J. (1974). Optimal Decoding of Lin-

ear Codes for Minimizing Symbol Error. IEEE trans, Information theory,

20:248–287.

Benedetto, S. and Divsalar, D. (1998). Turbo codes: Comprehension, per-

formance, analysis, design and iterative decoding. In IEEE Globe Com

Tutorial, Sydney, Australia. IEEE.

Benedetto, S. and Montrosi, G. (1996). Serial concatenation of block and con-

volution codes. Electrical Let., 32:887–888.

Berens, F., Worm, A., Michel, H., and Wehn, N. (1999). Implmentation aspects

of turbo-decoders for future radio applications. In VTC, pages 601–2605,

Amsterdam,The Netherlands. IEEE.

Berrou, C., Glavieux, A., and Thitimajshima, P. (1993). Near Shannon limit

Error-Correcting Coding and Decoding: Turbo Codes. In ICC, pages 1064–

1070. IEEE.

Divsalar, D., Pollara, F., and McEliece, R. J. (1995). Transfer function bounds

on the performance of turbo codes. JPL TDA Progress Report, 41.

Dolinar, S. and Divsalar, D. (1995). Weight Distributions for Turbo Codes

Using Random and Nonrandom Permutations. TDA Progress Report, 42.

Forney, G. D. (1973). The Viterbi Algorithm. pages 268–278. IEEE.

Hagenauer, J. (1996). Iterative decoding of binary block and Convolutional

Codes. IEEE trans. Inform. Theory, 42:429–445.

69

Page 85: Study of turbo codes across space time spreading channel

BIBLIOGRAPHY 70

Hanzo, L., Liew, T., and Yeap, B. (2002). Turbo Coding, Turbo Equalisation

and Space-Time Coding for transmission over fading channels, volume 1.

John Wiley and Sons Ltd.

Hochwald, B., Marzetta, T., and Papadias, C. (2001). A Transmitter Diversity

Scheme for Wideband CDMA Systems Based on Space-Time Spreading.

IEEE, 19(1):48–60.

Mielcszarek, B. and Svensson, A. (2000). Fast Header Decoding Using Turbo

Codes on Rayleigh Channels.

Raad, I., Vial, P., and Wysocki, T. (2004a). A Study of Turbo Codes across

Space Time Spreading Channel. Radioelectronkia 2004 - 14th International

Czech-Slovak Scientific Conference, 1.

Raad, I., Vial, P., and Wysocki, T. (2004b). A Study of UMTS Turbo Codes

across Space Time Spreading Channel with case of m = 1 and m = 2.

3rd Workshop on the Internet, Telecommunications and Signal Processing,

WITSP’04, Adelaide, 1.

Robertson, P. (1994). Illuminating the structure of parallel concatenated recur-

sive systematic (Turbo) codes. In Globecom, pages 1298–1303. IEEE.

Robertson, P. (1999). Improving decoder and code structure of parallel con-

catenated recursive systematic (Turbo) Codes. In ICUPC, pages 183–187.

IEEE.

Robertson, P., Villebrun, E., and Hoher, P. (1995). A comparison of optimal

and suboptimal MAP decoding algorithms operating in the Log domain.

Int. Con. Communications, pages 1009–1013.

Rooyen, P. V., Lotter, M., and van Wyk, D. (2000). Space-Time

Processing for CDMA Mobile Communications. Kluwer Acemdemic,

Boston/Dordrecht/London.

Valenti, M. C. (1999). Iterative detection and decoding for wireless Communi-

cations. PhD thesis, Virgina Polytechnic, Blackburg, Virgina.

Valenti, M. C. and Sun, J. (2001). The UMTS Turbo Code and an Efficient De-

Page 86: Study of turbo codes across space time spreading channel

BIBLIOGRAPHY 71

coder Implementation Suitable for Software-Defined Radios. International

Journal of Wireless Information Networks, 8(4):203–215.

Vial, P., Raad, I., and Wysocki, T. (2003). On the effect of adjacent sector

Multiple Access Interference on Space Time Spreading Systems. The 7th

international symposium on DSP and Communication systems AND the

second workshop on the internet, telecommunication and signal processing.,

1.

Vial, P., Raad, I., and Wysocki, T. (2004). On the Design and Validation

Using Simulink of a Space Time Spreading. Radioelectronkia 2004 - 14th

International Czech-Slovak Scientific Conference., 1.

Wu, Y. (2000). Implementation of Parallel and Serial Concatenated Convolu-

tional Codes. Phd, Faculty of the Virgina Polytechnic Institute and State

University, Blackburg, Virginia.

Page 87: Study of turbo codes across space time spreading channel

Appendix A

Classical Turbo Codes tablesN=100 and N=400

This appendix provides results obtained in this thesis for frame sizes of N = 100

and N = 400 for two code rates of r = 12

and r = 13. These results are obtained

for iterations of 1, 3, 5 and 8.

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 1.0e-001 4.5e-002 4.1e-002 3.5e-002 1.5e-002 5.9e-003 2.3e-003 4.0e-004FER 1 4.5e-001 8.3e-001 7.4e-001 6.5e-001 3.5e-001 1.9e-001 9.2e-002 2.1e-002

Table A.1 1 iteration, N=100, rate=12 , Log-Map decoding, g = [7; 5]octal

72

Page 88: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=100 and N=400 73

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 8.5e-002 7.3e-002 3.6e-002 1.4e-002 6.2e-003 1.4e-003 2.6e-004 1.3e-004 4.2e-005FER 7.4e-001 6.3e-001 4.8e-001 2.4e-001 1.3e-001 3.8e-002 8.6e-003 3.6e-003 1.1e-003

Table A.2 3 iterations, N=100, rate=12 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 9.7e-002 4.1e-002 2.9e-002 1.2e-002 5.0e-003 1.5e-003 6.5e-004 1.1e-004 3.0e-005FER 8.3e-001 5.9e-001 3.1e-001 1.8e-001 6.7e-002 3.2e-002 1.4e-002 2.8e-003 8.2e-004

Table A.3 5 iterations, N=100, rate=12 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 9.9e-002 6.1e-002 4.7e-002 1.5e-002 4.4e-003 8.1e-004 2.8e-004 9.8e-005 2.9e-005FER 8.7e-001 6.5e-001 4.9e-001 2.2e-001 7.9e-002 1.7e-002 6.7e-003 2.9e-003 9.8e-004

Table A.4 8 iterations, N=100, rate=12 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.6e-002 4.6e-002 4.9e-002 1.5e-002 7.2e-003 2.6e-003 2.1e-003 5.3e-004FER 9.5e-001 9.0e-001 8.0e-001 8.3e-001 3.9e-001 2.2e-001 9.8e-002 7.6e-003 2.2e-002

Table A.5 1 iteration, N=100, rate=13 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.4e-002 4.0e-002 2.3e-002 1.1e-002 1.7e-003 5.1e-004 7.5e-005 3.8e-005 6.2e-006FER 7.1e-001 4.0e-001 2.8e-001 1.6e-001 3.6e-002 1.2e-002 2.6e-003 1.2e-003 2.3e-004

Table A.6 3 iterations, N=100, rate=13 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.0e-002 2.7e-002 1.8e-002 7.5e-003 1.3e-003 3.3e-004 7.1e-005 2.2e-005 4.7e-006FER 4.7e-001 3.2e-001 1.9e-001 7.5e-002 2.5e-002 7.7e-003 2.3e-003 7.2e-004 1.9e-004

Table A.7 5 iterations, N=100, rate=13 , Log-Map decoding, g = [7; 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.7e-002 3.4e-002 1.1e-002 3.4e-003 1.1e-003 3.9e-004 6.2e-005 1.9e-005 5.6e-006FER 5.4e-001 3.2e-001 1.5e-001 5.5e-002 2.4e-002 8.2e-003 1.7e-003 6.6e-004 2.1e-004

Table A.8 8 iterations, N=100, rate=13 , Log-Map decoding, g = [7; 5]octal

Page 89: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=100 and N=400 74

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.8e-002 6.8e-002 4.6e-002 1.9e-002 9.9e-003 3.5e-003 1.6e-003 3.9e-004FER 1 1 1 1 1 6.8e-001 3.6e-001 2.0e-001 6.6e-002

Table A.9 1 iteration, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal.

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 7.0e-002 2.2e-002 6.0e-003 9.5e-004 1.6e-004 3.2e-005 8.7e-006 3.3e-006FER 1 1 6.5e-001 3.3e-001 1.17e-001 1.7e-002 5.4e-003 1.1e-003 5.6e-004

Table A.10 3 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 6.7e-002 2.2e-002 3.5e-003 6.7e-004 9.4e-005 2.4e-005 6.7e-006 2.4e-006FER 1 9.7e-001 5.7e-001 1.6e-001 3.5e-002 8.9e-003 2.9e-003 1.2e-003 4.5e-004

Table A.11 5 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 5.1e-002 1.7e-002 3.8e-003 2.9e-004 8.8e-005 2.1e-005 8.1e-006 2.0e-006FER 1 7.3e-001 4.1e-001 1.6e-001 2.2e-002 8.7e-003 2.9e-003 1.5e-003 3.9e-004

Table A.12 8 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.3e-002 7.4e-002 3.8e-002 1.5e-002 9.3e-003 2.4e-003 6.7e-004 2.2e-004FER 1 1 1 1 7.69e-001 7.5e-001 3.1e-001 9.62e-002 4.12e-002

Table A.13 1 iteration, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 8.8e-002 3.5e-002 7.6e-003 1.0e-003 1.2e-004 2.3e-005 4.6e-006 1.6e-006 8.0e-007FER 9.7e-001 8.3e-001 3.6e-001 7.7e-002 1.4e-002 3.7e-003 8.9e-004 2.8e-004 1.2e-004

Table A.14 3 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.3e-002 1.6e-002 3.2e-003 5.1e-004 4.9e-004 1.2e-005 4.1e-006 1.8e-006 5.8e-007FER 8.6e-001 4.6e-001 1.4e-001 3.3e-002 5.9e-003 2.1e-003 6.2e-004 3.0e-004 1.0e-004

Table A.15 5 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

Page 90: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=100 and N=400 75

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 5.7e-002 1.5e-002 1.5e-003 1.6e-004 3.1e-005 1.0e-005 4.5e-006 1.0e-006 6.6e-007FER 7.0e-001 3.0e-001 8.3e-002 1.6e-002 4.8e-003 1.8e-003 7.0e-004 3.0e-004 1.2e-004

Table A.16 8 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

Page 91: Study of turbo codes across space time spreading channel

Appendix B

Classical Turbo Codes tablesN=1024 and N=2000

This appendix provides results obtained in this thesis for the frame sizes of

N = 1024 and N = 2000 for two code rates of r = 12

and r = 13. These results

are obtained for iterations of 1, 3, 5 and 8.

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.6e-002 6.4e-002 4.0e-002 2.4e-002 8.8e-003 2.7e-003 1.1e-003 2.5e-004FER 1 1 1 1 1 9.5e-001 8.3e-001 3.4e-001 1.0e-001

Table B.1 1 iteration, N=1024, rate=12 , Log-Map decoding, g = [7, 5]octal

76

Page 92: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=1024 and N=2000 77

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 6.9e-002 2.6e-002 6.3e-003 5.0e-004 3.2e-005 6.1e-006 3.8e-006 8.1e-007FER 1 1 9.5e-001 5.0e-001 1.3e-001 1.2e-002 2.9e-003 1.8e-003 3.6e-004

Table B.2 3 iterations, N=1024, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.0e-001 6.1e-002 1.0e-002 1.1e-003 7.5e-005 2.4e-005 3.2e-006 1.7e-006 7.6e-007FER 1 9.5e-001 6.7e-001 1.2e-001 2.2e-002 7.5e-003 1.5e-003 8.2e-004 3.6e-004

Table B.3 5 iterations, N=1024, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 7.0e-002 1.8e-002 5.8e-004 5.9e-005 1.5e-005 3.1e-006 1.7e-006 7.9e-007FER 1 1 5.4e-001 1.2e-001 1.3e-002 4.9e-003 1.5e-003 8.2e-004 3.8e-004

Table B.4 8 iterations, N=1024, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.0e-002 5.4e-002 3.4e-002 1.6e-002 4.9e-003 2.0e-003 4.7e-004 1.6e-004FER 1 1 1 1 1 7.7e-001 6.3e-001 1.9e-001 6.4e-002

Table B.5 1 iteration, N=1024, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 7.2e-002 2.8e-002 4.2e-003 2.8e-004 2.2e-005 3.1e-006 1.0e-006 5.5e-007 2.6e-007FER 1 1 5.4e-001 7.2e-002 8.7e-003 1.4e-003 5.2e-004 2.8e-004 1.1e-004

Table B.6 3 iterations, N=1024, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 5.4e-002 1.8e-002 5.1e-004 6.2e-005 8.2e-006 6.4e-006 1.7e-006 6.3e-007 2.6e-007FER 1 6.5e-001 7.5e-002 1.3e-002 3.2e-003 1.1e-003 8.4e-004 2.9e-004 1.2e-004

Table B.7 5 iterations, N=1024, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 5.9e-002 1.1e-002 3.7e-004 3.7e-005 1.4e-005 2.8e-006 1.7e-006 6.2e-007 2.6e-007FER 8.7e-001 3.4e-001 3.4e-002 1.0e-002 4.9e-003 1.3e-003 8.4e-004 2.8e-004 1.0e-004

Table B.8 8 iterations, N=1024, rate=13 , Log-Map decoding, g = [7, 5]octal

Page 93: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=1024 and N=2000 78

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 9.8e-002 6.6e-002 3.9e-002 2.2e-002 8.2e-003 3.2e-003 8.9e-004 2.5e-004FER 1 1 1 1 1 1 9.1e-001 5.0e-001 1.8e-001

Table B.9 1 iteration, N=2000, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 6.2e-002 2.5e-002 4.6e-003 1.8e-004 1.3e-005 1.9e-006 1.4e-006 3.4e-007FER 1 1 1 7.7e-001 1.2e-001 1.1e-002 1.6e-003 1.0e-003 3.4-004

Table B.10 3 iterations, N=2000, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 4.8e-002 1.4e-002 3.4e-004 3.1e-005 4.8e-006 2.4e-006 7.9e-007 3.4e-007FER 1 1 8.7e-001 1.1e-001 2.0e-002 4.6e-003 2.0e-003 6.7e-004 3.4e-004

Table B.11 5 iterations, N=2000, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 6.2e-002 1.1e-002 2.2e-004 9.2e-006 4.6e-006 1.5e-006 6.2e-007 3.2e-007FER 1 1 4.8e-001 4.6e-002 6.5e-003 3.9e-003 1.3e-003 6.0e-004 3.0e-004

Table B.12 8 iterations, N=2000, rate=12 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.2e-001 8.9e-002 5.5e-002 3.3e-002 1.5e-002 5.6e-003 2.0e-003 4.2e-004 1.4e-004FER 1 1 1 1 1 9.5e-001 7.1e-001 3.1e-001 9.3e-002

Table B.13 1 iteration, N=2000, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 7.4e-002 2.6e-002 3.4e-003 9.8e-005 9.5e-006 1.7e-006 7.6e-007 1.9e-007 8.0e-008FER 1 1 7.1e-001 6.5e-002 8.2e-003 1.8e-003 7.4e-004 1.9e-004 7.7e-005

Table B.14 3 iterations, N=2000, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 7.1e-002 6.3e-003 1.3e-004 2.5e-005 5.8e-006 2.0e-006 5.9e-007 2.0e-007 7.1e-008FER 1 7.7e-001 6.8e-002 1.5e-002 3.4e-003 1.7e-003 5.7e-004 1.8e-004 7.0e-005

Table B.15 5 iterations, N=2000, rate=13 , Log-Map decoding, g = [7, 5]octal

Page 94: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables N=1024 and N=2000 79

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.8e-002 3.4e-003 4.8e-005 1.0e-005 3.1e-006 1.2e-006 5.2e-007 2.0e-007 8.6e-008FER 1 2.8e-001 2.2e-002 6.4e-003 2.9e-003 1.2e-003 5.2e-004 2.0e-004 8.1e-005

Table B.16 8 iterations, N=2000, rate=13 , Log-Map decoding, g = [7, 5]octal

Page 95: Study of turbo codes across space time spreading channel

Appendix C

Classical Turbo Codes tables fordifferent generator matrix (g)

This appendix provides tables for different generator matrix g, all other param-

eters are kept constant and g is varied to study its affects on turbo codes.

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 1.1e-001 6.7e-002 2.2e-002 3.5e-003 6.7e-004 9.4e-005 2.4e-005 6.7e-006 2.4e-006FER 1 9.7e-001 5.7e-001 1.6e-001 3.5e-002 8.9e-003 2.9e-003 1.2e-003 4.5e-004

Table C.1 5 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

80

Page 96: Study of turbo codes across space time spreading channel

Classical Turbo Codes tables for different generator matrix (g) 81

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 6.3e-002 1.6e-002 3.2e-003 5.1e-004 4.9e-004 1.2e-005 4.1e-006 1.8e-006 5.8e-007FER 8.6e-001 4.6e-001 1.4e-001 3.3e-002 5.9e-003 2.1e-003 6.2e-004 3.0e-004 1.0e-004

Table C.2 5 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 8.8e-002 7.1e-002 5.1e-002 3.7e-002 1.1e-002 4.8e-003 1.8e-003 5.8e-004 1.1e-004FER 1 1 1 1 5.1e-001 2.8e-001 1.4e-001 4.7e-002 1.2e-002

Table C.3 5 iterations, N=400, rate=12 , Log-Map decoding, g = [17, 15]octal

Eb

No(dB) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0

BER 8.8e-002 6.6e-002 4.4e-002 2.1e-002 1.0e-002 3.1e-003 1.0e-003 1.9e-004 5.0e-005FER 1 1 1 1 6.1e-001 2.1e-001 6.9e-002 1.4e-002 5.6e-003

Table C.4 5 iterations, N=400, rate=13 , Log-Map decoding, g = [17, 15]octal

Page 97: Study of turbo codes across space time spreading channel

Appendix D

Classical Turbo Codes- graphs ofresults

This appendix depicts figures of extra results obtain during the course of this

thesis. This helps in gaining further understanding of the classical turbo codes

and different aspects and parameters associated with the influential error cor-

rection code.

82

Page 98: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 83

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/2, N=1024, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.1 Bit Error Rate versus (BER) EbNo

with N = 1024, with g = [7; 5]octal,rate = 1

2 .

Page 99: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 84

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/2, N=100, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.2 Frame Error Rate versus (FER) EbNo

with N = 1024, with g = [7; 5]octal,rate = 1

2 .

Page 100: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 85

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

100

Eb/No (dB)

Bit

Err

or R

ate

(BE

R)

BER versus Eb/No and r=1/3, N=1024, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.3 Bit Error Rate versus (BER) EbNo

with N = 1024, with g = [7; 5]octal,rate = 1

3 .

Page 101: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 86

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/3, N=1024, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.4 Frame Error Rate versus (FER) EbNo

with N = 1024, with g = [7; 5]octal,rate = 1

3 .

Page 102: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 87

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/2, N=2000, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.5 Frame Error Rate versus (FER) EbNo

with N = 2000, with g = [7; 5]octal,rate = 1

2 .

Page 103: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 88

0 0.5 1 1.5 2 2.5 3 3.5 410

−5

10−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/3, N=2000, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.6 Frame Error Rate versus (FER) EbNo

with N = 2000, with g = [7; 5]octal,rate = 1

3 .

Page 104: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 89

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/2, N=100, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.7 Frame Error Rate (FER) versus EbNo

with N = 100, with g = [7; 5]octal,rate = 1

2 .

Page 105: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 90

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER versus Eb/No and r=1/3, N=100, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.8 Frame Error Rate (FER) versus EbNo

with N = 100, with g = [7; 5]octal,rate = 1

3 .

Page 106: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 91

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

FER vs dB with N=400, g=[7;5], k=3 r=1/2

1 iteration3 iterations5 iterations8 iterations

Figure D.9 Frame Error Rate versus (FER) EbNo

with N = 400, with g = [7; 5]octal,rate = 1

2 .

Page 107: Study of turbo codes across space time spreading channel

Classical Turbo Codes- graphs of results 92

0 0.5 1 1.5 2 2.5 3 3.5 410

−4

10−3

10−2

10−1

100

Eb/No (dB)

Fra

me

Err

or R

ate

(FE

R)

BER versus Eb/No and r=1/3, N=400, g=[7;5]octal, k=3

1 iteration3 iterations5 iterations8 iterations

Figure D.10 Frame Error Rate versus (FER) EbNo

with N = 400, with g = [7; 5]octal,rate = 1

3 .

Page 108: Study of turbo codes across space time spreading channel

Appendix E

Classical Turbo Codes-comparing SOVA and Log-Mapdecoding algorithms

This appendix presents tables comparing the SOVA and Log-Map decoding

algorithm discussed and presented in Chapter three. This comparison is carried

out for 5 iterations, g = [7; 5]octal, N = 400 for both code rates of r = 12

and

r = 13.

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 1.1e-001 6.7e-002 2.2e-002 3.5e-003 6.7e-004 9.4e-005 2.4e-005 6.7e-006 2.4e-006FER 1 9.7e-001 5.7e-001 1.5e-001 3.5e-002 8.9e-003 2.9e-003 1.2e-003 4.5e-004

Table E.1 5 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

93

Page 109: Study of turbo codes across space time spreading channel

Classical Turbo Codes- comparing SOVA and Log-Map decoding algorithms 94

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 6.3e-002 1.6e-002 3.2e-003 5.1e-004 4.9e-004 1.2e-005 4.1e-006 1.8e-006 5.8e-007FER 8.6e-001 4.6e-001 1.4e-001 3.3e-002 5.9e-003 2.1e-003 6.2e-004 3.0e-004 1.0e-004

Table E.2 5 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 1.4e-001 9.8e-002 4.6e-002 1.1e-002 3.7e-003 6.1e-004 1.5e-004 5.8e-005 1.1e-005FER 1 1 6.3e-001 3.3e-001 1.6e-001 4.0e-002 1.2e-002 4.4e-003 1.4e-003

Table E.3 5 iterations, N=400, rate=12 , SOVA decoding, g = [7, 5]octal

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 1.3e-001 5.8e-002 2.4e-002 2.9e-003 6.2e-004 8.5e-005 2.1e-005 9.9e-006 4.4e-006FER 9.5e-001 8.3e-001 5.0e-001 1.5e-001 4.1e-002 1.2e-002 3.4e-003 1.2e-003 5.7e-004

Table E.4 5 iterations, N=400, rate=13 , SOVA decoding, g = [7, 5]octal

Page 110: Study of turbo codes across space time spreading channel

Appendix F

Classical Turbo Codes-comparing constraint lengthK = 3 and K = 4

This appendix presents tables for different constraint lengths for Turbo Codes,

which include k = 3 and k = 4. These are derived from different generator

matrices which include g = [7; 5]octal and g = [17; 15]octal. The results are

obtained for two code rates of r = 12

and r = 13, for five iterations and input

frame size of N = 400. The Log-Map decoding algorithm is assumed. These

results are shown in Tables F.1, F.2, F.3 and F.4 respectively.

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 1.1e-001 6.7e-002 2.2e-002 3.5e-003 6.7e-004 9.4e-005 2.44e-005 6.7e-006 2.4e-006FER 1 9.7e-001 5.7e-001 1.6e-001 3.5e-002 8.9e-003 2.9e-003 1.2e-003 4.5e-004

Table F.1 5 iterations, N=400, rate=12 , Log-Map decoding, g = [7, 5]octal

95

Page 111: Study of turbo codes across space time spreading channel

Classical Turbo Codes- comparing constraint length K = 3 and K = 4 96

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 6.3e-002 1.6e-002 3.2e-003 5.1e-004 4.9e-004 1.2e-005 4.1e-006 1.8e-006 5.8e-007FER 8.6e-001 4.6e-001 1.4e-001 3.3e-002 5.9e-003 2.1e-003 6.2e-004 3.0e-004 1.0e-004

Table F.2 5 iterations, N=400, rate=13 , Log-Map decoding, g = [7, 5]octal

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 8.8e-002 7.1e-002 5.1e-002 3.7e-002 1.1e-002 4.8e-003 1.8e-003 5.8e-004 1.1e-004FER 1 1 1 1 5.1e-001 2.8e-001 1.4e-001 4.7e-002 1.2e-002

Table F.3 5 iterations, N=400, rate=12 , Log-Map decoding, g = [17, 15]octal

dB 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0BER 8.8e-002 6.6e-002 4.4e-002 2.1e-002 1.0e-002 3.1e-003 1.0e-003 1.9e-004 5.0e-005FER 1 1 1 1 6.1e-001 2.1e-001 6.9e-002 1.4e-002 5.6e-003

Table F.4 5 iterations, N=400, rate=13 , Log-Map decoding, g = [17, 15]octal