ECE 6279: Spatial Array Processing
Georgia Institute of Technology
Spring 2009
Instructor: Prof. Aaron Lanterman
Official Office: Centergy 5212 (however, I am rarely there,
so I do not
recommend trying to “catch” me there)
Phone: 404-385-2548 (I only occasionally check messages – e-mail
is by far the best way to get in touch with me)
E-mail: lanterma@ece.gatech.edu (If you’re e-mailing me about a 6279
related topic, please put “6279” in your
subject line so I can sort 6279 related e-mails easily. Similarly, when
I send class related e-mail, which I tend to do a lot, I’ll try to put
6279 in the subject, although sometimes I will forget.)
Course website: users.ece.gatech.edu/~lanterma/ece6279
(actually you should know that already if you’re reading this)
When and where: MWF, 12:05-12:55, Van Leer 457
Syllabus: You’re looking at it right now. It’s a living
syllabus. I’m not going to pass out a dead tree version, nor do I suggest you
print it out when you can always get the latest version by looking at the
website. Go electrons!
News
- HW 9 (last one!) posted
Quizzes
- Quiz 1: Thur 2/26/09, 7:00-8:30, VL457
- Quiz 2: Wed 4/1, 7:00-8:30, VL 457
- Quiz 3: TBD
Homeworks
- Homework 1,
due Wed, 1/21/09 - Homework 2,
due Wed, 1/28/09 - Homework 3,
due Fri, 2/6/09 - Homework 4,
due Fri, 2/13/09- MATLAB files:
look_vector.m,
steering_vector.m,
makecross.m,
steered_response_hw4_09.m,
crandn.m
- MATLAB files:
- Homework 5,
due Fri, 2/20/09 - Homework 6,
due Mon, 3/8/09 (was originally on Friday; extended to assist people taking
the written PhD qualifying exam) - Homework 7,
due Friday, 3/13/09- MATLAB file: hw7_data09.mat
- Homework 9
Lectures
Credit to where it’s due: These slides draw heavily from Johnson and
Dudgeon, and are also heavily influenced by notes provided by Doug Williams
for earlier versions of this course, and the version of this course I
took from Dan Fuhrmann at Washington University many years ago.
In addition to the PDF, I’ve included the MATLAB code used to make the
various figures on the slides and for various in-class demos. Note that
I whipped up each code fragment as quickly as possible to get the result
I needed, with no thought to re-use, good coding style, or even any
sense of common decency. The comments may be leftovers from previous
scripts, victims of cut and paste, and hence may not accurate.
Use at your own risk!
- 1/5: Lecture 1: Introduction and Sales Pitch
(slides,
slides 4-up) - 1/7: Lecture 2: Propagating Waves
(slides,
slides 4-up) - 1/9: Lecture 3: Wavenumber-Frequency Space
(slides,
slides 4-up) - 1/12: Lecture 4: Apertures, Part I
(slides,
slides 4-up, slides revised 1/21,
MATLAB) - 1/14: Lecture 5: Apertures, Part II
(slides,
slides 4-up, slides revised 1/21,
MATLAB) - 1/16: Lecture 6: Delay-and-Sum Beamforming for Plane Waves
(slides,
slides 4-up, slides revised 1/21,
MATLAB) - 1/21: Lecture 7: Delay-and-Sum Beamforming for Spherical Waves
(slides,
slides 4-up,
MATLAB,
21.5 MB AVI movie) - 1/23: Lecture 8: Filter-and-Sum Beamforming
(slides,
slides 4-up) - 1/26: Lecture 9: Quadrature Demodulation (whiteboard)
- 1/28: Lecture 10: Conventional Narrowband Beamforming
(slides,
slides 4-up) - 1/30: Lecture 11: Conventional Wideband Beamforming
(slides,
slides 4-up) - 2/2: Lecture 12: Stochastic Narrowband Models
(slides,
slides 4-up) - 2/4: Lecture 13: Signal to Noise
(slides,
slides 4-up) - 2/6: Lecture 14: Time Averaging
(slides,
slides 4-up) - 2/9: Lecture 15: Spatial Averaging and Co-arrays
(slides,
slides 4-up)- D.L. Snyder, The
Role of Likelihood and Entropy in
Incomplete-Data Problems: Applications to
Estimating Point-Process Intensities and
Toeplitz Constrained Covariances, Proc. IEEE, Vol. 75, No. 7, July 1987,
pp. 892-907. - D.R. Fuhrmann, Application of Toeplitz
Covariance Estimation to Adaptive Beamforming and Detection, IEEE
Trans. on Signal Proc., Vol. 39, No. 10, Oct. 1991, pp. 2194-2198.
- D.L. Snyder, The
- 2/11: Lecture 16: Constrained Optimization
(slides,
slides 4-up) - 2/13: Lecture 17: MVDR Beamforming
(slides,
slides 4-up) - 2/16: Lecture 18: Pisarenko Harmonic Decomposition
(slides,
slides 4-up) - 2/18: Lecture 19: Subspace Methods: Eigenvalue Method and MUSIC
(slides,
slides 4-up) - 2/20: Lecture 20: Root MUSIC
(slides,
slides 4-up)- B.D. Rao and K.V.S. Hari,
Performance
Analysis of Root-Music,
IEEE Trans. on Acoustics, Speech, and Signal Proc., Vol. 37, No. 12,
Dec. 1989.
- B.D. Rao and K.V.S. Hari,
- 2/23: Lecture 21: ESPRIT, Part 1 (Setup)
(slides,
slides 4-up)- A. Paulraj, R. Roy, and T. Kailath,
A Subspace Rotation Approach to Signal Parameter Estimation,
Proc. IEEE, Vol. 74, No. 7, July 1986, pp. 1044-1045. - A.L. Swindlehurst, B. Ottersten, R. Roy, and T. Kailath,
Multiple
Invariance ESPRIT,
IEEE Trans. on Signal Proc., Vol. 40, No. 4, 1992. (See Section II;
most of this paper is beyond the scope of what we covered, but the review
of basic ESPRIT is nice.)
- A. Paulraj, R. Roy, and T. Kailath,
- 2/25: Lecture 22: ESPRIT, Part 2 (Total Least Squares)
(slides,
slides 4-up) - 2/27: Lecture 23: Robust Constrained Estimation
(slides,
slides 4-up) - 3/2: No class
- 3/4: Lecture 24: Introduction to Estimation Theory, Part I
(slides,
slides 4-up) - 3/6: Lecture 25: Introduction to Estimation Theory, Part II
(slides,
slides 4-up) - Useful paper covering some material in Lectures 26, 27, and 28:
M.I. Miller and D.R. Fuhrmann,
“Maximum-likelihood
narrow-band direction finding and the EM algorithm“, IEEE Trans. on
Acoustics, Speech, and Signal Proc., Vol. 38, No. 9, Sept. 1990,
pp. 1560-1577. - 3/9: Lecture 26: “Stochastic Signal” Gaussian Model
(slides,
slides 4-up,
slides revised 3/10) - 3/11: Lecture 27: “Deterministic Signal” Gaussian Model
(slides,
slides 4-up) - 3/13: Lecture 28: Special Cases of Maximum-Likelihood Estimation
(slides,
slides 4-up) - 3/30: Lecture 29: Introduction to Cramer-Rao Bounds
(slides,
slides 4-up) - 4/6: Lecture 30: Cramer-Rao Bounds for Arrays
(slides,
slides 4-up)- P. Stoica and A. Nehorai,
“MUSIC, Maximum Likelihood, and
Cramer Rao Bound“, IEEE Trans. on Acoustics, Speech, and Signal
Proc., Vol. 37, No. 5, May 1989, pp. 720-741. - P. Stoica and A. Nehorai,
“MUSIC, Maximum Likelihood, and
Cramer-Rao Bound: Further Results and Comparisons“, IEEE Trans. on
Acoustics, Speech, and Signal Proc., Vol. 38, No. 12, Dec. 1990, pp.
2140-2150.
- P. Stoica and A. Nehorai,
- 4/8: Lecture 31: Transformations of Cramer-Rao Bounds
(slides,
slides 4-up) - 4/10: Lecture 32: Model Order Estimation
(slides,
slides 4-up) - 4/13: Lecture 33: Unconstrained Covariance Estimation
(slides,
slides 4-up) - 4/15: Lecture 34: Where to Go from Here?
(slides,
slides 4-up)<!–
- 4/6: Lecture 27: “Stochastic Signal” Gaussian Model
(B&W pdf,
color pdf) - 4/9: Lecture 28: “Deterministic Signal” Gaussian Model
(B&W pdf,
color pdf) - 4/11: Lecture 29: Special Cases of Maximum-Likelihood Estimation
(B&W pdf,
color pdf) - 4/13: Lecture 30: Model Order Estimation, Part 1 (Introduction
and Nonsensical Derivation)- M. Wax and T. Kailath,
“Determining
the Number of Signals by Information Theoretic
Criteria“, IEEE Trans. on Acoustics, Speech, and Signal Proc.,
Vol. 33, No. 2, April 1985, pp. 387-392.
- M. Wax and T. Kailath,
- 4/16: Lecture 31: Model Order Estimation, Part 2 (Sensical Derivation);
Introduction to Cramer-Rao Bounds - 4/18: Lecture 32: Transformation of Cramer-Rao Bounds
- 4/20: Lecture 33: Cramer-Rao Bounds for Sensor Arrays
- 4/23: Lecture 34: Where to Go from Here (and Maybe Random Quiz Hints)
(B&W pdf,
color pdf) - 4/25: TBD
- 4/27: Last class! Woo hoo!
–>
References
- Only required text: D.H. Johnson and J.E. Dudgeon,
Array Signal Processing: Concepts and Techniques, Prentice Hall, 1993.
Available in the bookstore. (I also saw a few used copies at a reasonable
price on Amazon.) If the bookstore has run out and you want a copy from them,
let me know so I can tell them to order more. - Good to get if you’re rolling in extra $$$ and plan to do
serious research in array signal processing:
H.L. Van Trees, Optimum Array Processing (Part IV of Detection,
Estimation, and Modulation Theory), Wiley 2002 (not required!) - The Matrix Cookbook (thanks to
Aaron Albin for the tip)
Administrative Details
Laptops down during lecture: This isn’t because I’m offended that
you’re paying more attention to your e-mail than to me; it has to do with
the degree to which I am easily distracted. When I see laptops up, I find
myself wondering what people are looking at and I too easily wander off course.
Prerequisities: Officially, ECE4270: Introduction to Digital
Signal Processing. In reality, I won’t use much more theory than you
would find in ECE2025. You will need to know basic probability theory
(Gaussian distributions, covariances,
Bayes rule, conditional expectations) at the
level of ECE3075, and not be afraid of a little linear algebra (i.e.
eigenvectors and eigenvalues should be good friends), although you need
not have had an entire class on linear algebra. I will try to make this
course as accessible to a wide variety of backgrounds as possible; hence,
if I start throwing around some theory you’ve never seen before, let me
know. I wouldn’t mind either doing a little review in class, or pointing
you to where you should look to get caught up quickly.
Note that at
other universities, a detection and estimation class is usually a prerequisite
for an spatial array processing. That is not the case at Georgia Tech.
Hence, I will give Reader’s Digest versions of some topics from ECE7251,
just focusing on the results you’ll need, without the proofs.
We will be doing a lot of hacking in MATLAB. You can use another language
if you really really really want, but you will find MATLAB will make your
life much easier. The rather inexpensive student version is available in
the bookstore. Also,
you can look into Octave or
FreeMat,
which are a pretty impressive open-source programming language designed to
be compatible with MATLAB.
Office hours:
I generally don’t have official locked in “office hours.” I’ll usually
head to lunch in the student center after class, and will announce where
I am going.
People are welcome to join me and discuss the material or life in general.
You’re of course always welcome to e-mail me and we can set up a specific
time to meet. Again, put “6279” in your subject.
Homeworks: Homeworks will be assigned every one to two weeks, and
should
be turned in at the beginning of the class they are due. If you need to
miss class, make other arrangements to get the homework to me.
Late homeworks will be penalized, usually 20% per day,
and not be accepted at all after
solutions are handed out to the class. The class is rather large and was
given no T.A. support.
Hence, I will probably not be able to do heavily
detailed grading and to a certain extent will be grading by zen. Please have
mercy on me and do not quibble over minor partial credit issues – these things
tend to average out in the end.
Honor code:
This course will be conducted under the rules and guidelines of
the Georgia Tech Honor Code; infractions will be reported to the
Dean of Students.
Backfile policy: Use of homework solutions and quizzes from previous
versions of ECE6279 is forbidden. The material is highly complex, so it is
extremely difficult to come up with 100% new problems on each offering.
Please be fair to students who may not have access to the same old materials.
Detection of the use of backfiles will result in significant wrath. I have
substantial experience with this matter on recycled lab reports in ECE2025.
I have never had to report an honor code violation in any of my graduate
classes; please let me continue that trend.
Collaboration policy:
You are encouraged to discuss the homework problems with one other
at the “whiteboard” level – i.e., you are free to exchange ideas about
how to approach a problem, and doodle equations to each other on napkins
at lunch. Working homework in groups is OK (you are encouraged to learn
from each other as much as you learn from me!), but you must keep the
discussion at a conceptual level, and the work you turn in should be your
own. You shouldn’t look at someone else’s completed solution, as the
temptation to just copy it would be too high.
You can help one another debug at the level of:
- “Why is MATLAB giving me
this error on line 52?” - “Hey, what’s the MATLAB command to find
the eigenvalues of an unlaiden European swallow?” - “Glancing at this horrendous recursion,
can you think of why I’m running out of memory?” - “Why does my linear beamforming code complain about me dividing by
zero?” - “Why don’t my matrix dimensions match in this multiplication?”
…but you should not spend a whole lot of time looking
at the screen of a fellow student when they are
working on their code. In particular:
Under no circumstances
should you give your computer code
to another student.
To my knowledge, this pretty much matches the approach most grad
classes in ECE
take towards what collaboration is and isn’t allowed. Ask me if you
are uncertain about any of this.
Quizzes: These will be given in the evening at some time mutually
agreeable by the class. I will try to do my best to minimize the number
of people that have a quiz coincide with quizzes and projects in other
classes, but given the size of the class, it will be impossible to make
everyone happy.
The quizzes will be targeted to be about an hour in length, but
to avoid punishing people who understand the material but have difficulties
working under the stress of time pressure, I will give you an hour and a
half to work them. The quizzes will be open book and open notes.
If the evening time is a particular hardship due to work schedules, child
care obligations, etc. let me know and we’ll work something out.
The evening quizzes will also make up for time that I will be out of town.
Tentative grade breakdown: Quiz 1: 20%, Quiz 2: 20%, Quiz 3: 20%,
Homeworks 40%.
That is a lot of quizzes for a grad class, but the material
divides nicely into three sections; also, this helps reduce the “bad day”
effect. If you have a bad day on one quiz, it’s not as devastating as
in a class where there’s just a midterm and a final.
Also note the homework is worth more than you’ll find in most classes –
that’s because the homework will include some valuable computer exercises
that I cannot replicate in an exam setting,
and I want to make sure you don’t blow them off.
Why aren’t we doing a final?:
The scheduled final is Friday at 8 AM. I can’t get excited about that. I
imagine you’re not terribly excited about that time slot either.
Doing all
the quizzes during the semester ensures that you can focus on on studying
for other finals during finals week itself. Also, for any given quiz, you
only have to study an amount of material for that quiz,
instead of having to
jam down nearly three hours worth of material for a final.
Major emergencies: If you have some sort of major life emergency
– serious illness or injury, death in the family, house
burns down or is flooded, etc. – that seriously
impedes
your progress in the class,
please let me know as soon as possible so we can work something
out. You will find professors can be quite reasonable if you keep us in the
loop. Please don’t disappear with no warning
half way through, making me think that you
dropped the class, and then reappear out of nowhere
during dead week asking what you can do to make
things up. (Yes, this has happened quite a bit, in both undergrad and
grad classes.)
Tentative Topics
Here are the topics I covered in previous offerings of ECE6279, in
the order I covered them, and the number of lectures I spent on each topic.
I’ll probably rearrange things as we go along, adding and deleting a topic
here or there, sometimes swapping things aroung if I think of a better order,
but this will give you an idea of where we’re going:
Introduction and Sales Pitch – Propagating Waves – Wavenumber-Frequency Space
– Apertures (two lectures) – Delay-and-Sum Beamforming for Plane Waves –
Delay-and-Sum Beamforming for Spherical Waves –
Filter-and-Sum Beamforming –
Bandlimited Signals –
Conventional Narrowband Beamforming –
Conventional Wideband Beamforming –
Stochastic Narrowband Models –
Signal to Noise –
Temporal Averaging –
Spatial Averaging and Co-Arrays –
Constrained Optimization –
MVDR Beamforming (two lectures) –
Pisarenko Harmonic Decomposition –
Subspace Decompositions –
Eigenvalue Method and MUSIC –
Root MUSIC –
ESPRIT (three lectures) –
Robust Constrained Optimization –
Nonrandom Parameter Estimation –
Properties of Estimators –
“Stochastic Signal” Gaussian Model –
“Deterministic Signal” Gaussian Model –
Special Cases of Maximum-Likelihood Estimation –
Introduction to Cramer-Rao Bounds –
Cramer-Rao Bounds for Direction Finding –
Model Order Estimation –
Where to Go from Here