MIMO Wireless Systems: Andreas Constantinides Assaf Shacham May 14, 2004

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

MIMO Wireless Systems

Andreas Constantinides Assaf Shacham


May 14, 2004
1 Introduction
Communication in a slow at Rayleigh fading channel with AWGN is not reliable as the channel frequently
enters into deep fades, (i.e., the channel attenuation is large). More specically, as seen in class, Rayleigh
fading converts an exponential dependency of bit error probability on the signal-to-noise ratio (SNR) into
an inverse relationship. For BPSK, the probability of bit error in an AWGN channel is P
e
= Q
__
2E
b
N
0
_
,
where E
b
/N
0
is the SNR per bit. However, with Rayleigh fading the average probability of bit error is
P
e
=
1
2

_
1


1 +
_
, where =
E
b
N
0
E(
2
), and is Rayleigh distributed
Figure 1 shows clearly this severe degradation in the probability of bit error for BPSK in a Rayleigh
fading channel for E(
2
) = 1.
0 5 10 15 20 25 30 35 40 45
10
6
10
5
10
4
10
3
10
2
10
1
10
0
SNR per bit (dB)
Probability of bit error for BPSK vs SNR per bit
P
r
o
b
a
b
i
l
i
t
y

o
f

b
i
t

e
r
r
o
r
AWGN channel
Rayleigh fading channel
Figure 1: Effect of Rayleigh fading on the probability of bit error for BPSK
In this report, we will be mostly talking about QAM. So for completeness, in Fig. 2, we plot MAT-
LAB simulation results for the probability of symbol error of 16-QAM. As it can be seen, the performance
degradation is as severe as in the BPSK case.
1
0 5 10 15 20 25 30 35 40 45
10
5
10
4
10
3
10
2
10
1
10
0
16QAM SISO Probability of Symbol Error
P
r
o
b
a
b
i
l
i
t
y

o
f

a

S
y
m
b
o
l

E
r
r
o
r
AWGN channel
Rayleigh fading channel
SNR per bit (dB)
Figure 2: Effect of Rayleigh fading on the probability of bit error for 16-QAM
Diversity and coding are two well known techniques for combating fading. Stuber [8] points out that
the basic idea of diversity systems is to provide the receiver with multiple replicas of the same information
bearing signal, where the replicas are affected by uncorrelated fading. In the rst part of this report, we
will concentrate on antenna diversity techniques, giving both analytical as well as simulation results for the
performance of the different techniques.
The second part of our report will concentrate on a recent important extension of antenna diversity, and
more specically the Multiple-Input-Multiple-Output (MIMO) wireless systems idea. The seminal works of
Foschini [2, 3] and Telatar [9] on the capacity of MIMO channels, helped transformed the view that fading
should be considered as an enemy. MIMO systems can be dened simply as having multiple transmitting
and receiving antennas, and one of their key feature is the ability to turn multipath propagation,traditionally
a pitfall in wireless transmission, into a benet for the user [4]. We will look at the benets derived by
using MIMO, and in particular we will look at a specic implementation, V-BLAST [5]. Again here, we
will include extensive MATLAB simulation results that give the performance of V-BLAST. Finally, we will
compare and contrast the benets gained from using antenna diversity or MIMO.
2 Antenna Diversity
As mentioned above, diversity is one of the most effective ways to combat deep fades. Assume that the
receiver is provided with multiple replicas of the same information bearing signal, and denote by p the
probability that the instantaneous SNR is below the receiver threshold on a single diversity branch (p denotes
the probability of outage for that specic threshold in this case). If the receiver is provided with L replicas
that fade independently, then the probability that all the branches are at, or below the threshold at the same
time is equal to p
L
. Proakis [7] identies that the most important diversity techniques are:
Frequency Diversity: The same information bearing signal is transmitted on L carriers, where the
2
separation between successive carriers is equal to or greater than the coherence bandwidth of the
channel.
Time Diversity: The same information bearing signal is transmitted in L different time slots, where the
separation between successive time slots is equal to or greater than the coherence time of the channel.
Antenna Diversity: A single transmitting antenna and L receiving antennas are used. The receiving
antennas are spaced sufciently apart to achieve independence between the received signals.
Antenna diversity, which will be our main topic of discussion in this section, can be achieved via these
arrangements [8]: (i) Spatial, which is the most common method, is achieved by using multiple transmit
and/or receive antennas. The spatial separation between isotropic antennas has to be at least half-wavelength
in order to experience independent fading. (ii) Angle (or direction) diversity requires a number of directional
antennas that select waves arriving from a narrow angle of arrival in order to achieve independent fading.
(iii) Polarization diversity uses the property that scattering tends to de-polarize the signal and uses vertically
and horizontally polarized receive antennas.
In this report, we will concentrate on spatial diversity. Next we describe the methods for combining the
signals received on the different diversity branches.
2.1 Diversity Combining Techniques
There are many methods for combining the different diversity branches at the receiver, the most important
of which and most widely used are: Maximal Ratio Combining (MRC), Equal Gain Combining (EGC) and
Selective Combining (SC) [8]. Let us assume at this point that we have L receivers (diversity branches),
and let us denote by
i
, i = 1, . . . , L, the instantaneous received symbol energy-to-noise ratio on the i-th
diversity branch. As we saw in class, with Rayleigh fading
i
has an exponential pdf.
f

i
(x) =
1

c
e
x/
c
(1)
where
c
is the average received branch symbol energy-to-noise ratio.
2.1.1 Selective Combining
With selective combining, the diversity branch yielding the highest SNR is always selected. Thus, the output
of the selective combiner is

sc
s
= max{
1
, . . . ,
L
} (2)
If the branches experience independent fading, it can be shown that the cdf function of
sc
s
is [8]:
F

sc
s
(x) = Pr[
1
x, . . . ,
L
x] = [1 e
x/
c
]
L
(3)
The probability of outage that we discussed in class is in fact equal to F

sc
s
(x). Figure 3 shows the
probability of outage for selective combining. Note that the largest diversity gain is obtained when going
from L = 1 to L = 2, and diminishing returns are obtained with increasing L.
3
40 35 30 25 20 15 10 5 0 5 10
10
4
10
3
10
2
10
1
10
0

s
sc
(dB)
c
d
f

o
f

s s
c

L=1
L=2
L=3
L=4
Figure 3: Cdf of
sc
s
(probability of outage) for selective combining
40 35 30 25 20 15 10 5 0 5 10
10
4
10
3
10
2
10
1
10
0

s
mrc
(dB)
c
d
f

o
f

s m
r
c
L=1
L=2
L=3
L=4
Figure 4: Cdf of
mrc
s
(probability of outage) for maximal ratio combining
4
SC is impractical for systems that use continuous transmission because it requires monitoring of all
diversity branches. If such monitoring is performed, then it is better to use MRC which is optimal.
2.1.2 Maximal Ratio Combining
With maximal ratio combining, the diversity branches are weighted by their respective complex fading
gains and combined. MRC gives an optimal performance. As we have seen in class, the output of the MRC
combiner,
mrc
s
has the following cdf:
F

mrc
s
(x) = 1 e
x/
c

i=0
1
i!
_
x

c
_
i
(4)
Figure 4 shows the cdf of the output of the maximal ratio combiner. Note, the similarities with Figure 3
in terms of diminishing returns with increasing L, and also that MRC performs better with SC in terms of
probability of outage.
2.1.3 Equal Gain Combining
Equal gain combining is similar with MRC with the only difference that the diversity branches are not
weighted. As it is noted in [8], the cdf and pdf of the output of the EGC combiner,
egc
s
cannot be obtained
in closed form for L > 2. EGC is useful for modulation techniques having equal energy symbols such as
M-PSK.
Besides the plots for the cdf of the combiners for MRC and SC, we also performed extensive MATLAB
simulations to see the performance of antenna diversity systems when 16-QAM is used. Figure 5 shows the
performance of dual diversity systems in terms of probability of symbol error. As we can see, MRC has
superior performance and is closely followed by EGC. As expected, SC has the worst performance. Then,
in Figures 6 and 7 we calculate the probability of symbol errors for selective combining and equal gain
combining for different number of antennas (2, 4, 6, 8). Note again the diminishing returns with increasing
L.
5
0 10 20 30 40 50 60
10
3
10
2
10
1
10
0
Dual Antenna Diversity (16QAM): slow flat Rayleigh AWGN Channel
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
1 Antenna
Selective Combining
Equal Gain Combining
Maximal Ratio Combining
Figure 5: Dual antenna diversity for 16-QAM
0 10 20 30 40 50 60
10
5
10
4
10
3
10
2
10
1
10
0
Antenna Diversity Selective Combining (16QAM): slow flat Rayleigh AWGN Channel
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
1 Antenna
2 Antennas
4 Antennas
6 Antennas
8 Antennas
Figure 6: Selective Combining with different number of antennas for 16-QAM
6
0 10 20 30 40 50 60
10
5
10
4
10
3
10
2
10
1
10
0
Antenna Diversity Equal Gain Combining (16QAM): slow flat Rayleigh AWGN Channel
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
1 Antenna
2 Antennas
4 Antennas
6 Antennas
8 Antennas
Figure 7: Equal Gain Combining with different number of antennas for 16-QAM
3 MIMO
As we have seen in the previous section, there are huge performance gains in terms of symbol error proba-
bilities when antenna diversity is used. In this section, we will briey look at the Multiple-Input-Multiple-
Output (MIMO) idea which was was inspired by the seminal works of Foschini [2, 3] and Telatar [9] on
the capacity of MIMO channels. As mentioned above, the ideas behind MIMO helped transformed the view
that fading should be considered as an enemy. MIMO systems can be dened simply as having multiple
transmitting and receiving antennas. Let us assume that the number of transmitting antennas is M, and the
number of receiving antennas is N. We will rst look at the capacity of different antenna systems in order
to see the dramatic increases in capacity obtained by using MIMO systems.
3.1 Capacity of conventional multiple antenna systems
The Shannon capacity of different multiple antenna systems will be now presented. Our expressions are
approximate, but they give an intuition for the derived benets in terms of channel capacity when using
multiple antennas. Our analysis is based on the book of Durgin [1].
3.1.1 Single-Input, Single-Output (SISO)
This is the conventional system that is used everywhere. Assume that for a given channel, whose bandwidth
is B, and a given transmitter power of P the signal at the receiver has an average signal-to-noise ratio of
SNR
0
. Then, an estimate for the Shannon limit on channel capacity, C, is
C B log
2
(1 +SNR
0
) (5)
7
3.1.2 Single-Input, Multiple-Output (SIMO)
For the SIMO system, we have N antennas at the receiver. If the signals received on these antennas have
on average the same amplitude, then they can be added coherently to produce an N
2
increase in the signal
power. On the other hand, there are N sets of noise that are added incoherently and result in an N-fold
increase in the noise power. Hence, there is an overall increase in the SNR
SNR
N
2
(signal power)
N (noise)
= N SNR
0
(6)
Thus, the channel capacity for this channel is approximately equal to
C B log
2
(1 +N SNR
0
) (7)
3.1.3 Multiple-Input, Single-Output (MISO)
In the MISO system, we have M transmitting antennas. The total transmitted power is divided up into the
M transmitter branches. Following a similar argument as for the SIMO case, if the signals add coherently at
the receiving antenna we get approximately an M-fold increase in the SNR as compared to the SISO case.
Note here, that because there is only one receiving antenna the noise level is the same as in the SISO case.
Thus, the overall increase in SNR is approximately
SNR
M
2
(signal power/M)
noise
= M SNR
0
(8)
Thus, the channel capacity for this channel is approximately equal to
C B log
2
(1 +M SNR
0
) (9)
3.1.4 Multiple-Input, Multiple-Output (MIMO)- Same signal transmitted by each antenna
The MIMO system can be viewed in effect as a combination of the MISO and SIMO channels. In this case,
it is possible to get approximately an MN-fold increase in the SNR yielding a channel capacity equal to
C B log
2
(1 +MN SNR
0
) (10)
Thus, we can see that the channel capacity for the MIMO system is higher than that of MISO or SIMO.
However, we should note here that in all four cases the relationship between the channel capacity and the
SNR is logarithmic. This means that trying to increase the data rate by simply transmitting more power is
extremely costly [6].
3.1.5 Multiple-Input, Multiple-Output (MIMO)- Different signal transmitted by each antenna
Our assumption here is that N M, so that all the transmitted signals can be decoded at the receiver. The
big idea in MIMO is that we can send different signals using the same bandwidth and still be able to decode
correctly at the receiver. Thus, it is like we are creating a channel for each one of the transmitters. The
capacity of each one of these channels is roughly equal to
C
single
B log
2
(1 +
N
M
SNR
0
) (11)
8
But, since we have M of these channels (M transmitting antennas), the total capacity of the system is
C M B log
2
(1 +
N
M
SNR
0
) (12)
Thus, as we can see from (12), we get a linear increase in capacity with respect to the number of
transmitting antennas. So, the key principle at work here, is that it is more benecial to transmit data using
many different low-powered channels than using one single, high-powered channel [1]. In the next section,
we will briey describe a specic implementation of the MIMO idea, the V-BLAST algorithm [5, 10], and
analyze its performance using a MATLAB simulation.
4 MIMO Implementation: V-BLAST
Since the V-BLAST architecture was extensively discussed in class, we will only briey describe it here.
We assume that we have M transmitting and N receiving antennas, where M N, and also that there is
a rich scattering environment. Each transmitter is an ordinary QAM transmitter operating co-channel with
synchronized symbol timing. In effect, the collection of transmitters comprises a vector valued transmitter.
We assume that the same constellation, (16-QAM in our MATLAB simulation), is used by each transmitter.
The total transmitted power is constant, and thus the power transmitted by each transmitted is proportional
to 1/M. The main idea behind the V-BLAST algorithm is to use symbol cancellation as well as linear
nulling to perform detection in a recursive way. The full details of how the recursive V-BLAST algorithm is
implemented can be found in [10, 5], and are not reproduced here. In our MATLAB simulation, we used the
V-BLAST algorithm in 3 different architectures: 4x8, 8x12, and 12x16. The details of the MATLAB code
and implementation are given in the appendix. Here, we just present plots of symbol error probabilities vs
SNR for the 3 different simulated architectures.
18 20 22 24 26 28 30
10
3
10
2
10
1
10
0
BLAST: M=4, N=8, 16QAM
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
Figure 8: V-BLAST: 4 Transmitters, 8 Receivers
9
18 20 22 24 26 28 30
10
3
10
2
10
1
10
0
BLAST: M=8, N=12, 16QAM
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
Figure 9: V-BLAST: 8 Transmitters, 12 Receivers
18 20 22 24 26 28 30
10
3
10
2
10
1
10
0
BLAST: M=12, N=16, 16QAM
SNR per bit (dB)
P
r
o
b
a
b
i
l
i
t
y

o
f

S
y
m
b
o
l

E
r
r
o
r
Figure 10: V-BLAST: 12 Transmitters, 16 Receivers
10
5 Conclusion
As it can be seen from Figures 8,9,10 our simulated results for V-BLAST resemble quantitatively the ex-
perimental results of [5]. These results hint at the great capacity gains that can be achieved by using MIMO
systems. So far however, only indoor experiments were achieved very successfully with V-BLAST architec-
tures. It remains to be seen if the capacity gains promised by the seminal works of Foschini [2] and Telatar
[9] can be also obtained in other environments.
APPENDIX
SIMULATION DOCUMENTATION
In this research project we have made 4 groups of simulations:
Single Input Single Output
Single Input Dual Output - comparing combining techniques.
Single Input Multiple Outputs - showing the effect of additional receivers.
Multiple Input Multiple Outputs - BLAST
SISO - Single Input Single Output (File: SISO.m)
In this simulation we used a single 16-QAM transmitter and a single receiver and simulated two channel
between the two: and additive white Gaussian noise channel (AWGN) and a Rayleigh fading channel. For
the Rayleigh fading channels we used the Rayleigh distribution parameter r=0.24. This parameter was
picked after simulating numerous Rayleigh fading channels and picking the channel that gave a -30 dB
fading 2We compared the channels, sweeping across a wide range of Eb/No and calculating the symbol
error rates for 100 blocks of 256 symbols, per each energy level.
SIDO - Single Input Dual Output (File: SIDO.m)
Based on the SISO simulation, we added another receiving antenna and simulated the three combining
methods. The comparison is done against the mean symbol error rate of the two antennas.
SIMO - Single Input Multiple Output (File: SIMO.m)
Based on the SISO simulation, we tested two combining (selection combining and equal gain combining)
methods with multiple antennas. The combined signals symbol error rates are compared to that of a single
antenna.
MIMO - Multiple Input Multiple Output - V-BLAST (File: VBLAST.m)
Using the V-BLAST algorithm from [5] we simulated a multiple inputs multiple outputs environment. The
results for 4 transmitter, 8 receiver setup are shown along with the results for 8x12 and 12x16 setups.
11
References
[1] Gregory D. Durgin. Space-Time Wireless Channels. Prentice Hall, New Jersey, 2003.
[2] G. J. Foschini. Layered space-time architecture for wireless communication in a fading environment
when using multiple antennas. Bell Labs Technical Journal, 1(2):4159, Autumn 1996.
[3] G.J. Foschini and M.J. Gans. On limits of wireless communication in a fading environment when using
multiple antennas. Wireless Personal Communications, 6(3):311335, 1998.
[4] D. Gesbert, M. Sha, D. S. Shiu, P. Smith, and A. Naguib. From theory to practice: An overview
of mimo space-time coded wireless systems. IEEE Journal on Selected Areas in Communications,
21(3):281 302, April 2003.
[5] G. Golden, G. Foschini, R. Valenzuela, and P. Wolniasky. Detection algorithm and initial laboratory
results using the v-blast space-time communication architecture. Electronics Letters, 35(1):1415,
January 1999.
[6] Angel Lozano, Farrokh R. Farrokhi, and Reinaldo A. Valenzuela. Lifting the limits on high-speed wire-
less data access using antenna arrays. IEEE Communications Magazine, pages 156162, September
2001.
[7] John G. Proakis. Digital Communications. McGraw Hill, New York, 4th edition, 2000.
[8] Gordon L. Stuber. Principles of Mobile Communication. Kluwer Academic Publishers, Boston, 2nd
edition, 2001.
[9] I. Emre Telatar. Capacity of multi-antenna gaussian channels. Technical Memorandum, Bell Labora-
tories, Lucent Technologies, October 1995.
[10] P. Wolniansky, G. Foschini, G. Golden, and R. Valenzuela. V-blast: an architecture for realizing very
high data rates over the rich-scattering wireless channel, 1998.
12
13

MATLAB CODE

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SISO.m
% Single Input Single Output 16-QAM Simulation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
close all;
SignalEnergyMin = 2;
SignalEnergyMax = 42;
SignalEnergy_d = 1;
BlocksPerEnergy = 100;
BlockSize = 2^8;
SamplingRate = 6;
WGNPower = 1;
RayleighParam = .4;
Antennas = 2;
M=16;
for aa=1:Antennas
Gvec1 = randn(1,BlocksPerEnergy);
Gvec2 = randn(1,BlocksPerEnergy);
RayleighVec(aa,:) = sqrt((RayleighParam^2.*Gvec1.^2)+(RayleighParam^2.*Gvec2.^2));
end
RayleighVec(1,:) = ones(1,size(RayleighVec,2));
EnergiesdB = SignalEnergyMin:SignalEnergy_d:SignalEnergyMax;
Energies = 10.^(EnergiesdB./10);
for ee = 1:size(Energies,2)
for bb = 1:BlocksPerEnergy
A = randint(1,BlockSize,16); % Generate Data Stream
B = mod16qam (A,1,SamplingRate,Energies(ee))'; % 16-QAM Modulation
for aa=1:Antennas
disp(['Eb = ',int2str(Energies(ee)),'; Block ',int2str(bb),'; Antenna ',int2str(aa)]);
C(aa,:) = RayleighVec(aa,bb).*B; % Rayleigh fading
D(aa,:) = AWGN(C(aa,:),WGNPower); % AWGN
[E(aa,:),Eb(aa,bb)] = demod16qam (D(aa,:),1,SamplingRate); % Demodulate
[TT,SER(aa,bb)] = symerr(A,E(aa,:)); % Measure BER per antenna
end
end
for aa=1:Antennas
ESER(aa,ee) = mean(SER(aa,:),2);
end
end
Eaxis = 10*log10((SignalEnergyMin:SignalEnergy_d:SignalEnergyMax)./(WGNPower^2));
figure;
semilogy(EnergiesdB,ESER,'+');
title ('\fontsize{12}\bf16-QAM SISO Bit Error Rate in a slow flat Rayleigh AWGN Channel');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('No fading','Rayleigh fading (r=0.24)');
%% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF
14

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
%
% SISO.m
% Single Input Dual Output 16-QAM Simulation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
clear;
close all;
SignalEnergyMin = 4;
SignalEnergyMax = 52;
SignalEnergy_d = 1;
BlocksPerEnergy = 200;
BlockSize = 2^8;
SamplingRate = 1;
WGNPower = 1;
RayleighParam = .24;
Antennas = 2;
M=16;
for aa=1:Antennas
Gvec1 = randn(1,BlocksPerEnergy);
Gvec2 = randn(1,BlocksPerEnergy);
RayleighVec(aa,:) = sqrt((RayleighParam^2.*Gvec1.^2)+(RayleighParam^2.*Gvec2.^2));
end
EnergiesdB = SignalEnergyMin:SignalEnergy_d:SignalEnergyMax;
Energies = 10.^(EnergiesdB./10);
for ee = 1:size(Energies,2)
for bb = 1:BlocksPerEnergy
A = randint(1,BlockSize,16); % Generate Data Stream
B = mod16qam (A,1,SamplingRate,Energies(ee))'; % 16-QAM Modulation
for aa=1:Antennas
disp(['Eb = ',int2str(Energies(ee)),'; Block ',int2str(bb),'; Antenna ',int2str(aa)]);
C(aa,:) = RayleighVec(aa,bb).*B; % Rayleigh fading
D(aa,:) = AWGN(C(aa,:),WGNPower); % AWGN
[E(aa,:),Es(aa,bb)] = demod16qam (D(aa,:),1,SamplingRate); % Demodulate
[TT,SER(aa,bb)] = symerr(A,E(aa,:)); % Measure SER per antenna
end
% Selective Combining
stronger = (find (Es(:,bb) == max (Es(:,bb))));
[SC,E_sc(1,bb)] = demod16qam (D(stronger,:),1,SamplingRate);
[TT,SER_sc(bb)] = symerr(A,SC); % Measure SER per antenna
% Equal Gain Combining
[EGC,E_egc(1,bb)] = demod16qam (mean(D,1),1,SamplingRate);
[TT,SER_egc(bb)] = symerr(A,EGC); % Measure SER per antenna
% Maximal Ratio Combining
for aa=1:Antennas
r(aa) = sqrt(Es(aa,bb)/Energies(ee));
end
for aa=1:Antennas
a(aa) = r(aa)/sum(sqrt(r));
end
15

[MRC,E_mrc(1,bb)] = demod16qam (r(1)*D(1,:)+r(2)*D(2,:),1,SamplingRate);
[TT,SER_mrc(bb)] = symerr(A,MRC); % Measure SER per antenna
end
for aa=1:Antennas
ESER(aa,ee) = mean(SER(aa,:),2);
end
ESER_sc(ee) = mean(SER_sc,2);
ESER_egc(ee) = mean(SER_egc,2);
ESER_mrc(ee) = mean(SER_mrc,2);
end
figure;
semilogy(EnergiesdB,mean
(ESER,1),'+',EnergiesdB,ESER_sc(1,:),'d',EnergiesdB,ESER_egc(1,:),'d',EnergiesdB,ESER_mrc(1,:),'d');
title ('\fontsize{10}\bfAntenna Diversity (16-QAM): \rm2 Received signals with close power levels (slow flat
Rayleigh AWGN Channel)');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('Antenna 1+2','Selective Combining','Equal Gain Combining','Maximum Ratio Combining');
%% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF
16

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% SIMO.m
% Single Input Multiple Outputs 16-QAM Simulation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
close all;
SignalEnergyMin = 4;
SignalEnergyMax = 52;
SignalEnergy_d = 1;
BlocksPerEnergy = 100;
BlockSize = 2^8;
SamplingRate = 1;
WGNPower = 1;
RayleighParam = .24;
Antennas = 8;
M=16;
for aa=1:Antennas
Gvec1 = randn(1,BlocksPerEnergy);
Gvec2 = randn(1,BlocksPerEnergy);
RayleighVec(aa,:) = sqrt((RayleighParam^2.*Gvec1.^2)+(RayleighParam^2.*Gvec2.^2));
end
EnergiesdB = SignalEnergyMin:SignalEnergy_d:SignalEnergyMax;
Energies = 10.^(EnergiesdB./10);
for ee = 1:size(Energies,2)
for bb = 1:BlocksPerEnergy
A = randint(1,BlockSize,16); % Generate Data Stream
B = mod16qam (A,1,SamplingRate,Energies(ee))'; % 16-QAM Modulation
for aa=1:Antennas
disp(['Eb = ',int2str(Energies(ee)),'; Block ',int2str(bb),'; Antenna ',int2str(aa)]);
C(aa,:) = RayleighVec(aa,bb).*B; % Rayleigh fading
D(aa,:) = AWGN(C(aa,:),WGNPower); % AWGN
[E(aa,:),Es(aa,bb)] = demod16qam (D(aa,:),1,SamplingRate); % Demodulate
[TT,SER(aa,bb)] = symerr(A,E(aa,:)); % Measure SER per antenna
end
for aa=2:2:Antennas
TempEs = Es(1:aa,bb);
% Selective Combining
stronger = (find (TempEs == max (TempEs)));
[SC,E_sc(1,bb)] = demod16qam (D(stronger,:),1,SamplingRate);
[TT,SER_sc(aa/2,bb)] = symerr(A,SC); % Measure SER per antenna
% Equal Gain Combining
TempD = D(1:aa,:);
[EGC,E_egc(1,bb)] = demod16qam (mean(TempD,1),1,SamplingRate);
[TT,SER_egc(aa/2,bb)] = symerr(A,EGC);
end
end
for aa=1:Antennas
ESER(aa,ee) = mean(SER(aa,:),2);
end
17

ESER_sc(:,ee) = mean(SER_sc,2);
ESER_egc(:,ee) = mean(SER_egc,2);
% ESER_mrc(ee) = mean(SER_mrc,2);
end
figure;
semilogy(EnergiesdB,mean (ESER,1),'+',EnergiesdB,ESER_sc,'d-');
title ('\fontsize{10}\bfAntenna Diversity - Selective Combining (16-QAM): \rmslow flat Rayleigh AWGN
Channel');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('Antenna 1+2','2 Antennas','4 Antennas','6 Antennas','8 Antennas');
figure;
semilogy(EnergiesdB,mean (ESER,1),'+',EnergiesdB,ESER_egc,'x-');
title ('\fontsize{10}\bfAntenna Diversity - Equal Gain Combining (16-QAM): \rmslow flat Rayleigh AWGN
Channel');
xlabel ('Eb/N_0'); ylabel ('SER');
legend('Antenna 1+2','Equal Gain Combining 2','Equal Gain Combining 4','Equal Gain Combining 6','Equal
Gain Combining 8');
%% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF
18

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% VBLAST.m
% Multiple Inputs Multiple Outputs (V-BALST algorithm) 16-QAM Simulation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
close all;
SignalEnergyMin = 2;
SignalEnergyMax = 13;
SignalEnergy_d = 0.5;
BlockSize = 2^8;
BlocksPerEnergy = 20;
SamplingRate = 1;
WGNPower = 1;
RayleighParam = 1;
Transmitters = 4;
Receivers = 8;
EnergiesdB = SignalEnergyMin:SignalEnergy_d:SignalEnergyMax;
Energies = 10.^(EnergiesdB./10);
for ee = 1:size(Energies,2)
Eb = Energies(ee)/Transmitters;
for bb=1:BlocksPerEnergy
disp(['Eb = ',int2str(Energies(ee)),'; Block ',int2str(bb)]);
RayleighMat = RayleighParam^2*randn (Receivers,Transmitters) + j*RayleighParam^2*randn
(Receivers,Transmitters);

%RayleighMat = RayleighMat*.1;

A = randint(Transmitters,BlockSize,16); % Generate Data Stream A(rows =
xmitters, cols = symbols)
B = mod16qam (A,1,SamplingRate,Eb)'; % 16-QAM Modulation
noise = (WGNPower).*randn(size(RayleighMat*B)) +
j*(WGNPower).*randn(size(RayleighMat*B));
C = RayleighMat*B + noise;
k = [];
H = RayleighMat;
r=C;
for tt=1:Transmitters
% find best signal
G = pinv(H);
normG = sum(abs(G).^2,2);
normG(k) = inf;
k(tt) = find(normG == min(normG));
w = G(k(tt),:) ;
y = w*r;
[E(k(tt),:),Eb_rec(k(tt))] = demod16qam (y,1,SamplingRate); % Demodulate
% nulling starts here
r = r - H(:,k(tt))*(mod16qam (E(k(tt),:),1,SamplingRate,Eb_rec(k(tt))))';
19

H(:,k(tt)) = zeros(size(H(:,k(tt))));
end
SER(:,bb) = 1-sum(A==E,2)/size(A,2); % Measure BER per T-R pair.
end
NC_ESER(ee)=mean(mean(SER,2),1);
end
figure;
semilogy(EnergiesdB,NC_ESER,'b+');
title (['\fontsize{12}\bfBLAST: \rmM=',int2str(Transmitters),', N=',int2str(Receivers),', 16-QAM']);
xlabel ('Eb/N_0'); ylabel ('SER');
%% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF %% EOF
20

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% mod16qam.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Y = mod16qam(X,Fd,Fs,Eb);
% 16-QAM modulation
%----------------------
% Y = mod16qam(X,Fd,Fs,Eb)
%
% X - data stream
% Fd - data sampling rate
% Fs - Modulation signal samling rate (Fs/Fd integer)
% Eb - Average bit energy
%
M = 16;
half_d = sqrt(sqrt(0.4*Eb));
Y = half_d*dmodce(X,Fd,Fs,'qask',M)'; % QAM modulation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% demod16qam.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Y,Eb] = demod16qam(R,Fd,Fs);
% 16-QAM modulation
%----------------------
% [Y,Eb] = demod16qam(R,Fd,Fs)
%
% R - received signal (row vector)
% Fd - data sampling rate
% Fs - Modulation signal samling rate (Fs/Fd integer)
% Y - Output signal
% Eb - Average energy per received symbol
M = 16;
n = size(R,2);
Es = sum(abs(R).^2)/n;
Eb = Es/4;
half_d = sqrt(0.4*Eb);
% scatterplot(ynoisy,5,0,'b.'); % scatter plot of signal+noise
Y = ddemodce(R/half_d,Fd,Fs,'qask',M); % demodulated signal

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy