Вы находитесь на странице: 1из 53

SUMMER INTERNSHIP 2015

Multi User MIMO channel


Submitted by
AMIT KUMAR

Under the guidance of


DR. PRASANT KUMAR SAHU

Department
Of
School of Electrical Sciences

Indian Institute of Technology, Bhubaneswar

DEPARTMENT OF ELECTRICAL SCIENCES


IIT BHUBANESWAR
ACCEPTANCE CERTIFICATE

The Summer Internship Project entitled MULTI user MIMO by Amit Kumar
for the purpose of Internship Certificate.

Dated: 22nd June 2015

Signature

______________

Name: Dr. Prasant Kumar Sahu

DECLARATION

I am aware of the Institutes policy on plagiarism and I certify that this piece of
work is my own with all sources fully acknowledged.

______________

Name: Amit Kumar

Acknowledgment
Myself AMIT KUMAR summer intern of Multiuser MIMO is over
whelmed in all humbleness and gratefulness to acknowledge my
sincere thanks to all those who have helped me to put my ideas and
assigned work, well above the level of simplicity and into
something concrete.

I thank whole heartedly DR. PRASANT KUMAR SAHU for


selecting me a part of his valuable project, constantly motivating for
doing better and showing complete confidence in my work.

I am very thankful to my mentors Dr . Bijayananda Patnaik and


Mr. Himansu Shekhar Pradhan for their valuable help. They were
always there to show me the right track when I was in need. With
help of their valuable suggestions, guidance and encouragement, I
was able to complete my tasks properly and with satisfaction. Also
in the process, I learnt a lot other technical and non-technical things
from them and I consider myself to be very fortunate to have such
mentors.

ABSTRACT
The channel modelling is an important part of mobile radio
communication. The channel simulators help us to study how
real world mobile communication systems behave in
effective and efficient manner.
In this project I have discussed in detail about MIMO
channel, MIMO channel modelling and I have implemented
MIMO concept on optical fibre.
My first part of project is mainly focused on modelling of
MIMO channel, where statistical properties of a MIMO
channel is discussed mainly using one ring geometrical
model and PAS models. In one ring geometrical model
isotropic scattering condition is assumed [4], high accuracy
of the simulation model is demonstrated by comparing its
statistical properties with those of the underlying reference
model.
Since in MIMO system signal propagates over multipath so
at the receiver side delayed version of same signal is
received therefore study of spatial correlation between
signals is very important. In fact, a mathematical analysis
for spatial correlation requires a distribution of PAS for the
real environments channel [2] as indoor, outdoor, microcell,
macro cell. Therefore, various PAS models are discussed and
their results are simulated using MATLAB.
In the second part of this project MIMO channel
implemented on optical fibre using wavelength division
multiplexing technique and to increase Q value of output
signal at 180km distance, equalizer is used .Here back
propagation algorithm is used to realise equalizer.

INTRODUCTION
MIMO is sending and receiving multiple signals
simultaneously by using array of antennas at both
transmitter and receiver sides.22MIMO means system
can support 2 channel and 2 antennas it have. By using
spatial diversity technique MIMO systems increase data
rate in limited available bandwidth as well increases
channel capacity.
MIMO system typically consists of M T transmit and M R
receive antennas by using same channel, every antenna
receives not only direct component intended for it but
also indirect component intended for other antennas.
The direct component from antenna 1 to antenna 1 is
specifi ed with h 1 1 and indirect connection from antenna
1 to 2 is defi ned as cross component h 2 1 .
The fi gure below shows the fundamental concept of
MIMO system [1].

Output of the system can be expressed as [3]


y() = H() s() + n()
Where H () is the channel impulse response and s () is the
transmitted signal
y () is the received signal and n ( ) is the
additive white Gaussian noise denotes convolution.

If bandwidth is narrow so that channel can be treated


as approximately constant over frequency (fl at channel)
then corresponding input-output relationship simplifi es
to [3]
y = Hs + n
In many cases, the elements of narrowband MIMO channel matrix
are assumed [3] to be independent and identically distributed (IID)
when studying the MIMO channel capacity. In reality, however, due
to insufficient spacing between antenna elements and limited
scattering in the environment, the fading is not always independent
causing a lower MIMO channel capacity compared to the ideal, IID
case. Therefore the proposed MIMO channel models should take this
effect into account.
The data to be transmitted is divided into independent data streams
M. The number of data elements is always less than or equal to
number of antennas.
When the individual data streams are assigned to various users then
it is called multi user MIMO.

CHANNEL MODELLING
Modelling a channel is calculating all physical processing which
are affecting a signal from transmitter to the receiver. Initially some
basic faded channel modelling is described later on MIMO channel
modelling is studied.
Mainly, most of the channel model simulators are implemented
based on the sum-of-sinusoids principle which is first introduced by
Rice and then developed later. Starting from the idea that each
signal can be expressed under sum-of-sinusoids, we assumed that
any model type is able to be implemented following the sum-ofsinusoids principle. In mobile channel modelling, we begin from
fundamental channel models which are Rayleigh and Rice models.
Thus, these two latter are the result of the sum of two Gaussian
processes. Here, the Gaussian process is structured as follow: for
reference model N is infinite. [6]

For simulation model N is finite number of harmonic functions


[6]

When using the Rice method, we assume that numbers of sinusoids


are infinite. But, in real-world we consider N as small as possible
aiming to let the implementation of the simulation realizable, LPNM
calculation method gives N as 25 most suitable for simulation model
[1]

We compare the simulation model with the reference model. Thus,


we try to minimize the error modelling as much as possible to
achieve best match. These relationships will accompany for all
channel models. The simulation models are based on the principle of
deterministic channel modelling. The principle of deterministic
channel modelling consists of the following steps to proceed [4]
Step1: Starting point reference model. Based on one or several
Gaussian processes, each with prescribe autocorrelation function.
Step2: Derive a stochastic simulation model from the reference
model by replacing the Gaussian process by sum-of sinusoid with
fixed gain, fixed frequency, and random phases.
Step3: Determine a deterministic simulation model by fixing all
model parameters of the stochastic simulation model including the
phases.
Step4: Compute the model parameters of the simulation model by
fitting the relevant statistical properties of the deterministic (or
stochastic) simulation model to those of reference model.
Step5: Perform the simulation of one (or some few) sample
functions
Pictorially steps can be shown as [7]
4.
Parameter
Computation

5.
Simulation of
sample function
Fixed parameters

E{.}
1.
Reference model

Infinite complexity
Ni (
)
Infinite no of samples

E{.}

Time

avarage
<.>

2.
Stochastic SOS
simulation model

3.
Deterministic SOS
simulation model

Ni 10)
Finite complexity
(
Infinite no of samples

Finite complexity
Ni 10)
(
One sample function

MIMO channel modelling


Channel modelling is process and method of designing MIMO
system to address the issues, problems relevant to the system, and
provide analysis to enhance and develop the system by simulating.
Multipath is vital characteristic of data transmission in wireless
communication systems. Wireless channel affects the signal to
travel in multipath between transmitter and receiver. It causes
different impairment to transmitted signal. Receiver gets the
reflection of same symbols in delay versions. Delays which is also
called as fading occurs due to reflection, refractions, diffractions,
shadowing etc. due to the buildings, trees, aircrafts, humidity,
temperature etc. Delay or fading could be in form of changing
phase or magnitude of signals.
Multipath affects and delayed symbols reduce the channel
efficiency, throughput and causes corrupted information at
receiver.

Typical mobile radio propagation scenario [7]


One of the techniques deployed to counter act the multipath fading
is MIMO to retrieve the strongest signal from the channel.
In order to model MIMO following factors are taken into
consideration to get maximum required results [8]
Free space loss and path loss

Trees, building which cause Shadowing


For mobile environment Doppler shift and delay spread due to
multi path
Joint correlation of antenna at sending and receive end
Channel matrix singular value distribution
Modelling of MIMO channel can be done by using generalized
principles of deterministic channel modelling in which.
>>starting point is a geometrical model with an infinite number of
scatterers e.g., one ring model
>>from geometrical model reference model is derived where number
of scatterers are infinite
>>by taking finite number of scatterers and fixing all model
parameters of stochastic simulation model, deterministic simulation
model is obtained
GEOMETRICAL ONE RING MODEL
Assumptions: [4]
1 .All scatters are located on the same ring around the Mobile
station.
2. Base station is elevated.
3. No line of sight is there between mobile station and base station.
For convenience, the BS and the MS play the roles of the
transmitter and receiver, respectively.

FIGURE: geometrical one ring model [4]

Where;
b s : Antenna element spacing at base station
m s : Antenna element spacing at mobile station
b s : Multi-element antenna tilt angle at base station
m s : Multi-element antenna tilt angle at mobile station
v : Angle of motion
n b s : Angle of departure at base station
n m s : Angle of arrival at mobile station
D: The distance between the base station and the mobile station
R: Radius of the ring of scatters around the mobile station
If the number of scatterers N approaches to then discrete AOA
nms becomes continuous random variables with a given
distribution p(ms),e.g. The uniform distribution, the Von Mises
distribution, the Laplacian distribution.
Since at base station and at mobile station 2 element antenna is used
therefore channel matrix can be given as [1]

H(t)=[h i j (t)]=

h 11(t) h 12(t)
h21( t) h 22(t)

The matrix elements are the channel gains for every antenna
element at the base station towards every antenna element at the
mobile station and mathematically they can be written as [1]

h 1 1 (t) =

h 1 2 (t) =

1
lim
N
N
1
lim
N
N

a b e
n 1
N

n n

j ( 2 f nt n )

j ( 2 f nt n )
a
b
e
n n
n 1

h 2 1 (t) =

h 2 2 (t) =

1
lim
N
N
1
lim
N
N

a b
n 1

n n

e j ( 2 f nt n )

an bn e j (2 fnt n )

n 1

Where phases n are i.i.d Rvs.


A measure for the correlation between the channel components h11 (t) and h22
(t) is the so-called space-time CCF, which is defined as [1]

11, 22 ( BS , MS , ) E{h11 (t )h22


(t )};

lim

1
N

a
n 1

2
n

bn2 e j 2 f n

a n2 ( BS )bn2 ( MS )e j 2f n p ( MS )d MS

PAS model
PAS is an important factor in determining the spatial correlation
between antenna elements.
For different channel environment there are various PAS model [2]1. n t h power of cosine pas model- here PAS is expressed in n t h power
of cosine function,2.uniform PAS model is useful in rich scattering
environment such as indoor , 3. The Truncated Laplacian PAS model
is commonly employed for macro cell or microcell environments.
MATLAB CODE & SIMULATION RESULTS
1. PERFORMANCE EVALUATIONIn this section, we assess the accuracy of the proposed stochastic
simulation model by comparing its statistical properties with those
of the reference model.
1. Comparison of time ACF
The transmit correlation function of the reference model and the
corresponding correlation function of the stochastic simulation
model are presented in first simulation result. Notice that the

presented results not only confirm the theory but they visualize as
well that the approximation
Time ACF (simulation) Time ACF (reference) is excellent in the
range of 0 to tau (max) = 0.08

MATLAB code:
1. Comparison of Time ACF of reference model and simulation model
N=25;
f_max=91;
k=10;
phi_0=pi/ (2*N);
alphav=pi/12;
tau=linspace(0,0.1,200);
phiMS=linspace(-pi,pi,100);
von_mises=exp(k*cos(phiMS-phi_0))/(2*pi*besseli(0,k));
ACF_reference= zeros(200);
ACF_simulation= zeros(200);
phi=zeros(N,1);
for n=1:N
phi(n)=(1/N)*2*pi*n-0.5*pi/N;
end
for k=1:length(tau)
ACF_reference(k)=trapz(phiMS,exp(-sqrt(1)*2*pi*f_max*cos(phiMS-.alphav).*tau(k)).*von_mises);
ACF_simulation(k)=sum(exp(-sqrt(-1).*2.*pi.*f_max.*cos(phi-
alphav).*tau(k)))/length(phi);
end
plot(tau,ACF_reference, 'r',tau,ACF_simulation,'--')
legend ('ACF reference','ACF simulation')
ylabel('time autocorrelation function' )
xlabel('time seperation')
2.2D SPACE CCF of reference model
N=25;
k=10;
mu_0=pi/(2*N);
f_max=91;

t=1;
tau=linspace(0,N/182,30);
mu_0=pi/(2*N);
phiBS_max=pi/90;
alphaBS=pi/2;
alphaMS=pi/2;
deltaBS=linspace(0,30,30);
deltaMS=linspace(0,3,30);
phiMS=linspace(-pi,pi,25);
phi_NMS=zeros(N,1);
von_mises=exp(k*cos(alphaMS-mu_0))/(2*pi*besseli(0,k));
CCF_reference=zeros(length(deltaBS),length(deltaMS));
for n=1:N
phi_NMS(n)=(1/N)*2*pi*n-0.5*pi/N;
end
for q=1:length(deltaBS)
for g=1:length(deltaMS)
a=exp(sqrt(-1).*pi.*deltaBS(q).*(cos(alphaBS)
+phiBS_max.*sin(alphaBS).*sin(phi_NMS)));
b=exp(sqrt(-1).*pi.*deltaMS(g).*cos(phi_NMS-alphaMS));
CCF_reference(q,g)=trapz(phiMS,a.^2.*b.^2.*von_mises);
end
end
surf(real(CCF_reference));
set(gca,'YDir','reverse');
title('2D space CCF OF reference model' )
ylabel('deltaMS/lambda')
xlabel('deltaBS/lambda')
zlabel('2D space CCF')

3.2D SPACE CCF of Simulation model


N=25;
k=10;
f_max=91;
t=1;
tau=linspace(0,N/(2*f_max),30);
mu_0=pi/(2*N);
phiBS_max=pi/90;
alphaBS=pi/2;
alphaMS=pi/2;

deltaBS=linspace(0,25,30);
deltaMS=linspace(0,3,30);
phiMS=linspace(-pi,pi,25);
phi_NMS=zeros(N,1);
von_mises=exp(k*cos(alphaMS-mu_0))/(2*pi*besseli(0,k));
for n=1:N
phi_NMS(n)=(1/N)*2*pi*n-0.5*pi/N;
end
CCF_simulation=zeros(length(deltaBS),length(deltaMS));
for q=1:length(deltaBS)
for g=1:length(deltaMS)
aa=exp(sqrt(-1).*pi.*deltaBS(q).*(cos(alphaBS)
+phiBS_max.*sin(alphaBS).*sin(phi_NMS)));
bb=exp(sqrt(-1).*pi.*deltaMS(g).*cos(phi_NMS-alphaMS));
CCF_simulation(q,g)=sum(aa.^2.*bb.^2)/length(phi_NMS);
end
end
surf(real(CCF_simulation));
set(gca,'YDir','reverse');
title('2D space CCF OF simulation model')
ylabel('deltaMS/lambda')
xlabel('deltaBS/lambda')
zlabel('2D space CCF')
4.Simulation of mimo channels :channel capacity
N=200;
SNR=10^(17/10);
alphaBS=pi/2;
alphaMS=pi/2;
f_max=91;
alphaV=pi/12;
phiBS_max=pi/90;
tau=linspace(0,0.5,200);
theta= 0 + (2*pi-0).*rand(length(tau),1);
phi_MS=zeros(N,1);
a=zeros(N,1);
b=zeros(N,1);
f=zeros(N,1);
h11=zeros(length(tau),1);
h12=zeros(length(tau),1);
h21=zeros(length(tau),1);
h22=zeros(length(tau),1);

X(n)=zeros(length(N),1);
Y(n)=zeros(length(N),1);
Z(n)=zeros(length(N),1);
V(n)=zeros(length(N),1);
cap11=zeros(N,1);
for n=1:N
phi_MS(n)=(1/N)*2*pi*n-0.5*pi/N;
end
for n=1:N
a(n)=exp(sqrt(-1)*pi*0.5*(cos(alphaBS)
+phiBS_max*sin(alphaBS)*sin(phi_MS(n))));
b(n)=exp(sqrt(-1)*pi*0.5*cos(phi_MS(n)-alphaMS));
f(n)=f_max*cos(phi_MS(n)-alphaV);
end
for n=1:N
X(n)=a(n).*b(n);
Y(n)=a(n)'.*b(n);
Z(n)=a(n).*b(n)';
V(n)=a(n)'.*b(n)';
end
for t=1:length(tau)
h11(t)=sum(X*exp(sqrt(-1)*(2*pi.*f*t+theta)))/sqrt(N);
h12(t)=sum(Y*exp(sqrt(-1)*(2*pi.*f*t+theta)))/sqrt(N);
h21(t)=sum(Z*exp(sqrt(-1)*(2*pi.*f*t+theta)))/sqrt(N);
h22(t)=sum(V*exp(sqrt(-1)*(2*pi.*f*t+theta)))/sqrt(N);
end
I=eye(2);
H=[h11 h12;h21 h22];
for i=1:N
cap11(i)=log(det(I+SNR/2*(H(i)')*(H(i))))/(2*log(2));
end
plot(tau,cap11)

PAS MODELS
5.N-th power cosine function PAS model
phi=linspace(-100,100,100);
n1=2;n2=4;n3=8;
f1 = @(x) (cos(x)).^n1;
Q1 = integral(f1,-pi/2,pi/2);
f2 = @(x) (cos(x)).^n2;
Q2 = integral(f2,-pi/2,pi/2);

f3 = @(x) (cos(x)).^n3;
Q3= integral(f3,-pi/2,pi/2);
Y=degtorad(phi);
m1=((cos(Y)).^n1)./Q3;
m2=((cos(Y)).^n2)./Q3;
m3=((cos(Y)).^n3)./Q3;
plot(phi,m1,phi,m2,'--',phi,m3,':')
legend('n=2','n=4','n=8')
title('nth power of cosine function for pas model')
ylabel('power azimuth spectrum');
xlabel('phi')
6.UNIFORM PAS model
PAS
phi=linspace(-200 ,200,100);
y1= degtorad(10);
y2= degtorad(30);
q1=1/(2*sqrt(3)*y1);
pas1=q1*rectangularPulse(-25,25,phi);
q2=1/(2*sqrt(3)*y2);
pas2=q2*rectangularPulse(-50,50,phi);
plot(phi,pas1,phi,pas2,'--')
grid on
legend('as=10','as=30')
title('Uniform PAS, AoA=0[degree]')
xlabel('phi [degree]')
ylabel('P(phi)')
7.UNIFORM PAS model
spatial correlation coefficient
x=linspace(0,6,250);
phi_0=degtorad(0);
as1=degtorad(10);
as2=degtorad(30);
Q1=1/(2*sqrt(3)*as1);
Q2=1/(2*sqrt(3)*as2);
delta_phi1=sqrt(3)*as1;
delta_phi2=sqrt(3)*as2;
sum1=zeros(1,250);
sum2=zeros(1,250);

for m=1:250
sum1=sum1+
(besselj(2*m,2*pi*x))*(cos(2*m*phi_0))*(sin(2*m*delta_phi1)/(2*m));
end
for m=1:250
sum2=sum2+
(besselj(2*m,2*pi*x))*(cos(2*m*phi_0))*(sin(2*m*delta_phi2)/(2*m));
end
Rxx1=besselj(0,2*pi*x)+4*Q1.*sum1;
Rxx2=besselj(0,2*pi*x)+4*Q2.*sum2;
plot(x,abs(Rxx1),x,abs(Rxx2),'--')
grid on
legend('AS=10(degree)','AS=30(degree)')
title('Uniform PAS model- spatial correlation coeff.')
xlabel('d/lambda')
ylabel('|Rxx|')
8.Trucated Gaussian PAS
PAS

deltaphi=180;
phi1=linspace(-200,200,400);
phi=degtorad(phi1)
phi_0=degtorad(0);
sigma1=degtorad(30);
p1=
((1/erf(deltaphi/(sqrt(2)*sigma1)))/(sqrt(2*pi)*sigma1))*exp(-(phiphi_0).^2/(2*sigma1.^2));
sigma2=degtorad(10);
p2=
((1/erf(deltaphi/(sqrt(2)*sigma2)))/(sqrt(2*pi)*sigma2))*exp(-(phiphi_0).^2/(2*sigma2.^2));
plot(phi1,p2,phi1,p1,'--')
legend('AS=10[DEGREE]','AS=30[degree]')
xlabel('phi(degree)');
ylabel('power azimuth spectral')
title('Truncated gaussian PAS')
9.Trucated Gaussian PAS model

Spatial correlation coefficient


clear

clf
x=linspace(0,6,250);
delta_phi=pi;
phi_0=degtorad(0);
sum1=zeros(1,250);
sum2=zeros(1,250);
sigma1=degtorad(10);
sigma2=degtorad(30);
q1=1/erf(pi/(sqrt(2)*sigma1));
q2=1/erf(pi/(sqrt(2)*sigma2));
for m=1:250
sum1=sum1+
(besselj(2*m,2*pi.*x)).*(exp(2*sigma1^2*m.^2))*(cos(2*m*phi_0))*(erf(pi/
(sigma1*sqrt(2)))-erf(-pi/(sigma1*sqrt(2))));
end
rxx1=(besselj(0,2*pi.*x))+(q1.*sum1);
for m=1:250
sum2=sum2+
(besselj(2*m,2*pi.*x)).*(exp(2*sigma2^2*m.^2))*(cos(2*m*phi_0))*(erf(pi/
(sigma2*sqrt(2)))-erf(-pi/(sigma2*sqrt(2))));
end
rxx2=(besselj(0,2*pi.*x))+(q2.*sum2);
plot(x,abs(rxx1),x,abs(rxx2),'--')
grid on
legend('AS=10(degree)','AS=30(degree)')
title('Truncated Gaussian PAS model spatial correlation coeff.')
xlabel('d/lambda')
ylabel('|Rxx|')
10.truncated laplacian model
pas
deltaphi=degtorad(180);
phi1=linspace(-200,200,400);
phi=degtorad(phi1);
phi_0=degtorad(0);
sigma1=degtorad(10);
p1=((1/(1-exp(-sqrt(2)*deltaphi/sigma1)))/(sqrt(2)*sigma1))*(exp((sqrt(2)*abs(phi-phi_0))/sigma1));

sigma2=degtorad(30);
p2=((1/(1-exp(-sqrt(2)*deltaphi/sigma2)))/(sqrt(2)*sigma2))*(exp((sqrt(2)*abs(phi-phi_0))/sigma2));
plot(phi1,p1,phi1,p2,'--')
grid on
legend('AS=10[DEGREE]','AS=30[degree]')
xlabel('phi(degree)');
ylabel('power azimuth spectral')
title('Truncated laplacian PAS')

11.truncated laplacian model-spatial correlation coefficient.


clear
clf
x=linspace(0,6,250);
delta_phi=pi;
phi_0=degtorad(0);
sum1=zeros(1,250);
sum2=zeros(1,250);
sigma1=degtorad(10);
sigma2=degtorad(30);
q1=1/erf(pi/(sqrt(2)*sigma1));
q2=1/erf(pi/(sqrt(2)*sigma2));
for m=1:250
sum1=sum1+besselj(2*m,2*pi.*x)*cos(2*m*phi_0)*((sqrt(2)/sigma1+(exp((sqrt(2)*delta_phi)/sigma1))*(2*m*sin(2*m*delta_phi)sqrt(2)*cos(2*m*delta_
phi)/sigma1))/(sqrt(2)*sigma1*((sqrt(2)/sigma1)^2+4*m^2)));
end
rxx1=(besselj(0,2*pi.*x))+(4*q1.*sum1);
for m=1:250
sum2=sum2+besselj(2*m,2*pi.*x)*cos(2*m*phi_0)*((sqrt(2)/sigma2+(exp((sqrt(2)*delta_phi)/sigma2))*(2*m*sin(2*m*delta_phi)sqrt(2)*cos(2*m*delta_phi)/sigma2))/
(sqrt(2)*sigma2*((sqrt(2)/sigma2)^2+4*m^2)));
end
rxx2=(besselj(0,2*pi.*x))+(4*q2.*sum2);
plot(x,abs(rxx1),x,abs(rxx2),'--')
grid on
legend('AS=10(degree)','AS=30(degree)')
title('Truncated Laplacian PAS model spatial correlation coeff.')
xlabel('d/lambda')

ylabel('|Rxx|')
SIMULATION RESULTS OF MATLAB
1.comparision of Time ACF of reference model and simulation model

2.2D space CCF of reference model

3.2D space CCF of simulation model

4. CAPACITY of MIMO channel

5.POWER AZIMUTH SPECTRUM of nth power of cosine pas model

6. POWER AZIMUTH SPECTRUM of uniform pas model

7.spatial correlation coefficient of uniform pas model

8. POWER AZIMUTH SPECTRUM of truncated gaussian pas model

9. Truncated Gaussian PAS model spatial correlation coeff.

10. POWER AZIMUTH SPECTRUM of truncated laplacian pas model

11.spatial correlation coefficient of truncated laplacian pas model.

2
BACK PROPAGATION ALGORITHM:
In simple terms back propagation is like learning from mistakes.
Here, for some given inputs, we know (label) the desired/expected
output .
Initially all the edge weights are randomly assigned. For every input
in the training dataset, the ANN is activated and its output is
observed. This output is compared with the desired output that we
already know, and the error is "propagated" back to the previous
layer. This error is noted and the weights are "adjusted"
accordingly. This process is repeated until the output error is below
a predetermined threshold.

ALGORITHM STEPS: Here neuron A is a hidden layer neuron and


neuron B is an output neuron and has the weight WAB.

1. First apply the inputs to the network and work out the output
remember this initial output could be anything, as the initial weights
were random numbers.
2. Next work out the error for neuron B. The error is What you want
What you actually get, in other words: ErrorB = OutputB (1OutputB)(TargetB OutputB) The Output(1-Output) term is
necessary in the equation because of the Sigmoid Function if we
were only using a threshold neuron it would just be (Target
Output).
3. Change the weight. Let W + AB be the new (trained) weight and
WAB be the initial weight. W + AB = WAB + (ErrorB x OutputA)
Notice that it is the output of the connecting neuron (neuron A) we
use (not B). We update all the weights in the output layer in this
way.
4. Calculate the Errors for the hidden layer neurons. Unlike the
output layer we cant calculate these directly (because we dont
have a Target), so we Back Propagate them from the output layer
(hence the name of the algorithm). This is done by taking the Errors
from the output neurons and running them back through the weights
to get the hidden layer errors. For example if neuron A is connected
as shown to B and C then we take the errors from B and C to
generate an error for A. ErrorA = Output A (1 - Output A)(ErrorB
WAB + ErrorC WAC) Again, the factor Output (1 - Output ) is
present because of the sigmoid squashing function.
5. Having obtained the Error for the hidden layer neurons now
proceed as in stage 3 to change the hidden layer weights. By
repeating this method we can train a network of any number of
layers .since threshold error should be as low as possible therefore
in my code I have taken threshold error as 0.07;

MATLAB code used in SINGLE CHANNEL and for first four cases.
OutputPort1=InputPort1;
inp=InputPort1.Sa mpled.Signal;
target=InputPort2.Sa mpled.Signal;
inp=10*inp;
target=10*target;
inp1=real(inp);
inp2=i mag(inp);
targ1=real(target);
targ2=i ma g(target);
len=length(inp1);
for i=1:len
if targ1(i)<0
sign1(i)=-1;
else
sign1(i)=+1;
end
end
for i=1:len
if targ2(i)<0
sign2(i)=-1;
else
sign2(i)=+1;
end
end
inp1=abs(inp1);
inp2=abs(inp2);
targ1=abs(targ1);
targ2=abs(targ2);
finout=zeros(1,len);
finout1=zeros(1,len);
eta=0.98;
wij=[0 0 0];
wjk=[0 0 0];
bias=[0.051 0.052 0.053];
c=1;
coun=1;
for i=1:len
while c
if inp1(i)~=targ1(i)
%output calculation
inpij=(inp1(i)*wij)+bias;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk';
outk=(1/(1+exp(-inpjk)));

%error calculation
ek=targ1(i)-outk;
delk=outk*(1-outk)*(outk-targ1(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
%weight updation
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);
wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp1(i);
wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);
bias(l)=bias(l)+delbias(l);
end
coun=coun+1;
ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5];wjk=[1.55 2.55 3.55]; bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5];wjk=[15.55 20.55 25.55];bias=[5.1 5.2 5.3];
end
%displa y(ek);
if ek>=0 && ek<=0.0040 || coun>=1000000
c=0; finout(i)=outk;
end
else
c=0;
finout(i)=targ1(i);
%displa y(finout);
end
end
coun=1;
c=1;
end
wij=[0 0 0];wjk=[0 0 0];bias=[0.051 0.052 0.053];
c=1;
coun=1;
for i=1:len
while c
if inp2(i)~=targ2(i)
%output calculation
inpij=inp2(i)*wij;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));

end
inpjk=outj*wjk';
outk=(1/(1+exp(-inpjk)));
%error calculation
ek=targ2(i)-outk;
delk=outk*(1-outk)*(outk-targ2(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
%weight updation
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);
wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp2(i);
wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);
bias(l)=bias(l)+delbias(l);
end
coun=coun+1;
ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5];
wjk=[1.55 2.55 3.55];
bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5];wjk=[10.55 11.55 12.55]; bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.004 || coun>=1000000
c=0;
finout1(i)=outk;
end
else
c=0;
finout1(i)=targ1(i);
%displa y(finout1);
end
end
coun=1;
c=1;
end
finout=finout.*sign1;
finout1=finout1.*sign2;finout1=(0+1i)*finout1;
finout=finout+finout1;finout=0.1*finout;
OutputPort1.Sa mpled.Signal=finout;

Simulation Results
CASE1: single channel with & without equalizer for fiber length 180km.

LAYOUT DIAGRAM

EYE DIAGRAM without equalizer

EYE DIAGRAM with equalizer

CASE2: MIMO without equalizer & without amplifier for 180km length of
fiber

LAYOUT

In this case for all frequency components q factor is coming as zero, so I am


showing here for 193.1 THz signal only, rest of all three have same output.

CASE3: MIMO without equalizer & with pre amplification

F=193.1THz

193.2 THz

193.3 THz

193.4

THz

CASE3A: MIMO without equalizer and inline amplification

193.1 THz

193.2 THz

193.3 THz

193.4 THz

CASE4: MIMO
amplification

with

equalizer

and

amplifier

with

inline

193.1 THz

193.2 THz

193.3 THz

193.4 THz

MATLAB code for FIFTH CASE.


OutputPort1=InputPort1;OutputPort2=InputPort2;OutputPort3=InputPort3;OutputPort4=InputPort4;
inp1=InputPort1.Sampled.Signal;inp2=InputPort2.Sampled.Signal;
inp3=InputPort3.Sampled.Signal;inp4=InputPort4.Sampled.Signal;
target1=InputPort5.Sampled.Signal;target2=InputPort6.Sampled.Signal;
target3=InputPort7.Sampled.Signal;target4=InputPort8.Sampled.Signal;
inp1=10*inp1;inp2=10*inp2;inp3=10*inp3;inp4=10*inp4;
target1=10*target1;target2=10*target2;target3=10*target3;target4=10*target4;
inp5=real(inp1);inp6=imag(inp1);inp7=real(inp2);inp8=imag(inp2);inp9=real(inp3);inp10=imag(inp3);
inp11=real(inp4);inp12=imag(inp4);targ5=real(target1);targ6=imag(target1);targ7=real(target2);
targ8=imag(target2);targ9=real(target3);targ10=imag(target3);targ11=real(target4);targ12=imag(target4);
len1=length(inp1);len2=length(inp2);len3=length(inp3);len4=length(inp4);
if f==193.1
for i=1:len1
if targ5(i)<0 sign1(i)=-1;
else
sign1(i)=+1;
end
end
for i=1:len1
if targ6(i)<0
sign2(i)=-1;
else
sign2(i)=+1;
end
end

end
if f==193.2
for i=1:len2
if targ7(i)<0
sign3(i)=-1;
else
sign3(i)=+1;
end
end
for i=1:len2
if targ8(i)<0
sign4(i)=-1;
else
sign4(i)=+1;
end
end
end
if f ==193.3
for i=1:len3
if targ9(i)<0
sign5(i)=-1;
else
sign5(i)=+1;
end
end
for i=1:len3
if targ10(i)<0
sign6(i)=-1;
else
sign6(i)=+1;
end
end
end
if f==193.4
for i=1:len4
if targ11(i)<0
sign7(i)=-1;
else
sign7(i)=+1;
end
end
for i=1:len4
if targ12(i)<0
sign8(i)=-1;
else
sign8(i)=+1;
end
end
end
inp5=abs(inp5);inp6=abs(inp6);inp7=abs(inp7);inp8=abs(inp8);inp9=abs(inp9);inp10=abs(inp10);
inp11=abs(inp11);inp12=abs(inp12);targ5=abs(targ5);targ6=abs(targ6);targ7=abs(targ7);
targ8=abs(targ8);targ9=abs(targ9);targ10=abs(targ10);targ11=abs(targ11);targ12=abs(targ12);
finout=zeros(1,len1);finout1=zeros(1,len1);finout2=zeros(1,len2);finout3=zeros(1,len2);
finout4=zeros(1,len3);finout5=zeros(1,len3);finout6=zeros(1,len4);finout7=zeros(1,len4);
eta=0.98;wij=[0 0 0];wjk=[0 0 0];bias=[0.051 0.052 0.053];c=1;coun=1;
if f==193.1
for i=1:len1
while c
if inp5(i)~=targ5(i)
inpij=(inp5(i)*wij)+bias;

for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk'; outk=(1/(1+exp(-inpjk))); ek=targ5(i)-outk;delk=outk*(1-outk)*(outk-targ5(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp5(i); wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);bias(l)=bias(l)+delbias(l);
end
coun=coun+1; ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5]; wjk=[15.55 20.55 25.55];bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.0040 || coun>=1000000
c=0;finout(i)=outk;
end
else
c=0;finout(i)=targ5(i);
end
end
coun=1; c=1;
end
wij=[0 0 0];wjk=[0 0 0];bias=[0.051 0.052 0.053];c=1;coun=1;
for i=1:len1
while c
if inp6(i)~=targ6(i)
inpij=inp6(i)*wij;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk; outk=(1/(1+exp(-inpjk)));
ek=targ6(i)-outk;delk=outk*(1-outk)*(outk-targ6(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp6(i); wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);bias(l)=bias(l)+delbias(l);
end
coun=coun+1;ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5];wjk=[10.55 11.55 12.55];

bias=[5.1 5.2 5.3];


end
if ek>=0 && ek<=0.004 || coun>=1000000
c=0;finout1(i)=outk;
end
else
c=0; finout1(i)=targ6(i);
end
end
coun=1; c=1;
end
end
if f==193.2
for i=1:len2
while c
if inp7(i)~=targ7(i)
inpij=(inp7(i)*wij)+bias;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk';outk=(1/(1+exp(-inpjk))); ek=targ7(i)-outk;
delk=outk*(1-outk)*(outk-targ7(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l); wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp7(i); wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);bias(l)=bias(l)+delbias(l);
end
coun=coun+1;ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5]; wjk=[15.55 20.55 2]; bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.040 || coun>=1000000
c=0;finout2(i)=outk;
end
else
c=0; finout2(i)=targ7(i);
end
end
coun=1; c=1;
end
wij=[0 0 0];wjk=[0 0 0];bias=[0.051 0.052 0.053];c=1;coun=1;
for i=1:len1
while c
if inp8(i)~=targ8(i)
inpij=inp8(i)*wij;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk'; outk=(1/(1+exp(-inpjk)));ek=targ8(i)-outk;delk=outk*(1-outk)*(outk-targ8(i));
for l=1:3

delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp8(i);wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l); bias(l)=bias(l)+delbias(l);
end
coun=coun+1; ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3]
end
if coun==50000;
wij=[10.5 11.5 12.5];wjk=[10.55 11.55 12.55];bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.004 || coun>=1000000
c=0;finout3(i)=outk;
end
else
c=0;
finout3(i)=targ8(i);
end
end
coun=1; c=1;
end
end
if f==193.3
for i=1:len3
while c
if inp9(i)~=targ9(i)
inpij=(inp9(i)*wij)+bias;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk'; outk=(1/(1+exp(-inpjk))); ek=targ9(i)-outk; delk=outk*(1-outk)*(outk-targ9(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l); wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp9(i);
wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l); bias(l)=bias(l)+delbias(l);
end
coun=coun+1; ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5];wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5];wjk=[15.55 20.55 25.55]; bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.0040 || coun>=1000000
c=0;finout4(i)=outk;
end
else

c=0;
finout4(i)=targ9(i);
end
end
coun=1;
c=1;
end
wij=[0 0 0];
wjk=[0 0 0];
bias=[0.051 0.052 0.053];
c=1;
coun=1;
for i=1:len3
while c
if inp10(i)~=targ10(i)
inpij=inp10(i)*wij;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk'; outk=(1/(1+exp(-inpjk)));ek=targ10(i)-outk;delk=outk*(1-outk)*(outk-targ10(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l); wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp10(i);wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l);bias(l)=bias(l)+delbias(l);
end
coun=coun+1; ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5]; wjk=[10.55 11.55 12.55];bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.004 || coun>=1000000
c=0;finout5(i)=outk;
end
else
c=0; finout5(i)=targ10(i);
end
end
coun=1; c=1;
end
end
if f==193.4
for i=1:len4
while c
if inp11(i)~=targ11(i)
inpij=(inp11(i)*wij)+bias;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk'; outk=(1/(1+exp(-inpjk)));ek=targ11(i)-outk;delk=outk*(1-outk)*(outk-targ11(i));
for l=1:3

delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp11(i); wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l); bias(l)=bias(l)+delbias(l);
end
coun=coun+1; ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55]; bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5]; wjk=[15.55 20.55 25.55];bias=[5.1 5.2 5.3];
end;
if ek>=0 && ek<=0.0040 || coun>=1000000
c=0;finout6(i)=outk;
end
else
c=0; finout6(i)=targ11(i);
end
end
coun=1;c=1;
end
wij=[0 0 0];wjk=[0 0 0];bias=[0.051 0.052 0.053];
c=1;coun=1;
for i=1:len4
while c
if inp12(i)~=targ12(i)
inpij=inp12(i)*wij;
for l=1:3
outj(l)=(1/(1+exp(-inpij(l))));
end
inpjk=outj*wjk';outk=(1/(1+exp(-inpjk)));ek=targ12(i)-outk; delk=outk*(1-outk)*(outk-targ12(i));
for l=1:3
delj(l)=outj(l)*(1-outj(l))*delk*wjk(l);
end
for l=1:3
delwjk(l)=(-eta)*delk*outj(l);wjk(l)=wjk(l)+delwjk(l);
end
for l=1:3
delwij(l)=(-eta)*delj(l)*inp12(i);wij(l)=wij(l)+delwij(l);
end
for l=1:3
delbias(l)=(-eta)*delj(l); bias(l)=bias(l)+delbias(l);
end
coun=coun+1;
ek=abs(ek);
if coun==5000
wij=[1.5 2.5 3.5]; wjk=[1.55 2.55 3.55];bias=[1.1 1.2 1.3];
end
if coun==50000;
wij=[10.5 11.5 12.5]; wjk=[10.55 11.55 12.55]; bias=[5.1 5.2 5.3];
end
if ek>=0 && ek<=0.004 || coun>=1000000
c=0; finout7(i)=outk;
else
else

c=0;finout7(i)=targ12(i);
end
end
coun=1; c=1;
end
end
finout=finout.*sign1;finout1=finout1.*sign2;finout2=finout.*sign3;finout3=finout1.*sign4;
finout4=finout.*sign5;finout5=finout1.*sign6;finout6=finout.*sign7;finout7=finout1.*sign8;
finout1=(0+1i)*finout1;finout3=(0+1i)*finout3;finout5=(0+1i)*finout5;finout7=(0+1i)*finout7;
finout=finout+finout1;finout2=finout2+finout3;finout4=finout4+finout5;finout6=finout6+finout7;
finout=0.1*finout;finout2=0.1*finout2;finout4=0.1*finout4;finout6=0.1*finout6;
OutputPort1.Sampled.Signal=finout;
OutputPort2.Sampled.Signal=finout2
;OutputPort3.Sampled.Signal=finout4;OutputPort4.Sampled.Signal=finout6;

CASE 5 :case 4 MIMO but optical fiber used after multiplexer.

th
case since all four frequency components are available
For the 5
simultaneously MATLAB COMPONENT is unable to differentiate between all
4 frequencies components. In my code I have assigned four different block of
codes to corresponding four frequencies .

CONCLUSION
First of all I have studied MIMO channel modelling and simulated statistical
results of various MIMO channel models using MATLAB.I studied

test

procedures ,such as the autocorrelation function ,average duration of fades


,probability density function and the level-crossing rate ,in order to test and to
confirm correctness of the implemented channel simulators, simulated time
ACF function and seen reference model result and simulation results are coming
almost same.
All the parameters used during simulation of one ring geometrical model

statistical results are taken from LPNM parameter computation method.


In 2nd part I have implemented MIMO concept on optical fibre channel using
optisystem software. For the improvement of signal strength at the receiver side
equalizer concept is used which is trained using back propagation technique.
My result for single channel for

Q value at 180km distance of optical fibre is

as follows-without equalizer=2.18,with equalizer=275.8


For the case of MIMO channel , wavelength division multiplexing is used where
four input optical signals at frequencies 193.1Thz,193.2Thz,193.3Thz and
193.4Thz are multiplexed and transmitted over 180km length of fibre. I have
performed it in four different schemes 1.single channel with & without
equalizer for 180km length, 2.MIMO without equalizer and without amplifier for
180km length 3.MIMO without equalizer with amplifier(pre amplification and
inline amplification) 4.MIMO with equalizer and amplifier

out of which fourth

scheme is better because here in place 4 EDFA amplifiers only one amplifier is
used makes it economic and Q factor for four outputs is 84, 55.58, 48.51, 63.1
makes output bit error rate low.

REFERENCES

1. Modelling and simulation of MIMO channels by


Matthias
Patzold
BEATS/CUBAN workshop 2004.
2. MIMO-OFDM wireless communications with MATLAB by Yang
Soo Cho | Jaekwon Jim, Won Young Yang, Chung G. Kang WILEY
Publications. Print ISBN: 978-0-470-82561-7, Edition 1st.Chapter 3
3. G. J. Foschini and M. J. Gans. On limits of wireless
communications in a fading environment. Wireless Personal
Communications, 6: Page 311-335, 1998.
4. Matthias Patzold and Bjorn Olav Hogstad , A Wideband SpaceTime MIMO Channel Simulator Based on the Geometrical One-Ring
Model
Vehicular
technology
conference,
2006.VTC-2006,
FALL2006.IEEE64th
5. Lee, W. (1973) Effect on correlation between two mobile radio
base-station antennas. IEEE Trans. Commun., volume 21, issue11,
pages 12141224, NOVEMBER 1973.
6. Matthias Ptzold, Cheng-Xiang Wang, and Bjrn Olav Hogstad
Two New Sum-of-Sinusoids-Based Methods for the Efficient
Generation of Multiple Uncorrelated Rayleigh Fading Waveforms.
IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS,
VOL. 8, NO. 6, JUNE 2009
7. M. Ptzold: Mobile Radio Channels, 2nd Edition, and
Chichester: John Wiley & Sons, 2011. Print ISBN: 9780470517475.
8. Sebastian de la Kethulle, 27 September 2004. An Overview of
MIMO systems in Wireless. Communications. Available:
http://www.iet.ntnu.no/projects/beats/Documents/mimo.pdf