0% found this document useful (0 votes)
35 views25 pages

Direction of Arrival Estimation 2.1

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)
35 views25 pages

Direction of Arrival Estimation 2.1

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/ 25

Direction of Arrival Estimation

By:
Lindsay Langford
Direction of Arrival Estimation

By:
Lindsay Langford

Online:
< http://cnx.org/content/col11470/1.2/ >

CONNEXIONS

Rice University, Houston, Texas


This selection and arrangement of content as a collection is copyrighted by Lindsay Langford. It is licensed under
the Creative Commons Attribution 3.0 license (http://creativecommons.org/licenses/by/3.0/).
Collection structure revised: December 18, 2012
PDF generated: December 18, 2012
For copyright and attribution information for the modules contained in this collection, see p. 17.
Table of Contents
1 Introduction .................................................................... ................... 1
2 Beamforming ................................................................... ................... 3
3 Steering Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Matched Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5 Direction of Arrival Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7 Code and Poster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Attributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
iv

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 1

Introduction 1

1.1 Introduction

Beamforming is a type of signal processing which uses sensor arrays to either transmit or receive signals in
a certain direction. This directionality is accomplished by manipulating the phases at each sensor in the
array so that constructive interference occurs at favored angles and destructive interference occurs elsewhere.
Beamforming is most often used with sound or radio waves and it has numerous applications in areas such
as RADAR, SONAR, wireless communications, and acoustics.

1.1.1 Direction of Arrival Estimation


Our specic application of beamforming is direction of arrival estimation. This process is described in
detail in the module of that name, but it can be roughly summed up in a sentence as using a sensor array
to determine at what angle, in relation to the center of the array, a propagating source exists. For our
simulation we used a linear array of sensors along the x-axis and dened the phase center of the array as the
point (0, 0). If there were an odd number of sensors the center sensor was on the origin, and if there were
an even number the center was between the two central sensors. Here is a way to visualize the setup of our
MATLAB simulation:
1 This content is available online at <http://cnx.org/content/m45409/1.1/>.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>

1
2 CHAPTER 1. INTRODUCTION

Figure 1.1

The goal is to nd the angle [U+03D5]. It may be helpful to keep this image in mind as the techniques
behind beamforming and direction of arrival are explained.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 2

Beamforming 1

2.1 Beamforming

The conventional frequency domain beamforming algorithm involves three components: a steering vectore ,
a weighting matrix W, and a vector Y which contains the frequency information about the signal received
at each sensor. The steering vector is given its own section, and I will go into brief detail about the other
two here.

2.1.1 Sensor Data


The column vector Y is actually a collection of short-time Fourier Transforms. The signal received at each
sensor at a given time t is multiplied by a window of duration D and then the Fourier Transform of that
product is taken. Mathematically, this can be expressed as

Figure 2.1

This transform eectively represents the frequency components of the signal during various blocks of time,
and is useful if the signal itself is nite and/or not uniform over all time. When performing a short-time
Fourier Transform, it is best to pick a window that has a Fourier Transform which looks like a single narrow
spike so that its width is narrow compared to the signal's spectral variations  this allows the short-time
Fourier Transform of a signal at one instant in time to best approximate the signal's spectrum. The vector
Y should actually be written as Y (t, ω ) because it is dependent both on time and the frequency content of
the signal, but often that notation is omitted for neatness. Each element Yn is the collection of short-time
Fourier Transforms at sensor n, thus giving Y the form
1 This content is available online at <http://cnx.org/content/m45411/1.1/>.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>

3
4 CHAPTER 2. BEAMFORMING

Figure 2.2

2.1.2 The Weighting Matrix


The matrix W is diagonal; the only elements which are not zero are the sensor weights along its main
diagonal. The actual content of those weights can vary by application. In a simple linear array like the
one used in our particular example, all of the weights are simply one. However, in more interesting array
congurations such as an array with sensors that were placed randomly or real-world sensors that have
inherent noise components, the weighting matrix can become much more important.

2.1.3 Beamformer Output


The Fourier Transform of the beamformer output can be written in the following way:

Figure 2.3

This is the inner product of e' and WY, which is nothing more than a column vector of weighted short-
time Fourier transforms. In order to get the beamformer output in the time domain, all that is necessary is
taking an inverse short-time Fourier Transform of e'WY (t, ω ).
Here is a visual representation of the entire beamforming process:

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


5

Figure 2.4

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


6 CHAPTER 2. BEAMFORMING

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 3

Steering Vector 1

3.1 The Steering Vector

The steering vector e represents the set of phase delays experienced by a plane wave as it reaches each
element in an array of sensors. The mathematical representation of it is

Figure 3.1

Where j is the imaginary unit, k n is the wave number at the nth sensor, and xn is the position vector
of the nth sensor in (x, y, z ) coordinates. If the sensor array is two-dimensional, all z coordinates can be
treated as 0 and omitted from the position vector in calculations. The wave number of a plane wave is its
spatial frequency, or how many waves exist over a specied distance. It is a function of the frequency of
the propagating wave, the material through which it is travelling, and its original location or direction of
propagation. For our specic application, we actually use the angular wave number, which is written as
(2π /λ) and indicates the number of wavelengths per 2π unit distance.
The role of the steering vector e in beamforming is to dene the assumed propagation direction of the
source's signal. In other words, it is the part of the beamforming process that chooses the direction in which
the sensor array creates an output beam. Because e is designed to cancel the phase shifts at each sensor in
the array and the wave number k must, by denition, assume a propagation direction, the steering vector
has the eect of moving the each sensor's output to a particular direction, thus focusing the beam.

1 This content is available online at <http://cnx.org/content/m45410/1.1/>.


Available for free at Connexions <http://cnx.org/content/col11470/1.2>

7
8 CHAPTER 3. STEERING VECTOR

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 4

Matched Filter 1

4.1 Matched Filtering

Matched lters underlie many signal classication systems in the real world, allowing systems to determine
the likelihood of a signal being present in a noisy environment. They take the form a cross-correlation or
convolution between the received signal and a desired signal, the presence (or absence) of which is to be
ascertained. This cross-correlation may then be compared to a threshold, comprising a decision rule to test
for the presence of the known signal.

4.1.1 Time-Domain Implementation


Within the time domain, matched lters take the form of a convolution of the received (x[n]) and desired
(s[n]) signals.

Figure 4.1

The output of this convolution will have a distinct peak when the reference and received signals are
most closely correlated, and will have smaller uctuations when they are uncorrelated or weakly correlated.
Therefore, the time domain output of this convolution may simply be compared to a threshold. For samples
where y[n] exceeds the threshold, we assume that x[n] contains our reference signal, and samples where y[n]
falls below the threshold, x[n] does not contain our reference.

4.1.2 Frequency-Domain Implementation


Through the properties of the Fourier Transform, we can transform the above convolution into frequency-
domain multiplication, giving rise to the frequency domain implementation of the matched lter.
1 This content is available online at <http://cnx.org/content/m45413/1.1/>.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>

9
10 CHAPTER 4. MATCHED FILTER

Figure 4.2

While this implementation is obviously more computationally ecient if a frequency-domain copy of


s[n] and x[n] already exists (as in the frequency-domain beamforming implementation), there is an obvious
disadvantage for naïve implementations. If one simply took the DFT over all incoming samples to yield X[k],
then no localization of the reference signal in time would be possible. That is, a decision could possibly be
made about the existence or absence of the reference within the overall signal, but it could not be localized
to a specic time within that interval.
The solution to this falls out of the Short Time Fourier Transform (STFT). If, instead of computing the
DFT over all samples of the input, it is computed over a windowed subset, then we can still apply the above
matched lter method while maintaining the ability to localize the signal's occurrence in time. The new
representation of this is as follows for non-time-varying s[n]:

Figure 4.3

The output of the frequency-domain matched lter can then be either transformed back into the time
domain with the inverse STFT to be used with the existing per-sample decision rule, or can be used as the
input to a frequency domain interpretation of the decision rule. The latter is obviously more computationally
ecient, and is, at its simplest, the L2 norm of Y[k, t].

Figure 4.4

P[n] may then be compared to a threshold to determine the presence or absence of the reference signal
within the STFT slice n.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 5

Direction of Arrival Estimation 1

5.1 Direction of Arrival Estimation

Given the basic foundation in beamforming the other modules in this section have established, we would like
to extend the usefulness of the technique into new domains. One application of interest outside of simply
creating a directional antenna is to identify the direction from which a known source is broadcasting, called
Direction of Arrival Estimation.

5.1.1 Basic Premise:


In all cases, direction of arrival estimation relies upon an a priori estimate of the signal's arrival direction. If
no estimate can be made, the array's response is swept around the unit circle, and a decision rule is applied
to its output. Locations where this decision rule is satised are assumed to correspond to locations of the
known source. If an estimate exists, more sophisticated adaptive processing techniques may be applied to
determine the source's location with greater precision.

5.1.2 Specic Implementation:


To simplify the process of direction estimation, we make a few assumptions about the conguration of our
sensor network and its environment. The rst assumption we make is that our source is suciently distant
from our sensor network for the received wavefront to be considered linear. This rst assumption is called
the Far Field Approximation, and simplies the computation of steering and weighting vectors. The second
assumption we make pertains to the noise environment the sensor operates within. We assume that noise (if
present) is ideal Gaussian noise, simplifying the structure of our signal detection segment.
These assumptions having been made, the detection algorithm is quite simple. We step through angles
over which the array can look, feeding an input from a known location. The output of the array is then fed
through a matched lter, which has the eect of computing the cross-correlation between the signal received
by the array and the known signal of the transmitter. The peak value of that correlation is then stored with
its corresponding angle. Upon completing the sweep over angles, the angle with the highest peak correlation
is taken to be the most likely location of the signal source. This algorithm is described below in pseudocode:

5.1.3 Pseudocode:

Function AngleEstimation{
Angle <- 0
1 This content is available online at <http://cnx.org/content/m45412/1.1/>.
Available for free at Connexions <http://cnx.org/content/col11470/1.2>

11
12 CHAPTER 5. DIRECTION OF ARRIVAL ESTIMATION

Angles <- [] //empty set of angles


Magnitudes <- [] //empty set of peak amplitudes
While Angle < 2*pi {
Output <- Beamformer(Angle, input)
Output <- Matched_Filter(Output)
Angles <- concatenate(Angles, Angle)
Magnitudes <- concat(Magnitudes, max(Output))
Angle <- Angle + pi/32 //increment to next angle
}
SourceAngle <- Angles[index(max(Magnitudes))]
Return SourceAngle;
}

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 6

Conclusion 1

6.1 Conclusion

Beamforming is a sizeable and complex sub-study of digital signal processing. While this module has covered
the fundamentals of a basic frequency domain implementation, more sophisticated techniques certainly exist.
As such, this segment will serve less as a synopsis of the previous sections and more an overview of more
advanced techniques in the eld.

6.1.1 Synopsis
Beamforming is, at its core, the art of combining multiple omnidirectional sensors into a directional whole
with superior characteristics to purpose-built directional sensors. This feat is performed by delaying the
sensors' outputs such that they constructively interfere for signals arriving from a specic direction, and
may be done in either the time or frequency domain. While time domain implementations may be simpler
for some array topologies, frequency-domain implementations are, by and large, much more ecient due to
their ability to create fractional delays (a computationally intensive upsample-delay-downsample process in
time domain).
These systems underlie many technologies that we take for granted, from synthetic aperture RADAR used
for such disparate applications as weather radar and ICBM tracking, to next-generation cellular technologies
seeking to improve connectivity by steering cell signals towards active cell towers.

6.1.2 Advanced Beamforming


While the basic techniques described previously yield acceptable results (particularly for our purposes),
adaptive processing can be used to far increase the performance of an array. These techniques largely
involve a weighting vector w which was not used in our conventional beamforming algorithm. As this
weighting vector may be thought of as a windowing function applied to the spatial characteristics of the
array, it is clear that careful choice of a weighting function could improve parameters of the beamformer,
such as its mainlobe width.
The rst method to perform this width reduction is called Minimum Variance beamforming, which can
also be known as Capon's method. This algorithm, as its name implies, seeks to nd a weighting vector
2
w such that the expectation value of |w'y| is minimized. This is clearly the equivalent of minimizing the
variance of the signal in zero-mean systems. Computing the value of w depends on the propagation direction
and the spatiospectral covariance of all the sensors, but the technical details of that computation are outside
the scope of this summary. Upon applying this weighting vector, the mainlobe width of the array's output
will be much smaller than that generated by the conventional beamforming algorithm.
1 This content is available online at <http://cnx.org/content/m45414/1.1/>.

Available for free at Connexions <http://cnx.org/content/col11470/1.2>

13
14 CHAPTER 6. CONCLUSION

Even more advanced techniques, such as Linear Prediction, can yield even better results for the beam-
former's mainlobe width. At a high level, Linear Predication involves expressing the output of one particular
sensor as a weighted linear combination of all the others. Again, the mathematical details of this method
are beyond the scope of this module.
Further adaptive methods allow for the aggregation of multiple arrays to cancel interference from side-
lobes. For instance, creating a secondary array to preferentially receive an oending signal from one of
the main array's sidelobes with the intent of subtracting this signal from the main array's output. Other
applications of multiple arrays include more advanced direction of arrival estimation, including triangulating
separate array's estimates to yield a direction and distance (which can be tracked over time to get a direction
of motion estimate).

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Chapter 7

Code and Poster 1

7.1 Code and Poster

For those who are curious, we've provided a link to our MATLAB code and poster. Both of them can be
found here2 .

1 This content is available online at <http://cnx.org/content/m45415/1.1/>.


2 http://amd11.web.rice.edu/nalweb

Available for free at Connexions <http://cnx.org/content/col11470/1.2>

15
16 INDEX

Index of Keywords and Terms

Keywords are listed by the section with that keyword (page numbers are in parentheses). Keywords
do not necessarily appear in the text of the page. They are merely associated with that section. Ex.
apples, Ÿ 1.1 (1) Terms are referenced by the page they appear on. Ex. apples, 1

A Advanced beamforming algorithms, Ÿ 6(13) M Matched lter, Ÿ 4(9)


MATLAB code, Ÿ 7(15)
B Beamforming, Ÿ 1(1), Ÿ 2(3), Ÿ 3(7), Ÿ 4(9),
Ÿ 5(11), Ÿ 6(13), Ÿ 7(15) P Project poster, Ÿ 7(15)

D Direction of Arrival Estimation, Ÿ 5(11) S Signal processing, Ÿ 1(1), Ÿ 2(3), Ÿ 3(7), Ÿ 4(9),
Direction of Arrival Estimation., 11 Ÿ 5(11), Ÿ 6(13), Ÿ 7(15)
Steering vector, Ÿ 3(7)
E ELEC 301, Ÿ 1(1), Ÿ 2(3), Ÿ 3(7), Ÿ 4(9),
Ÿ 5(11), Ÿ 6(13), Ÿ 7(15)

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


ATTRIBUTIONS 17

Attributions

Collection: Direction of Arrival Estimation


Edited by: Lindsay Langford
URL: http://cnx.org/content/col11470/1.2/
License: http://creativecommons.org/licenses/by/3.0/
Module: "Introduction"
By: Lindsay Langford
URL: http://cnx.org/content/m45409/1.1/
Pages: 1-2
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/
Module: "Beamforming"
By: Lindsay Langford
URL: http://cnx.org/content/m45411/1.1/
Pages: 3-5
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/
Module: "Steering Vector"
By: Lindsay Langford
URL: http://cnx.org/content/m45410/1.1/
Page: 7
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/
Module: "Matched Filter"
By: Lindsay Langford
URL: http://cnx.org/content/m45413/1.1/
Pages: 9-10
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/
Module: "Direction of Arrival Estimation"
By: Lindsay Langford
URL: http://cnx.org/content/m45412/1.1/
Pages: 11-12
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/
Module: "Conclusion"
By: Lindsay Langford
URL: http://cnx.org/content/m45414/1.1/
Pages: 13-14
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


18 ATTRIBUTIONS

Module: "Code and Poster"


By: Lindsay Langford
URL: http://cnx.org/content/m45415/1.1/
Page: 15
Copyright: Lindsay Langford
License: http://creativecommons.org/licenses/by/3.0/

Available for free at Connexions <http://cnx.org/content/col11470/1.2>


Direction of Arrival Estimation
This is the collection of modules for the ELEC 301 project on direction of arrival estimation.

About Connexions
Since 1999, Connexions has been pioneering a global system where anyone can create course materials and
make them fully accessible and easily reusable free of charge. We are a Web-based authoring, teaching and
learning environment open to anyone interested in education, including students, teachers, professors and
lifelong learners. We connect ideas and facilitate educational communities.
Connexions's modular, interactive courses are in use worldwide by universities, community colleges, K-12
schools, distance learners, and lifelong learners. Connexions materials are in many languages, including
English, Spanish, Chinese, Japanese, Italian, Vietnamese, French, Portuguese, and Thai. Connexions is part
of an exciting new information distribution system that allows for Print on Demand Books. Connexions
has partnered with innovative on-demand publisher QOOP to accelerate the delivery of printed course
materials and textbooks into classrooms worldwide at lower prices than traditional academic publishers.

You might also like