You are on page 1of 75

EVALUATION OF LDPC CODING TECHNIQUE TO OFDM SYSTEM

IN AWGN AND MULTIPATH FADING CHANNEL USING MATLAB

A Thesis

Presented to the

Faculty of

California State Polytechnic University, Pomona

In Partial Fulfillment

Of the Requirement for the Degree

Master of Science

In

Electrical Engineering

By

Vincent Tran

2020
SIGNATURE PAGE

THESIS: EVALUATION OF LDPC CODING TECHNIQUE TO


OFDM SYSTEM IN AWGN AND MULTIPATH FAD-
ING CHANNEL USING MATLAB

AUTHOR: Vincent Tran

DATE SUBMITTED Fall 2020

Department of Electrical and Computer Engineering

Thomas Ketseoglou, Ph.D.


Thesis Committee Chair
Professor of Electrical Engineering

James Kang, Ph.D.


Professor of Electrical Engineering

Salamon Oldak, Ph.D.


Professor of Electrical Engineering

ii
Contents

SIGNATURE PAGE ii

LIST OF TABLES vii

LIST OF FIGURES ix

1 INTRODUCTION 1

2 BACKGROUND OF OFDM AND CHANNEL CODING 2

2.1 Multicarrier Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 OFDM Modulation and Demodulation . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 OFDM Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 OFDM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.3 Matrix Representation of OFDM . . . . . . . . . . . . . . . . . . . . 7

2.3 Challenges in Multicarrier Modulation . . . . . . . . . . . . . . . . . . . . . 7

2.3.1 Peak-to-Average Power Ratio (PAR) . . . . . . . . . . . . . . . . . . 8

2.3.2 Frequency and Timing Offset . . . . . . . . . . . . . . . . . . . . . . 8

2.4 The Effect of AWGN Channel on OFDM . . . . . . . . . . . . . . . . . . . 8

2.5 Fading Channel on OFDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.5.1 Multi-path Fading Channel . . . . . . . . . . . . . . . . . . . . . . . 10

2.5.2 Time Variance Fading Channel . . . . . . . . . . . . . . . . . . . . . 11

2.5.3 Mathematical Representation of Signal in Fading Channel . . . . . . 12

2.6 Channel Coding in OFDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.6.1 Convolutional Coding . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.6.1.1 Encoding of Convolutional Code . . . . . . . . . . . . . . . 12

2.6.1.2 Decoding of Convolutional Code . . . . . . . . . . . . . . . 14

2.6.2 Turbo Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6.2.1 Encoding of Turbo Code . . . . . . . . . . . . . . . . . . . 15

2.6.2.2 Decoding of Turbo Code . . . . . . . . . . . . . . . . . . . 16

iii
2.7 LDPC Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.7.1 LDPC Coding Introduction . . . . . . . . . . . . . . . . . . . . . . . 17

2.7.2 Linear Block Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.7.2.1 Linear Block Code Introduction . . . . . . . . . . . . . . . 18

2.7.2.2 Error Detection in Hamming Code . . . . . . . . . . . . . . 19

2.7.3 Hard-Decision Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.7.3.1 Hard-Decision Decoding Algorithm . . . . . . . . . . . . . 22

2.7.3.2 Example of Hard-Decision Decoding . . . . . . . . . . . . . 22

2.7.4 Soft-Decision Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.8 Error Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 MATLAB FUNCTIONS FOR SYSTEM MODEL 28

3.1 QAM Modulation/Demodulation . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 OFDM Modulator and Demodulator . . . . . . . . . . . . . . . . . . . . . . 29

3.3 AWGN Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.4 Multipath Faing Rayleigh Channel Model . . . . . . . . . . . . . . . . . . . 30

3.5 LDPC Encoder and Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.6 Convolutional Code Encoder and Decoder . . . . . . . . . . . . . . . . . . . 31

3.7 Turbo Code Encoder and Decoder . . . . . . . . . . . . . . . . . . . . . . . 32

4 OFDM IN NOISY CHANNEL AND CHANNEL CODING 33

4.1 OFDM System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Parameter Description of Coding Techniques: LDPC, Convolutional Code,

and Turbo Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3 OFDM System in a Noisy Channel . . . . . . . . . . . . . . . . . . . . . . . 35

4.4 LDPC Code in OFDM System with Noise . . . . . . . . . . . . . . . . . . . 36

4.5 Convolutional Code on OFDM System Through an AWGN Channel . . . . 38

4.6 Turbo Code in OFDM System Through AWGN Channel . . . . . . . . . . . 39

4.7 Comparison Between LDPC, Convolutional Code, and Turbo Code in AWGN 41

iv
5 OFDM WITH MULTIPATH FADING CHANNEL AND CHANNEL COD-

ING 43

5.1 Brief Description of Multipath Fading Channel Parameter . . . . . . . . . . 43

5.2 Effect of Multipath on OFDM System . . . . . . . . . . . . . . . . . . . . . 43

5.2.1 Constellation of Signal Over Multipath Fading Channel . . . . . . . 44

5.2.2 BER Performance of OFDM system Over Multipath Fading Channel 45

5.2.2.1 BER Performance of OFDM System in Multipath Fading

Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.3 LDPC Code on OFDM with Multipath Fading Channel . . . . . . . . . . . 47

5.3.1 Applying LDPC to Frequency-Selective Fading Channel . . . . . . . 48

5.3.1.1 2-multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.3.1.2 3-multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.1.3 4-multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.1.4 6-multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.3.1.5 LDPC and Convolutional Code in Multipath . . . . . . . . 53

5.3.1.6 LDPC and Turbo Code in Multipath . . . . . . . . . . . . 55

6 CONCLUSION 57

REFERENCES 58

APPENDIX 60

A List of Acronyms 60

B Syntax of MATLAB Functions in Thesis 61

B.1 QAM Modulation and Demodulation . . . . . . . . . . . . . . . . . . . . . . 61

B.2 OFDM Modulation and Demodulation . . . . . . . . . . . . . . . . . . . . . 61

B.3 AWGN Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

B.4 Multipath Faing Rayleigh Channel . . . . . . . . . . . . . . . . . . . . . . . 61

B.5 LDPC Encoder and Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 62

B.6 Convolutional Code Encoder and Decoder . . . . . . . . . . . . . . . . . . . 62

v
B.7 Turbo Code Encoder and Decoder . . . . . . . . . . . . . . . . . . . . . . . 62

C MATLAB Code for Equalization 63

D Theoretical BER Data for AWGN Channels 64

E Theoretical BER Data for Fading Channels 65

vi
LIST OF TABLES

1 Summary of Bit Received and Sent by Check Nodes for r . . . . . . . . . . 24

2 First Updated Codeword r1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Bit Received and Sent by Check Nodes for r1 . . . . . . . . . . . . . . . . . 25

4 Second Updated Codeword . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 QAM Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6 QAM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

7 OFDM Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

8 OFDM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

9 AWGN Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

10 Rayleigh Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

11 LDPC Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

12 LDPC Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

13 Convolutional Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

14 Convolutional Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

15 Turbo Code Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

16 Turbo Code Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

17 OFDM Symbol Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

18 LDPC Key Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

19 Convolutional Code Key Parameters . . . . . . . . . . . . . . . . . . . . . . 35

20 Turbo Code Key Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 35

21 Comparison Parameters Between LDPC, Convolutional Code, and Turbo

Code in AWGN Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

22 OFDM Quantities Associated With Sampling Rate of 4.5M Hz . . . . . . . 43

23 Example of Rayleigh Fading Channel Parameters . . . . . . . . . . . . . . . 44

24 Two Rayleigh Multipath Fading Channel Parameters . . . . . . . . . . . . . 46


25 Maximum Doppler Shift and The Equivalent Mobile Speed Associated With

2GHz Carrier Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

26 Three Rayleigh Multipath Fading Channel Parameters . . . . . . . . . . . . 49

vii
27 Four Rayleigh Multipath Fading Channel Parameters . . . . . . . . . . . . . 50

28 Six Rayleigh Multipath Fading Channel Parameters . . . . . . . . . . . . . 52

29 Comparison Parameters Between LDPC and Convolutional Code . . . . . . 54

30 Comparison Parameters Between LDPC and Turbo Code . . . . . . . . . . 55

viii
LIST OF FIGURES

2.1 Multicarrier Bandwidth Division . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 Multicarrier Modulation at Transmitter . . . . . . . . . . . . . . . . . . . . 3

2.3 Multicarrier Demodulation at Receiver . . . . . . . . . . . . . . . . . . . . . 3

2.4 Orthogonal Subcarriers in OFDM . . . . . . . . . . . . . . . . . . . . . . . . 4

2.5 Cyclic Prefix and Cyclic Suffix in an OFDM symbol . . . . . . . . . . . . . 5

2.6 OFDM Modulation and Demodulation with IFFT and FFT Implementation 6

2.7 Scatter Plot for 64-QAM Modulation With Various SNR . . . . . . . . . . . 9

2.8 Fading Channel Classification . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.9 A Typical Convolutional Encoder . . . . . . . . . . . . . . . . . . . . . . . . 13

2.10 Convolutional Encoder With k = 1, K = 3, and n = 3 . . . . . . . . . . . . 13

2.11 Trellis Diagram Associated with Encoder in Figure 2.10 . . . . . . . . . . . 14

2.12 A Typical Turbo Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.13 Turbo Decoder Corresponding to Figure 2.12 . . . . . . . . . . . . . . . . . 16

2.14 A Parity Check Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.15 The Tanner Graph Representation for H matrix in Figure 2.14 . . . . . . . 19

2.16 Tanner Graph Associated With the Parity Check Matrix . . . . . . . . . . . 23

2.17 Error Floor in BER Performance of Coded System . . . . . . . . . . . . . . 27

4.1 Graphical Representation of the OFDM Symbol in Table 17 . . . . . . . . . 34

4.2 Block Diagram of OFDM System Model in AWGN Channel . . . . . . . . . 35

4.3 BER-versus-EbNo plot of OFDM in AWGN Channel . . . . . . . . . . . . . 36

4.4 Block Diagram of OFDM System Model in AWGN Channel With LDPC . 36

4.5 BER Performance of LDPC Rate 1/3 for Different Maximum Iteration Numbers 37

4.6 BER Comparison Between Uncoded Data and LDPC-Coded Data Different

Rates Through an AWGN Channel . . . . . . . . . . . . . . . . . . . . . . . 37

4.7 Block Diagram of OFDM System Model in AWGN Channel With Convolu-

tional Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.8 BER Performance of Convolutional Rate 1/3 for Different Traceback Depth

Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

ix
4.9 BER Comparison Between Uncoded Data and Convolutional-Coded Data

With Different Rates Through an AWGN Channel . . . . . . . . . . . . . . 39

4.10 Block Diagram of OFDM System Model in AWGN Channel With Turbo Code 39

4.11 BER Performance of Turbo Code Rate 1/3 for Different Iteration Numbers 40

4.12 BER Performance of Turbo Code Rate 1/3 for Iteration Number 5 Specifically 41

4.13 BER Performance of LDPC Code, Convolutional Code, Turbo Code Rate

1/3 in AWGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1 64-QAM Constellation in OFDM System Under Multipath Fading Effect

Without Equalization (Left) and With Equalization (Right) . . . . . . . . . 44

5.2 BER Performance of OFDM System Over Multipath Fading Channel . . . . 45

5.3 BER Performance of OFDM System Over 2-Multipath Rayleigh Fading Chan-

nel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4 Block Diagram of OFDM System Model undergoing AWGN Channel and

Rayleigh Multipath Fading Channel With LDPC Code . . . . . . . . . . . . 48

5.5 BER Performance of LDPC Rate 1/3 Applied to 2-Multipath Fading Channel 49

5.6 BER Performance of LDPC Rate 1/3 Applied to 3-Multipath Fading Channel 50

5.7 BER Performance of OFDM for Four Rayleigh Multipath Fading Channel

for 16 Cyclic Prefix Length . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.8 BER Performance of OFDM for Four Rayleigh Multipath Fading Channel

for 32 Cyclic Prefix Length . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.9 BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for

16 Cyclic Prefix Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.10 BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for

48 Cyclic Prefix Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.11 BER Performance of OFDM in 2 Rayleigh Multipath Fading Channel for 16

Cyclic Prefix Length Between LDPC and Convolutional Code . . . . . . . . 55

5.12 BER Performance of OFDM for 2 Rayleigh Multipath Fading Channel for

16 Cyclic Prefix Length Between LDPC and Turbo Code . . . . . . . . . . 56

x
1 INTRODUCTION

The current fifth generation (5G) of wireless communication system relies on multicarrier

modulation to build its networks which are famous for high data rates, ultra-reliability, and

massive machine type communication. The implementation of 5G relies on the orthogonal

frequency-division multiplexed (OFDM). Compared to 4G-LTE and 4G, the 5G wireless

technology is significantly improved. First, 5G Enhanced Mobile Broadband (eMBB) seeks

to significantly improved the data rate, latency, user density, capacity, and coverage of

mobile broadband access to allow the live streaming of AR/VR applications in very crowded

environments. eMBB targets a key performance of 10,000C more traffic, 20Gbpss DL Peak

Data Rate, and 100 Mbps High Mobility [1]. Secondly, 5G includes Massive Machine Type

Communication (mMTC) with targeted performance of 1 million devices per km2 and 10-

Year Battery Life. Furthermore, 5G Ultra-Reliable Low-Latency Communication (URLLC)

targets performance of 1ms latency and 99.9999% reliability [1].

In this thesis, the main objective is to study the performance of OFDM modulation

on bit error rate (BER) in AWGN channel and multipath fading channel from employing

low density parity check (LDPC) code. On the other hand, the comparison between LDPC

code with convolutional code and turbo code (in 3G and 4G) is also conducted to see how

low BER is observed.

The work of this thesis is divided into 4 chapters from Chapter 2 to Chapter 5. First,

Chapter 2 reviews the concepts of multicarreir modulation, OFDM, and how channel coding

works in three different coding techniques: LDPC, convolutional code, turbo code, and how

AWGN channel and multipath fading channel affect a communication system. Secondly,

Chapter 3 describes key MATLAB functions for designing the communication system based

on OFDM and channel coding for BER simulation. These functions include parameter

initialization, signal modulation and encoding at transmitter, channels, and signal demod-

ulation and decoding at receiver. Next, Chapter 4 displays BER simulated results when

the OFDM system undergoes AWGN channel and when LDPC channel coding is applied.

Eventually, similar to chapter 4, Chapter 5 shows BER simulated results under the effect

of multipath fading channel.

1
2 BACKGROUND OF OFDM AND CHANNEL CODING

2.1 Multicarrier Modulation

In multicarrier modulation, the channel bandwidth (W) is equally divided into a number

of subchannels (K). Each subcarrier occupies a bandwidth of Δf (=W/K), and the subcarrier

frequency is defined by the middle frequency in each subchannel. For instance, Figure 2.1

below illustrates data bandwidth which is divided into 10 subcarriers in frequency domain.

Figure 2.1: Multicarrier Bandwidth Division

The signal in a multicarrier system at transmitter and receiver is described by the

following [2, Fig. 2.2] and [2, Fig. 2.3]. As seen in Figure 2.2 the passband transmitted

signal is generated from first dividing the binary data in series into N sequences in parallel,

then up-converting to N different frequencies from f0 to fN −1 . Finally, the transmitted

signal is the summation of subcarries as modulated signals.

N
X −1
s(t) = si g(t) cos (2πfi t + φi ) (1)
i=0

where si , fi , and φi are the complex symbol, subcarrier frequency, and phase offset of the

ith carrier, respectively. In addition, g(t) is a pulse shaping function.

2
Figure 2.2: Multicarrier Modulation at Transmitter

Figure 2.3: Multicarrier Demodulation at Receiver

From equation (1), a subcarrier can be simply written as

ci (t) = Aci cos(2πfi t + φi ) (2)

for i=0, 1, 2,..., N-1 and subcarrier magnitute Aci . In special case when the inner product

between every subcarrier is zero, the orthogonal frequency-division multiplexed (OFDM)

signal is formed as described in equation (3) for all k 6= j.

Z T
Ack cos(2πfk t + φk )Acj cos(2πfj t + φj )dt = 0 (3)
0

3
n
for which fk and fj satisfy the condition fk − fj = T with n=1, 2,..., N-1 with T being the

OFDM-symbol duration. For example, a 16-subcarrier OFDM signal is given in equation

(4) below. r
2
ci (t) = Ai cos(2πfi t + φi ), 0 ≤ t ≤ T (4)
T

where i=0, 1,..., 15. Assumed that f0 = 2Hz, the 2-sided amplitude spectrum of the

orthogonal subcarriers in OFDM is plotted in Figure 2.4.

Figure 2.4: Orthogonal Subcarriers in OFDM

2.2 OFDM Modulation and Demodulation

In addition to data carriers and DC components, an OFDM symbol might also includes

pilot subcarriers, guard intervals, and guard bands to avoid intersymbol interference (ISI)

and intercarrier interference (ICI).

Pilots are added in an OFDM for channel estimation. Because pilots are known complex

symbols, tracking and correcting amplitude, phase and timing errors can be performed by

comparing pilot known symbols with the actual received symbols to determine the differ-

ences. So that, adjustment can be computed for demodulation. A set of L pilot tones in an

4
OFDM symbol is optimally selected from one of the sets in [3] given below.

n N (L − 1)N o N
i, i + , ..., i + , i = 0, 1, ..., −1
L L L

where N is the number of OFDM subcarriers and L is the maximum length of channel.

Guard bands are null subcarriers that are added between consecutive OFDM symbols

to reduce the adjacent channel interference (ACI) [4] and therefore reduce ISI in OFDM

system. ACI occurs as the the result of the sum of many frequency-shifted sinc functions

which have large out-of-band power. Although adding guard bands for each subcarrier is

an effective way to reduce ACI, it reduces data rate of OFDM system due to these unused

subcarriers.

Similar to guard bands, guard intervals are added in an OFDM symbol to prevent

ISI when the signal passes through a time-dispersive channel (frequency-selective channel).

Guard intervals are implemented by either adding cyclic prefix (CP) or cyclic suffix (CS).

The description of how CP or CS are inserted in to an OFDM symbol is described in [4,

Fig. 2.5]. In this figure, a cyclic prefix is a repeat of the last part of OFDM symbols and is

Figure 2.5: Cyclic Prefix and Cyclic Suffix in an OFDM symbol

placed at the first part the OFDM symbol. On the other hand, a cyclic suffix of length is

the opposite of cyclic prefix. The length of guard intervals is selected such that it is longer

than the maximum delay of a time-dispersive channel such as multipth fading channel, so

the orthogonality among its subcarriers is maintained.

The key implementation of OFDM modulation and demodulation is based on inverse

fast Fourier transform (IFFT) and fast Fourier transform (FFT), respectively. The process

of creating and recovering OFDM signal at transmitter and receiver by applying IFFF and

5
FFT is shown in [2, Fig. 2.6].

Figure 2.6: OFDM Modulation and Demodulation with IFFT and FFT Implementation

2.2.1 OFDM Modulation

As described in Figure 2.6, if an OFDM system has N data subcarries, by applying

IFFT the modulated OFDM symbol is created in time domain. A nth subcarrier carries a

data symbol given by [2, eq. (5)].

N −1
1 X
x[n] = √ X[i]ej2πni/N , 0 ≤ n ≤ N − 1 (5)
N i=0

where X[i] is the modulated complex symbols from a modulation scheme such as QAM,

PSK, etc.,..., and √1 is a scale factor.


N

2.2.2 OFDM Demodulation

OFDM demodulation extracts data subcarriers from pilots and guard intervals of trans-

mitted OFDM signal, and it is implemented by FFT. By applying FFT, the received OFDM

symbol in time domain is converted back to frequency domain, given by the equation (6).

6
N −1
1 X
Y [n] = √ y[i]e−j2πni/N , 0 ≤ n ≤ N − 1 (6)
N i=0

where y[i] is a received symbol of OFDM signal.

2.2.3 Matrix Representation of OFDM

The FFT implementation for OFDM can be expressed by the matrix multiplication of

matrix Q and received OFDM symbol x.

X = Qx (7)

where X = (X[0], X[1], ..., X[N − 1])T , x = (x[0], x[1], ..., [N − 1])T , and Q is an N × N

matrix defined in [2, eq. (8)].

⎛ ⎞
1 1 1 ··· 1
⎜ ⎟
N −1 ⎟
⎜ ⎟
⎜1 WN WN 2 · · · WN
Q = ⎜. (8)
⎜ ⎟
⎜. .. .. .. .. ⎟
⎜. . . . .


⎝ 2

2(N −1) (N −1)
1 WNN −1 WN · · · WN

where WN = ej2π/N .

On the other hand, the IFFF implementation is determined by Q and X in [2, eq. (9)]

x = Q−1 X = QH X (9)

where Q−1 = QH .

2.3 Challenges in Multicarrier Modulation

Some factors that detrimentally affect the performance of multicarrier system such as

peak-to-average power ratio, frequency and timing offset.

7
2.3.1 Peak-to-Average Power Ratio (PAR)

The PAR is defined by the ratio of peak power to average power of a signal, given by [2,

eq. (10)] and [2, eq. (11)] for continuous-time signal and discrete-time signal, respectively.

Δ maxt |x(t)|2
P AR = (10)
Et [|x(t)|2 ]

Δ maxn |x[n]|2
P AR = (11)
En [|x[n]|2 ]

The transmit power amplifier operates efficiently at low PAR, but it is forced to have a large

backoff to ensure linear amplifier of the signal to avoid signal distortion [2]. High PAR also

requires high resolution for analog-to-digital (A/D) converter at the receiver to compensate

large dynamic range of the signal, leading to complexity and power burden on the receiver

front end [2]. Some methods to reduce the effects of PAR on OFDM signals include clipping

of the OFDM signal above some threshold, peak cancellation with a complementary signal,

and coding techniques [5].

2.3.2 Frequency and Timing Offset

Frequency offset in an OFDM system is caused by the frequency mismatch or sampling

mismatch between transmitter and receiver oscillators, Doppler frequency shift, or timing

synchronization errors. Frequency mismatch affects the orthogonality among subcarrier in

OFDM modulation. To ensure the orthogonality, the subcarrier separation Δf is required


1 1
to equal TN where TN is the symbol time of modulated signal in each subcarrier [2]. In case
1
of frequency mismatch, where Δf 6= TN , the loss of orthogonality occurs and causes (ICI).

2.4 The Effect of AWGN Channel on OFDM

In the presence of noise, the actual modulated OFDM symbol is altered by noise. The

equation (9) can be rewritten as followed:

x = Q−1 X + n = QH X + n (12)

8
where n is the AWGN noise. The present of noise changes the phase and amplitude of the

modulated OFDM signal. Mathematically, equation (9) is applied for the distorted signal

as followed.

N
X −1
x[n] = (WNni )H X[i] + n[i], 0 ≤ n ≤ N − 1 (13)
i=0

To described the effect of noise, assumed that 1000 symbols are modulated by 64-QAM

in an OFDM system, in the presence of noise, after demodulation the recovered symbols

are shown Figure 2.7. As seen in this figure, the increase of SNR reduces scattering level of

Figure 2.7: Scatter Plot for 64-QAM Modulation With Various SNR

QAM symbols in constellation plot so that it lowers bit error rate (BER).

2.5 Fading Channel on OFDM

Fading channel can be a large-scale fading or a small-scale fading. The classification

of fading channels is illustrated in [6, Fig. 2.8]. Large-scale fading refers to average path

loss and shadowing as the mobile moves through a large distance in the order of cell size

and encounters large objects such as buildings [6]. Therefore, this type of fading reduces

9
Figure 2.8: Fading Channel Classification

received signal power. On the other hand, small-scale fading is the fast variation of signal

levels caused by the constructive and destructive interference of multiple signal paths when

the mobile moves through a short distance [6]. For the scope of this thesis the small-

scale fading is analyzed. Small-scale fading is divided into two groups. The first group is

multi-path fading, and the second group is time variance.

2.5.1 Multi-path Fading Channel

Multi-path fading channel is caused by time dispersion. Under the effect of time dis-

persion, the transmit signal experiences fading which can be characterized as frequency-

selective fading or frequency-non-selective fading (flat fading) [6]. These types of fading are

determined by transmit signal bandwidth Bs and coherence bandwidth Bc by the below

conditions [6].


⎨F requency − non − selectivef ading, if Bs  Bc and Ts  στ


⎩F requency − selectivef ading,
⎪ if Bs > Bc and Ts > στ

where Ts and στ are symbol period of the transmit signal and RMS delay spread, respec-

tively. In frequency-non-selective fading channel, Bs is narrow enough such that the fading

of transmit signal does not vary much, meaning that the frequency response of the chan-

nel has its amplitude roughly constant across signal bandwidth. In the other hand, in

frequency-selective fading channel, the fading of transmit signal varies with frequencies,

10
meaning that the frequency response of this channel has its amplitude changing across the

signal bandwidth.

2.5.2 Time Variance Fading Channel

Time variance fading channel is caused by frequency dispersion. A frequency dispersion

is a spread in frequency domain from a variation in the time domain such as movement

of transmitter or receiver [6]. This frequency spread is known as Doppler shift, Doppler

frequency, or Doppler spread. Under the effect of frequency dispersion, the transmit signal

experiences fast fading or slow fading which can be determined by the following conditions

[6]. ⎧

⎨F astf ading,
⎪ if Ts > Tc and Bs < Bd

⎩Slowf ading,
⎪ if Ts  Tc and Bs  Bd

where Ts and Bs are symbol period and signal bandwidth, while Tc and Bd are coher-

ence time and bandwidth of Doppler spectrum, respectively. Assumed that the maximum

Doppler shift is fm , Bd and Tc are given by the following [6, eq. (14)] and [6, eq. (15)].

Bd = 2fm (14)

1
Tc ≈ (15)
fm

The maximum Doppler shift is determined from mobile speed and an angle θ constructed

by mobile’s direction and plane wave’s direction arriving at mobile device, given by [6,

eq. (16)].
v
fi = fm cosθi = cosθi (16)
λ

Different from multi-path fading where the amplitude of frequency response over the

channel varies with frequency, in time variance fading the channel impulse response varies

quickly or slowly within the symbol period if the channel is fast fading or slow fading,

respectively.

11
2.5.3 Mathematical Representation of Signal in Fading Channel

The transmit signal x̃(t) and the received signal ỹ(t) in a fading channel are seen in [6,

eq. (17)] and [6, eq. (18)], respectively.

x̃(t) = Re[x(t)ej2πfc t ] (17)

l
X 
ỹ(t) = Re Ci e2π(fc +fi )(t−τi )x(t−τi ) = Re[y(t)ej2πfc t ] (18)
i=1

where x(t), Ci , τi , fi are baseband transmit signal, channel gain, time delay, and Doppler

shift for the ith propagation path, respectively.

2.6 Channel Coding in OFDM

Channel coding in OFDM system has a very important role in correcting error during

signal transmission due to noise, fading, and frequency offset that cause the demodula-

tor alone to produce an unsatisfactory BER. Adding channel coding improves BER result

significantly. The performance of LDPC code in comparison with convolutional code and

turbo code will be analyzed for this thesis.

2.6.1 Convolutional Coding

2.6.1.1 Encoding of Convolutional Code

A convolutuonal code encodes a k-bit information to a n-bit codeword for modulation

by passing the information bits through a linear finite-state shift register [7]. A typical

convolutional encoder is generally illustrated in [7, Fig. 2.9]. The encoder takes an k-bit

input to generate an n-bit output for its codeword. The encoder structure consists of K-

stage shift registers with k bits per stage and n binary addition operators. Each bit of

the output codeword is the result of binary addition from certain bits of each stage. The

encoder has a code rate of k/n, constraint length of kK, and total possible states of 2(K−1)k .

The encoder output depends not only on the input sequence but also on the states of the

encoder which are determined by the last (K-1)k inputs of the encoder [8].

12
Figure 2.9: A Typical Convolutional Encoder
.

The following example shown in [7, Fig. 2.10] is a simple convolutional encoder with

k = 1, K = 3, and n = 3. A binary input of length one is shifted into each stage, and the

Figure 2.10: Convolutional Encoder With k = 1, K = 3, and n = 3

output codeword C1 C2 C3 of length 3 is created at a time where C1 = S1 , C2 = S1 + S2 + S3 ,

and C3 = S1 + S3 where S1 , S2 , and S3 are three stages of the encoder.

13
After an input is shifted to a shift register, there will be a transition of states from stage

2 to stage K of the encoder, and the output codeword will be generated. To illustrate this

process, a trellis diagram shows possible encoder states and output codewords associated

with an data input. For instance, the trellis diagram for the convolutional encoder in Figure

2.10 is shown in [7, Fig. 2.11]. In the figure, stage 2 and stage 3 of the encoder constitute

Figure 2.11: Trellis Diagram Associated with Encoder in Figure 2.10

four possible encoder states 00, 01, 10, and 11. The encoder is initialized with all zeros and

00 state prior to t0 , so at time t0 the encoder state is 00. If a input 0 is shifted to S1 , the

next state remains 00, and the output is 000 at time t1 . However, if the input is 1, the

encoder next state is 10, and the output is 111 at time t1 . The process is similarly applied

for the incoming inputs.

2.6.1.2 Decoding of Convolutional Code

The Viterbi algorithm is an effective algorithm to decode convolutional code. The

algorithm can either be performed by hard-decision decoding or soft-decision decoding. In

hard-decision decoding, Viterbi algorithm finds the path through trellis diagram which has

a minimum Hamming distance from the received sequence. While, in soft-decision decoding

14
the algorithm finds the path that gives the minimum Euclidean from the received sequence

[8].

In hard-decision decoding, the Hamming distance for a certain path in trellis diagram

is computed by [8, eq. (19)], where m is the total of branches in trellis diagram, c is the

actual codeword, and y is the quantized received sequence. The decoder selects the data

sequence from the path that yields minimum Hamming distance.

m
X
d(c, y) = d(ci , yi ) (19)
i=1

Whereas, in soft-decision decoding the decoder selects the data sequence that gives the

minimum Euclidean distance. The Euclidean distance is provided in [8, eq. (20)].

m
X
d2 (c0 , r) = d2E (c0i , ri ) (20)
i=1

Where c0 is a sequence that is determined by the following conditions



⎪ √
⎨ E,
⎪ if cij = 1
c0ij =
⎪ √
⎩− E, if cij = 0

for 1 ≤ i ≤ m and 1 ≤ j ≤ n with n being the number of bits in a codeword, and r is an

output of the optimal (matched filter type or correlator type) digital demodulator [8].

2.6.2 Turbo Code

2.6.2.1 Encoding of Turbo Code

Turbo coding is a coding technique that is developed from convolutional code. A typical

turbo code consists of two parallel convolutional encoders separated by an interleaver as

displayed in [7, Fig. 2.12]. The convolutional encoder C1 takes input m to produce parity

sequence X1 , and the convolutional encoder C2 takes the interleaving data of input m to

generate parity sequence X2 . Overall, the turbo encoder takes an input sequence m and

generate an output of three components m, X1 , and X2 .

15
Figure 2.12: A Typical Turbo Encoder
.

2.6.2.2 Decoding of Turbo Code

A turbo decoder associated with the turbo encoder in Figure 2.12 is illustrated in [7,

Fig. 2.13]. It consists of decoder 1 and decoder 2 that are based on Viterbi algorithm with

soft input-soft output decoding. Along with these 2 decoders, interleaver and deinterleaver

blocks are added to perform iteration process.

Figure 2.13: Turbo Decoder Corresponding to Figure 2.12


.

The iterative decoding of turbo code in Figure 2.13 is illustrated step-by-step as followed.

Step 1: Decoder 1 takes input from received data m and parity X1 (m, X1 ) to produce a

sequence m1 and a soft decision in the form of a probability measure p(m1 ). This probability

16
measure is computed from either a maximum posteriori probability or a soft output Viterbi

algorithm.

Step 2: Decoder 2 takes inputs from received data m, parity X2 (m, X2 ) and p(m1 )

from interleaving to generate its decoded sequence m2 and the probability measure p(m2 ).

Step 3: Decoder 1 updates its output p(m1 ) from (m, X1 ) and output of the deinter-

leaver block from p(m2 ).

Step 4: The turbo decoder keeps interating until m = m1 = m2 as its termination

condition or until a certain number of iterations.

2.7 LDPC Coding

2.7.1 LDPC Coding Introduction

LDPC which was invented by Gallager in the 1960s and was reintroduced by MacKay and

Neal in 1996 has its performance near the Shannon limit, and it is also easy for parallelization

of decoding process, making decoders more amenable to very-large-scale integration (VLSI)

implementation [9]. LDPC is a linear block code which is defined by a parity check matrix

having low density of 1’s. An example of a parity check matrix of a LDPC code and its

Tanner graph representation is shown in [10, Fig. 2.14] and [10, Fig. 2.15]. The Tanner

graph has variable nodes from v0 to v15 and check nodes from p0 to p11 . Each check node

must satisfy an equation in term of its corresponding variable nodes to obtain the correct

data. For instance, check node p0 must satisfy the equation v0 + v1 + v2 + v3 = 0. The same

way is applied to the other check nodes of the Tanner graph.

Linear block code in general is a type of code that adding redundancy to a k-bit infor-

mation resulting in a block code of n bits. The H matrix in Figure 2.14 represents a [16,

4, 4] LDPC code where n = 16, k = 4, and a minimum Hamming distance d = 4 where

Hamming distance is the number of bits that are different between two codewords. For

example, codewords 1001 and 1000 have Hamming distance of 1.

A LDPC code can be decoded iteratively by either bit-flipping algorithm (a hard-decision

decoding) or sum -product algorithm known as the belief propagation decoding (a soft

decision decoding).

17
Figure 2.14: A Parity Check Matrix
.

2.7.2 Linear Block Code

2.7.2.1 Linear Block Code Introduction

An example of linear block code is the Hamming code which includes a generator matrix,

G, and a parity-check matrix, H. For a linear blokc code of (n,k) the canonical forms of

matrices G and H are given by [11, eq. (21)] and [11, eq. (22)] as follows, where matrix A

is a (n − k) × k matrix.

G = (Ik | − AT ) (21)

H = (A|In−k ) (22)

The generator matrix, G, produces codeword c based on binary data b, shown in equation

(23). The parity-check matrix, H, is used to determine whether the received codeword r is

correct or not, shown in equation (24).

c = GT b (23)

s = Hr (24)

18
Figure 2.15: The Tanner Graph Representation for H matrix in Figure 2.14
.

where s is called the syndrome vector of r. If s = 0, the receiced codeword r is the actual

codeword c that is sent from the transmitter.

2.7.2.2 Error Detection in Hamming Code

Hamming code (7,4) is a simple linear block code. It encodes 3-bit information to

a 7-bit codeword. As described in Section 2.7.2.1, the encoding and decoding process

follow equation (21) through equation (24). If the 3-bit information is from 1 to 7, the

corresponding parity matrix H is shown below.


⎛ ⎞
⎜0 0 0 1 1 1 1⎟
⎜ ⎟
H= ⎜ ⎜0 1 1 0 0 1 1⎟

⎝ ⎠
1 0 1 0 1 0 1

H needs to be expressed in the canonical form by swapping column 1 and 7, column 2

19
and 6, and column 4 and 5.
⎛ ⎞
⎜1 1 0 1 1 0 0⎟
⎜ ⎟
H= ⎜
⎜1 1 1 0 0 1 0⎟

⎝ ⎠
1 0 1 1 0 0 1

Generator matrix G in its canonical form is also given below.


⎛ ⎞
1 0 0 0 1 1 1
⎜ ⎟
⎜ ⎟
⎜0 1 0 0 1 1 0⎟
G= ⎜
⎜ ⎟

⎜0 0 1 0 0 1 1⎟
⎜ ⎟
⎝ ⎠
0 0 0 1 1 0 1

By swapping column 1 and 7, column 2 and 6, and column 4 and 5, the final generator

matrix G is achieved.
⎛ ⎞
1 1 0 1 0 0 1
⎜ ⎟
⎜ ⎟
⎜0 1 0 1 0 1 0⎟
G= ⎜
⎜ ⎟

⎜1 1 1 0 0 0 0⎟
⎜ ⎟
⎝ ⎠
1 0 0 1 1 0 0
 T
For example, if a binary data is b = 1 0 0 1 , the codeword will be c = GT b.

⎛ ⎞ ⎛ ⎞
2 0
⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟
⎛ ⎞T ⎛ ⎞ ⎜1⎟ ⎜1⎟
⎜ ⎟ ⎜ ⎟
1 1 0 1 0 0 1 1 ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜0⎟ ⎜0⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜0 1 0 1 0 1 0⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟
c=⎜ ⎜ ⎟ = ⎜2⎟ mod2 ⇒ c = ⎜0⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎜1 1 1 0 0 0 0⎟ ⎜0⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ ⎟
⎝ ⎠ ⎝ ⎠ ⎜1⎟ ⎜1⎟
⎜ ⎟ ⎜ ⎟
1 0 0 1 1 0 0 1 ⎜ ⎟ ⎜ ⎟
⎜0⎟ ⎜0⎟
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
1 1

If the received codeword is assumed to be correct, s = Hr = 0.

20
⎛ ⎞
0
⎜ ⎟
⎜ ⎟
⎜1⎟
⎛ ⎞⎜ ⎟
⎜ ⎟ ⎛ ⎞ ⎛ ⎞
⎜0 0 0 1 1 1 1⎟⎜
⎜ 0 ⎟ 4
⎟ ⎜ ⎟ ⎜0⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
s= ⎜ ⎟ ⎜0⎟ ⎟=⎜ ⎟ mod2 ⇒ s = ⎜0⎟
⎜0 1 1 0 0 1 1⎟ ⎜ ⎜ 2 ⎟ ⎜ ⎟
⎝ ⎠⎜ ⎟
⎜ ⎟ ⎝ ⎠ ⎝ ⎠
1 0 1 0 1 0 1 ⎜ 1
⎜ ⎟
⎟ 4 0
⎜ ⎟
⎜0⎟
⎜ ⎟
⎝ ⎠
1

If the received codeword has a single bit error, for instance first bit is flipped from 0 to 1.
⎛ ⎞
1
⎜ ⎟
⎜ ⎟
⎜1⎟
⎛ ⎞⎜ ⎟
⎜ ⎟ ⎛ ⎞ ⎛ ⎞
⎜0 0 0 1 1 1 1⎟ ⎜
⎜ 0⎟ ⎜2⎟

⎜0⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
s=⎜ ⎟ ⎜0⎟ ⎟=⎜ ⎟ ⇒ mod2 ⇒ s = ⎜0⎟
⎜0 1 1 0 0 1 1⎟ ⎜ ⎜ 2 ⎟ ⎜ ⎟
⎝ ⎠⎜ ⎟
⎜ ⎟ ⎝ ⎠ ⎝ ⎠
1 0 1 0 1 0 1 ⎜ 1
⎜ ⎟
⎟ 3 1
⎜ ⎟
⎜0⎟
⎜ ⎟
⎝ ⎠
1

This indicates that the first bit is flipped. For another example, if the fourth bit is flipped

from 0 to 1, the syndrome matrix is computed below.


⎛ ⎞
0
⎜ ⎟
⎜ ⎟
⎜1⎟
⎛ ⎞⎜⎜ ⎟
⎟ ⎛ ⎞ ⎛ ⎞
⎜ 0 0 0 1 1 1 1 ⎟⎜
⎜ 0 ⎟
⎟ 3
⎜ ⎟ ⎜1⎟
⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
s= ⎜ ⎟ ⎜1⎟ ⎟s = ⎜ ⎟ ⇒ mod2 ⇒ s = ⎜0⎟
⎜0 1 1 0 0 1 1⎟ ⎜ ⎜ 2 ⎟ ⎜ ⎟
⎝ ⎠⎜⎜ ⎟
⎟ ⎝ ⎠ ⎝ ⎠
1 0 1 0 1 0 1 ⎜ 1
⎜ ⎟
⎟ 2 0
⎜ ⎟
⎜0⎟
⎜ ⎟
⎝ ⎠
1

This indicates that the fourth bit of this codeword is flipped actually.

However, Hamming code only has the capability to correct one bit in a codeword. If

there is a 2-bit error, Hamming code cannot indicate which bits are flipped, and the error,

therefore, is not possible to detect.

21
2.7.3 Hard-Decision Decoder

The hard-decision decoding applied for LDPC is performed by the bit-flipping algorithm.

In bit-flipping algorithm the input data type is in the form of binary bits, and if the decoder

detects an error in the binary sequence, the bit error is flipped to 0 or 1 accordingly.

2.7.3.1 Hard-Decision Decoding Algorithm

The bit-flipping algorithm for LDPC decoding is given in [8] by computing the syndrome

vector and updating the received codeword for each iteration. The process of this algorithm

is described by Step 1 and Step 2 below.

Step 1: The syndrome vector s = Hr is computed, and if s = 0, the algorithm is stopped

at step 1. The codeword r is final. Otherwise, the algorithm proceeds to Step 2.

Step 2: In this step because s 6= 0, parity-check equations corresponding with non-zero

components of s are not satisfied due to certain bit errors present in the received codeword r.

These bit errors are flipped, and the codeword r is updated accordingly. After the update,

the algorithm returns to Step 1.

The whole process is repeated until the syndrome vector is 0, or a defined number of

iterations is reached.

2.7.3.2 Example of Hard-Decision Decoding

A parity-check matrix and its associated Tanner graph are given below for hard-decision

decoding, where f and c are check nodes and variable nodes.


⎛ ⎞
1 0 1 0 1 1 0 0
⎜ ⎟
⎜ ⎟
⎜0 1 0 1 0 1 0 1⎟
H= ⎜
⎜ ⎟

⎜1 1 0 1 0 0 1 0⎟
⎜ ⎟
⎝ ⎠
0 0 1 0 1 0 1 1

Let a transmit codeword be c = [1 1 0 0 1 0 0 1] and its received codeword be r = [1

0 0 0 1 0 0 1] which imply that the second bit is flipped. Tables 1 through 4 illustrate the

bit-flipping algorithm described in Section 2.7.3.1.

22
Figure 2.16: Tanner Graph Associated With the Parity Check Matrix

In Table 1, check node receives a bit from its connected variable node based on the

received codeword r. For instance, check node p1 receives 1 from variable node v1 because

r(1) = 1. In addition, p1 sends 1 to v1 in return because of v3 = 0, v5 = 0, and v6 = 0 for

even parity.

In Table 2, each bit in r1 is specifically determined by the majority rule from variable

nodes v and parity check node p. For instance, r1 (1) = 1 because of v1 = 1, p1 = 1, and

p3 = 0. Since s = Hr1 6= 0, the process is repeated in Table 3.

The process of producing Table 3 is similar to that in Table 1. Eventually, in Table

4 because s = Hr2 = 0, it confirms that r2 is the transmit codeword c. Therefore, the

iteration stops at this point after 2 iterations.

23
Table 1: Summary of Bit Received and Sent by Check Nodes for r
Check Receive/Send
Nodes
Receive v1 → 1 v3 → 0 v5 → 1 v6 → 0
p1
Send 1 → v1 0 → v3 1 → v5 0 → v6
Receive v2 → 0 v4 → 0 v6 → 0 v8 → 1
p2
Send 1 → v2 1 → v4 1 → v6 0 → v8
Receive v1 → 1 v2 → 0 v4 → 0 v7 → 0
p3
Send 0 → v1 1 → v2 1 → v4 1 → v7
Receive v3 → 0 v5 → 1 v7 → 0 v8 → 1
p4
Send 0 → v3 1 → v5 0 → v7 1 → v8

Table 2: First Updated Codeword r1


Variable Nodes r Message from Check Nodes r1
v1 1 p1 → 1 p3 → 0 1
v2 0 p2 → 1 p3 → 1 1
v3 0 p1 → 0 p4 → 0 0
v4 0 p2 → 1 p3 → 1 1
v5 1 p1 → 1 p4 → 1 1
v6 0 p1 → 0 p2 → 1 0
v7 0 p3 → 1 p4 → 0 0
v8 1 p2 → 0 p4 → 1 1

24
Table 3: Bit Received and Sent by Check Nodes for r1
Check Receive/Send
Nodes
Receive v1 → 1 v3 → 0 v5 → 1 v6 → 0
p1
Send 1 → v1 0 → v3 1 → v5 0 → v6
Receive v2 → 1 v4 → 1 v6 → 0 v8 → 1
p2
Send 0 → v2 0 → v4 1 → v6 0 → v8
Receive v1 → 1 v2 → 1 v4 → 1 v7 → 0
p3
Send 0 → v1 0 → v2 0 → v4 1 → v7
Receive v3 → 0 v5 → 1 v7 → 0 v8 → 1
p4
Send 0 → v3 1 → v5 0 → v7 1 → v8

Table 4: Second Updated Codeword


Variable r1 Message from Check Nodes r2
Nodes
v1 1 p1 →1 p3 →0 1
v2 1 p2 →1 p3 →0 1
v3 0 p1 →0 p4 →0 0
v4 1 p2 →0 p3 →0 0
v5 1 p1 →1 p4 →1 1
v6 0 p1 →0 p2 →1 0
v7 0 p3 →1 p4 →0 0
v8 1 p2 →0 p4 →1 1

2.7.4 Soft-Decision Decoder

Decoding LDPC code with soft-decision decoder is performed by belief propagation

algorithm also referred to the sum-product algorithm. Belief propagation algorithm which

belongs to the class of message-passing algorithms is an iterative decoding algorithm that

based on passing likelihood ratios between variable and check nodes [8].

From [8], the belief propagation algorithm for an AWGN channel with BPSK modulation
√ √
is described below. If symbol 0 is mapped to E and symbol 1 is mapped to − E, the

likelihood ratio is seen in [8, eq. (25)], where yi is the ith channel output.

√ 2 √
p(yi |0) e−(yi − E) /N0 4 E
L(yi ) = ln = ln √ = yi (25)
p(yi |1) e−(yi + E)2 /N0 N0

Step 1: Each variable node i, 1 ≤ i ≤ n, sends the likelihood value that is computed in

equation (25) to all check nodes j which the variable node connects to.

25

4 E
Li→j = Li = yi (26)
N0

Step 2: At the check node j, after receiving all messages from its connected variable

nodes, it sends a message back to its connected variables nodes, using the relation in [8,

eq. (27)].

 !
Y 1
Lj→i = 2tanh−1 tanh Li0 →j (27)
2
i0 ∈N (j)−{i}

where N(j) is the variable nodes connected to check node j.

Step 3: In this step, the variable nodes update their likelihood ratios and send this

information back to their connected check nodes.

X
Li→j = Li + Lj 0 →i (28)
j 0 ∈M (i)−{j}Lj 0 →i

Step 4: Equation (27) and equation (28) are iterated until a preset number of iterations

is achieved or a codeword is detected. The total likelihood is computed at the variable nodes

as followed.

X
Lti otal = Li + Lj→i (29)
j∈M (i)

The codeword ĉ is determined by applying the condition below.



if Ltotal

⎪1,
⎨ i <0
cˆi =

⎩0,
⎪ otherwise

ˆ T = 0.
and if all parity-check equations are satisfied for which cH

2.8 Error Floor

The error floor is a phenomenon that occurs at a point which the BER curve becomes

flatten even though the signal-to-noise ratio SNR or Eb/No keeps increasing. This flatten

26
region is called the error floor region. While, the region before the error floor region is

called the waterfall region. These two regions are illustrated in [12, Fig. 2.17]. Besides, it

also shows the comparison between convolutional-coded and LDPC-coded system for code

rate of 3/4 on 16-QAM and 64-QAM modulation. As seen in Figure 2.17, for instance, the

Figure 2.17: Error Floor in BER Performance of Coded System

LDPC code 64-QAM BER curve shows the error floor region roughly after 20dB and the

waterfall region before 20dB.

Simulation results of coded OFDM systems for LDPC, convolutional, and turbo code

in multipath fading channel will expect to see the error floor phenomenon due to Doppler

spread. The Doppler spread causes an irreducible error floor for modulation techniques

using differential detection regardless of received signal power [13].

27
3 MATLAB FUNCTIONS FOR SYSTEM MODEL

The thesis builds the communication system models from MATLAB functions for sig-

nal modulation and demodulation, channels (AWGN and Rayleigh Fading), and coding

techniques (LDPC, convolutional code, and turbo code).

3.1 QAM Modulation/Demodulation

Table 5: QAM Modulation


QAM qammod
Modulation
y Modulated transmitted symbol
x Binary data
M Modulation order
Gray Symbol order
InputType, Bit Input type in form of bits

Table 6: QAM Demodulation


QAM qamdemod
Modulation
z Demodulated received symbol
y Modulated received symbol
M Modulation order
Gray Symbol order
OutputType, Output type in form of approximated log-likelihood
approxll ratios for soft-decision decoding

28
3.2 OFDM Modulator and Demodulator

Table 7: OFDM Modulation


OFDM Modulation comm.OFDMModulator
Parameters
F F F Length A positive number to define the size of FFT
or total number of subcarriers in an OFDM
symbol
N umGuardBandCarriers A vector of 2 × 1 to indicate number of sub-
carriers allocated to the left end and to the
right end of OFDM symbol
P ilotInputP ort Taking a true or fall value to indicate whether
or not pilot symbols are inserted in to an
OFDM symbol through an input port
P ilotCarrierIndices Indices of pilots in OFDM symbol
CyclicP ref ixLength Length of cyclic prefix adding to OFDM sym-
bol

Table 8: OFDM Demodulation


OFDM Demodulation comm.OFDMDemodulator
Parameters
F F F Length Described in Table 7
N umGuardBandCarriers Described in Table 7
P ilotOutP ort Taking a true or fall value to indicate whether
or not pilot symbols are outputted through
an output port
P ilotCarrierIndices Described in Table 7
CyclicP ref ixLength Described in Table 7

29
3.3 AWGN Channel

Table 9: AWGN Channel Model


AWGN Channel comm.AWGNChannel
Parameters
N oiseM ethod Selecting from noise variance (or signal to noise
ratio Eb/No, Es/No, and SNR)
V arianceSource Using a variance property or manually applying
variance through an input port

3.4 Multipath Faing Rayleigh Channel Model

Table 10: Rayleigh Channel Model


Rayleigh Channel comm.RayleighChannel
Parameters
P athGainsOutputP ort Taking a true or false value to indicate
whether or not output the channel path gain
of a fading channel is outputted through an
output port
M aximumDopplerShif t Taking a positive number in unit of Hz to
define the maximum Doppler shift of a fading
channel
P athDelays Taking input with either a scalar or a row
vector with unit in second to define the time
delay of each path of frequency flat or fre-
quency selective fading channel, respectively.
AverageP athGains Taking a scalar or a row vector with unit in
dB to define average path gain of each path
of frequency flat or frequency selective fading
channel, respectively.
SampleRate Input sample rate in Hz

30
3.5 LDPC Encoder and Decoder

Table 11: LDPC Encoder


LDPC Encoder comm.LDPCEncoder
Parameters
dvbs2ldpc(r) Returning the parity-check matrix H of the
LDPC code with a specific code rate r from the
Digital Video Broadcasting standard DVB-S.2
with the total block length of 64,800 bits.

Table 12: LDPC Decoder


LDPC Decoder comm.LDPCDecoder
Parameters
dvbs2ldpc(r) Described in Table 11
M aximumIterationCount Maximum positive number of iterations for
LDPC decoding algorithm

3.6 Convolutional Code Encoder and Decoder

Table 13: Convolutional Encoder


Convolutional comm.ConvolutionalEncoder
Encoder
Parameters
T rellisStructure Trellis structure of convolutional code

Table 14: Convolutional Decoder


Convolutional comm.ViterbiDecoder
Decoder
Parameters
T rellisStructure Trellis structure of convolutional code
InputF ormat Specify input format (Unquantized, Hard, or
Soft) for the decoder
T racebackDepth Take a positive integer number to specify the
number of trellis branches to construct each
traceback path

31
3.7 Turbo Code Encoder and Decoder

Table 15: Turbo Code Encoder


Turbo Code Encoder comm.TurboEncoder
Parameters
T rellisStructure Trellis structure of turbo code
InterleaverIndicesSource Interleave indices sources is selected from ei-
ther an input port or a specific property

Table 16: Turbo Code Decoder


Turbo Code Decoder comm.TurboDecoder
Parameters
T rellisStructure Described in Table 15
InterleaverIndicesSource Described in Table 15
M aximumIterationCount Maximum positive number of iterations for
Turbo decoding algorithm

32
4 OFDM IN NOISY CHANNEL AND CHANNEL COD-

ING

4.1 OFDM System Model

Table 17 and Figure 4.1 describes the OFDM symbol that is used for the simulation of

OFDM in AWGN channel along with LDPC, convolutional code, and turbo code. Figure

4.1 illustrates graphical allocation of the OFDM symbol in Table 17 where pilots, guard

bands, and data subcarriers are located.

Table 17: OFDM Symbol Model


OFDM Symbol Model
Modulation Order M 64
Bits Per Symbols 6
Number of Subcarriers 272
Number of Data Carri- 240
ers
Number of Cyclic Prefix 16
Number of Guard 16
Bands
Guard Band Allocation [8;8]
Number of Pilots 16
Pilot Indices [14 30 46 62 78 94 110 126 142
158 174 190 206 222 238 254]T
Frame Size (bit) 1440

33
Figure 4.1: Graphical Representation of the OFDM Symbol in Table 17

4.2 Parameter Description of Coding Techniques: LDPC, Convolutional


Code, and Turbo Code

Table 18, 19, and 20 illustrate the coding techniques which are used for simulations.

The key parameter of LDPC code is the parity-check matrix. While, it is trellis structure in

convolutional code and turbo code whose constraint length and generator vector are given

in [14].

34
Table 18: LDPC Key Parameters
LDPC
Key Parameter Parity-Check Matrix: DVB-S2
Rate 1/4 Input: 16200 bits and Output: 64800 bits
Rate 1/3 Input: 21600 bits and Output: 64800 bits
Rate 1/2 Input: 32400 bits and Output: 64800 bits
Rate 3/4 Input: 48600 bits and Output: 64800 bits
Rate 5/6 Input: 54000 bits and Output: 64800 bits
Rate 9/10 Input: 58320 bits and Output: 64800 bits

Table 19: Convolutional Code Key Parameters


Convolutional Code
Trellis Structure
Key Parameter
Constraint Length Generators (Octal)
Rate 1/4 10 [1137 1255 1571 1663]
Rate 1/3 10 [1165 1277 1633]
Rate 1/2 10 [1133 1725]

Table 20: Turbo Code Key Parameters


Turbo Code
Trellis Structure
Key Parameter
Constraint Length Generators (Octal)
Rate 1/3 10 [1133 1725]

4.3 OFDM System in a Noisy Channel

Simulation Scenario: OFDM signal passes through an AWGN channel without chan-

nel coding. The system block diagram and BER performance are shown in Figure 4.2 and

Figure 4.3, respectively.

Figure 4.2: Block Diagram of OFDM System Model in AWGN Channel

35
Figure 4.3: BER-versus-EbNo plot of OFDM in AWGN Channel

The simulation result shows the OFDM system model in the only presence of AWGN

noise closely follows the theoretical BER data for 64-QAM modulation. Therefore, the

simulation justifies the correctness of the system model.

4.4 LDPC Code in OFDM System with Noise

Simulation Scenario: OFDM signal passes through an AWGN channel with LDPC

coding technique. Figure 4.4 displays the block diagram of the OFDM system model.

Figure 4.4: Block Diagram of OFDM System Model in AWGN Channel With LDPC

Considered a LDPC code with rate 1/3, Figure 4.5 shows how many iterations are

required for LDPC code to reach convergence in AWGN channel. Clearly, the code reaches

convergence after the 20th iteration.

36
Figure 4.5: BER Performance of LDPC Rate 1/3 for Different Maximum Iteration Numbers

Figure 4.6 shows simulation results when different LDPC rates at convergence are ap-

plied to AWGN channel. The BER performance is significantly improved from uncoded

BER. LDPC of rate 1/4 has the best performance. As code rate gets higher, the BER

performance gets lower. This is a trade-off between data rate and BER since lower code

rate means smaller coded number of data bits.

Figure 4.6: BER Comparison Between Uncoded Data and LDPC-Coded Data Different
Rates Through an AWGN Channel

37
4.5 Convolutional Code on OFDM System Through an AWGN Channel

Simulation Scenario: OFDM signal passes through an AWGN channel with convo-

lutional coding technique. Figure 4.7 displays the block diagram of OFDM system model.

Figure 4.7: Block Diagram of OFDM System Model in AWGN Channel With Convolutional
Code

Considered a convolutional code with rate 1/3, Figure 4.8 shows how much traceback

depth are required for the convolutional code to reach convergence in AWGN channel. The

code reaches convergence after 60 traceback depth number.

Figure 4.8: BER Performance of Convolutional Rate 1/3 for Different Traceback Depth
Number

Figure 4.9 shows simulation results when different convolutional code rates at conver-

gence (traceback depth = 60) are applied to AWGN channel. The BER performance is

38
improved, and rate 1/4 has better BER performance than rate 1/3 and 1/2.

Figure 4.9: BER Comparison Between Uncoded Data and Convolutional-Coded Data With
Different Rates Through an AWGN Channel

4.6 Turbo Code in OFDM System Through AWGN Channel

Simulation Scenario: OFDM signal passes through an AWGN channel with turbo

coding technique. Figure 4.10 displays the block diagram of OFDM system model.

Figure 4.10: Block Diagram of OFDM System Model in AWGN Channel With Turbo Code

Considered turbo code with rate 1/3, Figure 4.11 shows how many iterations that are

required for the turbo code to reach convergence in AWGN channel. The code reaches

convergence at 5 iterations. Figure 4.12 shows BER performance of turbo code rate 1/3

at convergence in AWGN channel. Similar to LDPC and convolutional code, its BER

performance is also improved significantly.

39
Figure 4.11: BER Performance of Turbo Code Rate 1/3 for Different Iteration Numbers

40
Figure 4.12: BER Performance of Turbo Code Rate 1/3 for Iteration Number 5 Specifically

4.7 Comparison Between LDPC, Convolutional Code, and Turbo Code


in AWGN

Figure 4.13 shows the comparison of BER performance between LDPC code, convolu-

tional code, and turbo code with rate 1/3 in the OFDM system and AWGN channel. For

the conditions stated in Table 21, seen in the figure, the BER curve of LDPC falls very fast

and faster than convolutional and turbo code after 5dB and reaches 0 BER after 6dB.
Table 21: Comparison Parameters Between LDPC, Convolutional Code, and Turbo Code
in AWGN Channel
Comparison Parameters
LDPC Convolutional Turbo
Code rate 1/3 1/3 1/3
Parity Check Matrix DVB-S.2 Const. Len: 10 Const. Len: 10
Trellis Structure Gen.(Octal): Gen.(Octal):
[1165 1277 1633] [1133 1725]
Iteration Number 50 60 6
Traceback Depth

41
Figure 4.13: BER Performance of LDPC Code, Convolutional Code, Turbo Code Rate 1/3
in AWGN

42
5 OFDM WITH MULTIPATH FADING CHANNEL AND

CHANNEL CODING

5.1 Brief Description of Multipath Fading Channel Parameter

Maximum Doppler Shift: Maximum Doppler shift which is described in equation

(16) is also referred to the speed of mobile device. These two quantities are related by the
vf
equation, fm = c , where v is the mobile speed (m/s), f is the transmission frequency (Hz),

and c is the speed of light (3 × 108 m/s) [15].

Path Delays: The first arriving path which is referred to the first delay is typically set

to zero. Depending on indoor or outdoor environment, the next delays vary from 1ns to

100ns indoors and 0.1µs to 10µs outdoors [15].

Average Path Gains: Average path gain is the average power gain of each fading

path. In computer model, the average path gains is set to between -20dB and 0dB while in

practice it can be a large negative dB value, and the dB values in a vector of average path

gains is expected to decay linearly as a function of delay [15].

5.2 Effect of Multipath on OFDM System

In this section the OFDM symbol in Table 17 is assigned a sampling rate of 4.5M Hz,

and Table 22 describes the details of the OFDM signal associated with this sampling rate.

The table provides an approximation to determine if the fading channel is fast fading or

Table 22: OFDM Quantities Associated With Sampling Rate of 4.5M Hz


OFDM Quantities Associated With Sampling Rate of 4.5MHz
Subcarrier Spacing (KHz)) 16.54
Sampling Time (µs) 0.22
Symbol Time (µs) 64
Bandwidth (MHz) 3.97

slow fading by applying the relation fD Tsym > 0.02 or fD Tsym < 0.02, respectively, where

fD is Doppler frequency and Tsym is OFDM symbol time. Therefore, these types of fading

are given below by equation (30) for the mentioned OFDM symbol above.

43


⎨F astf ading,
⎪ if fD > 312.5 Hz
(30)

⎩Slowf ading, otherwise

5.2.1 Constellation of Signal Over Multipath Fading Channel

Assumed that the OFDM symbol described in Table 17 passes through a Rayleigh Fading

channel whose parameters are listed in Table 23, Figure 5.1 show constellations of 64-QAM

symbols in OFDM system passing through multipath fading channel and AWGN channel.

Besides, it shows the necessity of equalization in processing signal over multipath fading

Table 23: Example of Rayleigh Fading Channel Parameters


Rayleigh Fading Channel
Maximum Doppler Shift (Hz) 200
Path Delays (second) [0 2µ]
Path Gains (dB) [0 -2]
Sampling Rate (MHz) 4.5

Figure 5.1: 64-QAM Constellation in OFDM System Under Multipath Fading Effect With-
out Equalization (Left) and With Equalization (Right)

44
channel. As signal-to-noise ratios Eb/No increases, system without equalization encounters

no improvement in data demodulation, but when equalization is applied, the improvement

is significant based on the constellation plot.

5.2.2 BER Performance of OFDM system Over Multipath Fading Channel

Figure 5.2 show BER performance of OFDM system as it undergoes Rayleigh fading

channel and in comparison with AWGN channel. Theoretically, at BER = 10−2 and

BER = 10−4 a fading channel can cause coding gain to reduce to 8dB and 23dB, respec-

tively. In addition, the figure also confirms the constellation plots in Figure 5.1 for the

necessity of OFDM system to employ signal equalization prior to apply channel coding

techniques since signal BER is roughly 0.5 for every Eb/N o.

Figure 5.2: BER Performance of OFDM System Over Multipath Fading Channel

5.2.2.1 BER Performance of OFDM System in Multipath Fading Channel

Table 24 shows a frequency-selective fading channel which is defined by 2-path delay

and two-path gain. Besides, the maximum Doppler shifts is also referred to the mobile

speed. For a carrier frequency of 2GHz, Table 25 displays maximum Doppler shift and its

equivalent mobile speed.

45
Table 24: Two Rayleigh Multipath Fading Channel Parameters
Two Rayleigh Multipath Fading Channel
Maximum Doppler Shift (Hz) 0, 10, 50, 100, 200, 300, 400,
and 500
Path Delays (second) [0 2µ]
Path Gains (dB) [0 -2]
Sampling Rate (MHz) 4.5

Table 25: Maximum Doppler Shift and The Equivalent Mobile Speed Associated With
2GHz Carrier Frequency
Maximum Doppler Mobile Speed Mobile Speed
Shift (Hz) (m/s) (mph)
0 0 0
10 1.5 3.36
50 7.5 16.78
100 15 33.55
200 30 67.11
300 45 100.66
400 60 134.22
500 75 167.78

Figure 5.3 is the BER performance of the OFDM system over a 2-multipath fading

channel described in Table 24 without applying LDPC code. It can be seen that in the

special case without the effect of fading where 0 maximum Doppler shift, 0 path delay, and

0 path gain the BER performance of the system follows the theoretical BER of AWGN

channel. The fading effect is more severe as the maximum Doppler shifts get larger. When

the effect takes place, even if the maximum Doppler shift is 0 or the mobile speed is 0 in

other words, at 10−5 BER the coding gain reduces 5dB.

46
Figure 5.3: BER Performance of OFDM System Over 2-Multipath Rayleigh Fading Channel

The increasing of maximum Doppler shifts moves the BER curves to theoretical BER in

fading channel. The 10Hz curve closely follows the theoretical curve, but the other curves

get flatten at one point along the theoretical curve. For instance, the 50Hz and 100Hz

curve occur at 40dB and 34dB, respectively. From Figure 5.3, it is noted that the larger

the maximum Doppler shift is, the smaller Eb/N o is for these curves to get flatten.

5.3 LDPC Code on OFDM with Multipath Fading Channel

Simulation Scenario: OFDM signal which describes in Table 17 passes through an

AWGN channel and undergoes Rayleigh multipath fading channel with LDPC coding tech-

nique applied. Figure 5.4 displays the block diagram of OFDM system model.

47
Figure 5.4: Block Diagram of OFDM System Model undergoing AWGN Channel and
Rayleigh Multipath Fading Channel With LDPC Code

5.3.1 Applying LDPC to Frequency-Selective Fading Channel

5.3.1.1 2-multipath

Compared to Figure 5.3, Figure 5.5 shows a significant improvement of BER curves

when LDPC code is applied to the OFDM system. The curves in Figure 5.3 is shifted

toward theoretical BER in AWGN channel. Considered the 0Hz curves, a coding gain of

13dB is achieved. With the other curves, the BER performance improves as well. For

instance, the 500Hz curve gets flatten as BER = 3 × 10−5 while without LDPC 500Hz

curve gets flatten when BER = 8 × 10−2 .

48
Figure 5.5: BER Performance of LDPC Rate 1/3 Applied to 2-Multipath Fading Channel

5.3.1.2 3-multipath

Table 26 is a 3-multipath Rayleigh fading channel profile for this section simulation,

and Figure 5.6 shows the simulation results with the setting. Compared to 2-multipath

fading channel described in Section 5.3.1.1, as number of path increases, the BER curves

get higher. In this setting, the BER curves is roughly above 10−4 BER level, while the

curves are below 10−4 BER level in the case of 2 paths.

Table 26: Three Rayleigh Multipath Fading Channel Parameters


Three Rayleigh Multiapth Fading Channel
Maximum Doppler Shift (Hz) 10, 50, 100, 200, 300, 400, and
500
Path Delays (second) [0 2µ 4µ]
Path Gains (dB) [0 -2 -4]
Sampling Rate (MHz) 4.5

49
Figure 5.6: BER Performance of LDPC Rate 1/3 Applied to 3-Multipath Fading Channel

5.3.1.3 4-multipath

Table 27 and Figure 5.7 illustrate the simulation results for 4-multipath Rayleigh fading

channel associated with cyclic prefix length of 16 listed in Table 17. The BER performance

is reduced further to roughly around 10−3 level and above for comparison with the BER

performance in Section 5.3.1.2.

Table 27: Four Rayleigh Multipath Fading Channel Parameters


Four Rayleigh Multiapth Fading Channel
Maximum Doppler Shift (Hz) 10, 50, 100, 200, 300, 400, and 500
Path Delays (second) [0 2µ 4µ 6µ]
Path Gains (dB) [0 -2 -4 -6]
Sampling Rate (MHz) 4.5

50
Figure 5.7: BER Performance of OFDM for Four Rayleigh Multipath Fading Channel for
16 Cyclic Prefix Length

However, Figure 5.8 shows a improvement of BER performace when the number of

cyclic prefix increases to 32 from 16, meaning that the guard intervals increases to 7.11µs

from 3.56µs associating with OFDM symbol in Table 17. This increase of guard intervals

compensate the 4-path time delay vector mentioned in Table 27 and brings back the BER

performance on Figure 5.7 to BER performance on Figure 5.5 of Section 5.3.1.1.

51
Figure 5.8: BER Performance of OFDM for Four Rayleigh Multipath Fading Channel for
32 Cyclic Prefix Length

5.3.1.4 6-multipath

This section confirms the importance of increasing cyclic prefix and applying LDPC

to multipath fading channel to overcome large time delay and improve BER performance.

Table 28 defines the 6-multipath fading channel with the discrete path delays from 0 to

10µs, and −2dB average gain for every path. Figure 5.9 shows the dramatic drop in the

BER performance since the cyclic prefix length of 16 along with 8 guard bands for the

simulation can only accommodate for the time delay up to 5.3µs for the OFDM system

described in Table 17 and Table 22.


Table 28: Six Rayleigh Multipath Fading Channel Parameters
Six Rayleigh Multiapth Fading Channel
Maximum Doppler Shift (Hz) 10, 50, 100, 200, 300, 400, and
500
Path Delays (second) [0 2µ 4µ 6µ 8µ 10µ]
Path Gains (dB) [-2 -2 -2 -2 -2 -2]
Sampling Rate (MHz) 4.5

52
Figure 5.9: BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for 16
Cyclic Prefix Length

On the other hand, Figure 5.10 shows the simulation result when the length of cyclic

prefix increases to 48 from 16 and LDPC is applied. As seen in Figure 5.10, the BER

performance is improved to a level that is similar to the simulation results in Section 5.3.1.1

for 2-multipath fading channel.

5.3.1.5 LDPC and Convolutional Code in Multipath

Table 29 and Figure 5.11 shows the comparison between coded-LDPC OFDM system

and coded-convolutional OFDM system in Table 17 in 2-multiapth Rayleigh fading channel

in Table 24 for maximum Doppler shift 100Hz and 500Hz. Shown in the figure, the

BER performance of coded-LDPC system is better than that of coded-convolutional OFDM

system. For instance, considered BER level at 10−4 and maximum Doppler shift of 100Hz,

LDPC achieves a coding gain of 10dB as it is compared to convolutional code. Additionally,

considered BER level at 10−3 and maximum Doppler shift of 500Hz, LDPC obtained a

coding gain of 13dB.

53
Figure 5.10: BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for 48
Cyclic Prefix Length

Table 29: Comparison Parameters Between LDPC and Convolutional Code


Comparison Parameters
LDPC Convolutional Code
Code rate 1/3 1/3
Parity Check Matrix DVB-S.2 Constraint Length:10
Trellis Structure Generator (Octal): [1165 1277
1633]
Iteration Number 50 60
Traceback Depth

54
Figure 5.11: BER Performance of OFDM in 2 Rayleigh Multipath Fading Channel for 16
Cyclic Prefix Length Between LDPC and Convolutional Code

5.3.1.6 LDPC and Turbo Code in Multipath

Similar to Section 5.3.1.5, LDPC in multipath fading channel shows a greater per-

formance than Turbo Code with the conditions from Table 30. At 10−4 BER level and

maximum Doppler shift of 100Hz, LDPC has a coding gain of 6dB from turbo code. For

the case of 10−3 BER level and maximum Doppler shift of 500Hz the coding gain is 11dB.

Table 30: Comparison Parameters Between LDPC and Turbo Code


Comparison Parameters
LDPC Turbo Code
Code rate 1/3 1/3
Parity Check Matrix DVB-S.2 Constraint Length:10
Trellis Structure Generator (Octal): [1133 1725]
Iteration Number 50 6

55
Figure 5.12: BER Performance of OFDM for 2 Rayleigh Multipath Fading Channel for 16
Cyclic Prefix Length Between LDPC and Turbo Code

56
6 CONCLUSION

In general, the thesis evaluates the BER performance of OFDM system in AWGN chan-

nel and multipath fading channel after applying LDPC for channel coding and compares

its performance with convolutional-coded and turbo-coded OFDM system based on code

rates. Simulation results show the significant improvement of BER from applying LDPC

to OFDM system in both AWGN and the fading channel. Besides, LDPC also shows a

greater BER performance in compared with convolutional code and turbo code in AWGN

and multipath fading channel for the conditions described in the thesis.

Additionally, simulation results show the severe effect of multipath fading channel to

OFDM systems. As the number of paths increases and the increase of Doppler spread, the

BER performance gets lower substantially if OFDM system does not provide enough guard

intervals. Also, the multipath fading channel causes the coded OFDM system to exhibit the

error floor at a great extent. This phenomenon is clearly seen when number of multipaths

or Doppler shift increase. These issues need to be addressed in order to reduce BER at a

satisfactory BER level.

57
REFERENCES

[1] National Instruments, “White Paper 5G New Radio: Introduction to the Phys-

ical Layer,” White Paper, 2017. [Online]. Available: https://www.ni.com/en-

us/innovations/wireless/5g/new-radio.html

[2] A. Goldsmith, “Multicarrier Modulation,” Wireless Communication, Cambridge, New

York, USA: Cambridge University Press, 2005, ch. 12, pp.374-402

[3] R. Negi and J. Cioffi, “Pilot Tone Selection for Channel Estimation in a Mobile OFDM

System,” IEEE Transaction on Consumer Electronics, vol. 44, no. 3, pp. 1122–28, Aug.

1998.

[4] Y.S. Cho, J. Kim, W.Y. Yang, C. Kang, “Introduction to OFDM,” MIMO-OFDM

Wireless Communication with MATLAB, Clementi Loop, Singapore: JW&S (Asia),

2010. ch. 4, pp. 111-151.

[5] K. G. Paterson and V. Tarokh, “On the existence and construction of good codes with

low peak-to-average power ratios,” IEEE Trans. Inform. Theory, vol. 46, no. 6, pp.

1974–87, Sep. 2000.

[6] Y.S. Cho, J. Kim, W.Y. Yang, C. Kang, “The Wireless Channel: Propagation and

Fading,” MIMO-OFDM Wireless Communication with MATLAB. Clementi Loop, Sin-

gapore: JW&S (Asia), 2010. ch. 1, pp. 1-24

[7] A. Goldsmith, “Coding for Wireless Channels,” Wireless Communication, Cambridge,

New York, USA: Cambridge University Press, 2005, ch. 8 pp. 228-282

[8] J.G.Proakis, M. Salehi, and G. Bauch, “Channel Capacity and Coding,” in Contempo-

rary Communication Systems Using MATLAB, 3th ed. Stamford, CT, USA: Cengage

Learning, Jan. 2012, ch. 10, pp. 429-504

[9] T. Chiueh, P. Tsai, and I. Lai, “Error-Correcting Codes,” in Baseband Receiver Design

for Wireless MIMO-OFDM Communications, 2nd ed. Singapore: John Wiley & Sons

Singapore Pte, Ltd., 2012, ch. 4, sec. 7, pp. 89

58
[10] M. Tomlinson, C. Tjhai, M. Ambroze, M. Ahmed, and M. Jibril, “LDPC Codes,” in

Error-Correction Coding and Decoding, 1st ed. Switzeland: Springer Nature, 2017, ch.

12, sec. 1, pp. 315-316. [Online] Available: https://link.springer.com/

[11] B. Scothern and K. Heaton. Hamming Codes The First Binary Data Verification Sys-

tem [pdf]. Available: http://www.math.utah.edu

[12] Y. Kami, C. Han, and Y. Miyanaga, “LDPC Codes Performance Based On OFDM

Wireless Communication System,” in Proc. IEEE International Symposium on Intelli-

gent Signal Processing and Communication System, Dec. 2005, pp. 313-316.

[13] A. Goldsmith, “Performance of Digital Modulation over Wireless Channels,” Wireless

Communication, Cambridge, New York, USA: Cambridge University Press, 2005, ch. 6

pp. 172-203

[14] W. G. Chambers, “ON GOOD CONVOLUTIONAL CODES OF RATE 1/2 1/3 and

1/4,” [Proceedings] Singapore ICCS/ISITA 92, vol. 2, pp. 750–54, 1992.

[15] Sep. 20, 2020. [Online]. Available:

https://www.mathworks.com/help/comm/ug/fading-channels.html

[16] Sep. 20, 2020. [Online]. Available:

https://www.mathworks.com/help/comm/ref/ofdmdemod.html

59
APPENDIX

A List of Acronyms

5G Fifth Generation

ACI Adjacent Channel Interference

A/D Analog to Digital

AWGN Additive White Gaussian Noise

BER Bit Error Rate

CFO Carrier Frequency Offset

CP Cyclic Prefix

CS Cyclic Suffix

DFT Discrete Fourier Transform

FFT Fast Fourier Transform

ICI Intercarrier Interference

IFFT Inverse Fast Fourier Transform

ISI Intersymbol Interference

LDPC Low Density Parity Check

OFDM Othorgonal Frequency-Division Multiplexed

PAR Peak-to-Average Power Ratio

RMS Root Mean Square

SNR Signal-to-Noise Ratio

SFO Sampling Frequency Offset

URLLC Ultra-Reliable Low-Latency Communication

eMBB Enhanced Mobile Broadband

mMTC Massive Machine Type Communication

60
B Syntax of MATLAB Functions in Thesis

B.1 QAM Modulation and Demodulation

QAMMod = qammod(x,M,0 gray0 ,0 InputType0 ,0 bit0 )

QAMDemod = qamdemod(y,M,0 gray0 ,0 OutputType0 ,0 approxllr0 )

B.2 OFDM Modulation and Demodulation

ofdmMod = comm.OFDMModulator(0 FFTLength0 ,numSC,...


0 NumGuardBandCarriers0 ,guardBands,...

0 PilotInputPort0 ,true,...

0 PilotCarrierIndices0 ,pilotIdx,...

0 CyclicPrefixLength0 ,cpLen);

ofdmDemod = comm.OFDMDemodulator(0 FFTLength0 ,numSC,...


0 NumGuardBandCarriers0 ,guardBands,...

0 PilotOutputPort0 ,true,...

0 PilotCarrierIndices0 ,pilotIdx,...

0 CyclicPrefixLength0 ,cpLen);

B.3 AWGN Channel

noiseChannel = comm.AWGNChannel(0 NoiseMethod0 ,0 Variance0 , ...


0 VarianceSource0 ,0 Input port0 );

B.4 Multipath Faing Rayleigh Channel

rayChan = comm.RayleighChannel(0 PathGainsOutputPort0 ,true,...


0 MaximumDopplerShift0 ,maxDopplerShift,...

0 PathDelays0 ,pathDelays,...

0 AveragePathGains0 ,pathGains,...

0 SampleRate0 ,sRate);

61
B.5 LDPC Encoder and Decoder

ldpcEncoder = comm.LDPCEncoder(dvbs2ldpc(r));

ldpcDecoder = comm.LDPCDecoder(dvbs2ldpc(r));

B.6 Convolutional Code Encoder and Decoder

convEncoder = comm.ConvolutionalEncoder(0 TrellisStructure0 ,trellis);

vitDecoder = comm.ViterbiDecoder(0 TrellisStructure0 ,trellis, ...


0 InputFormat0 ,0 unquantized0 ,0 TracebackDepth0 ,traceBack);

B.7 Turbo Code Encoder and Decoder

turboEnc = comm.TurboEncoder(0 TrellisStructure0 ,trellis,...


0 InterleaverIndicesSource0 ,0 Input port0 );

turboDec = comm.TurboDecoder(0 TrellisStructure0 ,trellis,...


0 InterleaverIndicesSource0 ,0 Input port0 );

62
C MATLAB Code for Equalization

From [16]

% Convert path gains, pg, to scalar taps gains

% Use the tap gains for equalization during signal recovery

hImp = complex(zeros(1,numSC));

hImp(:,sampIdx) = mean(pathGainOut,1);

hall = fftshift(fft(hImp.’),1);

dataIdx = double(setdiff((1:numSC)’,[guardIdx;pilotIdx]));

h = hall(dataIdx);

% Equalize the signal

eqH = conj(h)./(conj(h).*h);

eqSig = eqH.*qamRx; % qamRX: Received QAM signal

63
D Theoretical BER Data for AWGN Channels

BER = berawgn(EbNo,’qam’,M,’nondiff’);

Where EbNo is signal-to-noise ratio vector and M = 64.

64
E Theoretical BER Data for Fading Channels

berFading = berfading(EbNo,’qam’,M,1);

Where EbNo is signal-to-noise ratio vector, M = 64, and the 4th parameter is the

diversity order and equals 1 for this thesis simulation.

65

You might also like