ECE 6279: Spatial Array Processing

ECE 6279: Spatial Array Processing
Georgia Institute of Technology
Spring 2007

Instructor: Prof. Aaron Lanterman
Main Office: Centergy 5212
Phone: 404-385-2548
AOL Instant Messager ID: DrAaronL (Even if you don’t like AOL, there
are many chat clients that will use that protocol. I use iChat on the Mac.
I’m on quite frequently, pretty much whenever I’m at a computer,
and welcome questions over AIM.)
E-mail: (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:
When and where: MWF, 12:05-12:55,
Weber SST III 1 (That’s what it says on Oscar – I haven’t actually figured
out where the building is yet!)
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!





  • Homework 7 (due 4/25 for in class students, 5/2 for video). Please get it
    in on time so I can post solutions immediately – I’ve been too lenient on this
    in the past.


  • Quiz I: Tuesday, 2/20, 7:00 PM; room Van Leer 241
  • Quiz II: Tuesday, 3/27, 7:00 PM; room Van Leer 241
  • Quiz III: Thursday, 4/26, 7:00 PM; room TBA


  • Homework 1,
    due 1/26/07 (campus) or 2/2/07 (video)
  • Homework 2,
    due 2/7/07 (campus) or 2/14/07 (video)
  • Homework 3,
    due 2/19/07 (campus) or 2/26/07 (video)

  • Homework 4,
    due 3/26/07 (campus) or 4/2/07 (video)
  • Homework 5,
    due 4/11 (campus) or 4/18 (video) (I forgot to mention this in the writeup,
    but of course, provide your code!)

  • Homework 6
  • Homework 7<!–
  • Homework 2,
    originally due 2/7/05 (campus) or 2/21/05 (video); extended to
    2/9/05 (campus) or 2/23/05 (video)
  • Homework 4,
    due 3/18/05 (campus) or 4/1/05 (video)
  • Homework 6, due
    4/29/05 (campus) or 5/13/05 (video)
  • Homework 7, due
    5/6/05 (campus) or 5/20/05 (video)


    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/10: Lecture 1: Introduction and Sales Pitch
    • 1/12: Lecture 2: Propagating Waves
      (pdf, revised 1/17)
    • 1/17: Lecture 3: Wavenumber-Frequency Space
      (pdf, revised 1/17)
    • 1/19: Lecture 4: Apertures, Part I
    • 1/21: Lecture 5: Apertures, Part II
      (B&W pdf,
      color pdf)
      (MATLAB, revised 1/28)
    • 1/24: Lecture 6: Delay-and-Sum Beamforming for Plane Waves
      (B&W pdf,
      color pdf, revised 1/28)
    • 1/26: Lecture 7: Delay-and-Sum Beamforming for Spherical Waves
      (B&W pdf,
      color pdf, revised 1/28)
      21.5 MB AVI movie)
    • 1/29: Lecture 8: Filter-and-Sum Beamforming
      (B&W pdf,
      color pdf, revised 2/1)
    • 1/30: Lecture 9: Quadrature Demodulation (whiteboard)
    • 2/2: Lecture 10: Conventional Narrowband Beamforming
      (B&W pdf,
      color pdf, second revision posted 2/16)
    • 2/5: Lecture 11: Conventional Wideband Beamforming
      (B&W pdf,
      color pdf)
    • 2/7: Lecture 12: Stochastic Narrowband Models
      (B&W pdf,
      color pdf, revised 2/16)
    • 2/9: Lecture 13: Signal to Noise
      (B&W pdf,
      color pdf)
    • 2/12: Lecture 14: Time Averaging
      (B&W pdf,
      color pdf, link to revision fixed 3/22)
    • 2/14: Lecture 15: Spatial Averaging and Co-arrays
      (B&W pdf,
      color pdf, revised 3/22)
    • 2/19-2/21: Lecture 16: Constrained Optimization
      (B&W pdf,
      color pdf, revised 3/22)
    • 2/23: Lecture 17: MVDR Beamforming
      (B&W pdf,
      color pdf)
    • 2/26: Lecture 18: Pisarenko Harmonic Decomposition
      (B&W pdf,
      color pdf)
    • 2/28: Lecture 19: Subspace Methods: Eigenvalue Method and MUSIC
      (B&W pdf,
      color pdf)
    • 3/2, 3/5, 3/7: No class – Aaron out of town
    • 3/9: Lecture 20: Root MUSIC (whiteboard)
    • 3/12: Lecture 21: ESPRIT, Part I (The Setup)
    • 3/14: Lecture 22: ESPRIT, Part II (Total Least Squares)
    • 3/16: Lecture 23: Robust Constrained Estimation
    • 3/19-3/23: Spring break
    • 3/26: Review for Quiz 2
    • 3/28: Lecture 24: Introduction to Maximum-Likelihood Estimation
    • 3/30: No class – Aaron out of town
    • 4/2: Lecture 25: Properties of Estimators (Bias and Variance)
    • Remaining dates are tentative (I’m just trying to plot out a roadmap
      to make sure the endgame works out nicely)
    • 4/4: Lecture 26: Bias/Variance Tradeoffs
    • Useful paper covering some material in Lectures 27, 28, and 29:
      M.I. Miller and D.R. Fuhrmann,
      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.
    • 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)

    • 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!


    • 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!)

    Administrative Details

    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, 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 result’s 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
    which is 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 tend to bounce back and forth between Centergy, Van Leer,
    and Energy Coffee on the corner 14th and State. (I highly recommend that you
    check out Energy Coffee, it’s a great place.) If you happen to already be in
    Centergy and find that my door is
    open, come on in and say hi, I always welcome questions. However,
    I’m hard to “catch” in my office, so I
    don’t recommend making a special trip to Centery without checking with me
    first to make sure I’ll be there.

    I’ll usually head to lunch in the student center after class.
    People are welcome to join me and discuss things.

    I will make sure I spend some specific
    time both in Centergy and Bunger Henry before
    homeworks are due.
    I’ll announce such things in class.

    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
    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 20%, and not accepted at all after
    solutions are handed out to the class. This is the largest graduate
    class I’ve ever taught; there are over 50 students signed up. The last time
    I ran 6279, there were 15. 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.

    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.

    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
    • “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.

    Tentative grade breakdown: Quiz 1: 25%, Quiz 2: 25%, Quiz 3: 25%,
    Homeworks 25%. (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.)

    The “no slacking” rule: The
    homeworks in this class are important; in them, you will explore concepts
    more deeply than I can possibly put on a quiz. They have a cosmic importance
    beyond the 25% described above. Hence, you must make a decent good-faith
    effort on every homework, i.e. don’t ditch any of the homeworks. Turn in
    something. If you seem to be slacking on the homework,
    I reserve the right to lower your letter grade beyond that indicated by the
    percentages in a way you won’t like. I will give you fair warning if I start
    to get the impression that you are in the slacking zone. It will be easiest
    on everyone if you just don’t go into the slacking zone to begin with.

    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 equivalent to 50 minutes worth
    of quizzing, instead of having to
    jam down nearly three hours worth of material. (I’m not 100% set on this
    idea. If the class really wants a final exam at 8 AM,
    I’ll entertain the possibility
    of giving one. I also reserve the right to give some sort of take-home final,
    in which case I’ll adjust the grade percentages given above accordingly).

    Tentative Topics

    Here are the topics I covered in the Spring 2005 offering 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