0% found this document useful (0 votes)
96 views119 pages

Optimization of Digital Beamforming For Smart Ante

This document provides an overview of optimization techniques for digital beamforming in smart antennas. It consists of 6 chapters that cover antenna systems, smart antennas, angle of arrival estimation techniques, beamforming algorithms, and conclusions. Key topics include phased array antennas, types of smart antennas, the MUSIC algorithm for angle of arrival estimation, digital beamforming, and the minimum mean square error algorithm. The goal is to optimize digital beamforming performance for smart antennas.

Uploaded by

dsn
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)
96 views119 pages

Optimization of Digital Beamforming For Smart Ante

This document provides an overview of optimization techniques for digital beamforming in smart antennas. It consists of 6 chapters that cover antenna systems, smart antennas, angle of arrival estimation techniques, beamforming algorithms, and conclusions. Key topics include phased array antennas, types of smart antennas, the MUSIC algorithm for angle of arrival estimation, digital beamforming, and the minimum mean square error algorithm. The goal is to optimize digital beamforming performance for smart antennas.

Uploaded by

dsn
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/ 119

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/312583657

Optimization of Digital Beamforming for Smart Antennas

Book · October 2016

CITATIONS READS
0 122

2 authors:

Sherif Hekal Lotfi Rabeh Gomaa


Benha University Benha University
21 PUBLICATIONS   96 CITATIONS    36 PUBLICATIONS   28 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

LTE RF planning View project

All content following this page was uploaded by Lotfi Rabeh Gomaa on 18 December 2018.

The user has requested enhancement of the downloaded file.


Optimization of Digital Beamforming for
Smart Antennas

By

Dr. Eng. Sherif Sayed Ahmed Salah Hekal


BSc in Communications and Electronics Engineering
Faculty of Engineering at Shoubra
Benha University

Prof. Mohamed Lotfi Rabeh Gomaa


Faculty of Engineering at Shoubra
Benha University
Contents
Acknowledgments vi
Abstract vii
Abbreviations ix
List of Figures x

Chapter 1 - Introduction and Overview ....................................................... 1


1.1 Introduction ................................................................................................. 2
1.2 Evolution of wireless communications ....................................................... 3
1.3 Constraints of wireless communications .................................................... 3
1.4 Motivation and objectives of thesis ............................................................ 6
1.5 Outline of thesis .......................................................................................... 6

Chapter 2 – Antenna systems ........................................................................ 8


2.1 Definition .................................................................................................... 9
2.2 Antenna Parameters .................................................................................... 9
2.3 Antenna types ........................................................................................... 13
2.4 Antenna systems ....................................................................................... 15
2.5 Phased Array Antenna .............................................................................. 16

Chapter 3 - Smart Antennas ........................................................................ 25


3.1 introduction and general overview ........................................................... 26
3.2 Smart antenna definition ........................................................................... 26
3.3 Types of smart antennas ........................................................................... 28
3.4 Implementation of SDMA ........................................................................ 29
ii
3.5 Benefits and applications .......................................................................... 30
Chapter 4 - Angle of Arrival Estimation Techniques ............................... 34
4.1 AOA Estimation Theory .......................................................................... 35
4.2 Methods of AOA estimation ..................................................................... 37
4.3 Data Model................................................................................................ 37
4.4 MUSIC algorithm ..................................................................................... 39
4.5 Simulation ................................................................................................. 41
4.6 Performance study .................................................................................... 44
4.7 Non uniform linear array antenna ............................................................. 53
4.8 GUI implementation ................................................................................. 57

Chapter 5 – Smart Antennas Beamforming Algorithms .......................... 59


5.1 Introduction .............................................................................................. 60
5.2 Digital Beamforming ................................................................................ 62
5.3 Minimum Mean Square Error ................................................................... 63
5.4 Simulation ................................................................................................. 66
5.5 MMSE Optimization................................................................................. 70

Chapter 6 – Conclusion & Future Work .................................................... 71


6.1 Conclusion ............................................................................................... 72
6.2 Future Work .............................................................................................. 74

REFERENCES ................................................................................. 75
References ....................................................................................................... 76
APPENDICES .................................................................................. 79
Appendix I: Implementation of MUSIC algorithm ........................................ 80

iii
Appendix II: MUSIC Spectrum versus changing number off array elements M .. 83
Appendix III: MUSIC Spectrum GUI implementation .................................. 86
Appendix IV: Implementation of MMSE ..................................................... 102
Appendix V: Implementation of MMSE applying same case studied in [2]105

iv
Acknowledgment

Foremost, I would like to express my sincere gratitude to my


advisors Dr. Lotfy, Dr.Mohanna and Dr.Emad for their
patience, motivation, enthusiasm, and immense knowledge.
Their guidance helped me in all the time of research and writing
of this thesis. Whose encouragement and support from the
initial to the final level enabled me to develop an understanding
of the subject.

I would like to thank my parents along with my wife, have given


me complete support and encouragement throughout these
years.

Also I would like to present this work to my father God bless


his soul

Lastly, I offer my regards and blessings to all of those who


supported me in any respect during the completion of the
research.

Sherif Hekal

v
Abstract

S
mart antennas have recently received increasing interest for
improving the performance of wireless communication systems
which includes better coverage, improved capacity, and higher
transmission quality. These systems of antennas include some techniques to
enhance the received signal, suppress all interferers, achieving reliable and
robust high-speed, high-data-rate transmission, and increase capacity.
Smart antenna consists of an array of antenna elements with signal
processing capability that optimizes the radiation and reception of a desired
signal, dynamically. Smart antennas can place nulls in the direction of
interferers via adaptive updating of weights linked to each antenna element.
They thus cancel out most of the co-channel interference resulting in better
quality of reception and lower dropped calls. Smart antennas can also track
the user within a cell via direction of arrival algorithms. This implies that they
are more advantageous than other antenna systems.

The main objective of this thesis is to provide

1- Overview about smart antenna’s technology, applications, benefits in


wireless communication systems and how is being able to achieve the
best performance.

2- Study the AOA estimation techniques used to enable smart antennas


from fining the user’s location accurately.

3- Optimization some key parameters of MUSIC algorithm used in AOA


estimation.

vi
4- Implementation of Minimum Mean Square Error (MMSE) adaptive
beam forming algorithm.

vii
Abbreviations

1G First Generation
2G Second Generation
3G Third Generation
4G Fourth Generation
3GPP 3rd Generation partnership project
3GPP2 3rd Generation partnership project
8-PSK Octagonal Phase Shift Keying
AF Array Factor
ABF Adaptive Beamforming
AOA Angle Of Arrival
DBF Digital Beam-Forming
IMT International Mobile Telecommunications
MMSE Minimum Mean Square Error
MSE Mean Square Error
MUSIC MUltiple SIgnal Classification
SA Smart Antenna
SDMA Space Division Multiple Access
SNR Signal-to-Noise Ratio
ULA Uniform Linear Array Antenna

viii
List of Figures
Chapter 1
Figure 1.1 wireless communication services 2
Figure 1.2 wireless communication constraints 4
Chapter 2
Figure 2.1 antenna polarization types 10
Figure 2.2 antenna radiation pattern 11
Figure 2.3 antenna types 15
Figure 2.4 Phased array antenna construction and operation 17
Figure 2.5 Infinitesimal dipole 17
Figure 2.6 Two element array antenna 19
Figure 2.7 far field view of Two-element array antenna 19
Figure 2.8 radiation pattern of two-element array antenna 21
Figure 2.9 M-element uniform linear array antenna 21
Figure 2.10 End fire radiation pattern of uniform linear array antenna 24
Chapter 3
Figure 3.1 simple smart antenna architecture 27
Figure 3.2 SDMA concept supported by smart antenna 27
Figure 3.3 Switched beam antenna 28
Figure 3.4 adaptive array antenna 29
Figure 3.5 SDMA block diagram 30
Chapter 4
Figure 4.1 uniform linear array antenna 35
Figure 4.2 uniform linear array antenna RX model 37
Figure 4.3 MUSIC implementation flow chart 41

ix
Figure 4.4 MUSIC implementation 42
Figure 4.5 Results of ref. [2] 43
Figure 4.6 MUSIC spectrum comparison with other work 43
Figure 4.7 MUSIC spectrum with changing “M” 45
Figure 4.8 detailed view of fig 4.7 at estimated angle “θ=25o” 46
Figure 4.9 Error of estimation with changing “M” 47
Figure 4.10 MUSIC spectrum with changing “SNR” 48
Figure 4.11 detailed view of fig.4.10 at θ=20o, 25o 48
MUSIC spectrum with changing “k” at estimated angles
Figure 4.12 50
θ=20o, 25o
Figure 4.13 MUSIC spectrum with changing “d” 51
Figure 4.14 non uniform linear array antenna 53
MUSIC spectrum for ULA versus Non-ULA “M=8,
Figure 4.15 56
d=0.5λ”
Figure 4.16 detailed view of fig 4.15 at the estimated angles 56
Figure 4.17 MUSIC spectrum GUI implementation 58

Chapter 5
(a) Traditional analog Beamforming (b) Digital
Figure 5.1 61
Beamforming
Figure 5.2 different types of Beamforming 63
Figure 5.3 Mean Square Error adaptive system 64
Figure 5.4 Implementation of MMSE Beamforming 68
Figure 5.5 Results of ref. [2] 69
Figure 5.6 MMSE implementation comparison with ref. [2] 69
Figure 5.7 MMSE AF with changing “M” 70

x
Chapter

1 INTRODUCTION AND OVERVIEW

1.1 Introduction

1.2 Evolution of wireless communications

1.3 Constraints of wireless communications

1.4 Motivation

1.5 Outline of Thesis

Chapter1 1
1.1 Introduction
It would be hard to imagine a world without wireless applications and
services. Around the globe, mobile services are playing increasingly
important roles in many fields of our society. Just a decade ago, mobile
services consisted primarily of basic voice communication. Today, we
depend on mobile services not only for communication, but also for
education, entertainment, healthcare, location and m-commerce. Mobile
services have also made significant inroads into developing nations, by
improving the quality of life for many of their citizens.

Chapter1 2
Figure 1.1: wireless communication services

1.2 Evolution of wireless Communications


In the last two decades, the rapid growth of mobile and wireless
communications has radically changed the life of people. Wireless services
have migrated from the conventional voice-centric services to data-centric
services. The circuit-switched communication network is now being
replaced by all- IP packet-switched network.
Mobile communications have also evolved from the first-generation
(1G) analog systems to the third-generation (3G) systems now being
deployed, and the fourth-generation (4G) systems are now under
development and are expected to be available within two years.
The evolution of wireless networking also evolves rapidly during this
period, from low-speed wireless local area networks (WLANs) to broadband

Chapter1 3
WLANs, wireless wide area networks (WWANs), and wireless personal
area networks (WPAN). Also broadband wireless data service has been
expanded into broadcasting service, leading to satellite TV broadcasting and
the wireless regional area network (WRAN) for digital TV. The data rate
has also evolved from the 10 Kbits/s voice communications to
approximately 1 Gbps in the 4G wireless network [2].

1.3 Constraints of wireless communications


We can determine the factors that must be taken in consideration when
we talk about the performance of wireless communication systems

 Supporting multimedia services.


 Spectral efficiency.
 Quality of service.
 Mobility of handheld devices.
 Network Range/coverage.
 Data Speed/ Throughput.
 Cost reduction.
 Power saving (MS, BS).
 Reliability.
 Compatibility with other networks.
In wireless communications, capacity and performance are usually limited
by two major impairments, multipath and co-channel interference (figure
1.2).Multipath is a condition which arises when a transmitted signal
undergoes reflection from various obstacles in the propagation environment.
This gives rise to multiple signals arriving from different directions. Since
the multipath signals follow different paths, they have different phases when

Chapter1 4
they are arrive at the receiver. The result is degradation in signal quality
when they are combined at the receiver due to the phase mismatch. Co-
channel interference is the interference between two signals that operate at
the same frequency.

Figure 1.2: wireless communications constraints

More efforts have been done to achieve the new technology


requirements and also to enhance the capacity and performance of wireless
networks like:

 Evolving new modulation techniques.


 Spectral efficiency algorithms.
 Channel coding.
 Multiple Access Techniques.

Chapter1 5
 Improving switching Techniques.
 Implementation of new antenna Designs.
 Using new error correction and detection methods.

Let’s go on how antennas played an important role to enhance capacity


and performance of wireless communications, early Omni-antenna used to
cover costumers in 360 degree that made limitations in coverage and
capacity of users, so communication engineers thought to use the directional
antennas.

The goal of the using directional antennas in wireless medium is to


maximize the performance of the wireless networks by increasing capacity,
range and Signal-to-Noise Ratio (SNR). Directional antennas provide an
increased radiated power due to focusing the transmitter power on one
direction. This improves the range of the transmitter. On the other hand, the
directivity of the antenna allows the node to cancel interfering signals
arriving at the receiver from other directions.

Recently there is increasing interest in array antenna adaptive


beamforming (ABF), especially for wireless communications, as The high
bit rate demand in the wideband code division multiple access (WCDMA)
in 3G and (WIMAX & LTE) in 4G, while maintaining the number of users
and grade of service, needs new ways to increase channel capacity other than
conventional methods such as modulation technique. The ABF employed in
smart antennas are expected to be the solution of the problem.

1.4 Motivation and Objectives of Thesis


After deep survey of many papers and thesis’s that studied angle of
arrival estimation techniques and smart antenna beamforming algorithms we

Chapter1 6
found that there are some key parameters can be optimized to enhance the
accuracy and resolution of detection like geometry of array antenna, inter-
element spacing “d”, number of array elements “M” and other parameters
will be discussed in detail.

So the motivation of this research is study the effect of changing these


parameters and finds the optimum values that can be used, also discussing
the beamforming algorithms which can be used to dynamically directing the
antenna beam toward a specific angle according to the surrounding
electromagnetic environment.

1.5 Outline of Thesis


Thesis has been organized into six chapters.

- Chapter 1: gives introduction, motivation and finally outline of this


work.
- Chapter 2: provides fundamentals of Antennas and antenna systems.
- Chapter 3: Study Smart antenna systems and its applications.
- Chapter 4: overview about Angle of arrival (AOA) estimation
techniques and implementation of MUSIC algorithm with the
optimization of some key parameters to enhance estimation’s
performance.
- Chapter 5: study different algorithms of smart antenna beamforming and
implementation of MMSE algorithm.
- Chapter 6: provides the output of the research and scope of future work.

Chapter1 7
Chapter

2 ANTENNA SYSTEMS

2.1 Definition

2.2 Antenna parameters

2.3 Antenna types

2.4 Antenna systems

2.5 Phased Array Antenna

Chapter2 8
2.1 Definition
An antenna is defined as “a metallic device (as a rod or wire) for
radiating or receiving radio waves”, for wireless communication systems the
antenna is one of the most critical components. As if there is no antenna,
there will not be any interface between the user and the wireless network or
between the network subsystems and so good design of the antenna can meet
system requirements to improve overall system performance. A typical
example is TV for which the overall broadcast reception can be improved
by utilizing a high-performance antenna. The antenna serves to a
communication system the same purpose that eyes and eyeglasses serve to
a human.

Physically, an antenna is an arrangement of one or more conductors,


called elements. In transmission, an alternating current is created in the
elements by applying a voltage at the antenna terminals, causing the
elements to radiate an electromagnetic field. In reception, the incident
electric field generates electric voltage (V=E x L) where V is the induced
voltage that represents the incoming signal, E is the incident electric field
received by antenna and L is the effective length of antenna.

2.2 Antenna Parameters


2.2.1 Polarization

Polarization can be defined as the direction of oscillation of the electrical


field vector.

 Mobile communications: vertical polarization.

 Broadcast communications: horizontal polarization.

Chapter2 9
As shown below in figure 2.1 how the first antenna (vertical polarized)
passes the incident wave in opposite the second antenna losses the incident
wave due to mismatch of polarization between incoming signal and received
antenna.

Figure 2.1 antenna polarization types

2.2.2 Radiation pattern

An antenna radiation pattern or antenna pattern is defined as “a


mathematical function or a graphical representation of the radiation
properties of the antenna as a function of space coordinates as shown in
figure 2.2, In most cases the propagation characteristics of an antenna can
be described via elevations through the horizontal and vertical radiation
diagrams and this is defined by the magnetic & electrical field components
(H & E).

Chapter2 10
Figure 2.2: antenna radiation pattern

2.2.3 Half Power Beam-width

This term defines the aperture of antenna. The HPBW is defined by the
points in the vertical and horizontal diagram where the radiated power has
reached half the amplitude of the main radiation direction (3dB points).

2.2.4 Radiation Power Density

Electromagnetic waves are used to transport information through a


wireless medium or a guiding structure, from one point to the other. The
quantity used to describe the power associated with an electromagnetic wave
is the instantaneous Poynting vector defined as

W  E xH (2.1)

Chapter2 11
W = instantaneous Poynting vector (W/m2)

E = instantaneous electric-field intensity (V/m)

H = instantaneous magnetic-field intensity (A/m)

2.2.5 Radiation Intensity

Radiation intensity in a given direction is defined as “the power


radiated from an antenna per unit solid angle.” The radiation intensity is a
far-field parameter,

U=r2 Wrad (2.2)

1
Wrad = Re[ExH*] (2.3)
2

2.2.6 Directivity

Directivity of an antenna defined as “the ratio of the radiation intensity


in a given direction from the antenna to the radiation intensity averaged over
all directions.

U 4
D=  (2.4)
Uo Po

2.2.7 Gain

Antenna gain relates the intensity of an antenna in a given direction to


the intensity that would be produced by an isotropic antenna that radiates
equally in all directions.

radiation _ int ensity U ( ,  )


Gain = 4  4 (2.5)
total _ input _ power Pin

Chapter2 12
2.2.8 Bandwidth

The bandwidth of an antenna is the range of frequencies over which it


is effective, usually centered on the resonant frequency.

2.3 Antenna types


There are many types of antennas which can be classified into different
categories according to

a) Frequency Support

The wavelength is different at different frequencies, so the antennas


must be different in size to radiate signals at the correct wavelength.
Antennas used for HF are different from antennas used for VHF, which in
turn are different from antennas for microwave.

b) Directivity

Antennas can be Omni-directional, sectorial or directive. Omni-


directional antennas radiate the same pattern all around the antenna in a
complete 360°. The most popular type of Omni-directional antennas is the
dipole antenna. Sectorial antennas radiate primarily in a specific area. The
beam can be as wide as 180 degrees, or as narrow as 60 degrees. Directional
or directive antennas are antennas in which the beamwidth is much narrower
than in sectorial antennas. They have the highest gain and are therefore used
for long distance links. Types of directive antennas are the Yagi, the biquad,
the horn, the helicoidal, the patch antenna, the parabolic dish, and many
others.

Chapter2 13
c) Physical construction

Antennas can be constructed in many different ways, ranging from


simple wires, to parabolic dishes and others as shown in figure 2.3

- Wire antennas: dipole, loop and helix.

- Aperture antennas: horn antenna.

- Microstrip antennas: circular or rectangular patch on a grounded


substrate. Widely used because of ease of analysis and fabrication,
and their attractive radiation characteristics [1].

- Reflector Antennas: parabolic reflector (dish) and corner reflector.

Wire antennas Aperture antennas

Chapter2 14
micro strip antennas reflector antennas (dish)

Figure 2.3: antenna types

2.4 Antenna systems


Special applications which can’t be realized by using a single antenna
are very often achieved via antenna combinations. The combination is made
up of several single antennas and a distribution system. Combination is
designed in order to achieve a higher gain by varying the number of
antennas, the spacing, the phase, and the power ratio, these antenna systems
called array antennas.

There are some factors can be used to shape the overall pattern of the array
antenna
1. The geometrical configuration of the overall array (linear, circular, rec-
tangular, spherical, etc.)
2. Inter-element spacing (displacement between the elements).
3. Excitation amplitude of the individual elements.
4. Phase shift between the individual elements.
5. pattern and polarization of the individual elements

Chapter2 15
An array antenna is made up of more than one element that are spatially
arranged and electrically interconnected to produce a directional radiation
pattern, but the basic element is generally the dipole. Sometimes the basic
element is made longer or shorter than a half-wave. There are two types of
elements used to construct the array antenna are

Driven element is connected directly to the transmission line. It obtains its


power directly from the transmitter or, as a receiving antenna; it delivers the
received energy directly to the receiver.
Parasitic element is located near the driven element from which it gets its
power. It is placed close enough to the driven element to permit coupling.

Arrays can be described with respect to their radiation patterns and the
types of elements of which they are made and according the configuration
of array elements and arrangement it can be classified as the following:

 Linear array - antenna elements arranged along a straight line.


 Circular array - antenna elements arranged around a circular ring.
 Planar array - antenna elements arranged over some planar surface
(example - rectangular array).
 Conformal array - antenna elements arranged to conform to some
non-planar surface (such as an aircraft skin).

2.5 Phased Array Antenna


A phased array antenna is composed of group of radiating elements “like
dipoles “each with a phase shifter. Beams are formed by shifting the phase
of the signal emitted from each radiating element, to steer the main beam of

Chapter2 16
the antenna without physically moving the antenna as shown below in figure
2.4

Figure 2.4: Phased array antenna construction and operation

2.5.1 Infinitesimal dipole

To understand the antenna radiation, let us start with the behavior of an


infinitesimal dipole (l<<λ) aligned along the z-axis symmetrically placed
about the x-y plane as shown in Figure 2.5 [2].

Figure 2.5: Infinitesimal dipole

Chapter2 17
From [2] the electric and magnetic field components at point “P” can be given
as

I ol cos( )  1   jr
Er  aˆr  
jr 
1 e (2.6)
2r 2 

jI ol sin( )  1 1   jr


E  aˆ 1   2
e (2.7)
4r  j r (  r ) 

jI ol sin( )  1   jr


H  aˆ 1 e (2.8)
4r  j r 
Where β= phase propagation constant “wave number”.
δ= phase shift between the elements.
η= intrinsic impedance.
l= dipole length
Io=complex phasor current

In far field, (1/r2 and 1/r3) can be neglected and so the above equations can
be simplified to the following

jI ol sin( )  jr


E  aˆ e (2.9)
4r

jI ol sin( )  jr


H  aˆ e (2.10)
4r

2.5.2 Two-Element Array Antenna

Let us assume an array of two infinitesimal vertical dipoles positioned


along the y-axis, as shown below in Figure (2.6)

Chapter2 18
Figure 2.6: Two element array antenna

So the total electric field radiated by the two elements at the point “P” can be
given as

  j[ r1   ] 
 j [ r2  ] 
j I ol  e 2
e 2

Et  E1  E2  aˆ  sin(1 )  sin( 2 ) (2.11)
4  r1 r2 
 

Figure 2.7: far field view of Two-element array antenna

Under assumption of far field study (r>>d) as shown in figure 2.7, we can
say that

Chapter2 19
d
r1  r - sin( )
2 (2.12)
d
r2  r  sin( )
2

1   2  
(2.13)
r1  r2  r

[ d sin( )   ] [ d sin( )   ]
j I ol sin( )  jr   j j (2.14)
Et  aˆ e e 2
 e 2 
4r  
 
j I ole  jr sin( )   [ d sin( )   ]  
Et  aˆ  2 cos   (2.15)
4r   2 

Dipole field pattern Array Factor

Finally in general, the total field of the array is equal to the field of a single
element positioned at the origin multiplied by a factor called the array factor
(pattern function related to the array geometry) which is known by pattern
multiplication rule

Array pattern = element field pattern x Array factor (AF)

The AF is dependent on the geometric arrangement of the array elements,


inter-element spacing “d”, phase shift between elements “δ” and number of
elements “M”. Figure 2.8 shows MatLab GUI implementation to draw two-
element array pattern.

Chapter2 20
Figure 2.8: radiation pattern of two-element array antenna with infinitesimal vertical di-
poles (δ=-π/2, d=0.25λ)

2.5.3 M-Element Linear Array Antenna


Assume uniform linear array antenna consists of M equally spaced ver-
tical dipoles as shown in figure 2.9

Chapter2 21
Figure 2.9: M-element uniform linear array antenna.
The word uniform means uniform amplitude and spacing but there is phase
shift between each two successive elements is (δ). By applying the pattern
multiplication rule as approved before with Two-element array, the array
factor can be given as the following

AF  1  e j ( d sin( ) )  e j 2( d sin( ) )  .......  e j ( M 1)( d sin( ) )


(2.16)

M M
AF   e  j ( m 1)( d sin( )   )
  e j ( m 1) (2.17)
m 1 m 1

Where ψ=βd.sin (θ) +δ


Form equation 2.16 we can define another term what is called the array steer-
ing vector a(θ) representing the relative phases at each antenna element,

1 
 j 
 e 
a ( )  e j 2  (2.18)
 
... 
 j ( M 1) 
e 

AF   a( ) (2.19)

We can simplify equation (2.16) by multiplying both sides by e jψ

e j AF  e j  e j 2  .......  e jM (2.20)

(e j  1) AF  (e jM  1) (2.21)

Chapter2 22
M M M
j j j
jM
(e  1) e 2
(e 2
e 2
)
AF  j
   
(2.22)
(e  1) j j j
e 2 (e 2
e 2
)
M
j
( M 1) sin( )
AF  e 2 2 (2.23)

)sin(
2
If the array is centered about the origin, the physical center is at 0 and Eq.
(2.23) can be simplified to become

M
sin( )
AF  2 (2.24)

sin( )
2
M
sin( )
AF  2 (2.25)

2

The equation (2.25) is sinc function sin(x)/x which has maximum value at
x=0  sinc(x)x=0 = 1 similarly the maximum value of AF =M at ψ=0.so the
normalized of array factor can be written as

M M
sin() sin( )
1 2 2
AFn   (2.26)
M  M
sin( )
2 2
The most popular approaches to direct the main beam of array antenna are
 Broadside Array

The maximum radiation is directed normal to the axis  θo=0,180 sub-


stituting with this value in ψ we need phase shift between elements δ=0

Chapter2 23
 End-Fire Array

The maximum radiation is along the axis containing the array elements
 θo=90 substituting with this value in ψ we need phase shift between
elements δ=-βd as shown in figure 2.10

 Beam steered (scanned) array

The phase shift δ is dynamically changed thus allowing the main beam to
be directed toward any direction of interest (θo), and so the required phase
shift is δ=-βdsin(θo)

Figure 2.10: End fire radiation pattern of uniform linear array antenna with infinitesimal
vertical dipoles (M=10, δ=-π/2, d=0.25λ)

Chapter2 24
Chapter

3 SMART ANTENNAS

3.1 Introduction and general overview.

3.2 Smart antenna definition.

3.3 Types of smart antennas.

3.4 Implementation of SDMA.

3.5 Benefits and applications.

Chapter3 25
3.1 Introduction and general overview

Global demand for all modern wireless communication systems is to


support voice, data and video services for many users operating with a large
variety of different systems, generally these services especially data and
video like “internet browsing, video conference and upload-download file
sharing” require technologies that can support higher data rates and capacity
with better coverage. To achieve these goals, greater power, interference
suppression, and multipath mitigation are needed. Smart antennas played
very important role to meet these requirements in the following manner:
increase power by providing higher gain for the desired signal. Phased
arrays used to support narrow pencil beams, particularly with a large number
of antenna elements at higher frequencies, to provide multiple beams with
different frequencies reused and so provide higher capacity.

3.2 Smart antenna definition

Smart Antenna is an array antenna with smart signal processing


algorithms used to identify the angle of arrival (AOA) of the signal, and use
it to calculate beam-forming vectors, to track and locate the antenna beam
on the intended mobile as simplified in figures 3.1, 3.2 this concept is called
space division multiple access (SDMA).

Smart antenna effectively enables a higher capacity in wireless networks by


reducing multipath and co-channel interference. This is achieved by
focusing the radiation only in the desired direction and adjusting itself to
changing traffic conditions or signal environments. Smart antennas employ
a set of radiating elements arranged in the form of an array. The signals from

Chapter3 26
these elements are combined to form a movable or switchable beam pattern
that follows the desired user. In a Smart antenna system the arrays by
themselves are not smart, it is the digital signal processing that makes them
smart.

Figure 3.1: simple smart antenna architecture

Figure 3.2: SDMA concept supported by smart antenna

3.3 Types of Smart antennas


Chapter3 27
Smart antennas can be classified according to the way used for tracking
and locating the required user.

3.3.1 Switched beam antenna

Switched beam antenna systems use multiple fixed beams in predefined


directions with one beam turned on towards the desired signal according to
the signal strength received from the user and switch from one beam to
another as the user moves throughout the sector as shown in figure 3.3.

Figure 3.3: Switched beam


antenna

3.3.2 Adaptive array antenna

Angle of Arrival (AOA) estimation algorithm tracks the user’s signal as he


moves within the range of the beam that’s tracking him, then the
beamformer using robust signal-processing techniques calculates the
optimum weights for phase shifters to effectively locate the user to
dynamically minimize interference and maximize the intended signal
reception only in the direction of the user as shown in figure 3.4.

Chapter3 28
Figure 3.4: adaptive array antenna

3.4 Implementation of SDMA


Space Division Multiple Access technique increases the capacity of a
cellular mobile radio system by using its advanced spatial-processing
capability to locate many users, and so more than one user can be allocated to
the same physical communication channel in the same cell.
The base station does not transmit the signal to the entire cell area, as in
conventional access techniques, but concentrates power in the direction of the
mobile unit for which the signal is directed, reducing it in the directions where
other units are present.
This is accomplished by having N parallel beam-formers at the base
station operating independently as shown in figure 3.5, where each
beamformer has its own adaptive beam-forming algorithm to control its own
set of weights and its own Angle-of-arrival algorithm (AOA). Each
beamformer creates a maximum toward its desired user while nulling or
attenuating the other users.

Chapter3 29
Figure 3.5: SDMA block diagram

3.5 Benefits and applications


3.5.1 Smart Antennas’ Benefits

a) Interference reduction and rejection

Smart antennas have a property of spatial filtering to focus radiated energy


in the form of narrow beams only in the direction of the desired mobile
user and no other direction. In addition they also have nulls in their
radiation pattern in the direction of other mobile users in the vicinity,
therefore there is often negligible co-channel interference.

Chapter3 30
b) Range improvement

Since smart antennas employs collection of individual elements in the


form of an array they give rise to narrow beam with increased gain when
compared to conventional antennas using the same power. The increase
in gain leads to increase in range and the coverage of the system.
Therefore, fewer base stations are required to cover a given area.

c) Capacity enhancement

Smart antennas enable reduction in co-channel interference, which leads


to increase in the frequency reuse factor. That is smart antennas allow
more users to use the same frequency spectrum at the same time bringing
about tremendous increase in capacity.

d) Reduction of transmitted power

Ordinary antennas radiate energy in all directions leading to a waste of


power. In contrast smart antennas radiate energy only in the desired
direction therefore less power is required for radiation at the base station.
Reduction in transmitted power also implies reduction in interference
towards other users.

e) Reduction of handovers

To improve the capacity in a high density cellular network, congested


cells are further broken into micro cells to enable increase in the frequency
reuse factor. This results in frequent handovers, as the cell size is smaller.
Using smart antennas at the base station, there is no need to split the cells
since the capacity is increased by using independent spot beams.

Chapter3 31
Therefore, handoffs occur rarely, only when two beams using the same
frequency cross each other.

f) Mitigation of multipath effects

Smart antennas can either reject multipath components as interference,


thus mitigating its effects in terms of fading or it can use the multipath
components and add them constructively to enhance system performance.

g) Reduced Inter-Symbol-Interference (ISI)

Multipath propagation in mobile radio environments leads to ISI. Using


SA beams that are directed towards the mobile user of interest reduces the
amount of multipath and therefore the inter-symbol-interference.

h) Compatibility

Smart antenna technology can be applied to various multiple access


techniques such as TDMA, FDMA, and CDMA. It is compatible with
almost any modulation method and bandwidth or frequency band.

i) supporting new services

Location based services can be easily implemented using the aid of AOA
estimation.

j) Support higher data rates

Chapter3 32
3.5.2 Smart antennas’ drawbacks

While smart antennas provide many benefits and could solve many
problems, they are suffering from some drawbacks.

a) Transceivers are much more complex than traditional base station


transceivers. The antenna needs separate transceiver chains for each
array antenna element and accurate real-time calibration for each of
them [1].

b) The antenna beam-forming is computationally intensive, which means


that smart-antenna base stations must be equipped with very powerful
digital signal processors. This tends to increase the system costs in the
short term,

3.5.3 Smart antennas’ Applications

 Mobile wireless communications.

 Wireless local area networks (WLAN).

 Wireless local loops (WLL).

 Mobile Internet, wireless metropolitan area networks (WMAN).

 Satellite based personal communications services, radar.

 Many forms of remote sensing, mobile ad hoc networks (MANET).

 High data rate communications and satellite communications.

 MIMO antenna systems.

Chapter3 33
Chapter

4 ANGLE OF ARRIVAL ESTIMATION

TECHNIQUES

4.1 AOA Estimation Theory

4.2 Methods of AOA estimation

4.3 Data Model

4.4 MUSIC algorithm

4.5 Simulation

4.6 Performance study

4.7 Non uniform linear array antenna

4.8 GUI implementation

Chapter4 34
4.1 AOA Estimation Theory
Angle of Arrival (AOA) estimation is the process of determining the
direction (or angle) of an incoming signal from any mobile device to the
Transceiver as a result specify the Transmitter’s location. No one can deny
how these estimation techniques are useful and add value to all modern
wireless communication systems like “Location based services, etc...” and so
in many fields, including radar, sonar, mobile communications, radio
astronomy, and seismology. For example, in military applications “defense
application” it is important to identify the direction of a possible threat to
attack with high accuracy without errors.
AOA algorithms determine the direction by measuring the Time “phase”
Difference of Arrival (TDOA) at individual elements of the array and from
these delays the angle (or direction) of the mobile device can be calculated.
This TDOA measurement is made by measuring the difference in received
phase at each element in the antenna array as shown in figure 4.1.

Figure 4.1: uniform linear array antenna

Chapter4 35
This can be thought of as beam-forming in reverse. In beam-forming, the
signal from each element is delayed by some weight (phase) to "focus" the
gain of the antenna array in specific direction. In AOA, the delay of arrival at
each element is measured directly and converted to an AOA measurement as
shown below
l
c  f . (4.1)
t

Where c=velocity of the incoming signal

d=distance between successive elements =dfactor.λ

l= phase difference distance = d.sin(θ)

f=frequency of the incoming signal

λ=wave length of the incoming signal

d .sin( ) dfactor .sin( )


t   (4.2)
f . f

By measuring the time (phase) difference between elements (∆t) we can


calculate the angle of arrival as the following

f .t
  sin 1 ( ) (4.3)
dfactor

In general, the goal of AOA estimation techniques is to define a function


that gives an indication of the angles of arrival based upon maxima vs. angle.
This function is traditionally called the pseudo spectrum PMU(θ). There are
several potential approaches to defining the pseudo spectrum via beam-
forming, the array correlation matrix, Eigen analysis, linear prediction,

Chapter4 36
minimum variance, maximum likelihood, MUSIC, root-MUSIC, and many
other approaches.

4.2 Methods of AOA estimation

There are two main types of estimation techniques:


1. Spectral-based.
2. Parametric.

Spectral based AOA

The spatial spectrum of the incident signals is computed and the local
maxima are used to find the angle of the incident wave fronts. Some of
the more popular spectral-based AOA estimator algorithms include
Bartlett, Capone, and MUSIC [2].

Parametric AOA

Knowledge about the underlying data model is used to statistically predict


the incident angle. Parametric algorithms tend to be more computationally
intense than spectral-based AOA, but yield higher accuracy. Some
popular parametric AOA estimation algorithms include the Maximum
Likelihood (ML) technique and ESPRIT [2].

4.3 Data Model

Figure 4.2: uniform linear array antenna RX model

Chapter4 37
As shown below in figure 4.2 suppose we have Uniform Linear Array
antenna [3] with

- number of elements “M”

- inter-element spacing “d=dfactor*λ”

- number of incident signals “D”

- number of data samples “k”

The incident signals from “D” users are represented in amplitude and
phase at some arbitrary reference point (origin of the coordinate system)
by the complex quantities S1, S2… SD also white Gaussian noise added to
the signals as vector (n). directions of the incident signals represented by
the steering vector a(θi) for ith user so we have matrix “A” its size MxD
the first column a(θ1) is the steering vector for the 1st user and so on,
where a(θ1) can be given as

1 
 jd . sin(1 ) 
 e 
a(1 )  e j 2  d . sin( 1 )  (4.4)
 
 ... 
 j ( M 1) d . sin(1 ) 
e 

Where β= incident wave number =2π/λ

d=inter-element spacing

Chapter4 38

 x1 (k )   S1 (k ) 
 x (k )   S (k ) 
 2      2  
  a (1 ) a ( 2 ).....a ( D )
(4.5)
. .   n (k )
     
.  . 

 x M (k )  S D (k )
   
    (4.6)
x (k )  A.S (k )  n (k )
X (k) = amplitude of signal + noise in ith element  matrix size [MxK]

S(k) = vector of incident signals at sample time k  matrix size [DxK]

n(k) = noise vector at each element m  matrix size [MxK]

A (θi) = M-element array steering vector  matrix size [Mx1]

A = matrix of steering vectors a (θi)  matrix size [MxD]

It is initially assumed that the arriving signals are monochromatic and the
number of arriving signals D < M. It is understood that the arriving signals
are time varying and thus our calculations are based upon time snapshots of
the incoming signal.

4.4 MUSIC Algorithm


MUSIC deals with the decomposition of correlation matrix into two
orthogonal matrices, signal-subspace and noise-subspace. Estimation of
AOA is performed from one of these subspaces, assuming that noise in each
channel is highly uncorrelated. This makes the correlation matrix diagonal.

The correlation matrix is given by:

Rxx= E[x.xH] = E[(As+n)(sHAH+nH)] (4.7)

Chapter4 39
=A E[s.sH] AH+E[n.nH] (4.8)

= A Rss AH+ Rnn (4.9)

H “Hermitian” means conjugate transpose

Where Rss=DxD source correlation matrix, Rnn=MxM noise correla-


tion matrix

The array correlation matrix has M eigen values (λ1, λ2…., λM) along
with M associated eigenvectors E = [e1 e2 …. eM].

If the Eigen values are sorted from largest to smallest, we can divide
the matrix E into two subspaces [EN ES], the first subspace EN is called the
noise subspace and is composed of M-D eigenvectors associated with the
noise, the second subspace ES is called the signal subspace and is composed
of D eigenvectors associated with the arriving signals. The noise subspace
is an M×(M- D) matrix. The signal subspace is an M× D matrix.

The noise subspace eigenvectors are orthogonal to the array steering


vectors at the angles of arrival θ1, θ2… ,θD .Because of this orthogonality
condition, one can show that the Euclidean distance d2 =a(θ)H EN ENH a(θ)=
0 for each and every arrival angle θ1, θ2… ,θD

Placing this distance expression in the denominator creates sharp peaks


at the angles of arrival. The MUSIC pseudo spectrum is now given as

 
a ( ) H .a ( )
PMU ( )   H   H 
(4.10)
a ( ) E N E N a ( )
So, we can summarize the previous steps to estimate AOA using
MUSIC as shown below in the flow chart figure 4.3
Chapter4 Antenna data 40
X1 XM

Correlation Matrix
Calculation
Rxx

Eigen
Decomposition
EN

MUSIC Spectrum
Calculations

PMU (θ)

Estimation of the
largest peaks

θ1 θD

Angles of Arrival

Figure 4.3: MUSIC implementation flow chart

4.5 Simulation

4.5.1 Implementation

We used MatLab software to implement the MUSIC algorithm (see


Appendix I), assuming we have the following data

Actual Signal type Angle SNR


Source #1 Sampled sine (1KHz) 20o 10 dB

Chapter4 41
Source #2 Sampled sine (2KHz) 40o 10 dB
Source #3 Sampled sine (3KHz) 60o 10 dB

Table 4.1: input data of incident signals

Fs=sampling frequency =10000 sample/sec.

k= number of data samples = 500

M= number of array elements =10

d=inter-element spacing=0.5 λ

Figure 4.4: MUSIC implementation

 Figure 4.4 shows estimated angles for the sources after implementation of
MUSIC

Chapter4 42
4.5.2 Comparison with other work
 To check the MUSIC code, which we used through our study, we cal-
culated in figure 4.6 the PMU for some previously published case (ref-
erence [2], figure 4.5). A good agreement is obviously noted.
 For two users at “+5o, -5o”, k=100, M=6, d=0.5 λ, we get the results
shown in fig.7

Figure 4.5: Results of ref. [2]

Figure 4.6: MUSIC spectrum comparison with other work

Chapter4 43
 As shown in figure 4.6 the estimated angles are +5o, -5o as was estimated
before in [2] figure 4.5

4.6 Performance Study


After investigation more than 100 trials of changing all parameters that
can affect the performance of MUSIC estimation, here we are discussing
different cases of the incident signals consider adjacent users “20o, 25o” and
also non adjacent users “50o”

4.6.1 MUSIC spectrum with changing number of array elements “M”


(See Appendix II)

Actual Signal type Angle SNR


Source #1 Sampled sine (1 MHz) 20o 10 dB
Source #2 Sampled sine (2 MHz) 25o 10 dB

Source #3 Sampled sine (3 MHz) 50o 10 dB

Table 4.2: input data of incident signals

Fs=sampling frequency =107 sample/sec.

k= number of data samples = 500

d=inter-element spacing=0.5 λ

Chapter4 44
Figure 4.7: MUSIC spectrum with changing “M”

 As shown in figure 4.7 we can extract the following results

Estimated M=6 M=10 M=15 M=20 M=30

Source #1 20.18o 20.00 o 19.96 o 20.01 o 20.00 o

Source #2 24.15 o 24.96 o 25.02 o 24.99 o 25.00 o

Source #3 50.11 o 49.98 o 49.96 o 50.01 o 50.01 o

Table 4.3: estimated angles with different “M”

Chapter4 45
Figure 4.8: detailed view of fig 4.7 at estimated angle “θ=25o”

1. As the number of array elements “M” increases, MUSIC spectrum peaks


become sharper (high accuracy & resolution).

2. Bad estimation is marked with (M<10) especially with sources #1, #2


(adjacent users).

3. The optimum value for number of array elements is “M>=15”

As shown below in figure 4.9 the error in estimated angle “θ=25o” versus
changing the value of M from 4 to 30 element, we can extract that there are
some specific values of M can be used to estimate the directions with high
accuracy and more elements you will use better accuracy you can get. But
this will cause high complexity in the system.

Chapter4 46
Figure 4.9: Error of estimation with changing “M”

4.6.2 MUSIC spectrum with changing Signal-to- Noise Ratio “SNR”

Actual Signal type Angle


Source #1 Sampled sine (1 MHz) 20o
Source #2 Sampled sine (2 MHz) 25o

Source #3 Sampled sine (3 MHz) 50o

Table 4.5: input data of incident signals

Fs=sampling frequency =107 sample/sec.

k= number of data samples = 500

d=inter-element spacing=0.5 λ

M=number of array element=10

Chapter4 47
Figure 4.10: MUSIC spectrum with changing “SNR”

Figure 4.11: detailed view of fig.4.10 at θ=20o, 25o

 As shown in figure 4.10, 4.11 it is clear that as the signal power received
is higher than noise power we can get high resolution.

Chapter4 48
 Bad estimation was marked when (SNR < =0dB).

 The optimum estimation can be achieved for received signals with (SNR
> =20dB).

4.6.3 MUSIC spectrum with changing number of data samples “k”

Actual Signal type Angle SNR


Source #1 Sampled sine (1 MHz) 20o 10 dB
Source #2 Sampled sine (2 MHz) 25o 10 dB

Source #3 Sampled sine (3 MHz) 50o 10 dB

Table 4.5: input data of incident signals

Fs=sampling frequency =107 sample/sec.

d=inter-element spacing=0.5 λ

M=number of array element=10

Chapter4 49
Figure 4.12: MUSIC spectrum with changing “k” at estimated angles θ=20o, 25o

 As shown in figure 4.12 larger number of data samples will be taken, better
quality will be met.

 The optimum value for number of data samples (k>=700).

4.6.4 MUSIC spectrum with changing inter-element spacing “d”

Inter-element spacing is an important factor in the design of an antenna


array.

 Increasing d means the grating lobes will appear which degrades the array
performances and results in wrong estimation.

 If the elements are spaced closely (decreasing d), the coupling effect will
be larger.

Chapter4 50
 Therefore, the elements have to be far enough to avoid mutual coupling and
the spacing has to be smaller to avoid grating lobes.

Actual Signal type Angle SNR


Source #1 Sampled sine (1 MHz) 20o 10 dB
Source #2 Sampled sine (2 MHz) 25o 10 dB

Source #3 Sampled sine (3 MHz) 50o 10 dB

Table 4.6: input data of incident signals

Fs=sampling frequency =107 sample/sec.

M=number of array element=10

k= number of data samples = 500

Figure 4.13: MUSIC spectrum with changing “d”

Chapter4 51
 As shown in figure 4.13 we are experiencing two challenges between
increasing “d” to enhance the estimation accuracy and decreasing “d” to
avoid the side lobes which will cause wrong estimation.
 So the optimum value of inter-element spacing using ULA antenna is
“d=0.55 λ”.
 We can summarize the performance study in the following points

Key
Required values Challenges
parameter

 It is preferred to increase number Increasing “M” will


of antenna elements that increase the size of
increases the resolution and so antenna especially the
detect multiple sources with high mobile handset and so
M
accuracy. high cost and bad design
 By increasing “M”, the antenna
beam focused more and more to
detect adjacent users.
 It is better to increase the Increasing “d” above
element spacing to get sharp 0.5λ will produce
D
peaks at estimated angles grating side lobes result
especially for adjacent users in wrong estimation
Noisy environment will
cause very bad
estimation especially for
Good signal environment will
adjacent users (SNR<0
SNR provide high “SNR” and so good
dB) The presence of
quality for estimation
added noise causes a
spreading effect on the
peaks
High increase of “K”
More data snapshots will be taken,
will increase the time
K better accuracy will be given
required for estimation
“K=1000”

Chapter4 52
 Another approach can be applied to overcome these challenges especially
presence of grating side lobes with increasing “d” also the antenna size
with increasing “M” this approach is the array weighting via non-uniform
linear array antennas that is known as Binomial array antenna.

4.7 Non uniform linear array Antenna


The array antenna discussed before was ULA antenna, means uniform
amplitude (unity) and uniform spacing (d is equal between elements), but
the binomial array antenna is another one with non uniform amplitudes
(weighting) and uniform spacing between elements as shown in figure 4.14
but theses amplitudes are selected in a binomial arrangement such that if we
have 4 elements binomial array antenna the array factor can be arranged as

1+3 x +3x2+ x3= (1+x)3

Figure 4.14: non uniform linear array antenna

For a uniformly weighted linear array, the largest side lobes are down
approximately 24 percent from the peak value [2]. So that approach is very

Chapter4 53
useful for our work because it will suppress the side lobes and provides sharp
narrow beams with little number of elements.
Figure 4.14 shows a symmetric linear array with an even number of elements
N=2M. The array is symmetrically weighted with weights [W1 …. WM] which
can be selected according to the number of elements N from table 4.7

Table 4.7: binomial array antenna weights

In general, we can extract the array steering vector as done before in chapter
2 with ULA antenna which can be given by

  j
 2 M 1 
 d .sin( ) 
 wM e  2  
 
 ...... 
  j  1  d .sin( ) 
w e  2

a ( )   1  (4.11)
1
  j  
2
 d . sin( ) 
 1w e 
... 
 
  j
 2 M 1 
  d . sin( ) 
 2 
 wM e 

Chapter4 54
Hence, AF   a( )

4.7.1 Comparison between ULA and Non-ULA

Actual Signal type Angle SNR


Source #1 Sampled sine (1 MHz) 20o 10 dB
Source #2 Sampled sine (2 MHz) 25o 10 dB

Source #3 Sampled sine (3 MHz) 50o 10 dB

Table 4.7: input data of incident signals

Fs=sampling frequency =107 sample/sec.

k= number of data samples = 1000

Antenna type ULA Non-ULA


Number of elements M =8 M =8
Spacing between
d=0.5λ d=0. 5λ
elements
Weights “amplitude” Unity 1 7 21 35 35 21 7 1

Table 4.8: Parameters used for comparison

Chapter4 55
Figure 4.15: MUSIC spectrum for ULA versus Non-ULA “M=8, d=0.5λ”

Figure 4.16: detailed view of fig 4.15 at the estimated angles

Chapter4 56
We can extract from figures 4.15, 4.16 the following results

a. When using Non-ULA antenna with the same electromagnetic


environment and same parameters, we found very clear sharp peaks
with high accuracy of detection.

b. Side lobe reduction is very clear using binomial array antenna from
figure 4.15 side lobes is -43 dB for ULA but about -65 dB for non-
ULA.

c. It is very useful in cases of nearly adjacent users.

Finally to overcome the challenges discussed before in ULA about number


of array elements and inter-element spacing, it is very effective to use non-
ULA (binomial array antennas) to achieve very high accuracy in detection
and later in beamforming.

4.8 GUI implementation


Graphical user interface is done using MatLab (see Appendix III) as
shown below in figure 4.18,

1- Ask for the incident angles that will be used for simulation (to
calculate array steering vectors that will represent the directions of
users).

2- The GUI code will process all data entered and implement the
MUSIC subroutine and finally plot the MUSIC spectrum (PMU
function).

Chapter4 57
Figure 4.17: MUSIC spectrum GUI implementation

Chapter4 58
Chapter

5
SMART ANTENNA BEAMFORMING
ALGORITHMS
5.1 Introduction
5.2 Digital Beamforming
5.3 Minimum Mean Square Error
5.4 Simulation
5.5 MMSE optimization

Chapter5 59
5.1 Introduction
In traditional array antennas, the main beam is steered to directions of
interest via phase shifters and this approach has been referred to as electronic
beam steering because of the attempt to change the phase of the current
directly at each antenna element, are also called phased arrays, beam steered
arrays, or scanned arrays[2].

Smart antennas are modern beam steered array antennas, where the
pattern is controlled via algorithms based upon certain criteria. These criteria
should guarantee maximizing the signal to interference ratio (SIR),
minimizing the variance, minimizing the mean square error (MSE), steering
toward a signal of interest, nulling the interfering signals, or tracking a moving
emitter. The implementation of these algorithms can be performed
electronically through analog devices but it is generally more easily
performed using digital signal processing.

Smart antennas are also called digital beamformed (DBF) arrays. The
term smart implies the use of digital signal processing in order to shape the
beam pattern that requires that the array outputs be digitized through the use
of an A/D converter. Since an antenna pattern (or beam) is formed by digital
signal processing, this process is often referred to as digital beam forming.

Figure 5.1 shows a traditional electronically steered array versus a DBF smart
antenna.

Chapter5 60
(a)

(b)

Figure 5.1 (a) Traditional analog Beamforming (b) Digital Beamforming

Chapter5 61
5.2 Digital Beamforming
Digital signal processing is used to steer the beam pattern towards the intended
user and can be classified to

5.2.1Fixed weight Beamforming

Apply to fixed arrival angle emitters, if the arrival angles don’t change with
time, the optimum array weights won’t need to be adjusted, the following
algorithms are used in fixed weight beamforming and some of it also can be
used in the adaptive beamforming

 Maximum signal-to-interference ratio

 Minimum mean-square error

 Maximum likelihood

 Minimum variance

5.2.2Adaptive Beamforming

If the desired arrival angles change with time, an optimization scheme


operates continuously to keep recalculating the optimum array weights
pattern according to the changing electromagnetic environment. The
algorithms can be used are MMSE (also called Least Mean Squares), sample
matrix inversion (SMI) and others

So, we can summarize above discussion about all types of beamforming as


shown below in figure 5.2

Chapter5 62
Figure 5.2: different types of Beamforming

5.3 Minimum Mean Square Error (MMSE)


In this algorithm, we optimize the array weights by minimizing the mean
square error. Data model is shown below in figure 5.3 the signal d(k) is the
reference signal. Preferably the reference signal is either identical to the
desired signal “say S1” or it is highly correlated with S1 and uncorrelated with
the interfering signals.

Chapter5 63
Figure 5.3: Mean Square Error adaptive system

Chapter5 64
The error signal ε(k) can be given by

 (k )  d (k )  w H x (k ) (5.1)

MSE is given by

 (k )  d (k )  2d (k )w H x (k )  w H x (k ) x (k ) H w
2 2
(5.2)

For simplification, we will suppress the time dependence notation k [2].


Taking the expected value of both sides and simplifying the expression we get

E[  ]  [ d ]  2w H r  w H RXX w
2 2
(5.3)

Where

r  E[d *.x ] (5.4)

RXX  E[ xx H ] (5.5)

The expression in equation (5.3) is a quadratic function of the weight vector


w. This function is sometimes called the performance surface or cost functions
and forms a quadratic surface. Since the optimum weights provide the
minimum MSE, the extremum is the minimum of this function.
We can find the minimum value by taking the gradient of the MSE with
respect to the weight vectors and equating it to zero.

 
w E[  ]  2RXX w  2r  0
2
(5.6)

1
wMSE  RXX r (5.7)

Chapter5 65
If the reference signal “d” is equal (highly correlated) to the desired signal
“s1” and “s1” is uncorrelated with all interferers, we can simplify “r” to the
following

r  E[ s1 .x ]  S1.a1
* (5.8)

S1  E[ s1 ]
2 (5.9)

a1=steering vector of the desired sinal “s1”

1
wMSE  S1RXX a1 (5.10)

5.4 Simulation
Assume ULA antenna is experienced to the three incident signals with data
given by table 5.1
Actual Signal type Angle SNR

Source #1 Sampled sine (1 MHz) 10o 10 dB

Source #2 Sampled sine (2 MHz) 30o 10 dB

Source #3 Sampled sine (3 MHz) 50o 10 dB

Table 5.1: input data of incident signals

Fs=sampling frequency =107 sample/sec.


k= number of data samples = 1000
d=inter-element spacing=0.5 λ
M=number of array element=10

Chapter5 66
5.4.1 Implementation

This simulation is implemented with MatLab code see (Appendix IV),


(assuming the desired signal is source #1 θ=10o) the measured weight
vector wMSE “matrix [Mx1]”is applied to the phase shifters and the array
factor of the antenna is plotted as shown below in figure 5.4 (a)

Where,

M
AF   e j ( m 1)( d sin( )  ) (5.11)
m 1

The phase shift between elements [ejδ] will be substituted by wMSE as the
following manner

1 
 j 
 e 
e j 2  w (5.12)
  MSE

... 
 j ( M 1) 
e 

As shown in figure 5.4 (b) the maximum value of normalized array factor is
at θ=9.3o so we need to optimize the key parameters of that algorithm to
achieve high accuracy and performance in Beamforming, that will be
discussed by the end of this chapter.

Chapter5 67
(a)

Chapter5 68
(b)

Figure 5.4: Implementation of MMSE Beamforming (a) Polar (b) Trend

5.4.2 Comparison with other work

We selected a certain case that was studied before in [2] to compare with,
where a ULA antenna of M=5, d=0.5λ has received signal with energy
S=1 arriving at θo=20o, and two interferers arriving at angles θ1= -20o,
θ2=40o.

 In [2], after implementation the array factor was plotted as shown


in figure 5.5

 The same case is implemented via my work (MatLab code


Appendix V) and the AF is plotted as shown in figure 5.6, which
appears a great analogy between the two works.

Chapter5 69
Figure 5.5: Results of ref. [2]

Figure 5.6: MMSE implementation comparison with ref. [2]

Chapter5 70
5.5 Optimization of MMSE by changing “M”
We concentrate in this part to optimize the system by changing the most
important key parameter that can affect, which is the number of array
elements “M” with taking the optimum values of other parameters as
mentioned before in AOA estimation “k=1000, SNR=10, d=0.5λ”

Figure 5.7: MMSE AF with changing “M”

You can extract from the results shown in figure 5.7,

 As M increases, the AF pattern becomes very sharp, thin and highly


directed toward the estimated angle.

Chapter5 71
Chapter

6
CONCLUSION

AND FUTURE WORK

6.1 Conclusion
6.2 Future work

Chapter6 72
6.1 Conclusion

In this research we discussed two main points about smart antennas to


finally introduce the optimum values for digital beamforming.

i. Angle of Arrival estimation algorithms

MUSIC algorithm which is the most robust and reliable estimation


technique for detections of users and specifying number of incident
signals, is applied on Uniform Linear Array antenna with number of
elements “M” and spacing “d” between elements.

After implementation of MUSIC algorithm using MatLab software


and changing the main key parameters that may affect the accuracy
of detection and resolution, we extracted the following results

 Increasing the number of array elements “M”, increase the


accuracy of detection and resolution as a result of focusing the
scanning beam with the increase of “M”.

 Optimum value is M>10, so we can start from M=15 depending


on the available antenna size and the frequency used.

 Inter-element spacing “d” between elements is critical factor as


increase “d” will generate grating (side) lobes that will produce
wrong estimation. In contrast, decreasing “d” introduces
coupling effect between elements. So after using deferent
values of d the results proved that the optimum value is
“d=0.5λ”.

Chapter6 73
 More data snapshots will be taken, high accuracy in detection
will be met. The optimum value “k=1000” also it is dependent
on the frequency of incident signal.

 Better electromagnetic environment will produce high SNR


which will help for accurate detection, hopefully “SNR>=10
dB”.

 Finally we tested the binomial array antenna as a way for array


weighting in non uniform linear array antennas which used for
side lobe reduction; the results said that it is better to use this
approach for detection with high accuracy and low number of
array elements.

The idea of MUSIC technique depends upon cross correlation


between noise and the incident signal from certain angles so the
correlation matrix between the total incident signals “signal + noise” at
the antenna elements will be divided to two subspaces (EN, ES) after
Eigen decomposition, such that when the noise subspace eigen vector
EN multiplied by the scanning array vector will produce zeros at the
angles of incident signals and so the reciprocal will give peaks at these
angles ,introducing the directions of incident angles and its number.

ii. Adaptive digital Beamforming

We mentioned in this research what is meant by the beamforming


in smart antenna and its role to automatically track the moving path of
user and specify dynamically the weights of phase shifters to send a thin
beam toward that user.

Chapter6 74
Types of digital Beamforming are discussed and we implemented
the MMSE adaptive Beamforming algorithm to calculate the weights in
away based upon minimizing the mean square error between the
reference signal and the array output, results approved on the algorithm
implementation, then we discussed the ability of enhancing the beam
pattern (main lobe direction and the beam width) by choosing different
values of “M” and found that increasing the number of array elements,
increase the accuracy of beamforming and also focusing the beam more
and more.

6.2 Future work


In future it will be very useful and excellent design to implement the
adaptive beamforming algorithm “Least Squares Constant Modulus” using
neural networks, which provides fast and robust estimation of weights via
the good training of neural networks.

Chapter6 75
REFERENCES

References 76
[1] Constantine. A. Balanis, “Antenna Theory Analysis and Design”, 3rd
Edition January 1992.

[2] Frank B. Gross, “Smart antennas for wireless communication - With


MATLAB” (McGraw-Hill - 2005).

[3] Schmidt, R., “Multiple Emitter Location and Signal Parameter


Estimation”, IEEE Transactions on Antenna. Propagation. Vol. AP-
34, No. 2, pp. 276–280, March 1986.

[4] Hubregt J. Visser, “Array and Phased Array Antenna Basics”, 2005

[5] Godara, L., “Application of Antenna Arrays to Mobile


Communications, Part II: Beamforming and Direction-of-Arrival
Considerations”, Proceedings of the IEEE, Vol. 85, No. 8, pp. 1195–
1245, Aug. 1997.

[6] Capon, J., “High-Resolution Frequency-Wave number Spectrum


Analysis”, Proceedings of the IEEE, Vol. 57, No. 8, pp. 1408–1418,
Aug. 1969.

[7] Johnson, D., “The Application of Spectral Estimation Methods to


Bearing Estimation Problems”, Proceedings of the IEEE, Vol. 70, No.
9, pp. 1018–1028, Sept. 1982.

References 77
[8] Van Trees, H., “Optimum Array Processing: Part IV of Detection,
Estimation, and Modulation Theory”, Wiley Interscience, New York,
2002.

[9] Stoica, P., and R. Moses, “Introduction to Spectral Analysis”, Prentice


Hall, New York,1997.

[10]T.S. Rappaport, “Wireless Communications, Principles and


Practice”. Englewood Cliffs, Prentice Hall, 1996.

[11] G.V.Tsoulous, “Smart antennas for mobile communication


systems: benefits and challenges”, IEE Electronic & Communication
Journal, vol. 11, no. 2, 1999.

[12] H. K. Hwang, Zekeriya Aliyazicioglu, Marshall Grice, Anatoly


Yakovlev, “Direction of Arrival Estimation using a Root-MUSIC
Algorithm”, Proceedings of the International Multi Conference of
Engineers and Computer Scientists 2008 Vol II.

[13] S. Ravishankar, H. V. Kumaraswamy “Comparative Analysis of


Direction of Arrival Estimation and Beamforming Techniques in
Smart Antennas”, Mobile, Ubiquitous & Pervasive Computing 2006,
Vellore Institute of Technology.

References 78
[14] S. Ravishankar, H. V. Kumaraswamy , “The Selection of Weighting
Functions For Linear Arrays Using Different Techniques”, National
Conference on Electronics and Communication 2007.

[15] K. A. Gotsis, E. G. Vaitsopoulos, K. Siakavara, and J. N. Sahalos,


“Multiple Signal Direction of Arrival (DoA) Estimation for a
Switched-Beam System Using Neural Networks”, PIERS
Proceedings, August 27-30, Prague, Czech Republic, 2007.

[16] Sean Winfree, “Angle of Arrival Estimation using Received Signal


Strength with Directional Antennas”, honor Thesis, the Ohio State
University 2007.

References 79
APPENDICES

Appendices 80
Appendix I:
MatLab M file “Implementation of MUSIC algorithm”

clear;
close all;
clc

th1=20; % user #1 direction


th2=40; % user #2 direction
th3=60; % user #3 direction
f1=1000; % frequency of user #1
f2=2000; % frequency of user #2
f3=3000; % frequency of user #3
fs=10000; % sampling frequency
p1=1; % user #1 signal power
p2=1; % user #2 signal power
p3=1; % user #3 signal power
K=500; % number of data samples
d=0.5; % inter-element spacing in lambda
M=10; % number of array elements

doas=[th1 th2 th3]*pi/180; %DOA’s of signals in rad.


P=[p1 p2 p3];
F=[f1 f2 f3];
r=length(doas);

%%%% steering vectors of different users %%%%%%%%%%%


for m=1:M
for th=1:r
A(m,th)=exp(+1i*2*pi*(m-1)*d*sin(doas(th)));
end
end

Appendices 81
%%%%%% Signal generation (sampled sine wave)%%%%%%%%%%%%
for i=1:r
for k=1:K
sig(i,k)=sin(2*pi*F(i)*(k/fs));
end
end

%%%%%%Noise generation (white Gaussian noise)%%%%%%%%%

noise=wgn(M,K,0.1,'real','linear'); %Uncorrelated noise

X=A*diag(sqrt(P))*sig+noise; %Generate data matrix

R=X*X'/K; %Spatial correlation matrix

[E ,D]=eig(R); %Compute eigen decomposition of correlation


matrix
[D,I]=sort(diag(D),1,'descend'); %Find r largest eigenval-
ues
E=E (:,I); %Sort the eigenvectors to put signal eigenvec-
tors first
Es=E (:,1:r); %Get the signal eigenvectors
En=E(:,r+1:M); %Get the noise eigenvectors

%%%%%%%%%%%%%% MUSIC algorithm %%%%%%%%%%%%%%


angles=(-90:0.01:90);
for m=1:M
for th=1:length(angles)
a(m,th)=exp(+1i*2*pi*(m-1)*d*sin(angles(th)*pi/180));
end
end

Appendices 82
for k=1:length(angles)
%Compute MUSIC “spectrum”
music_spectrum(k)=(a(:,k)'*a(:,k))/(a(:,k)'*En*En'*a(:,k));
end
%%%%%%Plotting the power spectrum function %%%%%%%%%%%%%%
music_spectrum=10*log10(abs(music_spectrum/max(music_spec-
trum)));

plot(angles,music_spectrum);

grid on
title('MUSIC Spectrum')
xlabel('Angle in degrees(\theta)')
ylabel('PMU(\theta) dB')

Appendices 83
Appendix II:
MatLab M file “MUSIC Spectrum versus changing number off array elements M”

clear;
close all;
clc

th1=20; % user #1 direction


th2=25; % user #2 direction
th3=50; % user #3 direction
f1=1000000; % frequency of user #1
f2=2000000; % frequency of user #2
f3=3000000; % frequency of user #3
fs=10000000; % sampling frequency
p1=1; % user #1 signal power
p2=1; % user #2 signal power
p3=1; % user #3 signal power
K=500; % number of data samples
d=0.5; % inter-element spacing in lambda

doas=[th1 th2 th3]*pi/180; %DOA’s of signals in rad.


P=[p1 p2 p3];
F=[f1 f2 f3];
r=length(doas);

for M=4:30

%%%%%%steering vectors of different users %%%%%%%%%%%%%


for m=1:M
for th=1:r
A(m,th)=exp(+1i*2*pi*(m-1)*d*sin(doas(th)));

Appendices 84
end
end

%%%%%%% Signal generation (sampled sine wave)%%%%%%%%%%%%

for i=1:r
for k=1:K
sig(i,k)=sin(2*pi*F(i)*(k/fs)*(pi/180));
end
end

%%%%%%% Noise generation (white gaussian noise)%%%%%%%%%%%%

noise=wgn(M,K,0.1,'real','linear'); %Uncorrelated noise

X=A*diag(sqrt(P))*sig+noise; %Generate data matrix

R=X*X'/K; %Spatial correlation matrix

[E ,D]=eig(R); %Compute eigen decomposition of correlation


matrix
[D,I]=sort(diag(D),1,'descend'); %Find r largest eigenval-
ues
E=E (:,I); %Sort the eigenvectors to put signal eigenvec-
tors first
Es=E (:,1:r); %Get the signal eigenvectors
En=E(:,r+1:M); %Get the noise eigenvectors

%%%%%%%%%%%%%% MUSIC algorithm %%%%%%%%%%%%%%

angles=(-90:0.01:90);
for m=1:M
Appendices 85
for th=1:length(angles)
a(m,th)=exp(+1i*2*pi*(m-1)*d*sin(angles(th)*pi/180));
end
end

for k=1:length(angles)
%Compute MUSIC “spectrum”
music_spectrum(k)=(a(:,k)'*a(:,k))/(a(:,k)'*En*En'*a(:,k));
end
z(M,:)=10*log10(music_spectrum/max(music_spectrum));
end

%%%% Plotting PMU function versus changing M %%%%%%%%%


hold on
plot(angles,z(6,:),'--r','LineWidth',2)
plot(angles,z(10,:),'--g','LineWidth',2)
plot(angles,z(15,:),'--b','LineWidth',2)
plot(angles,z(20,:),'--k','LineWidth',2)
plot(angles,z(30,:),'--c','LineWidth',2)

%%%%%%%%%%%%%% figure legend %%%%%%%%%%%%%%


hleg1 = legend('M=6','M=10','M=15','M=20','M=30');

grid on
title('MUSIC Spectrum')
xlabel('Angle in degrees(\theta)')
ylabel('PMU(\theta) dB')

Appendices 86
Appendix III:
MatLab M file “MUSIC Spectrum GUI implementation”

function varargout = MUSIC_gui(varargin)


% MUSIC_gui MATLAB code for MUSIC_gui.fig
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @MUSIC_gui_OpeningFcn, ...
'gui_OutputFcn', @MUSIC_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before MUSIC_gui is made visible.


function MUSIC_gui_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version
of MATLAB

Appendices 87
% handles structure with handles and user data (see
GUIDATA)
% varargin command line arguments to MUSIC_gui (see
VARARGIN)

% Choose default command line output for MUSIC_gui


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% UIWAIT makes MUSIC_gui wait for user response (see


UIRESUME)
% uiwait(handles.figure1);

% --- Outputs from this function are returned to the com-


mand line.
function varargout = MUSIC_gui_OutputFcn(hObject, event-
data, handles)
% varargout cell array for returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

function edit_angle1_Callback(hObject, eventdata, handles)


Appendices 88
% hObject handle to edit_angle1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
x1=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of edit_an-
gle1 as text
% str2double(get(hObject,'String')) returns contents
of edit_angle1 as a double

% --- Executes during object creation, after setting all


properties.
function edit_angle1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_angle1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_angle2_Callback(hObject, eventdata, handles)


% hObject handle to edit_angle2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
Appendices 89
% handles structure with handles and user data (see
GUIDATA)
x2=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of edit_an-
gle2 as text
% str2double(get(hObject,'String')) returns contents
of edit_angle2 as a double

% --- Executes during object creation, after setting all


properties.
function edit_angle2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_angle2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_angle3_Callback(hObject, eventdata, handles)


% hObject handle to edit_angle3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
Appendices 90
x3=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of edit_an-
gle3 as text
% str2double(get(hObject,'String')) returns contents
of edit_angle3 as a double

% --- Executes during object creation, after setting all


properties.
function edit_angle3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_angle3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_pwr1_Callback(hObject, eventdata, handles)


% hObject handle to edit_pwr1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
p1=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of
edit_pwr1 as text
Appendices 91
% str2double(get(hObject,'String')) returns contents
of edit_pwr1 as a double

% --- Executes during object creation, after setting all


properties.
function edit_pwr1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_pwr1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_pwr2_Callback(hObject, eventdata, handles)


% hObject handle to edit_pwr2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
p2=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of
edit_pwr2 as text
% str2double(get(hObject,'String')) returns contents
of edit_pwr2 as a double

Appendices 92
% --- Executes during object creation, after setting all
properties.
function edit_pwr2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_pwr2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_pwr3_Callback(hObject, eventdata, handles)


% hObject handle to edit_pwr3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
p3=str2double(get(hObject,'String'));
% Hints: get(hObject,'String') returns contents of
edit_pwr3 as text
% str2double(get(hObject,'String')) returns contents
of edit_pwr3 as a double

Appendices 93
% --- Executes during object creation, after setting all
properties.
function edit_pwr3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_pwr3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
axes(handles.axes1) % Select the proper axes
cla
axes(handles.axes2) % Select the proper axes
cla
th1=str2double(get(handles.edit_angle1,'String'));
th2=str2double(get(handles.edit_angle2,'String'));
th3=str2double(get(handles.edit_angle3,'String'));

Appendices 94
p1=str2double(get(handles.edit_pwr1,'String'));
p2=str2double(get(handles.edit_pwr2,'String'));
p3=str2double(get(handles.edit_pwr3,'String'));

d=str2double(get(handles.edit_d,'String'));
M=str2double(get(handles.edit_M,'String'));
noise_power=str2double(get(han-
dles.edit_noise_power,'String'));
K=str2double(get(handles.edit_K,'String'));
%noise_var=str2double(get(handles.edit_y3,'String'));

axes(handles.axes1) % Select the proper axes


grid on
axis([0 50 0 50 0 50]);
set(handles.axes1,'XMinorTick','on')
grid on
hold on

rho=40;
th1=th1*pi/180;
th2=th2*pi/180;
th3=th3*pi/180;

[x1,y1] = pol2cart(th1,rho);
[x2,y2] = pol2cart(th2,rho);
[x3,y3] = pol2cart(th3,rho);

plot(handles.axes1,x1,y1,'-.sg','LineWidth',1,'Mark-
erEdgeColor','g','MarkerFaceColor','g','MarkerSize',3);
plot(handles.axes1,x2,y2,'-.sr','LineWidth',1,'Mark-
erEdgeColor','r','MarkerFaceColor','r','MarkerSize',3);

Appendices 95
plot(handles.axes1,x3,y3,'-.sb','LineWidth',1,'Mark-
erEdgeColor','b','MarkerFaceColor','b','MarkerSize',3);

str1=[' theta1=',num2str(th1*180/pi),''];
str2=[' theta2=',num2str(th2*180/pi),''];
str3=[' theta3=',num2str(th3*180/pi),''];

line([0 x1],[0 y1],[50 0],'Marker','.','LineStyle','-


','Color','g','LineWidth',3);
line([0 x2],[0 y2],[50 0],'Marker','.','LineStyle','-
','Color','r','LineWidth',3);
line([0 x3],[0 y3],[50 0],'Marker','.','LineStyle','-
','Color','b','LineWidth',3);

text(x1,y1,str1,'FontSize',10,'Color','g');
text(x2,y2,str2,'FontSize',10,'Color','r');
text(x3,y3,str3,'FontSize',10,'Color','b');

f1=1000; % frequency of user #1


f2=2000; % frequency of user #2
f3=3000; % frequency of user #3
fs=100000; % sampling frequency

doas=[th1 th2 th3]; %DOA’s of signals in rad.


P=[p1 p2 p3];
F=[f1 f2 f3];
r=length(doas);

%%%%% steering vectors of different user %%%%%%%%%%%%%%%%%


for m=1:M
for th=1:r
Appendices 96
A(m,th)=exp(+1i*2*pi*(m-1)*d*sin(doas(th)));
end
end

%%%%% Signal generation (sampled sine wave)%%%%%%%%%%%%

for i=1:r
for k=1:K
sig(i,k)=sin(2*pi*F(i)*(k/fs));
end
end

%%%%% Noise generation (white gaussian noise)%%%%%%%%%%%%

noise=wgn(M,K,noise_power,'real','linear'); %Uncorrelated
noise

X=A*diag(sqrt(P))*sig+noise; %Generate data matrix

R=X*X'/K; %Spatial covariance matrix

[E ,D]=eig(R); %Compute eigen decomposition of covariance


matrix
[D,I]=sort(diag(D),1,'descend'); %Find r largest eigen val-
ues
E=E (:,I); %Sort the eigenvectors to put signal eigenvec-
tors first
Es=E (:,1:r); %Get the signal eigenvectors
En=E(:,r+1:M); %Get the noise eigenvectors
% MUSIC algorithm

angles=(-90:0.1:90);
Appendices 97
for m=1:M
for th=1:length(angles)
a(m,th)=exp(+1i*2*pi*(m-1)*d*sin(angles(th)*pi/180));
end
end

for k=1:length(angles)
%Compute MUSIC “spectrum”
music_spectrum(k)=(a(:,k)'*a(:,k))/(a(:,k)'*En*En'*a(:,k));

end
music_spectrum=10*log10(abs(music_spectrum/max(music_spec-
trum)));
axes(handles.axes2) % Select the proper axes

set(handles.axes2,'XMinorTick','on')
grid on
hold on

[Z,IX]=sort(music_spectrum,'descend');

plot(handles.axes2,angles,music_spectrum);

set(handles.estimated1, 'String', num2str(IX(1)*0.1-90));


set(handles.estimated2, 'String', num2str(IX(2)*0.1-90));
set(handles.estimated3, 'String', num2str(IX(3)*0.1-90));

title('MUSIC Spectrum')
xlabel('Angle in degrees(\theta)')
ylabel('PMU(\theta) dB')

Appendices 98
function edit_M_Callback(hObject, eventdata, handles)
% hObject handle to edit_M (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit_M


as text
% str2double(get(hObject,'String')) returns contents
of edit_M as a double

% --- Executes during object creation, after setting all


properties.
function edit_M_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_M (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_K_Callback(hObject, eventdata, handles)


% hObject handle to edit_K (see GCBO)
Appendices 99
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit_K


as text
% str2double(get(hObject,'String')) returns contents
of edit_K as a double

% --- Executes during object creation, after setting all


properties.
function edit_K_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_K (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_d_Callback(hObject, eventdata, handles)


% hObject handle to edit_d (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
Appendices 100
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit_d


as text
% str2double(get(hObject,'String')) returns contents
of edit_d as a double

% --- Executes during object creation, after setting all


properties.
function edit_d_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit_d (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit_noise_power_Callback(hObject, eventdata, han-


dles)
% hObject handle to edit_noise_power (see GCBO)

Appendices 101
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of


edit_noise_power as text
% str2double(get(hObject,'String')) returns contents
of edit_noise_power as a double

% --- Executes during object creation, after setting all


properties.
function edit_noise_power_CreateFcn(hObject, eventdata,
handles)
% hObject handle to edit_noise_power (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

Appendix IV:
MatLab M file “Implementation of MMSE”

Appendices 102
clear;
close all;
clc
grid on;

th1=20; % direction of user #1


th2=-20; % direction of user #2
th3=40; % direction of user #3
f1=1000000; % frequency of user #1
f2=2000000; % frequency of user #2
f3=3000000; % frequency of user #3
fs=10000000; % sampling frequency

p1=1; % power of user #1


p2=1; % power of user #2
p3=1; % power of user #3

K=1000; % number of data samples


d=0.5; % distance between successive array elements
M=20; % number of array elements

doas=[th1 th2 th3]*pi/180; %DOA’s of signals in rad.


P=[p1 p2 p3];
F=[f1 f2 f3];
r=length(doas);
%%%%% steering vectors of different userr %%%%%%%%%%%%%%%%%
for m=1:M
for th=1:r
A(m,th)=exp(+1i*2*pi*(m-1)*d*sin(doas(th)));
end
end

Appendices 103
%%%%% Signal generation (sampled sine wave)%%%%%%%%%%%%

for i=1:r
for k=1:K
sig(i,k)=sin(2*pi*F(i)*(k/fs));
end
end

%%%%% Noise generation (white gaussian noise)%%%%%%%%%%%%


noise=wgn(M,K,0.1,'real'); %Uncorrelated noise

%%%%%%%%%%%%%% Generate data matrix %%%%%%%%%%%%


X=A*diag(sqrt(P))*sig+noise;

%%%%%%%%%%%%%% Spatial Correlation matrix %%%%%%%%%%%%


R=X*X'/K;
%%%%%%%%%%%%%% Weight vector Calculation (phase shift be-
tween elements) %%%%%%%%%%%%%%
W_MSE=inv(R)*A(:,1);

%%%%%%%%%%%%%%%% plot Antenna Array Factor with the meas-


ured weights %%%%%%%%%%%%%%%%
Theta=-90:0.1:90;
Theta1=Theta*pi/180;

for i=1:M
for k=1:length(Theta1)
m=i-1;
y(i,k)=exp(-m*1i*2*pi*d*sin(Theta1(k)))*W_MSE(i);

end
Appendices 104
end

q=sum(y);
q=q/max(q);

polar(Theta1,abs(q));

grid on
title('MMSE Adaptive Beamforming')
xlabel('Angle in degrees(\theta)')
ylabel('AF(\theta)')
hold on

Appendices 105
Appendix V:
MatLab M file “Implementation of MMSE applying same case studied in [2]”

clear;
close all;
clc
grid on;

th1=20; % direction of user #1


th2=-20; % direction of user #2
th3=40; % direction of user #3
f1=1000000; % frequency of user #1
f2=2000000; % frequency of user #2
f3=3000000; % frequency of user #3
fs=10000000; % sampling frequency

p1=1; % power of user #1


p2=1; % power of user #2
p3=1; % power of user #3

K=1000; % number of data samples


d=0.5; % distance between successive array elements
M=5; % number of array elements

doas=[th1 th2 th3]*pi/180; %DOA’s of signals in rad.


P=[p1 p2 p3];
F=[f1 f2 f3];
r=length(doas);

%%%%% steering vectors of different userr %%%%%%%%%%%%%%%%%


for m=1:M
for th=1:r

Appendices 106
A(m,th)=exp(+1i*2*pi*(m-1)*d*sin(doas(th)));
end
end

%%%%% Signal generation (sampled sine wave)%%%%%%%%%%%%

for i=1:r
for k=1:K
sig(i,k)=sin(2*pi*F(i)*(k/fs));
end
end

%%%%% Noise generation (white gaussian noise)%%%%%%%%%%%%


noise=wgn(M,K,0.1,'real'); %Uncorrelated noise
%%%%%%%%%%%%%% Generate data matrix %%%%%%%%%%%%
X=A*diag(sqrt(P))*sig+noise;
%%%%%%%%%%%%%% Spatial Correlation matrix %%%%%%%%%%%%
R=X*X'/K;
%%%%%%%%%%%%%% Weight vector Calculation (phase shift be-
tween elements)%%%%%%%%%%%%%%
W_MSE=inv(R)*A(:,1);

%%%%%%%%%%%%%%%% plot Antenna Array Factor with the meas-


ured weights %%%%%%%%%%%%%%%%
Theta=-90:0.1:90;
Theta1=Theta*pi/180;

for i=1:M
for k=1:length(Theta1)
m=i-1;
y(i,k)=exp(-m*1i*2*pi*d*sin(Theta1(k)))*W_MSE(i);

Appendices 107
end
end

q=sum(y);
q=q/max(q);

grid on
title('MMSE Adaptive Beamforming')
xlabel('Angle in degrees(\theta)')
ylabel('AF(\theta)')
hold on

Appendices 108

View publication stats

You might also like