Professional Documents
Culture Documents
A Thesis
Presented to the
Faculty of
In Partial Fulfillment
Master of Science
In
Electrical Engineering
By
Vincent Tran
2020
SIGNATURE PAGE
ii
Contents
SIGNATURE PAGE ii
LIST OF FIGURES ix
1 INTRODUCTION 1
iii
2.7 LDPC Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
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
Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
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
6 CONCLUSION 57
REFERENCES 58
APPENDIX 60
A List of Acronyms 60
v
B.7 Turbo Code Encoder and Decoder . . . . . . . . . . . . . . . . . . . . . . . 62
vi
LIST OF TABLES
5 QAM Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6 QAM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7 OFDM Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8 OFDM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11 LDPC Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
12 LDPC Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
13 Convolutional Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
14 Convolutional Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
vii
27 Four Rayleigh Multipath Fading Channel Parameters . . . . . . . . . . . . . 50
viii
LIST OF FIGURES
2.6 OFDM Modulation and Demodulation with IFFT and FFT Implementation 6
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
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
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.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
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
5.8 BER Performance of OFDM for Four Rayleigh Multipath Fading Channel
5.9 BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for
5.10 BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for
5.12 BER Performance of OFDM for 2 Rayleigh Multipath Fading Channel for
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
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-
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
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
1
2 BACKGROUND OF OFDM AND CHANNEL CODING
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.
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,
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
2
Figure 2.2: Multicarrier Modulation at Transmitter
for i=0, 1, 2,..., N-1 and subcarrier magnitute Aci . In special case when the inner product
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
(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
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)
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).
Fig. 2.5]. In this figure, a cyclic prefix is a repeat of the last part of OFDM symbols and is
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
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
IFFT the modulated OFDM symbol is created in time domain. A nth subcarrier carries a
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,
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
The FFT implementation for OFDM can be expressed by the matrix multiplication of
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
⎛ ⎞
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 .
Some factors that detrimentally affect the performance of multicarrier system such as
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,
mismatch between transmitter and receiver oscillators, Doppler frequency shift, or timing
In the presence of noise, the actual modulated OFDM symbol is altered by noise. The
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).
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 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
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.
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,
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
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
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
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
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
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
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
output of the optimal (matched filter type or correlator type) digital demodulator [8].
Turbo coding is a coding technique that is developed from convolutional code. A typical
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
15
Figure 2.12: A Typical Turbo Encoder
.
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
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-
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
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
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,
Hamming distance is the number of bits that are different between two codewords. For
decoding) or sum -product algorithm known as the belief propagation decoding (a soft
decision decoding).
17
Figure 2.14: A Parity Check Matrix
.
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
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
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
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
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
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
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,
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.
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
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 whole process is repeated until the syndrome vector is 0, or a defined number of
iterations is reached.
A parity-check matrix and its associated Tanner graph are given below for hard-decision
0 0 0 1 0 0 1] which imply that the second bit is flipped. Tables 1 through 4 illustrate the
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
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
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
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
algorithm also referred to the sum-product algorithm. Belief propagation algorithm which
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}
Step 3: In this step, the variable nodes update their likelihood ratios and send this
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)
ˆ T = 0.
and if all parity-check equations are satisfied for which cH
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
LDPC code 64-QAM BER curve shows the error floor region roughly after 20dB and the
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
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
28
3.2 OFDM Modulator and Demodulator
29
3.3 AWGN Channel
30
3.5 LDPC Encoder and Decoder
31
3.7 Turbo Code Encoder and Decoder
32
4 OFDM IN NOISY CHANNEL AND CHANNEL COD-
ING
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
33
Figure 4.1: Graphical Representation of the OFDM Symbol in Table 17
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
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
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 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
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
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
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
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
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
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
(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),
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
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
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
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
⎪
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
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
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
Figure 5.2: BER Performance of OFDM System Over Multipath Fading Channel
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
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
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.
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.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
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
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
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
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
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
Table 29 and Figure 5.11 shows the comparison between coded-LDPC OFDM system
in Table 24 for maximum Doppler shift 100Hz and 500Hz. Shown in the figure, the
system. For instance, considered BER level at 10−4 and maximum Doppler shift of 100Hz,
considered BER level at 10−3 and maximum Doppler shift of 500Hz, LDPC obtained a
53
Figure 5.10: BER Performance of OFDM for 6 Rayleigh Multipath Fading Channel for 48
Cyclic Prefix Length
54
Figure 5.11: BER Performance of OFDM in 2 Rayleigh Multipath Fading Channel for 16
Cyclic Prefix Length Between LDPC and Convolutional Code
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.
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
57
REFERENCES
[1] National Instruments, “White Paper 5G New Radio: Introduction to the Phys-
us/innovations/wireless/5g/new-radio.html
[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
[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.
[6] Y.S. Cho, J. Kim, W.Y. Yang, C. Kang, “The Wireless Channel: Propagation and
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
[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
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.
[11] B. Scothern and K. Heaton. Hamming Codes The First Binary Data Verification Sys-
[12] Y. Kami, C. Han, and Y. Miyanaga, “LDPC Codes Performance Based On OFDM
gent Signal Processing and Communication System, Dec. 2005, pp. 313-316.
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
https://www.mathworks.com/help/comm/ug/fading-channels.html
https://www.mathworks.com/help/comm/ref/ofdmdemod.html
59
APPENDIX
A List of Acronyms
5G Fifth Generation
CP Cyclic Prefix
CS Cyclic Suffix
60
B Syntax of MATLAB Functions in Thesis
0 PilotInputPort0 ,true,...
0 PilotCarrierIndices0 ,pilotIdx,...
0 CyclicPrefixLength0 ,cpLen);
0 PilotOutputPort0 ,true,...
0 PilotCarrierIndices0 ,pilotIdx,...
0 CyclicPrefixLength0 ,cpLen);
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));
62
C MATLAB Code for Equalization
From [16]
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);
eqH = conj(h)./(conj(h).*h);
63
D Theoretical BER Data for AWGN Channels
BER = berawgn(EbNo,’qam’,M,’nondiff’);
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
65