PHYS 628, Spring 2010 — Course Outline
Week #0: 22 Jan 2010
∅ Introductions, syllabus and text(s), motivations for the course and DSP in general.
⊕ No HW this week
∇ Throughout the semester, most solutions to the HW assignments will be posted on-line, directly accessible from this page. Other solutions will be posted in the course display case (somewhere in the Physics Dept. hallway).
Week #1: 25 Jan–29 Jan 2010
∅ We'll begin by undertaking a review of some statistical concepts, beginning with continuous theory and moving to discrete forms.
∅ A correction to Wednesday's lecture notes is available here. Also, note that for a Gaussian, P(x) = erfc( -1/sqrt(2) )/2 = ( 1 + erf( 1/sqrt(2) ) )/2.
Homework #1 due 1 Feb, and the solution is now posted
⊗ Here's an example of an excellent HW solution: Student HW #1 and code
∇ No lecture on Friday – we'll arrange a make-up on Tuesday, 2 Feb.
Week #2: 1–5 Feb 2010
∅ We'll discuss some more measures of likeness and begin our investigation of least squares
Homework #2 due 8 Feb, and the solution is now posted
∇ Make-up lecture, 17:15 Tuesday 2 Feb in the 7th floor GI "bullpen" – just outside my office in 706D, SW corner of the building
© Here are some MATLAB functions I've written to help with common tasks on the past few HW assignments, plus some others for the work ahead...
  • cols.m — this Little gem makes multiple copies of a vector into each column
  • rows.m — same as above, but as rows
  • hist_pdf.m — this normalizes the MATLAB hist function to give p(x)
  • powerpointFig.m — changes the bounding box of a plot suitable for the landscape orientation of a presentation
  • powerpoint.m — ever notice how some graphics are illegible when converted to a projected presentation?, this allows you to make text, axes and plot symbols bold, in effect

Week #3: 8–12 Feb 2010
∅ This week we'll explore some connections between least squares fitting and more general concepts regarding the modeling of data
Homework #3 due 15 Feb, and the solution is now posted
Week #4: 15–19 Feb 2010
∅ This week we'll finish LLSF with a look at the orthogonality principle and lead our way to the discrete Fourier transform (DFT)
Homework #4 due 24 Feb (submit this one via email as I'll be on travel next week, and here's the solution for the HW set along with the code used to create & solve the problems
Week #5: 22–26 Feb 2010
∅ This week Prof. Newman will ably guide you through some more aspects of the DFT, its inverse and how to apply it to rudimentary spectral estimation
Homework #5 due 03 Mar
Week #6: 1–5 Mar 2010
∅ This week we'll continue to look at the DFT, as well as some theorems relating it to other techniques. We'll introduce convolution.
⊕ No HW this week
Spring Break: 8–12 Mar 2010
Week #7: 15–19 Mar 2010
⊕ No HW this week
© Here are a pair of cross correlation codes in case you don't have access to MATLAB's Signal Processing Toolbox and xcorr.m (each has the same normalizations available as MATLAB's version):
  • xcor.m — this code computes the cross correlation function estimate via sums, but slightly faster than nested for loops due to a trick using circular shifting of the data in each vector
  • xcorf.m — this code uses MATLAB's built-in conv.m to compute the cross correlation, and since it's FFT-based, it is quite a bit faster than xcor.m

&empty We'll relate convolution to an important concept; cross-correlation, and then continue with PSD estimation.
¤ Mid-Term Exam (take-home) will be posted here beginning 19 Mar. It is due at the beginning of lecture on 26 Mar. A solution is now posted.
Week #8: 23–26 Mar 2010
∅ This week we'll cover cross correlation and its relation to PSD estimation. We'll also look at how leakage occurs and begin to see a way to control it in spectrum estimation. Finally, we'll also look at the uncertainty in our spectral estimates.
⊕ No HW this week, but your Mid-Term Exam is due on Friday, 26 March.
Week #9: 29 Mar–2 Apr 2010
∅ This week we'll finish up spectral estimation via the DFT
¤ NO CLASS ON FRIDAY - comp time for Take-Home mid term.
Homework #6 due 07 Apr; and a solution is now posted
© After too much delay, here are some codes that illustrate concepts we covered in class and also add some useful tools to your kit:
  • chi2_old.m — this code was written in 1994, when I was taking PHYS 628, and it calculates the quantiles to a desired confidence (upper and lower bounds) of a χ²-distributed variable; this code doesn't require any special MATLAB toolboxes
  • chi2.m — this is an improvement on the primitive code above, but only in terms of some speed and compact code; it only calculates a single quantile and uses MATLAB's built-in fminsearch optimization code; effectively, you should see no performance difference between the codes
  • leaks.m — I ran this demo for you in class; it depicts some common windows and their DFT, as well as their off-index FT values, showing the effects of leakage for each type of window; if you don't have the Signal Processing Toolbox, you can hack out the various windows from the code
  • welch.m — this is an example of how to write a window function if you don't have them built-in from MATLAB; this window is commonly used, but not a MATLAB feature
Week #10: 5–09 Apr 2010
∅ After that brief Maui visit (work is tough!) we'll consider the improvements in spectral estimation via the Welch method, as well as a rigorous statistical description of the uncertainty bounds on the PSD as a function of the degrees of freedom (ν) in our estimates.
⊗ Here is a scan of Fig. 3.10 from Jenkins & Watts, showing a graphical look at the uncertainties in spectral estimators
⇒ Rather than do a graphical look-up in Fig. 3.10, you can use either of the χ² quantile codes to estimate the uncertainties in a PSD (given ν > 2 d.o.f. & a desired uncertainty &alpha &isin (0.5, 1) ), you execute either of the following in MATLAB:
  • lims = nu./chi2_old(nu,1-(1-alpha)/2);
  • lims = nu./[chi2(nu,(1-alpha)/2) chi2(nu,1-(1-alpha)/2)];
⇐ Then your PSD & bounds can be expressed as [PSD*lims(1) PSD PSD*lims(2)]
Week #11: 12–16 Apr 2010
∅ I'll be in Huntsville AL this week, but Prof. Olson will take you through the spectral matrix and its applications
Homework #7 due 21 Apr, and a solution is now posted
Week #12: 19–23 Apr 2010
∅ I'm actually here this week! And for a few days we'll look at an alternative functional expansion, similar to the DFT, called the Discrete Karhunen-Loéve Transform (or DKLT, for short)
© Here are some notes (excerpted from my thesis) on DSP in general and the DKLT
Homework #8 due 26 Apr, and a solution is now posted
23 Apr: Spring Fest, no classes
Week #13: 26–30 Apr 2010
∅ This week we'll finish up with the DKLT and take a swing through the territory of parameter estimation via array processing
⊄ An elegant proof of the positive, semi-definite nature of the eigenvalues of the matrices P & R (used in the DLKT), graciously provided by my esteemed colleague, Dr. Roger Waxler of the National Center for Physical Acoustics at The University of Mississippi.
© Here is a code for computing DKLT, including the proper normalizations, for use on HW #9
® And an improved version of the code I ran for you in class on Friday, egDKLT.m – I corrected the problem with letting M > N; play with this before you do the HW assignment
Homework #9 due 7 May, and a solution is now posted
Week #14: 3–7 May 2010
∅ Last week of class – we'll discuss a bit of array processing and the ability to estimate the back-azimuth of a source (acoustic, seismic, etc.) from an array of omni-directional sensors whose output is sampled in time
© Here's a link to the lecture on acoustic signal processing I gave for PASS 2008 (the Physical Acoustics Summer School) – the movies and sounds aren't included, but I can provide them if you really want 'em
Week #F: 12 May 2010
¤ Final Exam (take-home) will be posted here beginning 7 May. It is due NLT 10:00 on 12 May, per the UAF Final Exam Schedule.
∅ And here's the solution for the final exam – have a great summer!