Direction Finding Using 3d Array Geometry

106
DIRECTION FINDING USING 3D ARRAY GEOMETRY BACHELOR OF ENGINEERING Electronics and Communication Engineering By MOHAMMED ISMAIL 04-07-4044 MOHAMMED LAEEQ AKBAR 04-07-4042 SYED MOHAMMED MEHDI 04-07-4056 Department of Electronics and Communication Engineering

Transcript of Direction Finding Using 3d Array Geometry

Page 1: Direction Finding Using 3d Array Geometry

DIRECTION FINDING USING 3D ARRAY GEOMETRY

BACHELOR OF ENGINEERINGElectronics and Communication Engineering

By

MOHAMMED ISMAIL 04-07-4044MOHAMMED LAEEQ AKBAR 04-07-4042SYED MOHAMMED MEHDI 04-07-4056

Department of Electronics and Communication Engineering

Muffakham Jah College of Engineering and Technology(Affliated to Osmania University)

Banjarahills Hyderabad2009-2010

Page 2: Direction Finding Using 3d Array Geometry

DIRECTION FINDING USING 3-D ARRAY GEOMETRY

A project submitted in partial fulfillment of the requirement of the degree of

BACHELOR OF ENGINEERINGof the

Osmania UniversityHyderabad, Andhra Pradesh

ByMOHAMMED ISMAIL 04-07-4044MOHAMMED LAEEQ AKBAR 04-07-4042SYED MOHAMMED MEHDI 04-07-4056

Muffakham Jah College ofEngineering and Technology

Department of Electronics & Communication Engineering

MUFFAKHAM JAH COLLEGE OF ENGINEERING & TECHNOLOGYMount Pleasant, 8-2-249, Road No.3, Banjarahills,

Hyderabad - 500 035, Andhra Pradesh, India.2009-2010

Page 3: Direction Finding Using 3d Array Geometry

Department of Electronics and Communication Engineering

Certificate

This is to certify that

Mohammed Ismail 04-07-4044Mohammed Laeeq Akbar 04-07-4042Syed Mohammed Mehdi 04-07-4056

Belonging to B.E. ECE 4/4 of Muffakham Jah College of Engineering and Technology, has successfully completed their project work entitled during the academic year 2009-2010 for the partial fulfillment of award of bachelor of engineering in the field of ECE as presented by Osmania University, Hyd.This is a bonafide record of the work carried under our guidance and supervision.

Dr. KALEEM FATIMA Mrs. AYESHA NAAZ

H.O.D.ECE Associate Professor MJCET, ECED

PROJECT GUIDE

ACKNOWLEDGEMENT

Firstly, we would like to express our deepest sense of gratitude to Associate Professor

Mrs Ayesha Naaz for giving us the opportunity to work on this project. She was always there

Page 4: Direction Finding Using 3d Array Geometry

to provide the insightful thinking needed for completion of the Project. She has been a

constant source of inspiration and guidance. We are also greatly indebted to MJCET ECED

for allowing us to complete our project in the labs. It has really been an enriching experience

for us. We would like to thank Mrs Ayesha Naaz for the innumerable discussions we had

with her during course of project.

We would also like to thank Dr Kaleem Fatima and Dr C. Rangaiah for their constant

support and help, without the help form them our project would have taken us much longer

than the final four months from start to finish. We are also indebted to the lab incharge Mr

M.A. Majeed Zubair sir for his constant cooperation and help he has provided.

We would once again like to thank Mrs Ayesha Naaz as she is not only expert in

signal processing, but also gave us engineering insight into the detailed engineering level of

our design. The really cool thing is that we took the basic data of ULA and continued it up to

the final 3D geometry and it matched up. This is some of the stuff engineers dream of. Mrs

Ayesha Naaz, as far as we are concerned, is the best signal processing engineer we have

worked with. we would recommend her to anyone.

Thanks are also due to our Lab mates for making our stay there a memorable one.

They were real fun to work with.

Finally I offer my heartiest gratitude to my family members for their selfless

blessings.

With sincere regards,

Mohammed Ismail

Mohammed Akbar

Syed Mohammed Mehdi

CONTENTSAbstract i

List of figures ii

List of Symbols iii

List of abbreviation iv

1. Introduction 1

2. Direction of Arrival Estimation Algorithm

Page 5: Direction Finding Using 3d Array Geometry

2.1 Introduction 3

2.2 Classification Of Methods Of DOA Estimation 4

2.3 MUSIC: MUltiple SIgnal Classification 5

2.3.1 Principle 5

2.3.2 DOA Data Model 5

2.3.3 Characteristics of MUSIC Algorithm 10

2.4 Music Algorithm Flow Chart 12

2.4.1 for Coherent Sources 12

2.4.2 for Non Coherent Sources 13

3. MUSIC Implementation on Uniform Linear Array

3.1 Introduction 14

3.2 Geometrical Representation of ULA 14

3.3 Assumptions 15

3.4 Azimuth and Elevation Angle 16

3.5 Steering Vector 17

3.5.1 Steering Vector for Uniform Linear Array 17

3.6 Music Algorithm Implementation 18

3.6.1 Data Generation 18

3.6.2 The S Matrix 19

3.7 Drawbacks of Uniform Linear Array 21

3.7.1 East West Ambiguity 21

3.7.2 North South Ambiguity 22

4. MUSIC Implementation on 2 D Sensor Array System 23

4.1 Introduction 23

4.2 Geometrical Representation 23

4.3 Uniform Circular Array 24

4.4 Data Generation for Uniform Circular Array 26

4.5 Steering Vector 27

4.5.1 Steering Vector for Square Array 27

4.5.2 Steering Vector for Triangular Array 28

4.5.3 Steering Vector for Uniform Circular Array 29

4.6 Properties of 2 Dimensional Sensor Array System 30

Page 6: Direction Finding Using 3d Array Geometry

4.6.1 East West Ambiguity 30

4.6.2 Inter Sensor Spacing 30

4.7 Drawbacks of 2 Dimensional Sensor Array System 30

5. MUSIC Implementation on 3 D Sensor Array System 31

5.1 Introduction 31

5.2 Geometrical Representation 31

5.3 Cubical Array Geometry 32

5.4 Data Generation for Cubical Array 33

5.5 Steering vector 34

5.5.1 Steering Vector for Cubical Array Geometry 34

5.5.2 Steering Vector for Pyramidal Array Geometry 35

5.5.3 Steering Vector for Tetrahedral Array Geometry 36

5.6 Properties of 3 Dimensional Sensor Array System 37

5.6.1 East West Ambiguity 37

5.6.2 North South Ambiguity 38

6. Matlab 6.1 Introduction 39

6.2 Matlab Windows 40

6.3 M-files 40

6.4 Matlab Commands 41

6.4.1 General-Purpose Commands 41

6.4.2 Managing the Workspace 41

6.4.3 Elementary Math Functions 41

6.4.4 Rounding and Remainder 42

6.4.5 Commands Useful in Plotting 43

6.4.6 Data Analysis Commands 43

6.4.7 Matrices Commands 44

6.4.8 SVD - Singular Value Decomposition 44

6.4.9 Operators 45

6.4.10 Loops 46

Page 7: Direction Finding Using 3d Array Geometry

7. Simulation Results

7.1 Simulation Results And Comparisons 48

7.2 Simulation Results for Uniform Linear array 50

7.3 Simulation Results for Uniform Circular array 51

7.4 Simulation Results for Uniform Triangular array 53

7.5 Simulation Results for Uniform Square array 55

7.6 Simulation Results for Cubical Array Geometry 57

7.7 Simulation Results for Pyramidal Array Geometry 59

7.8 Simulation Results for Tetrahedral Array 61

8. Conclusions and Future Scope

8.1 Conclusions 63

8.2 Future Scope 63

9. Refrences 64

APPENDIX

Programs 65

ABSTRACT

Direction finding denotes the direction from which usually a propagating wave

arrives at a point, where usually a set of sensors are located. Direction finding cannot be

implemented using a single sensor. To accomplish this task we need an array of sensors. The

processing of signal received by an array of sensors is known as array signal processing

Array signal processing deals with the processing of signals received by an array of

sensors placed at different points in a field of interest which may be an electromagnetic field.

A sensor array is used to measure the wave field and extract information about the sources,

the medium and the properties of the sources. It has varied fields of applications, such as

Tomography, Seismology, Sonar, Radar communication, Medical diagnosis etc.

Page 8: Direction Finding Using 3d Array Geometry

MUSIC algorithm is used to estimate the number and directions of arrival (DOA) of

the sources. The algorithm uses the orthogonal property for the estimation of direction of

arrival. It performs the Eigen value decomposition of the sample covariance matrix of

received signal at array of sensors.

MUSIC is implemented on 1 D and 2 D array geometries such as triangle, square,

circle. Finally the 3 D array geometry such as cube, tetrahedron and pyramid is used instead

of 1 D and 2 D array geometries to overcome the ambiguities encountered in 1 D and 2 D

array geometries.

List of Figures

Figure 2.1 Antenna array and DOA estimation algorithm 3

Figure 2.2 Some of the several spectral estimation techniques. 4

Figure 2.3 Antenna array 6

Figure 2.4 Applying MUSIC algorithm on antenna array signals 10

Figure 3.1 Uniform linear array 15

Figure 3.2 Azimuth and elevation angles 16

Figure 3.3 North south ambiguity 21

Figure 3.4 East west ambiguity 22

Figure 4.1 Planar array 24

Figure 4.2 Uniform circular array 25

Figure 4.3 Uniform square array with four elements 27

Figure 4.4 Triangular array with three elements 28

Figure 4.5 Uniform circular array with six elements 29

Figure 5.1 Uniform circular array with six elements 32

Figure 5.2 Cubical array with eight elements 35

Figure 5.3 Pyramid array with 5 elements 36

Page 9: Direction Finding Using 3d Array Geometry

Figure 5.4 Tetrahedron array with 4 elements 37

Figure 7.1 Simulation result for uniform linear array 50

Figure 7.2 Simulation result for uniform circular array 51

Figure 7.3 Simulation result for uniform circular array showing ambiguity 52

Figure 7.4 Simulation result for uniform triangular array 53

Figure 7.5 Simulation result for uniform square array 55

Figure 7.6 Simulation result for cubical array geometry 57

Figure 7.7 Simulation result for pyramidal array array 59

Figure 7.8 Simulation result for tetrahedral array geometry 61

List of Abbreviation

DOA Direction Of Arrival

MUSIC MUlti SIgnal Classification

SNR Signal to Noise Ratio

ULA Uniform Linear Array

UCA Uniform Circular Array

GUI Graphical User Interface

SVD Singular Value Decomposition

List of Symbols

D Distance between sensors

Azimuth angle

Wavelength

W White additive noise

r(t) Received signal at array element

s(t) Source signal

n(t) Random noise

A Steering vector

R Covariance Matrix of received signal

Page 10: Direction Finding Using 3d Array Geometry

Hermit transform

Variance of additive noise

M Number of sensors

D Number of source signals

N Number of snapshots

Signal Subspace

Noise Subspace

Music Spectrum

Φ elevation angle

CHAPTER 1

INTRODUCTION

Array signal processing is a part of signal processing that uses sensors that are

organized in patterns, or arrays, to detect signals and to determine information about them.

An array of sensors is used to receive a propagating wave field with the following objectives:

1) To localize a source.

2) To receive a message from a distant source.

3) To image a medium through which the wave field is propagating.

An array of sensors is often used in many diverse fields of science and engineering,

particularly where the goal is study the propagating wave fields. Various fields of application

of array signal processing are tomography, seismology, sonar, radar, communication, medical

diagnosis etc.

The most common application of array signal processing involve estimating direction of

arrival (DOA), which our project investigates In signal processing, direction of arrival

denotes the direction from which usually a propagating wave arrives at a point, where usually

a set of sensors are located.

We aim merely to demonstrate the potential that array geometries have in estimating

direction of arrival(DOA).

Page 11: Direction Finding Using 3d Array Geometry

There are various DOA estimation algorithm available of which we are using MUSIC

algorithm. MUSIC is used to describe the experimental and theoretical techniques involved in

the determining the parameters of multiple wave fronts arriving at an sensor array from

measurements made on the signals received at the array. MUSIC algorithm uses the

orthogonal relation between signal subspace and noise subspace for estimating the direction

of arrival of the signal. MUSIC performs the Eigen-decomposition of the covariance matrix

of received signal at the sensor array .

There are basically three types of array geometries that is one dimensional, two

dimensional and three dimensional. Our project uses a simple but fundamental design. We

created a eight element uniform linear array, or (ULA), four element square, three element

triangle, six element circle in order to determine the direction of the source. Because the

ULA is one dimensional and square, triangle, circle are two dimensional there is a surface of

ambiguity on which it is unable to determine information about signals. For example, it

suffers from 'front-back ambiguity,' meaning that signals incident from 'mirror locations' at

equal angles on the front and back sides of the array are undistinguishable.

The limitations of the ULA and two dimensional arrays create problems for locating

acoustic sources with much accuracy. The array's design is highly extensible, however, and it

is an important building block for more complex three dimensional arrays such as a pyramid,

cube, cylinder, cone which uses multiple linear arrays, or more exotic shapes such as circle.

Therefore we created four element tetrahedron, five element pyramid and eight element cube

and applied MUSIC algorithm for DOA estimation.

The result of using three dimensional array system are

1. The north-south ambiguity is removed.

2. The east-west ambiguity is removed.

3. Coverage up to 360 degrees

4. Increased precision.

Page 12: Direction Finding Using 3d Array Geometry

CHAPTER 2

Direction of Arrival Estimation Algorithm

2.1 Introduction

We know that there is a one-to-one relationship between the direction of a signal and

the associated received steering vector. It should therefore be possible to invert the

relationship and estimate the direction of a signal from the received signals. An antenna array

therefore should be able to provide for direction of arrival estimation.

Fig 2.1: Antenna array and DOA estimation algorithm

In practice, the estimation is made difficult by the fact that there are usually an

unknown number of signals impinging on the array simultaneously, each from unknown

directions and with unknown amplitudes. Also, the received signals are always corrupted by

noise. Nevertheless, there are several methods to estimate the number of signals and their

directions. Figure 2 shows some of these several spectral estimation techniques.

2.2 CLASSIFICATION OF METHODS OF DOA ESTIMATION

Page 13: Direction Finding Using 3d Array Geometry

Figure 2.2: Some of the several spectral estimation techniques

Most of the antenna array direction of arrival(DOA) estimation methods are based on

the sub-space concept and require the Eigen-decomposition of the input correlation matrix.

State-space method, MUSIC, and ESPRIT are examples of these techniques. Based on the

Eigen- decomposition of covariance matrix of the array output, they offer high resolution and

Page 14: Direction Finding Using 3d Array Geometry

give accurate estimates. In this work, Music algorithm for direction of arrival estimation

(DOA) is proposed. Of all techniques shown in Fig. 2, MUSIC is probably the most popular

technique

2.3 MUSIC: MUltiple SIgnal Classification

2.3.1 Principle

MUSIC, as are many DOA estimation methods are based on the sub-space concept

and require the Eigen-decomposition of the input correlation matrix.

These methods rely on the following properties of the array correlation matrix:

1. The space spanned by its eigenvectors may be partitioned in two subspaces, namely

the signal subspace and the noise subspace.

2. The steering vectors corresponding to the directional sources are orthogonal to the

noise subspace. As the noise subspace is orthogonal to the signal subspace, these

steering vectors are contained in the signal subspace. Hence multiplication of steering

vector with noise subspace results in minimum value.

2.3.2 DOA Data Model

If there are D signals incident onto the the array the received input data vector at an M

element array can be expressed as a linear combination of the D incident waveforms and

noises.

Page 15: Direction Finding Using 3d Array Geometry

Fig 2.3: Antenna array

If r(t) is the array element received signal, s(t) is the source signal, n(t) is additive noise,

the first array element is taken as reference array element, then the kth array element

received signal is

(t) = + (t) (2.1)

where, i = 1,2, ... M , the vector form is as follows:

r(t) = A s(t) + n(t) (2.2)

r(t) = (2.3)

where:

A is the matrix of steering vectors

A = (2.4)

and

s(t)= is the signal vector (2.5)

Page 16: Direction Finding Using 3d Array Geometry

n(t) = is a noise vector with components

of variance .

The received vectors and the steering vectors can be visualized as vectors in an M

dimensional vector space.

It is assumed that the signals are uncorrelated zero-mean random processes that are

independent of the additive sensor noises, which are assumed to be zero-mean stationary

random processes independent from sensor to sensor. Then the covariance matrix of the array

signal vector will be

R = E[ r(t) (2.6)

R = A S (2.7)

where R is the signal covariance matrix

I is an identity matrix

denotes conjugate transpose

S denotes the Covariance matrix of the source signals

S = E[ s(t) (2.8)

and is the variance of the additive noise.

MUSIC requires S be nonsingular, though even that assumption can be relaxed for certain

geometries especially the linear uniform array.

Let and denote the eigenvalues of R and A S

respectively. From the structure of given by (2.7), these two sets of eigenvalues are

related by

(2.9)

Page 17: Direction Finding Using 3d Array Geometry

Assuming that the matrix A is of full column rank, which is generically the case, it follows

that the rank of A S is D, implying that the M - D smallest eigenvalues of A S

are equal to zero. Thus

= 0 (2.10)

or, equivalently, the smallest eigen value of R is equal to with multiplicity M – D, i.e.,

= (2.11)

The Eigen values are known as the signal eigenvalues and as the

noise eigen values.

Let denote the eigenvectors of R correspondingly to .

Form matrices and as

= [ (2.12)

= [ (2.13)

are known as the signal eigenvectors.

are known as the noise eigenvectors.

is known as the signal subspace.

is known as the noise subspace.

By searching through all possible array steering vectors to find those which are

orthogonal to the space spanned by the noise Eigen vectors the DOAs

can be determined.

Then = 0 for corresponding to the DOA of incoming signal. In

practice, a( will not be precisely orthogonal to the noise subspace due to errors in

estimating . However the function

Page 18: Direction Finding Using 3d Array Geometry

(2.14)

Where is conjugate transpose of

is conjugate transpose of

Will assume a very large value when is equal to the DOA of one of the signals. The

above function is known as the multiple signal classification (MUSIC) “spectrum”. The

MUSIC algorithm, proposed by Schimdt, first estimates a basis for the noise subspace

and then determines peaks; the associated angles provide the DOA estimates.

Page 19: Direction Finding Using 3d Array Geometry

Figure 2.4 Applying MUSIC algorithm on antenna array signals. is the angle of arrival and there are M elements in the array.

2.3.3 Characteristics of MUSIC algorithm

1. The algorithm has good performance and can be used with a variety of array geometries.

2. The algorithm requires the knowledge of sensor element characteristics.

3. It can be used to estimate multiple parameters (Azimuth, Elevation, range etc.,) per source.

4. The performance of this algorithm improves when SNR and / or the number of snapshots

(i.e., the total information content) is increased above a particular threshold.

5. This algorithm encounters difficulties in presence of fully correlated sources (i.e., Multi path

propagation) and is computationally expensive because it involves a search over the function

for the peaks. Spatial smoothing can be introduced to overcome this problem. In fact,

spatial smoothing is essential in a multipath propagation environment . To perform spatial

smoothing, the array must be divided up into smaller, possibly overlapping subarrays and the

spatial covariance matrix of each subarray is averaged to form a single, spatially smoothed

covariance matrix. The MUSIC algorithm is then applied on the spatially smoothed matrix.

Page 20: Direction Finding Using 3d Array Geometry

2.4 MUSIC Algorithm flow chart

2.4.1 For Coherent Sources

Page 21: Direction Finding Using 3d Array Geometry

2.4.2 For Non Coherent Sources

Page 22: Direction Finding Using 3d Array Geometry

CHAPTER 3

MUSIC implementation on Uniform Linear Array

3.1 Introduction

Page 23: Direction Finding Using 3d Array Geometry

Array of sensors is sensors that are organized in various geometries or pattern to

detect the source signal and determine the direction of arrival(DOA) of source signal.

There are basically three types of array geometries

1) One dimensional array (Uniform Linear array)

2) Two dimensional array (square, triangle, circle etc)

3) Three dimensional array (tetrahedron, pyramid, cube etc)

In this chapter we shall study the basic structure of a sensor array system that is

uniform linear array(ULA) and in the sequel learn how direction of arrival(DOA) is estimated

by MUSIC algorithm on Uniform Linear array. Finally, some drawbacks of Uniform Linear

array are pointed out.

3.2Geometrical representation of ULA

One of the most commonly used array geometries is uniform linear array (ULA).

Many practical sensor array systems can be studied in terms of basic ULA systems. The

sensor elements are placed in the horizontal plane with equal spacing between them as shown

in the figure 3.1.

A plane wave front having temporal waveform is incident on a uniform linear array of

sensors at an angle θ. This angle of incidence is known as direction of arrival (DOA). The

DOA θ is always measured with respect to the normal to the array aperture and another

related quantity elevation φ measured with respect to X-axis is independent of array

orientation is assumed to be in the array plane.

Page 24: Direction Finding Using 3d Array Geometry

Figure 3.1 uniform linear array

3.3 Assumptions

There are some assumptions that are to be considered

1. The signals emitted from the sources are narrow band random process all with the same

frequency and stationary stochastic signal s (t).

2. The D radiating sources are located in far fields of the array. This enables us to model the

waves impinging on the array as plane waves.

3. The array and the sources are confined to a plane. This enables us to associate each

source with a single angle θ for the kth source, thus the direction of arrival of plane waves

with respect to some reference point.

4. All the sensors are identical and are all omni-directional with gain of 1.

5. The medium through which the wave propagates is assumed to be homogenous.

3.4 Azimuth and Elevation Angle

Page 25: Direction Finding Using 3d Array Geometry

An azimuth is an angular measurement in a spherical coordinate system. The vector

from an observer (origin) to a point of interest is projected perpendicularly onto a reference

plane; the angle between the projected vector and the reference vector on the reference plane

is called the azimuth.

An example of an azimuth is the measurement of the position of a star in the sky is

shown in figure 3.2. The star is the point of interest, the reference plane is the horizon or the

surface of the sea, and the reference vector points to the north. The azimuth is the angle

between the north point and the perpendicular projection of the star down onto the horizon.

Azimuth is usually measured in degrees (°). The concept is used in many practical

applications including navigation, astronomy, mapping, mining and artillery.

Angle of elevation is the angle between the horizontal and the line of sight to an

object above the horizontal.

Figure 3.2 azimuth and elevation angle

3.5 Steering vector

A steering vector represents the set of phase delays a plane wave experiences,

evaluated at a set of array elements (antennas). The phases are specified with respect to an

arbitrary origin.

Page 26: Direction Finding Using 3d Array Geometry

For instance, suppose a plane wave is described by a wave vector k. If there are N elements in

an antenna array, with element i having location given by

Then the steering vector is an Nx1 complex vector representing the relative phases at each

antenna, and is given by

The steering vector is written as a(θ) to make explicit that it depends on the frequency and

propagation direction (which determine θ) of the plane wave.

3.5.1 Steering vector for uniform linear array

3.6 Music algorithm implementation

First we assume that the signal arrival angles are known and the data vector is

generated. A snapshot is a vector representing the outputs of all the sensors taken at the same

instant t. let

r(t) =

Page 27: Direction Finding Using 3d Array Geometry

where (t), (t),…………………………………… (t) stands for the sensor output at

time t.

Now for uniform Linear array with omnidirectional sensors, the directional vector is given as

a( =

where d denotes the sensor spacing and c is the velocity of propagation

Then received signal r(t) at the array sensors is given as

r(t) = A*S + n(t)

whereA is the matrix of steering vectors

A =

s(t) = is the signal vector

n(t) = is a noise vector with components

of variance .

The covariance matrix is calculated is the expectation of the data vector obtained from

the output of sensors.

R = E[r(t).

Then the signal subspace and noise subspace is separated.

The plot of the gives the signal arrival angle and elevation. The plot is in the

3-dimensional graphical representation, which shows the peaks at the respective signal

direction of arrival.

3.7 Drawbacks of uniform linear array

a) North south ambiguity

Page 28: Direction Finding Using 3d Array Geometry

b) East west ambiguity

c) When there are coherent signals present in the array subspace then the MUSIC

algorithm fails to determine the number of arrivals.

d) All the sensor elements are assumed as identical but they elements of same property

are not available.

3.7.1 East west ambiguity

The steering vector which satisfies the following properties are a*(θ) = a(-θ), implies that

wave front coming from east and another coming symmetrically opposite from the west can

be distinguished only if the signal is complex.

Figure 3.3 east west ambiguity

Two different signals coming from symmetrically opposite directions east and west

cannot be distinguished. Figure 3.2 shows two signals coming at directions θ and π-θ. Under

this condition simulated result gives the magnitude of any one signal at both the angles θ and

π-θ.

In east west ambiguity the simulated result repeats after 90 degrees. If a signal is incident on

the array at an angle θ then we get peaks at an angle θ and π-θ.

3.7.2 North south ambiguity

The steering vector which satisfies the following properties are a (θ) =a (π-θ), which

implies that wave front coming from the north and another coming symmetrically opposite

from the south cannot be distinguished.

Page 29: Direction Finding Using 3d Array Geometry

Figure 3.4 North south ambiguity

Two different signals coming from symmetrically opposite directions cannot be

distinguished. Figure 3.4 shows two signals coming at directions θ and 2π-θ. Under this

condition simulated result gives the magnitude of any one signal at both the angles θ and 2π-

θ.

In north south ambiguity the simulated result repeats after 180 degrees. If a signal is

incident on the array at an angle θ then we get peaks at an angle θ and 2π-θ.

Page 30: Direction Finding Using 3d Array Geometry

CHAPTER 4

MUSIC implementation on 2 D sensor Array system

4.1 Introduction

A 2 dimensional sensor array for the estimation of direction of arrival (DOA) posses

several nice properties as compared to those of linear array. This is the extension of the linear

array system. As the name indicates the sensor array elements are placed in the planar

dimension. The most commonly used 2 dimensional sensor array geometry are uniform

circular array, square and triangular array. This belongs to the non-uniform linear planar

arrays. The reasons for considering the non-uniform linear arrays are,

a. Redundant sensors are removed and employed to increase the array aperture

b. Certain sensors in a long ULA may fail as a result of factors beyond our control.

c. Array spacing is intentionally made non-uniform in order to derive certain benefits

such as the effect of aliasing is reduced if the periodicity of ULA is destroyed.

There are many multiplications in employing the circular array processing. The effect

of aliasing is reduced since the periodicity of the circular array is 2π and independent of

sensor spacing. The east west ambiguity, the wave front coming from the east is distinguished

from the one coming from the west, is solved.

Page 31: Direction Finding Using 3d Array Geometry

4.2 Geometrical representation

A planar array has its sensors distributed over a plane. When a wave front has two

unknown parameters azimuth and elevation, we need a planar array for the estimation of pair

of parameters. Since a plane has two dimensions, much possible geometry can be derived,

such as rectangular array, triangular array, and circular array.

Figure 4.1 Planar array geometry are shown above. The square or rectangular is natural

extension of ULA and other geometries are sparse version of square or rectangular array

4.3 Uniform circular array

Now we take the circular array geometries. The sensors may be placed on a plane in a

polar grid. For a fixed radial distances we have a circle on which the sensors are placed

forming circular array. Consider a circular array of radius with M sensors, symmetrically

placed on circumference as shown below.

Page 32: Direction Finding Using 3d Array Geometry

Figure 4.2 uniform circular array

Let a plane wave front be incident on the array at angle . Then the

directional vector can be defined with the a where k is the kth arrival of the signal in

the space.

( ) = exp (-j

Where m= 1,2,…………M.

Where k is the direction of the arrival of the kth signal.

A = [ a1( )………………………………………….am( ) ]

D is the number of the signal present.

4.4 Data generation for uniform circular array

Page 33: Direction Finding Using 3d Array Geometry

The method of generating the data vector is in ULA is the same process used to

generate the data vector in the circular array signal processing. The output of the sensor

elements at different snapshots is given by

r(t) = [ ]

While the directional vector differs from the linear array, the circular one is the

extension of the rectangular coordinates to cylindrical coordinates. The directional vector is

two-parameters model having the angle and azimuth.

A = [ a1(

Then the output of the sensors elements is the data vector given by consists of the

noise power terms also that are genera; in the system or present at the signals.

r(t) = A*s(t) + n(t)

The covariance matrix is calculated is the expectation of the data vector obtained from

the output of sensors.

R = E [ (t) ]

The noise subspace and the signal subspace are determined by finding the number of

signals present by the Minimum Description Length criteria. Then the noise subspace is

separated.

Now the implementation of MUSIC on the noise vector gives the required arrival

directions and the azimuth of the signals. The steering vector of the UCA differs and the

mode of the steering in ULA, it searches the space up to 360 degrees in the azimuth or the

planar surface.

) = col {exp( -j (sin )))}

m= 0,1,……………………..M-1

The plot of the gives the signal arrival angle and elevation. The plot is in the

3-dimensional graphical representation, which shows the peaks at the respective signal

dimensions.

Page 34: Direction Finding Using 3d Array Geometry

4.5 Steering vector

A steering vector represents the set of phase delays a plane wave experiences,

evaluated at a set of array elements (antennas). The phases are specified with respect to an

arbitrary origin.

The steering vector varies with the geometry. The steering vector for various

geometries are derived by taking any one element as the reference and then calculating the

length between the two sensors and multiplying it by phase constant sin (θ) or cos (θ)

depending on the direction from the reference point.

4.5.1 Steering vector for square array

Steering vector for uniform square array is derived by taking the first element as (0,

0). The next element to the right of reference is taken as (cos(θ), 0). The element above the

reference is taken as (0, sin(θ)). Then the last element left is (cos(θ), sin(θ)).

Figure 4.3Uniform square array with four elements with inter sensor spacing of λ

Steering vector for uniform square array is given by

4.5.2 Steering vector for triangular array

Steering vector for triangular array is derived in the same way as in square array. Here the difference is that the intersensor spacing is taken as 2λ for simplicity.

Page 35: Direction Finding Using 3d Array Geometry

Figure 4.4 Uniform square array with four elements with inter sensor spacing of 2λ

Steering vector for triangular array is given by

4.5.3 Steering vector for uniform circular array

Steering vector for uniform circular array is derived in the same way as in square array. Here a circle of six elements is considered. To calculate the length between the two sensors a circle is inscribed in a hexagon and then the length is calculated

Page 36: Direction Finding Using 3d Array Geometry

Figure 4.5 Uniform circular array with six elements with radius λ

Steering vector for uniform circular array is given by

4.6 Properties of 2 dimensional sensor array system

East west ambiguity

By examining the direction vectors for the linear array we note that (

) hence two wave fronts impinging on a linear with bearing angles and

respectively cannot be distinguished. For a circular array, since the direction vectors a( ) are

unique for all π there is no ambiguity. A wave front from any direction can uniquely

be determined.

4.7 Drawbacks of 2 dimensional sensor array system

North south ambiguity

The steering vector of two dimensional sensor array system satisfies

a (θ) =a (π+θ),

Page 37: Direction Finding Using 3d Array Geometry

which implies that wave front coming from the north and another coming

symmetrically opposite from the south cannot be distinguished

Due to this simulated result gives the magnitude of any one signal at both the angles θ

and π+θ. In north south ambiguity the simulated result repeats after 180 degrees. If a signal is

incident on the array at an angle θ then we get peaks at an angle θ and π+θ.

Using planar array east west ambiguity is removed but north south ambiguity still

remains. The output repeats itself after 180 degrees.

CHAPTER 5

MUSIC implementation on 3 D sensor Array system

5.1 Introduction

A 3 dimensional sensor array for the estimation of direction of arrival (DOA) posses

several nice properties as compared to those of linear and 2 dimensional array. This is the

extension of what is done in the previous chapters the linear array and 2 dimensional array

system. As the name indicates the sensor array elements are placed on the vertices of the

three dimensional structure. The most commonly used 3 dimensional sensor array geometry

are pyramidal array with base either square or triangular and cubical array.

There are many multiplications in employing the 3 dimensional array processing. The

effect of aliasing is reduced since random geometry is used. The east west ambiguity, the

wave front coming from the east is distinguished from the one coming from the west, is

solved. The north south ambiguity, the wave front coming from the north is distinguished

from the one coming from the south, is solved.

Page 38: Direction Finding Using 3d Array Geometry

5.2 Geometrical representation

3 dimensional array has its sensors distributed over the three dimensional space.

When a wave front has two unknown parameters azimuth and elevation, we need a planar

array for the estimation of pair of parameters. By using a planar array the two parameters are

estimated but the coverage area is reduced due to north south ambiguity. Many possible

geometry can be derived, such as tetrahedron, pyramid, cube, sphere etc.

Figure 5.1 figure shows 3 dimensional array geometries. The sensors are placed on the

edges of the structure.

5.3 Cubical array geometry

Now we take the cubical array geometry as an extension of square array implemented

in planar array. The sensors may be placed on the edges of the cube. For a fixed intersensor

distance λ along the sides.

Page 39: Direction Finding Using 3d Array Geometry

Figure5..2 cubical array

5.4 Data generation for Cubical array geometry

Consider a Cubical array geometry with M sensors and D be the number of signals

incident. Let a plane wave front be incident on the array at angle

The method of generating the data vector in 3 dimensional array is the same process

used to generate the data vector in the ULA. The output of the sensor elements at different

snapshots is given by

r(t) = [ ]

Then the output of the sensors elements is the data vector given by consists of the

noise power terms also that are genera; in the system or present at the signals.

r(t) = A*s(t) + n(t)

The covariance matrix is calculated is the expectation of the data vector obtained from

the output of sensors.

R = E [ (t) ]

Then the signal subspace and noise subspace is separated.

The plot of the gives the signal arrival angle and elevation. The plot is in the

3-dimensional graphical representation, which shows the peaks at the respective signal

dimensions.

5.5 Steering vector

Page 40: Direction Finding Using 3d Array Geometry

A steering vector represents the set of phase delays a plane wave experiences,

evaluated at a set of array elements (antennas). The phases are specified with respect to an

arbitrary origin.

The steering vector varies with the geometry. The steering vector for various

geometries are derived by taking any one element as the reference and then calculating the

length between the two sensors and multiplying it by phase constant sin (θ) or cos (θ)

depending on the direction from the reference point.

5.5.1 Steering vector for cubical array geometry

Steering vector for uniform square array is derived from the basic square geometry by

taking the first element as (0, 0, 0). The next element to the right of reference is taken as

(cos(θ), 0,0). The element above the reference is taken as (0, sin(θ),0). Then the last element

left is (cos(θ), sin(θ),0). The third coordinate is taken as tangent multiplied by the distance

moved in the z axis. Here the multiplication factor is taken as one. So the next element above

the refrence is (0, 0, tan(θ)). Similarly the other elements are calculated.

Figure 5.3 cubical array with eight elements with inter sensor spacing of λ

Page 41: Direction Finding Using 3d Array Geometry

Steering vector for uniform square array is given by

5.5.2 Steering vector for pyramid array

Steering vector for pyramidal array is derived from the cubical triangular array.

Figure 5.4 pyramid array with 5 elements with inter sensor spacing of λ

Steering vector for uniform square array is given by

A =

5.5.3 Steering vector for tetrahedron

Page 42: Direction Finding Using 3d Array Geometry

Steering vector for tetrahedron array geometry is derivedfrom triangular array

geometry and cubical array geometry. Here a tetrahedron with 4 elements is considered. For

simplicity the intersensor spacing is taken as 2λ

Figure 5.5 Tetrahedron array with 4 elements and intersensor spacing 2 λ

Steering vector for uniform circular array is given by

5.6 Properties of 3 dimensional sensor array system

5.6.1 East west ambiguity

By examining the direction vectors for the linear array we note that (

) hence two wave fronts impinging on a linear with bearing angles and

respectively cannot be distinguished. For a Three dimensional array, since the direction

vectors a( ) are unique for all there is no ambiguity. A wave front from any

direction can uniquely be determined.

5.6.2 North south ambiguity

Page 43: Direction Finding Using 3d Array Geometry

By examining the direction vectors for the linear array we note that (

) hence two wave fronts impinging on a linear with bearing angles and

respectively cannot be distinguished. For a Three dimensional array, since the direction

vectors a(θ) are unique for all there is no ambiguity. A wave front from any

direction can uniquely be determined

.

CHAPTER 6

Matlab

6.1 Introduction

Matlab is a product of The Math Works, Inc. It is an outstanding software package for

scientific and engineering computations. Matlab enables us to solve many advanced

numerical problems fast and efficiently. It provides an interactive environment with hundreds

of built-in functions for technical computation, graphics, animation.

Matlab is both a computer programming language and a software environment for

using that language effectively. The name MATLAB stands for MATRIX LABORATORY.

Matlab is a high-level language whose basic data type is a matrix that does not require

dimensioning. It has a large collection of toolboxes in a variety of domains. Some examples

of Matlab toolboxes are control system, signal processing, image processing, and system

identification. The toolboxes consist of functions that can be used to perform computations in

a specific domain.

Page 44: Direction Finding Using 3d Array Geometry

Matlab has many advantages compared to conventional computer languages for

solvimg technical problems. Matlab is an interactive system whose basic data type is a matrix

that does not require dimensioning. The software package has been commercially available

since 1984 and is now considered as a standard tool at most universities and industries

worldwide.

6.2 Matlab Windows

1. Command window:

This is the main window. It is characterized by Matlab command prompt’>>’.

All commands, including those for running user-written programs, are typed in this

window at the Matlab prompt.

2. Graphics Window:

The output of all graphics commands typed are flushed into the graphics or

figure window.

3. Edit Window:

This is a place to create, write, edit and save programs in files called M-files.

Any text editor can be used to carry out these tasks.

6.3 M-files

MATLAB can execute a sequence of statements stored in diskfiles. Such files are

called “M-files” because they must have the file type of “.m” as the last part of their filename.

Much of your work with MATLAB will be in creating and refining M-files. M-files are

usually created using your local editor.

Some Important Details

Page 45: Direction Finding Using 3d Array Geometry

•Everything is a matrix.

•Comma or space separates row elements. Semicolon separates rows.

•Elements are referred to by indices in parentheses

•Assignment uses = (not :=)

•Terminal semicolon (;) suppresses output.

•Variable names are Case sensitive.

•Two sets of arithmetic operations – vector, element-wise.

•Previous inputs can’t be edited directly.

6.4 Matlab Commands

6.4.1 General-purpose commands

General information

Helpbrowser - Bring up the help browser.

Doc - Complete on-line help, displayed in the help browser.

Help - M-file help, displayed at the command line.

helpwin - M-file help displayed in the help browser.

Lookfor - Search all M-files for keyboard.

Syntax - Help on Matlab command syntax.

6.4.2 Managing the workspace

Workspace - Display Workspace browser, a GUI for managing the

workspace.

Clear - Clear variables and functions from memory.

save - Save workspace variables to disk.

Matlab - Loads the program matlab into your workspace.

clear x - Deletes the matrix x from active workspace.

6.4.3 Elementary math functions

Trignometric

Page 46: Direction Finding Using 3d Array Geometry

Sin - sine

Sinh - hyperbolic sine

Asin - inverse sin

Asinh - inverse hyperbolic sine

Cos - cosine

Cosh - hyperbolic cosine

Aos - inverse cosine

Aosh - inverse hyperbolic cosi

Tan - tangent

Tanh - hyperbolic tangent

sec - secant

sech - hyperbolic secant

csc - cosecant

cot - cotangent

coth - hyperbolic cotangent

Exponential

Exp - exponential

Log - natural logarithm

Sqrt - square root

Complex

Abs - absolute value

Angle - phase angle

Complex - construct complex data

Conj - complex conjugate

Real - complex real part

Image - complex imaginary

6.4.4 Rounding and remainder

Fix - round toward zero

Round - round towards nearest integer

Mod - modulus

Page 47: Direction Finding Using 3d Array Geometry

Rem - remainder

Sign - signum

6.4.5 Commands useful in plotting

title(‘text’) - places a title at the top of graphics plot

xlabel(‘text’) - writes text beneath the x-axis of a plot

ylabel(‘text’) - writes text beneath the y-axis of a plot

zlabel(‘text’) - writes text beneath the z-axis of a plot

plot(x,y) - plots y vs x (2D Plot)

mesh(x,y,z) - plots z vs y vs x ( 3D Plot)

figure - creates a new figure object using default property values.

grid on -adds major grid lines to the current axes.

Axis - controls axis scaling and appearance

Subplot - creates axes in tiled positions

semilogx(x,y) - plots log(x) vs. y

loglog(x,y) - plots log(x) vs log(y)

6.4.6 Data analysis commands

max(x) - returns the maximum value of the elements in a vector

or if x is a matrix, returns a row vector whose elements

are the maximum values from each respective column

of the matrix

min(x) - returns the minimum value of x

length(x) - returns the number of elements in a vector

rand - returns the random number between 0 and 1

mean(x) - returns the mean value of x

sum(x) - returns the sum of the elements of a vector or if x is a

matrix, returns the sum of the elements from each

respective column of the matrix.

sort(x) - sort the values in the vector x or the columns of a

matrix and places them in ascending order.

hist(x) - plots a histogram of the elements of the vector x

Page 48: Direction Finding Using 3d Array Geometry

6.4.7 Matrices commands

zeros(n) - creates an n × n matrix whose elements are zero

zeros(m,n) - creates an m-row, n-column matrix of zeros

ones(n) - creates an n × n square matrix whose elements are 1’s

ones(m,n) - creates an m × n matrix whose elements are 1’s

diag(m,n) - create an m × n diagonal matrix

eye(n) - creates an n × n identity matrix with 1’s on the diagonal

size(x) - returns the size m(rows) and n(columns) of matrix x

rand(A) - returns a matrix of size A of random numbers

trace(A) - returns the sum of the diagonal elements of the matrix A

eig(A) -returns a vector of the eigenvalues of matrix A

6.4.8 SVD - Singular Value Vecomposition

Syntax

s = svd(X)

[U,S,V] = svd(X)

Description

The svd command computes the matrix singular value decomposition.

s = svd(X) returns a vector of singular values.

[U,S,V] = svd(X) produces a diagonal matrix S of the same dimension as X, with

nonnegative diagonal elements in decreasing order, and unitary matrices U and V so that X =

U*S*V'.

Examples

For the matrix

Page 49: Direction Finding Using 3d Array Geometry

X =

1 2

3 4

5 6

7 8

the statement

[U,S,V] = svd(X)

Produces

U =

-0.1525 -0.8226 -0.3945 -0.3800

-0.3499 -0.4214 0.2428 0.8007

-0.5474 -0.0201 0.6979 -0.4614

-0.7448 0.3812 -0.5462 0.0407

S =

14.2691 0

0 0.6268

0 0

0 0

V =

-0.6414 0.7672

-0.7672 -0.6414

6.4.9 Operators

+ Addition

+ Unary plus

- Subtraction

Page 50: Direction Finding Using 3d Array Geometry

- Unary minus

* Matrix multiplication

^ Matrix power

\ Backslash or left matrix divide

/ Slash or right matrix divide

' Transpose

.' Nonconjugated transpose

.* Array multiplication (element-wise)

.^ Array power(element-wise)

.\ Left array divide (element-wise)

./ Right array divide (element-wise)

6.4.10 loops

if, else, and elseif

The if statement evaluates a logical statements when the expression is true. The

optional elseif and else keywords provide for the execution of alternate groups of statements.

An end keyword, which matches the if, terminates the last group of statements. The groups of

statements are delineated by the four keywords—no braces or brackets are involved.

Example:

If A and B are scalars

if A > B

'greater'

elseif A < B

'less'

elseif A == B

'equal'

Page 51: Direction Finding Using 3d Array Geometry

else

error('Unexpected situation')

end

for

The for loop repeats a group of statements a fixed, predetermined number of times. A

matching end delineates the statements:

Example:

The statements

for i = 1:m

for j = 1:n

H(i,j) = 1/(i+j);

end

end

will produce and print to the screen the m-by-n hilbert matrix. The semicolon on the inner

statement is essential to suppress printing of unwanted intermediate results while the last H

displays the final result.

While

The general form of a while loop is

while relation

statements

end

The statements will be repeatedly executed as long as the relation remains true. For example,

for a given number a, the following will compute and display the smallest nonnegative

integer n such that 2n ≥ a:

n = 0;

while 2 n < a

n = n + 1;

end

Page 52: Direction Finding Using 3d Array Geometry

n

CHAPTER 7

Simulation Results and Conclusion

7.1 Simulation Results and Comparisons

The uniform linear array efficiently estimates the DOAs when the required coverage

area is only upto 90 . The results of estimation of DOAs are shown in the fig.7.1 a & b where

the peaks in the graph represent the DOA of signal. An array of length 8 elements is taken

with three arrival angles; the plot shows the signals are at angles 10 , 20 and 30 with 0.5λ

distance of separation between the array elements.

In the second group of simulation the DOAs are estimated for planar array geometry

where the sensors are placed in the plane to form 6 element circular array, 4 element square

array and 3 element triangular array. The results of estimation of DOAs using planar array are

shown in figure 7.2 to figure 7.5.

Page 53: Direction Finding Using 3d Array Geometry

The next step is DOA estimation using 3 D array geometry is shown in figures 7.6 to

7.8. An array of size 5 is taken and the simulation is carried out with 4096 snapshots. The

plot shows the arrival angles at azimuth and elevation of 10 the second source at angle

of 20 azimuth and elevation of and third source at 30 azimuth and elevation of

respectively.

The main achievements which are obtained using different array geometries are

1. East - West Ambiguity

East west ambiguity is the ambiguity that arises when the signal coming from east and

other coming from west cannot be distinguished. In linear array a( )=a( ) exists, so the

two fronts coming from two directions cannot be distinguished. A linear array of 8 elements

is used to estimate the DOAs with true DOAs at10 , and 30 The parameter of the

spectrum shown in the fig 7.1b where we note that in addition to peaks at 10 and 30

there are three more peaks at 150 160 and 170 .

For the circular array the direction vectors are unique there is no ambiguity. Therefore by

using the circular array the east west ambiguity that arises in linear array is solved since the

sensor elements are placed in angular position. A circular array with of radius equal to

shows no such ambiguity as shown in the fig.7.3 a, b and c.

2. North - South Ambiguity

North south ambiguity arises when the signal coming from north and signal coming

from symmetrical south direction cannot be distinguished. By using the circular array the

east west ambiguity that arises in linear array is solved but north south ambiguity still exist as

shown in fig 7.4 a to c since the sensor elements are placed in angular position. In linear array

a( )=a( ) exists, so the two fronts coming from two directions cannot be distinguished.

But for the circular array the direction vector satisfies the condition a(θ)=a ( + θ) resulting

in north south ambiguity.

A circular array of 8 elements is used to estimate the DOAs with true DOAs at 10 ,

and 30 The parameter of the spectrum shown in the fig 7.2 shows there is no east west

Page 54: Direction Finding Using 3d Array Geometry

ambiguity but from fig 7.3 a we note that in addition to peaks at 10 and 30 there are

three more peaks at 190 200 and 210 for azimuth and from fig 7.3 b we can note that in

addition to peaks at 10 and 80 for elevation angle there are three more peaks at 190

220 and 260.

The same North South ambiguity remains for different uniform planar arrays. The North

South ambiguity is seen for triangular array in figure 7.4 a & 7.4 c and for square array in

figure 7.5 a & 7.5c.

To remove North South ambiguity three dimensional array geometries are used. Here we

have simulated three such geometries. Firstly, 8 element cubical array geometry with each

element placed on the vertex has been simulated and found to be free from all ambiguities.

The simulation result of cubical array geometry is shown in figure 7.6 a. In a similar manner

5 element pyramidal array and 4 element tetrahedron array are also simulated and the

simulation results are shown in figure 7.7 a and 7.8 a respectively.

7.2 Simulation results for Uniform linear array with six elements

Figure 7.1a The peaks shows the signals present at 10, 20, 30 degrees azimuth by ULA

Page 55: Direction Finding Using 3d Array Geometry

Figure 7.1b The peaks shows the signals present at 10, 20, 30150, 160, 170 degrees azimuth by

ULA. The figure clearly shows the present east west ambiguity.

7.3 Simulation results for Uniform circular with six elements

Figure 7.2 a The peaks shows the signals present at 10, 20, 30 degrees azimuth by UCA

Page 56: Direction Finding Using 3d Array Geometry

Figure 7.2 b The peaks shows the signals present at 10, 40, 80 degrees elevation by UCA

Figure 7.2 c The peaks shows the signals present at 10, 20, 30 degrees azimuth and 10,40,80

elevation by UCA

Page 57: Direction Finding Using 3d Array Geometry

Figure 7.3 a The peaks shows the signals present at 10, 20, 30,190,200,210 degrees azimuth by

UCA. This shows the north south ambiguity in UCA

Figure 7.3 b The peaks shows the signals present at 10, 40, 80,280,320,350 degrees elevation, 20,

30,190,200,210 degrees azimuth by UCA. This shows the north south ambiguity in UCA

7.4 Simulation results for Uniform triangular array

Page 58: Direction Finding Using 3d Array Geometry

Figure 7.4 a The peaks shows the signals present at 10, 60,190,240 degrees azimuth by Uniform

triangular array. This shows the north south ambiguity.

Figure 7.4 b The peaks shows the signals present at 40, 80 degrees elevation by triangular array

Page 59: Direction Finding Using 3d Array Geometry

Figure 7.4 c The peaks shows the signals present at 10, 60, 190,240 degrees elevation, 40, 80

degrees azimuth by triangular array. This shows the north south ambiguity in triangular array.

7.5 Simulation results for Uniform square array

Figure 7.5 a The peaks shows the signals present at 10, 20, 30, 190, 200, 210 degrees azimuth by

Uniform square array. This shows the north south ambiguity.

Page 60: Direction Finding Using 3d Array Geometry

Figure 7.5 b The peaks shows the signals present at 10, 40, 80 degrees elevation by square array

Figure 7.5 c The peaks shows the signals present at 10, 40, 80,280,320,350 degrees elevation, 20,

30,190,200,210 degrees azimuth by square array. This shows the north south ambiguity present in

uniform square array

Page 61: Direction Finding Using 3d Array Geometry

7.6 Simulation results for cubical array geometry

Figure 7.6 a The peaks shows the signals present at 10, 20,30, degrees azimuth by cubical array.

This shows there is no north south ambiguity.

Page 62: Direction Finding Using 3d Array Geometry

Figure 7.6 b The peaks shows the signals present at 10, 40,80, degrees azimuth by cubical array.

Figure 7.6 c The peaks shows the signals present at 10, 40,80 and 280, 320, 350 degrees elevation

by cubical array. This is not regarded as error because elevation is measured upto 1800

Page 63: Direction Finding Using 3d Array Geometry

Figure 7.6 d The peaks shows the signals present at 10, 40, 80 degrees elevation, 20, 30,80 degrees

azimuth by cubical array. This shows there is no ambiguity present. The repetition is because of

elevation.

7.7 Simulation results for pyramidal array geometry

Figure 7.7 a The peaks shows the signals present at 10, 20, 30 azimuth by pyramidal array of 5

elements, the fig shows there is no east west and north south ambiguity present

Page 64: Direction Finding Using 3d Array Geometry

Figure 7.7 b The peaks shows the signals present at 10, 40, 80 elevation by pyramid array of 5

elements

Figure 7.7 c The peaks shows the signals present at 10, 40, 80 and 280, 320, 350 degrees elevation

by square pyramid array. This is not regarded as error because elevation is measured up to 1800

Page 65: Direction Finding Using 3d Array Geometry

Figure 7.7 d The peaks shows the signals present at 10, 40, 80 degrees elevation, 20, 30,80 degrees

azimuth by square pyramid. This shows there is no ambiguity present. The repetition is because of

elevation.

7.8 Simulation results for tetrahedral array

Page 66: Direction Finding Using 3d Array Geometry

Figure 7.8 a The peaks shows the signals present at 10, 20, 30 azimuth by pyramidal array of 5

elements, the fig shows there no east west and north south ambiguity present

Figure 7.8 b The peaks shows the signals present at 10, 40,80 and 280, 320, 350 degrees elevation

by tetrahedral array. This is not regarded as error because elevation is measured up to 1800

Figure 7.7 d The peaks shows the signals present at 10, 40, 80 degrees elevation, 20, 30,80 degrees

azimuth by tetrahedron. This shows there is no ambiguity present. The repetition is because of

elevation.

Page 67: Direction Finding Using 3d Array Geometry

CHAPTER 8

Conclusion and Future Scope

8.1 Conclusions

By using ULA, MUSIC provides only the basic idea about the direction of arrival and

efficient only under suitable conditions. ULA suffers from East West and North South

ambiguity.

In order to overcome drawbacks of ULA, MUSIC is implemented on two dimensional

geometries like uniform circular array, square array and triangular array. Since two

dimensional arrays have specific properties over ULA, this gives the exact solution for east

west ambiguity encountered in ULA. However North South ambiguity is not overcome using

Planar array.

Hence so as to overcome North south ambiguity, MUSIC is implemented on three

dimensional array geometries like cube, tetrahedron and cube.

The result of using three dimensional array system are

1. The north-south ambiguity is removed.

2. The east-west ambiguity is removed.

3. Coverage up to 360 degrees

Page 68: Direction Finding Using 3d Array Geometry

4. Increased precision

8.2 Future scope

The MUSIC is efficient algorithm for the estimation of the DOA. The future scope

lies in the implementing the MUSIC on various array geometry in the presence of coherent

signals, where the DOA estimation is possible even in the presence of multi path propagation

REFRENCES

1. SCHMIDT,R.O: ‘Multiple emitter location and signal parameter estimation’, IEEE

transactions on Antennas and propagation, vol . AP-34, march 1986

2. CHOI, Y.H: ‘Subspace –based coherent sources localization with forward and backward

covariance matrices’, IEEE proceeding on radar sonar and Navigation, vol-149, june 2002

3. USHA PADMINI,C. PRABHAKARNAIDU,S: ‘CIRCULAR ARRAY AND

STIMATION OF DIRECTION OF ARRIVAL OF A BROADBAND SOURCE’, signal

processing, vol-37, 1994

Books

1. Sensor array signal processing---- Prabhakar s.naidu

2. Digital spectral analysis--------Marple

Page 69: Direction Finding Using 3d Array Geometry

PROGRAMS

Program to implement MUSIC on ULA with 8 Sensors

clc;

clear all;

m=8; % Number of sensors

p=3; % Number of Arrivals

st1=10; % DOA1

st2=20; % DOA2

st3=30; % DOA3

st=[st1;st2;st3]; % DOA Matrix

nn=4096; %Number of Snapshots

% Generating Carrier Signal

Pd=8000;

s1=1/1000*exp(j*pi/3*[0:Pd])';

s2=1/1000*exp(j*pi/4*[0:Pd])';

s3=1/1000*exp(j*pi/5*[0:Pd])';

tt=1:nn;

S=[s1(tt),s2(tt),s3(tt)].'; % Carrier Signal

% Modulated Signal Generation

SN1=50; % Signal to Noise ratio in DOA1

Page 70: Direction Finding Using 3d Array Geometry

SN2=50; % Signal to Noise ratio in DOA2

SN3=50; % Signal to Noise ratio in DOA3

sn=[SN1;SN2;SN3]; % Signal to Noise ratio Matrix

degrad=pi/180;

Ps=S*S'/nn;

ps=diag(Ps);

refp=2*10.^(sn/10);

tmp=sqrt(refp./ps);

S2=diag(tmp)*S; % Modulated Signal

% Noise Generation

noise=randn(m,nn)+j*randn(m,nn);

% Steering Vector of ULA

A=zeros(m,p);

for t=1:p

A(:,t)=[1,exp(j*pi*sin(st(t)*degrad)),exp(j*pi*2*sin(st(t)*degrad)),exp(j*pi*3*sin(st(t)*degr

ad)),exp(j*pi*4*sin(st(t)*degrad)),exp(j*pi*5*sin(st(t)*degrad)),exp(j*pi*6*sin(st(t)*degrad)

),exp(j*pi*7*sin(st(t)*degrad))]';

end

% Received Signal at ULA

X=A*S2+noise;

% Finding Covariance Matrix of Received Signal

Rxx=X*X'/nn;

% Separating Signal Subspace and Noise Subspace

[U,s,v]=svd(Rxx); %Rxx=U*S*V’ Vs=U(:,1:p); % Signal Subspace

Vu=U(:,p+1:m); % Noise Subspace

Page 71: Direction Finding Using 3d Array Geometry

% Calculating Spatial Spectrum

for st1=0:180

AA=[1,exp(j*pi*sin(st1*degrad)*cos(dt1*degrad)),exp(j*pi*2*sin(st1*degrad)*cos(dt1*degr

ad)),exp(j*pi*3*sin(st1*degrad)*cos(dt1*degrad)),exp(j*pi*4*sin(st1*degrad)*cos(dt1*degr

ad)),exp(j*pi*5*sin(st1*degrad)*cos(dt1*degrad)),exp(j*pi*6*sin(st1*degrad)*cos(dt1*degr

ad)),exp(j*pi*7*sin(st1*degrad)*cos(dt1*degrad))]';

WW=AA'*Vu*Vu'*AA;

Pmusic(st1+1,dt1+1)=abs(8./WW);

end

% Plotting Pmusic

sst=0:90;

figure(1);

plot(sst,Pmusic);

title('Linear array 8 element');

xlabel('azimuth');

ylabel('magnitude');

grid on;

Program to implement MUSIC on UCA with 6 elements.

clc;

clear all;

Pd=8000;

s1=1/1000*exp(j*pi/3*[0:Pd])';

s2=1/1000*exp(j*pi/4*[0:Pd])';

s3=1/1000*exp(j*pi/5*[0:Pd])';

m=6;

p=3;

st1=10;

dt1=10;

st2=20;

Page 72: Direction Finding Using 3d Array Geometry

dt2=40;

st3=30;

dt3=80;

degrad=pi/180;

st=degrad*[st1;st2;st3];

dt=degrad*[dt1;dt2;dt3];

nn=4096;

SN1=40;

SN2=40;

SN3=40;

sn=[SN1;SN2;SN3];

tt=1:nn;

S=[s1(tt),s2(tt),s3(tt)].';

noise=randn(m,nn)+j*randn(m,nn);

Ps=S*S'/nn;

ps=diag(Ps);

refp=2*10.^(sn/10);

tmp=sqrt(refp./ps);

S2=diag(tmp)*S;

for t=1:p

A(:,t)=[1,exp(j*pi*((3^0.5)*0.5*cos(st(t))-

0.5*sin(st(t)))*cos(dt(t))),exp(j*pi*((3^0.5)*cos(st(t)))*cos(dt(t))),exp(j*pi*((3^0.5)*cos(st(t)

)+sin(st(t)))*cos(dt(t))),exp(j*pi*((3^0.5)*0.5*cos(st(t))

+1.5*sin(st(t)))*cos(dt(t))),exp(j*pi*(sin(st(t)))*cos(dt(t)))]';

end

X=A*S2+noise;

Rxx=X*X'/nn;

[U,s,v]=svd(Rxx);

Vs=U(:,1:p);

Vu=U(:,p+1:m);

for st1=0:180;

for dt1=0:180;

AA=[1,exp(j*pi*((3^0.5)*0.5*cos(st1*degrad)-

0.5*sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*((3^0.5)*cos(st1*degrad))*cos(dt1*degrad))

Page 73: Direction Finding Using 3d Array Geometry

,exp(j*pi*((3^0.5)*cos(st1*degrad)

+sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*((3^0.5)*0.5*cos(st1*degrad)

+1.5*sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(sin(st1*degrad))*cos(dt1*degrad))]';

WW=AA'*Vu*Vu'*AA;

Pmusic1(st1+1,dt1+1)=abs(8./WW);

Pmusic2(dt1+1,st1+1)=abs(8./WW);

end

end

sst=0:180;

ddt=0:180;

figure(1);

mesh(sst,ddt,Pmusic1);

title('Uniform Circular array with 6 element');

xlabel('Elevation');

ylabel('azimuth');

zlabel('magnitude');

grid on;

figure(2);

plot(sst,Pmusic1);

title('Uniform Circular array with 6 element');

xlabel('azimuth');

ylabel('magnitude');

zlabel('Elevation');

grid on;

figure(3);

plot(ddt,Pmusic2);

title('Uniform Circular array with 6 element');

ylabel('magnitude');

zlabel('azimuth');

xlabel('Elevation');

grid on;

Program to implement MUSIC on Square

Page 74: Direction Finding Using 3d Array Geometry

clc;

clear all;

Pd=8000;

s1=1/1000*exp(j*pi/3*[0:Pd])';

s2=1/1000*exp(j*pi/4*[0:Pd])';

s3=1/1000*exp(j*pi/5*[0:Pd])';

save sig3 s1 s2 s3;

m=4;

p=3;

st1=10;

dt1=10;

st2=20;

dt2=40;

st3=30;

dt3=80;

st=[st1;st2;st3];

dt=[dt1;dt2;dt3];

nn=4096;

SN1=100;

SN2=100;

SN3=100;

sn=[SN1;SN2;SN3];

degrad=pi/180;

load sig3

tt=1:nn;

S=[s1(tt),s2(tt),s3(tt)].';

noise=randn(m,nn)+j*randn(m,nn);

Ps=S*S'/nn;

ps=diag(Ps);

refp=2*10.^(sn/10);

tmp=sqrt(refp./ps);

S2=diag(tmp)*S;

A=zeros(m,p);

Page 75: Direction Finding Using 3d Array Geometry

for t=1:p

A(:,t)=[1,exp(j*pi*cos(st(t)*degrad)*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)

+sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(sin(st(t)*degrad))*cos(dt(t)*degrad))]';

end

X=A*S2+noise;

Rxx=X*X'/nn;

[U,s,v]=svd(Rxx);

Vs=U(:,1:p);

Vu=U(:,p+1:m);

for st1=0:90

for dt1=0:90

AA=[1,exp(j*pi*cos(st1*degrad)*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)

+sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(sin(st1*degrad))*cos(dt1*degrad))]';

WW=AA'*Vu*Vu'*AA;

Pmusic1(st1+1,dt1+1)=abs(8./WW);

Pmusic2(dt1+1,st1+1)=abs(8./WW);

end

end

sst=0:90;

ddt=0:90;

figure(1);

mesh(sst,ddt,Pmusic1);

title('square array 4 element');

ylabel('azimuth');

zlabel('magnitude');

xlabel('Elevation');

grid on;

figure(2);

plot(sst,Pmusic1);

title('square array 4 element');

xlabel('azimuth');

ylabel('magnitude');

zlabel('Elevation');

grid on;

Page 76: Direction Finding Using 3d Array Geometry

figure(3);

plot(ddt,Pmusic2);

title('square array 4 element');

zlabel('azimuth');

ylabel('magnitude');

xlabel('Elevation');

grid on;

Program to implement MUSIC on Triangle

clc;

clear all;

Pd=8000;

s1=1/1000*exp(j*pi/3*[0:Pd])';

s2=1/1000*exp(j*pi/4*[0:Pd])';

s3=1/1000*exp(j*pi/5*[0:Pd])';

m=3;

p=2;

st1=10;

dt1=40;

st2=60;

dt2=80;

st=[st1;st2];

dt=[dt1;dt2];

nn=4096;

SN1=100;

SN2=100;

SN3=40;

sn=[SN1;SN2];

degrad=pi/180;

tt=1:nn;

S=[s1(tt),s2(tt)].';

noise=randn(m,nn)+j*randn(m,nn);

Ps=S*S'/nn;

Page 77: Direction Finding Using 3d Array Geometry

ps=diag(Ps);

refp=2*10.^(sn/10);

tmp=sqrt(refp./ps);

S2=diag(tmp)*S;

for t=1:p

A(:,t)=[1,exp(j*pi*2*cos(st(t)*degrad)*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)

+(3^0.5)*sin(st(t)*degrad))*cos(dt(t)*degrad))]';

end

X=A*S2+noise;

Rxx=X*X'/nn;

[U,s,v]=svd(Rxx);

Vs=U(:,1:p);

Vu=U(:,p+1:m);

for st1=0:90

for dt1=0:90

AA=[1,exp(j*pi*2*cos(st1*degrad)*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)

+(3^0.5)*sin(st1*degrad))*cos(dt1*degrad))]';

WW=AA'*Vu*Vu'*AA;

Pmusic1(st1+1,dt1+1)=abs(8./WW);

Pmusic2(dt1+1,st1+1)=abs(8./WW);

end

end

sst=0:90;

ddt=0:90;

figure(1);

mesh(sst,ddt,Pmusic1);

title('Triangular array with 3 element');

ylabel('azimuth');

zlabel('magnitude');

xlabel('Elevation');

grid on;

figure(2);

plot(sst,Pmusic1);

title('Triangular array with 3element');

Page 78: Direction Finding Using 3d Array Geometry

xlabel('azimuth');

ylabel('magnitude');

zlabel('Elevation');

grid on;

figure(3);

plot(ddt,Pmusic2);

title('Triangular array with 3 element');

zlabel('azimuth');

ylabel('magnitude');

xlabel('Elevation');

grid on;

Cube with 8 elements

clc;clear all;

Pd=8000;s1=1/1000*exp(j*pi/3*[0:Pd])';s2=1/1000*exp(j*pi/4*[0:Pd])';s3=1/1000*exp(j*pi/5*[0:Pd])';

m=8; p=3;st1=10; dt1=10; st2=20;dt2=40;st3=30;dt3=80;

st=[st1;st2;st3];dt=[dt1;dt2;dt3];

nn=4096; SN1=50; SN2=50;SN3=50;sn=[SN1;SN2;SN3];degrad=pi/180;

tt=1:nn;S=[s1(tt),s2(tt),s3(tt)].';noise=randn(m,nn)+j*randn(m,nn);

Page 79: Direction Finding Using 3d Array Geometry

Ps=S*S'/nn;ps=diag(Ps);refp=2*10.^(sn/10);tmp=sqrt(refp./ps);S2=diag(tmp)*S;A=zeros(m,p);for t=1:pA(:,t)=[1,exp(j*pi*(cos(st(t)*degrad))*(cos(dt(t)*degrad))),exp(j*pi*(cos(st(t)*degrad)+sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*sin(st(t)*degrad)*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)+sin(st(t)*degrad)+tan(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)+tan(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(tan(st(t)*degrad)+sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*tan(st(t)*degrad)*cos(dt(t)*degrad))]';endX=A*S2+noise;Rxx=X*X'/nn;[U,s,v]=svd(Rxx);Vs=U(:,1:p);Vu=U(:,p+1:m);for st1=0:90for dt1=0:90AA=[1,exp(j*pi*cos(st1*degrad)*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+sin(st1*degrad)+tan(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+tan(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(tan(st1*degrad)+sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(tan(st1*degrad))*cos(dt1*degrad))]';WW=AA'*Vu*Vu'*AA;Pmusic1(st1+1,dt1+1)=abs(8./WW);Pmusic2(dt1+1,st1+1)=abs(8./WW);end end sst=0:90;ddt=0:90;figure(1);mesh(sst,ddt,Pmusic1);title('cube with 8 elements');ylabel('azimuth'); zlabel('magnitude');xlabel('Elevation');grid on;

figure(2);plot(sst,Pmusic1);title('cube with 8 elements');xlabel('azimuth'); ylabel('magnitude');zlabel('Elevation');grid on;figure(3);

Page 80: Direction Finding Using 3d Array Geometry

plot(ddt,Pmusic2);title('cube with 8 elements');zlabel('azimuth'); ylabel('magnitude');xlabel('Elevation');grid on;

Pyramid with 5 elements

clc;clear all;

Pd=8000;s1=1/1000*exp(j*pi/3*[0:Pd])';s2=1/1000*exp(j*pi/4*[0:Pd])';s3=1/1000*exp(j*pi/5*[0:Pd])';

m=5; p=3;st1=10; dt1=10; st2=20;dt2=40;st3=30;dt3=80;

st=[st1;st2;st3];dt=[dt1;dt2;dt3];

nn=4096; SN1=100; SN2=100;SN3=100;sn=[SN1;SN2;SN3];degrad=pi/180;

tt=1:nn;S=[s1(tt),s2(tt),s3(tt)].';noise=randn(m,nn)+j*randn(m,nn); Ps=S*S'/nn;ps=diag(Ps);refp=2*10.^(sn/10);tmp=sqrt(refp./ps);S2=diag(tmp)*S;A=zeros(m,p);for t=1:p

Page 81: Direction Finding Using 3d Array Geometry

A(:,t)=[1,exp(j*pi*cos(st(t)*degrad)*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)+sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(0.5*cos(st(t)*degrad)+0.5*sin(st(t)*degrad)+tan(st(t)*degrad))*cos(dt(t)*degrad))]';endX=A*S2+noise;Rxx=X*X'/nn;[U,s,v]=svd(Rxx);Vs=U(:,1:p);Vu=U(:,p+1:m);for st1=0:90for dt1=0:90AA=[1,exp(j*pi*cos(st1*degrad)*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(0.5*cos(st1*degrad)+0.5*sin(st1*degrad)+tan(st1*degrad))*cos(dt1*degrad))]';WW=AA'*Vu*Vu'*AA;Pmusic1(st1+1,dt1+1)=abs(8./WW);Pmusic2(dt1+1,st1+1)=abs(8./WW);end end sst=0:90;ddt=0:90;figure(1);mesh(sst,ddt,Pmusic1);title('square pyramid with 5 elements');ylabel('azimuth'); zlabel('magnitude');xlabel('Elevation');grid on;

figure(2);plot(sst,Pmusic1);title('square pyramid with 5 elements');xlabel('azimuth'); ylabel('magnitude');zlabel('Elevation');grid on;

figure(3);plot(ddt,Pmusic2);title('square pyramid with 5 elements');zlabel('azimuth'); ylabel('magnitude');xlabel('Elevation');grid on;

Tetrahedron

Page 82: Direction Finding Using 3d Array Geometry

clc;clear all;

Pd=8000;s1=1/1000*exp(j*pi/3*[0:Pd])';s2=1/1000*exp(j*pi/4*[0:Pd])';s3=1/1000*exp(j*pi/5*[0:Pd])';

m=4; p=2;st1=10; dt1=40; st2=60;dt2=80;

st=[st1;st2];dt=[dt1;dt2];

nn=4096; SN1=40; SN2=40;SN3=40;sn=[SN1;SN2];degrad=pi/180;

tt=1:nn;S=[s1(tt),s2(tt)].';noise=randn(m,nn)+j*randn(m,nn); Ps=S*S'/nn;ps=diag(Ps);refp=2*10.^(sn/10);tmp=sqrt(refp./ps);S2=diag(tmp)*S;for t=1:pA(:,t)=[1,exp(j*pi*2*cos(st(t)*degrad)*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)+(3^0.5)*sin(st(t)*degrad))*cos(dt(t)*degrad)),exp(j*pi*(cos(st(t)*degrad)+(3^0.5)*0.5*sin(st(t)*degrad)+tan(st(t)*degrad))*cos(dt(t)*degrad))]';endX=A*S2+noise;Rxx=X*X'/nn;[U,s,v]=svd(Rxx);Vs=U(:,1:p);Vu=U(:,p+1:m);for st1=0:90for dt1=0:90AA=[1,exp(j*pi*2*cos(st1*degrad)*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+(3^0.5)*sin(st1*degrad))*cos(dt1*degrad)),exp(j*pi*(cos(st1*degrad)+(3^0.5)*0.5*sin(st1*degrad)+tan(st1*degrad))*cos(dt1*degrad))]';WW=AA'*Vu*Vu'*AA;Pmusic1(st1+1,dt1+1)=abs(8./WW);

Page 83: Direction Finding Using 3d Array Geometry

Pmusic2(dt1+1,st1+1)=abs(8./WW);end end sst=0:90;ddt=0:90;figure(1);mesh(sst,ddt,Pmusic1);title('triangular pyramid with 4 elements');ylabel('azimuth'); zlabel('magnitude');xlabel('Elevation');grid on;

figure(2);plot(sst,Pmusic1);title('triangular pyramid with 4 elements');xlabel('azimuth'); ylabel('magnitude');zlabel('Elevation');grid on;

figure(3);plot(ddt,Pmusic2);title('triangular pyramid with 4 elements');zlabel('azimuth'); ylabel('magnitude');xlabel('Elevation');grid on;