0% found this document useful (0 votes)
49 views91 pages

Uplink Power Control in 4G LTE

ULpc in lte and applications

Uploaded by

engrr_haris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views91 pages

Uplink Power Control in 4G LTE

ULpc in lte and applications

Uploaded by

engrr_haris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

Northern Illinois University

Huskie Commons

Graduate Research Theses & Dissertations Graduate Research & Artistry

2016

Uplink power control in 4G LTE


Prudhvi Mudunuri

Follow this and additional works at: https://huskiecommons.lib.niu.edu/allgraduate-thesesdissertations

Recommended Citation
Mudunuri, Prudhvi, "Uplink power control in 4G LTE" (2016). Graduate Research Theses & Dissertations.
6572.
https://huskiecommons.lib.niu.edu/allgraduate-thesesdissertations/6572

This Dissertation/Thesis is brought to you for free and open access by the Graduate Research & Artistry at Huskie
Commons. It has been accepted for inclusion in Graduate Research Theses & Dissertations by an authorized
administrator of Huskie Commons. For more information, please contact [email protected].
ABSTRACT
UPLINK POWER CONTROL IN 4G LTE

Prudhvi Mudunuri, M.S.


Department of Electrical Engineering
Northern Illinois University, 2016
Mansour Tahernezhadi, Director

The research is related to the uplink power control for 4G LTE which is to evaluate the system

performance using the coding in MATLAB. The primary objective of this thesis is to design a

cellular network environment which has 1050 users which are distributed in seven cells with

directional antennas. The total environment is set up in MATLAB and the performance is

evaluated for different values of path-loss compensation factor. Considering the fractional

compensation and full compensation the LTE system analysis is compared for both open-loop

power control system and closed loop power control system as well. The performance is evaluated

with the uplink signal-to-noise to interference ratio which is measured. Using the Shannon

capacity, the bit rate is calculated. The distribution of the users for closed loop power control

algorithm is collaborated with the Nash equilibrium from microeconomics and conclusions are

drawn.
NORTHERN ILLINOIS UNIVERSITY

DEKALB, ILLINOIS

MAY 2016

UPLINK POWER CONTROL IN 4G LTE

BY

PRUDHVI MUDUNURI

A THESIS SUBMITTED TO THE GRADUATE SCHOOL

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE DEGREE

MASTER OF SCIENCE

DEPARTMENT OF ELECTRICAL ENGINEERING

Thesis Director: Dr. Mansour Tahernezhadi


ACKNOWLEDGEMENTS

The primary reason for working on this thesis is because of the continuous support from

Dr. Mansour Tahernezhadi. I would like to express my honest gratitude for his guidance in

completing this thesis and my master’s. His guidance and mentoring throughout my graduate

study helped me to gain more interest over the work that I have chosen.

I would like to thank Dr. Donald Zinger and Dr. Martin Kocanda for being members of

my thesis committee and supporting me all over the study.

I would like to thank my family for encouraging me to purse my master’s and giving me

freedom. Furthermore, I also like to thank my friends for their ideas and motivation for

completing my thesis.
Table of Contents
Page
List of Figures ......................................................................................................................... .. vi
List of Tables ............................................................................................................................ vii

CHAPTER-1 THESIS INTRODUCTION.............................................................................................. 1

1.1 Problems Statement ........................................................................................................... 1

1.2 Objective ............................................................................................................................. 1

1.3 Methodology ....................................................................................................................... 2

1.4 Outline................................................................................................................................. 2

CHAPTER-2 BACKGROUND AND LITERATURE REVIEW.................... ........................................... 4

2.1 Wireless Communication .................................................................................................... 4

2.2 Path Loss ............................................................................................................................. 5

2.3 Fading .................................................................................................................................. 5

2.4 Cellular Fundamentals ........................................................................................................ 6

2.5 Techniques in Wireless Communications ........................................................................... 7

2.5.1 Time Division Multiple Access (TDMA) ................................................................................ 7


2.5.2 Frequency Division Multiple Access (FDMA) ....................................................................... 8
2.5.3 Code Division Multiple Access (CDMA) ................................................................................ 8
2.5.4 Space Division Multiple Access (SDMA) ............................................................................... 9
2.6 Orthogonal Frequency Division Multiplexing ..................................................................... 9

2.7 Frequency Reuse ............................................................................................................... 10

2.8 Interference ...................................................................................................................... 11

2.9 Signal-to-Noise Ratio......................................................................................................... 11


iv
2.10 Signal-to-Interference plus Noise Ratio .......................................................................... 12

2.11 Bit Rate ............................................................................................................................ 12

2.12 Modulation Schemes ...................................................................................................... 12

2.12.1 Quadrature phase shift keying ......................................................................................... 12


2.12.2 Quadrature Amplitude modulation ................................................................................. 13
2.13 Long-Term Evolution (LTE) .............................................................................................. 13

2.14 LTE Communication ........................................................................................................ 14

2.15 LTE Frame Structure ........................................................................................................ 14

2.16 Physical Resource Block .................................................................................................. 15

2.17 Power Control ................................................................................................................. 16

2.18 LTE PUSCH Power Control ............................................................................................... 18

2.19 Power Control Schemes .................................................................................................. 19

2.19.1. Conventional Power Control Scheme ............................................................................. 19


2.19.2. Fractional Power Control Scheme.................................................................................. 19
2.19.3. Open-loop Power Control Scheme ................................................................................. 20
2.19.4. Closed-loop Power Control Scheme ............................................................................... 22

2.20 Nash Equilibrium ............................................................................................................. 24

CHAPTER-3 DESIGNING AND IMPLEMENTING.......................................................................... 24

3.1 Parameter Declaration ...................................................................................................... 26

3.2 Creating Network Map...................................................................................................... 27

3.3 Positioning Users in Sectors .............................................................................................. 28

3.4 Calculating Path Loss......................................................................................................... 28


v

3.5 Allocating Physical Resource Blocks to the Users ............................................................. 28

3.6 Allocating Signal-to-Noise Ratio to Users ......................................................................... 28

3.7 Calculating Transmitter Power and Receiver Power ........................................................ 29

3.8 Signal-to-Noise plus Interference Ratio calculation.......................................................... 29

3.9 Calculating Capacity .......................................................................................................... 30

CHAPTER-4 RESULTS AND OBSERVATIONS................................................................................. 31

4.1 CDF plot for α=1 ................................................................................................................ 33

4.2 Closed-loop Performance with different Target SINRdB .................................................. 34

4.3 Closed Loop Performance for difference α values............................................................ 35

Chapter-5 CONCLUSIONS AND FUTURE WORK.......................................................................... 38

5.1 Conclusion ......................................................................................................................... 38

5.2 Future Work ...................................................................................................................... 39

REFERENCES ................................................................................................................................ 40
APPENDIX .................................................................................................................................... 42
LIST OF FIGURES

Figure 1 Pathloss between Transmitter and Receiver ..................................................... 5

Figure 2 Fading in multi-cell environment due to multipath ........................................... 6

Figure 3 TDMA concept .................................................................................................. 7

Figure 4 FDMA concept .................................................................................................. 8

Figure 5 CDMA concept .................................................................................................. 8

Figure 6 concept of OFDM ............................................................................................ 10

Figure 7 Frequency reuse in cells................................................................................... 10

Figure 8 Frame structure of LTE ................................................................................... 15

Figure 9 Basic architecture of resource block ................................................................ 16

Figure 10 Block diagram of open-loop power control scheme [19] .............................. 21

Figure 11 Block diagram for closed-loop power control scheme [19] .......................... 23

Figure 12 Flow chart ...................................................................................................... 25

Figure 13 Cellular network with seven cells and three sectors in each cell ................... 31

Figure 14 channel gain of all the users........................................................................... 32

Figure 15 CDF of uplink SINR for α=1 in open- and closed-loop schemes through
MATLAB implementation ............................................................................................. 33

Figure 16 CDF of uplink SINR for different signal-to -noise ratio targets through
MATLAB implementation ............................................................................................. 35

Figure 17 CDF of bit rate for closed-loop power control scheme for α=1 and α=0.7
through MATLAB implementation ............................................................................... 36

Figure 18 Bit-rate vs alpha graph using MATLAB implementation ............................. 37


LIST OF TABLES

Table 1 Parameters Declared in This Paper ............................................................................... 26


1

CHAPTER-1

THESIS INTRODUCTION

This chapter in the document deals with the introduction to the thesis study. Thesis objective,

outline and methodology are discussed.

1.1. Problems Statement

The problem that we are trying to deal with in this paper is the power control in the devices

which are likely using 4G LTE. The main problem in any 4G device is the battery consumption.

We propose the standard models in this thesis study using the MATLAB implementation and

optimizing the power used by a particular device. In multicellular environment there is chance of

interference between the users which limits the performance of the system. This thesis focuses on

the power control schemes of 4G LTE which can minimize the interference. Using the MATLAB

implementation, the performance of the 4G system is compared with the different path-loss factors.

1.2. Objective

This paper involves designing and implementing of a power control algorithm for the closed-

loop and open-loop power control in the LTE uplink. The total environment is set up in MATLAB

and different values of the path-loss compensation factor are studied for fractional and full

compensation. The case modeled by including path loss due to shadowing and fading were studied.
2

Signal-to-noise plus interference ratio and capacity for different values of path-loss compensation

factor for power control in both open loop and closed loop are plotted.

1.3. Methodology

The cellular environment is created in the MATLAB 2007 (my preference). The setup is based

on the simulators like multi-cell radio network simulator which are implemented in MATLAB.

The parameters that are assumed are discussed in the paper later.

In the evaluation of the performance of the system and the user there are some terms which are

considered for both open-loop power control algorithm and closed-loop power control algorithm.

Signal to interference noise ratio - The cumulative distribution of the user SINR is plotted for the

uplink in both power control algorithms.

Channel capacity - The capacity of the channel is obtained from the SINR which is plotted for

the uplink of the distribution for the users.

1.4. Outline

There are five chapters in this paper. Chapter2 deals with the basics of the wireless

communication that are used to implement the LTE (long-term evolution) setup that is required.

The concepts of LTE are also discussed in this section like physical layer of LTE and modulation

schemes that are used. This paper is about power control in the uplink for which the power control

schemes that are used in LTE are discussed. We are using PUSCH power control in this paper

which is discussed in this section.


3

In Chapter3 we are going to discuss about the designing and the implementing. As mentioned

earlier, the designing is carried out in MATLAB. Calculations of various parameters like pathloss,

signal-to-noise ratio, channel capacity and uplink power are done. The effect path loss

compensation factor (alpha) is observed from which we can obtain the full compensation and the

fractional compensation is studied for the open-loop and closed-loop power control schemes.

Chapter4, the results that I have obtained with are presented.

Chapter5, Conclusions and future work are included in this section.


CHAPTER-2

BACKGROUND AND LITERATURE REVIEW

This chapter explains us the concepts of the wireless communication background which are

necessary to implement any LTE analysis. Furthermore, LTE basics are also shown up to get to

know the things that are included in this paper. This section makes the reader to understand the

paper quickly.

2.1 Wireless Communication

The transfer of information from one point to another point which are not physically

connected is done by wireless communication [1]. The transfer is done through air using the

electromagnetic waves. It can be either short or long distances such as car remote control or radio

communications which has over millions of miles between two points. Wireless communications

a lot more flexible than the wired communications and we will have continuous connection

between the transmitter and the receiver. Wireless communication is more efficient and a lot more

convenient.

There are many things that are to be considered in the wireless communications, like path

loss, fading and interference by which the path of the wave is affected.
5

2.2 Path Loss

Path loss is simply defined as the difference between transmitted power and the received

power [2]. This difference gives us the signal level attenuation that is caused by free space

propagation, reflection, diffraction and scattering of the wave as shown in the Figure 1 [2].

Figure 1 Path loss between transmitter and receiver

2.3 Fading

In wireless communications, users always demand data rates and voice quality, which are

limited due to the fading and multipath distortion [3] . Fading in wireless communications is

mainly due to the multipath propagation of the wave. Due to the multipath propagation

phenomenon the received signal has two or more different paths. This multipath includes the

atmospheric, ionospheric reflection and refraction from the mountains and buildings. This causes

the fading in wireless communication. Fading can also be caused by the shadowing from the

obstacles which is called shadowing or shadow fading as shown in Figure 2 [3].


6

Figure 2 Fading in multi-cell environment due to multipath

The signal that is transmitted from the transmitter is affected by different types of deviation

caused by reflection, refraction, scattering and diffraction from many obstacles which cause the

multipath [4]. The multipath and the transmitted signals are added at the receiver, which produces

deviation in the received signal compared to the transmitted signal.

2.4 Cellular Fundamentals

The area under which a particular cellular network operates is divided in-to different sections.

These sections are called cells. Each cell has its own base station; omnidirectional or directional

antennas are used in the radius of a particular cell.

Omnidirectional antenna radiates the power in all directions uniformly in a particular cell

site [5]. whereas for the directional antenna, subdivision of the base station coverage in a particular
7

cell is done. In this thesis we are considering directional antennas of 1200, which has three sectors

in every cell.

2.5 Techniques in Wireless Communications

In wireless communication systems it is desired to allow the user in a particular place to send

information and receive from a particular base station. There are many techniques in wireless

communications which allow multiple accesses. These multiple-access techniques are used to

share the available spectrum most effectively. These techniques allow using available bandwidth

for different users at the same time. There are different ways to allow the increase of channel

capacity [6].

2.5.1 Time Division Multiple Access (TDMA)

The total channel is divided in-to orthogonal frequency bands over a particular time slot

as shown in Figure 3 [6].

Figure 3 TDMA concept


8

2.5.2 Frequency Division Multiple Access (FDMA)

The total bandwidth in FDMA is divided in to several orthogonal frequency slots as

shown in Figure 4 [6].

Figure 4 FDMA concept

2.5.3 Code Division Multiple Access (CDMA)

In CDMA the available bandwidth is given to all users. These users are assigned with

separate codes which will differentiate them from each other as in Figure 5 [6].

Figure 5 CDMA concept


9

2.5.4 Space Division Multiple Access (SDMA)

SDMA uses the spatial separation between the users for the efficient use of the frequency

spectrum [6].

2.6 Orthogonal Frequency Division Multiplexing

The technique used in LTE for radio transmission and reception is orthogonal frequency

division multiple access. In OFDM, each carrier is orthogonal to all other carriers. OFDM is an

optimal version of multicarrier transmission schemes. It is one of the multiple-access techniques

that allow base station to communicate with many users at same time [7].

In Figure 6 [8] we can see that the symbols transmitted sequentially which consumes more

bandwidth for traditional frequency division modulation, whereas for OFDM, these are sent in

parallel at same time which saves the bandwidth.

These sub-carriers with different frequencies are transmitted in such a way that they are

orthogonal to each other. In OFDM, the sub-carriers are arranged in such a way that the side

bands overlap but still the signal can be received without any interference from the adjacent cell

[8].
10

Figure 6 concept of OFDM

2.7 Frequency Reuse

Frequency reuse technique is used to increase the spectral efficiency of a channel by reusing

a particular frequency. Frequency reuse enables us to get a large subscriber capacity and

efficient use of spectrum resources. Coverage issues can also be improved by using this

technique [9]. The below Figure7 shows the frequency reuse concept [10] .

Figure 7 Frequency reuse in cells


11

2.8 Interference

Due to the use of same carrier frequencies for different cells, there will an interference caused

in a particular channel called inter-cell interference [3], whereas the interference caused by the

users of the same cell which is called intra-cell interference is not considered because of the

orthogonal scheme that is implemented in LTE. Interference in wireless communications cannot

be avoided because it is the major factor which limits the capacity and the coverage of the cellular

network.

2.9 Signal-to-Noise Ratio

As the name states, the ratio of the signal power to the noise power of a particular system or a

particular user is known as signal-to-noise ratio [11]. If the SNR of a particular system is high,

then system will have better signal strength and quality of transmission because the signal power

is more than the noise power and vice versa.

SNR=signal power/noise power…… (1)

In this paper the calculation of the signal power’s many factors are considered, like path loss

from the distance, shadowing and fading and transmitted power is considered. The noise in a

particular system is induced in the path between the transmitter and the receiver. Considering that,

for calculating the noise power bandwidth of the system is taken into account with all the noise

spectral properties.
12

2.10 Signal-to-Interference plus Noise Ratio

As the name suggest, it is similar as the signal-to-noise power ratio. Here interference in the

system is considered. The interference power is added to the noise power because it is also

considered to noise in functioning.

SINR=signal power/noise+interference power……(2)

Noise in a system will have uniform spectral density which is No/2 in a given bandwidth.

2.11 Bit Rate

The total number of bits that are transmitted/received over a period of time is called as bit
rate [12].

Bit rate = Number of bits/time…… (3)

2.12 Modulation Schemes

Modulation schemes are used to convert the bits in symbols to get the digital transmission.

2.12.1 Quadrature phase shift keying

It is the extension of the phase shift keying in which one bit/second is transmitted. In QPSK

we send 2 bits/second by choosing carrier phase shift of 00, 900, 1800, 2700. QPSK has the ability

to carry two times more than binary phase shift keying for the same bandwidth. This implies

QPSK is more efficient bandwidth than BPSK [13].


13

2.12.2 Quadrature Amplitude modulation

This digital modulation technique has two different signals to be sent simultaneously on the

same carrier frequency [3]. There are different techniques in QAM such as 16QAM, 64QAM

which sends 4 bits and 8 bits are sent per second. QAM allows us to have high data transmission.

It is the combination of amplitude shift keying and phase shift keying [3].

2.13 Long-Term Evolution (LTE)

4G LTE is developed by 3GPP (3rd generation partnership project) to achieve high data rates as

well as high-capacity voice support. LTE will support mixed data, voice, video and messaging

traffic [14]. LTE uses OFDM (orthogonal frequency division multiplexing) which is digital

modulation scheme in which large number of sub-carriers are placed orthogonally to carry the

data. There are many factors which enable us to consider LTE over other techniques which are

discussed below.

Increasing system capacity

The system capacity is increased by using smaller cells, increasing the bandwidth and

improving the communication technology [14].

Terminals

These days, use of electronic devices is increased with requests to provide great coverage and

high data rates. Not only mobile phones, many portable devices, cameras and gaming devices are

provided with LTE modules [14].


14

2.14 LTE Communication

There are two possible ways of communication in any wireless communication system. One is

from base station to the user and the other one from user to the base station. It LTE these are

referred as uplink and downlink transmissions.

Uplink

The transmission of information from the user (UE) to base station (eNodeB) is called as uplink

transmission. The modulation scheme employed in uplink is single carrier frequency division

multiple access [15]. The reason for having this scheme is because of the power issues at the UE

terminal, which is the main concern.

Downlink

Here the transmission is from the base station (eNodeB) to the user equipment (UE). As the

base station has to communicate with several users it needs to employ multiple-path transmission.

The modulation scheme for downlink for LTE is different from LTE uplink which is Orthogonal

frequency division modulation [15].

2.15 LTE Frame Structure

There are two types of frame structures for LTE because it allows two types of duplex

transmission:

 Frequency division duplex (FDD)

 Time division duplex (TDD)


15

We are mainly concerned about uplink in this paper. The frame structure considering FDD is

shown Figure8 [16].

Figure 8 Frame structure of LTE

Each frame of LTE is 10ms long in time domain which is divided into 10 slots of 1ms length.

Each slot is again divided into two more sub-slots of 0.5ms in time domain. Each sub-slot will

carry 7 OFDM symbols in time domain.

2.16 Physical Resource Block

A physical block is the smallest unit of resources that is allocated to the user. It is assigned to

a user by the base station scheduler. Each resource block is 180 KHz wide in frequency and each

sub-slot (0.5ms) in time domain. Each PRB will carry 12 subcarriers and has the spacing of 15

KHz [17].
16

Figure 9 Basic architecture of resource block

2.17 Power Control

Power control in any system is to set output levels for a device. In LTE it will be for the base

station in the downlink case and for the users in uplink transmission. In the uplink case, a user is
17

mainly concerned about the power it is transmitting; it is worthwhile to go through the benefits of

power control and discuss the importance of it.

Power consumption

As mentioned people these days are using portable devices which are easy to carry. It’s hard

for them to always keep charging a particular device. Battery consumption is one of the key issues

that portable devices have to deal with. The power control in LTE helps to reduce the power

consumption and maximizes the usage by consuming less power [18].

Capacity

As the LTE systems uses MIMO method, multiple users will operate in the network

environment [18]. These users are randomly positioned when considered, so each has different

power levels depending on the distance between the base station and a particular user. For an

instance, a user located near a base station has to transmit with low power and have to get high

quality. Due to the interferences in the multi-cell environment, the quality is being reduced. To

maximize the utilization of the bandwidth frequency-reuse technique is employed in LTE which

also in turn induces interference in the system. As LTE uses orthogonal transmission, intra-cell

interference is eliminated, but using the same frequencies will cause inter-cell interferences. Due

to this the power levels of a particular user may affect particular or different users in the other

sectors. Closed-loop power control plays an important role to provide a proper communication

between the base station and user.


18

2.18 LTE PUSCH Power Control

In this paper we are considering PUSCH power control. The general equation of PUSCH

power control as per 3GPP specification is shown below:

PPUSCH = min {Pmax, Po_PUSCH + 10*Log (PUSCH_M) + α*PL + δmcs + f (Δi)}…(4) [18]

In the above equation:

 Pmax is the maximum transmit power of user.

 M is the number of resource blocks that are used. It depends upon the bandwidth that is

selected.

 α is the path-loss compensation factor.

 PL is the path loss.

 δmcs is regarding the modulation scheme. It is not considered in the paper.

 Function of the correction value is also not considered in this study because it is set after

the setting of transmitter power.

After receiving the parameters from the base station the users set its transmission power based

on the parameters. If a user is assigned for a base station, the base station sends a signal to the user

after the setting of transmission power, i.e., Δi (correction value). The equation considering these

is derived which is shown below [18]:

PPUSCH = 10*Log (PUSCH_M) + Po_PUSCH + α*PL ….(5) [18]


19

2.19 Power Control Schemes

2.19.1. Conventional power control scheme

In the conventional power control scheme the base station provides full compensation which

will make us to set α = 1. Po_PUSCH is given below:

Po_PUSCH = α *(SNRi + RBn)[dBm]…(6) [18]

Thus PSDTx is given by

PSDTx = Po_PUSCH – PL = (SNRi + RBn + PL)….(7) [18]

From the above equation we can note that for the conventional power control scheme, all the

users will have the maximum power. This scheme is mainly used in CDMA-based systems [18].

2.19.2. Fractional Power Control Scheme

The fractional power control scheme allows users to compensate only fraction part of the

path-loss. Using 0 < α < 1, PSD is given by below equation [18]:

PSDTx= Po_PUSCH + α *PL = α + (SNRi + RBn) + (1- α)*(Pmax) + α * PL…(8) [18]

Considering the equation (10) the power spectral density of the transmitter power is calculated

by using the path loss.


20

PSDRx = P0_PUSCH + PL*( α -1)……(9) [18]

Comparing equation (7) and equation (9), received PSD in case of conventional power control

scheme the PSD will be equal to P0, while for the fractional power control scheme it depends on

the path loss and also the path-loss compensation factor [18].

2.19.3. Open-loop Power Control Scheme

The open-loop power control is the ability of user equipment or a user to set uplink power

which is required to reach the receiver. In open-loop case the receiver just calculates the signal-to-

noise ratio of the received signal but it will not send any information to the user equipment

regarding that.

As we considered the PUSCH power control in this paper the uplink power equation is drawn

from the equation of PUSCH power control which is mentioned earlier.

PPUSCH=10*Log(PUSCH_M)+P0PUSCH+α.PL…. (12)

In the above equation [18] the terms will be same as in the PUSCH power control scheme terms

which are mentioned above.

The block diagram of the open-loop power control scheme is shown Figure 10.
21

Figure 10 Block diagram of open-loop power control scheme [18]

These are the steps that are involved to fix the transmitter power in the open-loop case. The

user sets the transmitting power by taking in the signals from the base station which is nearby. The

parameters are considered to decide the transmitting power and no feedback is sent to the user

regarding the power to be used for transmission. Calculation of the path loss depends upon many
22

factors like distance between the transmitter and the receiver and also by considering the reference

signals. The transmitter power can be calculated from the path loss obtained which will be included

in the equation shown above. The value of alpha can be adjusted to have fractional and full

compensation in the open-loop case.

2.19.4. Closed-loop Power Control Scheme

In the closed loop power control scheme the user sets particular transmit power which is

measured at the receiver which compares with a target value and sends a command which is called

as transmit power control (TPC) command to the user to increase or decrease the power to have

successful transmission in between them [19]. The total operation of the closed loop will be same

as the open loop except that TPC commands that are sent to have desired target signal-to-noise

ratio.

The calculation of the transmit power will be same as the open-loop uplink power calculation

which is the formula mentioned above.

Figure 11 shows the uplink receiver at the base station (eNodeB) calculates the SINR of the

received signal which is compared with the SINR target. If the received SINR is below the SINR

target, the base station sends TPC command to the user (UE) to increase the transmitter power and

vice versa. In the figure some of the blocks are shaded; these are the closed-loop components

which are used to control the power. As in the open loop the value of alpha is varied to have

fractional and full compensation power control in closed-loop power control scheme.
23

Figure 11 Block diagram for closed-loop power control scheme [18]


24

2.20 Nash Equilibrium

Nash equilibrium is an aggregate arrangement of procedures for each player who considers a

choice taking the other player’s choice [19]. In other case, every player is expected to be in

equilibrium to different players. Subsequently, by changing just his/her methodology singularly,

no player has anything to pick up. The player is said to be in Nash equilibrium if a particular player

is taking into the account of the other player’s information [19]. Player is referred to as user in this

paper.

There is an inefficiency in Nash equilibrium which can be solved by the Pareto’s

improvement. The overall performance will be better if player has to pay the penalty for the

decision that is made [20].


CHAPTER-3

DESIGNING AND IMPLEMENTING

In this chapter we are going to discuss about the steps that are involved in designing the system

which calculates the power for different schemes. Figure 12 shows the steps that are involved to

design and implement the LTE power control. Each box in the flow chart is discussed in detail

later in this section.


25

Parameters declaration

Creating network map

Positioning users in sector

Calculating path loss

Allocating Signal-to-Noise
Ratio of the user

Calculating transmitter and


receiver power

Determining Signal-to-Noise
plus Interference Ratio

Calculating capacity

Plotting

Figure 12 Flow chart


26

3.1 Parameter Declaration

In this part the parameters are declared which are shown in the Table below [21].

Table 1 Parameters Declared in This Paper

Distance Attenuation PL = 35.3+37.6·log(d).., d = distance in meters

Shadow fading 8 dB standard deviation

Cell layout Hexagonal grid, 3-sector sites, 21 sectors in total

Cell radius 167m

Spectrum allocation 0.2 & 10MHz at 2GHz 1&50 resource blocks

UE power class (Pmax) 250Mw

Maximum antenna gain 15dBi

Modulation and coding QPSK & 16QAM, continuous coding

Receiver 2 antennas for diversity in Rayleigh fading channel

Scheduling algorithm Round robin


27

3.2 Creating Network Map

In this section, after declaring parameters, cellular network map is created in which I assumed

seven cells and three sectors in every cell. Users in every sector can be varied and the maximum

number depends on the bandwidth selected. The positioning of each cell and each sector which is

discussed below.

• Cell position

1. To get the cell position we need to get the angle of each cell and also the distance

between cells.

2. Angle of each cell is calculated by taking the first cell as reference and creating the

axis starting from 300; for every 600 increment we position up to 3600.

3. Using cell number and cell inter-site distance we can get the distance.

• Sector position

1. Every cell has sectors positioned in the same angle.

2. The relative position of each sector in each cell will be the same.

3. Calculating the relative position and adding cell position we can obtain sector position for

a particular cell and repeated over number of cells.


28

3.3 Positioning Users in Sectors

In this paper we assumed 50 users per sector. We are using random signal generator to generate

users randomly in each sector that is selected. The position of the user should be known. We are

positioning the users in such a way that the x-position and y-position are known from which

distance from center of the cell is determined. The angle of each user also can be calculated from

the distance. This information is enough to determine the position of each user. For every cell and

sector of a particular cell the position of every user is calculated.

3.4 Calculating Path Loss

As discussed in Chapter 2, path loss is mainly due to the loss of information that a transmitting

wave experiences while travelling from transmitter to receiver. For path-loss calculation we need

to have the distance of every user from the base station which is calculated in previous section.

Path loss is also caused from shadowing and fading, which are considered.

3.5 Allocating Physical Resource Blocks to the Users

Resource blocks are the smallest elements of resource allocation scheduled by base station. In

this thesis we are assigning the resource blocks using the scheduling algorithm round-robin

technique. Number of resource blocks also depends on the bandwidth selected according to LTE

standards.

3.6 Allocating Signal-to-Noise Ratio to Users

In a cellular network environment every user equipment (user) has particular noise. We are

allocating a particular signal-to-noise ratio for every user in a target bound.


29

3.7 Calculating Transmitter Power and Receiver Power

The calculation of transmitter power and receiver power is carried out for closed loop and

open loop as well.

Open Loop

Transmitting power of each user should be known. Every sector is selected and the users

in every sector are given a particular index. As we have assigned a particular resource block to one

user selecting each resource block we can find the path loss of a particular user as we got the

position of it. Calculating the current path loss, we can obtain the transmitting power of the user

by substituting in the equation (12). Receiver power can be calculated from the transmitter power

by eliminating the path loss.

Closed Loop

Calculation of transmitting power and receiver power will be same as the procedure followed

for the open loop. In closed loop the power of the user is adjusted in such a way that the target

signal-to-noise plus interference ratio is reached. Calculation of signal-to-noise plus interference

ratio is shown in the next section.

3.8 Signal-to-Noise plus Interference Ratio Calculation

Open Loop
30

In the multi-cell environment for LTE we use frequency reuse technique which is

discussed in Chapter 2. Due to this frequency reuse, interference is created between the

cells/sectors. To compute the signal-to-noise plus interference noise ratio, the interference power

from the users of other cells are calculated. The transmitting power of a particular user is

calculated from the above section. Interference power is calculated by eliminating the path loss

between the users from different sectors.

Closed Loop

Signal-to-noise plus interference ratio for closed loop is calculated in the similar way as

in open loop. The SINR that is obtained is compared with the target SINR; if the computed value

is below the target, base station asks the user to increase the power to have successful

transmission between them. If the target value is lower than the computed value, base station

requests user to reduce power to a particular target.

3.9 Calculating Capacity

Capacity of each user can be calculated from the signal-to-interference plus noise ratio by

using Shannon capacity. It is calculated as in equation shown [13]:

C=B*Log(1+S/N)
CHAPTER-4

RESULTS AND OBSERVATIONS

In this chapter the results that are obtained are shown. In Figure 13, each sector has a

hexagonal shape and red markings show us users (50) which are randomly positioned in every

sector. Each cell which has a number marked in it has a base station with directional antennas

which can only have 1200 directivity.

Figure 13 Cellular network with seven cells and three sectors in each cell
32

Figure 14 shows the channel gain of all the users in a cell. Each user channel gain is

calculated from the path loss of every user. We can clearly state that there are 1050 users from

the graph and they are having the channel gain which is shown on the y-axis of the graph.

Figure 14 channel gain of all the users


33

4.1 CDF plot for α=1

Figure 15 shows the CDF of open loop and closed loop for alpha=1. The blue line shows

the performance of open-loop system; it allows the users which have good conditions to have

high uplink signal-to-noise plus interference ratio and users with bad conditions low signal-to-

noise plus interference ratio. Open-loop power control scheme does not compensate the

interference caused by the other cells, so the cell-edge bit rate for open loop is not good when

compared to the closed-loop power control scheme.

Figure 15 CDF of uplink SINR for α=1 in open- and closed-loop schemes through MATLAB
implementation
34

Considering plot the red line shows the performance of closed loop power control

algorithm. In this all the users are directed to a particular signal to noise plus interference ratio

because the closed loop operates with in the target signal to noise plus interference ratio which is

fixed. Closed loop offers better performance as it compensates the interference between the users

so the cell-edge bit rate will be better than the open loop. Furthermore, there will be a problem if

the target signal to noise plus interference ratio is not selected properly because all users will be

directed towards a particular point which results in loss of some of the information.

4.2 Closed-loop Performance with different Target SINRdB

Figure 16 graph shows the performance of closed loop for the different signal-to-noise plus

interference ratio targets.

• SINR target=5 dB is shown in plot as blue line

• SINR target=0dB is shown in plot as red line

• SINR target=10dB is shown in plot as black line

Examining the transmitting power and the signal-to-noise plus interference ratio of the user

at receiver (base station), the base station requests the users to increase or decrease the power

depending upon the target. For target of 5dB the 5th percentile users are the worst users which have

not reached the target signal-to-noise plus interference ratio in the given time scheduled by the

base station.
35

Figure 16 CDF of uplink SINR for different signal-to -noise ratio targets through MATLAB
implementation

4.3 Closed Loop Performance for difference α values

Figure 17 compares the performance of closed-loop power control for α=1 and α=0.7.

Analyzing the performance, the closed-loop algorithm with fractional compensation is

performing better than the closed-loop algorithm with full compensation. At every point the

closed loop with fractional compensation has more users distributed than the full compensation

which says that the bit rate for α=0.7 is better. This result can be collaborated with the Nash

equilibrium of microeconomics. Initially the path-loss compensation factor is assumed as one,


36

i.e., no pricing is done. The performance of the system is evaluated with this particular factor.

Now, path-loss compensation factor is set to 0.7 which is new price or penalty assigned by the

base station as it is controlling the value of path-loss compensation factor. The performance is

evaluated again and compared with the previous result. The graph shows that Nash equilibrium

is inefficient as per the Pareto improvement; the case with pricing yields better performance.

Figure 17 CDF of bit rate for closed-loop power control scheme for α=1 and α=0.7 through
MATLAB implementation
37

Figure 18 shows the comparison between the bit rate and the path loss compensation factor.

As the alpha decreases the bit-rate is getting better.

Figure 18 Bit rate vs alpha graph using MATLAB implementation


Chapter-5

CONCLUSIONS AND FUTURE WORK

5.1 Conclusion

The LTE system performance is evaluated for closed loop and open loop which is carried out

in MATLAB. The performance is measured in terms of power for which I have considered PUSCH

power control. The simulations results are obtained for the cell network environment of 50 users

in a given bandwidth which is full load operation which is carried out in the MATLAB without

simulators.

The performance of the open loop and closed loop are compared for the uplink signal-to-noise

plus interference ratio. The closed loop power control is performing better than the open-loop

power control as it compensates the interference provided that a target signal-to-noise ratio is

selected to satisfy all the users in the multi-cell environment.

The closed-loop variations for different values of signal-to-noise plus interference ratio targets

is also plotted. For each target the performance of the closed loop is varying.

The performance of closed-loop power control scheme is also compared using the capacity of

the channel. The closed-loop power control with fractional compensation is performing better than

the closed-loop power control with full compensation. From the above conclusion we can see the

inefficiency of the Nash equilibrium because the it is (full compensation) leading to the use of

more power when compared to performance after pricing (fractional compensation), which is

Pareto optimality.
39

5.2 Future Work

The simulation is carried out such a way that every user is distributed in the cell depending up

on the radius which is declared. This can be extended to divide each cell into different regions.

After dividing into regions we can accommodate the users in every location such that each region

will have different interference levels. This gives us freedom to find out the cell edge bit rate of

the system which can be used to evaluate the system better. Bit error rate of the users in the system

can be calculated by using different modulation techniques. The system throughput can be

calculated using the bit error rate which gives the number of error bits in the transmission.
REFERENCES

[1] Goldsmith, A., 2005, Wireless Communication, Cambridge University Press, Cambridge, UK, Chap.1..

[2] Ranvier, S., 2004, "Path Loss Models," S-72.333, Helsinki University of Technology, Aalto, Finland,
slides 1-36, http://documents.mx/documents/path-loss-models.html.

[3] Pravin W.Raut.D.B., 2013, “Diversity in Wireless Communication,” International Journal of Advanced
Research of Engineering and Technology, 4(2), pp. 144-147, http://www.iaeme.com/ MasterAdmin/
UploadFolder/DIVERSITY%20TECHNIQUES%20FOR%20WIRELESS%20COMMUNICATION/DIVERSITY%20
TECHNIQUES%20FOR%20WIRELESS%20COMMUNICATION.pdf

[4] Garg, J., Gupta, K., and Ghosh, P.K., 2013, “Performance Analysis of MIMO Wireless
Communications over Fading Channels,” International Journal of Advanced Research in Electrical,
Electronics and Instrumentation Engineering, 2(4), pp.1272-1302, http://www.rroij.com/open-
access/performance-analysis-of-mimo-wirelesscommunications-over-fading-channels--areview.pdf.

[5] Bakshi,U.A., 2009, Antenna and Wave Propagation, Technical Publications, Pune, Chap.2.

[6] Prasad, K.V., 2004, Principles Digital Communication System & Computer Networks, Charles River
Media, Boston, MA., Chap.8, http://www.iitg.ernet.in/scifac/qip/public_html/cd_cell/chapters/
a_mitra_mobile_communication/chapter8.pdf. [Accessed 29 january 2016].

[7] Cox, C., 2012, An Introduction to LTE, A John Wiley and Sons, Ltd. Publications, UK, Chap.1.

[8] Klug, B., 2011, "Anand tech,". [Online]. Available: http://www.anandtech.com/show/4289/verizon-


4g-lte-two-datacards-wifi-hotspot-massively-reviewed/2. [Accessed 29 january 2016].

[9] 1995, JPL's Wireless Communication Reference Website,


http://www.wirelesscommunication.nl/reference/chaptr04/cellplan/cellular.htm.

[10] "Soft Frequency Reuse in 4GLTE," 15 December 2011, Raymaps, http://www.raymaps.com/


index.php/tag/coverage/.

[11] Robert, K., Reynisson, P., and Timothy, J. M., 2004, "Definition of Signal-to-Noise Ratio and Its
Critical Role in Split-beam Measurements," ICES Journal of Marine Science, 62(1), pp. 123-130,

[12] Chitode, J.S., 2009, “Digital communications,” Technical publications, Pune.

[13] Ndujiuba, C.U., 2015, "Comparitive analysis of modulation techniques in 4G LTE," Wireless
networking and communication, 5(2), pp. 60-63.
41

[14] Deshmukh, H., Burange, W.A., Sarode.S.V., 2013, "4G Technology," International journal of
scientific and engineering research, 4(3), pp. 1-3.

[15] Younis, M.A.Z., 2012, "Uplink and Downlink in LTE-Release 10 in Cellular Network,” International
journal of communication technology, 1(1) , pp. 43-53, http://www.iaesjournal.com/ online/
index.php/IJICT/article/view/557/300

[16] Torabi, M., Jemmali, A. and Conan, J., 2014, "Analysis of the Performance for SFBC-OFDM and
FSTD-OFDM Schemes in LTE Systems over MIMO Fading Channels," International Journal on Advances
in Networks and Services, 7(1&2), pp. 1-11. file:///G:/downloads/netser_v7_n12_2014_1%20(3).pdf

[17] Zyren, J., 2007, "Overview of the 3GPP Long Term evolution physical layer" . [Online]. Available:
https://www.nxp.com/files/wireless_comm/doc/white_paper/3GPPEVOLUTIONWP.pdf.

[18] Mrs. Sonia, Malik N, Rekhi, J.S., 2014, "Uplink Power Control Schemes in Long Term evolution,"
International Journal of Engineering and Advanced Technology International Journal of Engineering
and Advanced Technology, 3(3), pp. 260-264.

[19] Garikaparthi. M., 2014, "NASH EQUILIBRIUM – A STRATEGY OF GAMES THEORY," International
Journal of Development Research, 4(7), pp. 1316-1318.
http://www.journalijdr.com/sites/default/files/1679_0.pdf

[20] Qasimi M, J. and Tahernezhadi, M., 2005, "Nash Equilibrium Approach to Dynamic Power Control
in DS-CDMA Systems," in Advances and Innovations in Systems, Computing Sciences and Software
Engineering, K. Elleithy, Ed.,Dordrecht, The Netherlands, 2007, pp. 295-300.

[21] Simonsson, A. and Furuskär, A., “Uplink Power Control in LTE –overview and performance,”
Vehicular Technology Conference, 2008. VTC 2008-Fall. IEEE 68th, Calgary, BC, 2008, pp. 1-5.
APPENDIX

MATLAB CODE:

%% clear

clear % clear all variables

close all % close all figures

clc % clear command window

% set random seed to default

%--------------------------------------------------------------------------

%% Controlling parameters

Ctrl.ifShowFigures = [1 1 1]; % 1 shows figue 1

Ctrl.ifDoShadowingForEachLink = 1;

Ctrl.ifDoFadingForEachResourseBlock = 1;

Ctrl.ifDoUseMaxPowerForOpenLoop = 0; % no power control for open loop

%% Independent parameters

numOfDrops = 10; % a loop for better results

cellsNumber = 7; % (fixed) total number of cells

cellsSector = 3; % (fixed) number of sectors per cell

cellsRadius = 167; % in meter

usersPerSector = 50; % number of users per sector

shadowStddB = 8; % standard deviation of the shadowing

noisePowdBmHz = -174+10; % noise power spectral density


43
bandwidth = 10e6; % system bandwidth

schedulingAlg = 'RoundRobin'; % scheduling algorithm 'RoundRobin'

requiredSNRdB = 'fixed'; % 'random'(just for test),'fixed'(paper)

targetSNRdB = 5; % target SNR when requiredSNRdB is fixed

maxUEOutPow = 250e-3; % maximum UE power in Watt

alpha = 1; % pathloss compensation factor

numOfRxAntenna = 2; % it is used for diversity in Rayliegh fadign channel

antennaGaindBi = 15; % maximum antenna gain in dB

antennaTheta3dB = 70*pi/180; % antenna 3dB bandwidth

pathloss_func = ... % path-loss equation (d in meter)

@(d)35.5+37.6*log10(d);

antennaGaindB_func = ... % antenna gain function

@(theta) -min(12*(theta/antennaTheta3dB).^2,20)+antennaGaindBi;

closedLoopBoostRatio = 0.3; % convergence rate

closedLoopNumOfIterations = 10; % number of iterations in the closed loop algorithm

frequencyReuse = 1;

%--------------------------------------------------------------------------

%% Dependent parameters

sectorsNumber = cellsSector * cellsNumber; % number of total sectors

usersNumber = sectorsNumber * usersPerSector; % number of total users


44
cellsInterSiteDist = 3*cellsRadius; % cell 2 cell distance

noisePowdB = ... % noise power in dB

noisePowdBmHz-30+10*log10(bandwidth);

% determine number of resourse blocks based on a selected bandwidth

switch bandwidth

case 1.4*10^6

RbNumber = 6;

case 3*10^6

RbNumber = 15;

case 5*10^6

RbNumber = 25;

case 10*10^6

RbNumber = 50;

case 15*10^6

RbNumber = 75;

case 20*10^6

RbNumber = 100;

otherwise

error('The system bandwidth is not set correctly.')

end

if strcmpi(requiredSNRdB,'random')

SNR_LowerBound = -6; % minium SNR to have a modulation

SNR_HigherBound = 20; % max SNR to have a modulation


45
Cqi_LowerBound = 1;

Cqi_HigherBound = 15;

% possible channel quality indicator (comming from standard)

possibleCqi = Cqi_LowerBound:Cqi_HigherBound;

% linear combination (from standard)

possibleSNRdB = (SNR_HigherBound-SNR_LowerBound)./ ...

(Cqi_HigherBound-Cqi_LowerBound)*...

((Cqi_LowerBound:Cqi_HigherBound) - 1) + ...

SNR_LowerBound;

% Efficiency of each SNR comming from standard

possibileEfficiency = ...

[78,120,193,308,449,602,378,490,616,466,567,666,772,873,948];

% Modulation type each SNR comming from standard

possibleModulations = ...

{'QPSK','QPSK','QPSK','QPSK','QPSK','QPSK',...

'16 QAM','16 QAM','16 QAM',...

'16 QAM','16 QAM','16 QAM','16 QAM','16 QAM','16 QAM','16 QAM'};

possibleModBitsPerSym = [2,2,2,2,2,2,4,4,4,6,6,6,6,6,6];

elseif strcmpi(requiredSNRdB,'fixed')

possibleSNRdB = [targetSNRdB targetSNRdB];

possibleModulations = {'QPSK','16QAM'};

possibleModBitsPerSym = [2 4]; % number of bits per symbol

possibileEfficiency = [602,616];
46
possibleCqi = [6 9];

end

if frequencyReuse == 1

sectorsFrequencyBand = ones(sectorsNumber,1);

elseif frequencyReuse == 1/3

sectorsFrequencyBand = repmat([1,2,3].',cellsNumber,1);

end

% related to loopReults

loopResults01 = zeros(sectorsNumber*RbNumber,numOfDrops,6);

loopResults02 = zeros(sectorsNumber,numOfDrops,2);

loopResults03 = zeros(numOfDrops,2);

%--------------------------------------------------------------------------

%% Creating network map

% building cell positions (only central cell, and the first tier)

cellsCenterAngle = ... % angle of each cell center

[0 pi/6:pi/3:2*pi].';

cellsDistFromCentre = ... % cell center distance to the map center

[0 ones(1,cellsNumber-1)*cellsInterSiteDist].';

cellsPosition = ... % cell center positions

[cellsDistFromCentre.*cos(cellsCenterAngle),...
47
cellsDistFromCentre.*sin(cellsCenterAngle)];

% find sector positions

sectorsAngle = ... % local angle of each sector in each cell

[30;150;270].'*pi/180;

sectorsPosition = ... % Init positions of each sector of each cell

zeros(cellsNumber ,cellsSector,2);

sectorsInd = ... % sectors index for display (Init with zero)

zeros(cellsNumber ,cellsSector,1);

% find center position of each cell

for cnt1 = 1 : cellsNumber

for cnt2 = 1 : cellsSector

sectorsPosition(cnt1,cnt2,:) = cellsPosition(cnt1,:) + ...

[cellsRadius*cos(sectorsAngle(cnt2)),...

cellsRadius*sin(sectorsAngle(cnt2))];

sectorsInd(cnt1,cnt2) = (cnt1-1)*cellsSector + cnt2;

end

end

sectors2DPosition = ... % Put sectors' positions in a 2D array

[reshape(sectorsPosition(:,:,1).',sectorsNumber,1),...

reshape(sectorsPosition(:,:,2).',sectorsNumber,1)];

sectors2DInd = ... % Put sectors' indices in a 2D array

reshape(sectorsInd.',sectorsNumber,1);

%--------------------------------------------------------------------------
48
%% Main Loop

for dropCnt = 1 : numOfDrops

%% set users in sectors

usersPosition = zeros(usersPerSector,2,sectorsNumber); % initial with zero

users2DPosition = zeros(sectorsNumber*usersPerSector,2);

for cnt = 1 : sectorsNumber

% generate random located users in each sector

usersPosition(:,:,cnt) = ...

[cellsRadius*(rand(usersPerSector,1)-1/2)+sectors2DPosition(cnt,1),...

cellsRadius*(rand(usersPerSector,1)-1/2)+sectors2DPosition(cnt,2)];

users2DPosition((cnt-1)*usersPerSector + (1:usersPerSector),:) = ...

usersPosition(:,:,cnt);

end

%--------------------------------------------------------------------------

%% find users distance to each cell (sector)

usersDistance = zeros(usersNumber,sectorsNumber);

for cnt = 1 : cellsNumber

% find users distance to all other cells

usersDistance(:,(cnt-1)*3+(1:3)) = ...

repmat(...

sqrt((users2DPosition(:,1)-cellsPosition(cnt,1)).^2 + ...

(users2DPosition(:,2)-cellsPosition(cnt,2)).^2),...

1,3);
49
end

%--------------------------------------------------------------------------

%% find users angle to each sector antenna

usersAngle = zeros(usersNumber,sectorsNumber);

for cnt = 1 : cellsNumber

% find users distance to all other cell's sector

for cnt2 = 1 : cellsSector

usersAngle(:,(cnt-1)*3+cnt2) = ...

atan2((users2DPosition(:,2)-cellsPosition(cnt,2)), ...

(users2DPosition(:,1)-cellsPosition(cnt,1))) - sectorsAngle(cnt2);

end

end

% wrap the angles

usersAngle = wrapTo180(usersAngle*180/pi)*pi/180;

%--------------------------------------------------------------------------

%% find total pathloss dB to each sector in each RB

usersPathlossdB = pathloss_func(usersDistance); % path-loss due to distance

usersShadowdB = shadowStddB*... % path-loss due to shadow

rectpulse(rand(usersNumber,cellsNumber).',3).';

totalPathLossdB = zeros(usersNumber,sectorsNumber,RbNumber);

for cnt = 1 : RbNumber

totalPathLossdB(:,:,cnt) = usersPathlossdB(:,:) + ... % path-loss due to distance

Ctrl.ifDoShadowingForEachLink*usersShadowdB(:,:) + ... % path-loss due to shadow


50
-antennaGaindB_func(usersAngle(:,:)) + ... % antenna gain

Ctrl.ifDoFadingForEachResourseBlock*...

10*log10(sum(abs(randn(usersNumber,sectorsNumber,numOfRxAntenna) + ... % small

scale in each RB it is different

1i*randn(usersNumber,sectorsNumber,numOfRxAntenna)).^2,3) );

end

%--------------------------------------------------------------------------

%% Resourse allocation from users of each sector

AllocMatrix = zeros(sectorsNumber,RbNumber); % Initial with zero

if strcmpi(schedulingAlg,'roundrobin')

% we assume frequency reuse is one

if usersPerSector <= RbNumber

for cnt = 1 : sectorsNumber

% find users index of this sector

usersInd = (cnt-1)*usersPerSector + (1:usersPerSector);

userCnt = 1; % first user will be allocated first Resource block

for cnt2 = 1 : RbNumber

AllocMatrix(cnt,cnt2) = usersInd(userCnt);

% update user counter

if userCnt < usersPerSector

userCnt = userCnt + 1;

else

userCnt = 1;
51

end

end

end

end

end

%--------------------------------------------------------------------------

%% Random SNR allocation for each resource block in allocation matrix

if strcmpi(requiredSNRdB,'random') || strcmpi(requiredSNRdB,'fixed')

AllcSNRdBInd = randsrc(sectorsNumber,RbNumber,...

[1:length(possibleSNRdB);...

1/length(possibleSNRdB)*...

ones(1,length(possibleSNRdB))]); % uniform

AllcSNRdB = ...

reshape(possibleSNRdB(AllcSNRdBInd(:)),sectorsNumber,RbNumber);

elseif strcmpi(requiredSNRdB,'adaptive')

% will be added

end

%--------------------------------------------------------------------------

%% Open loop algorithm

% find transmit power of each user (open loop)

UETransmitPower = zeros(sectorsNumber,RbNumber);

for cnt = 1 : sectorsNumber

% find users of this sector for each Resource block


52
userInd = AllocMatrix(cnt,:);

% find required SNRdB

RequiredSNRdB = AllcSNRdB(cnt,:);

% find path loss of users in each resource block to this sector

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

% find transmit power in each resource block

if alpha==1

RequiredTxPowdB = maxUEOutPow*ones(RbNumber,1);

else

RequiredTxPowdB = noisePowdB-10*log10(RbNumber) +... % noise power in each

RB

alpha*CurrenttotalPathLossdBdB(:) + ...

+RequiredSNRdB(:);

end

% it should not be greater than max tx power

UETransmitPower(cnt,:) = min(RequiredTxPowdB,10*log10(maxUEOutPow)).';

end

%--------------------------------------------------------------------------

% find SINR dB for each resource block

RbSINRdB = zeros(sectorsNumber,RbNumber);
53
for cnt = 1 : sectorsNumber

% find Rx power from the users of this sector

userInd = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

RxPowdB = UETransmitPower(cnt,:) - CurrenttotalPathLossdBdB(:).';

% find the Rx power from the users of all other sectors

InterferePow = zeros(RbNumber,1);

for cnt2 = 1 : sectorsNumber

if cnt2~=cnt && sectorsFrequencyBand(cnt) == sectorsFrequencyBand(cnt2)

% other users to this sector

userInd2 = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB2 = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB2(rb) = totalPathLossdB(userInd2(rb),cnt2,rb);

end

InterferePow = InterferePow + ...

10.^( 0.1 * (UETransmitPower(cnt2,:).' - CurrenttotalPathLossdBdB2(:)) );

end

end

RbSINRdB(cnt,:) = 10*log10(...
54
10.^(0.1*RxPowdB(:)) ./ ... % Rx power

(1*InterferePow(:) + ...

10.^(0.1*( noisePowdB-10*log10(RbNumber) ) ) ));

end

%--------------------------------------------------------------------------

%% closed loop

% start with open loop results

closedLoopRequiredSNRdB = AllcSNRdB;

closedLoopRbSINRdB = zeros(sectorsNumber,RbNumber);

% Initilization

closedLoopUETransmitPower = zeros(sectorsNumber,RbNumber);

for cnt = 1 : sectorsNumber

% find users of this sector for each Resource block

userInd = AllocMatrix(cnt,:);

% find required SNRdB

RequiredSNRdB = AllcSNRdB(cnt,:);

% find path loss of users in each resource block to this sector

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

% find transmit power in each resource block

RequiredTxPowdB = noisePowdB-10*log10(RbNumber) +... % noise power in each RB


55
alpha*CurrenttotalPathLossdBdB(:) + ...

+RequiredSNRdB(:);

% it should not be greater than max tx power

closedLoopUETransmitPower(cnt,:) =

min(RequiredTxPowdB,10*log10(maxUEOutPow)).';

end

for nI = 1 : closedLoopNumOfIterations+1

% find SINR

for cnt = 1 : sectorsNumber

% find Rx power from the users of this sector

userInd = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

RxPowdB = closedLoopUETransmitPower(cnt,:) - CurrenttotalPathLossdBdB(:).';

% find the Rx power from the users of all other sectors

InterferePow = zeros(RbNumber,1);

for cnt2 = 1 : sectorsNumber

if cnt2~=cnt && sectorsFrequencyBand(cnt) == sectorsFrequencyBand(cnt2)

% other users to this sector

userInd2 = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB2 = zeros(RbNumber,1);
56

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB2(rb) = totalPathLossdB(userInd2(rb),cnt2,rb);

end

InterferePow = InterferePow + ...

10.^( 0.1 * (closedLoopUETransmitPower(cnt2,:).' -

CurrenttotalPathLossdBdB2(:)) );

end

end

closedLoopRbSINRdB(cnt,:) = 10*log10(...

10.^(0.1*RxPowdB(:)) ./ ... % Rx power

(InterferePow(:) + ...

10.^(0.1*( noisePowdB-10*log10(RbNumber) ) ) ));

end

if nI ~= closedLoopNumOfIterations + 1

% Find required power boos to reach target SINR

closedLoopPowerBoostdB = closedLoopRequiredSNRdB - closedLoopRbSINRdB;

% increase power by the calculated value

closedLoopUETransmitPower = closedLoopUETransmitPower + ...

closedLoopPowerBoostdB*closedLoopBoostRatio;
57
closedLoopUETransmitPower =

min(closedLoopUETransmitPower,10*log10(maxUEOutPow));

end

end

%--------------------------------------------------------------------------

%% Find users BER for each modulation scheme

openLoopBER = zeros(sectorsNumber,RbNumber);

closedLoopBER = zeros(sectorsNumber,RbNumber);

for cnt = 1 : length(possibleModBitsPerSym)

Ind = AllcSNRdBInd == cnt;

% BER in AWGN channel

openLoopBER(Ind) = berawgn(RbSINRdB(Ind),'qam',2.^possibleModBitsPerSym(cnt))

closedLoopBER(Ind) =

berawgn(closedLoopRbSINRdB(Ind),'qam',2.^possibleModBitsPerSym(cnt))

end

%% Find users capacity (Shanoon)

% sum over all sectors to calculte sector capacity

openLoopCapcity = ...

bandwidth/RbNumber * log2(1+10.^(0.1*RbSINRdB));

closedLoopCapcity = ...

bandwidth/RbNumber * log2(1+10.^(0.1*closedLoopRbSINRdB));

%% Store loop Reults


58
loopResults01(:,dropCnt,1) = RbSINRdB(:); % open loop SINR

loopResults01(:,dropCnt,2) = closedLoopRbSINRdB(:);

loopResults01(:,dropCnt,3) = openLoopBER(:);

loopResults01(:,dropCnt,4) = closedLoopBER(:);

loopResults01(:,dropCnt,5) = openLoopCapcity(:);

loopResults01(:,dropCnt,6) = closedLoopCapcity(:);

loopResults02(:,dropCnt,1) = sum(openLoopCapcity,2);

loopResults02(:,dropCnt,2) = sum(closedLoopCapcity,2);

loopResults03(dropCnt,1) = sum(openLoopCapcity(:)); % system capcity

loopResults03(dropCnt,2) = sum(closedLoopCapcity(:)); % system capcity

end

%% plot cell boundaries

if Ctrl.ifShowFigures(1)

figure(101)

clf

plot(cellsPosition(:,1),cellsPosition(:,2),'*','MarkerSize',8)

hold on

for cnt = 1 : cellsNumber

text(cellsPosition(cnt,1)+cellsInterSiteDist/20,...

cellsPosition(cnt,2)+cellsInterSiteDist/20,...

num2str(cnt),'FontSize',8,'FontWeight','Bold')

end

for cnt = 1 : sectorsNumber


59
text(sectors2DPosition(cnt,1)-cellsInterSiteDist/60,...

sectors2DPosition(cnt,2)-cellsInterSiteDist/60,...

num2str(cnt),'FontSize',6)

end

hold on

% plotting the borders of the cells

for cnt1 = 1:cellsNumber

for cnt2 = 1:cellsSector

% find the positions of the cell hexagonal

Pos = repmat([sectorsPosition(cnt1,cnt2,1),...

sectorsPosition(cnt1,cnt2,2)],7,1) +...

cellsInterSiteDist/3*...

[cos(pi/6:pi/3:2*pi+pi/6).',...

sin(pi/6:pi/3:2*pi+pi/6).'];

plot(Pos(:,1),Pos(:,2),'k:')

end

end

axis([-1 1 -1 1]*2*cellsInterSiteDist*1.1)

axis square

% plot users position

plot(users2DPosition(:,1),users2DPosition(:,2),'.r')

plot(sectors2DPosition(:,1),sectors2DPosition(:,2),'xr')
60
end

%--------------------------------------------------------------------------

%% plot channel gain of all users to different secotors of cell (last drop)

if Ctrl.ifShowFigures(2)

figure(2)

for cnt = 1

plot(-totalPathLossdB(:,cnt,1),'b')

hold on

plot(-totalPathLossdB(:,cnt,2),'r--')

plot(-totalPathLossdB(:,cnt,3),'g-.')

end

xlabel('users index')

legend('to sector_1-cell_3','to sector_i-cell_i','to sector_3-cell_i')

ylabel('channel gain in dB')

end

%--------------------------------------------------------------------------

%% Plot SINR histogram (close loop - open loop)

if Ctrl.ifShowFigures(3)

figure(3)

temp = loopResults01(:,:,1);

[sinrH,sinrX] = hist(temp(:),20);

snirPdf = sinrH ./ sum(sinrH);


61

hold on

plot(sinrX,cumsum(snirPdf)*100,'b','linewidth',1.5)

xlabel('Uplink average received SINR dB')

ylabel('Normalized pdf [%], and C.D.F [%]')

%----------------------------------------------------------------------

% Plot SINR histogram (close loop)

temp = loopResults01(:,:,2);

[sinrH,sinrX] = hist(temp(:),20);

snirPdf = sinrH ./ sum(sinrH);

hold on

plot(sinrX,cumsum(snirPdf)*100,'r','linewidth',1.5)

legend('Normalized Pdf (OL)','CDF (OL)',...

'Normalized Pdf (CL)','CDF (CL)',...

'Location','best')

grid on

xlim([-30 30])

end

To generate the overlap plots


62

function [loopResults01,loopResults02,loopResults03] = ...

LTE_PowerAllocation_func(simPara)

%% Controlling parameters

Ctrl.ifShowFigures = [0 0 1 0]; % 1 shows figue 1

Ctrl.ifDoShadowingForEachLink = 1;

Ctrl.ifDoFadingForEachResourseBlock = 1;

Ctrl.ifDoUseMaxPowerForOpenLoop = 0; % no power control for open loop

%% Independent parameters

numOfDrops = 10; % a loop for better results

cellsNumber = 7; % (fixed) total number of cells

cellsSector = 3; % (fixed) number of sectors per cell

cellsRadius = 167; % in meter

usersPerSector = 10; % number of users per sector

shadowStddB = 8; % standard deviation of the shadowing

noisePowdBmHz = -174+10; % noise power spectral density

bandwidth = 10e6; % system bandwidth

schedulingAlg = 'RoundRobin'; % scheduling algorithm 'RoundRobin'

requiredSNRdB = 'fixed'; % 'random'(just for test),'fixed'(paper)

targetSNRdB = 5; % target SNR when requiredSNRdB is fixed

maxUEOutPow = 250e-3; % maximum UE power in Watt

alpha = 1; % pathloss compensation factor

numOfRxAntenna = 2; % it is used for diversity in Rayliegh fadign channel


63

antennaGaindBi = 15; % maximum antenna gain in dB

antennaTheta3dB = 70*pi/180; % antenna 3dB bandwidth

pathloss_func = ... % path-loss equation (d in meter)

@(d)35.5+37.6*log10(d);

antennaGaindB_func = ... % antenna gain function

@(theta) -min(12*(theta/antennaTheta3dB).^2,20)+antennaGaindBi;

closedLoopBoostRatio = 0.3; % convergence rate

closedLoopNumOfIterations = 20; % number of iterations in the closed loop algorithm

frequencyReuse = 1;

F = fields(simPara);

for cnt = 1 : length(F)

eval([F{cnt},' = simPara.',F{cnt},';'])

end

%--------------------------------------------------------------------------

%% Dependent parameters

sectorsNumber = cellsSector * cellsNumber; % number of total sectors

usersNumber = sectorsNumber * usersPerSector; % number of total users

cellsInterSiteDist = 3*cellsRadius; % cell 2 cell distance

noisePowdB = ... % noise power in dB

noisePowdBmHz-30+10*log10(bandwidth);
64

% determine number of resourse blocks based on a selected bandwidth

switch bandwidth

case 1.4*10^6

RbNumber = 6;

case 3*10^6

RbNumber = 15;

case 5*10^6

RbNumber = 25;

case 10*10^6

RbNumber = 50;

case 15*10^6

RbNumber = 75;

case 20*10^6

RbNumber = 100;

otherwise

error('The system bandwidth is not set correctly.')

end

possibleSNRdB = [targetSNRdB];

possibleModulations = {'QPSK'};

possibleModBitsPerSym = [2]; % number of bits per symbol

if frequencyReuse == 1

sectorsFrequencyBand = ones(sectorsNumber,1);
65
elseif frequencyReuse == 1/3

sectorsFrequencyBand = repmat([1,2,3].',cellsNumber,1);

end

%--------------------------------------------------------------------------

%% Creating network map

% building cell positions (only central cell, and the first tier)

cellsCenterAngle = ... % angle of each cell center

[0 pi/6:pi/3:2*pi].';

cellsDistFromCentre = ... % cell center distance to the map center

[0 ones(1,cellsNumber-1)*cellsInterSiteDist].';

cellsPosition = ... % cell center positions

[cellsDistFromCentre.*cos(cellsCenterAngle),...

cellsDistFromCentre.*sin(cellsCenterAngle)];

% find sector positions

sectorsAngle = ... % local angle of each sector in each cell

[30;150;270].'*pi/180;

sectorsPosition = ... % Init positions of each sector of each cell

zeros(cellsNumber ,cellsSector,2);

sectorsInd = ... % sectors index for display (Init with zero)

zeros(cellsNumber ,cellsSector,1);

% find center position of each cell

for cnt1 = 1 : cellsNumber

for cnt2 = 1 : cellsSector


66
sectorsPosition(cnt1,cnt2,:) = cellsPosition(cnt1,:) + ...

[cellsRadius*cos(sectorsAngle(cnt2)),...

cellsRadius*sin(sectorsAngle(cnt2))];

sectorsInd(cnt1,cnt2) = (cnt1-1)*cellsSector + cnt2;

end

end

sectors2DPosition = ... % Put sectors' positions in a 2D array

[reshape(sectorsPosition(:,:,1).',sectorsNumber,1),...

reshape(sectorsPosition(:,:,2).',sectorsNumber,1)];

sectors2DInd = ... % Put sectors' indices in a 2D array

reshape(sectorsInd.',sectorsNumber,1);

%--------------------------------------------------------------------------

%% Main Loop

% related to loopReults

loopResults01 = zeros(sectorsNumber*RbNumber,numOfDrops,6);

loopResults02 = zeros(sectorsNumber,numOfDrops,2);

loopResults03 = zeros(numOfDrops,2);

for dropCnt = 1 : numOfDrops

%% set users in sectors

usersPosition = zeros(usersPerSector,2,sectorsNumber); % initial with zero

users2DPosition = zeros(sectorsNumber*usersPerSector,2);

for cnt = 1 : sectorsNumber

% generate random located users in each sector


67

usersPosition(:,:,cnt) = ...

[cellsRadius*(rand(usersPerSector,1)-1/2)+sectors2DPosition(cnt,1),...

cellsRadius*(rand(usersPerSector,1)-1/2)+sectors2DPosition(cnt,2)];

users2DPosition((cnt-1)*usersPerSector + (1:usersPerSector),:) = ...

usersPosition(:,:,cnt);

end

%--------------------------------------------------------------------------

%% find users distance to each cell (sector)

usersDistance = zeros(usersNumber,sectorsNumber);

for cnt = 1 : cellsNumber

% find users distance to all other cells

usersDistance(:,(cnt-1)*3+(1:3)) = ...

repmat(...

sqrt((users2DPosition(:,1)-cellsPosition(cnt,1)).^2 + ...

(users2DPosition(:,2)-cellsPosition(cnt,2)).^2),...

1,3);

end

%--------------------------------------------------------------------------

%% find users angle to each sector antenna

usersAngle = zeros(usersNumber,sectorsNumber);

for cnt = 1 : cellsNumber

% find users distance to all other cell's sector

for cnt2 = 1 : cellsSector


68
usersAngle(:,(cnt-1)*3+cnt2) = ...

atan2((users2DPosition(:,2)-cellsPosition(cnt,2)), ...

(users2DPosition(:,1)-cellsPosition(cnt,1))) - sectorsAngle(cnt2);

end

end

% wrap the angles

usersAngle = wrapTo180(usersAngle*180/pi)*pi/180;

%--------------------------------------------------------------------------

%% find total pathloss dB to each sector in each RB

usersPathlossdB = pathloss_func(usersDistance); % path-loss due to distance

usersShadowdB = shadowStddB*... % path-loss due to shadow

rectpulse(rand(usersNumber,cellsNumber).',3).';

totalPathLossdB = zeros(usersNumber,sectorsNumber,RbNumber);

for cnt = 1 : RbNumber

totalPathLossdB(:,:,cnt) = usersPathlossdB(:,:) + ... % path-loss due to distance

Ctrl.ifDoShadowingForEachLink*usersShadowdB(:,:) + ... % path-loss due to shadow

-antennaGaindB_func(usersAngle(:,:)) + ... % antenna gain

Ctrl.ifDoFadingForEachResourseBlock*...

10*log10(sum(abs(randn(usersNumber,sectorsNumber,numOfRxAntenna) + ... % small

scale in each RB it is different

1i*randn(usersNumber,sectorsNumber,numOfRxAntenna)).^2,3) );

end

% for eahc user (k is comming from large sclae fading (pathloss due to distance and shadow)
69
% h is comming from smale scale fading complex guassian distribution)

% y1 = k*x1 = k*x*h1

% y2 = k*x2 = k*x*h2

% the best y = y1*h1' + y2*h2'

% the best y = k*x*(|h1|^2+|h2|^2)

%--------------------------------------------------------------------------

%% Resourse allocation from users of each sector

AllocMatrix = zeros(sectorsNumber,RbNumber); % Initial with zero

if strcmpi(schedulingAlg,'roundrobin')

% we assume frequency reuse is one

if usersPerSector <= RbNumber

for cnt = 1 : sectorsNumber

% find users index of this sector

usersInd = (cnt-1)*usersPerSector + (1:usersPerSector);

userCnt = 1; % first user will be allocated first Resource block

for cnt2 = 1 : RbNumber

AllocMatrix(cnt,cnt2) = usersInd(userCnt);

% update user counter

if userCnt < usersPerSector

userCnt = userCnt + 1;

else

userCnt = 1;
70

end

end

end

end

end

%--------------------------------------------------------------------------

%% Random SNR allocation for each resource block in allocation matrix

if strcmpi(requiredSNRdB,'random') || strcmpi(requiredSNRdB,'fixed')

AllcSNRdBInd = randsrc(sectorsNumber,RbNumber,...

[1:length(possibleSNRdB);...

1/length(possibleSNRdB)*...

ones(1,length(possibleSNRdB))]); % uniform

AllcSNRdB = ...

reshape(possibleSNRdB(AllcSNRdBInd(:)),sectorsNumber,RbNumber);

elseif strcmpi(requiredSNRdB,'adaptive')

% will be added

end

%--------------------------------------------------------------------------

%% Open loop algorithm

% find transmit power of each user (open loop)

UETransmitPower = zeros(sectorsNumber,RbNumber);

for cnt = 1 : sectorsNumber

% find users of this sector for each Resource block


71
userInd = AllocMatrix(cnt,:);

% find required SNRdB

RequiredSNRdB = AllcSNRdB(cnt,:);

% find path loss of users in each resource block to this sector

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

% find transmit power in each resource block

if Ctrl.ifDoUseMaxPowerForOpenLoop

RequiredTxPowdB = maxUEOutPow*ones(RbNumber,1);

else

RequiredTxPowdB = noisePowdB-10*log10(RbNumber) +... % noise power in each

RB

alpha*CurrenttotalPathLossdBdB(:) + ...

+RequiredSNRdB(:);

end

% it should not be greater than max tx power

UETransmitPower(cnt,:) = min(RequiredTxPowdB,10*log10(maxUEOutPow)).';

end

%--------------------------------------------------------------------------

% find SINR dB for each resource block

RbSINRdB = zeros(sectorsNumber,RbNumber);
72
for cnt = 1 : sectorsNumber

% find Rx power from the users of this sector

userInd = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

RxPowdB = UETransmitPower(cnt,:) - CurrenttotalPathLossdBdB(:).';

% find the Rx power from the users of all other sectors

InterferePow = zeros(RbNumber,1);

for cnt2 = 1 : sectorsNumber

if cnt2~=cnt && sectorsFrequencyBand(cnt) == sectorsFrequencyBand(cnt2)

% other users to this sector

userInd2 = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB2 = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB2(rb) = totalPathLossdB(userInd2(rb),cnt2,rb);

end

InterferePow = InterferePow + ...

10.^( 0.1 * (UETransmitPower(cnt2,:).' - CurrenttotalPathLossdBdB2(:)) );

end

end

%
73
% SINR(user,rb) = Pr(user,rb)/(noise power + interference(rb))

% interference(rb) = sum(Pr(all users located on other sectors,rb))

% SINRdB = 10*log10(SINR)

RbSINRdB(cnt,:) = 10*log10(...

10.^(0.1*RxPowdB(:)) ./ ... % Rx power

(1*InterferePow(:) + ...

10.^(0.1*( noisePowdB-10*log10(RbNumber) ) ) ));

end

%--------------------------------------------------------------------------

%% closed loop

% start with open loop results

closedLoopRequiredSNRdB = AllcSNRdB;

closedLoopRbSINRdB = zeros(sectorsNumber,RbNumber);

% Initilization

closedLoopUETransmitPower = zeros(sectorsNumber,RbNumber);

for cnt = 1 : sectorsNumber

% find users of this sector for each Resource block

userInd = AllocMatrix(cnt,:);

% find required SNRdB

RequiredSNRdB = AllcSNRdB(cnt,:);

% find path loss of users in each resource block to this sector

CurrenttotalPathLossdBdB = zeros(RbNumber,1);
74

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

% find transmit power in each resource block

RequiredTxPowdB = noisePowdB-10*log10(RbNumber) +... % noise power in each RB

alpha*CurrenttotalPathLossdBdB(:) + ...

+RequiredSNRdB(:);

% it should not be greater than max tx power

closedLoopUETransmitPower(cnt,:) =

min(RequiredTxPowdB,10*log10(maxUEOutPow)).';

end

for nI = 1 : closedLoopNumOfIterations+1

% find SINR

for cnt = 1 : sectorsNumber

% find Rx power from the users of this sector

userInd = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB(rb) = totalPathLossdB(userInd(rb),cnt,rb);

end

RxPowdB = closedLoopUETransmitPower(cnt,:) - CurrenttotalPathLossdBdB(:).';

% find the Rx power from the users of all other sectors

InterferePow = zeros(RbNumber,1);
75

for cnt2 = 1 : sectorsNumber

if cnt2~=cnt && sectorsFrequencyBand(cnt) == sectorsFrequencyBand(cnt2)

% other users to this sector

userInd2 = AllocMatrix(cnt,:);

CurrenttotalPathLossdBdB2 = zeros(RbNumber,1);

for rb = 1 : RbNumber

CurrenttotalPathLossdBdB2(rb) = totalPathLossdB(userInd2(rb),cnt2,rb);

end

InterferePow = InterferePow + ...

10.^( 0.1 * (closedLoopUETransmitPower(cnt2,:).' -

CurrenttotalPathLossdBdB2(:)) );

end

end

closedLoopRbSINRdB(cnt,:) = 10*log10(...

10.^(0.1*RxPowdB(:)) ./ ... % Rx power

(InterferePow(:) + ...

10.^(0.1*( noisePowdB-10*log10(RbNumber) ) ) ));

end

if nI ~= closedLoopNumOfIterations + 1

% Find required power boos to reach target SINR

closedLoopPowerBoostdB = closedLoopRequiredSNRdB - closedLoopRbSINRdB;


76
% increase power by the calculated value

closedLoopUETransmitPower = closedLoopUETransmitPower + ...

closedLoopPowerBoostdB*closedLoopBoostRatio;

closedLoopUETransmitPower =

min(closedLoopUETransmitPower,10*log10(maxUEOutPow));

end

end

%--------------------------------------------------------------------------

%% Find users BER for each modulation scheme

openLoopBER = zeros(sectorsNumber,RbNumber);

closedLoopBER = zeros(sectorsNumber,RbNumber);

for cnt = 1 : length(possibleModBitsPerSym)

Ind = AllcSNRdBInd == cnt;

% BER in AWGN channel

openLoopBER(Ind) = berawgn(RbSINRdB(Ind),'qam',2.^possibleModBitsPerSym(cnt));

closedLoopBER(Ind) =

berawgn(closedLoopRbSINRdB(Ind),'qam',2.^possibleModBitsPerSym(cnt));

end

%% Find users capacity (Shanoon)

% sum over all sectors to calculte sector capacity

openLoopCapcity = ...
77
bandwidth/RbNumber * log2(1+10.^(0.1*RbSINRdB));

closedLoopCapcity = ...

bandwidth/RbNumber * log2(1+10.^(0.1*closedLoopRbSINRdB));

%% Store loop Reults

loopResults01(:,dropCnt,1) = RbSINRdB(:); % open loop SINR

loopResults01(:,dropCnt,2) = closedLoopRbSINRdB(:);

loopResults01(:,dropCnt,3) = openLoopBER(:);

loopResults01(:,dropCnt,4) = closedLoopBER(:);

loopResults01(:,dropCnt,5) = openLoopCapcity(:);

loopResults01(:,dropCnt,6) = closedLoopCapcity(:);

loopResults02(:,dropCnt,1) = sum(openLoopCapcity,2);

loopResults02(:,dropCnt,2) = sum(closedLoopCapcity,2);

loopResults03(dropCnt,1) = sum(openLoopCapcity(:)); % system capcity

loopResults03(dropCnt,2) = sum(closedLoopCapcity(:)); % system capcity

end

To generate closed loop comparision for different SINRdB:

%% Clear

%% Simulation

simPara.targetSNRdB= 5;

loopResults01_1 = ...
78

LTE_PowerAllocation_func(simPara);

simPara.targetSNRdB = 0;

loopResults01_2= ...

LTE_PowerAllocation_func(simPara);

simPara.targetSNRdB= 10;

loopResults01_3 = ...

LTE_PowerAllocation_func(simPara);

%% Figure

figure(2)

temp = loopResults01_1(:,:,2);

[sinrH,sinrX] = hist(temp(:),20);

snirPdf = sinrH ./ sum(sinrH);

plot(sinrX,cumsum(snirPdf)*100,'b','linewidth',1.5)

hold on

temp = loopResults01_2(:,:,2);

[sinrH,sinrX] = hist(temp(:),20);

snirPdf = sinrH ./ sum(sinrH);

plot(sinrX,cumsum(snirPdf)*100,'r--','linewidth',1.5)
79
temp = loopResults01_3(:,:,2);

[sinrH,sinrX] = hist(temp(:),20);

snirPdf = sinrH ./ sum(sinrH);

plot(sinrX,cumsum(snirPdf)*100,'k-.','linewidth',1.5)

xlabel('effective SINR dB')

ylabel('C.D.F [%]')

legend('CDF (CL) \SNR = 5',...

'CDF (CL) \SNR = 0',...

'CDF (CL) \SNR = 10',...

'Location','best')

grid on

xlim([-30 30])

To generate closed loop for fractional and full compensation

%% Clear

%% Simulation

simPara.alpha = 1;

loopResults01_1 = LTE_PowerAllocation_func(simPara);
80

simPara.alpha = 1-0.3;

loopResults01_3 = LTE_PowerAllocation_func(simPara);

%% Figure

figure(1)

clf

temp = loopResults01_1(:,:,6);

[BR_X,BR_Y] = hist(temp(:),20);

snirPdf = BR_X ./ sum(BR_X);

plot(BR_Y/1e6,cumsum(snirPdf)*100,'b','linewidth',1.5)

hold on

temp = loopResults01_3(:,:,6);

[BR_X,BR_Y] = hist(temp(:),20);

snirPdf = BR_X ./ sum(BR_X);

plot(BR_Y/1e6,cumsum(snirPdf)*100,'k-.','linewidth',1.5)

xlabel('Users bit rate Mbps')


81
ylabel('C.D.F [%]')

legend('CDF (CL) \alpha = 1',...

'CDF (CL) \alpha = 0.7',...

'Location','best')

grid on

%xlim([0.2 0.5])

You might also like