Sie sind auf Seite 1von 6

We had discussed three Single Input Multiple Output (SIMO also known as receive diversity) schemes

Selection combining, Equal Gain Combining, Maximal Ratio Combiningand a Multiple Input Single
Output (MISO, also known as transmit diversity) scheme Alamouti 21 STBC. Let us now discuss the case
where there a multiple transmit antennas and multiple receive antennas resulting in the formation of a Multiple
Input Multiple Output (MIMO) channel. In this post, we will restrict our discussion to a 2 transmit 2 receive
antenna case (resulting in a 22 MIMO channel). We will assume that the channel is a flat fadingRayleigh
multipath channel and the modulation is BPSK.

22 MIMO channel
In a 22 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:
1. Consider that we have a transmission sequence, for example
2. In normal transmission, we will be sending

in the first time slot,

in the second time slot,

and so on.

3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time
slot, send

and

second antenna, send

from the first and second antenna. In second time slot, send
and

and

from the first and

in the third time slot and so on.

4. Notice that as we are grouping two symbols and sending them in one time slot, we need only

time slots to

complete the transmission data rate is doubled !


5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2
receive antennas.
Having said this, some of you will wonder the two transmitted symbols interfered with each other. Can we ever
separate the two out? The rest of the post attempts to answer this question.

Figure: 2 Transmit 2 Receive (22) MIMO channel

Other Assumptions

1. The channel is flat fading In simple terms, it means that the multipath channel has only one tap. So, the
convolution operation reduces to a simple multiplication. For a more rigorous discussion on flat fading and
frequency selective fading, may I urge you to review Chapter 15.3 Signal Time-Spreading from [DIGITAL
COMMUNICATIONS: SKLAR]
2. The channel experience by each transmit antenna is independent from the channel experienced by other
transmit antennas.
3. For the

transmit antenna to

varying complex number


imaginary parts of

receive antenna, each transmitted symbol gets multiplied by a randomly

. As the channel under consideration is a Rayleigh channel, the real and

are Gaussian distributed having mean

and variance

4. The channel experienced between each transmit to the receive antenna is independent and randomly varying
in time.
5. On the receive antenna, the noise

with
7. The channel

has the Gaussian probability density function with

and

is known at the receiver.

Zero forcing (ZF) equalizer for 22 MIMO channel


Let us now try to understand the math for extracting the two symbols which interfered with each other. In the first
time slot, the received signal on the first receive antenna is,

.
The received signal on the second receive antenna is,

.
where
,

are the received symbol on the first and second antenna respectively,
is the channel from
is the channel from
is the channel from

transmit antenna to
transmit antenna to
transmit antenna to

receive antenna,
receive antenna,
receive antenna,

is the channel from


,

transmit antenna to

receive antenna,

are the transmitted symbols and


is the noise on

receive antennas.

We assume that the receiver knows


unknown s are

and

and

. The receiver also knows

and

. The

. Two equations and two unknowns. Can we solve it? Answer is YES.

For convenience, the above equation can be represented in matrix notation as follows:
.
Equivalently,

To solve for

, we know that we need to find a matrix

which satisfies

. TheZero Forcing (ZF)

linear detector for meeting this constraint is given by,


.
This matrix is also known as the pseudo inverse for a general m x n matrix.
The term,
.

BER with ZF equalizer with 22 MIMO


Note that the off diagonal terms in the matrix

are not zero (Recall: The off diagonal terms where zero

in Alamouti 21 STBC case). Because the off diagonal terms are not zero, the zero forcing equalizer tries to null
out the interfering terms when performing the equalization, i.e when solving for

the interference from

is

tried to be nulled and vice versa. While doing so, there can be amplification of noise. Hence Zero Forcing
equalizer is not the best possible equalizer to do the job. However, it is simple and reasonably easy to
implement.
Further, it can be seen that, following zero forcing equalization, the channel for symbol transmitted from each
spatial dimension (space is antenna) is a like a 11 Rayleigh fading channel (Refer Section 3.3 of [WIRELESSTSE, VISWANATH] ). Hence the BER for 22 MIMO channel in Rayleigh fading with Zero Forcing
equalization is same as the BER derived for a 11 channel in Rayleigh fading.
For BPSK modulation in Rayleigh fading channel, the bit error rate is derived as,
.

Simulation Model
The Matlab/Octave script performs the following

(a) Generate random binary sequence of +1s and -1s.


(b) Group them into pair of two symbols and send two symbols in one time slot
(c) Multiply the symbols with the channel and then add white Gaussian noise.
(d) Equalize the received symbols
(e) Perform hard decision decoding and count the bit errors

(f) Repeat for multiple values of

and plot the simulation and theoretical results.

Click here to download Matlab/Octave script for simulating BER plot for 22 MIMO channel with ZF equalizer
(BPSK modulation in Rayleigh channel)

Figure: BER plot for 22 MIMO channel with ZF equalizer (BPSK modulation in Rayleigh channel)

Summary
1. As expected, the simulated results with a 22 MIMO system using BPSK modulation in Rayleigh channel is
showing matching results as obtained in for a 11 system for BPSK modulation in Rayleigh channel.
2. As noted in Section 3.3 of [WIRELESS-TSE, VISWANATH] , the Zero Forcing equalizer is not the best possible
way to equalize the received symbol. The zero forcing equalizer helps us to achieve the data rate gain, but NOT
take advantage of diversity gain (as we have two receive antennas).
3. We might not be able to achieve the two fold data rate improvement in all channel conditions. It can so happen
that channels are correlated (the coefficients are almost the same). Hence we might not be able to solve for the
two unknown transmitted symbols even if we have two received symbols.

4. It is claimed that there can be receiver structures which enables us to have both diversity gain and data rate
gain. In future posts, the attempt will be to discuss receiver structures which hopefully enables us to find out
approaches which will help us to keep the data rate gain, but still move from the 11 curve to 12 MRC curve.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% All rights reserved by Krishna Pillai, http://www.dsplog.com
% The file may not be re-distributed without explicit authorization
% from Krishna Pillai.
% Checked for proper operation with Octave Version 3.0.0
% Author
: Krishna Pillai
% Email
: krishna@dsplog.com
% Version
: 1.0
% Date
: 23rd October 2008
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Script for computing the BER for BPSK modulation in a
% Rayleigh fading channel with 2 Tx, 2Rx MIMO channel
% Zero Forcing equalization
clear
N = 10^6; % number of bits or symbols
Eb_N0_dB = [0:25]; % multiple Eb/N0 values
nTx = 2;
nRx = 2;
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
sMod = kron(s,ones(nRx,1)); %
sMod = reshape(sMod,[nRx,nTx,N/nTx]); % grouping in [nRx,nTx,N/NTx ] matrix
h = 1/sqrt(2)*[randn(nRx,nTx,N/nTx) + j*randn(nRx,nTx,N/nTx)]; % Rayleigh channel
n = 1/sqrt(2)*[randn(nRx,N/nTx) + j*randn(nRx,N/nTx)]; % white gaussian noise, 0dB
variance
% Channel and noise Noise addition
y = squeeze(sum(h.*sMod,2)) + 10^(-Eb_N0_dB(ii)/20)*n;
% Receiver
% Forming the Zero Forcing equalization matrix W = inv(H^H*H)*H^H
% H^H*H is of dimension [nTx x nTx]. In this case [2 x 2]
% Inverse of a [2x2] matrix [a b; c d] = 1/(ad-bc)[d -b;-c a]
hCof = zeros(2,2,N/nTx) ;
hCof(1,1,:) = sum(h(:,2,:).*conj(h(:,2,:)),1); % d term
hCof(2,2,:) = sum(h(:,1,:).*conj(h(:,1,:)),1); % a term
hCof(2,1,:) = -sum(h(:,2,:).*conj(h(:,1,:)),1); % c term
hCof(1,2,:) = -sum(h(:,1,:).*conj(h(:,2,:)),1); % b term
hDen = ((hCof(1,1,:).*hCof(2,2,:)) - (hCof(1,2,:).*hCof(2,1,:))); % ad-bc term
hDen = reshape(kron(reshape(hDen,1,N/nTx),ones(2,2)),2,2,N/nTx); % formatting for
division
hInv = hCof./hDen; % inv(H^H*H)
hMod =
yMod
yMod
yMod
yHat

reshape(conj(h),nRx,N); % H^H operation

= kron(y,ones(1,2)); % formatting the received symbol for equalization


= sum(hMod.*yMod,1); % H^H * y
= kron(reshape(yMod,2,N/nTx),ones(1,2)); % formatting
= sum(reshape(hInv,2,N).*yMod,1); % inv(H^H*H)*H^H*y

% receiver - hard decision decoding


ipHat = real(yHat)>0;
% counting the errors
nErr(ii) = size(find([ip- ipHat]),2);
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,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)', 'sim (nTx=2, nRx=2, ZF)');
xlabel('Average Eb/No,dB');
ylabel('Bit Error Rate');
title('BER for BPSK modulation with 2x2 MIMO and ZF equalizer (Rayleigh channel)');

Das könnte Ihnen auch gefallen