You are on page 1of 57

IMPROVING THE AVERAGE BATTERY LIFETIME BASED ON

UPLINK MULTIUSER MIMO-OFDM TRANSMISSIONS WITH


SUBCARRIER AND POWER ALLOCATION

by

Tahia Fahrin Karim

A thesis submitted in partial fulfillment of the requirements for the degree


of Masters of Engineering in Telecommunications

Examination Committee:

Dr. Poompat Saengudomlert (Supervisor)


Dr. Attaphonse Taparugssanagorn (Co-supervisor)
Prof. Kazi M. Ahmed

Nationality: Bangladeshi
Previous Degree: Bachelor of Science of Engineering in Electrical, Electronic
and Communication
Military Institute of Science and Technology, Bangladesh
Scholarship Donor:

AIT Fellowship

Asian Institute of Technology


School of Engineering and Technology
Thailand
May 2013

Acknowledgment
First and foremost, all praises to Almighty Allah for His blessings in completing
this thesis work.
Then, I would like to express my utmost gratitude and thanks to my supervisor, Dr. Poompat Saengudomlert for his continuous support, vast reserve of patience
and knowledge throughout the period of thesis. His guidance helped me in all possible
ways in the time of research and thesis writing. I would like to thank my co-supervisor,
Dr. Attaphonse Taparugssanagorn and and thesis committee member, Prof. Kazi M.
Ahmed for their constant co-operation and their constructive comments and suggestions which helped me to bring out this thesis on resource allocation in multiuser
MIMO-OFDM-MAC system successfully.
I would also like to give my heartfelt thanks to Mr. Muhammad Zubair Farooqui
for his great help in learning LaTeX software. A special thanks to my brother, Nabil
Tahmidul Karim for helping me to learn the programming language in MATLAB.
Last but not the least, I would like to thank my family for always supporting and
encouraging me with their best wishes.
Tahia Fahrin Karim
07.05.2013

ii

Abstract
Resource allocation in multiuser MIMO-OFDM cellular systems is the focus of this
thesis. The main aim of this work is to improve the average battery lifetime of the users,
where it is assumed that battery lifetimes are dominated by the transmit powers in the
uplink direction. A reduced complexity algorithm for subcarrier and power allocation
is developed. As the joint subcarrier and power allocation problem is a complicated,
nonlinear combinatorial optimization problem that can not be solved using a standard
technique, the main optimization problem is decoupled so that subcarrier allocation
and power allocation are done separately. The subcarrier allocation is done based on
the maximum subchannel gain of the channel matrix, while a bit-by-bit waterfilling
algorithm is used for power allocation. The main contribution of this thesis work is
the proposal to use all the spatial subchannels of a channel matrix, unlike (Zhang
& Lataief, 2005b), (Uthansakul & Bialkowski, 2006) and (Zhang & Lataief,
2003) which only consider a single spatial subchannel with the maximum gain on each
subcarrier. Simulation results indicate that the proposed scheme is able to better utilize
the spatial subchannels and thus significantly improve the average battery lifetime while
satisfy each users data rate requirement. Finally, the thesis also explores subcarrier
allocation that allows multiple users to share a common subcarrier, where multiaccess
interference is removed using zero forcing equalization. Simulation results indicate that
sharing of subcarriers can improve the average battery lifetime compared to the nosharing scheme that allows using only the maximum gain subchannel in each subcarrier.
However, this improvement is only present when the antenna correlation is low for the
MIMO channel.

iii

Table of Contents
Chapter

Title

Page

Title Page
Acknowledgment
Abstract
Table of Contents
List of Figures
List of Tables
List of Symbols
1

Introduction

1.1
1.2
1.3
1.4
1.5

1
2
2
3
3

Overview
Statement of the Problem
Objectives
Scope and Limitations
Organization of the Thesis

Literature Review
2.1
2.2
2.3
2.4
2.5
2.6

i
ii
iii
iv
vi
vii
ix

Orthogonal Frequency Division Multiplexing


Multiple-Input Multiple-Output Transmission
MIMO-OFDM Systems
Multiuser Systems
Resource Allocation
Related Works on Subcarrier and Power Allocation in
MIMO-OFDM Systems

4
4
6
8
11
13

Methodology

16

3.1
3.2
3.3
3.4

16
23
24
27

System Model
Optimization Problem Formulation
Proposed Adaptive Resource Allocation
Performance Evaluation

Simulation Results and Discussions

28

4.1
4.2
4.3
4.4
4.5

28
28
29
29
37

Simulation Flow Chart


Simulation Environment
Simulation Parameters
Performance Analysis of the Proposed Algorithm
Summary

Conclusions and Recommendations

38

5.1 Conclusion
5.2 Recommendations for Future Work

38
38

References
Appendix A

40
Reviews of Related Mathematics

A.1 References
A.2 Review of Matrix

42
42
42

iv

A.3 The Kronecker Product


Appendix B

MATLAB Codes

43
44

B.1 Scheme Utilizing All Subchannels without Sharing Subcarriers 44


B.2 Scheme Utilizing All Subchannels with Sharing Subcarriers
46

List of Figures
Figure
2.1
2.2
2.3
2.4

2.5
2.6
2.7
3.1
4.1
4.2

4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13

Title

Page

A digital implementation of a baseband OFDM system (Edfors, Sandell, Beek, Landstrom, & Sjoberg, 1996).
4
A schematic diagram of spatial multiplexing (Kim, n.d.)
5
A schematic diagram of spatial diversity (Kim, n.d.)
5
(a) Schemaic diagram of a MIMO-OFDM system (b) Singleantenna OFDM modulator and demodulator (c) Adding the
cyclic prefix (Bolecskei, 2006).
7
Downlink and uplink channels (Goldsmith, 2005)
9
Various MUDs in MIMO-OFDM systems
10
Transmit power allocation by waterfilling (Saengudomlert, 2011) 13
Schematic of an uplink multiuser MIMO-OFDM system
16
Simulation flow chart
28
Average battery lifetime of a user with respect to selected
subchannel index with K = 3, M = 16, Rk = 32 and t =
r = 0.3
30
Average battery lifetime of a user with respect to number of
subcarriers with K = 4, Rk = 128 and t = r = 0.3
31
Average battery lifetime of a user with respect to number of
subcarriers with K = 4, Rk = 128 and t = r = 0.0
31
Average battery lifetime of a user with respect to number of
subcarriers with K = 4, Rk = 128 and t = r = 0.7
32
Average battery lifetime of a user with respect to number of
subcarriers with K = 8, Rk = 128 and t = r = 0.3
32
Average battery lifetime of a user with respect to number of
bits/user with K = 6, M = 32 and t = r = 0.3
33
Average battery lifetime of a user with respect to number of
bits/user with K = 6, M = 32 and t = r = 0.0
33
Average battery lifetime of a user with respect to number of
bits/user with K = 6, M = 32 and t = r = 0.7
34
Average battery lifetime of a user with respect to number of
bits/user with K = 6, M = 64 and t = r = 0.3
34
Average battery lifetime of a user with respect to number
users with Rk = 128, M = 64 and t = r = 0.3
35
Average battery lifetime of a user with respect to number of
bits/user with Rk = 128, M = 64 and t = r = 0.7
36
Average battery lifetime of a user with respect to number of
bits/user with Rk = 128, M = 64 and t = r = 0.0
36

vi

List of Tables
Table
2.1
2.1
4.1

Title

Page

Previous works on resource allocation in multiuser MIMOOFDM systems


Previous works on resource allocation in multiuser MIMOOFDM systems
Simulation parameters

vii

14
15
29

List of Abbreviations
ADC
BER
BC
BS
CDMA
CCI
CP
CIR
CSI
DCA
DFT
IID
ISI
IDFT
MA
MAC
MAI
MIMO
MUD
OFDM
OPP-RR
QAM
QoS
RA
SNR
SIR
SISO
SDM
SDMA
STBC
STTC
SVD
ZF

Analog-to-Digital Converter
Bit Error Rate
Broadcast Channels
Base Station
Code Division Multiple Access
Co-channel Interference
Cyclic Prefix
Channel Impulse Responses
Channel State Information
Dynamic Channel Assignment
Discrete Fourier Transform
Independent and Identically Distributed
Intersymbol Interference
Inverse Discrete Fourier Transform
Margin Adaptive
Multiple Access Channel
Multiple Access Interference
Multiple-Input Multiple-Output
Multiuser Detection
Orthogonal Frequncy Division Multiplexing
Opportunistic Scheduling with Round Robin
Quadrature Amplitude Modulation
Quality of Service
Rate Adaptive
Signal to Noise Ratio
Signal to Interference Ratio
Single-Input Single-Output
Space Division Multiplexing
Space Division Multiple Access
Space-Time Block Codes
Space-Time Trellis Codes
Singular Value Decomposition
Zero-Forcing

viii

List of Symbols

bk,m,i
B
BERktarget
Ek
hr,j
k,m
Hk,m
J
K
K0
M
Mk
N0
pk,m
R
Rk
Rm
Uk,m
Um
Vk,m
xk,m

k,m,i

ik,m
t
r

Total number of bits for user k transmitted on ith subchannel of mth


subcarrier
Total system bandwidth
Target BER for user k
Battery energy level for user k
Channel gain for k th user on subcarrier m from j th transmit antenna to
rth receive antenna
R J channel matrix for user k on subcarrier m
Number of total transmit antenna for each user
Number of users
Number of users that can share one subcarrier
Number of subcarriers in OFDM-MIMO-MAC system
Selected subcarrier set for each user
Noise variance
Transmit power for user k on subcarrier m
Number of total receive antennas
Data rate requirement of user k
Correlation matrix
Left unitary matrix for user k on subcarrier m
Matrix constructed by Uk,m terms for all K 0 users that are sharing
subcarrier m
Right unitary matrix for user k on subcarrier m
Uplink data symbols for user k on subcarrier m
New noise covariance matrix
ith element of the k th diagonal entry matrix of
SNR gap
ith singular value of subchannel matrix Hm
Transmit antenna correlation coefficient
Receive antenna correlation coefficient

ix

Chapter 1
Introduction
1.1

Overview

Cellular radio is the fastest growing segment of the communications industry today.
The number of subscribers and demand for cellular traffic has increased enormously.
The demand for cellular data traffic has also grown significantly in recent years with
the introduction of smartphones (Android phones and iPhone) and tablets. Hence,
meeting these new demands is becoming unavoidable for the mobile operators while
keeping the costs minimum.
There are two main issues regarding resource sharing in cellular communications:
the first one addresses how the total resource (time, space, frequency) of the system is
shared by the users within the same cell while the second one addresses the inter-cell
interference.
The third generation (3G) cellular technology was designed to address the support of voice and data. Using CDMA technology, 3G systems provide quality-of-service
(QoS) support for voice. However, it has weaknesses in extension to high data rates
due to excessive interference between services. In addition, it has a limitation of providing a full range of multirate services (Yang, 2005). Hence, there has been extensive
research into fourth generation (4G) systems to support broadband wireless services
and take into account spectrum efficiency, bandwidth constraints, fading and the interference. The combination of two powerful techniques, MIMO and OFDM, has been
found to be an attractive and promising key technique for achieving the requirements
of 4G communication systems (Ho & Liang, 2009).
Recent developments in MIMO techniques have resulted in a significant boost in
performance of OFDM systems (Zhang & Lataief, 2006). MIMO is known to increase the capacity. For high data rate transmissions, the multipath characteristic of
the environment causes the MIMO channel to be frequency-selective whereas OFDM
can transform such a frequency-selective MIMO channel into a set of parallel frequencyflat MIMO channels, thus reducing the receiver complexity.
In light of the explosive growth of wireless services, radio resources such as frequency spectrum would be far from adequate unless advanced technologies are developed to achieve better efficiency of resource utilization. The traditional approach of
static allocation of resources is found to be inefficient because of wastage of scarce
spectrum and power. In worst-case fading, extra power has to be added to maintain
an acceptable performance. Hence, it is necessary to allocate and utilize the resources
in such a way that a higher spectrum efficiency and power efficiency can be achieved
while maintaining an acceptable QoS under the scarce resources.
Besides the robust performance over wireless media, OFDM and MIMO are particularly suitable for adaptive transmission and resource allocation due to the existence of
parallel subchannels in the frequency and space domains. This unique feature enables
flexible adaptive resource allocation to significantly enhance system capacity and resource utilization. A key principle of adaptive resource allocation is to exploit inherent
1

system diversities in various domains through intelligent management of bandwidth


allocation, multiple access, scheduling, and rate and power adaptation.

1.2

Statement of the Problem

Resource allocation in MIMO-OFDM systems is much more challenging than that


in SISO-OFDM systems due to the following reasons (Zhang & Lataief, 2006).
CCI caused by subcarrier reuse makes the optimization problem combinatorial
and non-convex.
To maximize spectrum efficiency while achieving a sufficient SIR, an optimal set
of co-channel users should be identified for every subcarrier based on their spatial
correlations and power distributions.
MIMO-OFDM systems are able to multiplex the users in both the space and
frequency domains. As a result, we have to decide which dimension should be
occupied by which set of users.
QoS requirements impose additional constraints on the optimization problem.
Efficiency and fairness are two crucial research issues in resource allocation in
wireless communication systems. (Zhang & Lataief, 2005a) and (Zhang & Lataief,
2003) focused on improving the power and spectral efficiency in the resource allocation problem. Fairness, on the other hand, indicates how fairly the resources can be
distributed among the users. (Maw & Sasase, 2011) performed a resource allocation
by equally distributing the power among the users while maintaining a proportional
data rate fairness. But none of these papers have discussed about the average lifetime
of the users in the network. User lifetime can be defined as the ratio of the initial
battery energy of the user and the total transmit power of that user. If we take the
summation of the lifetime of all users and divide it by the total number of users, we find
the average lifetime of a user. The main focus of this work is to allocate the resources
in such a way that the lifetime of a user can be improved. A user which has the least
battery energy is given priority to transmit its data using the best channel so that it
can finish its transmission before its battery dies out.

1.3

Objectives

The main objective of this thesis is to propose a resource allocation algorithm for
uplink transmission of a multiuser MIMO-OFDM cellular network in order to allocate
the subcarriers, power and bits dynamically so that the lifetime of the users can be
improved. The objectives of this thesis can be stated as follows.
Proposing an algorithm to allocate the subcarriers to multiple users, where each
subcarrier is allowed to be shared among multiple users. The allocation scheme is
based on the idea that the user with the least battery energy will get the privilege
to choose the best subcarriers first.
Allocating power among the subcarriers and then performing bit loading satisfying each users QoS requirements including the target BER and the required
data rate.
Maximizing the average lifetime of the users.
2

Numerical simulations will be run using MATLAB to compare the average lifetime for different numbers of users and to observe if multiuser diversity is used
efficiently.
Comparing the performance of the proposed algorithm with the existing allocation scheme in (Wong, Tsui, Cheng, & Lataief, 1999) and (Zhang & Lataief,
2005a) where at most one data stream is transmitted over each subcarrier and
there is no sharing of the subcarriers among the users.

1.4

Scope and Limitations


Both the transmitters and receivers are assumed to have the perfect channel
knowledge.
The channel is assumed to remain constant for each OFDM symbol.
Resource allocation is done for uplink transmissions only. It is assumed that
users battery lifetimes are dominated by uplink transmit powers.
An OFDM system that employs M-QAM modulation technique is considered.

1.5

Organization of the Thesis

The thesis work is organized as follows. Chapter 2 provides the literature review
which gives a brief explanation on all the relevant basic knowledge on MIMO-OFDM
systems and different resource allocation algorithms which were established in earlier
works. The methodology of the proposed algorithm of this thesis is described in chapter
3. In chapter 4, simulation results show the comparison between the proposed algorithms and the existing resource allocation algorithm.The performances of the average
battery lifetime are analyzed with the change of various parameters. The last chapter,
chapter 5 includes the conclusion and also presents possible further extentions that can
be made for the research.

Chapter 2
Literature Review
2.1

Orthogonal Frequency Division Multiplexing

The basic idea of Orthogonal Frequency Division Multiplexing (OFDM) is to divide the available spectrum into several subchannels or subcarriers (Edfors et al.,
1996). The main advantage of OFDM is its ability to cope with severe channel conditions, for example multipath and narrowband interference, without complex equalization filters. By making all subchannels narrowband, a transmitted signal experiences
almost flat fading, which makes equalization simple. To obtain a high spectral efficiency, the frequency responses of the subchannels are overlapping and orthogonal,
hence the name OFDM. An OFDM modulator can be implemented as an inverse discrete Fourier Transform (IDFT) on a block of information symbols followed by an
analog-to-digital converter (ADC). To mitigate the effects of intersymbol interference
(ISI) caused by channel time spread, each block of IDFT coefficients is typically preceded by a cyclic prefix (CP) or a guard interval. A CP is a copy of the last part of
the OFDM symbol which is prepended to the transmitted symbol and helps the transmitted signal to be periodic and thus intersymbol and intercarrier interference can be
avoided. Figure 2.1 shows a schematic diagram of a baseband OFDM system.

Figure 2.1: A digital implementation of a baseband OFDM system (Edfors et al.,

1996).

2.2

Multiple-Input Multiple-Output Transmission

Multiple-Input Multiple-Output (MIMO) is an antenna technology that is used


both in transmitter and receiver equipment for wireless radio communications. The
main reason to introduce MIMO in current wireless systems is to improve the capacity
of existing networks and to exploit the space dimension to improve wireless range and
coverage. MIMO uses multiple antennas to send multiple data signals in parallel. A
MIMO system takes advantage of the spatial diversity that is obtained by spatially
separated antennas in a dense multipath scattering environment.
In recent years, various smart antenna designs have emerged, which have found
application in diverse scenarios. The four most wide-spread MIMO types summarized
in (Jiang & Hanzo, 2007) are discussed below.
Space Division Multiplexing (SDM)
SDM systems employ multiple antennas for maximizing the attainable multiplexing gain, i.e., the throughput of a single user in terms of the number of
4

bits per symbol, by exploiting the channel impulse responses (CIRs). The main
principle of this technique is to deliver parallel streams of data to the receiver
by exploiting multipath by which capacity and the throughput can be increased.
One popular example of such a system is V-BLAST suggested by Foschini (Tse
& Viswanath, 2005). A simple schematic diagram is shown in figure 2.2.

Figure 2.2: A schematic diagram of spatial multiplexing (Kim, n.d.)

Space Division Multiple Access (SDMA)


Unlike SDM, SDMA schemes maximize the number of users supported by
sharing the total system throughput amongst the users supported. This scheme
allows supporting multiple users within the same frequency band and/or time
slot, provided that their CIRs are sufficiently different and are accurately measured.
Spatial Diversity
In contrast to the half-wavelength spaced phased array elements of beamforming, in spatial diversity schemes, such as space-time block codes (STBC) or
trellis codes (STTC), multiple antennas are positioned as far apart as possible
so that the transmitted signals of different antennas experience different fadings, resulting in the maximum achievable diversity gain. In this technique, the
same data is coded and transmitted through different antennas, which effectively
doubles the power in the channel. This improves Signal-to-Noise Ratio (SNR)
for cell-edge performance. STBC has less decoding complexity than STTC and
therefore has been widely used. Figure 2.3 represents a coarse idea of spatial
diversity.

Figure 2.3: A schematic diagram of spatial diversity (Kim, n.d.)

Beamforming
Beamforming is considered to be spatial processing that occurs at the transmitter (Jiang & Hanzo, 2007). The benefits of beamforming are to increase the
5

received signal gain by making the signals emitted from different antennas with
appropriate phases add up constructively, and to reduce the multipath fading
effects. It can achieve full diversity in single-user systems at the expense of some
capacity loss.

2.3

MIMO-OFDM Systems

In a very high data rate MIMO communication system, the radio channel introduses ISI. MIMO systems require highly complex equalization techniques to mitigate
this interference. However, OFDM simplifies the channel equalization by inserting a
CP and also converts the frequency-selective channel into a set of flat fading channels
so that MIMO-related algorithms can be easily implemented with OFDM systems. In
addition to the spatial dimension of MIMO, OFDM adds one extra dimension to exploit the frequency dimension.
The quality of a wireless link can be described by three basic parameters, namely
the transmission rate, transmission range and transmission reliability. Conventionally,
the transmission rate may be increased by reducing the transmission range and reliability. By contrast, the transmission range may be extended at the cost of a lower
transmission rate and reliability while transmission reliability can be improved by reducing the transmission rate and range (Datacom, 2005). However, with the advent
of MIMO assisted OFDM systems, the above-mentioned three parameters may be simultaneously improved (Datacom, 2005).
Although MIMO can potentially be combined with any modulation or multiple
access technique, recent research suggests that implementation of MIMO-aided OFDM
is more efficient as increased capacity, coverage and reliability is achievable. Figure 2.4
depicts a schematic diagram of a MIMO-OFDM system where figure 2.4(b) shows the
OFDM modulator-demodulator which was previously explained in figure 2.1.

Figure 2.4: (a) Schemaic diagram of a MIMO-OFDM system (b) Single-antenna

OFDM modulator and demodulator (c) Adding the cyclic prefix


(Bolecskei, 2006).
In the following subsections, the signaling schemes of MIMO applied with OFDM
are described (Bolecskei, 2006).

2.3.1

Spatial Multiplexing in MIMO-OFDM Systems

In an OFDM-based MIMO system, spatial multiplexing is performed by transmitting independent data streams on different subcarriers with the total transmit power
split across antennas and the subcarriers. Although the use of OFDM eliminates ISI,
the computational complexity of MIMO-OFDM spatial-multiplexing receivers can still
be high. This is because the number of data-carrying subcarriers typically ranges between 48 (as in the IEEE 802.11a/g standard) and 1728 (as in the IEEE 802.16e standard) and spatial separation has to be performed for each subcarrier. This problem can
be reduced by a new class of algorithms proposed in (Borgmann & Bolecskei, 2004).
The basic idea underlying these algorithms is to exploit the fact that the matrix-valued
transfer function in a MIMO-OFDM system is smooth across the subcarriers because
the delay spread in the channel is limited. Computational complexity can be reduced
by using linear equalization at the receiver and interpolation.

2.3.2

Space Frequency Coding in MIMO-OFDM Systems

While spatial multiplexing aims at increasing spectral efficiency by transmitting


independent data streams, the basic idea of space-time coding is to introduce redundancy across space and time to realize spatial diversity gain without the need for CSI
at the transmitter. In single-antenna OFDM systems, frequency diversity is obtained
by coding and interleaving across the subcarriers. In frequency selective MIMO channels, two sources of diversity are available: frequency diversity and spatial diversity.
A straightforward way to realize space-frequency diversity is to combine space-time
coding approach with forward-error-correction coding and interleaving across subcarriers. In the coherent case, where the receiver has perfect CSI, because of ISI, low
7

correlation between shifted versions of the transmitted signal is required in addition to


the properties required in the flat-fading case. A framework for designing codes that
achieve full rate and full diversity in frequency-selective fading multi-antenna channels
was proposed by (Ma & Giannakis, 2003). For noncoherent MIMO-OFDM systems,
a space-frequency code design criteria has been proposed by the author where the presence of ISI was taken into account and provides explicit constructions of codes that
achieve full diversity in space and frequency.

2.4

Multiuser Systems

In multiuser systems the system resources must be divided among multiple users.
Allocation of signaling dimensions to specific users is called multiple access. Multiple
access methods perform differently in different multiuser channels. The two basic multiuser channels are: downlink channels and uplink channels. Multiuser communications
have several key advantages over single-user communications (Gesbert, Kountouris,
Heath Jr., Chae, & Salzer, 2007), such as:
Multiuser schemes allow for a direct gain in multiple access capacity with the
help of multiuser multiplexing schemes.
Multiuser systems appear to be more immune to propagation limitation, such as
antenna correlation and degredation due to Line-of-Sight (LOS) propagation.

2.4.1

Multiuser Channels

A multiuser channel is any channel that must be shared among multiple users
(Goldsmith, 2005). Methods of allocating resources in multiuser systems can be
applied in two basic multiuser channels: downlink channels (one-to-many), also known
as broadcast channels (BC) and uplink channels (many-to-one), also called multiple
access channel (MAC).
Broadcast Channels:
In cellular broadcast channels, signals originated from the base station (BS)
are transmitted
to all the mobile users. In figure 2.5, the transmitted signal
P
s
(t),
with total power P and bandwidth B, is the sum of signals
s(t) = K
k=1 k
transmitted to all K users. The received signal at the k th receiver can be written
as,
yk (t) = hk (t)sk (t) + nk (t),

(2.1)

where the transmit signal passes through user ks channel hk (t) to reach the
receiver and nk (t) is the noise term for user k.
Multiple Access Channels:
In an uplink channel, many transmitters from different users transmit signals
to the BS, where each signal must be within the signal bandwidth B. Unlike
downlink channels, in the uplink each user has its individual transmit power
constraint Pk associated with the transmitted signal sk . Figure 2.5 indicates that
signals from different users travel through different channels, so if the transmitted
powers Pk are the same, received powers at the BS associated with different users
8

Figure 2.5: Downlink and uplink channels (Goldsmith, 2005)

will be different if channel gains are different. The total received signal at the
BS from all the users can be written as,
y(t) =

K
X

(hk (t)sk (t) + nk (t)) ,

(2.2)

k=1

where the transmit signal passes through user ks channel hk (t) to reach the
receiver and nk (t) is the noise term for user k.
2.4.2

Multiuser Diversity

Multiuser diversity takes the advantage of the fact that in a system with many
users, if some users are experiencing deep fade channels, those channels may appear to
be better for some other users. By transmitting only to users with the best channels
at any given time, system resources are allocated to the users efficiently, leading to
improved system capacity and performance. Multiuser diversity was first explored by
Knopp and Humblet with the aim to increase the throughput and to reduce the error
probability in uplink channels; the same ideas are also applicable for the downlink
channels (Goldsmith, 2005). In multiuser diversity, multiple channels are associated
with different users. The system uses selection diversity to select the user with the
best channel in any given fading state. This diversity technique is effective when the
number of users is large.

2.4.3

Multiuser Detection

Multiuser detection is based on the idea of detecting interference, and exploiting


the resulting knowledge to mitigate its effect on the desired signal. In case of uplink,
no transmission cooperation is needed and independent data streams are being transmitted. So multiuser detection techniques are used at the receiver side, i.e. at the base
station. But for the downlink, the receiver structure should be different for each user.
Here precoding strategy, which is the transmit dual to the receiver based detection, is
used.
Figure 2.6 shows the most popular MUD schemes proposed for MIMO-OFDM
9

systems. Among those schemes, classic Least Square (LS), Minimum Mean Square
Error (MMSE) and Zero-Forcing (ZF) have low complexity at a cost of low performance whereas high complexity Maximum Likelihood (ML) is capable of acheiving
the best performance but for a limited number of users. In case of non-linear MUDs,
Successive Interference Cancellation (SIC) or Parallel Interference Cancellation (PIC)
give suboptimal results using iterative processing technique combining detection and
demodulation. Recently, Genetic Algorithm (GA) aided multiuser detection has been
advocated (Jiang & Hanzo, 2007). In practice, spatial multiplexing is often implemented using more receive antennas than transmit antennas so that the channel matrix
is better conditioned and the performance of suboptimal detectors (ZF, MMSE) is improved.

Figure 2.6: Various MUDs in MIMO-OFDM systems

Zero-Forcing Detection:
Zero-forcing is a linear multiuser detection technique which takes place at the
receiver side, where it is assumed that the channel matrix H is invertible (Zelst,
2004). To eliminate the inteference from the received signals, a nulling weight matrix
W is chosen, where,
WH = IJ ,

(2.3)

where, J is the number of transmit antenna. Therefore, by forcing the interference to


be zero, desired signal can be estimated. From (2.3), if H is not a square matrix, then
W is the pseudo-inverse of H, which is written as (Zelst, 2004),
W = H = HH H

1

HH .

(2.4)

If the elements of H are assumed to be IID, the pseudo-inverse exists when the
number of transmit antennas is less than or equal to the number of receive antennas
(Zelst, 2004). Therefore, if the transmit signal vector is x, the estimates of the transmit

10

signals after applying the ZF technique can be found as


x
= Wy = H y
= H (Hx + n)
= x + HH H

1

HH n.

(2.5)

Although the ZF technique can eliminate the interferences, a big disadvantage is


that the elimination of the interferences comes at a cost of noise enhancement which
can be observed from (2.5).

2.5

Resource Allocation

As cellular system applications have expanded so much, users have nonuniform


data rate requirements. Consequently, efficient allocation of resources has become an
important topic. Two types of resource allocation techniques have been proposed in
multiuser MIMO-OFDM systems.
Fixed allocation
Dynamic allocation
A fixed resource allocation scheme is not optimal since the scheme is fixed regardless of the present channel condition. Due to the time-varying nature of the wireless
channel, dynamic resource allocation achieves higher performance. In a dynamic allocation scheme, the subcarriers are assigned to the users based on users channel state
information (CSI). This is mainly classified into two techniques as Margin Adaptive
(MA) and Rate Adaptive (RA) techniques, where the MA technique aims at minimizing the total transmit power given the users data rate constraints while the RA
technique has the goal of maximizing the overall data rate with the total transmit
power constraint.
In a multiuser MIMO-OFDM system, the spectral efficiency can be increased if
the system effectively adapts to the radio channel and takes advantage of the available
resource in both frequency and space domains. The probability that a subcarrier is in
deep fade for one user and is also in deep fade for other users is quite low. Therefore,
efficient resource allocation algorithms, i.e. allocating the subcarriers, power and bits
adaptively according to the users CSI is required to increase the system efficiency.
2.5.1

Power Allocation

Research in present MIMO-OFDM wireless systems has focused on minimizing the


total transmit power, maximizing the spectral efficiency and maximizing the throughput. Power allocation has been a topic of considerable interest to researchers. It has become a research topic in MIMO-OFDM systems assuming that the channel is perfectly
known at the transmitter. Power allocation schemes for the wireless communication
systems mainly fall into three categories, i.e. equal power allocation, waterfilling power
allocation based on SVD and Newton and convex optimization method based power
allocation (Yin & Xiao, 2009). In some research papers, power has been allocated
equally among the subcarriers and antennas (Maw & Sasase, 2011). The capacity
11

achieving waterfilling power allocation has also been considered in many works to design efficient communication systems (Gunaseelan, Reba, & Kandaswamy, 2009),
(Pan, Cai, & Xu, 2005).

Water-filling algorithm for MA Optimization:


Consider M be the number of subcarriers in a multicarrier system. Let each
subcarrier has a bandwidth of B (in Hz) and the noise levels on the subcarriers are
n1 , n2 , . . . , nM . Denote the p1 , p2 , . . . , pM be the allocated transmit powers on the
subcarriers and the power gains are h1 , h2 , . . . , hM . The number of bits that can be
transmitted over a parallel set of subcarriers can be written as,
M
1X
pm h2m
b=
log2 (1 +
),
2 m=1
nm

(2.6)

where is called the SNR gap. For MA case, the optimization is formed to minimize
the total transmit power with a given required data rate constraint. Therefore, the
final optimization problem can be written as,
minimize

M
X

pm

m=1

subject to:
M
1X
pm h2m
log (1 +
) = b,
2 m=1 2
nm

(2.7)

m,

(2.8)

pm 0.

The Lagrangian can be written as (Saengudomlert, 2011),


!
M
M
M
X
X
1 X
pm h2m
(p, ) =
pm 0
ln(1 +
)b
m pm .
2
ln
2

n
m
m=1
m=1
m=1

(2.9)

From Lagrangian optimality in the KKT conditions, a primal-dual optimal solution


pair (p , ) should satisfy (p,)
= 0, which yields,
pm
h2m pm + nm
1
=
2
hm
2 ln 2

0
1 m


.

(2.10)

From the complementary slackness, we get m pm = 0; as pm 6= 0, so m = 0.


Therefore, (2.7) yields,
pm +

nm
0
=
.
h2m
2 ln 2

(2.11)

This means, the addition of noise and the poured power should be a constant,
where the power is allocated only until the required data rate over all the subcarriers
is satisfied in (2.4).

12

This method is known as waterfilling algorithm of power allocation in MA criteria.


An example of waterfilling in a system with 4 subcarriers is shown in figure 2.7.

Figure 2.7: Transmit power allocation by waterfilling (Saengudomlert, 2011)

.
Note that, with channel gain hm and the gap-to-capacity , the noise level nm in
m
the figure 2.7 is modified to n
.
h2
m

2.5.2

Dynamic Channel Assignment

Dynamic Channel Assignment (DCA) falls into two categories: intracell dynamic
channel assignment and intercell dynamic channel assignment (Goldsmith, 2005). For
orthogonal channels, intercell DCA is preferable. The basic principle is to make every
channel available in every cell. Each channel can be used in each cell as long as the
SIR requirements are fulfilled. When the user needs a channel, only then a channel
is assigned to that user. In addition, after call termination, the channel is treated as
available channel for another assignment. Dynamically allocating the subcarriers to
users according to their channel conditions ensures that each subcarrier is allocated to
the user with high channel gains, hence effectively improving spectrum utilization.

2.6

Related Works on Subcarrier and Power Allocation in MIMO-OFDM


Systems

There have been already a lot of research papers which introduced many techniques
and algorithms for allocating the resources in MIMO-OFDM downlink transmission.
In comparison, very few researches have been done in the uplink case. Table 2.1
summarizes the key findings related to this research topic.

13

Table 2.1:: Previous works on resource allocation in multiuser MIMO-OFDM systems


SL Author
1
(Pfletschinger,
Speidel, 2002)

Mnz,

&

(Zhang & Lataief, 2005b)

(Maw & Sasase, 2011)

(Zhang & Lataief, 2003)

(Zhang & Lataief, 2005a)

(Chen & Chen, 2008)

Paper Discussion
Subcarrier allocation algorithm is proposed in a
margin adaptive way for both downlink and uplink
transmission in OFDM systems. MIMO is not considered. Two-step algorithm is described where the
first step estimates the total number of subcarriers
per user. In second step subcarriers are allocated
with a priority basis.
Mainly focuses on allocating the resources in case of
high and low spatial correlation. With low spatial
correlation, the multiuser resource allocation problem is reduced to the single-user allocation problem. In case of users with high correlation, users
are divided into groups according to their mutual
correlations, and then allocated the subcarriers in
such a way that users from the same group cannot
share the same subcarrier. Though this proposed
algorithm achieves great power and diversity gain,
if threshold correlation is very high or too low, the
system performance degrades.
Power is equally distributed among the subcarriers
and antennas. Subcarrier and antenna allocation
are done based on SVD and channel gain for each
user. Though this algorithm is successful in ensuring a data rate fairness among users, the total
system capacity improvement is not significant.
The proposed adaptive SVD-ZF scheme is based
on the greedy algorithm. However, when the correlation between the users are high and transmit
powers become higher, noise enhancement cannot
be ignored. Therefore, users who are not spatially
separable are made orthogonal to each other in the
frequency domain. In this case, the algorithm is
based on only the SVD structure.
Adaptive resource allocation algorithm is proposed
by a local-search method to obtain additional
power efficiency. Power efficiency was achieved by
reducing the power by the neighborhood search and
by allowing the spatially separable users to share
the same subcarrier. But the scheme has a limitation in affordable maximum data rate due to
constraints on maximum modulation order when
number of antenna increases.
This paper presents an enhanced version of the
scheme described in (Zhang & Lataief, 2005a).
The proposed algorithm is imposed upon a maximum power constraint and relaxes the maximum
modulation order constraint in bit loading process.

14

Table 2.1:: Previous works on resource allocation in multiuser MIMO-OFDM systems


SL Author

Paper Discussion

(Uthansakul
Bialkowski, 2006)

&

(Tan & Chang, 2008)

(Sun, Tian, Wang, Dong,


& Zhang, 2009)

10

(Gunaseelan et al., 2009)

The proposed algorithm is based on one step Lagrange multiplier method which does not require
any iterative implementation. This algorithm is
faster than the iterative greedy algorithm. But here
no subcarrier allocation is done, rather the author
allows every user to share the same subcarrier.
A downlink MIMO-OFDM is considered where the
subcarriers are assigned to the users based on the
maximum received SNR on the corresponding subcarrier. Adaptive bit and power allocation are done
based on the greedy algorithm to minimize the total
trasmit power. But CCI is not taken into account
in this work.
In this paper, the author, assuming the data rate of
each user to be the same, allocates the subcarriers
to the users according to the instantaneous characteristics of all the spatial subchannels on each subcarrier. Bit and power allocation is done based on
greedy algorithm. Later a modified bit and power
allocation scheme is also proposed to reduce the
computational complexity with a little expense of
system performance. The modified scheme divides
the spatial subchannels of each user into groups and
the same modulation and coding are used within
each group.
Block diagonalization with waterfilling power allocation algorithm is proposed in this paper to improve the system capacity with zero CCI. Each subcarrier carries an equal number of users.

15

Chapter 3
Methodology
The main stages of the proposed work can be stated as follows.
Allocation of subcarriers to the users based on the users remaining battery energy
and channel gain.
Iterative bit and power allocation for each user using water-filling scheme.
Performance evaluation of the proposed scheme to demonstrate the effectiveness
of the scheme in terms of the users average battery lifetime.

3.1

System Model

The system model considered here is mainly based on (Zhang & Lataief, 2005b)
and (Liu, Yang, & Hanzo, 2009). Figure 3.1 represents an uplink multiuser MIMOOFDM cellular system. The wideband Rayleigh frequency-selective MIMO channel
can be transformed into many Rayleigh flat fading MIMO channels. Assume there are
K users in the system, each having J transmit antennas. The whole frequency band
is divided into M subcarriers. We also assume Ek to be the initial battery energy of
user k. The BS is equipped with R receive antennas.

Figure 3.1: Schematic of an uplink multiuser MIMO-OFDM system

The following assumptions are made in the system model to reduce the computational complexities.
The fading variation of the channel is slow enough such that the channel can be
assumed to be quasi-static, i.e. the channel condition does not change within
each OFDM transmission block. (Zhang & Lataief, 2005b).
Every user has a fixed data rate.
16

The uplink transmission parameters for each user are decided by the BS using
the CSI that is feedbacked by every user to the BS. These decision parameters
are then again feedbacked to each user via the control channel for the uplink
transmission. So both the BS and the users know the channel perfectly.
There are enough transmission capacities to be allocated to satisfy traffic demands for all users.
The cyclic prefix (CP) is long enough to suppress the ISI.
There is no cooperation among the users (Liu et al., 2009).
A subcarrier can be allocated to K 0 users at most in order to suppress the amount
of MAI among the users, where K 0 < K.

3.1.1

Notations

Throughout the thesis, the following notations will be used. Bold upper case,
such as H, represents matrices and bold lower case, such as h, represents vectors. The
symbol || denotes the absolute value and ()H denotes the Hermitian conjugate of a
matrix. We denote [] as the pseudo-inverse operation of a matrix.

3.1.2

Channel Model

Based on CSI from all users, the general MIMO channel matrix between base
station and all users on mth subcarrier can be constructed as follows.
Hm = [H1,m , , Hk,m , , HK,m ].
The channel matrix of user k on subcarrier m can be denoted as,

1,1
1,2
1,J
hk,m hk,m hk,m
2,1

2,2
2,J
h
h

h
k,m
k,m k,m
Hk,m = .
,
..
...
.

.

.

R,1
R,2
R,J
hk,m hk,m hk,m

(3.1)

(3.2)

th
where hr,j
user on subcarrier m from j th transmit
k,m represents the channel gain for k
antenna to rth receive antenna of the BS. By applying the SVD technique to the channel
matrix, the channel can be decomposed into multiple parallel independent subchannels.
H
Hk,m = Uk,m k,m Vk,m

(3.3)

rank(Hk,m )

i
)H ,
uik,m ik,m (vk,m

(3.4)

i=1
i
where uik,m and vk,m
are the left and right singular vectors and ik,m denotes the singular
values that are arranged in a descending order. For simplicity, we assume that Hk,m
satisfies rank(Hk,m ) = J.

17

The Kronecker Channel Model:


For this work, a simple channel model, known as the Kronecker Model, has been
used to generate the channel matrix. We consider a system model with K users,
where each has J transmit antennas and the receiver side has R receive antennas. For
simplicity, let us consider an example where J = 2 and R = 2, so that the channel
matrix can be written as (Oestges, 2006)

h1,1 h1,2
H=
(3.5)
.
h2,1 h2,2
For Rayleigh fading, a general model of H is given by
1

vec(H) = R 2 vec(Hw ),

(3.6)
1

where Hw is the spatially white (Rayleigh IID)


MIMO channel,
whereas R = R 2 R 2

H
is the covariance matrix defined as R = E vec(H)vec(H) . The covariance matrix
R is defined as

1 r1 t1 s1

r 1 s2 t2

1
(3.7)
R=
,


t1 s2 1 r2

s1 t2 r2 1
where the parameters, r1 , r2 , t1 , t2 are the antenna correlations. The remaining two
parameters s1 and s2 are defined as cross correlations, which represent the correlations
between channels originating from and impinging on different antennas at each side of
the links.
The main problem with (3.7) is that it is not easily tractable. Therefore, to
simplify the equation, the antenna correlations are assumed to be equal in transmitter
and reciever side, r1 = r2 = r and t1 = t2 = t . Using these two values, transmit and
receive correlation matrices, Rt and Rr can be constructed as,

1 t
1 r
Rt =
(3.8)
and Rr =
.
t 1
r 1
Now the covariance matrix, R can be written as a Kronecker product of the two
correlation matrices.
R = Rt Rr .

(3.9)

Putting the value of R in (3.6), the channel matrix becomes


1

H = Rr2 Hw Rt2 .
18

(3.10)

Mathematically, this Kronecker model is valid if and only if the following two
conditions are fulfilled (Oestges, 2006),
Transmit antenna correlation coefficients are independent from the considered
receive antenna (respectively from transmit antenna), i.e. r1 = r2 and t1 = t2 .
The cross correlations should be equal to the product of the transmit and receive
correlation coefficients. Therefore, we can simplify the covariance matrix R in
(3.7) to the form in (3.9) by considering s1 = r t and s2 = r t .
Exponential Correlation Matrix:
To model the correlation matrix for the antennas on both sides, we can introduce
the following model for Rt (Martin & Ottersten, 2004),

(T 1)
1
t
2t t

(T 2)

t
1
t t

Rt = .
(3.11)
,
.
.
.
..

..
.
.
.
.
.
.
.

(T 1)
(T 2)
t
t

1
where the term, T is the total number of transmit antennas for K users. A similar
model can be used to define Rr , but by replacing t with r , with |t | < 1 and |r | < 1.
3.1.3

Transmitter Structure

Suppose that, at the transmitter side, user k has a data rate requirement of Rk
(in bits per OFDM symbol period). In each symbol duration, a data stream composed
of Rk bits is fed into M parallel streams. The uplink data symbols to be transmitted
by the k th user on subcarrier m from all J antennas to the BS can be expressed as a
vector, xk,m = [xk,m,1 , xk,m,2 , . . . , xk,m,J ]T . If user k is not assigned to use any subcarrier
m, then xk,m = 0. As shown in figure 3.1, xk,m is preprocessed using a pre-processing
matrix which is equal to the right singular matrix, Vk,m of Hk,m to precode the symbols
to be transmitted by J antennas on subcarrier m. The pre-processed outputs will be
(Liu et al., 2009),
ek,m = Vk,m xk,m .
x
3.1.4

(3.12)

Receiver Structure

At the BS, the receiver structure can be designed in two ways based on how we
want to allocate the subcarriers among the users. The two criteria of allocating the
subcarriers among different users are:
Each subcarrier will be allocated to only one user, i.e. there will be no sharing of
subcarriers among the users. Therefore, in this case we do not need any multiuser
detection scheme. As the subcarriers are orthogonal to each other, so there will
be no MAI.

19

Each subcarrier is allowed to be shared among the users. As each subcarrier


is now being shared by different users, MAI from the cochannel users will exist
within each subcarrier that is shared. A widely used linear multiuser detector,
namely zero-forcing, will be applied at the receiver side to eliminate this multiuser
interference.

No Sharing of Subcarriers:
This work is mainly done based on the Constructive Initial Allocation of Subcarriers algorithm from (Zhang & Lataief, 2005b). But in (Zhang & Lataief, 2005b),
they have considered spatial diversity mechanism and allowed the use of the subchannel
which has the maximum singular value only. In our work, we perform spatial multiplexing to all the users and consider all subchannels to be utilized on each subcarrier
of all users. This helps to make our problem more flexible.
As it is assumed that rank(Hk,m ) = J, the SVD of Hk,m can be expressed as (Liu
et al., 2009),

k,m H
Hk,m = Uk,m
Vk,m
0



k,m H
= Uks,m Ukn,m
Vk,m
0
H
= Uks,m k,m Vk,m
,

(3.13)

where the columns of Uk,m are constituted by the eigenvectors of Hk,m HH


k,m . The
matrix Uks,m consists of the J eigenvectors corresponding to the signal subspace of
Hk,m HH
k,m , whereas Ukn,m consists of the (R J) eigenvectors corresponding to the
null subspace of Hk,m HH
k,m (Liu et al., 2009).
If we want to allocate one subcarrier to each user, we can perform receiver shaping
at the receiver by multiplying the channel output by the matrix Uks,m from the left
unitary matrix Uk,m (Goldsmith, 2005). The received channel output for subcarrier
m can be expressed as,
ek,m + nm .
ym = Hk,m x

(3.14)

After multiplying Uks,m with the channel output and using the expressions from
H
(3.5) and (3.6) and exploiting the property Vk,m
Vk,m = IJ , the output after the receiver
shaping will become,
MF
ek,m + nm )
ym
= UH
ks,m (Hk,m x
H
H
= UH
ks,m Uks,m k,m Vk,m Vk,m xk,m + Uks,m nm

em.
= k,m xk,m + n

(3.15)

20

Therefore, the transmitted signal can be estimated without any interference from
e m = UH
other users and the new noise term n
ks,m nm does not change the distribution of
e m are identically distributed (Goldsmith, 2005). Accordingly, we
noise i.e., nm and n
can utilize the same singular values of the channel matrix, Hk,m in performing the bit
and power allocation scheme.
After we calculate the power allocation, which is described by pk,m,i for user k on
subchannel i of subcarrier m, the SNR expression in this subchannel can be written as
SNRk,m,i =

(ik,m )2 pk,m,i
.
N0

(3.16)

Sharing of Subcarriers:
The work in this section differs from the previous work in the aspect that we allow
sharing of subcarriers among multiple users. We limit the number of users that may
share one subcarrier to be at most K 0 . If we allow each subcarrier to be shared among
different users, we need to design the receiver structure in such a way that the MAI
from other users can be eliminated properly in order to estimate the transmitted data
symbols correctly. The SVD of Hk,m can be expressed as it is done in (3.6), i.e.
H
Hk,m = Uks,m k,m Vk,m
,

(3.17)

where the matrix Uks,m contains the J eigenvectors corresponding to the signal subspace of Hk,m HH
k,m , whereas Ukn,m consists of the (R J) eigenvectors corresponding
to the null subspace of Hk,m HH
k,m (Liu et al., 2009).
After we perform the subcarrier allocation, we get to know the set of users which
are using the same subcarriers. Without loss of generality, let users 1, 2, , K 0 share
the subcarrier m. The vector ym of the UL received signal of all K 0 users on subcarrier
m can be expressed as,
0

ym =

K
X

ek,m + nm .
Hk,m x

(3.18)

k=1

Substituting the values from equation (3.5) and (3.9),


0

ym =

K
X

H
Uks,m k,m Vk,m
Vk,m xk,m + nm

k=1
0

K
X

Uks,m k,m xk,m + nm .

(3.19)

k=1

Equation (3.9) shows that the UL transmit preprocessing matrix, Vk,m decouples
each of the antenna specific transmitted data symbols of the k th MS from those of its
other antennas (Liu et al., 2009).

21

Let us define
Um = [U1s,m , U2s,m , , UK 0 s,m ],

(3.20)

m = diag {1,m , 2,m , , K 0 ,m } ,

(3.21)

where each term Uks,m represents the J columns of eigenvectors for K 0 users that are
sharing the subcarrier m.
Then, we can write the received UL signal vector as,
ym = Um m xm + nm ,

(3.22)

where ym is an R 1 vector denoting the signals received by R antennas on subcarrier


m, and nm is an R 1 noise vector with each entry being independent and identically
distributed (IID) complex Gaussian with variance N0 . The matrix xm in (3.14) can be
defined as, xm = [xT1,m , xT2,m , . . . , xTK 0 ,m ]T .
A close observation of (3.14) indicates that Uks,m can be considered as users
spatial signature on subcarrier, which spreads the transmitted symbol in the space
domain. At the receiver, the despread signal can be obtained by correlating the received
signal with every users spatial signature. The despread signal is given by (Zhang &
Lataief, 2005b),
MF
ym
= (Um )H ym

= Rm m x m + U H
m nm ,

(3.23)

where we denote the correlation matrix as Rm = UH


m Um . It should be noted that,
although the columns of Uks,m are orthogonal, the columns of Um corresponding to
the different UL MS transmitters are nonorthogonal (Liu et al., 2009). Therefore,
there is MAI from other users which should be cancelled by the BSs receiver. In this
work, we apply zero-forcing UL MUD scheme, which is a linear detector and is capable
of entirely mitigating the MAI, but at the cost of enhancing the noise term. Zeroforcing applies the inverse of the correlation matix to the output of the MF receiver to
decouple the data. The output becomes,
MF
ZF
ym
= R1
m ym
H
= m xm + R1
m Um nm

em,
= m xm + n

(3.24)

1 H
H
1 H
e m is a JK 0 1 vector which is equal to (UH
where n
m Um ) Um nm . The term (Um Um ) Um
can also be defined as the pseudoinverse of the matrix, Um . Although from (3.16), the
singular values remains the same as before for each user on their allocated subcarrier,
the new noise term will affect the allocation of the transmit powers to different users.
e m still represents a Gaussian noise vector with zero mean, but
The new noise term n

22

with covariance matrix given by (Zhang & Lataief, 2003)




1
H
emn
eH
=E n
m = N0 (Um Um ) ,

(3.25)

where is a JK 0 JK 0 matrix, which implies that after performing the ZF multiuser


detection, the noise observations become correlated. We can compute the SNR of the
k th user on the mth subcarrier in the same way as we computed for the case without
subcarrier sharing, but this time the noise levels will be different. The SNR can be
written in this case as
SNRk,m,i

(ik,m )2 pk,m,i
,
=
k,m,i

(3.26)

where, k,m,i is the ith element of the k th diagonal entry of matrix .


3.1.5

BER Expression

After we achieve the SNR values for user k on subcarrier m, we can evaluate the
BER for that transmission. To simplify the task of evaluating the BER, a unified
expression of the actual BER for QAM can be defined as (Zhang & Lataief, 2005b),
BERk,m,i
actual = 0.2 exp(

1.5 SNRk,m,i
).
2bk,m,i 1

(3.27)

The extra SNR needed to achieve a target probability of error with a given modulation and coding scheme is defined as the SNR gap, (Lee, 2012). It can be expressed
as the following equation for an uncoded M-QAM modulation with a specified BER.
=

3.2

ln(5BER)
.
1.5

(3.28)

Optimization Problem Formulation

The main objective here is to optimize the multiuser MIMO-OFDM system. Specifically, we want to propose an adaptive resource allocation algorithm where the algorithm endeavors to prolong the average remaining battery lifetime of the users subject
to an instantaneous BER performance constraint on each subcarrier, while meeting
a constant bit rate. The subcarrier, power and bit allocation is formulated into a

23

nonlinear, nonconvex optimization problem which can be written as follows.


The objective is
K
Ek
1 X
max
PM
K k=1 m=1 pk,m

subject to:
k,

M
X

bk,m = Rk ,

(3.29)

m=1

k,

BERkactual BERktarget ,

(3.30)

k, m,

pk,m 0,

(3.31)

k, m,

bk,m 0, bk,m Z.

(3.32)

Since there is no general algorithm for solving a nonlinear and nonconvex optimization problem, we consider approximated algorithms as described in the next
subsections.

3.3

Proposed Adaptive Resource Allocation

Ideally, to achieve an optimal solution, the subcarriers, power and bits should be
allocated jointly. However, solving such a nonconvex and combinatorial optimization
problem is too complex. To deal with the high computational complexity as well
as maintain the reasonable performance, subchannel and power allocation are done
separately. Subcarrier allocation is done based on the idea of allocating the channel
with the maximum gain to the user with the least battery energy.
3.3.1

Subcarrier Allocation

The subcarrier allocation can be done in two steps (Sun et al., 2009). In the first
step, we determine the number of subcarriers Mk required for each user k. The second
step is to assign the specified subcarriers to each user according to the singular values
of the channel matrix. In the latter step, there are two aspects: Subcarrier sharing
and no sharing.
1. The number of subcarriers Mk for user k is first determined. In order to maintain
the fairness among the different users, the following equation can be used to
initially assign the number of subcarriers for each user.


Rk
Mk =
, k = 1, 2, . . . , K,
(3.33)
Ravg
PK
where Ravg = M1
k=1 Rk can be defined as the average number of bits assign to
each subcarrier, satifying the users data rates.
2. In this step, we follow two algorithms for the two aspects:
24

No Subcarrier Sharing: We follow the constructive initial assignment of the


subcarriers to the users based on the channel conditions in (Wong et al.,
1999). At first, the users are sorted in the ascending order according to
their battery energy levels. Then, for each user, the subcarriers are sorted
in the descending order based on their maximum singular values obtained
from the SVD of the channel matrices.
Subcarrier allocation is performed in multiple rounds. In each round, the
users are considered in the sorted order. Each user, say user k, is allocated
the next subcarrier in the sorted order if it is available (not yet allocated to
any user before). Otherwise, we skip the assignment of subcarrier to that
user and then proceed to the next user. However, if the number of assigned
subcarriers for the user k is equal to Mk , then user k is not allocated any
subcarrier in the next rounds.
Subcarrier allocation continues round by round and terminates when user k
has been allocated Mk subcarriers for all k.
Sharing the Subcarriers: At first, the users are sorted in the ascending order based on their battery energy levels. Then, all the required number of
subcarriers (Mk subcarriers for user k) are allocated to each user one by one
according to the sorted order. Unlike the previous scheme, there is only one
round of subcarrier allocation for each user, but each user may be allocated
multiple subcarriers in this single round.
For each user, say user k, the subcarriers are sorted in the descending order
based on their maximum nonzero singular values obtained from the SVD
of the channel matrices. The first available Mk subcarriers from the sorted
order are then allocated to user k. Each of the Mk subcarriers is allocated
to at most K 0 users.
In this scheme, a subcarrier may be allocated to multiple users. However,
each subcarrier can be allocated to no more than K 0 users in order to limit
the amount of MAI.

3.3.2

Power and Bit Allocation

As we have assigned the subcarriers to different users and zero-forcing equalization


is used at the receiver, power allocation can be done for each user separately. From
(ik,m )2
(3.19), the equivalent channel gain, k,m,i
after multiuser detection is no longer dependent on other users transmit power. Hence, we can decouple the joint power allocation
into individual user optimization problems (Zhang & Lataief, 2003). For each user

25

k, we can reformulate the joint power allocation problem as follows.


The objective function is
minimize

M
X

pk,m

m=1

subject to:
M
X

bk,m = Rk ,

(3.34)

m=1

BERkactual BERktarget ,

(3.35)

m,

pk,m 0,

(3.36)

m,

bk,m 0, bk,m Z.

(3.37)

where bk,m is the bit rate of user k on subcarrier m and can be written as
bk,m =

J
X

log2 (1 +

i=1

pk,m,i (ik,m )2
).
k,m,i

(3.38)

We define ik,m as the ith nonzero singular value element of user k on subcarrier
m. The term pk,m,i is the power loading on subchannel i for user k on the mth subcarrier. After we find powerPloading, we can calculate the allocated power for user k
on subcarrier m as pk,m = Ji=1 pk,m,i . If no subcarrier is assigned to any user, then
power allocation and bit rate will be zero on that subcarrier.
In this work, a sub-optimal waterfilling scheme considered as a separate optimization problem for each user is still difficult to solve due to its nonlinearity. Waterfilling
can be carried out over user ks singular channels across all subcarriers to find the
power and bit allocation (Ho & Liang, 2009). From (3.30), we can write the bit
allocation in subchannel i of subcarrier m for user k as
bk,m,i

pk,m,i (ik,m )2
= log2 (1 +
).
k,m,i

(3.39)

Rearranging the above equation, we can determine the power allocation for each
subchannel i of subcarrier m for user k.
pk,m,i =

(2bk,m,i 1) k,m,i
.
(ik,m )2

(3.40)

We continue to do waterfilling in the subchannels until the required data rate is


satisfied.
M X
J
X

bk,m,i Rk .

(3.41)

m=1 i=1

To solve the waterfilling problem, we can follow a bit-by-bit allocation process for
26

each user k at a time.


1. Initially, let bk,m,i = 0 for all m = 1, 2, . . . , Mk and for all i = 1, 2, . . . , J.
2. Calculate the normalized noise level for each subchannel i = 1, 2, . . . , J for all
m = 1, 2, . . . , Mk .
3. Then, allocate one bit on the subchannel i which has the minimum noise level.
Update bk,m,i = bk,m,i + 1.
4. Compute the value of pk,m,i from (3.32).
5. Repeat step 2 and 3 for all Mk subcarriers of user k.
PJ
6. Find pk,m =
i=1 pk,m,i . After that, select the subcarrier with the minimum
power to allocate another additional bit. Update bk,m,i = bk,m,i + 1. Continue the
process until the data rate is satisfied for the user. Once (3.34) is satisfied, we
stop allocating any additional bits to any subchannel of that subcarrier.
7. Then we obtain the power allocation on subcarrier m, denoted by pk,m .
8. Calculate the average lifetime.

3.4

Performance Evaluation

The system performance will be evaluated in terms of its average lifetime of the
users. We will simulate two aspects in MIMO-OFDM resource allocation scheme,
namely sharing and no sharing of subcarriers to compare the performance between
them. The following comparisons will be made after the simulations:
The first graph will be plotted to observe the performance of waterfilling in each
subchannel with 3 users.
Then, we vary the number of subcarriers for these three criteria to observe the
changes in average battery lifetime.
The plot of average lifetime of users versus the number of users for the two cases
will be created and compared.
The changes in the average lifetime of users will be investigated with respect to
the number of bits assigned to each user.

27

Chapter 4
Simulation Results and Discussions
A detailed performance analysis using the proposed algorithm is given in this
chapter, where the algorithm details have been explained in the last chapter . Two
types of subcarrier allocation algorithms were discussed, where in the first algorithm
the subcarriers will not be shared among different users but the users will utilize all the
subchannels. In the second algorithm, different users will be allowed to share the same
subcarrier as well as utilizing all the subchannels of each subcarrier. The performances
in terms of the average battery lifetime of these two algorithms are compared with the
case in which only the maximum singular mode subchannel is used. Simulation results
are obtained and discussed for different numbers of users, subcarriers and different data
rates for each user.

4.1

Simulation Flow Chart


The simulation flow chart is shown in figure 4.1.

Figure 4.1: Simulation flow chart

4.2

Simulation Environment

For simulation experiments, an OFDM system with 64 subcarriers is considered.


A wireless network is assumed where each mobile station is equipped with two transmit
28

antennas and the BS is equipped with four receive antennas. The antenna correlation
coefficients are assumed to be 0.3 for both transmitter and receiver. Each user is
assumed to have the data rate requirement of 2 bits per subcarrier on average.

4.3

Simulation Parameters

Simulation parameters are kept the same as in (Zhang & Lataief, 2005b). The
simulations will be done in MATLAB environment. The system parameters that will
be used for the simulations are given below.
Table 4.1: Simulation parameters

Symbol

Parameter

Value

Number of subcarriers

641

Number of users

2,3,4,6,8

K0

Number of users that can share a sub-

carrier
J

Number of transmit antenna for each

21

user

1
2
3

Number of total receive antenna

41

Bandwidth

20 MHz3

BERtarget

Target BER

105

Rk

Data rate requirement for each user

128 bits per OFDM symbol1

N0

Noise power

109 W/Hz2

t , r

Correlation coefficient

0.31

Ek

Energy level for each user

Randomly generated

Taken from (Zhang & Lataief, 2005a)


Taken from (Goldsmith, 2005)
Taken from (Maw & Sasase, 2011)

4.4

Performance Analysis of the Proposed Algorithm

The performance of both the no sharing and sharing of the subcarriers are compared with the algorithm in (Wong et al., 1999) and (Zhang & Lataief, 2005a)
where no subcarriers are shared and only the maximum singular value subchannel is
used. In almost every case, the scheme with no sharing of subcarriers outperforms the
other two algorithms, because there is no MAI and all the subchannels are being used.
All the simulations were carried out in MATLAB. Simulation parameters are shown in
29

Table 4.1.
Figure 4.2 shows a plot of the poured power level in each subchannel of the selected subcarriers for each user. As this waterfilling is done by a bit-by-bit allocation
process, the level of power is not flat.

Figure 4.2: Average battery lifetime of a user with respect to selected subchannel index

with K = 3, M = 16, Rk = 32 and t = r = 0.3


Figure 4.3 to figure 4.6 compare the performances of the average battery lifetime
with respect to the numbers of subcarriers for the three cases mentioned above. In all
cases, both sharing of subcarriers and transmission through all subchannels outperform
the maximum singular mode transmission case (Wong et al., 1999) and (Zhang &
Lataief, 2005a), except for figure 4.5.

30

Figure 4.3: Average battery lifetime of a user with respect to number of subcarriers

with K = 4, Rk = 128 and t = r = 0.3


In figure 4.4, an uncorrelated antenna matrix has been considered, where the
performance of average battery lifetime of maximum singular mode transmission case
degrades than before. When an uncorrelated antenna matrix are considered, the other
subchannels also have significant gains. In the maximum singular mode case, as the
other subchannels are not used, there is a chance that a good subchannel is not taken
into account and thus the performance is not good.

Figure 4.4: Average battery lifetime of a user with respect to number of subcarriers

with K = 4, Rk = 128 and t = r = 0.0


Figure 4.5 plots the same graph but for a high correlated antenna matrix. In this
31

case, the performance for sharing of subcarriers degrades because the MAI increases
with the increase of the users spatial correlation.

Figure 4.5: Average battery lifetime of a user with respect to number of subcarriers

with K = 4, Rk = 128 and t = r = 0.7


Figure 4.6 shows the same performance evaluation with an increasing number of
users.

Figure 4.6: Average battery lifetime of a user with respect to number of subcarriers

with K = 8, Rk = 128 and t = r = 0.3


From figure 4.7 to figure 4.10, the performance analysis of average network lifetime is shown with respect to the number of bits per user. Waterfilling is done at the
32

subchannel level for both no sharing and sharing of the subcarriers cases. Therefore,
when we have more bits, it is efficient to allocate the bits utilizing all the subchannels
so that the total transmit power can be reduced.

Figure 4.7: Average battery lifetime of a user with respect to number of bits/user with

K = 6, M = 32 and t = r = 0.3

Figure 4.8: Average battery lifetime of a user with respect to number of bits/user with

K = 6, M = 32 and t = r = 0.0
However, when high antenna correlation is considered in figure 4.9, the maximum
singular value is much larger than the other singular values. This implied that most
33

of the channel energy can be collected by the maximum singular value subchannel.
Therefore, performance of utilizing all subchannels is closer to the maximum singular
mode transmission. Because of the high correlation, MAI among the users in sharing
of subcarriers case increases. To eliminate this interference, noise enhancement cost
becomes so high that the performance degrades in this case.

Figure 4.9: Average battery lifetime of a user with respect to number of bits/user with

K = 6, M = 32 and t = r = 0.7

Figure 4.10: Average battery lifetime of a user with respect to number of bits/user

with K = 6, M = 64 and t = r = 0.3

34

Figure 4.11 to 4.13 show the performance of average network lifetime of a user
with respect to the total number of users in the system. Utilizing all the subchannels
outperforms the other two algorithms. In figure 4.11, when the number of users is small
there will be a number of unused subcarriers in the case of sharing of the subcarriers.
Therefore, the performance is worse than the maximum singular mode case.

Figure 4.11: Average battery lifetime of a user with respect to number users with

Rk = 128, M = 64 and t = r = 0.3


In a highly correlated case in figure 4.12, the performance of sharing of subcarriers
is much worse than the other two cases because of the noise enhancement which occurs
from using the ZF multiuser detection to suppress the MAI among different users.

35

Figure 4.12: Average battery lifetime of a user with respect to number of bits/user

with Rk = 128, M = 64 and t = r = 0.7


In figure 4.13, the uncorrelated case, utilizing all the subchannels is proved to
be better than the maximum singular mode transmission. When the number of users
is 2, we allow both the users to share the same subcarrier in the case of sharing of
subcarriers. Due to the interference, the performance is worse than the maximum
singular mode case. In sharing of subcarriers, users have the opportunity to share a
good channel with other users, whereas in the no-sharing and maximum mode cases,
users have to skip a channel if it has been previously assigned to any other users.

Figure 4.13: Average battery lifetime of a user with respect to number of bits/user

with Rk = 128, M = 64 and t = r = 0.0

36

4.5

Summary
The whole performance analysis can be summarized into following key points:
Utilizing all the subchannels and allowing no sharing of the subcarriers outperform utilizing only the subchannels according to the maximum singular modes
in all cases.
Sharing of subcarriers can improve the system performance when the amount of
antenna correlation is not high. With high antenna correlation, the amount of
MAI is high, and ZF equalization results in high noise enhancement.
When the antenna correlation becomes the maximum, i.e., equal to 1, there
exists only one subchannel for each channel matrix. Therefore, utilizing all the
subchannels performs similar to utilizing only the subchannels according to the
maximum singular modes.

37

Chapter 5
Conclusions and Recommendations
5.1

Conclusion

In this thesis, we presented an uplink resource allocation algorithm for a cellular MIMO-OFDM system by which the average network lifetime defined based on the
battery lifetimes was improved. The main focus of this work wass to utilize all the
spatial subchannels in a channel matrix, so that the total transmit power could be
minimized compared to the transmission through the subchannel with the maximum
gains (maximum singular modes) only. By minimizing the total transmit power, the
average battery lifetime was maximized.
Two cases of using all subchannels were considered in this thesis: 1) No sharing
of subcarriers; and 2) Sharing of subcarriers. Both cases were compared with the maximum singular mode transmission which was considered in (Wong et al., 1999) and
(Zhang & Lataief, 2005a). In all cases, the BS selects the uplink transmission parameters for all users based on the CSI estimated from the previously received information.
For tractable solutions, the subcarrier allocation and power allocation were done
separately. In subcarrier allocation, at first the number of subcarriers to be allocated
to the users were calculated. Then, those numbers of subcarriers were allocated to
the users based on their maximum singular values of the channel matrices. Without
sharing of subcarriers, a constructive initial allocation algorithm was followed. With
sharing of the subcarriers, multiple users were allowed to share the same subcarrier
although we limited the number of users sharing a subcarrier in order to suppress the
interference among cochannel users. Finally, a bit-by-bit waterfilling algorithm was
followed to allocate the power among the users satisfying their data rate requirements.
Once the optimal transmit power values were computed, the corresponding average
network lifetime was found.
From the simulation results, it is clear that the scheme that utilizes all spatial
subchannels without sharing the subcarriers always outperforms the other two cases.
In sharing the subcarriers, we have implemented a simple multiuser detection technique,
namely ZF, which can eliminate the MAI but at a cost of noise enhancement. If the
noise level becomes too high, the system performance may degrade. Simulation results
suggest that sharing of subcarriers can be helpful only when the antenna correlation is
low in the MIMO channel.

5.2

Recommendations for Future Work

At the end of this thesis, we would like to present the following recommendations
and open issues to stimulate further research.
Solving the resource allocation problem with imperfect channel knowledge.
Modifying the optimization problem for sharing of subcarriers in such a way that
the MAI among the cochannel users are small without significantly enhancing
the noise power, and thus yielding a better performance than the case with no
sharing of subcarrier.
38

When the channel correlation between the users increases, the performance from
sharing of subcarriers degrades. One basic idea of allocating the users to the
subcarrier is to put a constraint on correlation so that highly correlated users
will not share the same subcarrier.
Though ZF detection scheme is most commonly used to eliminate the MAI, it has
a disadvantage of the noise enhancement. Hence for multiuser detection, more
powerful multiuser detection techniques can be employed at the BS.

39

References
Bolecskei, H. (2006). MIMO-OFDM Wireless Systems: Basics, Perspectives and Challenges.
Wireless Communications, IEEE, 13 (12), 3137.
Borgmann, M., & Bolecskei, H. (2004, November). Interpolation-Based Efficient Matrix Inversion for MIMO-OFDM Receivers. Conference Record of the Thirty-Eighth Asilomar
Conference on Signals, Systems and Computers, 2004, 2, 19411947.
Chen, L.-Y., & Chen, Y.-F. (2008). Bit and Power Allocation for Multiuser MIMO OFDM
Systems with Subcarrier Reuse. International Workshop on Antenna Technology: Small
Antennas and Novel Metamaterials, 2008. iWAT 2008., 247250.
Datacom. (2005). Using MIMO-OFDM Technology to Boost Wireless LAN Performance Today (Tech. Rep.). Datacomm Research Company. Accessed from http://irabrodsky.
com/whitepapers/MIMO-OFDM_for_Wireless_LANs_White_Paper_1.0.pdf.
Edfors, O., Sandell, M., Beek, J.-J. van de, Landstrom, D., & Sjoberg, F. (1996). An
Introduction to Orthogonal Frequency-Division Multiplexing. Accessed from http:
//www.sm.luth.se/csee/sp/research/report/esb96rc.pdf.
Gesbert, D., Kountouris, M., Heath Jr., R. W., Chae, C.-B., & Salzer, T. (2007). From singleuser to Multiuser Communications: Shifting the MIMO Paradigm. Signal Processing
Magazine, IEEE, 24, 3646.
Goldsmith, A. (2005). Wireless Communications. Cambridge University Press.
Gunaseelan, K., Reba, P., & Kandaswamy, A. (2009). Adaptive Resource Allocation with
Multiuser Interference Cancellation for MIMO OFDM Systems. 2009 International
Conference on Signal Processing Systems, IEEE, 239243.
Ho, W. W. L., & Liang, Y.-C. (2009). Optimal Resource Allocation for Multiuser MIMOOFDM Systems with User Rate Constraints. Vehicular Technology, IEEE Transactions, 58, 11901203.
Jiang, M., & Hanzo, L. (2007). Multiuser MIMO-OFDM for Next Generation Wireless
Systems. Proceedings of the IEEE, 95, 14301469.
Kim, T. (n.d.). MIMO-OFDM DesignUusing LabVIEW.
ece.utexas.edu/~jandrews/molabview.html.
Lee,

Accessed from http://users.

J.
(2012).
Waterfilling for Parallel Subchannels, lecture 4, courseECE287B. Accessed from http://scientiasapientia.com/ucsd_ece287b_spr12/
lecture_slides/lecture4.pdf.

Liu, W., Yang, L. L., & Hanzo, L. (2009, February). SVD-Assisted Multiuser Transmitter and Multiuser Detector Design for MIMO Systems. Vehicular Technology, IEEE
Transactions, 58, 1016-1021.
Ma, X., & Giannakis, G. B. (2003). Full-Diversity Full-Rate Complex-Field Space-Time
Coding. Signal Processing, IEEE Transactions, 51, 29172930.
Martin, C., & Ottersten, B. (2004). Asymptotic Eigenvalue Distributions and Capacity for
MIMO Channels Under Correlated Fading. Wireless Communication, IEEE, 3, 1350 1359.
Maw, M. S., & Sasase, I. (2011, June). Efficient Resource Allocation for Multiuser MIMOOFDM Uplink System to Guarantee the Proportional Data Rate Fairness Among Users
in a System. 1st International Symposium on Access Spaces (ISAS), IEEE-ISAS, 132
137.

40

Oestges, C. (2006). Validity of the Kronecker Model for MIMO Correlated Channels. Vehicular Technology Conference, 2006. VTC 2006-Spring. IEEE 63rd, 6, 2818 - 2822.
Pan, C., Cai, Y., & Xu, Y. (2005). Adaptive Subcarrier and Power Allocation for Multiuser
MIMO-OFDM Systems. 2005 International Conference, Communications, ICC 2005,
IEEE, 4, 26312635.
Pfletschinger, S., Mnz, G., & Speidel, J. (2002, September). Efficient Subcarrier Allocation for Multiple Access in OFDM Systems. 7th International OFDM-Workshop 2002
(InOWo02), 2125.
Saengudomlert, P. (2011). Optimization for Communications and Networks. Science Publishers.
Sun, Q., Tian, H., Wang, S., Dong, K., & Zhang, P. (2009). Novel Resource Allocation Algorithms for Multiuser Downlink MIMO-OFDMA of FuTURE B3G Systems. Progress
in Natural Science, ScienceDirect, 11411146.
Tan, Y., & Chang, Q. (2008, October). Multi-User MIMO-OFDM with Adaptive Resource
Allocation Over Frequency Selective Fading Channel. 4th International Conference
on Wireless Communications, Networking and Mobile Computing, 2008. WiCOM 08.,
15.
Tse, D., & Viswanath, P. (2005). Fundamentals of Wireless Communication. Cambridge
University Press.
Uthansakul, P., & Bialkowski, M. E. (2006). An Efficient Adaptive Power and Bit Allocation Algorithm for MIMO OFDM System Operating in a Multi User Environment.
Vehicular Technology Conference, 2006. VTC 2006-Spring. IEEE 63rd, 3, 15311535.
Wong, C. Y., Tsui, C. Y., Cheng, R. S., & Lataief, K. B. (1999). A Real-Time Subcarrier
Allocation Scheme for Multiple Access Downlink OFDM Transmission. VTS 50th
Vehicular Technology Conference, IEEE, 2, 1124-1128.
Yang, H. (2005). A Road to Future Broadband Wireless Access: MIMO-OFDM-Based Air
Interface. Communications Magazine, IEEE, 43, 5360.
Yin, W., & Xiao, P. (2009, August). Optimal Power Allocation Strategy for TBLAST based
4G Systems. Engineering Journal, SCIRP, 1 (2), 9198.
Zelst, A. van. (2004). MIMO-OFDM for Wireless LANs.
Zhang, Y. J., & Lataief, K. B. (2003, December). Optimizing Power and Resource Management for Multiuser MIMO/OFDM Systems. Global Telecommunications Conference,
2003. GLOBECOM 03, IEEE, 1, 179183.
Zhang, Y. J., & Lataief, K. B. (2005a, November). Adaptive Resource Allocation for Multiaccess MIMO/OFDM Systems with Matched Filtering. Communications, IEEE Transactions, 53 (11), 18101816.
Zhang, Y. J., & Lataief, K. B. (2005b). An Efficient Resource-Allocation Scheme for Spatial
Multiuser Access in MIMO/OFDM Systems. Communications, IEEE Transactions,
53, 107116.
Zhang, Y. J., & Lataief, K. B. (2006). Dynamic Multiuser Resource Allocation and Adaptation for Wireless Systems. Wireless Communication, IEEE, 13, 3847.

41

Appendix A

Reviews of Related Mathematics


A.1

References

Most of the mathematical theory that is described in the next sections can be
found in (Goldsmith, 2005) and (Zelst, 2004).

A.2
A.2.1

Review of Matrix
Hermitian Matrix

The Hermitian of a matrix A, denoted by AH , can be defined as the conjugate


transpose of that matrix: AH = (A )T . The complex conjugate A is obtained by
taking the complex conjugate of each element in matrix A.

A.2.2

Rank of a Matrix

The rank of a matrix A is the number of nonzero eigenvalues of that matrix A. If


A is an N M matrix, the rank of A cannot exceed min[N, M ]. If an N M matrix
A is full rank, then the rank of A is equal to min[N, M ].

A.2.3

Singular Value Decomposition

If A is an N N matrix, then Singular Value Decomposition (SVD) of A can be


written as: A = UUH , where U is a unitary matrix whose columns are the eigenvectors of A and boldsymbol represents a diagonal matrix where the diagonal entries
are the nonzero eigenvalues of A and are arranges in descending order.
However, SVD can be applied to matrix of any dimension. Suppose for an N M
matrix A, SVD can be written as,
A = UVH

(1.1)

The columns of V are called the right singular vectors of A and the columns of U are
the left singular vectors of A. In this case the matrix has a special form which is

42

written as,

N M

1
.
..

0
=

.
..

...

...

0
..
.

..
.

for N M

(1.2)

and

N M

1 0 0 0
. .

.
. . ... ... . . . ...
=
.

0 M 0 0

for N < M

(1.3)

where i is the square root of the eigen values of matrix AAH and are called the
singular values of A.

A.3

The Kronecker Product

The Kronecker product of an N M matrix A


N L M K matrix which can be defined as,

a11 B a12 B

a21 B a22 B

AB = .
..
..
..
.
.

aM 1 B aM 2 B

43

and an L K matrix B is an

a1N B

a2N B

..
.

aM N B

(1.4)

Appendix B

MATLAB Codes
B.1

Scheme Utilizing All Subchannels without Sharing Subcarriers

%%% System Parameters %%%%


a=0.3; % transmitter correlation coefficient
b=0.3; % receiver correlation coefficient
R_t=[1 (conj(a)) (conj(a^2)) (conj(a^3)) (conj(a^4)) (conj(a^5));a 1 (conj(a)) (conj(a^2))...
(conj(a^3)) (conj(a^4)); a^2 a 1 (conj(a)) (conj(a^2)) (conj(a^3)); a^3 a^2 a 1 (conj(a)) (conj(a^2));...
a^4 a^3 a^2 a 1 (conj(a)); a^5 a^4 a^3 a^2 a 1];
% Transmitter Correlation matrix for 3 users.
R_r=[1 (conj(b)) (conj(b^2)) (conj(b^3));b 1 (conj(b)) (conj(b^2));...
b^2 b 1 (conj(b)); b^3 b^2 b 1];
% Receiver Correlation matrix
J=2; % No. of transmit antennas for each user
T=6; % No. of total transmit antennas
M=64; % Total subcarrier
K=3; % Total users
user = 1:K; % user=1:K
R=4; % Total receive antennas at BS
Ek = [12 5 9]; % Battery energy level
B=20^6; %Bandwidth
BER_target=1/100000;
No=(10^(-9))*B; %Noise power in Watt/Hz
Rk=[128;128;128]; % Data rate requirement for each user in bits/symbol
Ravg=(K*Rk(1))/M; % Average no of bits assigned to each subcarrier
Mk=floor(Rk(1)/Ravg); % No of subcarriers required for each user
gamma = -log(5*BER_target)/1.5; % SNR Gap
H = zeros(R,J*K,M); % creating a RxJK 3-dimensional matrix
matrix = zeros(K,M); % a matrix for SVD
indexMatrix = zeros(K,M);
assign=zeros(K,M);
A=zeros(K,Mk,J);
bkm = zeros(K,M);
Availability = zeros(1,M);
pkmi = zeros(K,Mk);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Ordering the users based on their battery energy %%%%
new_E = Ek;
for l = 1:K
for k = 1:K-1
if(new_E(k)>new_E(k+1))
temp = new_E(k+1);
temp2 = user(k+1);
new_E(k+1) = new_E(k);
user(k+1) = user(k);
new_E(k) = temp;
user(k) = temp2;
end
end
end
R_r_sqrt = R_r^0.5;
R_t_sqrt = R_t^0.5;
%%%% Generating the channel matrix %%%%
for m = 1:M
Hw = (randn(R, T, 2) + sqrt(-1) * randn(R, T, 2)) / sqrt(2); % i.i.d complex Gaussian or Ragleigh in
envelope
H(:,:,m) = R_r_sqrt * Hw(:,:,1) * R_t_sqrt;
end
for m = 1:M
for k = 1:K
H_km(:,:,k,m) = H(:,(k-1)*J+1:k*J,m); % Getting the channel matrix for user k on subcarrier
[U,eigval(:,:,k,m),V] = svd(H_km(:,:,k,m)); % Performing SVD Hkm
matrix(k,m) = eigval(1,1,k,m);
A(k,m,1)= eigval(1,1,k,m);
A(k,m,2)= eigval(2,2,k,m);
end
end
[sorted sortedIndex] = sort(matrix,2,descend); % Sorting in Descending order

44

power_pkmi = zeros(K,Mk,J);
Total_assigned = zeros(1,K);
selected_subcarrier = zeros(K,Mk);
%%%% Performing Subcarrier Allocation %%%%
for m = 1:M
for k = 1:K
if(Total_assigned(user(k)) < Mk)
selected = sortedIndex(user(k),m);
if(Availability(selected)~= 1)
assign(user(k),selected) = 1;
Availability(selected) = 1;
Total_assigned(user(k)) = Total_assigned(user(k)) + 1;
for i = 1:Mk
if(selected_subcarrier(user(k),i)==0)
selected_subcarrier(user(k),i) = selected;
break;
end
end
end
end
end
end
normalized_noise = Inf*ones(K,Mk,J);
Y=zeros(K,1);
Pk = zeros(K,1); Tk = zeros(K,1); gain_min = zeros(K,Mk);pmin = zeros(K,J);
%%%% Calculating Normalized Noise level in each subchannel %%%%
for k = 1:length(user)
for m = 1:size(selected_subcarrier,2)
for i = 1:J
normalized_noise(k,m,i) = gamma*No/(A(k,selected_subcarrier(k,m),i))^2;
end
end
end
%%%% Power Allocation by waterfilling %%%%
for k = 1:length(user)
while Y(k)< Rk(k)
for m = 1:size(selected_subcarrier,2)
X = sum(bkmi,3);
Y = sum(X,2);
for i = 1:J
pkmi(k,m,i)=(2^bkmi(k,selected_subcarrier(k,m),i)-1)*gamma*No/(A(k,selected_subcarrier(k,m),i))^2
+ normalized_noise(k,m,i);
SNR(k,m,i) = pkmi(k,m,i)*(A(k,selected_subcarrier(k,m),i))^2/No;
[minval,minpos] = min(pkmi(k,:,i));
pmin(k,i) = minval;
index(k,i) = minpos;
[min_p,min_m] = min(pmin(k,:));
minp(k) = min_p;
minind(k) = min_m;
end
end
if (Y(k)< Rk(k))
bkmi(k,selected_subcarrier(k,index(k,minind(k))),minind(k)) =
bkmi(k,selected_subcarrier(k,index(k,minind(k))),minind(k)) + 1;
end
end
end
%%%% Finding out the average battery lifetime %%%%
for k = 1:length(user)
for m = 1:size(selected_subcarrier,2)
for i = 1:J
power_pkmi(k,m,i) = pkmi(k,m,i) - normalized_noise(k,m,i) ;
end
pkm = sum(power_pkmi,3);
Pk = sum(pkm,2);
Tk(k) = Ek(k)/Pk(k);
end
Avg_lifetime = sum(Tk)/K;
end
display(Avg_lifetime);

45

B.2

Scheme Utilizing All Subchannels with Sharing Subcarriers

a=0.3; % transmitter correlation coefficient


b=0.3; % receiver correlation coefficient
R_t=[1 (conj(a)) (conj(a^2)) (conj(a^3)) (conj(a^4)) (conj(a^5));a 1 (conj(a)) (conj(a^2))...
(conj(a^3)) (conj(a^4)); a^2 a 1 (conj(a)) (conj(a^2)) (conj(a^3)); a^3 a^2 a 1 (conj(a)) (conj(a^2));...
a^4 a^3 a^2 a 1 (conj(a)); a^5 a^4 a^3 a^2 a 1];
% Transmitter Correlation matrix for 3 users.
R_r=[1 (conj(b)) (conj(b^2)) (conj(b^3));b 1 (conj(b)) (conj(b^2));...
b^2 b 1 (conj(b)); b^3 b^2 b 1];
% Receiver Correlation matrix
J=2; % No. of transmit antennas for each user
T=6; % No. of total transmit antennas
M=64; % Total subcarrier
K=3; % Total users
K_prime = 2; % No. of users that can share a subcarrier
user = 1:K; % user=1:K
R=4; % Total receive antennas at BS
Ek = [12 5 9]; % Battery energy level
B=20^6; %Bandwidth
BER_target=1/100000;
No=(10^(-9))*B; %Noise power in Watt/Hz
Rk=[128;128;128]; % Data rate requirement for each user in bits/symbol
Ravg=(K*Rk(1))/M; % Average no of bits assigned to each subcarrier
Mk=floor(Rk(1)/Ravg); % No of subcarriers required for each user
gamma = -log(5*BER_target)/1.5; % SNR Gap
H = zeros(R,J*K,M); %creating a RxJK 3-dimensional matrix
H_km = zeros(R,J,K,M);
matrix = zeros(K,M); % a matrix for SVD
indexMatrix = zeros(K,M);
assign=zeros(K,M);
A=zeros(K,Mk,J);
bkmi = zeros(K,M,J);
Availability = zeros(1,M);
pkmi = zeros(K,Mk,J);
pkm = zeros(K,Mk);
SNR = zeros(K,Mk,J);
normalized_noise = Inf*ones(K,Mk,J);
Pk = zeros(K,1); Tk = zeros(K,1); gain_min = zeros(K,Mk);pmin = zeros(K,J);
allocate = zeros(1,M);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Ordering the users based on their battery energy %%%%
new_E = Ek;
for l = 1:K
for k = 1:K-1
if(new_E(k)>new_E(k+1))
temp = new_E(k+1);
temp2 = user(k+1);
new_E(k+1) = new_E(k);
user(k+1) = user(k);
new_E(k) = temp;
user(k) = temp2;
end
end
end
R_r_sqrt = R_r^0.5;
R_t_sqrt = R_t^0.5;
%%%% Generating the channel matrix %%%%
for m = 1:M
Hw = (randn(R, T, 2) + sqrt(-1) * randn(R, T, 2)) / sqrt(2); % i.i.d complex Gaussian or Ragleigh in
envelope
H(:,:,m) = R_r_sqrt * Hw(:,:,1) * R_t_sqrt;
end
for m = 1:M
for k = 1:K
H_km(:,:,k,m) = H(:,(k-1)*J+1:k*J,m); % Getting the channel matrix for user k on subcarrier
[U,eigval(:,:,k,m),V] = svd(H_km(:,:,k,m)); % Performing SVD Hkm
matrix(k,m) = eigval(1,1,k,m);
A(k,m,1)= eigval(1,1,k,m);
A(k,m,2)= eigval(2,2,k,m);
end
end
[sorted sortedIndex] = sort(matrix,2,descend); % Sorting in Descending order
sortedIndex1 = sortedIndex;

46

%%%% Subcarrier Allocation %%%%


sub_allc = zeros(K,Mk);
for k = 1:length(user)
j = 1;
for m = 1:M
if (allocate(sortedIndex1(user(k),m))< K_prime && j<=Mk)
sub_allc(user(k),j) = sortedIndex1(user(k),m);
allocate(sortedIndex1(user(k),m)) = allocate(sortedIndex1(user(k),m))+1;
j = j+1;
elseif(allocate(sortedIndex1(user(k),m))>= K_prime && j<=Mk)
for e = 1:20
temp = sortedIndex1(user(k),m);
i = m;
if(allocate(sortedIndex1(user(k),i))>= K_prime)
while(i<=M-1)
sortedIndex1(user(k),i) = sortedIndex1(user(k),i+1);
i = i + 1;
end
end
end
sub_allc(user(k),j) = sortedIndex1(user(k),m);
allocate(sortedIndex1(user(k),m)) = allocate(sortedIndex1(user(k),m))+1;
j = j+1;
end
end
end
%%%% Creating Um and new noise term eta %%%%
selected_user = zeros(M,K);
initial_Um = {};
for k = 1:K
for j = 1:Mk
m_index = sub_allc(k,j);
for m = 1:M
selected_user(m_index,k) = 1;
end
end
end
for m = 1:M
for k = 1:K
if(selected_user(m,k)==1)
initial_Um(m,k) = {U_ksm(:,:,k,m)};
elseif (selected_user(m,k)==0)
initial_Um(m,k) = {[]};
end
end
end
for m = 1:M
Um{m} = create_Um(initial_Um,m); % Constructing Um for each m
Rm{m} = (Um{m})*Um{m}; % correlation matrix
eta{m} = No*pinv(Rm{m}); % constructing the new noise matrix
end
Y=zeros(K,1);
noise_k = zeros(K,Mk,J);
for k = 1:length(user)
for m = 1:size(sub_allc,2)
eta_m = eta{sub_allc(k,m)};
% Storing eta for each k and m
c = diag(eta_m); % Taking out all the diagonal entries from eta_m
a = find(selected_user(sub_allc(k,m),:)==1);
if length(a) == 1
for i = 1:J
noise_k(k,sub_allc(k,m),i) = c(i);
end
elseif length(a) > 1
for j = 1:length(a)
b = c((j-1)*J+1:j*J);
for i = 1:J
noise_k(a(j),sub_allc(k,m),i) = b(i);
end
end
end
end
end
%%%% Calculating Normalized Noise level in each subchannel %%%%%

47

for k = 1:length(user)
for m = 1:size(sub_allc,2)
for i = 1:J
normalized_noise(k,m,i) = gamma*real(noise_k(k,sub_allc(k,m),i))/(A(k,sub_allc(k,m),i))^2;
end
end
end
%%%% Power Allocation by Waterfilling %%%%
for k = 1:length(user)
while Y(k)< Rk(k)
for m = 1:size(sub_allc,2)
X = sum(bkmi,3);
Y = sum(X,2);
for i = 1:J
pkmi(k,m,i) = (2^bkmi(k,sub_allc(k,m),i)-1)*gamma*real(noise_k(k,sub_allc(k,m),i))/
(A(k,sub_allc(k,m),i))^2 + normalized_noise(k,m,i);
SNR(k,m,i) = pkmi(k,m,i)*(A(k,sub_allc(k,m),i))^2/real(noise_k(k,sub_allc(k,m),i));
[minval,minpos] = min(pkmi(k,:,i));
pmin(k,i) = minval;
index(k,i) = minpos;
[min_p,min_m] = min(pmin(k,:));
minp(k) = min_p;
minind(k) = min_m;
end
end
if (Y(k)< Rk(k))
bkmi(k,sub_allc(k,index(k,minind(k))),minind(k)) = bkmi(k,sub_allc(k,index(k,minind(k))),minind(k))
+ 1;
end
end
end
%%%% Calculating Average Battery Lifetime %%%%
for k = 1:length(user)
for m = 1:size(sub_allc,2)
for i = 1:J
power_pkmi(k,m,i) = pkmi(k,m,i) - normalized_noise(k,m,i);
pkm = sum(power_pkmi,3);
end
Pk = sum(pkm,2);
Tk(k) = Ek(k)/Pk(k);
end
Avg_lifetime = sum(Tk)/K;
end
display(Avg_lifetime);

48