Below is our master schedule, with pointers to *all* reading
assignments, lecture overheads,^{2} and homework/lab assignments for the course.

To obtain printable versions of the assignments and solutions from off-campus locations, you can use commands such as

scp you@ccrma-gate.stanford.edu:/usr/ccrma/web/html/courses/421/hw/hw1/hw1.pdf . scp you@ccrma-gate.stanford.edu:/usr/ccrma/web/html/courses/421/hw/hw1/hw1sol.pdf .

- Week 1 - Course Intro
- Music 421 Overview (this document)
- Demos
- Verify that you have had adequate prior exposure to elementary spectrum analysis, digital filter analysis, and signal modeling.
- Read the first 25 pages of Chapter 5 of
**Spectral Audio Signal Processing (SASP)**entitled ``Spectrum Analysis of Sinusoids.'' (through ``The Rectangular Window'') - HW#1

- Week 2 - Fourier Review,
Spectrum Analysis Windows
- First three sections of Chapter 2 of
**SASP**entitled ``Fourier Transforms and Theorems''^{3} - HW#2
^{4}

- First three sections of Chapter 2 of
- Week 3 -
Spectrum Analysis Windows,
Optimal Window Design by Linear Programming
**Reading**- Chapter 3 of
**SASP**entitled ``Spectrum Analysis Windows'' - First section of Appendix G of
**SASP**entitled ``Examples in Matlab and Octave'' - HW#3
**Lecture Videos (Total Viewing Time ? Hours):**- History of Spectral Modeling, Pre-Fourier,
Telharmonium, Voder, Vocoder, Additive Synthesis, FM Synthesis
[38:35]
- Applications of STFT
[10:57]
- Notation: Time and Frequency Signal Processing
[2:10]
- Spectrum Analysis Windows
[3:12]
- Spectrum Analysis Windows Continued, Real and Even Signals
[2:31]
- Summary: Windowing in time domain = spectral smoothing in frequency domain
[5:04]
- Rectangular Window and its Fourier Transform, Geometric-Series,
Closed-Form Sum, Sinc Function, Aliased Sinc Function, Decibel,
Scale, Main Lobe, Side Lobes, Side-Lobe Roll-Off Rate,
Convolution Theorem, Triangular Window
[24:12]
- Frequency Resolution Introduction and Examples
[3:49]
- Frequency Resolution,
Rectangular Window Resolving Power,
8:10 Chet mentioned by name,
Generalized Hamming Window Family,
Mu-Law, Telephone Bandwidth, Audibility of Noise, How many digital bits are enough?,
Hearing Threshold, Auditory Masking, Noise Shaping
[18:44]
- Fourier Review: DFT, IDFT, DTFT, IDTFT, continuous versus sampled frequency
[8:57]
- Review Continued,
Spectrum of a Sinusoid,
Spectrum of a Windowed Sinusoid,
Main Lobe, Side Lobes,
Rectangular Window and Transform Review,
Roll-Off Review,
Resolution Example Review,
Four Cases of Continuous/Sampled Time/Frequency: Fourier Transform, Fourier Series, DTFT, DFT
[19:43]
- Fourier Review Continued: Linearity, Fourier Symmetries, Shift Theorem, Linear Phase Term, Convolution Theorem,
Graphical Convolution, FFT Convolution, Cyclic and Acyclic Convolution, Convolutional Spreading, Time Aliasing,
Matlab Example of FFT Convolution, Zero Padding to Next Power of 2, Correlation
[19:48]
- Fourier Review Continued:
Ideal Spectral Interpolation, Zero Padding, Hamming Window, Matlab Examples, Zero-Centered Zero Padding,
Matlab's fftshift,
[20:58]
- JC on Phoné: Early History of Computer Music
[57:20]
- Spectral Interpolation, Bandlimited Interpolation, Sinc Interpolation, Asinc Interpolation
[18:19]
- Spectral Interpolation, Continued
[2:09]
- Fourier Review Continued:
Ideal Spectral Interpolation, Zero Padding, Hamming Window, Matlab Examples, Zero-Centered Zero Padding,
Matlab's fftshift
[20:58]
- Windows,
Rectangular Window Properties Review, Asinc Review,
Generalized Hamming Window Family,
Hann Window,
Hamming Window,
Dolph Chebyshev Window and Transform, Chebyshev Polynomials,
Optimal Windows
[28:48]
- Windows Continued, Review of Previous Windows and Results
[1:26]
- Windows Continued, Continued Review of Previous Windows and Results
[0:49]
- MLT Sine Window,
[5:25]
- Blackman-Harris Window Family, Frequency-Domain Convolution Implementation,
Blackman Window, Three-Term Blackman-Harris Window,
[12:17]
- Three-Term Blackman-Harris Window, Continued,
Power-Of-Cosine Windows
[1:40]
- Power-Of-Cosine Windows
[1:05]
- Power-Of-Cosine Windows, Continued
[1:16]
- Bartlett Window
[2:28]
- Poisson or Exponential Window, System Identification
[5:46]
- Hann-Poisson Window, Eliminating Sidelobes, Convex Optimization, Gradient Ascent/Descent
[9:49]
- Digital Prolate Spheroidal Sequence (DPSS) or Slepian Window,
Kaiser Window, Matlab Implementation of DPSS
[6:14]
- Kaiser and DPSS Windows Compared, Kaiser Window Transform,
Time-Bandwidth Product, Beta and Alpha Parameters for Kaiser Window, Matlab Examples
[9:40]
- Dolph-Chebyshev Window, Relation to Hamming, Impulsive Endpoints, Ripple
[9:06]
- Optimal Window Design by Linear Programming, Chebyshev Window Revisited
[2:31]
- Linear Programming Formulation, Matlab's linprog, Using cvx in place of linprog
[5:26]
- Chebyshev Window Formulated as a Linear Programming Problem
[15:06]
- Remez Multiple Exchange Algorithm
[2:32]
- Remez Exchange Algorithm Continued, Matlab's firpm, Convergence Guarantee, FIR Filter Design
[14:30]
- Constrained Chebyshev Windows Using Linear Programming
[13:30]

- History of Spectral Modeling, Pre-Fourier,
Telharmonium, Voder, Vocoder, Additive Synthesis, FM Synthesis
[38:35]

- Week 4 -
FIR Digital Filter Design
- Chapter 4 of
**SASP**entitled ``FIR Digital Filter Design'' - Lecture Videos on FIR Filter Design:
- FIR Digital Filter Design, Lowpass Filter, Optimal Least Squares, Window Method, Hilbert Transform
[16:33]
- Lowpass Filter Design Review, Frequency-Domain View of Window Method
[5:38]
- Window Method Filter Design Continued, FIR Paint, Frequency-Sampling Method
[4:02]
- Review of Theory for Window Method for FIR Filter Design
[2:51]
- FIR Filter Design Examples Using Different Windows, Optimal
Chebyshev FIR LPF Design, Highpass and Bandpass FIR Design from
LPF, Matlab's fir1 and fir2, Window Method Summary
[28:25]
- Hilbert Transform FIR Filter Design Example
[6:17]
- Hilbert Transform Example Intro
[0:28]
- Hilbert Transform Theory Review
[4:43]
- Single-Sideband Filter from Hilbert Transform, Sampling the Hilbert Transform,
[10:26]
- Hilbert Transform Theory Summary, Kaiser Window, Oversimplified Window-Method Design in Matlab
[9:16]
- Oversimplified Hilbert Design by Window-Method Continued, Transition Band Mistuning,
[7:56]
- Improving the Window-Method Hilbert Design by Reformulating the Desired Frequency Response
[15:32]
- Comparison of Window Method to Remez Exchange for Hilbert Design
[1:35]
- Trick for Converting a Real Lowpass Filter to a Complex Single-Sideband Filter
[2:20]
- Remez Exchange Usage Continued: firpm Parameters for Single-Sideband Filter Design, Results
[6:18]
- Summary of window method versus optimal methods for digital filter design
[5:10]
- More about optimal filter-design methods beyond remez exchange and linprog | cvx,
firpm, cfirpm, references,
More explication of the manual hilbert-transform design
[5:53]

- FIR Digital Filter Design, Lowpass Filter, Optimal Least Squares, Window Method, Hilbert Transform
[16:33]
- HW#4

- Chapter 4 of
- Week 5 -
Window Method for FIR Design,
Sinusoidal Spectrum Analysis
- Finish Chapter 5 of
**Spectral Audio Signal Processing (SASP)**entitled

``Spectrum Analysis of Sinusoids.'' - Lecture Videos on Sinusoidal Spectrum Analysis:
- Lecture 4B, Audio Spectrum Analysis begins,
Introductory remarks: Overview, Outline
[1:00]
- Resolving spectral peaks,
Blackman-Harris window family and frequency resolution
[1:42]
- Blackman-Harris window family and frequency resolution, continued
[2:20]
- Examples of Sufficient Resolution: Rectangular, Hamming, and Blackman windows,
Effective length of Hamming and Blackman windows
[1:40]
- Oboe spectrum analysis example under Rectangular window
[2:20]
- Oboe spectrum analysis example under Hamming window
[0:55]
- Oboe spectrum analysis example under Blackman window
[2:14]
- Conclusions regarding Oboe spectrum analysis under various windows,
Preemphasis typically used for voice (first-order)
[2:36]
- Spectral Interpolation: Ideal and Quadratic
[1:44]
- Quadratic Interpolation Formulation
[1:50]
- Quadratic Interpolation Solution,
Why dB magnitudes interpolate better
[1:20]
- Matlab for Quadratic Interpolation
[0:39]
- Spectral Phase Interpolation,
Phase Unwrapping
[2:24]
- Quadratically Interpolated FFT (QIFFT),
Zero Padding, Quadratic Interpolation of DB Magnitude, QIFFT Bias
[2:24]
- Parabolic Interpolation is a Second-Order Taylor Series Approximation which is Exact for Gaussian Windows
[0:52]
- Performance Evaluation of QIFFT Spectral Interpolation, Bias versus SNR
[3:19]
- Example Minimum Zero-Padding Factors for Perceptually Accurate Peak Frequencies
Rectangular, Hamming, Blackman
Rule of Thumb for Sufficient Zero-Padding
[2:05]
- Optimal Estimation of Peak Frequencies, Intro
[0:34]
- Least-Squares Sinusoidal Parameter Estimation, Problem Statement
[1:57]
- Least-Squares Sinusoidal Parameter Estimation, Formulation
[1:50]
- Error Linear in the Parameters
[0:56]
- Sinusoidal Amplitude Estimation by Least Squares
[1:05]
- Sinusoidal Amplitude Estimation by Least Squares: One Step of Newton's Method
[1:36]
- Sinusoidal Amplitude Estimation by Least Squares: Differentiating and Equating to Zero
[1:00]
- Sinusoidal Amplitude Estimation by Least Squares: Extension to Complex Amplitude
[0:48]
- Sinusoidal Complex-Amplitude Estimation by Least Squares Using the Orthogonality Principle,
Projection Error Orthogonal to the Model
[6:10]
- Sinusoidal Frequency Estimation by Least Squares:
Maximize DTFT Peak Magnitude,
Maximum Likelihood Estimates
[1:15]
- Sinusoidal Frequency Estimation by Least Squares: Summary
[0:32]
- QIFFT Summary
[1:25]

- Lecture 4B, Audio Spectrum Analysis begins,
Introductory remarks: Overview, Outline
[1:00]
- HW#5
- Supplementary: Appendix C of
**SASP**entitled ``Statistical Signal Processing''

- Finish Chapter 5 of
- Week 6 -
Noise Spectrum Analysis
- Chapter 6 of
**SASP**entitled ``Spectrum Analysis of Noise'' - Lecture Videos:
- What is Noise? What is Randomness? White Noise,
Linear Congruential Pseudo-Random Number Generation, Shift Register,
Sequences, Dither
[15:38]
- Power Spectral Density = DTFT of Autocorrelation
[2:38]
- Filtered White Noise
[2:46]
- Noise Synthesis in Matlab
[0:32]
- Noise Synthesis in Matlab, continued; Synthesizing Gaussian Noise; Central Limit Theorem
[2:01]
- Faust White Noise Implementation, Linear Congruential Pseudo-Random Number Generator
[11:16]
- Stationary Noise as Filtered White Noise
[1:17]
- Correlation, Autocorrelation, Cyclic/Acyclic
Correlation, Sample Statistics, Expected Value
[10:46]
- Autocorrelation, Sample Autocorrelation, Stationary, Stochastic, Ergodic
[2:55]
- White Noise Definition
[1:49]
- Sample Variance, Nonzero Mean is a Deterministic Component
[3:17]
- Example: Sample Autocorrelations and and Power Spectral Densities for White Noise
[3:15]
- Sample Power Spectral Density
[2:01]
- Autocorrelation and PSD are Real and Even, PSD Integral is Total Variance
[1:41]

- What is Noise? What is Randomness? White Noise,
Linear Congruential Pseudo-Random Number Generation, Shift Register,
Sequences, Dither
[15:38]
- HW#6

- Chapter 6 of

Download intro421.pdf

[Comment on this page via email]

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University