Progress Report
-
Upload
sudhirjhain -
Category
Documents
-
view
26 -
download
0
Transcript of 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
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
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
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
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
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.
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.
8
MIMO Block diagrams
Fig-1.2MIMO System
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
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
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;
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));
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);
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
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
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);
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
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