Progress Report

23
1 A PROGRESS REPORT ON OPTIMISATON OF MIMO SYSTEM Report submitted in fulfilment for the requirement of the Degree of Master of Technology SUDHIR KUMAR JHA DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINNERING LINGAYA’S UNIVERSITY NACHAULI, FARIDABAD-121002 March 2013

Transcript of Progress Report

Page 1: Progress Report

1

A PROGRESS REPORT

ON

OPTIMISATON OF MIMO SYSTEM

Report submitted in fulfilment for the requirement of the Degree of Master of

Technology

SUDHIR KUMAR JHA

DEPARTMENT OF ELECTRONICS AND COMMUNICATION

ENGINNERING

LINGAYA’S UNIVERSITY

NACHAULI, FARIDABAD-121002

March 2013

Page 2: Progress Report

2

DECLARATION

I hereby declare that the work reported in the seminar entitled

“OPTIMIZATION OF MIMO SYSTEM” submitted at ECE DEPTT,

LINGAYA’S UNIVERSITY is an authentic record of my work carried out under

the supervision of MR. M. K. Jain (CONSULTANT LINGAYA’S

UNIVERSITY). I have not submitted this work elsewhere for any other degree

or diploma. I am fully responsible for the contents of my seminar.

( Sudhir Kumar Jha)

Department of ECE

Lingaya’s University

i

Page 3: Progress Report

3

COORDINATOR CERTIFICATE

This is to certify that the work reported in the seminar entitled

“OPTIMIZATION OF MIMO SYSTEM”, submitted by SUDHIR KUMAR

JHA at Lingaya’s University, FARIDABAD, is a bonafide record of his / her

original work carried out under my/our supervision. This work has not been

submitted elsewhere for any other degree or diploma.

(Mr. M.K. Jain) (Prasanna Singh)

Associate Prof. Associate Prof.

Guide/ Supervisor Co-ordinator

(Pragati Kapoor) (Dr. S V A V Prasad)

Associate Prof. Dean R & D

HOD

Mar 2013

ii

Page 4: Progress Report

4

Acknowledgements

Praise to Mother the Most Gracious, the Most Merciful, whose blessing and guidance have helped me to start my project. There is no power, no strength save in Mother, the Highest and the Greatest. Peace and blessing of Mother be upon us which has given light to mankind.

I would like to take this opportunity to express my deepest gratitude to my supervisor, Mr. M K Jain for his guidance, help and encouragement without whom it would be an insurmountable task.

iii

Page 5: Progress Report

5

Introduction

This thesis introduces Multiple-Input-Multiple-Output (MIMO) systems, which use multiple

antennas at the transmitter and receiver ends of a wireless communication system. MIMO

systems are increasingly being adopted in communication systems for the potential gains in

capacity they realize without increasing the transmission power and bandwidth when using

multiple antennas. Multiple antennas use the spatial dimension in addition to the time and

frequency ones, without changing the bandwidth requirements of the system.

For a generic communications link, this focuses on transmit diversity in lieu of traditional

receive diversity. Using the flat-fading Rayleigh channel, it illustrates the concept of

Orthogonal Space-Time Block Coding, which is employable when multiple transmitter

antennas are used. It is assumed here that the channel undergoes independent fading between

the multiple transmit-receive antenna pairs.

Though using diversity reception is a well-known technique to mitigate the effects of fading

over a communications link. In [1], Alamouti proposes a transmit diversity scheme that offers

similar diversity gains, using multiple antennas at the transmitter. This was conceived to be

more practical for wireless communication as, for example, it would only require multiple

antennas at the base station in comparison to multiple antennas for every mobile in a cellular

communications system. In future if, we able to install two or more antennas in the subscriber

module it will drastically increase the throughput via wireless network.

In this thesis I have compared, by simulation, transmit vs. receive diversity by using coherent

binary phase-shift keying (BPSK) modulation over flat-fading Rayleigh channels. For

transmit diversity, we use two transmit antennas and one receive antenna (2x1 notationally),

while for receive diversity we employ one transmit antenna and two receive antennas (1x2

notationally).

For simulation I have used matlab coding.

The simulation covers an end-to-end system showing the encoded and transmitted signal,

channel model, and reception and demodulation of the received signal. It also provides the

no-diversity link (single transmit- receive antenna case) and theoretical performance of

second-order diversity link for comparison. It is assumed here that the channel is known

Page 6: Progress Report

6

perfectly at the receiver for all systems. We run the simulation over a range of Eb/No points

to generate BER results that allow us to compare the different systems.

Page 7: Progress Report

7

Objective

Optimization of MIMO system will be investigated by simulating the followings:

(a) BER analysis

(b) Spatial Multiplexing

(c) Channel Capacity

(d) Diversity Gain Analysis

(e) Co-channel Interference Mitigation

Methods

In this thesis I have used the algorithm of diversity coding, also called space – time coding,

and spatial multiplexing. In spatial diversity, a signal can be coded through the transmit

antennas, creating redundancy, which reduces the outage probability. In spatial multiplexing

a set of streams can be transmitted in parallel, each using a different transmit antenna

element. The receiver can then perform the appropriate signal processing to separate the

signals. Firstly, I have analysed the BER performance of no diversity system i.e. one transmit

and one receive antenna. The second analysis is done for Alamouti and Maximal Ratio

Combiner (MRC) system. The Alamouti STBC scheme uses two transmit antennas and Nr

receives antennas and can accomplish a maximum diversity order of 2Nr. In case of

Alamouti there are two transmit antennas and one receive antennas. In MRC system there are

one transmit antenna and two receive antennas. The third analysis is about three transmit

antennas and one receive antenna. In all the analyses Rayleigh channel and BPSK modulation

have been used.

Page 8: Progress Report

8

MIMO Block diagrams

Fig-1.2MIMO System

Page 9: Progress Report

9

The channel model for the MIMO system is

h1,1 h 1,2 h1,3 ….. h1,Nt

h2,1 h2,2 h2,3 … .h2,Nt

H = . . . .

. . . .

. . . .

hNr,1 hNr,2 hNr,3 …. hNr,Nt

Page 10: Progress Report

10

Implementation

Conventional 1Tx and 1Rx (no diversity).

clear all; clc;frmLen = 100; % frame lengthnumPackets = 1000; % number of packetsEbNo = 0:2:20; % Eb/No varying to 20 dBN = 1; % maximum number of Tx antennasM = 1; % maximum number of Rx antennas %and set up the simulation.% Create a local random stream to be used by random number generators for% repeatability.hStr = RandStream('mt19937ar', 'Seed', 55408); % Create BPSK mod-demod objectsP = 2; % modulation orderbpskmod = modem.pskmod('M', P, 'SymbolOrder', 'Gray');bpskdemod = modem.pskdemod(bpskmod); % Pre-allocate variables for speedtx2 = zeros(frmLen, N); H = zeros(frmLen, N, M); error11 = zeros(1, numPackets); BER11 = zeros(1, length(EbNo)); % Set up a figure for visualizing BER resultsh = gcf; grid on; hold on;set(gca, 'yscale', 'log', 'xlim', [EbNo(1), EbNo(end)], 'ylim', [1e-4 1]);xlabel('Eb/No (dB)'); ylabel('BER'); set(h,'NumberTitle','off');set(h, 'renderer', 'zbuffer'); set(h,'Name','Transmit vs. Receive Diversity');title('Transmit vs. Receive Diversity'); % Loop over several EbNo pointsfor idx = 1:length(EbNo) % Loop over the number of packets for packetIdx = 1:numPackets data = randi(hStr, [0 P-1], frmlen, 1); % data vector per user % per channel tx = modulate(bpskmod, data); % BPSK modulation s = tx(1:N:end); %100x1 matrices tx2(1:N:end, :) = s; % end means frame length end and it is 100x1 matrices.%%% % Create the Rayleigh distributed channel response matrix

Page 11: Progress Report

11

% for two transmit and two receive antennas. hStr = RandStream('mt19937ar', 'Seed', 55408); H(1:end, :, :) = (randn(hStr, frmLen, 1, 1) + 1i*randn(hStr, frmLen, 1, 1))/sqrt(2); % Received signals % for uncoded 1x1 system r11 = awgn(H(:, 1, 1)*tx, EbNo(idx), 0, hStr); hidx = 1:N:length(H); % ML Detector (minimum Euclidean distance) demod11 = demodulat(bpskdemod, r11.*conj(H(:, 1, 1))); % Determine errors error11(packetIdx) = biterr(demod11, data); end % end of FOR loop for numPackets % Calculate BER for current idx % for uncoded 1x1 system BER11(idx) = sum(error11)/(numPackets*frmLen); % Plot results semilogy(EbNo(1:idx), BER11(1:idx), 'r*'); legend('No Diversity (1Tx, 1Rx)'); drawnow;end % end of for loop for EbNo % Perform curve fitting and replot the resultsfitBER11 = berfit(EbNo, BER11);semilogy(EbNo, fitBER11, 'r');hold off;

Page 12: Progress Report

12

Result: This result is obtained by running the above code in Matlab

Fig- 1.3 One TXR and One RXR BER analysis result

Alamouti 2Tx and 2Rx implementation via coding.

% We start by defining some common simulation parametersfrmLen = 100; % frame lengthnumPackets = 1000; % number of packetsEbNo = 0:2:20; % Eb/No varying to 20 dBN = 2; % maximum number of Tx antennasM = 1; % maximum number of Rx antennas% Create a local random stream to be used by random number generators for% repeatability.hStr = RandStream('mt19937ar', 'Seed', 55408); % Create BPSK mod-demod objectsP = 2; % modulation orderbpskmod = modem pskmod('M', P, 'SymbolOrder', 'Gray');bpskdemod = modem.pskdemod(bpskmod); % Pre-allocate variables for speedtx2 = zeros(frmLen, N); H = zeros(frmLen, N, M);r21 = zeros(frmLen, 1); z21 = zeros(frmLen, 1); z21_1 = zeros(frmLen/N, 1); z21_2 = z21_1;

error21 = zeros(1, numPackets); BER21 = zeros(1, length(EbNo)); BERthy2 = zeros(1, length(EbNo));

Page 13: Progress Report

13

% Set up a figure for visualizing BER resultsh = gcf; grid on; hold on;set(gca, 'yscale', 'log', 'xlim', [EbNo(1), EbNo(end)], 'ylim', [1e-4 1]);xlabel('Eb/No (dB)'); ylabel('BER'); set(h,'NumberTitle','off');set(h, 'renderer', 'zbuffer'); set(h,'Name','Transmit vs. Receive Diversity');title('Transmit vs. Receive Diversity');% Loop over several EbNo pointsfor idx = 1:length(EbNo) % Loop over the number of packets for packetIdx = 1:numPackets data = randi(hStr, [0 P-1], frmLen, 1); % data vector per user % per channel tx = modulate(bpskmod, data); % BPSK modulation % Alamouti Space-Time Block Encoder, G2, full rate % G2 = [s1 s2; -s2* s1*] s1 = tx(1:N:end); s2 = tx(2:N:end); tx2(1:N:end, :) = [s1 s2]; tx2(2:N:end, :) = [-conj(s2) conj(s1)]; % Create the Rayleigh distributed channel response matrix % for two transmit and two receive antennas H(1:N:end, :, :) = (randn(hStr, frmLen/2, N, M) + 1i*randn(hStr, frmLen/2, N, M))/sqrt(2); % assume held constant for 2 symbol periods H(2:Nend, :, :) = H(1:N:end, :, :); % Received signals % for G2-coded 2x1 system - with normalized Tx power, i.e., the % total transmitted power is assumed constant r21 = awgn(sum(H(:, :, 1).*tx2, 2)/sqrt(N), EbNo(idx), 0, hStr); % Front-end Combiners - assume channel response known at Rx % for G2-coded 2x1 system hidx = 1:N:length(H); z21_1 = r21(1:N:end).* conj(H(hidx, 1, 1)) + conj(r21(2:N:end)).* H(hidx, 2, 1); z21_2 = r21(1:N:end).* conj(H(hidx, 2, 1)) - conj(r21(2:N:end)).* H(hidx, 1, 1); z21(1:N:end) = z21_1; z21(2:N:end) = z21_2; % ML Detector (minimum Euclidean distance) demod21 = demodulate(bpskdemod, z21); % Determine errors error2 1(packetIdx) = biterr(demod21, data); end % end of FOR loop for numPackets % Calculate BER for current idx % for G2 coded 2x1 system BER21(idx) = sum(error21)/(numPackets*frmLen); % for theoretical performance of second-order diversity BERthy2(idx) = berfading(EbNo(idx), 'psk', 2, 2);

Page 14: Progress Report

14

% Plot results semilogy(EbNo(1:idx), BER21(1:idx), 'go', EbNo(1:idx), BERthy2(1:idx), 'm'); legend( 'Alamouti (2Tx, 1Rx)','Theoretical 2nd-Order Diversity'); drawnow;end % end of for loop for EbNo% Perform curve fitting and replot the resultsfitBER21 = berfit(EbNo, BER21);semilogy( EbNo, fitBER21, 'g');%hold off;

Alamouti STBC does not require CSI at the transmitter. Also, the Alamouti STBC can be used with 2 transmit antennas and 1 receive antenna while accomplishing the full diversity of 2. This is an important characteristic of Alamouti STBC as it reduces the effect of fading at mobile stations while only requiring extra antenna elements at the base station, where it is more economical than having multiple antennas at the receivers.

Result: This result is obtained by running the above code in Matlab

Fig-1.4 Alamouti BER analysis Result

Page 15: Progress Report

15

Comparison of Alamouti and MRC

clear all; clc;frmLen = 100; % frame lengthnumPackets = 1000; % number of packetsEbNo = 0:2:20; % Eb/No varying to 20 dBN = 2; % maximum number of Tx antennasM = 2; % maximum number of Rx antennas %and set up the simulation.% Create a local random stream to be used by random number generators for% repeatability.hStr = RandStream('mt19937ar', 'Seed', 55408); % Create BPSK mod-demod objectsP = 2; % modulation orderbpskmod = modem.pskmod('M', P, 'SymbolOrder', 'Gray');bpskdemod = modem.pskdemod(bpskmod); % Pre-allocate variables for speedtx = zeros(frmLen, N); H = zeros(frmLen, N, M);r21 = zeros(frmLen, 1); r12 = zeros(frmLen, 2);z21 = zeros(frmLen, 1); z21_1 = zeros(frmLen/N, 1); z21_2 = z21_1;z12 = zeros(frmLen, M);error21 = zeros(1, numPackets); BER21 = zeros(1, length(EbNo));error12 = error21; BER12 = BER21; % Set up a figure for visualizing BER resultsh = gcf; grid on; hold on;set(gca, 'yscale', 'log', 'xlim', [EbNo(1), EbNo(end)], 'ylim', [1e-4 1]);xlabel('Eb/No (dB)'); ylabel('BER'); set(h,'NumberTitle','off');set(h, 'renderer', 'zbuffer'); set(h,'Name','Transmit vs. Receive Diversity');titl('Transmit vs. Receive Diversity'); % Loop over several EbNo pointsfor idx = 1:length(EbNo) % Loop over the number of packets for packetIdx = 1:numPackets data = randi(hStr, [0 P-1], frmLen, 1); % data vector per user % per channel tx = modulate(bpskmod, data); % BPSK modulation % Alamouti Space-Time Block Encoder, G2, full rate % G2 = [s1 s2; -s2* s1*] s1 = tx(1:N:end); s2 = tx(2:N:end); %50x1 matrices tx2(1:N:end, :) = [s1 s2]; % end means frame length end and it is 50x2 matrices.%%% tx2(2:N:end, :) = [-conj(s2) conj(s1)]; % 100x2 size matrix%%% appended the 50x2 from preveous [s1 s2] matrix % Create the Rayleigh distributed channel response matrix

Page 16: Progress Report

16

% for two transmit and two receive antennas. hStr = RandStream('mt19937ar', 'Seed', 55408); H(1:N:end, :, :) = (randn(hStr, frmLen/2, N, M) + 1i*randn(hStr, frmLen/2, N, M))/sqrt(2); % assume held constant for 2 symbol periods H(2:N:end, :, :) = H(1:N:end, :, :); % Received signals % for G2-coded 2x1 system - with normalized Tx power, i.e., the % total transmitted power is assumed constant r21 = awgn(sum(H(:, :, 1).*tx2, 2)/sqrt(N), EbNo(idx), 0, hStr); %If A is a vector, sum(A) returns the sum of the elements. If A is a matrix, sum(A) treats the columns of A as vectors, returning a row vector of the sums of each column. % for Maximal-ratio combined 1x2 system for i = 1:M r12(:, i) = awgn(H(:, 1, i).*tx, EbNo(idx), 0, hStr); end % Front-end Combiners - assume channel response known at Rx % for G2-coded 2x1 system hidx = 1:N:length(H); z21_1 = r21(1:N:end).* conj(H(hidx, 1, 1)) + ... conj(r21(2:N:end)).* H(hidx, 2, 1); z21_2 = r21(1:N:end).* conj(H(hidx, 2, 1)) - ... conj(r21(2:N:end)).* H(hidx, 1, 1); z21(1:N:end) = z21_1; z21(2:N:end) = z21_2; % for Maximal-ratio combined 1x2 system for i = 1:M z12(:, i) = r12(:, i).* conj(H(:, 1, i)); end % ML Detector (minimum Euclidean distance) demod21 = demodulate(bpskdemod, z21); demod12 = demodulate(bpskdemod, sum(z12, 2)); % Determine errors error21(packetIdx) = biterr(demod21, data); error12(packetIdx) = biterr(demod12, data); end % end of FOR loop for numPackets % Calculate BER for current idx % for G2 coded 2x1 system BER21(idx) = sum(error21)/(numPackets*frmLen);

Page 17: Progress Report

17

% for Maximal-ratio combined 1x2 system BER12(idx) = sum(error12)/(numPackets*frmLen); % Plot results semilogy(EbNo(1:idx), BER21(1:idx), 'go',EbNo(1:idx), BER12(1:idx), 'bs'); legend('Alamouti (2Tx, 1Rx)','Maximal-Ratio Combining (1Tx, 2Rx)'); %drawnow;end end of for loop for EbNo % Perform curve fitting and replot the results%fitBER11 = berfit(EbNo, BER11);fitBER21 = berfit(EbNo, BER21);fitBER12 = berfit(EbNo, BER12);semilog(EbNo, fitBER21, 'g', EbNo, fitBER12, 'b');hold off;

Result: This result is obtained by running the above code in Matlab

Fig-1.5 Alamouti & MRC BER analysis result

Page 18: Progress Report

18

Proposed results

I am trying to implement three and four transmit and three receive antennas and produce

better results than I have produced above. In the present implementation I have used only

BPSK modulation technique but in future I will use QPSK, QAMs too for the BER analysis.

References:

[1] S. M. Alamouti, "A simple transmit diversity technique for wireless communications",

IEEE(R) Journal on Selected Areas in Communications, Vol. 16, No. 8, Oct. 1998, pp. 1451-

1458.

[2] Luis Miguel Cort´es-Pe˜na “MIMO Space-Time Block Coding (STBC): Simulations and

Results.” CORTES-PENA; ECE6604: PERSONAL & MOBILE COMMUNICATIONS;

PRESENTED TO DR. GORDON STUBER, APRIL 2009.

[3]MIMO-OFDM Wireless Communications With MATLAB by Yong Soo Cho, Jaekown

Kim Won Young Yang, Chung-Gu Kang