Uploaded by samaa saad

high data rate mimo for multipath channel

Republic of Iraq
Ministry of Higher Education and Scientific Research
Al- Mustansiriya University
College of Engineering
Electrical Engineering Department
Reliability of High Data Rate using MIMO
for Multipath Channel
A Thesis
Submitted to the Electrical Engineering Department, College of
Engineering, Al-Mustansiriya University in a Partial Fulfillment of
the Requirements for the Degree of Master of Science in Electrical
Engineering
(Electronic and Communication)
By
Eman Ahmed Farhan
Supervised By
Assist Prof. Dr. Raad H. Thaher
April
2015
Assist prof. Dr. Mahmood F. Mosleh
Jumada II
1436
‫سورة االسراء‬
Acknowledgment
First, I thank Almighty Allah for the blessing that countless and give me
the strength and patience to complete this work.
I would like to offer my sincere thanks and appreciation to the my
Supervisors Asst. Prof. Dr. Mahmood F. Mosleh and Asst. Prof.
Dr. Raad H. Thahir, which I learned a lot from them, who supported
me and carried me along this time and I pray Allah preserve them and do
a lot of people like them.
Thanks from depths of my heart to my father and mother for their
support and encourage me during the study and research period and I pray
Almighty Allah to protect them from all harm.
I also want to acknowledge my brothers and sisters for their help me
throughout the study period.
Eman Ahmed Farhan
Abstract
The most important type of MIMO is the Spatial Multiplexing (SM)
which is used to increase the data rate depending on the number of
transmitted and received antennas. The main challenge of SM is high Bit
Error Rate (BER) at low Signal to Noise Ratio (SNR), which leads to
increase the power expended, and this not match the modern
requirements of communication system.
In this thesis, the performance of MIMO system for Space Time Block
Code (STBC) and SM has been investigated. As expected the STBC
increase the reliability of data rate while SM increase the data rate with
significant BER. Three types of detection have been experimented with
SM; Maximum Likelihood (ML), Minimum Mean Square Error (MMSE)
and Zero Forcing (ZF). The results show that ML is outperform each
MMSE and ZF, but as it is known the complexity of ML increase
exponentially with number of antennas and modulation order. ZF is
simple one, but it has poor performance.
The proposed system is to add channel code serially with SM and
maintain the low complexity. The experiments are begun with
Convolution Code (CC) to support SM performance. The results show
that significant improvement is achieved using this code with ZF
detection, it can be getting more than 10 dB of SNR as code gain. But the
payment is the redundancy information which can be reduced by using
puncturing technique. Also the complexity of Viterbi decoder grows
exponentially with large constraint length. The second code is a Low
Density Parity Check (LDPC) code which is proposed with suitable
parameters to reduce the required iterations in order to achieve real time
application for such system. The results confirm that the proposed
I
scheme is outperform the CC by 3 dB of SNR in addition to acceptable
complexity and less number of iterations.
II
List of contents
Subject
Item
Abstract
List of Contents
List of Figures
List of Abbreviations
List of Symbols
Page
No.
I
III
VII
IX
X
Chapter One: General Introduction
1.1
Introduction
1
1.2
Fading channel
3
1.3
1.4
Literature Survey
Aims of the Work
4
7
5.1
contribution of this work
7
1.6
Thesis layout
8
Chapter two: MIMO system and Channel Coding
2.1
2.2
Introduction
Multiple Input Multiple Output (MIMO)
9
9
2.2.1
Benefits of MIMO Channels
11
1
Array gain
11
2
Spatial Diversity Gain
11
3
Spatial Multiplexing Gain
11
2.3
The Fading channel
12
2.4
Channel Capacity
13
2.5
Diversity
15
2.6
Space-Time Coding
17
2.6.1
Space-Time block code (STBC)
17
2.7
Spatial Multiplexing (SM)
18
2.7.1
Signal Detection for SM
19
1
Zero Forcing Detection (ZF)
20
III
2
Minimum Mean Square Error (MMSE)
21
3
Maximum likelihood (ML) Signal
21
Detection
2.8
Digital Modulation
22
2.8.1
Phase Shift Keying (PSK)
22
2.9
2.9.1
2.9.2
Convolutional Codes
Puncturing
Convolutional Representation
23
24
25
1
Trellis Diagram Representation
25
2
2.9.3
State Diagram Representation
Encoder
26
26
2.9.4
The constraint length and complexity
27
2.9.5
Decoding of convolutional code
28
1
The Viterbi Algorithm
28
2.10
Low density parity check (LDPC) codes
30
2.10.1
Encoding
32
1
Encoding by generator matrix
32
2
Linear-time encoding for LDPC codes
32
2.10.2
Decoding of LDPC code
34
1
Hard-Decision Decoding
35
2
Soft Decision Decoding
35
2.11
Spatial Multiplexing Supported by LDPC
37
2.11.1
The transmitter
37
2.11.2
The receiver
38
Chapter three: The System Models
3.1
3.2
3.2.1
Introduction
STBC system
Data Generation
39
39
40
3.2.2
3.2.3
Modulation
STBC MIMO system
40
40
IV
3.2.4
3.2.5
Rayleigh Fading Channel
The STBC Combiner
41
41
3.3
Spatial multiplexing system model
42
3.3.1
3.3.2
Spatial multiplexing
Detection Techniques
43
43
3.4
SM with Convolution Code (SM-CC)
45
3.4.1
3.4.2
3.5
3.5.1
3.5.2
The Convolutional Encoder
The Viterbi Decoder
The proposal SM- LDPC
LDPC encoder
LDPC decoder
45
46
48
49
49
3.5.3
Iterative decoding and demodulation
49
Chapter Four: Simulation Results
4.1
4.2
Introduction
Simulation of STBC
51
51
4.2.1
STBC with various numbers of antennas
51
4.2.2
4.3
STBC with various order of modulation
The simulation of SM system
52
55
4.3.1
SM with various number of antennas
55
without code
4.3.2
The simulation of SM with convolution
58
code
4.3.3
4.3.4
4.3.5
4.3.6
4.4
4.4.1
4.4.2
4.5
The simulation of ZF with CC compared
with ML with out CC
The simulation of ZF with and without CC
Simulation of SM with CC at code rate 2/3
The simulation of SM with CC for different
constraint length
The simulation of LDPC code
58
Simulation of LDPC code only
Simulation of LDPC code with MIMO
system
The discussion of results
66
67
60
63
65
66
68
Chapter Five: Conclusions and Suggestion for Future Work
V
5.1
5.2
Conclusions
Suggestions for future work
References
VI
70
71
72
List of Figures
Figure
No.
Title
Page
No.
Chapter one
(1-1)
Multipath Phenomenon
4
Chapter two
(2-1)
(2-2)
MIMO system
The probability density function of Rayleigh distribution
10
14
(2-3)
(2-4)
A 2x2 MIMO system with a spatial multiplexing scheme
PSK modulation
19
23
(2-5)
(2-6)
Convolutional Encoder with code rate 1/3
Trellis-code representation for convolutional encoder
(2, 1, 3)
State diagram of a convolutional code
Convolutional encoder of code rate = 1/2
Viterbi algorithm applied to a simple convolutional code
Low Density Parity Check code
Spatial Multiplexing and LDPC
24
25
(2-7)
(2-8)
(2-9)
(2-10)
(2-11)
26
27
29
31
38
Chapter three
(3-1)
STBC system block diagram
39
(3-2)
(3-3)
STBC Algorithm
MIMO Spatial multiplexing
42
43
(3-4)
Spatial Multiplexing algorithm
44
(3-5)
(3-6)
system model spatial multiplexing with convolution code
The Viterbi algorithm
45
46
(3-7)
The SM with CC algorithm
47
(3-8)
(3-9)
system model spatial multiplexing with LDPC code
LDPC code with iterative decoding and detection
48
49
(3-10)
SM with LDPC system algorithm
50
Chapter Four
(4-1)
BPSK modulation for (2x2, 3x3, 4x4) MIMO
communication systems.
VII
52
(4-2a)
(2x2) STBC with different modulation
53
(4-2b)
(4-3)
(3x3) STBC with different modulation
Comparison between the capacity of STBC, SM and
53
54
SISO
(4-4)
(4-5)
Comparison between the BER of STBC and BER of SM
SM of 4x4 and 2x2 with BPSK
55
56
(4-6)
SM of 4x4 and 2x2 with QPSK
56
(4-7)
SM of 4x4 and 2x2 with 8PSK
57
(4-8)
(4-9)
SM of 4x4 and 2x2 with 16-PSK
Comparison between ML without CC and ZF with CC
for 2x2 schemes
Comparison of ZF with CC and ML without CC for 3x3
schemes
Comparison of ZF with CC and ML without CC for 4x4
scheme
ZF decoder with BPSK and various antenna schemes
ZF decoder with QPSK and various antenna schemes
ZF decoder with 8-PSK and various antenna schemes
ZF decoder with 16-PSK and various antenna schemes
SM with CC of 2/3 code rate compared with SM without
CC
Comparison between ZF of SMCC with constraint length
57
59
(4-10)
(4-11)
(4-12)
(4-13)
(4-14)
(4-15)
(4-16)
(4-17)
59
60
61
61
62
63
64
65
=7, ZF of SMCC with constraint length =5 and ZF of
SMCC with constraint length =3
(4-18)
(4-19)
LDPC – only with different iteration
The LDPC – MIMO with LDPC – only, SM
without code and SM with code
VIII
66
67
List of Abbreviations
Abbreviations Meaning
APP
AWGN
BER
BP
BF
CC
CSI
a posteriori probability decoding
Additive White Gaussian Noise
Bit Error Rate
Belief propagation detector
Bit Flipping decoding
Convolutional Codes
Channel State Information
EDs
FEC
FPGA
LDPC
LLRs
LOS
MLD
MMSE
MIMO-BP
MISO
MS
MLG
Non-LOS
OSTBC-OFDM
Euclidean distances
Forward Error Correction codes.
Field Programing Gate Array
Low-density parity-check codes
Log-Likelihoods Ratios
line of sight
Maximum Likelihood Detectors
Minimum Mean Square Error
MIMO based on belief propagation detector
Multiple Input Single Output
Min-Sum detector
Majority Logic decoding
Non-line of sight
the Orthogonal Space Time Block Code Orthogonal Frequency Division Multiplexing
Phase Shift Keying
probability density function
Space Time Block Code
Single input Single Output
Space Time Coding
Singular Value Decomposition
Sum-Product Algorithm
SM with Convolution Code
the LDPC codes with SM
Ultra Wide-Band
PSK
pdf
STBC
SISO
STC
SVD
SPA
SM-CC
SM- LDPC
UWB
IX
List of Symbols
Symbols
Meaning
The set of signal constellation symbol points
the received noisy signal
Ȃ
a(
)×
matrix
The output code word of CC
The channel bandwidth
sub matrix of dimension
The output code word of LDPC code
The channel capacity
The capacity of MIMO system
The capacity of STBC system
The diversity order
D
E
sub matrix of dimension
sub matrix of dimension
Check nodes
The dimension of gap
The impulse response in convolutional encoder
Ǧ
The generator matrix
The parity check matrix
the channel matrix
the identity matrix
input data
No. of bit message
l
an integer number
The constraint length in the convolutional encoder
X
The number of shift register stages for convolutional
encoder
the noise vector
,
,
, and
noises in each received signal
Spectral for impulse response of channel
probability of 0s
sub matrix of dimension
The pdf of the Rayleigh distribution
p
sub matrix of dimension
the rate of the code
Spatial Multiplexing gain
,
,
and
the received signals at the receive antennas
The number of states in state diagram in CC
and
T
two modulated symbols to transmit by STBC
sub matrix of dimension
a unitary matrix of dimension
a unitary matrix of dimension
the transmitted vectors
the received vectors
Variable nodes
The weight matrix of ZF
The weight matrix of MMSE
̃
The estimate of transmitted data vector for ZF.
The Hermitian transpose operation
̃
The estimate of noise vector for ZF.
The variance of the noise term
̃
The estimate of noise vector for MMSE
̃
The estimate of transmitted data vector for MMSE
XI
̂
The estimate of the transmitted signal for ML
detection
The number of transmit antennas
symbol energy
The transmitted symbols over time
The received signal over time
Hamming distance between the received signal and
the transmitted signal in convolution decoding
Hamming distance associated with the transition from
state to state
in convolution decoding
time period of symbol
Label of each code word bit corresponds to a variable
node
The first parity part of code word for LDPC code
The last parity part of code word for LDPC code
The initial received at LLR variable node
A LLR from variable node to check node
A LLR from check node to variable node
the degree of the current check node
the degree of the current variable node
outer iteration between SM detector and LDPC
decoder
inner iteration within LDPC decoder
( )
The LLR value for LDPC coded bits
The channel observation
A priori message from the LDPC decoder got from
earlier outer iterations
Energy of bit
XII
the probability of error
the complex transmission coefficient
Any element belongs to transmit antennas
Any element belongs to receive antennas
a diagonal matrices of dimension
transpose conjugate
The maximum number of sub stream in SM of MIMO
system
The operator ‘ ’
denotes discrete convolution modulo 2
The symbol sequence associated with the transition
from state to state
in convolution decoding
Label of any state in state diagram
Accumulated metric of the survivor sequence chosen
for state 1 at time
in convolution decoding
The parity check matrix after permutations
The number of ones in each row in parity check
matrix of LDPC codes
The number of ones in each column in parity check
matrix of LDPC codes
Time instant
The variance of the scattered signal
XIII
5102
Chapter One: General Introduction
Chapter One
General Introduction
1.1 Introduction
In wireless communications, to obtain high data rate at an acceptable bit
error rate, large bandwidth or/and high transmit power are required, so
that the main technical criteria is to obtain high speed and reliable
communication systems with the constraints of limited radio frequency
spectrum and power. Also higher transmitted power level is required to
combat severe fading channel conditions. Multiple-Input Multiple-Output
(MIMO) communication system is used to provide increased capacity and
reliability without increasing the bandwidth or transmitted power [1].
MIMO systems consist of multiple antennas in both transmit and
receive ends. MIMO system is effective in multipath scattering
environment which creates independent propagation channels. The
propagation channel gives higher capacities over the same bandwidth in
rich scattering, which offers multiple parallel sub channels at the same
frequency [2].
In practice a reasonable tradeoff between performance and complexity
is obtained from the development of codes to realize the gains offered by
MIMO systems [3]. Space Time Block Coding (STBC) is an ever
efficient
transmit
diversity
scheme
that
is
used
to
combat
disadvantageous effects of wireless fading channels. For future wireless
systems a transmit diversity technique using STBC is an important
technique, which provides high diversity gain without needing additional
bandwidth by exploiting the multi-path environment [4].
In MIMO systems if each element in an array of antennas transmits
independent data streams simultaneously in parallel channels this
signaling scheme is called Spatial multiplexing (SM) [5].
1
5102
Chapter One: General Introduction
SM needs higher Signal to Noise Ratio (SNR) values to be very strong
technique for increasing channel capacity because SM is divided high
data rate signal into multiple low rate data streams and each stream is sent
from various sending antenna. So that, to reduce the SNR values in SM
system it must increase the number of antennas for same amount of bit
rate. At receiver antenna array these signals are arrived with different
spatial signatures and these streams can be separated by receiver into
parallel channels thus enhancing the capacity [6].
By
sending
information
between
transmitter
and
receiver
communication takes place between them through communication
channel. From the use of the conditional probability matrix defined
between the input and the output, communication channel is properly
modelled; the reliability of the information arriving at the receiver can be
determined by communication channel. The prime result achieved by the
Shannon capacity theorem is that it is possible to have a reliable
transmission through a noisy channel by using a rather developed coding
technique, to a value less than or equal to the channel capacity as long as
the transmission rate is kept [7].
Channel coding is a prime tool in the design of reliable digital
communication systems. The adding of redundant information to the
input data channel coding provides improved performance through a
channel. Block coding and convolutional coding are two main forms of
channel coding [8].
Inserting the channel codes with MIMO systems are used to improve
performance and reduce the probability of errors of the MIMO systems,
therefore, there has been a big effort for evolution the coded MIMO
systems [9]
An important tool is the convolution code in error-control coding. In
general terms, the high level of memory leads to the high complexity of
2
5102
Chapter One: General Introduction
the convolutional decoder so that the encoding is designed in a manner
that make the decoder can be performed in simplified way. Also high
level of memory leads to the high complexity of the convolutional
decoder [7].
The error performance of a communications system can significantly be
improved by using of convolutional codes with probabilistic decoding.
One of the most widely used as decoding algorithms is the Viterbi
Algorithm (VA), it is optimal, but its complexity exponentially increases
with the constraint length of the code in both number of computations and
memory requirement [10].
One type of block codes is Low-density parity-check (LDPC) codes,
which introduced by Gallager [11] in 1962, but because computational
complexity was high for hardware technology at that time they were
ignored for long time, then LDPC codes is brought back to light by
MacKay and Neal [12]. LDPC codes have been vastly studied and got
part of various standards in the recent years because of their very well
error correcting executing - nearby to the Shannon limit [13].
1.2 Fading channel
In a cellular mobile radio environment, reflection of radio waves caused
by the surrounding objects, such as houses, building or trees. Reflected
waves are produced from these obstacles with attenuated amplitudes and
phases. The reflected waves are called multipath waves. Figure (1-1) is
illustrated the multipath phenomenon [14].
At the same antenna the constructive and/or destructive interference
between the signals arriving from different paths, the phenomenon of
multipath is described this case, and hence the signal strength arrive at the
receiver with different delays and phases, random fluctuations. The
phenomenon is called as fading if destructive interference occurs, where
the signal power can be significantly reduced [15].
3
5102
Chapter One: General Introduction
For description fading channels, several mathematical models have
been developed. Common models employ to approximate actual channel
conditions such as Rayleigh and Ricean distributions. The models take
into account the correlation between sub-channels and the phenomenon
of multipath fading [15].
Figure (1-1): Multipath Phenomenon [2]
1.3Literature Survey
Many scientists and researchers focused on the wireless communication
systems and worked to develop it, due to its importance to large fields of
life.
H. H. Tang and M.C. Lin [16] in 2002 showed that will obtain an
equivalent code with the lowest state complexity by an optimum
permutation for any given
convolutional code,
the output
code word of convolution code.
A. Shokrollahi [17] in 2003 showed that LDPC codes not only desirable
from a theoretical side, but also typical for practical applications by
giving brief view of the LDPC codes and the employed methods of their
analysis and design.
4
5102
Chapter One: General Introduction
J. Fitzpatrick [2] in 2004 found that by MIMO systems increase in
capacity and bit rates offered. This could be compared with conventional
Single input Single Output (SISO) systems, MIMO systems with
different numbers of antenna elements and different Multipath
environments.
M. Shahid [1] in 2005 was investigated the basics of
(MIMO) radio communication systems and
(MISO)
with
(STC). The system was executed with binary phase shift keying (BPSK)
and in both an additive white Gaussian noise (AWGN) channel and in a
slow flat fading multipath channel the design was tested.
F. Heliot [18] in 2006 aimed to design durable and efficient Space Time
Coding (STC) schemes good adapted to single-band Ultra Wide-Band
UWB signaling. The design of new multiple-antenna STC systems for
tailored UWB communications.
A. S. Hiwale, DR. A. A. Ghatol [19] in 2007 have been seen that the use
of multiple antennas increases the data rate although significant
improvement can be provide when examining the data rate and Bit Error
Rate (BER) of different MIMO systems in Rayleigh fading channels.
N. Yang [20] in 2008 proposed triple Quadrature Phase Shift Keying
“triple QPSK” modulation has a memory of depth two symbols, where by
employing a short memory of modulation scheme the results proved that
the orthogonal STBCs from complex orthogonal designs can provide, full
diversity and full rate for three and four transmit antennas.
L. G. Ordonez [21] in 2009 found that Analytical studies of the SMMIMO systems have showed the implications of the tradeoff between
5
5102
Chapter One: General Introduction
transmission rate and reliability means the tradeoff between spatial
multiplexing and diversity gain.
D. K. Sharma, A. Mishra and R. Saxena [22] in 2010 had showed that the
selection of a digital modulation technique is only dependent by the type
of application from an analysis of the digital modulation technique.
N. Mobini, B. Sc. [13] in 2011 studied the message-passing algorithms
also known as iterative decoding applied to LDPC codes. Popular
iterative decoding algorithms used for LDPC and turbo codes are Belief
Propagation (BP) algorithm, most notably Min-Sum (MS).
P. Suthisopapan, etal [9] in 2012 proposed non-binary LDPC codes with
large MIMO systems and low-complexity MMSE detector can provide
low bit error rate close to MIMO capacity.
I G. P. Astawa, etal [23] in 2013 improved the Performance testing by
reducing errors in data transmission, the Orthogonal STBC- Orthogonal
Frequency Division Multiplexing (OSTBC-OFDM) systems with rate ½
convolution codes have been done, where 4x4 antennas has better
performance 7dB than 2x2 antennas.
T. Deepa and R. Kumar [24] in 2013 presented a new LDPC-MIMO
system with equalization such as maximum likelihood detectors (MLD)
and minimum mean square error (MMSE), where in practical system
which provides high error rate performance.
A. Tripathi and K. Arora [25] in 2014 used various types of different
channel Convolutional coding, Reed Solomon coding and Turbo coding
techniques with MIMO system to improve the performance of MIMO
system.
A. Haroun, etal [26] in 2014 investigated the set of a LDPC decoder with
a low-complexity MIMO based on belief propagation (MIMO-BP)
detector.
6
5102
Chapter One: General Introduction
Z. Lijun, etal [27] in 2015 showed the properties of perfect cyclic
difference set ensure that the associated Tanner graph of the parity check
matrix is free of 4-cycles and has a girth at least 6. Simulation results
show that the cyclic difference set codes perform well over the Additive
White Gaussian Noise (AWGN) channel with iterative decoding in
comparison with several other popular LDPC codes.
This research attempt to design low complexity scheme with reliable
high data rate using SM combine with channel code. Two types of
channel codes will be tested to choose the better one by trying many
values of its parameters to optimize suitable scheme that enables us to
approach our goals.
1.4 Aims of the Work
The aims of this work can be summarized, as follows:
1. Evaluating the MIMO system performance in term of increasing
reliability and in term of increasing the data rate by varying the
number of antennas and using different modulation order.
2. Using three types of detection to compare its performance and
complexity.
3. Apply Convolutional Codes with MIMO and use various values of
its parameters to select optimum scheme. Also evaluate the
complexity and information redundancy.
4. Propose LDPC code with suitable parameters that ensure
acceptable complexity and less delay time to improve the MIMO
performance.
1.5 contribution of this work
The main contribution of this work is to use LDPC code instead of
convolution code because the complexity of convolution code increases
7
5102
Chapter One: General Introduction
with high constraint length and when reduce the constraint length the
performance become poor. The results show that LDPC code outperforms
convolution code by 10dB, 7dB and 3dB for 3, 5 and 7 constraint length
respectively.
1.6 Thesis layout
The thesis is organized in five chapters
Chapter one: Presents a general introduction and literature survey for the
present work.
Chapter two: Illustrates the main concepts of MIMO system in Wireless
communication system and describes the STBC and SM of a wireless
communication system and introduces CC and LDPC codes.
Chapter three: Presents the models and analysis of MIMO systems with
and without CC and LDPC codes.
Chapter four: Presents the simulation results obtained and discussions.
Chapter five: Includes the main conclusions and suggestions for future
work.
8
Chapter two: MIMO system and Channel Coding
2015
Chapter Two
MIMO systems and Channel Coding
2.1 Introduction
In this chapter a background theory is presented which includes all
techniques that have been adopted in this research. The first one is the
mother technique which is Multiple Input Multiple Output (MIMO)
system and important types. The digital modulation technique with its
multilevel order has been presented, for supporting such system. A
channel code has been used to enhance the reliability data transferred by
this system and more than one code has been experimented. They are
begun with Convolutional Codes (CC); the theory of encoder and decoder
has been presented in addition to puncturing technique. Finally the theory
explanation of Low Density Parity Check (LDPC) codes, which is the
core contribution of this research, is explained.
2.2 Multiple Input Multiple Output (MIMO)
The wireless channel is an important part of communication systems
which is limited by many parameters that governed by wireless channel
environment. In recent years, the rapid growth of new services such as
mobile communications emerged with various modern systems like
broadband mobile internet access services lead to optimize the preferable
wireless communication system that respond to the rapid growth of
mobile communication services. In fact, the evolution of bandwidthefficient and high performance wireless communication technology is
considered as the base of designing engineering [28].
One of the recent developments in wireless communication, multiple
antenna elements at both transmitter and the receiver is used as shown in
Figure (2-1), without increasing the transmission power and bandwidth it
9
Chapter two: MIMO system and Channel Coding
2015
is possible to substantially increase the data rate and the reliability in a
wireless communication system. This system with multiple antenna
elements at both terminal-ends is called the MIMO systems. Despite
considerable research of MIMO systems being done, the design of factual
diversity antennas for MIMO systems on mobile ends remains a
challenging case [5] [29].
The design of MIMO systems has been conventionally posed on two
different perspectives: either the increase of the capacity through SM or
the enhancement of the system reliability through the increased diversity
of antenna. In fact, the capacity and the reliability can be simultaneously
got subject to a primal tradeoff between the two [20]. MIMO system can
be used to
1. Decrease the probability of error (decrease the bit and packet error
rate).
2. Increase the system capacity.
3. Increase the distance of transmission.
4. Decrease the required transmitted power [30].
1
1
2
2
RX
TX
Figure (2-1): MIMO system [14]
01
Chapter two: MIMO system and Channel Coding
2015
2.2.1 Benefits of MIMO Channels
MIMO has many benefits which can be exploited in different
applications. In the following subsections the gains are described in
briefly:
1. Array gain
One of the advantages of MIMO system is an array gain, from
coherent combining effect of multiple antennas at the receiver end or
transmitter or both, which leads to the average increase in the SNR at the
receiver. Consider, the average increase in SNR at the receiver terminal is
proportional to the number of receive antennas. In channels with multiple
antennas at the transmitter (Multiple Input Single Output (MISO) or
MIMO channels), array gain exploitation requires channel knowledge at
the transmitter [31, 32].
2. Spatial Diversity Gain
In a fading channel, this gives rise to high bit error rate (BER), which
required high SNR, where the faded signal is obtained at the receiver end
with huge amount of noise. This fading can be reduced by providing
replicas of the transmitted signal over time, frequency, or space [5]. The
diversity gain or diversity order is defined as the negative of the slope for
the logarithm of the probability of error versus the logarithm of the SNR
curve and given by
(
(
(
where
))
)
(
)
is the probability of error [20].
3. Spatial Multiplexing Gain
Spatial multiplexing gives a linear increase in the data rate for the same
bandwidth and with no added power expenditure; this is only possible in
MIMO channels. Spatial multiplexing increases the data rates
proportionally with the number of transmit-receive antenna pairs [33].
00
Chapter two: MIMO system and Channel Coding
2015
By sending independent data in parallel through spatial channels the
data rate can be increased, which is termed spatial multiplexing. Let
in
bits/second/Hz be the rate of the code. A STC scheme is said to achieve
SM gain if [20]:
( (
))
(
The maximum value of
is
)
(
(
)
), which is the number of degrees
of freedom [20].
Where,
is the number of transmit antennas and
is the number of
receive antennas.
2.3 The Fading channel
The main cause of fading is the multipath effect and may be due to
reflection of transmitted signals from objects. The overall signal at the
receiver end produce from summation of the variety of signals. The
reflection, diffraction, scattering and Doppler shift are mainly the factors
that cause fading [15].
In a narrowband system, all spectral components of the sent signal are
influenced to the same fading attenuation wherein the sent signals usually
occupy a bandwidth smaller than the channel’s coherence bandwidth; this
type of fading is pointed to as frequency flat. On the other hand, if the
coherence bandwidth of the channel is smaller than a frequency
separation for spectral components of the sent signal, the result the
transmit signal is independently faded. The received signal spectrum gets
distorted; this phenomenon is known as frequency selective fading [14].
There are many models of fading channels such as Rayleigh fading; the
basic idea of this model is to assume the received multipath signal
consists of a large number of reflected waves, which is the received
signal with envelope distribution and all components are Non-line of
sight (Non-LOS). Another type of fading is Ricean model. which is
01
Chapter two: MIMO system and Channel Coding
2015
similar to Rayleigh fading, except that in Ricean fading a strong dominant
line of sight (LOS) component is present where the Rayleigh distribution
is a special case of the Ricean distribution with the absence of straight
path [15,1]. The probability density function (pdf) of the Rayleigh
distribution is shown in Figure (2-2). The pdf of the Rayleigh distribution
):
is given by equation(
⁄
( )
(
The variance of the scattered signal [14], denoted by
,
)
is the received
noisy signal.
2.4 Channel Capacity
The maximum mutual information between the received vectors ( ) and
the transmitted vectors ( ) is the Shannon capacity of a MIMO channel
[34]. The capacity is given by the celebrated Shannon formula [35]
(
where,
)
(
)
is the channel bandwidth. From the experiential arguments, it is
found that the channel capacity increase linearly with the number of
transmit and receive antennas. This lead to additional capacity with no
increase in bandwidth [36]
For a narrowband channel,
at the transmitter
is the complex transmission coefficient,
and at the receiver the element
. A matrix containing all channel coefficients can be shown
as:
01
Chapter two: MIMO system and Channel Coding
2015
(
(
)
)
0.7
0.6
0.5
p(a)
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
a(bit)
2
2.5
3
Figure (2-2): The probability density function of Rayleigh
distribution
where, H is the channel matrix. Hence, a system transmitting the signal
vector
th
is the signal transmitted from the
T
element would result in the signal vector
Note that
by
where
means the matrix transpose. The
.
vector is being received
element, and
(
)
where n is the noise vector [5].
Conceptually, multiple data streams can be obtained from the MIMO
systems to be transmitted simultaneously at the same frequency; hence
the number of data streams employed increasing the bandwidth
efficiency. The capacity, of MIMO system
01
, is shown to be [5]
Chapter two: MIMO system and Channel Coding
(
2015
(
(
)) …
)
where I is the identity matrix and det (.) is the determinant.
The channel matrix H in the MIMO system's capacity of equation
(
) is the mathematical representation of the physical transmission
path, which includes the physical environment of the multipath channel
characteristics and the configurations of antenna [5].
Mathematically, by using the Singular Value Decomposition (SVD) of
the channel coefficient matrix H can be estimated the number of
independent sub channels [2].
(
Where,
)
is a unitary matrix of dimension
matrix of dimension
the superscript
and
,
is a
is a unitary
diagonal matrices, and
denotes transpose conjugate.
SVD is a group of techniques to solve sets of linear equations and
matrices that are singular or very close to singular. This decomposition is
shown below [2].
[
(
]
)
Where U and V are unitary row orthogonal matrices and so [2],
(
)
The capacity of equivalent STBC channel with code rate R will then be
given by [19]:
[
(
)]
⁄
⁄
(
)
2.5 Diversity
A powerful technique in wireless communications is Diversity
employed to mitigate random fading at relatively low cost. By finding
01
Chapter two: MIMO system and Channel Coding
2015
independent signaling branches for communication the essential idea of
diversity is exploiting the random nature of radio propagation. If
independent branch have a strong signal, another channel branch may
undergo severe attenuation. The main concept is the diversity order,
defined by the number of independent channel branches. One of
parameters used to evaluate system error performance in fading channel
is the diversity order, the probability of losing the signal fades
exponentially with the diversity order [37].
1. Frequency diversity technique: This technique transmits the same
information over several carrier frequencies induce different
multipath structure and independent fading is exploited to provide
frequency diversity [20, 38].
2. Time diversity technique: In time diversity, over several time slots
the same message signal is sent, in the form of redundancy in
temporal domain the copies of the transmit signal are achieved to
the receiver [20].
3. Spatial diversity: also known as antenna diversity. Assuming that
the coherence distance of the channel is smaller than the distance
between the antennas, the different received signals may be
considered as independent [3]. In this research it has been focused
on spatial diversity.
It can be noted that the trade-off between multiplexing and diversity
gain as one of the added benefit of MIMO systems. By changing the way
of coding information at the transmitter, it can either on different
antennas transmit multiple copies of the same message to obtain diversity
gain, on different antennas transmit different messages to obtain
multiplexing gain, or find a balance between them. The paths is
unreliable if all paths from the transmitter to receiver are faded, diversity
can be employed to maximize the average SNR. If most paths are well,
01
Chapter two: MIMO system and Channel Coding
2015
that is, they exhibit a low probability of error, therefore using spatial
multiplexing to maximize the average capacity [39].
2.6 Space-Time Coding
In multipath fading reliable wireless transmission is difficult, antenna
diversity is an effective and practical in most scattering environments,
hence, a widely technique of antenna diversity for reducing the effect of
multipath fading is applied [40]. To obtain diversity over fading channels
with multiple transmit antennas using Space-time coding (STC) which is
a set of practical signal design techniques that gives an efficient means of
diversity. The signals transmitted from various antennas in different time
periods to introduce correlation between them, STC is performed in both
the spatial and temporal domains. STC consisted of two main classes they
are Space Time Trellis Codes (STTCs) and Space-Time Block Codes
(STBCs) [36]. Alamouti’s scheme which was the first Space-Time block
code (STBC), the STBC technique became famous thanks to its [40],
Alamouti’s technique provide low-complexity decoding and full transmit
diversity [18]. For more information see references [14, 41- 43].
2.6.1 Space-Time block code (STBC)
Suppose space time block code system with two transmit and two
receive antennas. If the encoder takes two modulated symbols
a time the transmit matrix
and
at
at the encoder is given by [41]:-
(
)
(
)
At the receiver side, the received signals are combined and then the
transmitted signals are recovered at the detector,
Using equations (
) and (
) the received matrix in a
system can be written as [43]
01
Chapter two: MIMO system and Channel Coding
[
,
,
Where,
][
and
,
]
2015
[
]
(
)
are the received signals at the receive antennas[42]
,
, and
(
)
(
)
(
)
(
)
noises in each received signal.
Assume that the channel fading attenuations are known at the receiver
side, and the combined signals are formed as follow [42]:̃
(
)
̃
(
)
), (
Substituting equations (
equations (
) and (
) (
) and (
), in
), the combined signals can be written
[42]:̃
(| |
|
|
|
|
|
| )
(
)
̃
(| |
|
|
|
|
|
| )
(
)
2.7 Spatial Multiplexing (SM)
Spatial multiplexing (SM) is a transmission technique in MIMO
wireless communication system, in SM the space dimension is reused or
multiplexed more than one time or SM is used to transmit independent
and separately encoded data signals from each of the multiple transmit
antennas, called as streams [6].
For the same bandwidth and with no additional power disbursal SM
gives a linear (in the number of transmit-receive antenna pairs or min
01
Chapter two: MIMO system and Channel Coding
(
,
2015
)) increase in the capacity. It is only likely in MIMO channels
[33].
The basic principle of SM is illustrated by using system with two
antennas at the transmitter and two antennas at the receiver as shown in
Figure (2-3), the bit stream of data is de-multiplexed into two sub streams
to be transmitted firstly, then modulated and transmitted simultaneously
from each transmit antenna. These signals arrived at the receive antenna
are separated, If the propagation channels are uncorrelated. It can
differentiate between the co-channel signals and extract both signals, if
the receiver has knowledge of the channel. The original sub-streams can
be combined to yield the original bit stream of data after demodulating
the received signals. Therefore, by using SM the channel capacity
increases with the number of transmit-receiver antenna pairs. This
concept can be extended to more general MIMO channels [5].
(
)
(
)
110
Multipath
Environment
Transmitt
er
101001
Receiver
001
101001
Figure (2-3): A 2x2MIMO system with a spatial multiplexing scheme [5].
2.7.1 Signal Detection for SM
There are many detection techniques available with combination of
linear and non-linear detectors. The most common detection techniques
are as the following which are used in this thesis:
09
Chapter two: MIMO system and Channel Coding
2015
1. Zero Forcing Detection (ZF)
The ZF detection is one of linear detection types. It is similar to linear
filter; ZF separates the data streams and then independently decodes each
stream [33].
In ZF detection the weaker transmit signal is canceled then the
estimation of strongest transmitted signal is got. For decoding the strong
signal from the transmitted signal, the strongest signal has been
subtracted from received signal. ZF equalizer neglects the extra noise and
may amplify noise for channel significantly [6].
All transmitted signals except for the desired stream from the target
transmit antenna, linear signal detection method treats it as interferences.
Therefore, to detect the desired signal from the target transmit antenna
interference signals from other transmit antennas are minimized or
nullified. The (ZF) technique nullifies the interference by the following
weight matrix [28]
=(
where ( )
)
(
)
denotes the Hermitian transpose operation. In other words, it
inverts the effect of channel as [28]
̃
̃
(
̃
)
(
)
(
)
̃
(
where ̃
̃
(
)
(
11
)
)
Chapter two: MIMO system and Channel Coding
Where
is the received signal,
signal, ̃
2015
is the transmitted signal;
is the noise
is the estimate of transmitted data vector for ZF and ̃
is the
estimate of noise vector for ZF.
2. Minimum Mean Square Error (MMSE):
MMSE is a stochastic gradient technique with low complexity. Which
reduces the mean –square error between the output of the equalizer and
the transmitted symbol, The MMSE equalization is given by [6].
(
)
(
)
), to obtain the following
Using the MMSE weight in Equation(
relationship:
̃
(
̃
(
(
)
Where
Where
̃
)
(
)
(
)
)
)
(
(
)
̃
(
(
)
)
is the variance of noise term with
/2 spectral for impulse
response of channel.
3. Maximum likelihood (ML) Signal Detection
The ML is the non-linear detector, which minimizes the error
probability; by finding the Euclidean distances (EDs) with the minimum
distance the ML detector calculates the (EDs) between received signal
and the product of all possible transmitted signal vectors with the given
channel
. The problem of the MIMO detection of an un-coded system
can be considered as a so-called integer least squares problem, which can
be solved optimally with a (ML) detector [29].
Then, ML detection determines the estimation of the transmitted signal
vector
as
̂
‖
‖
10
(
)
Chapter two: MIMO system and Channel Coding
Let
and
2015
denote a set of signal constellation symbol points and a
number of transmit antennas, respectively.
The required number of ML metric calculation is| |
, therefore its
complexity increases exponentially as the number of transmit antennas
modulation order and/or increases. ML will be useful for reducing the
complexity when
.The complexity of metric calculation
exponentially increases with the number of antennas. However, its
complexity is still too much for
[28].
2.8 Digital Modulation
Normally to transmit message for a distance using a high-frequency
sinusoidal waveform as carrier signal, modulation is the process of
changing some parameters of a periodic waveform in order to use that
signal to convey a message [22].
The digital information can be transmitted over the channel by using the
process of modulation, which is of mapping it to analog form. By
changing the amplitude, phase, and frequency of a sinusoidal carrier the
process of modulation can be done. A modulator in digital
communication system can perform this task. Similarly, digital
communication system has a demodulator at the receiver that performs
inverse of modulation [6].
2.8.1 Phase Shift Keying (PSK)
In mobile radio communications the mobile unit has a limited battery
lifetime and an energy efficient power amplifier is necessary, this lead to
use PSK modulation because PSK arranges all symbols on a circle with
radius √
⁄
resulting in identical symbol energies (where
symbol energy and
is
is time period of symbol). In mobile radio
communications the identical symbol energies are an important property.
They are generally designed for a certain operating point so that an
11
Chapter two: MIMO system and Channel Coding
2015
energy-efficient transmission is get if the send signal has a constant
complex envelope. Figure (2-4) show the types of PSK modulation [44].
BPSK
QPSK
Im
√
Im
⁄
√
⁄
Re
Re
8–PSK
16 - PSK
Im
Im
√
⁄
√
Re
⁄
Re
Figure (2-4): PSK modulation [44]
2.9 Convolutional Codes:
Convolutional codes (CC) were first introduced by Elias in 1955 [45]
Convolution encoder contains memory while block encoder are memory
less, as an alternative to block codes [46].
Due to the fact that CC has regular trellis structures and hence can be
decoded by Viterbi algorithm which is widely used for increasing the
reliability of transmission in many digital communication systems. Using
punctured convolution codes for applications which require high coding
rates, which are obtained from puncturing some bits from mother codes
11
Chapter two: MIMO system and Channel Coding
2015
of low coding rates periodically, are usually considered. By Viterbi
algorithm which is used the decoding trellis of its mother code a
punctured convolutional code can be decoded [16]. As shown in Figure
(2-5) through a linear finite state shift register in addition with a
combinational logic of modulo-two addition message bits sequence is
passed. This code is well-known as (
) codes, where
are
encoder parameters [47].
Input
𝑚
𝑚
𝑚
Output
Figure (2-5) Convolutional Encoder with code rate 1/3 [47]
With
input data,
-output code word and input memory
convolution code can be implemented. Typically
achieve low error probability and
must be kept larger to
. The code rate is a measure of
the bandwidth efficiency of the code which is the quantity
Commonly
range from 2 to 10 and the
.
parameters have range from 1
to 8, and the code rate for deep space applications as low as 1/100, but
normally it have been employed from 1/8 to 7/8 [46, 47].
2.9.1 Puncturing:
Using of CC leads to occupy a large bandwidth. By using punctured
convolutional codes are reduced the occupied bandwidth. For providing
11
Chapter two: MIMO system and Channel Coding
2015
system requirement the puncturing pattern adjust code rate. Puncturing is
the trade-off between performance and code rate [46].
By the process of puncturing the code rate can be increased. According
to a puncturing matrix puncturing involves deleting some of the bits
generated by the mother code [48].
In practical applications usually design encoders for rate
convolutional codes, i.e. with one input; a puncturing method constructs
high-rate codes from rate
codes. By using punctured codes the
decoding of high-rate convolutional codes can be significantly simplified
[44].
2.9.2 Convolutional Representation
Graphically there are several ways to represent the encoder to gain a
better understanding of its operation these are:
1. Trellis Diagram Representation
A trellis is a tree-like structure with remerging branches. Adopting the
convention that the input bit is shown as thick lines to show code
branches produced by a “zero” and the input bit is shown as thin to
represent code branches produced by a “one”. Figure (2-6) shows the
trellis diagram of (2, 1, 3) convolutional encoder [49].
a=00
(00)
(11)
(00)
(11)
(00)
a
(00)
(11)
a
(00)
(11)
b=01
b
b
c
c
c=10
01
(10)
d=11
d
01
(10)
d
01
(10)
Figure (2-6): Trellis-code representation for convolutional encoder
(2, 1, 3) [49].
11
Chapter two: MIMO system and Channel Coding
2015
2. State Diagram Representation
A state diagram is another way to describe convolutional code. The
number of states is
for a binary CC where,
is the number of
shift register stages in the transmitter. In state diagram by the current
input bit the transitions from a current state to a next state are determined,
and an output of bits is produced from each transition [48].
Figure (2-7) shows the state diagram of a CC for the convolutional
encoder of Figure (2-8). There are four states, labelled
= 01 and
= 00,
= 10,
= 11 [7].
0/00
𝑆𝑎 =00
1/11
𝑆𝑏 =10
0/11
𝑆𝑐 =01
1/00
0/01
𝑆𝑑 =11
1/10
0/10
1/01
Figure (2-7) State diagram of a convolutional code [7]
2.9.3 Encoder
By encoder‘s impulse response a convolutional encoder performs a
convolution of the input stream, the constraint length is
where
indicates memory length of the encoder or the length of the shift
register. The impulse responses are sequences of the form [7]
( )
(
( )
( )
( )
( )
( )
(
( )
( )
( )
( )
11
)
)
(
)
(
)
Chapter two: MIMO system and Channel Coding
2015
( )
𝑠
𝑠
( )
Figure (2-8) Convolutional encoder of code rate = 1/2 [7]
Impulse response analysis can be applied to the convolutional encoder,
as shown in Figure (2-8), and express the encoded sequences as [7].
( )
( )
(
( )
( )
(
)
)
Where the operator ‘ ’ denotes discrete convolution modulo 2. This
means that for an integer number [7]
l ≥ 0,
( )
( )
∑
( )
( )
( )
(
)
To form a code sequence or unique output both output sequences are
concatenated [7]:
(
( ) ( )
( ) ( )
( ) ( )
)
(
)
2.9.4 The constraint length and complexity
The convolutional code's maximum-likelihood error rate decreases
exponentially with constraint length of the code, it is sensibly accepted
that by using a long-constraint-length convolutional code and its
respective maximum-likelihood decoder a very good system performance
can be attained [50].
11
Chapter two: MIMO system and Channel Coding
2015
On the other hand, in practice the long-constraint-length convolutional
codes make the computational complexity of maximum-likelihood
decoders high, such as Viterbi algorithm, makes the idea unpractical [50].
Therefore it has been used short constraint length in this thesis to
guarantee low complexity and accepted performance.
The relationship that contains constraint length
formula
and code rate
is the
( ) [25].
2.9.5 Decoding of convolutional code
1. The Viterbi Algorithm
The Viterbi algorithm (VA) was first described mathematically by A. J.
Viterbi [49] in 1967, which is a remarkable method for performing
maximum likelihood decoding of convolutional codes.
VA is implemented to the trellis of a convolutional code whose
properties are conveniently employed to apply this algorithm. As it is
known, one of the key problems that faces maximum likelihood decoding
is the complexity which causes from the number of calculations over all
the possible code sequences that have to be done. By preventing having
to take into calculate all the possible sequences the VA minimizes this
complexity of calculation. By computing the cumulative distance
between the received sequence at an instant
at a given state of the
trellis, and each of all the code sequences that attain at that state at that
instant
the decoding is done. For looking the sequence with the
minimum cumulative distance this calculation is executed for all states of
the trellis, and for successive time instants [7].
Hard or soft decisions are the types of VA. The type of quantization
used on the received bits refers to type of VA either Hard decision or soft
decision. Soft decision decoding employs multi bit quantization on the
11
Chapter two: MIMO system and Channel Coding
2015
received channel values while hard decision decoding employs one bit
quantization on the received channel values [47].
The transmitted sequence of Euclidean distance closest to the received
sequence finds by this algorithm. A state denotes the past history of the
sequence over the constraint length the operation consists of finding the
path of states, where. Figure (2-9) illustrates a Viterbi algorithm applied
to a simple code with
=2 or =4 states [48].
The figure illustrates how the survivor sequence for state 1 is chosen.
For each state the same process is performed. For the ( ) transmitted
symbols and ( ) the received signal over time , then [48]
()
∑
()
Where,
| ()
( )|
| ()
( )|
(
)
(
)
( ) is the symbol sequence related with the transition from
state to state . The survivor sequence selected for state 1 at time
is the one whose accumulated metric is [48].
()
{ ()
( )}
()
(
()
(
)
)
(
)
()
()
Figure (2-9): Viterbi algorithm applied to a simple convolutional code.
According to the principles Hamming distance the result of decoding
data is obtained by comparing the output data of the system with the bits
of information that are sent to the unknown BER system [23].
19
Chapter two: MIMO system and Channel Coding
2015
2.10 Low density parity check (LDPC) codes
One of the methods to achieve reliable communications is associated
MIMO techniques with Forward Error Correction (FEC) codes. It
becomes very acceptable when the MIMO scheme is concatenated with a
(LDPC) code [26].
Since LDPC codes enable to get as close as a fraction of a dB from the
Shannon limit they are among the most powerful (FEC) codes [51].
LDPC codes are a class of linear block codes, because the
characteristics of parity-check matrix of these codes which contains only
a few non-zero elements in comparison to the number of zero elements,
the name of LDPC codes comes from their parity-check matrix [27].
LDPC codes are called regular if its matrix contains fixed number of
ones in the columns and fixed number of ones in the rows. LDPC codes
are called irregular if the matrix does not contain the fixed number of
ones in rows and columns. LDPC parameters defined the (
matrix as
columns,
number of ones in each row and
ones in each column, (
.thus the code rate
)
number of
) defines that the number of rows=
[51].
LDPC codes attain a performance which is very close to the data rate
for a lot of different channels and linear time complex algorithms for
decoding. They were mostly ignored until about ten years ago because the
effort of computational in implementing coder and encoder for such
codes [52]. From sparse bipartite graphs LDPC codes can be obtained.
left nodes (called message nodes) and 𝑓 right
Suppose a graph with
nodes (called check nodes). Figure (2-10) shows the graphical
representation of LDPC.
This representation is identical to a matrix representation of the same
code: let Ȟ be a 𝑓
matrix in which if the
11
check node is connected
Chapter two: MIMO system and Channel Coding
to the
message node this leads to the entry (
code is defined by (the graph) the set of vectors
that
2015
) is 1. Then the LDPC
(
) such
. Ȟ this is the matrix representation of the graph in
Figure (2-10) [17].
(
)
Figure (2-10): Low Density Parity Check Codes [17]
10
Chapter two: MIMO system and Channel Coding
2015
2.10.1 Encoding
1. The Encoding by generator matrix
The generator matrix for a code with parity-check matrix Ȟ can be
obtained by executing Gauss-Jordan elimination on Ȟ to find it in the
form [53]
[
Where
(
]
is the bit data Ȃ is a (
)
)×
matrix and
is the size
identity matrix. The generator matrix is then [53]
[
(
]
)
(
)
At the encoder will have complexity in the order of
operations. Where
the encoder can become prohibitively complex as
is large for LDPC
codes from thousands to hundreds of thousands of bits,.
A good approach is to avoid constructing
using back substitution with
at all and instead to encode
as is demonstrated in the following.
2. Linear-time encoding for LDPC codes
The ( 𝑓
) parity-check matrix
and code consists of the set of
–
tuples such that
(
)
Given that the original parity-check matrix Ȟ is sparse, typically linear
time encoding is indeed possible for codes which allow transmission at
rates close to capacity. And for those codes the encoding complexity
stays manageable up to very large block lengths because the encoding
scheme still leads to quadratic encoding complexity such that
term is
typically very small. Note that solely by permutations this transformation
was accomplished, therefore the matrix is still sparse. More precisely,
assume that bringing the matrix in the form [54]
[
]
11
(
)
Chapter two: MIMO system and Channel Coding
2015
is sub matrix of dimension (𝑓
Where
dimension (𝑓
)
dimension
(
dimension
(𝑓
)
, T of dimension (𝑓
)
𝑓), D of dimension
),
(
𝑓),
of
(𝑓
),
of
, and, finally, E of
is the dimension of gap. Further, T is lowering
triangular with ones along the diagonal and all these matrices are sparse.
Multiplying this matrix from the left by [54]
[
]
To give
̃
[
]
[
̃
̃
]
Where
̃
And
̃
Let
(
) where
combination of
and
denotes the systematic part, the parity part is
,
has length
). The defining equation
, and
has length (𝑓
splits into two equations, and so
[54]
(
)
(
)
And
̃
The parity bits in
̃
depend only on the message bits because
has been
cleared, and so can independently be calculated of the parity bits in
), if ̃ is invertible [54]:
Can be found from(
̃
̃
(
11
)
.
Chapter two: MIMO system and Channel Coding
2015
If ̃ is not invertible by permutation the columns of ̃ it can be made
invertible. The added complexity burden of the matrix multiplication is
kept low by keeping
as small as possible [54].
Once
can be found from(
is known
(
):
)
(
)
To keep the complexity of this operation low the sparseness of
and
can be employed and, as
is upper triangular,
,
can be found by
using back substitution [54].
2.10.2 Decoding of LDPC code
There are various algorithms to decode LDPC code such as bit flipping
decoding (BF), a posteriori probability (APP) decoding, weighted bit
flipping decoding, majority logic decoding (MLG) and iterative decoding
based on belief propagation. Among them the type which provides best
error performance is iterative decoding based on belief propagation.
Because the messages are passed from check nodes to variable nodes,
and from variable nodes back to check nodes this decoding is named
(iterative decoding). An important aspects that in iteration a node should
pass only the extrinsic information that means the information that is sent
from a variable node
to a check node 𝑓 must not involve the
information sent in the previous step from 𝑓 to
, This is true for
information passed from check nodes 𝑓 to variable node
. By
probabilities or beliefs can be represented the information from the
variable node to check node and check node to variable node. The
algorithm is also known as belief propagation and using of iterative belief
propagation (BP) the LDPC codes can be decoded. Instead of using
probabilities it is easy to do with likelihoods, or even log-likelihoods
Ratios (LLRs) to represent messages. In BP, in the graph likelihood
11
Chapter two: MIMO system and Channel Coding
2015
functions are recursively computed by each node and along each edge a
message containing this information is sent [55].
In this thesis it has been used Iterative decoding which is a good
compromise between complexity and performance. The obtained
decreasing in decoding complexity from using iterative decoding makes
iterative algorithms an attractive alternative to optimal algorithms.
1. Hard-Decision Decoding
The algorithm can be described in the following steps:
A. First Step
In the zeroth iteration or first step all variable-nodes
send
“information” to their check-nodes 𝑓 including the bit they think to be
the errorless one for them. This stage has the only information variablenode
, is the corresponding received
bit of received information
[55].
B. Second Step
In this step every check node 𝑓 computes a reacting to every related
variable node. The response message includes the bit that 𝑓 thinks to be
the errorless one for this variable-node
supposing that the other nodes
connected to 𝑓 are correct [55].
C. Third Step
The variable-nodes in third step receive the messages from the check
nodes and decide if their originally received bit is OK by using this
additional information [55].
D. Forth Step
Go to second step.
2. Soft Decision Decoding
Messages are expressed in probabilities, Log-Likelihood Ratios (LLRs)
form in soft decision decoding, the iterative decoding with belief
11
Chapter two: MIMO system and Channel Coding
2015
propagation also known as Sum-Product Algorithm (SPA) is used for
decoding LDPC iteratively. Equation (
)and (
)express the
variable-node and check-node operations of SPA respectively, where the
initial received at LLR variable node is represented by
variable node to check node is represented by
node
to variable node
is represented by
current check node is denoted by
variable node is denoted by
, a LLR from check
, the degree of the
, and the degree of the current
denotes [55].
∑
(
(∏
)
(
)
∑
By using equation (
, a LLR from
(
)
)
)the outpacing LLR transmit from the
existing variable node to every related check node , by using equation
(
) the outpacing LLR transmit from the current check node along
the edge to every related variable node
and the equation (
compute the result of the current decoding iteration
is
)
, the sum of
the variable node computations' result [55].
The message passing decoding procedure can be described as the
following steps.
Step 1
Initialization: put the furthermost number of iterations.
Step 2
Message update: from variable to check nodes the information are
computed based upon the variable node's observed value and passed from
11
Chapter two: MIMO system and Channel Coding
2015
the neighboring check nodes to that variable nodes some of the
information.
Step 3
Check code update: from check to variable nodes the information are
transmitted along the edge to each connected variable node with that
check node [24].
Step 4
Decision: If
agree with the constraint
the decoding is
successfully achieved, otherwise pass to the next iteration of Step 2 [55].
Or the information bits can be extracted if the maximum number of
iterations is done [24].
2.11 Spatial Multiplexing Supported by LDPC
Inserting LDPC within SM system is the contribution of this thesis to
assist its performance and by using short code blocks attempt to keep low
complexity [56]. The general SM- LDPC system is shown in Figure (211).
In order to minimize BER can be exploited a combination of outer
iteration between SM detector and LDPC decoder and inner iteration
within LDPC decoder. Note that the SM detector is separated from
decoder of LDPC, but between the two components reliability
information on the coded bits is interchanged in an iterative fashion.
2.11.1 The transmitter
As discussed in subsection 2.10.1 by LDPC encoder the data stream
with vector of k bits are first encoded to obtain c coded sequence with
redundancy information added by the factor of the inverse of code rate of
LDPC. By PSK complex vector the coded sequence is modulated and
then by
transmitted antennas is distributed and then transmitted over
sub-channels.
11
Chapter two: MIMO system and Channel Coding
2015
Transmitter
LDPC
Encoder
Info Bits
Coded
BPSK
Coded Bits
Soft
Detector
S/P
Modulator Symbols
LDPC
Hard Decisions
Decoder
Receiver
Figure (2-11) Spatial Multiplexing and LDPC
2.11.2 The receiver
The decoder structure included Soft Input Soft Output LDPC decoder
and Soft Input Soft Output detector for MIMO system in the receiver end.
The soft output of the detector is to reduce the effect of MIMO channel.
The soft output of MIMO detector is an earlier in the form of LogLikelihood Ratio (LLR) which called extrinsic LLRs. If ( ) is the LLR
value for LDPC coded bits
( )
The LLR of the
( )
where
(
which is defined as [57]:
)
(
(
)
)
LDPC coded bit that calculated by the detector is:
(
)
(
)
(
)
( ) is a priori message from
is the channel observation. Let
the LDPC decoder got from earlier outward iterations. Using Bayes’s rule
( ) can be written as:
( )
(
)
(
)
(
)
(
)
( )
( )
And so on for next iteration.
11
Chapter three: The system Models
2015
Chapter Three
The System Models
3.1 Introduction
In this chapter a system model is presented which includes all
modeling of MIMO communication systems that have been adopted in
this research work. The first one is (MIMO) with STBC system model. A
system model of MIMO communication system with SM has been
presented. In addition, the proposed system model from the source of
information at the transmitter to the receiver side is illustrated, the Phase
Shift Keying (PSK) modulation, the Spatial Multiplexing, CC encoder,
the Rayleigh fading channel affect the transmitted signal, the Spatial demultiplexing, CC decoder. Finally, the proposed system model from the
source of information at the transmitter to the receiver side is illustrated
LDPC encoder, the flat fading channel affect the transmitted signal, the
Spatial de-multiplexing, LDPC decoder.
3.2 STBC System
The system used for simulation STBC system is shown in Figure (3-1).
PSK
modulation
Source of
information
STBC
Encoder
Sink
Rayleigh
Fading Channel
STBC
Combiner
PSK
demodulation
Figure (3-1) STBC system block diagram
93
Chapter three: The system Models
2015
The block diagram in previous figure it can be described as follows:
3.2.1 Data Generation
This block generates bit stream with probability of
produce 0s and 1s
with probability of 1- . The distribution is Bernoulli that generates
randomly binary numbers with variable length of message. The data
generated by this block is used as input sequence of PSK modulation to
be ready to transmit and invers processes are applied to recover such data.
In this simulation a BER is calculated by comparing the data generated
with received data to evaluate the performance of simulation system.
3.2.2 Modulation
The Modulator used the phase shift keying (PSK) type to modulate the
transmitted data with various mode orders, the order used here is Binary
PSK (BPSK), Quadrature PSK (QPSK), 8PSK and 16PSK). The output is
a baseband representation of the modulated signal. QPSK and up to
16QPSK are used in order to increase the data rate in the same system. It
is known that this will lead to increase the BER in the advanced
modulator order, so that this research attempt to reduce the errors with
low complexity to approach the aim represented by reliable high data
rate.
3.2.3 STBC MIMO system
This model shows a space-time block code (STBC) transceiver system
over a (MIMO) channel. The system uses a variable number of transmit
and receive antennas. The number of transmit and receive antennas used
here are (2x2, 3x3 and 4x4). The increasing of the number of antennas
will lead to increase the reliability as it was shown previously in
04
Chapter three: The system Models
2015
subsection (2.5), but without increasing the amount of information
transferred by this system. The aim of this section is to investigate the
amount of reliability that can achieve by using STBC technique to show
the capability of MIMO system to support the reliability of received data.
3.2.4 Rayleigh Fading Channel
Rayleigh fading is a suitable model of signal propagation which is
subject to heavy attenuation by urban environments that assumes the line
of sight is absent between transmitter and receiver. Rayleigh fading
distribution is a sum of two uncorrelated Gaussian random variable.
A transmitted message which sent from the base station through the
Rayleigh fading channel, it will interact with the channel environments,
this interaction will occur at the receiver by multiply the transmitted
signal by the complex impulse response matrix of the channel. An
additive white Gaussian noise added to the transmitted signal.
3.2.5 The STBC Combiner
At the receiver the STBC Combiner block combines the received
signals from the received antennas with the channel state information
(CSI).
In this work the CSI is assumed perfectly known at the receiver side.
The PSK demodulator is recovered the digital message with some noise
that may be flipping the pulses that represented of 1s binary to 0s or vice
versa. This is used to obtain the BER of STBC-MIMO communication
systems.
Figure (3-2) shows the flow chart for STBC system.
04
Chapter three: The system Models
2015
Start
Add Rayleigh fading effect. Eq. (2-13)
Inputs 𝑛 𝑇 , 𝑛𝑅 , sample rate,
maximum Doppler, number
of Bits, BER=0, modulation
order, SNR
Decode received signal. Eq. (2-18) &
(2-19)
Demodulation
𝑛
Initialize𝑛 counter i=0
Compare transmitted and
demodulated data and
calculate BER
Initialize
counter j=0
Yes
j ≤ SNR ?
Generate data
Yes
No
Modulate data
i ≤ 500?
No
Encode modulated data
using STBC Eq. (2-12)
End
Figure (3-2): STBC Algorithm
3.3 Spatial multiplexing system model
Figure (3-3) shows the system model of SM that used to simulate such
system. SM schemes is subdivided the data into independent sub-streams,
one for each transmit antenna employed.
The numbers of transmitted and received antennas used in such
simulation are (2x2, 3x3 and 4x4). SM uses flat fading over independent
sub-channels. Suppose perfect channel knowledge and no feedback to the
transmitter, i.e. an open- loop SM system.
In order to increase the data rate, multi- levels of modulation order are
used in addition to multi- antennas. QPSK, 8QPSK and 16 QPSK are
used in this system. This thesis concerned on treatment of the high level
04
Chapter three: The system Models
2015
of errors stem from high modulation order. This can be achieved by
increasing the amount of antennas and or add another technique like
channel codes.
PSK
modulation
Source of
information
Spatial
multiplexing
Sink
Rayleigh
Fading Channel
Spatial demultiplexing
PSK
demodulation
Figure (3-3) MIMO Spatial multiplexing
3.3.1 Spatial multiplexing
In SM the data stream is splitting into independent sub-streams among
transmitters and after modulation each transmit antenna is employed
for sending sub-stream to the MIMO channel.
3.3.2 Detection Techniques
Three types of detection technique are used in this scheme; MMSE and
ZF which are related to linear detection, in addition to ML detector which
non- linear techniques. The purpose of using three detection techniques is
to evaluate the performance of each one. The evaluation includes two
sides, the amount of improvement that added to the system and the
corresponding of complexity for each one. Take into account that the
current work attempt to reduce the complexity with better BER.
09
Chapter three: The system Models
2015
Figure (3-4) shows the algorithm for SM system; which is used to obtain
the BER of SM-MIMO communication systems.
Start
Inputs 𝑛 𝑇 ,𝑛𝑅 , (𝐸𝑏/𝑁0 ),
Order of modulation,
Number of symbols
Collect errors (no. of errors ZF,
no. of errors MMSE and no. of
errors ML) & collect no. of Bits
Initialize counter i=1
Initialize counter
((no. of errors ZF = 0) | (no. of
errors MMSE = 0) | (no. of errors
ml = 0) & (no. of Bits = 0))
((no. of errors ZF ≤
500) | (no. of errors
MMSE ≤500)| (no.
of errors ML ≤ 500))
&
(no. of Bits ≤ 1e5))
Yes
Create array of bits
Modulate data
No
Compare transmitted and demodulated
data and calculate BER
Split source among 𝑛 𝑇
transmitters
Yes
i ≤ (𝐸𝑏/𝑁0 )
Add Rayleigh fading effect to
the transmitted data. Eq. (2-3)
No
End
Apply (ZF, MMSE, ML) detection.
Eqs. (2-24), (2-29) & (2-33)
Figure (3-4) Spatial Multiplexing algorithm
00
Chapter three: The system Models
2015
3.4 SM with Convolution Code (SM-CC)
To support the performance of SM it has been proposed to add channel
codes with SM in to reduce the BER that obtained the desired reliability
associated with high data rate. One of the most popular for the channel
codes is CC. It is easy to implement and can reduce the BER in various
environments. System model of SM-CC is shown in Figure (3-5).
Source of
information
Convolution
code
PSK
modulation
Rayleigh
Spatial
multiplexing
Sink
Fading Channel
Spatial multiplexing
detection
PSK
demodulation
Convolution
decode
Figure (3-5) System model spatial multiplexing with convolution code
The transmitted process is applied by the source, encoder and
modulator. At the receiver end the inverse processing are executed to
recover the information before send to sink block.
3.4.1 The Convolutional Encoder
It receives the data of binary bits from Bernoulli binary generator. The
length of message used in this simulation is 10000 bits multiplied by the
number of transmitted antennas denoted by
increased by factor of
. So that data rate is
. The code rate used here are two types; the first
is fixed with ½, or the output data is doubled of input data length, the
04
Chapter three: The system Models
2015
second type is variable using puncturing technique, in this type the code
rate of ⁄ is increased to ⁄ , which can reduce the redundancies
information.
The constraint length used in this block 3, 5 and 7 which means that 2,
4 and 6 registers respectively are present for each one. The generator
polynomial used for 3 constraint length are 5 and 7, for 5 constraint
length are 23 and 35 and for 7 constraint length, 133 and 171 generator
polynomial.
3.4.2 The Viterbi Decoder
The output of PSK demodulator is binary of bit stream because hard
decision demodulator is used. Also the Viterbi decoder is hard decision
which based on maximum likelihood to select the optimum value to
recover the survivor path. The main feature of such decoder is that can
process more than one symbol simultaneously to reduce the time required
for decoding of message. Figure (3-6) illustrates the flow chart of Viterbi
algorithm.
Start
No
States end
Yes
Initializ
e
No
Trellis stages end?
Yes
Calculate possible branch metric
Yes
Load the branch metric
Trace back block
Add Compare Select
Decoded data block
Store the path metric information
End
Figure (3-6): The Viterbi algorithm
04
Chapter three: The system Models
2015
The flow chart of overall SM-CC is illustrated in Figure (3-7). This is
used to obtain the BER of SM-CC communication systems.
Start
Inputs 𝑛 𝑇 ,𝑛𝑅 , Order of modulation,
(value of SNR), (𝐸𝑏/𝑁0 )in dB,
number of symbols, number of bits
Initialize counter i=1
Create array of bits
Encode data by convolution code. Eq. (2-38)
Initialize counter j = 1
Apply Viterbi decoding.
Eq. (2-40), (2-41) & (2-42)
Modulate data
Compare transmitted
and demodulated data
and calculate BER
Split source among 𝑛 𝑇 transmitters
Add the Rayleigh fading effect to the
transmitted data. Eq. (2-3)
Yes
i ≤ (𝐸𝑏/𝑁0 )?
No
Apply (ZF, MMSE, ML) detection.
Eqs. (2-24), (2-29) & (2-33)
End
Yes
j ≤ Number of bits ?
No
Figure (3-7): The SM with CC algorithm
04
Chapter three: The system Models
2015
3.5 The proposed SM- LDPC
In this work it has been proposed to insert the LDPC code with SM to
support its performance. Number of iterations in LDPC decoder play
significant role to reduce the BER by increasing the reliable decision of
iteration. This leads to more delay time that makes this system unsuitable
for real time applications.
To reduce the number of iterations of LDPC decoder, special parity
check matrix size is designed with
, three 1s in each row, six
1s in each column and 1/2 code rate is used. Binary Phase Shift Keying
(BPSK) is used as better type of modulation that can reduce the noise.
It is worth mentioning here that this system is special design in order
of simulation to investigate SM with LDPC codes and show the results of
this combination as a sample with only 2x2 antennas the other parameters
that will be explained later in chapter four. The results achieve to evaluate
the performance of proposed system. Building on such results it can be
suggested designing the same system with higher number of antennas and
higher modulation order. The system used for such simulation SM with
LDPC system is shown in Figure (3-8).
Source of
information
PSK
modulation
LDPC
encoder
Spatial
multiplexing
Flat Fading
Channel
LDPC
decoder
Sink
Spatial
multiplexing
detection
PSK
demodulation
Figure (3-8) system model spatial multiplexing with LDPC code
04
Chapter three: The system Models
2015
3.5.1 LDPC encoder
The LDPC encoder adds the redundancy bits to the data by using some
constraints according to the data. The parity check matrix of an LDPC
code comprises bit nodes and
check nodes.
3.5.2 LDPC decoder
The decoding process of LDPC decoder is used the message passing
algorithm. Iteration is applied between bit nodes and check nodes to
compute the message by rounding each value of message passing from
each bit node to all adjacent bit nodes. Another round of information
passing from each check node to all adjacent bit nodes
The iteration is included each demodulator in addition to decoder. So that
soft decision demodulator is used in order to complete the demodulation
within iteration.
3.5.3 Iterative decoding and demodulation
In this research it has been used feedback between iterative decoding
and detection to demodulate the received data from the channel as shown
in Figure (3-9) For LDPC coded MIMO system with ZF detector, it has
been computed the input of LDPC decoder according to the expression
given. Two types of iterations in this scheme; the first one is between
decoder and detector, and the second is within the decoder itself. As it is
known that by increasing the number of iterations the performance of
LDPC coded system can be enhanced. But, the computational complexity
will increase largely for high numbers of antennas.
LDPC
Input data
Encoder
coded data
Modulator
coded symbols
MIMO
BP
Decoded data
Decoder
Detection
Receive data
Channel
Figure (3-9): LDPC code with iterative decoding and detection
03
Chapter three: The system Models
2015
Figure (3-10) shows the algorithm for SM with LDPC system; which is
used to obtain the BER of SM with LDPC communication systems.
Start
Inputs 𝑛 𝑇 ,𝑛𝑅 , Order of
modulation, (value of
SNR), number of symbols,
number of bits
Initialize counter i=1
Apply (ZF, MMSE,
ML) detection. Eqs. (224), (2-29) & (2-33)
Create array of bits
Encode data by LDPC
code. Eq. (2-43), (2-44)
& (2-45)
Yes
j ≤ Number of
bits ?
No
Initialize counter j = 1
Apply LDPC decoding. Eq.
(2-52), (2-53) & (2-54)
Modulate data
Compare transmitted and
demodulated data and
calculate BER
Split source among 𝑛 𝑇
transmitters
Yes
Add flat fading effect to the
transmitted data
i ≤ SNR?
No
End
Figure (3-10): SM with LDPC system algorithm
44
Chapter Four: Simulation Results
2015
Chapter Four
Simulation Results
4.1 Introduction
This chapter presents the results obtained from the simulations that
applied on the systems. The first one is the evaluation of STBC
capabilities. The second system is SM without any code and then using
the convolution code with this system and finally evaluates the proposed
system which consists of LDPC code inserted with SM. All simulations
are carried out using Matlab package version R2013a. The results are
represented by Bit Error Rate (BER) versus SNR.
4.2 Simulation of STBC
The first simulation is applied on STBC to evaluate such system by
varying the number of transmitted and received antenna also with various
modulation orders.
4.2.1 STBC with various numbers of antennas
The first one is used 2x2, 3x3 and 4x4 antennas with modulation order
of BPSK. Figure (4-1) shows the results of STBC with the variation
number of antennas (2x2, 3x3 and 4x4).
It is noted from Figure (4-1) that the improvement in the Signal to
Noise Ratio (SNR) is 3.5 dB between 2x2 and 3x3 based on BER of 10-4,
while the difference between 2x2 and 4x4 is 7 dB.
The level of modulation also affects the BER as will be seen in the next
section. The BER is heightened when the level of modulation order is
increased. It is also noted the BER is better as the number of antennas
15
Chapter Four: Simulation Results
2015
increased but the problem in the system complexity. Therefore, the 2x2
and 3x3 systems are investigated from simplicity point of view.
0
10
2x2
3x3
4x4
-1
10
-2
BER
10
-3
10
-4
10
1
2
3
4
5
6
7
8
9
10
11
12
SNR (dB)
Figure (4-1): BPSK modulation for (2x2, 3x3, 4x4) MIMO communication systems.
4.2.2 STBC with various order of modulation
From the results of previous subsection the 2x2, 3x3 give good results of
BER and the complexity is acceptable so that it have been used for this
subsection with various level of modulation order.
Figure (4-2a) and (4-2b) show the performance of STBC with
modulation order of (BPSK, QPSK, 8-PSK, 16-PSK and 32-PSK) for 2x2
and 3x3 number of antennas respectively. It is obvious from the Figures
(4-2a&4-2b) that BPSK scheme give better result (Based on 10 -4). The
BPSK with 2x2 get BER (10-4) at 10.5 dB of SNR, while the performance
is degrade when the level of modulation order is increased, where the
QPSK get the same BER at 13.5 dB, 8-PSK get 10-4 BER at 19.5 dB, 16PSK get 10-4 BER at 24 dB and 32-PSK at 28 dB caused the same BER.
For (3x3) STBC the results are enhanced compared with 2x2 scheme.
15
Chapter Four: Simulation Results
2015
0
10
2x2 32-PSK
2x2 16-PSK
2x2 8-PSK
2x2 QPSK
2x2 BPSK
-1
10
-2
BER
10
-3
10
-4
10
-5
10
5
10
15
20
25
30
SNR (dB)
Figure (4-2a) (2x2) STBC with different modulation
0
10
3x3 32-PSK
3x3 16-PSK
3x3 8-PSK
3x3 QPSK
3x3 BPSK
-1
10
-2
BER
10
-3
10
-4
10
-5
10
5
10
15
20
25
SNR (dB)
Figure (4-2b) (3x3) STBC with different modulation
It is known that increasing the modulation order lead to increasing the
data rate of system, while this research motivates to present a system with
high data and acceptable (BER) and complexity.
15
Chapter Four: Simulation Results
2015
From the above results it has been shown that the STBC gives good
performance by increase the number of antennas which leads to increase
the complexity with fixed data rate.
Also when trying to increase the data rate by increasing the modulation
order it is shown that the bit error rate is increased with high level of
modulation. So that it has been attempted other schemes that response to
high data rate with low complexity like SM.
SM scheme become the primary tool to increase capacity significantly,
multiple antennas is used to achieve spatial multiplexing gain and
increase the capacity of wireless links. On comparing the capacity of the
SISO, STBC and SM, the figure shows the SM give better results. From
practical point of view (Based on 12 dB) the capacity of SM increase by
(3 bits/sec./HZ) as compared with STBC system as shown in Figure (4-3).
If the high values of SNR are considered, it remain that SM give better
results, therefore it is planned to achieve low complexity at low SNR
values.
35
2x2 MIMO
2x2 STBC
SISO
Capacity (Bits/second/HZ)
30
25
20
15
10
5
0
0
5
10
15
20
25
30
35
40
45
SNR(dB)
Figure (4-3): Comparison between the capacity of STBC, SM and SISO
15
Chapter Four: Simulation Results
2015
It is clear that the data rate of MIMO is better than of data rate for
STBC and SISO, but the side effect of SM is the high BER as compared
with the BER of STBC as shown in Figure (4-4)
0
10
SM 2x2 BPSK
STBC 2x2 BPSK
-1
10
-2
BER
10
-3
10
-4
10
5
10
15
20
25
30
SNR (dB)
Figure (4-4): Comparison between the BER of STBC and BER of SM
From Figure (4-4) shows that the gain between SM and STBC 17 dB of
SNR at 10-4 BER.
4.3 The simulation of SM system
In this subsection the performance of SM will be evaluated with various
detection schemes (ZF, MMSE and ML) without any additional code.
Also the number of antenna is varied (2x2) and (4x4) in addition the
modulation order also varied (BPSK, QPSK, 8-PSK, 16-PSK, 32-PSK)
4.3.1 SM with various number of antennas without code
In this subsection the number of antennas is (2x2) and (4x4) while
using three types of detection that mentioned above with BPSK. Figure
(4-5) shows the relation of BER and SNR for different schemes.
11
Chapter Four: Simulation Results
2015
-1
10
ZF 2x2
MMSE 2x2
ZF 4x4
MMSE 4x4
ML 2x2
ML 4x4
-2
BER
10
-3
10
-4
10
5
10
15
20
25
SNR(dB)
Figure (4-5): SM of 4x4 and 2x2 with BPSK
The results show that the ML get better performance than the types of
detections. It gets gain between 2x2 and 4x4 8 dB of SNR at 10-4 (BER).
While ZF and MMSE get gains 9 dB of SNR and 1 dB of SNR at 10-4
(BER) respectively. Now the same parameters are applied for such
system but increase the modulation order to (QPSK, 8-PSK, 16-PSK).
Figures (4-6), (4-7), (4-8) illustrate the results.
-1
10
ZF 2x2
MMSE 2x2
ZF 4x4
MMSE 4x4
ML 2x2
ML 4x4
-2
BER
10
-3
10
-4
10
5
10
15
20
25
SNR(dB)
Figure (4-6): SM of 4x4 and 2x2 with QPSK
15
Chapter Four: Simulation Results
2015
0
10
ZF 2x2
MMSE 2x2
ZF 4x4
MMSE 4x4
ML 2x2
ML4x4
-1
10
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
35
SNR(dB)
Figure (4-7): SM of 4x4 and 2x2 with 8-PSK
Now the same parameters are applied for such system but increase the
modulation order, Figure (4-8) shows the effect of increasing the
modulation order to (16-PSK).
0
10
ZF 2x2
MMSE 2x2
ZF 4x4
MMSE 4x4
ML 2x2
ML 4x4
-1
10
-2
BER
10
-3
10
-4
10
5
10
15
20
25
30
SNR(dB)
Figure (4-8): SM of 4x4 and 2x2 with 16-PSK
15
35
Chapter Four: Simulation Results
2015
It can be noted that the BER is increased by increasing the modulation
order with all types of detections. The ML is still better one in this
simulation but as it is known such type of detection increase the
complexity exponentialy with number of antennas, the amount of
complexity with ML is increased by
[28] where
and
represent
a set of signal constellation symbol points and a number of transmit
antennas, respectively. So that the complexity will be unacceptable for
modern communication.
ZF is the simplest one with very low complexity but the performance is
unacceptableas it is clear from all above results, therefore in this research
it has been suggested to use this type of detection for acceptable
complexity but decreasing the BER by using additional channel code.
4.3.2 The simulation of SM with convolution code
In this subsction the channel code is inserted with (SM). For the above
reasons it has been suggested in this research to adopt ZF detection for
simplicity and without delay time. To support its performance, simple
scheme of CC will be added to the system to treat the degradation in BER
of ZF. The following simulation is applied to the proposed system model
shown in Figure (3-5).
4.3.3. The simulation of ZF with CC compared with ML without CC
Befor going ahead in details of analysing the results of such case study,
it is necessary to compare the performance of ML without CC and ZF
with CC. Figure (4-9), (4-10) and (4-11) illustrate such comparison.
Figure (4-9) shows the performance of ML without CC and ZF with CC
for 2x2 system.
15
Chapter Four: Simulation Results
2015
0
10
ML SM 2x2
ZF SM&CC 2x2
-1
BER
10
-2
10
-3
10
-4
10
0
2
4
6
8
10
12
14
16
18
20
22
24
26
SNR(dB)
Figure (4-9): Comparison between ML without CC and ZF with CC for 2x2
schemes 16-PSK
Figure (4-9) shows the BER of ZF with CC is lower than the BER of ML
without CC this lead to depend ZF with Channel Code for simplicity.
Figure (4-10) and Figure (4-11) show the effect of increasing the number
of antennas.
0
10
ML SM 3x3
ZF SM&CC 3x3
-1
BER
10
-2
10
-3
10
-4
10
0
2
4
6
8
10
12
14
16
18
SNR(dB)
Figure (4-10): Comparison of ZF with CC and ML without CC for 3x3 schemes
16-PSK
15
Chapter Four: Simulation Results
2015
0
10
ML SM 4x4
ZFSM&CC4x4
-1
BER
10
-2
10
-3
10
-4
10
0
2
4
6
8
10
12
14
16
18
SNR(dB)
Figure (4-11): Comparison of ZF with CC and ML without CC for 4x4 scheme
From Figures (4-9), (4-10) and (4-11) it found that increasing the
number of antennas at transmitter and receiver will decrease the BER,
where the ZF of SM with convolution code needs 11.8 dB to achieve 10-4
BER in Figure (4-11), while 15 dB to achieve 10-4 BER in Figure (4-9).
It is noted that significant improvement in the performance of ZF with
CC, but as it is known redundance information will added to the origin
bits which caused degredation in the speed of data rate, so that the user
must be tradeoff between complexity and data rate. However it can be
reduce such degredation by increasing the code rate of CC as we will be
shown later.
4.3.4. The simulation of ZF with and without CC
Now the simulation is done for ZF with and without CC. Figure (4-12)
shows the results of using ZF decoder. The mode order here is equal to 1
or BPSK modulation.
56
Chapter Four: Simulation Results
2015
0
10
ZF 2x2 SM
ZF 3x3 SM
ZF 4x4 SM
ZF2x2 SM&CC
ZF3x3 SM&CC
ZF 4x4 SM&CC
-1
10
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
SNR (dB)
Figure (4-12): ZF decoder with BPSK and various antenna schemes
In this case the 10-4 BER can be achieved at 4dB of SNR for the curve
of (4x4) ZF with CC and the code gain between the red curves is exceed
15 dB which make such system is optimum for very low SNR. If the
mode order is increase up to (2) mod order or QPSK is used as shown in
Figure (4-13), the BER of 10-4 is increase to 6 dB
0
10
ZF
ZF
ZF
ZF
ZF
ZF
-1
10
SM 2x2
SM 3x3
SM 4x4
SM&CC 2x2
SM&CC 3x3
SM&CC 4x4
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
SNR(dB)
Figure (4-13): ZF decoder with QPSK and various antenna schemes
55
Chapter Four: Simulation Results
2015
The following steps are repeated for the same system with mode order 3
and 4 or 8PSK and 16PSK respectively, which means increasing the data
rate. As shown in Fig. (4-14) and (4-15) the system is still robust for high
data rate. For 4x4 antennas scheme with CC the 10-4 BER can achieved at
9 and 11.7 dB of SNR for 3 and 4 mode orders respectively.
Note that although the performance is improved using CC with ZF
decoder, but the BER increases at low SNR, this phenomenon seems
clear whenever the mode order is increase
0
10
ZF
ZF
ZF
ZF
ZF
ZF
-1
10
SM 2x2
SM 3x3
SM 4x4
SMCC 2X2
SMCC 3X3
SMCC 4X4
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
35
40
SNR (dB)
Figure (4-14): ZF decoder with 8-PSK and various antenna schemes
As shown in Figure (4-15) for 16-PSK, note that the BER becomes
larger than the BER in the case of ZF witout code, this is the drawback of
such system or the payment versus the profit of previous gain.
55
Chapter Four: Simulation Results
2015
0
10
2x2
3x3
4x4
2x2
3x3
4x4
-1
10
SM
SM
SM
SM&CC
SM&CC
SM&CC
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
35
SNR (dB)
Figure (4-15): ZF decoder with 16-PSK and various antenna schemes
Table 4.1 shows the summary of the results of the proposed system.
SNR for 10-4 BER
2x2
3x3
4x4
No. of antennas
ZF
without
code
ZF
with
code
ZF
without
code
ZF
with
code
ZF
without
code
ZF
with
code
BPSK
28 dB
6 dB
26 dB
4 dB
20 dB
3 dB
QPSK
29dB
8.5 dB
25 dB
7 dB
22 dB
6 dB
8-PSK
35dB
11.5dB
31dB
10.5dB
28.5dB
9 dB
16-PSK
35 dB
15 dB
32 dB
13.5 dB
29.6 dB
12 dB
Mode order
4.3.5 Simulation of SM with CC at code rate 2/3
It must pointed out here that code rate of convolution code used in all
previous simulations was 1/2, that means the information bits is doubled
with redundancy which reduces the data speed to half but the gain reduce
the SNR significantly.
55
Chapter Four: Simulation Results
2015
To reduce the redundancy information added by CC, it can increase the
data rate of such code. It has been tested this idea for proposed system,
Figure (4-16) shows the results which shows that the code gain is reduced
significantly.
In addition the previous phenomenon becomes worst because the error
is more than previuos case. As it is obvious from Figure (4-16) befor 10
dB of SNR the error with CC is more than error without code which make
such code constitute a burden on the system. But it can reduce the effect
of such phenomenon by increasing the number of antennas, as shown in
Figure (4-16) the effect is reduced significantly for 5x5 antennas. Hence
the importance of the use of MIMO system to increase the data rate with
suitable reliability so that this research adopts such technique because it is
efficient without more spectrum and complexity.
0
10
ZF
ZF
ZF
ZF
ZF
ZF
ZF
ZF
-1
10
SM 2x2
SM 3x3
SM 4x4
SM 5x5
SMCC 2X2
SMCC 3X3
SMCC 4x4
SMCC 5x5
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
30
35
SNR (dB)
Figure (4-16): SM with CC of 2/3 code rate compared with SM without CC 16-PSK
The summarized of comparison between results of code rate 1/2 and code
rate 2/3 is listed in table (4.2).
55
Chapter Four: Simulation Results
2015
Table (4.2): Summarized of comparison results
SNR for 10-4 BER
Number of antenna
2x2
3x3
4x4
Mod order
16-PSK
ZF for
SM&CC
With code rate
1/2
ZF for
SM & CC
With
code
rate 2/3
ZF for
SM&CC
With
code
rate 1/2
ZF for
SM &CC
With
code
rate 2/3
ZF for
SM&CC
With
code
rate 1/2
ZF for
SM & CC
With
code
rate 2/3
15dB
19dB
13.5dB
18dB
12dB
16dB
4.3.6 The simulation of SM with CC for different constraint length
In this subsection it is discussed the relationship between the
capability's convolution code on reducing the probability of erroneous
and his complexity with constraint length, where reducing the constraint
length leads to increase the BER and fewer complexity [43]. Figure (417) shows the BER of SM with CC with constraint length equals 7, 5 and
constraint length equals 3.
0
10
cl=3
cl=5
cl=7
-1
10
-2
BER
10
-3
10
-4
10
0
5
10
15
20
SNR(dB)
Figure (4-17): Comparison between ZF of SMCC with constraint length =7, ZF of
SMCC with constraint length =5 and ZF of SMCC with constraint length =3.
51
Chapter Four: Simulation Results
2015
Here the number of antennas and the order of modulation are 2x2 and
BPSK respectively, with code rate 2/3. It is obvious that the gain between
ZF of SMCC for constraint length = 7 ZF of SMCC for constraint length
= 3 is 6 dB of SNR to achieve 10-4 (BER)
4.4 The simulation of LDPC code
This simulation is applied on LDPC code only and LDPC code with
MIMO system to evaluate such systems by varying the number of
iteration also comparing the results of SM without code, SM with
convolution code, LDPC code –only and LDPC - MIMO.
4.4.1 Simulation of LDPC code only
The first one is used LDPC - only with BPSK. Figure (4-18) shows the
results of LDPC – only with several iterations.
0
10
LDPC-only, iteration=1
-1
10
LDPC-only, ierationt=2
LDPC - only, iteration=3
LDPC-only, iteration=4
LDPC-only, iteration=5
-2
10
-3
BER
10
-4
10
-5
10
-6
10
-7
10
6
6.5
7
7.5
8
SNR(dB)
8.5
9
9.5
10
Figure (4-18): LDPC – only with different iteration
It is obvious that from Figure (4-18) that the all curves coincides as the
number of iteration increased (i.e. above 5)
55
Chapter Four: Simulation Results
2015
4.4.2 Simulation of LDPC code with MIMO systems
The last simulation is applied on LDPC code with MIMO system and
has been compared with LDPC code – only, SM without code, SM with
CC (constraint length = 3), SM with CC (constraint length = 5) and SM
with CC (constraint length = 7). Figure (4-19) shows the comparison
between them.
It is clear that the LDPC – MIMO has the best result, Figure (4-19)
shows that the gain between LDPC – MIMO and LDPC – only is 2 dB of
SNR at 10-4 BER, while LDPC – MIMO getting gain of 10 dB of SNR as
compared with SM with convolution code (constraint length = 3) to
achieve the same BER. It has gain 3dB of SNR as compared with SM
with convolution code (constraint length = 7) to achieve 10-4 (BER),
where at 7dB of SNR the LDPC – MIMO is achieved 10-4 (BER) while
the SM with convolution code (constraint length = 7) is achieved 7x10-3
of BER.
0
10
ZF SM 2x2
ZF SMCC 2x2 cl=3
ZF SMCC 2x2 cl=5
ZF SMCC 2x2 cl=7
LDPC-only
LDPC-MIMO 2x2
-1
10
-2
BER
10
-3
10
-4
10
0
5
10
15
20
25
SNR(dB)
Figure (4-19): The LDPC – MIMO with LDPC – only, SM without code and
SM with code
55
Chapter Four: Simulation Results
2015
The researchers in [24] have been used LDPC code with MMSE
decoder; as compared with convolution code they achieved 3 dB gains
over convolution code for 2x2 MIMO at 10-3 BER. In contrast with this
thesis the results here confirm that 5 dB with 3 constraint length and 3 dB
with 7 constraint length at same BER of [24], which confirms that such
scheme gives good results as compared with research like this work. On
the other hand, the expected complexity is better than previous work
because the decoder ZF compared with MMSE used in research [24].
Table (4-3) shows the summarized of the simulation parameters of LDPC
- MIMO systems.
Parameters
value
Number of bits used for transmission
MIMO
Encoding
LDPC
Code word size
Number of parity bits in a code word
Total number of bits in a code word
Number of 1s in each row per sub matrix
Code rate
Modulation
BPSK
Channel model
AWGN + Flat Fading
detection
ZF
Decoding
iterative decoding with BP
Maximum iteration
4.5 The discussion of results
The results of all previous simulations show that there are multiple
indications can be discussed in the field of MIMO systems as following:
55
Chapter Four: Simulation Results
2015
1. For STBC it can be achieved a significant gain using this
technique, it is clear that by increasing the number of antennas lead
to more gain can be obtained with fixed amount of data rate. Where
the gain between (2x2) and (4x4) is 7 dB at 10-4 BER. To increase
data rate with high modulation order the BER will increase.
2. For SM three techniques of detection (ZF, MMSE, ML) are used,
the results show that ML gives better performance especially when
increase modulation order and/or number of antenna, but the
complexity become huge amount for high modulation order and
high number of antennas.
3. One of important aims of this work is to reduce the complexity of
proposed system; it has been choice the ZF as suitable techniques
in the side of complexity. On the other hand, the performance of
ZF is the worst. As compare MMSE and ML. to address this
problem it has been proposed to use channel code in addition to
ZF. The results show that convolution code with ZF as detection of
SM gives significant gain as compare as ML of SM without code.
The result clear that 10 dB gain can achieved using convolution
code in the case of 2x2 antennas, but this gain is reduce by
increasing the number of antennas.
4. by comparison such techniques with various number of antennas
and multi-level of modulation order, the results show that the
convolution code is still robust with various schemes but it is noted
that this scheme very poor at low SNR especially with high level of
modulation order.
5. The problem of high redundancy can be addressed by increasing
the code rate of convolution code, in this work it has been used 2/3
instead of 1/2 code rate the results are still is better case.
55
Chapter Five: Conclusions and Suggestion for Future Work
2015
Chapter Five
Conclusions and Suggestion for Future Work
5.1 Conclusions
Based on the observation of the results, we conclude the following:
1- Using STBC, it can be achieved low BER with relatively low SNR by
increasing number of transmitted and or received antennas. In this research
the adopted BER is 10-4 (for practical applications), it can be achieved at 3.5
dB for 4x4 antennas, so by increasing more antennas, it can be reached very
low SNR.
2- For STBC when trying to raise the data rate by increasing the order of
modulation. This system is still relatively stable when modulation order goes
up from BPSK to QPSK (i.e. doubled data rate) with slight increase in SNR
(adding 2dB more). But more degradation with high modulation order.
3- The results clear out that SM can get two benefits, increasing data rate
linearity with increased number of antennas, also significant improvements
in BER. In this research about 9 dB gain between 2x2 and 4x4 for BPSK if
ML is adopt, with reservations on the complexity associated with ML at high
number of antennas. But in this research it has been adopted ZF decoder for
less complexity.
4- ZF decoder with its low complexity can be supported by adding CC. in
comparison with ML decoder which get better BER the ZF is outperform
ML in all levels of modulation, but the payments is the redundancy
information added by CC which reduced the data rate according to code rate.
07
Chapter Five: Conclusions and Suggestion for Future Work
2015
5- The performance of SM-CC can be improved by increasing the constraint
length but additional payments will occur because the complexity of CC
came from increasing the constraint length in the encoder and decoder in
addition to delay time.
6- Better performance can be achieved for LDPC decoding by designing
special and suitable parity check matrix which leads to low BER at only 5
iterations.
7- The proposed system SM-LDPC is outperformed SM-CC by 5 dB at 10-4
BER, in spite of using long constraint length of CC. Also the proposed
structure contains ZF as a decoder which make it less complexity. An
addition using only 5 iteration for LDPC decoding makes such scheme
efficient and suitable for real time communication applications.
5.2 Suggestions for future works
This research can be extended in future including the following suggestion:
1- Extend the LDPC decoder for up modulation order and high number of
antennas, but this leads to special structure and more complex computations
for very large matrices of simulations.
2- Implementation of proposed system of this research using Field Programing
Gate Array (FPGA) for the purpose to approaching reality.
07
References
2015
References
[1] M. Shahid "Modeling, Simulation and Performance analysis of
(MIMO) systems with multicarrier time delay diversity
modulation"
M.Sc.
Thesis.
Naval
Postgraduate
School
September 2005
[2] J. Fitzpatrick "Simulation of (MIMO) wireless system" Dublin
City University School of Electronic Engineering, April 2004
[3] O. Roy "Optimal Estimator-Detector Receivers for Space-Time
Block Coding" Master thesis, School of Computer and
Communications Sciences (I&C). March 2004
[4] A. G. Wadday, S. A. Alseyab, A. S. Abdullah "Capacity
Improvement of Space Time Block Code Spatial Modulation
for Three Transmit Antennas" (IJIPM) Volume3, Number1.
January 2012
[5] C. C. Chiau "Study of the Diversity Antenna Array for the
MIMO Wireless Communication System" Ph.D. thesis,
Department of Electronic Engineering Queen Mary, University
of London, April 2006.
[6] A. Vadhera and L. Kansal "BER analysis of 2X2 MIMO SM
under AWGN and Rician channels for different modulations
techniques" (IJWMN) Vol. 5, No. 5, pp 85-98, October 2013.
[7] J. C. Moreira, P. G. Farrell "Essentials of error-control coding"
The British Library, 2006
[8] B. Gupta and D. S. Saini "Performance of Concatenated
Optimized Irregular LDPC Code with Alamouti Coded MIMOOFDM Systems" Wseas transaction Son Communications,
Issue 5, Volume 12, pp 208-218, May 2013.
[9] P. Suthisopapan, K. Kasai, V. Imtawil, and A. Meesomboon, "
27
References
2015
Approaching Capacity of Large MIMO Systems by Non-Binary
LDPC Codes and MMSE Detection", IEEE International
Symposium on Information Theory Proceedings, pp 17121716, 2012 (IVSL).
[10] F. Chan and D. Haccoun "Adaptive Viterbi Decoding of
Convolutional Codes over Memoryless Channels" IEEE
Transactions on communications, Vol. 45, No. 11, pp 13891400, November 1997
[11] R. G. Gallager "Low-Density Parity-check codes" Number 21
in Research monograph series. MIT Press, Cambridge, Mass,
1963
[12] D. J. C. MacKay and R. M. Neal, “Near Shannon limit
performance of low density parity check codes,” Electronics
Letters, vol. 32, no. 18, pp. 1645-1646, Aug. 1996.
[13] N. Mobini " New Iterative Decoding Algorithms for LowDensity Parity-Check (LDPC) Codes" Ottawa-Carleton Institute
for Electrical and Computer Engineering, M.Sc. Thesis, August,
2011
[14] B. Vucetic and J. Yuan "Space-Time Coding" John Wiley &
Sons, British Library Cataloguing in Publication Data,
TK5102.92.V82 2003.
[15] J. Garg, K. Gupta and P. K. Ghosh "Performance Analysis of
MIMO Wireless Communications over Fading Channels"
International Journal of Advanced Research in Electrical,
Electronics and Instrumentation Engineering Vol. 2, Issue 4, pp
1272- 1302, April 2013
[16] H. H. Tang and M. C. Lin "On
Convolutional Codes
With Low Trellis Complexity" IEEE Transactions on
27
References
2015
communications, Vol. 50, No. 1, pp 37- 47, January 2002
[17] A. Shokrollahi "LDPC Codes: An Introduction" April 2, 2003
[18] F. Heliot " Design and Analysis of Space-time Block and
Trellis
Coding
Communications
Schemes
Systems",
for
Ph.D.
Single-Band
Thesis,
Centre
UWB
for
Telecommunications Research, Department of Electronic
Engineering, King’s College London, May 2006.
[19] A. S. Hiwale and Dr. A. A. Ghatol "Capacity and Performance
Analysis of Space-Time Block Codes in Rayleigh Fading
Channels", wseas Transactions on Communications. Issue 12,
Volume 6, pp 861- 866, December 2007.
[20] N. Yang "A family of space-time blocks codes for wireless
communications", Electrical Engineering Dissertations. IRIS
Northeastern University, January 01, 2008.
[21] L. G. Ordonez, "Performance Limits of Spatial Multiplexing
MIMO Systems", Ph.D. Thesis, Technical University of
Catalonia, 2009.
[22] D. K. Sharma, A. Mishra & Rajiv Saxena "Analog & Digital
Modulation Techniques" TECHNIA International Journal of
Computing Science and Communication Technologies, ISSN
0974-3375, VOL. 3, NO. 1, pp 551- 561, July 2010.
[23] I. G. P. Astawa, Y. Moegiharto, A. Zainudin, I. D. A. Salim and
N. A. Anggraeni "Performance Analysis of MIMO-OFDM
Using Convolution Codes with QAM Modulation" International
Journal
of
Electrical,
Computer,
Electronics
and
Communication Engineering Vol.7, No.12, pp 1254- 1257,
2013
[24] T. Deepa and R. Kumar "Performance Evaluation of LDPC
27
References
2015
Coded
MIMO
Transceiver
with
Equalization"
IEEE.
International Conference on Recent Trends in Information
Technology (ICRTIT), pp 147 -151, 2013. (IVSL)
[25] A. Tripathi, K. Arora " Different Channel coding techniques in
MIMO-OFDM"
IOSR
Journal
of
Electronics
and
Communication Engineering (IOSR-JECE), Volume 9, Issue 5,
Ver. 1, PP 65-68, Sep - Oct. 2014.
[26] A. Haroun, C. A. Nour , M. Arzel
and C. Jego "Low-
Complexity layered BP-based Detection and Decoding for a
NB-LDPC Coded MIMO System" Wireless Communications
Symposium, pp 5107- 5112, IEEE ICC 2014. (IVSL)
[27] Z. Lijun, L. Bing and C. Leelung "Construction of Type-II QC
LDPC Codes Based on Perfect Cyclic Difference Set" Chinese
Journal of Electronics, Vol.24, No.1, pp 147- 151, Jan. 2015.
[28] Y. S. Cho, J. Kim, W. Y. Yang, C. G. Kang " MIMO-OFDM
wireless communications with MATLAB" Library of Congress
Cataloging, 2010.
[29] M. Myllyla "Detection Algorithms and architectures for
wireless Spatial Multiplexing in MIMO-OFDM systems"
University of Oulu, 2011.
[30] N. Prabakaran, Dr. K. S. Shaji " Performance Analysis of
downlink MIMO in 2X2 mobile WIMAX system" Indian
Journal of Computer Science and Engineering, Vol. 3, No.6, pp
835- 838, Dec 2012-Jan 2013
[31] L. G. Ordonez, D. P. Palomar, and J. R. Fonollosa " On the
Diversity, Multiplexing, and Array Gain Tradeoff in MIMO
Channels" ISIT, Austin, Texas, U.S.A, pp 2183-2187, IEEE,
2010.
27
References
2015
[32] A. Paulraj, R. Nabar, D. Gore "Introduction to Space – Time
Wireless Communications" Cambridge University Press, 2003.
[33] M. Jankiraman "Space-Time Codes and MIMO Systems"
Library of Congress Cataloging, 2004.
[34] E. G. Larsson and P. Stoica "Space-Time Block Coding for
Wireless Communications" Cambridge University Press 2003.
[35] C. E. Shannon "A Mathematical Theory of Communication"
The Bell System Technical Journal, Vol. 27, PP. 379.423,
623.656, July, October, 1948.
[36] M. B. Abchuyeh "Multilevel Space-Time Trellis Codes for
Rayleigh fading channels", M.Sc. Thesis, University of
Canterbury Christchurch, New Zealan.
[37] M.
Tao
"Space-Time
Coding
Schemes
for
Wireless
Communications over Flat Fading Channels" Ph.D. Thesis, The
Hong Kong University of Science and Technology, June 2003.
[38] N.
Morinaga,
R.
Kohno
and
S.
Sampei
"Wireless
Communication Technologies: New Multimedia systems"
Kluwer Academic Publishers New York, Boston, Dordrecht,
London, Moscow, 2002.
[39] N. Costa and S. Haykin " Multiple-Input, Multiple-Output
channel models" Library of Congress Cataloging, IEEE, 2010.
[40] S. M. Alamouti "A Simple Transmit Diversity Technique for
Wireless Communications" IEEE Journal on select areas in
communications, vol. 16, No. 8, pp 1451-1458, October 1998.
[41] M. Drieberg, Y. Kuan and V. Jeoti, "A Simple Channel
Estimation Method for MIMO-OFDM in IEEE 802.16a", IEEE,
pp. 585-588, 2004 [IVSL].
[42] A. Hadi, “MIMO System over Wireless Mobile Radio Channel
27
References
2015
Using FPGA”, M. Sc. Thesis, Deptartment of Electrical
Engineering, University of Technology, August, 2011.
[43] I. Basturk, "Iterative Channel Estimation Technique For
Multiple Input Multiple Output Orthogonal Frequency Division
Multiplexing Systems", M. Sc. Thesis, Dept. of Electrical and
Electronics Engineering, Izmir Institute of Technology, July,
2007.
[44] A. Neubauer, J. Freudenberger and V. Kuhn "Coding Theory
Algorithms, Architectures, and Applications" British Library
Cataloguing, 2007.
[45] P. Elias, "Coding for noisy channels," in 1055 IRE Nat Conv.
Rec., Vol. 3, pt. 4, pp; 37-46,1955.
[46] A. Kumar, P. Tripathi, Amrita "Performance Evolution of
MIMO-OFDM System with Efficient Coding" International
Journal Of Engineering Research & Management Technology
IJERMT, Volume-1, Issue-2, pp 349 -352, March- 2014.
[47] Neha, G. M. Rather "Convolution error control coding"
Proceedings of 18th IRF International Conference, pp 57-60,
11th January 2015.
[48] A. R. S. Bahai, B. R. Saltzberg and M. Ergen "Multi-Carrier
Digital Communications Theory and Applications of OFDM"
Springer Science + Business Media, Inc., 2004.
[49] A. J. Viterbi "Convolutional Codes and ’Their Performance in
Communication
Systems"
IEEE
Transactions
on
Communications technology, Vol. Com-19, No. 5, pp 751-772,
October 1971.
[50] S. S. Wang "A State-Reduction Viterbi Decoder for
Convolutional Codes with Large Constraint Lengths" MS.C.
Thesis, Department of Communications Engineering, National
22
References
2015
Chiao Tung University, June, 2002.
[51] G. Renuka "Error Performance of Decoding of LDPC over
AWGN Channel" International Journal of Emerging
Technology and Advanced Engineering, Vol. 2, Issue 6, pp 263
-271, June 2012.
[52] B. M. J. Leiner "LDPC Codes – a brief Tutorial" April 8, 2005.
[53] S. J. Johnson "Introducing Low-Density Parity-Check Codes"
ACoRN Spring School version 1.1, University of Newcastle
Australia, 2004.
[54] T. J. Richardson and R. L. Urbanke "Efficient Encoding of
Low-Density Parity-Check Codes" IEEE Transactions on
information theory, Vol. 47, No. 2, pp 638-656, February 2001.
[55] R. Singh, Aparna P "Study of LDPC Codes" International
Journal of Scientific Research Engineering & Technology
(IJSRET), ISSN 2278 – 0882, Volume 3 Issue 1, pp 64-67,
April 2014.
[56] Ch. Studer, "Iterative MIMO Decoding: Algorithms and VLSI
Implementation Aspects", PhD Thesis, ETH ZURICH, 2009.
[57] J. Liu, "Novel LDPC coding and decoding strategies: design,
analysis, and algorithms", PhD Thesis, University of York,
2012.
27
Appendix
1. The encoding of LDPC codes
Ex1. Hopping to encode the length 10 rate-1/2 LDPC code:
(
(
)
)
(
)
is put into form so that any column that contains a leading one has
zeros everywhere else
(
)
Lastly, put the parity-check matrix
column permutations
A
into standard form by using
(
)
A solution is to keep track of the column permutation used to create
,
which is
[
]
and apply the inverse permutation to each
codeword before it is
transmitted.
(
)
Finally, with parity-check matrices
and
a generator Ǧ for the
code is given by:
(
)
and by the following equation the codeword can be obtained:
Ex2. Hopping to encode the message
[
] with the same
Length 10 rate-1/2 LDPC code by using linear-time encoding for
LDPC codes:
By swap the 2-nd and 3-rd rows and 6-th and 10-th columns to obtain
[
]
B
=
[
]
with a gap of two.
Once in upper triangular format, for clear E, Gauss-Jordan elimination is
applied, which is equivalent to multiplying
[
by
]
To give
̃
[
]
[
̃
]
̃
Where
̃
And
̃
Continue to have
[
]
and
[
]
[
C
]
To give
̃
[
]
Finally, to encode using ̃ the codeword
(
), where
[
[
],
] is the
-bit message,
[
]
[
(
The codeword
(
̃
=[
]
), must satisfy the parity-check equation
̃
̃
)
and so
][
[
]
]
[ ]
As
is upper-triangular, then the bits in
can be calculated by using
back substitution.
[
]
and the codeword is
[
]
2. The decoding of LDPC code
A. Hard-decision Decoder
For illustrating the hard-decision decoder, it used a (4, 8) linear block
code. Figure 1 represented the code, its corresponding parity check matrix
D
is an error free codeword is
receive
[
] . So
[
] . Suppose
was error.
[
]
Figure 1: Belief propagation example code
The algorithm is as follow:
1. In the first step, For instance, message node
receives a 1 (
it sends a message containing 1 to check nodes
and
illustrates this step.
E
. Table 1
=1), so
Table1 Hard-decision decoder, the check nodes activities for code in
Figure1
Check
activities
nodes
→1
receive
→1
0→
send
0→
→1
receive
→1
0→
→1
1→
send
0→
→0
1→
→1
receive
→1
1→
→1
0→
send
0→
→0
0→
→0
receive
→1
1→
→1
0→
send
→0
1→
→0
1→
→0
0→
0→
2. In the second step, from using the received messages from step1 every
check nodes compute a response to their connected message nodes. In
Table1, check node
believes
to
receives
from
has (
,
from
,
from
thus it
) and sends that information back
and so on. At this point, if all the equations at all check nodes are
satisfied and the values they receive match the calculated values from the
check nodes, the algorithm finishes. If not, passing on to step 3.
3. In step 3, by majority rule to decide if the bit at their position
is
, the message nodes use the information they get from the
check nodes. The message nodes then send this hard-decision to their
associated check nodes. Table 2 illustrates this step. To do it obvious, let
look at message node
. It receives
Together with what it has
from
and
check nodes.
= , it decides that its real value is . It then
transmits this data back to check nodes
F
and
.
4. Repeat step
until either exit at step
or a maximum number of
iterations has been executed.
Table 2: Hard decision decoder, Message nodes Decisions for code of
Figure 1
Message
Messages from
check nodes
nodes
decision
1
→0
→1
1
1
→0
→0
0
0
→1
→0
0
1
→0
→1
1
0
→1
→0
0
1
→0
→1
1
0
→0
→0
0
1
→1
→1
1
G
% STBC program
clc
close all
clear all
% Define system parameters
numTx = 3; numRx =3 ; Rs = 1e6; maxDopp = 20; ...
numBits =1260; BER=0;M=32 ; snr=20;
% Create modulator and encoder System objects
% hModulator = comm.PSKModulator(16,'BitInput',true);
hMod = comm.PSKModulator(M,...
'BitInput',
true,...
'SymbolMapping', 'Gray');
hDemod = comm.PSKDemodulator(M,...
'SymbolMapping', 'Gray',...
'BitOutput',
true);
hOSTBCEnc = comm.OSTBCEncoder(...
'NumTransmitAntennas', numTx);
hOSTBCComb = comm.OSTBCCombiner(...
'NumTransmitAntennas', numTx,...
'NumReceiveAntennas', numRx);
% Create MIMO channel System object
hChan = comm.MIMOChannel(...
'SampleRate',
Rs,...
'MaximumDopplerShift',
maxDopp,...
'NumTransmitAntennas',
numTx,...
'NumReceiveAntennas',
numRx,...
'TransmitCorrelationMatrix', eye(numTx),....
'ReceiveCorrelationMatrix', eye(numRx),...
'PathGainsOutputPort',
true);
for mm=1:500
mm
% Create AWGN channel System object
for SNR=1:snr
hAWGN = comm.AWGNChannel(...
'NoiseMethod',
'Signal
(SNR)',...
'SNR',SNR,...
'SignalPower', 1);
to
% Generate data
data = randi([0 1], numBits, 1);
% Modulate data
modData = step(hMod, data);
% Encode modulated data using OSTBC
encData = step(hOSTBCEnc, modData);
% Transmit through Rayleigh and AWGN channels
noise
ratio
[chanOut, pathGains] = step(hChan, encData);
rxSignal = step(hAWGN, chanOut);
% Decode and demodulate received signal
decData
=
step(hOSTBCComb,
rxSignal,
squeeze(pathGains));
receivedData = step(hDemod, decData);
% Compute number of bit errors in received data
[ errors, rate] = biterr(data, receivedData);
rate1(SNR)=rate;
%
fprintf(1, ['\nThere were %d errors in the received
signal ' ...
%
'out of %d bits transmitted\n'], errors,
length(data));
end
BER=BER+rate1;
end
BER=BER/mm;
SNR=1:snr;
semilogy(SNR,BER);
axis([1, snr, 10^-5,1])
xlabel('SNR');
ylabel('BER');
% xlabel('SNR(dB)');
% ylabel('BER');
% This program is to simulate spatial multiplexing with
Convolutional code
clc
clear all
close all
N = 2;
% Number of Transmit antennas
M = 2;
% Number of Receive antennas
nn=20;
% value of snr
EbNoVec = 0:nn;
% Eb/No in dB
modOrd = 1;
% constellation size = 2^modOrd
numSym = N;
% number of symbols
% Create a local random stream to be used by random number
generators for
% repeatability.
hStr = RandStream('mt19937ar');
% Get all bit combinations for ML receiver
bits = de2bi(0:2^(modOrd*N)-1, 'left-msb')';
% Split them per Transmit antenna
b = zeros(N, modOrd, length(bits));
for i = 1:length(bits)
b(:, :, i) = reshape(bits(:,i), modOrd, N)';
end
% Preallocate variables for speed
dist = zeros(length(bits), 1);
% [BER_ZF, BER_MMSE, BER_ML] = deal(zeros(1,
length(EbNoVec)));
%
t = poly2trellis(7,[171 133]);%(consrants
length,generator polynomial)
% t = poly2trellis(5,[23 35]);%(consrants length,generator
polynomial)
t = poly2trellis(3,[5 7]);%(consrants length,generator
polynomial)
tb = 30; % Traceback length
% Create QPSK mod-demod objects
hMod = modem.pskmod('M', 2^modOrd, 'SymbolOrder', 'gray',
'InputType', 'bit');
hDemod = modem.pskdemod(hMod);
% Loop over selected EbNo points
for idx = 1:length(EbNoVec)
idx
%
nErrs_zf = 0; nErrs_mmse = 0; nErrs_ml = 0;
%
nBits = 0;
%
while ( ((nErrs_zf < 100) || (nErrs_mmse < 100) ||
(nErrs_ml < 100)) ...
%
&& (nBits < 1e4))
% Create array of bits to modulate
%
source = modulate(hMod, msg);
msg = randi([0 1],10000*N, 1);
% mm1=convenc(msg,t,[1 1 0 1 1 1 0 1]);
mm1=convenc(msg,t);
mm=reshape(mm1,numel(mm1)/N,N);
XDzf=[];
XDmmse=[];
XDml=[];
for kk=1:modOrd:length(mm)
uu=mm(kk:kk+modOrd-1,:);
% Modulate data
source = modulate(hMod, uu);
% Split source among N transmitters (symbol-wise)
Tx = reshape(source, N, numel(source)/N); clear
source;
% Flat Rayleigh Fading - independent links
RayleighMat = (randn(hStr, M, N) + 1i*randn(hStr,
M, N))/sqrt(2);
% Calculate SNR from EbNo
snr = EbNoVec(idx) + 10*log10(modOrd);
% Add channel noise power to faded data
r = awgn(RayleighMat*Tx, snr, 0, hStr); clear Tx;
r_store = r;
% Assume perfect channel estimation
H = RayleighMat;
% Zero-Forcing SIC receiver
E_zf = zeros(modOrd, numSym); k = zeros(N, 1);
%
Initialization
G = pinv(H);
[val, k0] = min(sum(abs(G).^2,2));
%
Start Zero-Forcing Nulling Loop
for n = 1:N
% Find best transmitter signal using minimum
norm
k(n) = k0;
% Select Weight vector for best transmitter
signal
w = G(k(n),:);
% Calculate output for transmitter n and
demodulate bitstream
y = w * r;
E_zf(:, k(n):N:end) =
reshape(demodulate(hDemod, y), modOrd, numSym/N);
XDzf(kk:kk+modOrd-1,:)=E_zf;
XD1=reshape(XDzf,1,[]);
% Subtract effect of the transmitter n from
received signal
z = modulate(hMod, demodulate(hDemod, y));
r = r - H(:, k(n))*z;
% Adjust channel estimate matrix for next
minimum norm search
H(:, k(n)) = zeros(M, 1);
G = pinv(H);
for aa = 1:n
G(k(aa), :) = inf;
end
[val, k0] = min(sum(abs(G).^2,2));
end
% Restore variables for next receiver
H = RayleighMat; r = r_store;
% MMSE SIC receiver
E_mmse = zeros(modOrd, numSym); k = zeros(N, 1);
%
Initialization
G = (H'*H + N/(10^(0.1*snr))*eye(N)) \ H';
[val, k0] = min(sum(abs(G).^2,2));
%
Start MMSE Nulling Loop
for n = 1:N
% Find best transmitter signal using Min Norm
k(n) = k0;
% Select Weight vector for best transmitter
signal
w = G(k(n),:);
% Calculate output for transmitter n and
demodulate bitstream
y = w * r;
E_mmse(:, k(n):N:end) =
reshape(demodulate(hDemod, y), modOrd, numSym/N);
XDmmse(kk:kk+modOrd-1,:)=E_mmse;
XD2=reshape(XDmmse,1,[]);
% Subtract effect of the transmitter n from
received signal
z = modulate(hMod, demodulate(hDemod, y));
r = r - H(:, k(n))*z;
% Adjust channel estimate matrix for next min
Norm search
H(:, k(n)) = zeros(M, 1);
G = (H'*H + N/(10^(0.1*snr))*eye(N)) \ H';
for aa = 1:n
G(k(aa), :) = inf;
end
[val, k0] = min(sum(abs(G).^2,2));
end
% Restore variables for next receiver
H = RayleighMat; r = r_store;
% ML receiver
for i = 1:2^(modOrd*N)
% Signal constellation for each bit combination
sig = modulate(hMod, b(:, :, i)').';
% Distance metric for each constellation
dist(i) = sum(abs(r - H*sig).^2);
end
% Get the minimum
[notUsed, val] = min(dist);
E_ml = b(:,:,val)'; % detected bits
XDml(kk:kk+modOrd-1,:)=E_ml;
end
% XD3=reshape(XDml,1,[]);
dd1 = vitdec(XD1,t,tb,'trunc','hard',[1 1 0 1 1 1 0 1]); %
Decode.
dd2 = vitdec(XD2,t,tb,'trunc','hard'); % Decode.
dd3 = vitdec(XD3,t,tb,'trunc','hard'); % Decode.
dd1 = vitdec(XD1,t,tb,'trunc','hard'); % Decode.
dd2 = vitdec(XD2,t,tb,'trunc','hard'); % Decode.
dd3 = vitdec(XD3,t,tb,'trunc','hard'); % Decode.
[num1,rate1]=biterr(dd1,msg');
[num1,rate1]=biterr(dd1,msg');
num1(idx)=num1;
rat1(idx)=rate1;
[num2,rate2]=biterr(dd2,msg');
num2(idx)=num2;
rat2(idx)=rate2;
[num3,rate3]=biterr(dd3,msg');
num3(idx)=num3;
rat3(idx)=rate3;
end
snr=0:nn;
semilogy(snr,rat1,'-b*')
axis([0, nn, 10^-7,1])
xlabel('SNR');
ylabel('BER');
% Draw the lines
% semilogy(EbNoVec, rat1, 'r-', EbNoVec, rat2, 'b-', ...
%
EbNoVec, rat3, 'g-');
% hold off;
‫الخالصة‬
‫أهم نوع من انواع ال ‪ MIMO‬هو ال (‪ Spatial Multiplexing (SM‬الذي يستخدم لزيادة‬
‫معدل البيانات اعتمادا على عدد الهوائيات في جهة االرسال واالستقبال‪.‬‬
‫مشكلة ال ‪ SM‬هي وجود نسبة خطأ كبيرة عند قيم القدرة القليلة‪ .‬ولتفادي المشكلة يجب زيادة‬
‫قيمة القدرة ولكن هذا الحل ال يتالئم مع متطلبات انظمة االتصاالت الحديثة‪.‬‬
‫في هذه الرسالة قد تم التحقق من اداء ال )‪ Space Time Block Code (STBC‬و ‪,SM‬‬
‫وكما هو متوقع ان ال ‪ STBC‬يزيد وثوقية البيانات وال ‪ SM‬يزيد من معدل البيانات مع نسبة‬
‫خطأ ملحوظة‪ .‬ثالثة انواع للكشف قد جربت مع ال ‪ ,SM‬هي ‪ ML, MMSE‬و‪. ZF‬‬
‫بينت النتائج ان اداء الكاشف ‪ ML‬يفوق كال من الكواشف ‪. ZF,MMSE‬ولكن كما هو‬
‫معروف ان درجة التعقيد لكاشف ‪ ML‬تتناسب اسيا مع رتبة التضمين وعدد هوائيات االرسال‪.‬‬
‫ومن النتائج ايضا استنتجنا بان الكاشف ‪ ZF‬هو االبسط وبإقل اداء‪.‬‬
‫المقترح هو اضافة تشفير القناة الى نظام ‪ SM‬وضمان عمل النظام بدرجة تعقيد قليلة‪ .‬بدأت‬
‫التجارب مع مشفر االلتفاف لدعم اداء ‪ .SM‬وقد انجز تحسين كبير باستخدام الكود مع الكاشف‬
‫‪ . ZF‬و بينت النتائج ان هناك كسب بحدود ‪ .dB01‬وهذا على حساب كمية المعلومات المضافة‪,‬‬
‫التي يمكن تقليلها باستخدام تقنية ‪.puncturing‬‬
‫ايضا درجة التعقيد ل‪ Viterbi decoder‬تتناسب اسيا مع مع طول ‪.constraint‬‬
‫النوع الثاني المقترح للتشفير هو ‪ Low Density Parity Check (LDPC) code‬بعوامل‬
‫مناسبة لضمان جودة اداء النظام بدرجة تعقيد بسيطة‪ .‬اذ ان النتائج بينت ان االخير المقترح يفوق‬
‫مشفر االلتفاف ب ‪ dB3‬بدرجة تعقيد مقبولة وباقل عدد من التكرار‪.‬‬
‫جمهورية العراق‬
‫وزارة التعليم العالي والبحث العلمي‬
‫الجامعة المستنصرية‬
‫كلية الهندسة‬
‫قسم الهندسة الكهربائية‬
‫موثوقية نقل بيانات بمعدل عالي‬
‫بإستخدام متعدد المداخل والمخارج‬
‫لقناة متعددة المسارات‬
‫رسالة مقدمة الى قسم الهندسة الكهربائية – الجامعة المستنصرية‬
‫كجزء من متطلبات نيل درجة الماجستير في علوم الهندسة الكهربائية‬
‫(الكترونيك واتصاالت)‬
‫من قبل‬
‫إيمان أحمد فرحان‬
‫بإشراف‬
‫االستاذ المساعد الدكتور رعد حمدان ظاهر‬
‫االستاذ المساعد الدكتور محمود فرحان مصلح‬
‫نيسان‬
‫جمادى االخر‬
‫‪5102‬‬
‫‪0341‬‬