MIMO System Performance Analysis Techniques
MIMO System Performance Analysis Techniques
INSTITUTE OF
TECHNOLOGY
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING
COMMUNICATION ENGINEERING CHAIR
FINAL PROJECT
Title: Performance Analysis of MIMO System Using V-Blast
and Alamouti Techniques
PREPARED BY
NAME ID
Deceleration
We declared that the project, titled "Performance Analysis of MIMO Systems Using V-BLAST and
Alamouti Techniques", has been submitted to the School of Electrical and Computer Engineering of
DDU in partial fulfillment of the Bachelor of Science in Electrical and Computer Engineering. This is
our original work and was not submitted elsewhere for the award of any other degree or any other
publication. We here by confirm that all the source materials used while writing this report are
referenced and acknowledged properly by our signatures:
Name Signature Date
Belet Dejen
Kebenesh Birhanu
Fkeru Dereje
Yohannes Teshome
I certify that I have read, evaluated and checked that this project is compiled according to the
format given by the department and project work has been submitted for the examination with
my approval as a university advisor.
Chala.T
Acknowledgment
First, we say thanks to almighty God who always bless us and without his blessing this journey
would not have been possible for us. Next we would like to thank our advisor; Mr. Chala.T for
his endless guidance and motivation throughout the project process. This project work has been
done with the great support of our advisor, who guided us in the right direction, motivated,
encouraged and challenged us throughout the work. Thanks to him! And also we would like to
thank all our friends and especially our classmates for all the thought provoking discussions we
had, which inspired us to think beyond the obvious. We are especially indebted to our parents for
their love, sacrifice, and support. They are our first teachers after we came to this world and have
always been mile stones to lead us a disciplined life. Finally we extended our special thanks to
the School of electrical and computer engineering faculty and staff workers for all support during
the time of this study.
Abstract
A MIMO system is a wireless system that has multiple antennas on both the transmitter and
receiver sides. It is the most efficient part of wireless systems which is used to improve quality,
maximize capacity, spectral efficiency, and to decrease bet error rate. Scarcity of the spectrum is
the major challenge in wireless communication. The aim of this project is investigating the
performance of MIMO systems, using parameters such as spectral efficiency, channel capacity,
SNR and BER in Rayleigh fading channel. This project also identifies which technique is efficient
in terms of getting good capacity and BER performance. To achieve the objective of this project,
two MIMO space-time processing techniques were used. The first one is the vertical bell layered
space-time architecture, which is accomplished by splitting a single user’s data stream into
multiple sub-streams and using an array of transmitter antennas to simultaneously launch the
parallel sub-streams. It also uses different V-BLAST detection algorithms like ZF, MMSE, and
ML to reduce interference and noise. The second technique which we used is the Alamouti space-
time coding, which is used to achieve high diversity, reduce BER of a system, and evaluate the
performance using BPSK modulation. The simulation result of this project has been done in mat
lab which shows performance of MIMO systems improves as the number of antennas on both the
transmitter and receiver side grows, it also indicates that, when compared to MMSE and ZF
detectors, ML detection has the best performance. This project also compares the BER
performance of MIMO Alamouti and ML VBLAST, demonstrating that Alamouti outperforms ML
VBLAST with the same SNR. While MIMO VBLAST has a higher data rate than MIMO Alamouti
because to the larger number of transmitting and receiving antennas, this project also
demonstrates that the Alamouti scheme outperforms the MRC and the 2x1 Alamouti schemes.
Key words: Alamouti, BER, MIMO, ML, MMSE, SNR, VBLAST, ZF.
Table of Contents
Deceleration......................................................................................................................................I
Acknowledgment.............................................................................................................................II
Abstract..........................................................................................................................................III
List Of Figures..............................................................................................................................VII
List Of Tables..............................................................................................................................VIII
Acronyms.......................................................................................................................................IX
CHAPTER ONE............................................................................................................................1
1. INTRODUCTION......................................................................................................................1
1.1 Background............................................................................................................................1
1.2 Related works.........................................................................................................................2
1.3 Statement of the problem.......................................................................................................3
1.4 Objective of the Project..........................................................................................................4
1.4.1 General Objective............................................................................................................4
1.4.2 Specific Objectives..........................................................................................................4
1.5 Scope of the Project................................................................................................................4
1.6 Limitation of the Project........................................................................................................4
1.7 Significant of the Project........................................................................................................5
1.8 Methodology..........................................................................................................................5
1.9 Project organization................................................................................................................6
CHAPTER TWO...........................................................................................................................7
2. THEORY REVIEW...................................................................................................................7
2.1 Review of the System and Theories.......................................................................................7
2.2 Single Input Single Output (SISO).........................................................................................9
2.3 Single Input Multiple Outputs (SIMO)..................................................................................9
2.4 Multiple Input Single Output (MISO)..................................................................................10
2.5 MIMO Space-time Processing.............................................................................................10
2.5.1 Bell-Labs Layered Space Time Architecture.................................................................10
[Link] Diagonal-BLAST (D-BLAST)...............................................................................11
[Link] Vertical-BLAST (V-BLAST).................................................................................11
2.5.2 Space-Time Coding (STC)............................................................................................12
2.6 Signal to noise ratio (SNR)..................................................................................................12
2.7 MIMO Channel....................................................................................................................13
CHAPTER THREE.....................................................................................................................14
3. SYSTEM ANALYSIS AND MATHEMATICAL MODELING.........................................14
3.1 Signal to noise ratio calculation (SNR) calculation.............................................................14
3.2 Calculation MIMO Channel Capacity..................................................................................15
3.2.1 AWGN channel.............................................................................................................15
List of figures
Figure 1.1 Methodology Of The Project................................................................................................5
Figure 2.1 Block Diagram Of SISO System..........................................................................................9
Figure 2.2 Block Diagram Of SIMO System........................................................................................9
Figure 2.3 Block Diagram Of MISO System.......................................................................................10
Figure 2.4 D-BLAST Decoder.............................................................................................................11
Figure 2.5 V-BLAST Decoder.............................................................................................................12
Figure 2.6 General MIMO System With nt Transmit And nr Receive Antennas................................13
Figure 3.1 Receiver of A General V-BLAST System.........................................................................18
Figure 3.2 V-BLAST System Architecture..........................................................................................18
Figure 3.3 V-BLAST Decoder Block..................................................................................................19
Figure 3.4 Y is Projected Onto The Subspace Orthogonal To H1......................................................21
Figure 3.5 A Bank of Zero-Forcing Detectors.....................................................................................22
Figure 3.6 A Bank of MMSE Detectors, Each Estimating A Parallel Data Sub-Streams...................23
Figure 3.7 Zero-Forcing Detectors With Successive Cancellation Of Sub-Stream.............................24
Figure 3.8 MMSE Detectors With Successive Cancellation of Sub- Stream......................................26
Figure 3.9 A Block Diagram of Alamouti Space Time Encoder.........................................................27
Figure 4.1 Capacity Simulation for MIMO System.............................................................................32
Figure 4.2 V-BLAST Detection scheme over 2X2 MIMO channels with Rayleigh...........................33
Figure 4.3 Comparative simulation results of applied Alamouti in BPSK modulation.......................34
Figure 4.4 Capacity comparisons between V-BLAST and Alamouti..................................................36
Figure 4.5 V-BLAST comparison using nonlinear detectors..............................................................37
List of tables
Table 3.1 Shows Space-Time Coding............................................................................................29
Table 4.1 Parameters for Simulation.............................................................................................31
Table 4.2 Capacity of MIMO System............................................................................................32
Table 4.3 Ber versus SNR For ML, MMSE and ZF Detection System.........................................34
Table 4.4 Ber versus SNR For Alamouti.......................................................................................35
Table 4.5 Ber versus SNR For Alamouti And V-BLAST.............................................................35
Table 4.6 Capacity versus SNR For Alamouti And V-BLAST.....................................................36
Table 4.7 Performance Summarization For Alamouti And V-BLAST.........................................36
Table 4.8 BER Vs SNR For ZF-SIC, MMSE-SIC And ML Detectors.........................................37
Acronyms
AWGN Add White Gaussian Noise
BER Bit Error Rate
BPSK Binary Pass Shift Keying
DBLAST Directional Bell Layered Space Time
ID Identical Distrusted
LAN Local Area Network
LOS Line Of Sight
MDC Minimum Decoding Complex
MIMO Multiple Input Multiple Output
ML Maximum Likelihood
MMSE Minimum Mean Square Error
MRC Maximum Ratio Combining
MISO Multiple Input Single Output
OFDM Orthogonal Frequency Division
SD Spatial Diversity
SIMO Single Input Multiple Output
SIC State Input Channel
SISO Single Input Single Output
SM Spatial Multiplexing
SNR Signal To Noise Ratio
STBC Space Time Block Code
STC Space Time Coding
VBLAST Vertical Bell Layered Space Time
ZF Zero Forcing
CHAPTER ONE
1. INTRODUCTION
1.1 Background
Multiple-input multiple-output (MIMO) wireless communication systems refer to transmitters
and receivers that are equipped with multiple antenna units for data transferring process in the
wireless communication system. Compared with single input single-output (SISO) wireless
communication systems, additional degrees of freedom (space resource) can be created in MIMO
system without increasing neither the bandwidth nor transmit power, which can be exploited for
significant improvement of system capacity and enhancement of transmission reliability. MIMO
systems exploit multipath by using the rich scattering environment to increase the spectral
efficiency of the wireless system. In wireless scenario, the radio channel bandwidth is an
inadequate resource and that is why the availability of faster transmission and reception is
restricted [1].
In this new information age, high data rate and strong reliability features of wireless
communication systems are becoming the dominant factors for a successful deployment of
commercial networks. The multiple-input multiple-output (MIMO) scheme in wireless
communication is one prominent candidate that full fills these need, mainly due to its high
capacity which does not call for bandwidth expansion. To accomplish high capacity potential
proper signal processing architecture is needed. Bell Labs Layered Space Time Architecture
(BLAST) is an extraordinary bandwidth efficient approach to wireless communication which
takes advantage of the spatial dimension by transmitting and detecting a number of independent
co-channel data streams using multiple ways but essentially co-located antennas. This new
communication structure targets application in future generations of wireless systems, bringing
high bit rates to the office and home [2].
An architecture which theoretically achieves the highest capacity was proposed as BLAST in [2]
and it attains the spectral efficiencies up to 42 bits/sec/Hz. This represents a spectacular increase
compared to currently achievable spectral efficiencies of 2-3 bits/sec/Hz, in cellular mobile and
wireless LAN systems [6]. The original diagonal-BLAST version used a cyclic association of
data streams, called layers, with transmit antennas, thereby producing an “averaged” channel
which is the same for all layers. Difficulties in the realization of D-BLAST led to a modified
architecture called V-BLAST [7], where each layer is associated with certain transmit antenna.
In wireless communication reliability of the data rate is the major concern. Space-time block
codes were designed to achieve the maximum diversity order for the given number of transmit
and receive antennas subject to the constraint of having a simple linear decoding algorithm. Our
project focus on one of the first space time block code called Alamouti space time block code
which use two transmit antennas and used to increase the data rate of the communication system.
Alamouti scheme also used to decrease the bit error rate of the transmission without decreasing
the data rate at a specified SNR. In wireless communication there is multipath propagation which
means data will not reach to the destination easily due to path loss, attenuation and shadowing of
obstacles and this multipath propagation lead to fading which is a major problem in wireless
communication system. To combat the fading environment Alamouti technique is used in MIMO
antenna system which transmits multiple copies of the same data [15].
This project is aim to increase reliability, channel capacity, spectral efficiency and decreasing bit
error rate of the transmission in communication system by using V-BLAST and Alamouti
techniques, and to identify which V-BLAST detection algorithm is efficient in BER performance
in addition to answer the question is VBLAST or Alamouti better in terms of BER performance
and quality of data transmission.
The Authors In [1], proposed that Space time block codes (STBC) with reducing orthogonally
but increasing its complexity. They concluded that using maximum diversity reducing
orthogonally. There gap was increasing its complexity.
The author in [2], proposed that the capacity can be improved by a factor equal to the minimum
number of transmit and receive antennas if perfect channel state information (CSI) is available at
the receiver. He concluded that capacity is increased with increasing number of antenna. His gap
was not show for maximum number of antennas.
The author in [3], proposed a system that compare the performance of three MIMO methods,
namely, BLAST, STBC, and linear pre coding/decoding. He concluded that showed the BLAST
scheme can achieve the best performance in the high data rate transmission scenario. His gap not
used detector algorithm to reduce the interference cancellation.
The authors in [5], proposed that a new transmission scheme called multiple input multiple
output (MIMO) orthogonal frequency division multiplexing (OFDM) system. They concluded
that the new scheme is efficient and suitable especially for symmetric channels such as the link
between two base stations or between two antennas on radio beam transmission. There gap was
his new scheme suitable only two by two antennas.
The authors in [11] proposed that Capacity of MIMO systems and different MIMO transmission
techniques such as spatial diversity (SD), Spatial multiplexing(SM). They concluded that at the
receiver side LMS has better BER performance than ZF and the same performance with MMSE
with no need of CSI. There gap was LMS algorithm has slow convergence but low complexity
compared to MMSE algorithm that has fast convergence with very high complexity.
The authors In [14] they proposed that STBC structures. They concluded that wireless
communication reducing the overall decoding complexity, minimum decoding complexity
(MDC) is important. There gap not use for scattering.
The author in [20], It is proposed that applied transmit diversity with space-time block codes and
showed that the number of receive antennas can be reduced and the diversity level increased
compared to the original BLAST. In many wireless communication systems, convolutional codes
are widely used due to their capability that enable soft-decision decoding and their near
Shannon-capacity performance. He concluded that using STBC the transmit diversity increased.
His gap was not show for more number of transmitter antennas.
scarce resource efficiently the system has to increase channel capacity. Multiple Input Multiple
Output (MIMO) system is one of the technique, which increase channel capacity, reliability of
communication and spectral efficiency of the system and has to be adapted with diversity
techniques (Alamouti coding and VBLAST structure).
To analyze the channel capacity of MIMO system using different number of antennas.
To observe the tradeoff BER and data rate of V-BLAST and Alamouti’s STBC.
To analyze and compare performance of VBLAST and Alamouti MIMO techniques.
To analyze that performance of linear detectors using ZF, MMSE, and ML and to identify
the best detectors in terms of performance.
To compare performance of VBLAST nonlinear detectors using ZF SIC, MMSE SIC,
and ML.
1.8 Methodology
Start
Submit
Identify Report
Problem
Documentation
and compiling
Choose the
Title
Output
E-book
NO
The second chapter covers literature review and brief overview of MIMO systems. The primary
goal of this chapter is to introduce basic concepts, models and notions that will be used
throughout the project.
The third chapter of the report describes different layered space-time architectures, investigate
the performance of general VBLAST architectures with ML, ZF, MMSE and SIC and introduce
Alamouti space time coding and MRC, and we investigate the performance of maximum ratio
combining (MRC), 2x1 Alamouti, 2x2 Alamouti scheme.
The fourth chapter of the project covers the results and discussion of different MIMO techniques
that has been analyzed above.
Finally chapter five contains the conclusion of the project and the recommendation suggestion
for the continuity of the project and further upgrade. This chapter can be referred to other
individuals who are interested in continuing developing this project.
CHAPTER TWO
2. Theory review
theory research field. Distinct MIMO architectures offer different advantages, which can be
categorized as array gain, interfere, and so on.
Array gain: is the average improvement in signal-to-noise ratio (SNR) at the receiver that
may be achieved by coherently integrating several antenna signals at the receiver,
transmitter, or both. The number of receive antennas has a direct relationship with the
average increase in signal power [9]. Array gain exploitation requires channel
information at the transmitter when there are several antennas at the emitter.
Interference reduction: The wireless media, unlike copper or optical fiber, is an unguided
communication link, which makes co-channel Q interference a common issue. Co-
channel interference adds to the system's overall noise and impairs performance. Multiple
antennas can be used to decrease interfering signals, resulting in increased system
capacity. Interference reduction necessitates knowledge of the target signal's channel;
however, accurate channel information may not be required [9].
Diversity gain: Diversity is an excellent way to resist fading. Time, frequency, and space
diversity approaches are categorized according to the domain where diversity is
introduced [10]. In wireless microwave communications, space or antenna diversity has
become popular, and it may be divided into two categories: receive diversity and transmit
diversity [1], depending on whether numerous antennas are used for receipt or
transmission.
Receive Diversity: It can be employed in channels that have numerous reception
antennas. The receive signals are considered to fade independently, and they are merged
at the receiver to provide a signal with substantially less fading. The number of
independent fading branches characterizes receive diversity, which is at most equal to the
number of receive antennas.
Transmit Diversity: Transmit diversity is used on channels with multiple transmit
antennas, and it is at most equal to the number of transmit antennas, especially if the
transmit antennas are spaced far enough apart. The data is processed at the transmitter
before being dispersed across several antennas. If the channel between each transmit
receive antenna pair fades independently, the diversity order is constrained by the product
of the number of transmit and receive antennas [11]. The low chance of simultaneous
deep fades in the multiple diversity channels is a critical aspect of all diversity
approaches. In general, the number of signal replicas integrated at the receiver to raise the
overall SNR determines the performance of a system adopting diversity approaches.
Selection combining, switching combining, equal-gain combining, and maximum ratio
combining are the four basic types of signal combining methods used at the receiver
(MRC).
Multiplexing gain: MIMO systems have a distinct advantage over single-input multiple-
output (SIMO) and multiple-input single-output (MISO) systems in terms of realistic
throughput increase. This leverage is known as multiplexing gain, and it can be achieved
via a technique called spatial multiplexing [2]. The number of inputs and outputs
distinguishes wireless systems that consist of a transmitter, a radio channel, and a
receiver [10]. Single-input single-output (SISO) communication systems have only one
broadcast and receive antenna.
SISO
MISO
SIMO
2.2 Single Input Single Output (SISO)
SISO is a system having single transmit and single receive antenna and have no diversity [16].
TX RX
RX
RX
Figure2.2 Block diagram of SIMO system
TX RX
TX
TX
MIMO system can be generally divided into and Layered Space Time Structure (Spatial
Multiplexing) and Space-Time Coding (STC).
several antennas. There are two main BLAST architectures: D-BLAST (diagonal BLAST) and
V-BLAST (vertical BLAST)
Coding/modulator
X1[m]
Layer 1
I/p data
S/P Coding/modulator Stream
interleave X2[m]
Layer 2
Coding/modulator
Layer nT XnT[m]
parallel (s/p) converter splits the incoming data stream into n T sub-streams in this design. The
sub-streams are then modulated and transmitted from the transmit antenna that corresponds to
them. To boost performance, error correcting coding can be used in each sub-stream, but in V-
BLAST, encoded sub-streams are frequently assumed. We use VBLAST as our space-time
scheme in this project to fully exploit the spatial multiplexing gain in the MIMO channel and
because its receiver implementation is simpler. Following that, the V-BLAST architecture and
detection methods are discussed and shown.
X1[m]
Modulator
Layer 1
X2[m]
I/P data Modulator
Layer 2
S/P
XnT[m]
Modulator
Layer nT
as shown in figure (2.7) that have an influence on the relation between Eb/NO & Es/NO. These
blocks are.
Channel encoding.
Mapping of the encoded bits on the spatial and/or temporal dimension.
Modulation.
All the transmit antennas send their signals simultaneously in the same bandwidth of the radio
channel. Each receive antenna receives the superposition of all the transmit signals disturbed by
the noise in the radio channel.
1
1
I/P
Encoder
2 Detectio
2 n+
Decoding
nT
nR
CHAPTER THREE
Eb Es Tb
* (3.1)
No No Ts
Given this equation, the relation between E b/NO & Es/NO can be determined per block described
above. For an encoder with code rate of R, it can be shown that Ts = RT b [2]. Thus, substituting
this into (3.1) leads to
Es Eb
R
(3.2)
No No
Sending nT bits parallel on nT transmit antennas reflects on the relation between Ts and Tb as
follows: Ts = nTTb. Therefore the symbol energy to noise density ratio per receive antenna equals
Es Eb
nT
(3.3)
No No
Probability of bit error rate in AWGN channel for BPSK modulation can be written as
Pb Q( Eb (3.4)
No )
Approximately the bit error rate analysis of AWGN channel can be written as
1 1
Pb e0.5SNR erfc Eb
2 2 No (3.5)
C B log 2(1
(3.6)
SNR)
Where SNR is the signal-to-noise ratio at the receive antenna. Capacity unit is bit/s/Hz.
However, in the case of a system with multiple antennas, Shannon’s limit should be extended. It
was proven [8] that the capacity of the MIMO channel is equal to:
C
log 2 det(InR HH * s) (3.7)
nT
Where InR is nR x nR identity matrix, ρ is the ratio of total transmits power per noise power, n T and
nR are the number of Tx and Rx antennas and H and H a⃰re the channel transfer matrix and its
transpose conjugate version, respectively.
SNR Es h 2
No (3.8)
Pb Q( Es ) SNR ) (3.9)
Q( No
nonzero mean, giving rise to the Racian fading. The MIMO channel may be modeled as sum of
fixed component and a fading component and given by the equation
k k
H
1 k H 1 k Hsw (3.11)
Where k
H = E H is the LOS component of the channel.
1 k
k
Hsw
1 k Is the fading component
k ≥ 0 in equation is the Ricean k-factor of the channel and is defined as the ratio of power in the
LOS component of the channel to the power in the fading component. The Racial distribution is
2
path component of the fading coefficient. This model reduces to Rayleigh fading when k = 0. At
the other extreme k = ∞ corresponds to non-fading channel.
SNRF h 2 *
h2* (3.12)
p
SNR
2
Error rate derived from BPSK modulation in Rayleigh fading channel can be written as equation
BER Q( SNRF ) (3.13)
Q( )
a2SNR
DDUIOT School of ECE 2021 G.C Page 17
Performance Analysis Of MIMO System Using V-Blast And Alamouti Techniques
Where a is the magnitude of the channel h.
The Q function is expressed as
1
Q(v) t2
e 2 dt (3.14)
u 2
Using substation 2
2
SNR (3.15)
a a
t2
1
Average BER e 2
dt2ae a2da (3.16)
2
2
a
1
BER 1 SNR
(3.17)
2 1 SNR
The sequence x1[1], x1[2], x1[3]... is transmitted from antenna 1, the sequence x2[1], x2[2], x2[3] .
. . is transmitted from antenna 2 and the sequence x3[1], x3[2], x3[3] . . . is transmitted from
antenna 3. Where n is noise vector with independent identically distributed channel.
Y (m) = Sub-Stream2
Decoder 2
Sub-stream3
Decoder 3
X1[m]
Modulat
XnT[m]
Modulat
Where y[m] is an nR-component column matrix of the received signals across the n R receive
antennas. The matrix channel transfer function H is (n R x nT), where hij is the (complex) transfer
function from transmitter j to receiver i, and n T ≤ nR x[m] is the mth column in the transmission
matrix X and n[m] is an nR-component column matrix of the AWGN noise signals from the
receive antennas, where the noise variance per receive antenna is denoted by σ2
3.3.3 Encoder
Suppose the number of transmitting antenna is nT and the number of receiving antenna is nR,
BPSK modulation transmitters 1 to n T operate co-channel at symbol rate 1/𝑇𝑠 symbol, with
synchronized symbol timing. Rayleigh flat fading channel is assumed and the channel matrix
transfer function is H, nR x nT, where hi, j is the complex transfer function from transmitter j and
receiver i. Let x =(x1, x2…xnT) denotes the vector of transmit symbols. Then the corresponding
received nR vector symbole i is
r1 = H x + n (3.21)
3.3.4 Decoder
The decoder needs to demodulate the symbols on the received vector. If channel encoding used,
then the demodulated symbols need to be buffered until the whole block can be decoded.
Otherwise the demodulation can be made immediately.
3.3.5 Decoding algorithm for VBLAST system
First the algorithm decodes the strongest symbol. Then cancelling the effect of this strongest
symbol from all received signals, the algorithm detects the next strongest symbol. The algorithm
continues by cancelling the effects of the detected symbol and the decoding of the next strongest
symbol until all symbols are detected. The optimal detection order is from the strongest symbol
to the weakest one [19].
r3
r X1 X2
X2
X1 Figure3. 3 V-BLAST decoder block
A. Ordering
In decoding the first symbol, the interference from all other symbol is considered as noise. After
finding the first candidate for the first symbol, the effect of this symbol in all of the receiver
equation cancelled. Then, the second symbol is detected from the new set of equation. The
effects of the second detected symbol are cancelled next to drive any set of equation. The process
continues until all symbols are detected. Off course, the order in which the symbols are detected
will impact the final solution.
B. Interference cancellation
At the stage n of the algorithm, when x n is being detected, symbols x 1 x2 ...xn-1 have been
already detected. Let us assume a perfect decoder that is the decoded symbols ˜x1, ˜x2…….xn-1
are the same as the transmitted symbols x1, x2………xn-1. Therefore at the nth stage of algorithm
after detection the nth symbol as xn symbol its effect is canceled from the equation by
rn1 rn xn (3.22)
Hn
C. Interference nulling
It is the process of detecting xn from rn by first removing the effects of undetected symbols.
Basically, in this step the nth symbol is detected by nulling the interference caused by symbols
xn+1, xn+2... xN.
nT
y[m] hi[m]xi[m] (3.23)
n[m]
i1
Where h1, h2... hnT are the columns of H and the data sub-streams transmitted on the antennas,
{xi[m]} on the ith antenna, are all independent. Focusing on the kth data sub-stream, we can
rewrite
nT
h1
h2
SNRZF Pk [Link] 2
/ No (3.25)
Where Pk is the power allocated to sub-stream k. The Zero-Forcing detector for the kth sub stream
is the kth column of the pseudo inverse of the matrix H, defined by
w (H * H )1 H (3.26)
*
y[m]
ZF detector for sub- Detector for sub-
stream 2 stream 2
X arg X N min y hx 2
(3.31)
X
The minimization is performed over all possible transmitted symbol vectors x N. Although ML
detection offers optimal error performance, it suffers from complexity issues. It has exponential
complexity in the sense that the receiver has to consider |𝐴|nT possible symbols for an nT
transmitter antenna system with A is the modulation constellation.
3.4 V-BLAST Nonlinear detector
3.4.1 Zero forcing with SIC
In this ZF weight matrix is used for symbol estimation that is given by:
WZF (H H H)1 H H (3.32)
The first stream vector is calculated with the first row vector of ZF weight matrix. After
calculation and segment to produce x˜1, the rest of the signal in the first stage is formed by
subtracting it from the received signal, that is:
y 1 y h1 x 1
If x1 = x˜1, in that case the interference is effectively cancelled in the course of calculating x 2;
but, if x1 ≠ x˜1, in this case, error propagation is sustained because the zero forcing weight that
has been considered under the condition of x1 =x˜1 is used for estimating x2.
Once MT SINR values are estimated by using the zero forcing weight matrixes, we select the
resultant layer with the highest SINR. In the course of selecting the second perceived symbol, the
interference owing to the first perceived symbol is rejected from the received signals. Assume
that (l) = 1 (i.e. the l th symbol has been rejected first). Then, the channel matrix is customized by
removing the channel gain vector corresponding to the lth symbol as follows:
H (1) [h1h2....h(l 1)h(l 1)....hN ] (3.34)
Using the modified channel matrix H (l) in the place of H the ZF weight matrix is re-estimated.
Now (MT – 1) SINR values, MT
[SINRi] i1,i are estimated to select the symbol with maximum
1
SINR. The same procedure is repeated to the rest of the symbols after rejecting that symbol with
maximum SINR [20]. The SNR of the kth data stream is given by [20]
2
SNRk = Pk‖𝑄𝑘ℎ𝑘‖ /NO (3.35)
This Zero-Forcing with Successive Interference Cancellation detector architecture (ZF-SIC) is
illustrated in Figure below.
Sub-stream
ZF detector 1 Decoder sub- 1
stream 1
Sub-stream
Subtract sub- Decoder sub-
ZF detector 2 2
stream 1 stream 2
y[m]
Sub-stream
Subtract sub- Decoder sub- 3
stream 2 ZF detector 3 stream 3
Sub-stream
Subtract sub- Decoder sub- nT
ZF detector nT
stream 1,2…nT- stream nT
The bit error rate for BPSK modulation in Rayleigh fading channel is given
1 Eb
Pb [1 ]
2 No (3.36)
Eb 1
Where Pb is the bit error rate, and 𝐸𝑏⁄𝑁𝑜 is signal to noise ratio
No
Also by considering the channel matrix H, with independent and identically distributed complex
Gaussian average power is equal to 1 with transmit symbol power P.
H = r*t (3.37)
E {|𝑥𝑛|2} = P (3.38)
The average BER at high SNR can be found as
1
BER at high SNR 2L 1CL )L (3.39)
( 2SNR
Where, Ex is the energy of the transmitted signals, hi is the ith column vector of the channel
matrix H
Sub-
Subtract sub- MMSE detector 3 Decoder sub- stream 3
stream 1 stream 3
Sub-
Subtract sub- MMSE detector Decoder sub- stream
stream 1 nT stream nT
PZF ,km
2 (3.43)
M WZF, km
M is the number of transmit antennas, N is the number of receiver antennas and ZF is the zero
forcing detector. The channel capacity for V-BLAST MMSE can be found as
CMNMMSE = M min mϵ {1,..., M} {log2(1 + ρ MMSE,km)} (3.44)
WMMSE, kmHkm 2
PMMSE ,km
(3.45)
M WMMSE, 2
/ l WMMSE, l
km
2
x1 x2 *
X= x2 x1*
(3.46)
TX1 X¹ = [x1, -
x2∗]
Encoder TX2
Information
Modulator X¹ = [x1, -x2∗]
source
and receive antenna two is h2 = 𝛽2𝑒𝑗𝛼 . Noise would be add at two receiver so will combine that
2
i hi 2 Eb
(3.52)
No
Eb
Where hi, is channel on the ith receive antenna SNR
No
Equalizing channel with hH , with the N receive antenna case, the effective bit energy is
N
hi 2 Eb
i (3.53)
i1 No
Bit energy to noise ratio in an N receive antenna case is N times the bit energy to noise ratio for
single antenna. The probability distribution function of 𝛾 is
P(i ) 1
i
e Eb/ (3.54)
Eb / No
No i
1
P( )
(Eb / No)N e , 0
N 1 ( Eb/ No)
Pe 1 )P( )d ( )
erfc(
0
2
1
1 i
erfcc(
e
N 1 ( Eb/ No) (3.55)
) d
N
0
2 (N 1)!(Eb / No)
T X1 X2
The fading coefficient from antenna one and two are denoted by h1 (t) and h2 (t) respectively at
time t. By assuming these coefficients are constant across two consecutive symbols
(3.63)
Finally, the maximum likelihood decision rule is used to at receiver to choose which symbol
was actually transmitted for each of the signals x1 and x2.
SNR
SignalPower (3.64)
Noisepower
2 p
Signal power= h , and noise power= 2
2
By substituting equation (3.98) in to (3.97) the SNR would be
1 p
SNR h 2
2 2
1
h 2 SNR (3.65)
2
The average BER of Alamouti-STBC at high SNR can be calculated as
1
BER at high SNR 2L ( )L (3.66)
lCl SNR
Where L = r-t+1 where r represent number of received antenna and e represent number of
transmit antenna.
The channel capacity for Alamouti scheme can be found as
C Alamouti= 1 PT
log 2 det( I 2 HT H (3.67)
)
2 2 A A
2
Where I2 is the identity matrix, PT is the transmitted power and HTA and HA are the transpose
Alamouti channel and Alamouti channel respectively.
The capacity of 2x1 MIMO Alamouti scheme can be calculated as
C A log (1 h112 h212 (3.68)
)
2
2,1 2
Capacity of 2x2 MIMO Alamouti scheme can also be calculated as
CA
N
log (1
hn,12 hn, 2 2 (3.69)
2,2 2
)
n1
2
Where A stands for Alamouti scheme, and 𝜌 is the SNR.
CHAPTER 4
4. RESULT AND DISCUSSION
The field of wireless communication systems and networks has experienced explosive growth
and wireless communications has become an important part in everyday life. The multiple
antennas can be used to increase the communication reliability by diversity or to increase the
data rate by spatial multiplexing or a combination of both. Multiple antennas have performance
and capacity enhancements without the need for additional power spectrum.
Parameter Assumption
Technology MIMO
Channel model Rayleigh flat fading
Data modulation BPSK modulation
Antenna configuration 2x2
Carrier Frequency 2.5 GHz
VBLAST decoder ML, MMSE, ZF
Channel estimation Perfect channel estimation
Spatial correlation between Transmit /Receive antennas 0
Transmission Bandwidth 10MHz
SNR(dB) Capacity
NT=NR=2 NT=NR=3 NT=NR=4
4 2.833 4.245 5.593
12 6689 10.11
16 9.085 13.62 18.12
20 11.63 17.41 23.19
Table 4.2 and figure 4.1 shows the capacity versus SNR for different MIMO system. The result
shows that the capacity of the MIMO system increases with increasing the number of antennas
for a specified SNR. For example at SNR (4dB) the capacity is increased from 2.833 to 4.245
with the number of antenna increased from 2 to 3. It also increases from 4.245 to 5.593 for an
antenna increase from 3 to 4. The simulation also shows us the capacity increased with an
increase in SNR with same number of antennas. For example for 2x2 MIMO the capacity
increases from 2.833 to 6.689 for SNR increases from 4dB to 12dB.
Figure4. 2 V-blast Detection scheme over 2X2 MIMO channels with Rayleigh
The above figure 4.2 shows two nonlinear interference cancellation methods - Zero-Forcing (ZF)
and Minimum-Mean-Square-Error (MMSE) - with symbol cancellation and compares their
performance with the Maximum-Likelihood (ML) optimum receiver. From the above figure 4.2
we observe that the ML receiver is the best in performance followed by the MMSE and ZF
receivers. In terms of receiver complexity, ML grows exponentially with the number of transmit
antennas while the ZF and MMSE are linear receivers combined with successive interference
cancellation. At a BER of 10-4, the SNRs of ML, MMSE and ZF are 17 dB, 31 dB and 35 dB
respectively. We have seen a huge improvement in using ML detection over MMSE and ZF
detections by 14 dB. The performance of MMSE detection is better than ZF detection by 3- 4
dB. From the above results, it has been observed that the ML detection has better BER
performance than the MMSE and ZF detections by 14dB. In Addition, the performance of
MMSE detection is better than ZF detection by 4- 5 dB. Finally, by using the adaptive scalar
recursion for fast fading, the complexity order reduces to square and the computation becomes
less compared to other techniques.
Table4. 3 BER versus SNR for ML, MMSE and ZF Detection System
SNR BER
ML MMSE ZF
5 0.01569 0.03693 0.06419
12 0.000947 0.007896 0.01524
20 28e-0.5 0.00128 0.002519
22 1.2e-0.5 0.000813 0.001614
Figure 4.5 shows the performance comparison VBLAST nonlinear detectors (ZF-SIC,
MMSESIC ML), and it shows ML is the best in performance compared to the ZF- SIC and ML-
SIC. And the figure also shows MMSE-SIC is better in terms of performance. For example: at
the SNR value of 5(dB) BER of ML is 0.02 which is lower than the BER value of MMSE-SIC
which is 0.03 and this is also lower than the BER of ZF-SIC value of 0.05. The values of BER
of each detection are shown in table 4.8.
CHAPTER FIVE
5. CONCLUSION AND RECOMMENDATION
5.1 Conclusion
Wireless communication systems with multiple transmit and receive antennas offer significant
advantages in terms of increased data rates and reliability over those of single antenna systems.
Data transmission without any error occurrence and Scarcity of the spectrum are the major
challenges in wireless communication. In this Project, we investigate the performance and
complexity of mathematical manipulations of MIMO V-BLAST and MIMO-Alamouti
architecture to minimize the above problems. From the results we have seen BER is much more
improved in the MIMO-Alamouti. While, if data rate is considered then the MIMO V-BLAST is
proved to be better than the MIMO-Alamouti because of increased number of transmitting and
receiving antennas. The simulation results confirm that with Alamouti or V-BLAST and multiple
transmit antennas a significant performance gain can be achieved at almost no processing
expense and a simple way to improve the quality of the transmission is to increase the number of
receive antennas. For small devices, where the number of antennas is limited, a solution is to
increase the number of transmit chains with very little decoding complexity.
Reference
[1].David Tse and Pramod Viswanath, “Fundamentals of Wireless Communication,” Cambridge
Universtiy Press 2005.
[2].G.J. Foschini, “Layered Space-Time Architecture For Wireless Communication in a Fading
Environment When Using Multi- Element Antenna,” Bell Laboratories Technical Journal,
pp. 41- 59, Oct. 1996[3] J. Hagenauer, “Rate-compatible Punctured Convolutional Codes
(RCPC Codes) and Their Applications,” IEEE Trans. On Communications, vol. 36 no. 4, pp.
389-400, Apr. 1988, doi: 10.1109/26.2763
[3].A.F Molish. wireless communication, Gohn Wiley and Sons,[Link]; pp.6668, 2005
[4].Andrea Goldsmith, “wireless communication,” Stanford University, 2004.
[5].R. Guo, J. Liu, “BER performance analysis of RCPC encoded MIMO-OFDM in Nakagami-
m channels,” IEEE Conf. on Information Acquisition (ICIA 06), IEEE Press, Aug. 2006, pp
1416– 1420, doi: 10.1109/ICIA.2006.305963
[6].Branka Vucetic and Jinhong Yuan, “Space-Time Coding,” John Wiley & sons Ltd, 2003.
[7].Gerard J. Foschini and Michael J. Gans, “On limits of wireless communications in a fading
environment when using multiple antennas,” Wireless Personal Communications, 6(3):311–
335, March 1998.
[8].P. Kulakowski, “The Multiple-Input Multiple-Output Systems in Slow and Fast Varying
Radio Channels,” PhD Dissertation, AGH University of Science and Technology, Krakow,
Poland, 2007.
[9].[Link] and [Link], “digital communication over fading channel,” John & Sons Ltd,
2000.
[10]. GeoreTsoulos, “MIMO SYSTEM TECHNOLOGY FOR WIRELESS
COMMUNICATIONS,” Published in 2006 by CRC Press Taylor & Francis Group.
[11]. A. Hottinen, O. Tirkkonen, R. Wichman, ”Multi-Antenna Transceiver Techniques for 3G
and Beyond,” John Wiley and Son Ltd. 2003.
[12]. R. Van Nee. A. Van Zelst, and G. Awater, “Maximum Likelihood Decoding in a Space
Division Multiplexing System,” Proc. of VTC 2000, Vol. 1, pp. 6-10 Tokyo, Japan, May,
2000.
[13]. C. E. Shannon, “A Mathematical Theory of Communication,” The Bell System Technical
Journal, vol. 27, pp. 379–423 and 623–656, July and October, 1948.
Appendix
Appendix 1
%Shannon capacity
snr=0;
for i = 1:10
snr = snr +2;
c=(log(1+10^(snr/10)))/log(2);
x(i)=snr;
y(i)=c;
end
figure
plot(x,y,'bp-','LineWidth',1.5);
hold on
% capacity of MIMO Link with NR=2, NT=2
NR=2;
rand('state',456321);
snr=0;
for i=1:10;
snr=snr+2;
for j=1:10000;
c(j)=(NR*log(1+(10^(snr/10))*abs(normrnd(0,1)))/log(2));
end
yy(i)=mean(c);
xx(i)=snr;
end
plot(xx,yy,'kd-','LineWidth',1.5)
% capacity of MIMO Link with NR=3, NT=3
NR=3;
rand('state',456321)
snr=0;
for i=1:10;
snr=snr+2;
for j=1:10000;
c(j)=(NR*log(1+(10^(snr/10))*abs(normrnd(0,1)))/log(2));
end
yy(i)=mean(c);
xx(i)=snr;
end
plot(xx,yy,'mo-','LineWidth',1.5)
% capacity of MIMO Link with NR=4, NT=4
NR=4;
rand('state',456321)
snr=0;
for i=1:10
snr=snr+2;
for j=1:10000
c(j)=(NR*log(1+(10^(snr/10))*abs(normrnd(0,1)))/log(2));
end
yy(i)=mean(c);
xx(i)=snr;
end
plot(xx,yy,'cd-','LineWidth',1.5);
xlabel('SNR(dB)')
ylabel('Capacity (bit/s/Hz)');
grid on
legend('Shannon Capacity','MIMO, NT=NR=2','MIMO, NT=NR=3','MIMO, NT=NR=4');
title('MIMO Capacity');
app 4
%MIMO alamouti Capacity with NR=2, NT=2
snr=0;
for i = 1:10
snr = snr +5;
c=(0.5*log(1+10^(snr/10)))/log(2);
x(i)=snr;
y(i)=c;
end
figure
plot(x,y,'bp-','LineWidth',1.5)
hold on
% capacity of MIMO VBLAST with NR=2, NT=2
NR=2;
rand('state',456321)
snr=0;
for i=1:10;
snr=snr+5;
for j=1:10000;
c(j)=(NR*log(1+(10^(snr/30))*abs(Normand(0,1)))/log(2));
end
yy(i)=mean(c);
xx(i)=snr;
end
plot(xx,yy,'kd-','LineWidth',1.5)
xlabel('SNR(dB)')
ylabel('Capacity (bit/s/Hz)')
grid on
legend('Alamouti 2X2', 'VBLAST 2X2',2)
title('MIMO Capacity')
Appendix 2
N = 10^6; % Block size
snr = [0:45]; % SNR values
MT = 2; % Number of transmitters
MR = 2; % Number of Receivers
for i = 1:length(snr)
p = rand(1,N)>0.5; % Generates random numbers
s = 2*p-1; % Converts 0 & 1 t0 -1 and 1
sMod = kron(s,ones(MR,1)); %
sMod = reshape(sMod,[MR,MT,N/MT]);
h = 1/sqrt(2)*[randn(MR,MT,N/MT) + j*randn(MR,MT,N/MT)]; % Rayleigh channel
n = 1/sqrt(2)*[randn(MR,N/MT) + j*randn(MR,N/MT)]; % White gaussian noise
with 0dBvariance
y = squeeze(sum(h.*sMod,2)) + 10^(-snr(i)/20)*n; % Noise addition% forms
weight vector for MMSE
hCof = zeros(2,2,N/MT) ;
hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:)),1) + 10^(-snr(i)/10);
hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:)),1) + 10^(-snr(i)/10);
hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:)),1); % c term
hCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:)),1); % b term
yHat = sum(reshape(hInv,2,N).*yMod,1);
pHat = real(yHat)>0;
nErr(i) = size(find([p- pHat]),2);
end
ber2 = nErr/N; % simulated ber
for i = 1:length(snr)
p = rand(1,N)>0.5;
s = 2*p-1;
sMod = kron(s,ones(MR,1));
sMod = reshape(sMod,[MR,MT,N/MT]);
h = 1/sqrt(2)*[randn(MR,MT,N/MT) + j*randn(MR,MT,N/MT)]; % Rayleigh channel
n = 1/sqrt(2)*[randn(MR,N/MT) + j*randn(MR,N/MT)]; % white gaussian noise,
0dB variance
y = squeeze(sum(h.*sMod,2)) + 10^(-snr(i)/20)*n;
% Maximum Likelihood Receiver
% if [s1 s2 ] = [+1,+1 ]
sHat1 = [1 1];
sHat1 = repmat(sHat1,[1 ,N/2]);
sHat1Mod = kron(sHat1,ones(MR,1));
sHat1Mod = reshape(sHat1Mod,[MR,MT,N/MT]);
zHat1 = squeeze(sum(h.*sHat1Mod,2)) ;
J11 = sum(abs(y - zHat1),1);
% if [s1 s2 ] = [+1,-1 ]
sHat2 = [1 -1];
sHat2 = repmat(sHat2,[1 ,N/2]);
sHat2Mod = kron(sHat2,ones(MR,1));
sHat2Mod = reshape(sHat2Mod,[MR,MT,N/MT]);
zHat2 = squeeze(sum(h.*sHat2Mod,2)) ;
J10 = sum(abs(y - zHat2),1);
% if [s1 s2 ] = [-1,+1 ]
sHat3 = [-1 1];
sHat3 = repmat(sHat3,[1 ,N/2]);
sHat3Mod = kron(sHat3,ones(MR,1));
sHat3Mod = reshape(sHat3Mod,[MR,MT,N/MT]);
zHat3 = squeeze(sum(h.*sHat3Mod,2)) ;
J01 = sum(abs(y - zHat3),1);
% if [s1 s2 ] = [-1,-1 ]
sHat4 = [-1 -1];
sHat4 = repmat(sHat4,[1 ,N/2]);
sHat4Mod = kron(sHat4,ones(MR,1));
sHat4Mod = reshape(sHat4Mod,[MR,MT,N/MT]);
zHat4 = squeeze(sum(h.*sHat4Mod,2)) ;
J00 = sum(abs(y - zHat4),1);
rVec = [J11;J10;J01;J00]; % Finds the minimum from the four possible
combinations
[u dd] = min(rVec,[],1);
ref = [1 1; 1 0; 0 1; 0 0 ]; % Bits mapping
pHat = zeros(1,N);
pHat(1:2:end) = ref(dd,1);
pHat(2:2:end) = ref(dd,2);
nErr(i) = size(find([p- pHat]),2);
end
ber3 = nErr/N; % simulated ber
semilogy(snr,ber1,'r-',snr,ber2,'b-',snr,ber3,'g-'); % plots the ber for
legend('MMSE','ZF', 'ML');
xlabel('SNR (dB)');
ylabel('BER');
title('BER Performance of Different V-BLAST Detection Schemes over 2x2 MIMO
Channels with Rayleigh Channel');
axis([0 45 10^-5 0.5])
grid on
Appendex 3
for ii = 1:length(Eb_N0_dB)
% Transmitter
ip = rand(1,N)>0.5; % generating 0,1 with equal probability
s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0
% Alamouti STBC
sCode = zeros(2,N);
sCode(:,1:2:end) = (1/sqrt(2))*reshape(s,2,N/2); % [x1 x2 ...]
sCode(:,2:2:end) = (1/sqrt(2))*(kron(ones(1,N/2),[-
1;1]).*flipud(reshape(conj(s),2,N/2))); % [-x2* x1*.....]
% Receiver
yMod = kron(reshape(y,2,N/2),ones(1,2)); % [y1 y1 ... ; y2 y2 ...]
yMod(2,:) = conj(yMod(2,:)); % [y1 y1 ... ; y2* y2*...]
end
simBer = nErr/N; % simulated ber
EbN0Lin = 10.^(Eb_N0_dB/10);
theoryBer_nRx1 = 0.5.*(1-1*(1+1./EbN0Lin).^(-0.5));
p = 1/2 - 1/2*(1+1./EbN0Lin).^(-1/2);
theoryBerMRC_nRx2 = p.^2.*(1+2*(1-p));
close all
figure
semilogy(Eb_N0_dB,theoryBer_nRx1,'bp-','LineWidth',2);
hold on
semilogy(Eb_N0_dB,theoryBerMRC_nRx2,'kd-','LineWidth',2);
semilogy(Eb_N0_dB,theoryBerAlamouti_nTx2_nRx1,'c+-','LineWidth',2);
semilogy(Eb_N0_dB,simBer,'mo-','LineWidth',2);
axis([0 25 10^-5 0.5])
grid on
legend('theory (nTx=1,nRx=1)', 'theory (nTx=1,nRx=2, MRC)', 'theory
(nTx=2,nRx=1, Alamouti)', 'sim (nTx=2, nRx=2, Alamouti)');
xlabel('Eb/No, dB');
ylabel('Bit Error Rate');
title('BER for BPSK modulation with Alamouti STBC (Rayleigh channel)');
Appendix 4
clc;
clear;
close all;
%MIMO alamouti Capacity with NR=2, NT=2
snr=0;
for i = 1:10
snr = snr +5;
c=(0.5*log(1+10^(snr/10)))/log(2);
x(i)=snr;
y(i)=c;
end
figure
plot(x,y,'bp-','LineWidth',1.5)
hold on
% capacity of MIMO VBLAST with NR=2, NT=2
NR=2;
rand('state',456321)
snr=0;
for i=1:10;
snr=snr+5;
for j=1:10000;
c(j)=(NR*log(1+(10^(snr/30))*abs(normrnd(0,1)))/log(2));
end
yy(i)=mean(c);
xx(i)=snr;
end
plot(xx,yy,'kd-','LineWidth',1.5)
xlabel('SNR(dB)')
ylabel('Capacity (bit/s/Hz)')
grid on
Appendex 5
N = 2; % Number of transmit antennas
M = 2; % Number of receive antennas
EbNoVec = 2:3:8; % Eb/No in dB
modOrd = 2; % constellation size = 2^modOrd and set up the simulation.
% Create a local random stream to be used by random number generators for
% repeatability.
stream = RandStream('mt19937ar');
ax = [Link];
[Link] = 'log';
xlim([EbNoVec(1)-0.01 EbNoVec(end)]);
ylim([1e-3 1]);
xlabel('Eb/No (dB)');
ylabel('BER');
[Link] = 'off';
[Link] = 'zbuffer';
[Link] = 'Spatial Multiplexing';
title('2x2 coded BPSK System');
set(fig,'DefaultLegendAutoUpdate','off');
% Modulate data
txSig = pskModulator(msg);
% ZF-SIC receiver
r = rxSig;
H = rayleighChan; % Assume perfect channel estimation
% Initialization
estZF = zeros(N*modOrd, 1);
orderVec = 1:N;
k = N+1;
% Start ZF nulling loop
for n = 1:N
% Shrink H to remove the effect of the last decoded symbol
H = H(:, [1:k-1,k+1:end]);
% Shrink order vector correspondingly
orderVec = orderVec(1, [1:k-1,k+1:end]);
% Select the next symbol to be decoded
G = (H'*H) \ eye(N-n+1); % Same as inv(H'*H), but faster
[~, k] = min(diag(G));
symNum = orderVec(k);
% MMSE-SIC receiver
r = rxSig;
H = rayleighChan;
% Initialization
estMMSE = zeros(N*modOrd, 1);
orderVec = 1:N;
k = N+1;
if n < N
r = r - H(:, k) * pskModulator(decBits);
end
end
% ML receiver
r = rxSig;
H = rayleighChan;
[~, k] = min(sum(abs(repmat(r,[1,2^(modOrd*N)]) - H*allTxSig).^2));
estML = allBits(:,k);
% Update BER
BER_ZF( idx, :) = zfBERCalc(msg, estZF);
BER_MMSE(idx, :) = mmseBERCalc(msg, estMMSE);
BER_ML( idx, :) = mlBERCalc(msg, estML);
end
% Plot results
semilogy(EbNoVec(1:idx), BER_ZF( 1:idx, 1), 'r*', ...
EbNoVec(1:idx), BER_MMSE(1:idx, 1), 'bo', ...
EbNoVec(1:idx), BER_ML( 1:idx, 1), 'gs');
legend('ZF-SIC', 'MMSE-SIC', 'ML');
drawnow;
end
% Draw the lines
semilogy(EbNoVec, BER_ZF( :, 1), 'r-', ...
EbNoVec, BER_MMSE(:, 1), 'b-', ...
EbNoVec, BER_ML( :, 1), 'g-');
hold off;