ECE 565
Digital Signal Processing



Prof. Marco F. Duarte, Marcus 215I,
Office Hours: Tuesday 10:30-11:30am, Wednesday 11:15am-12:15pm, Thursday 1:30-2:30pm (or by e-mail appointment)


Lectures: 1:25pm-2:00am Monday, Wednesday, Friday at 220 Marston Hall


ECE 565 is an advanced digital signal processing course; its central theme is the application of tools from z-transforms and linear algebra to problems in signal processing. ECE 565 also provides the mathematical foundation for courses in machine learning. Upon successful completion of this course you should be able to:

  1. use z-transforms to characterize discrete-time signal and system properties,

  2. design and implement finite impulse response (FIR) and infinite impulse response (IIR) discrete-time filters,

  3. describe a range of signal processing problems using the language of bases and vector spaces,

  4. use the singular value decomposition to solve and analyze a range of least-squares problems.


Undergraduate Students: ECE 315, Signal Processing Methods, or both ECE 313, Signals and Systems, and ECE 214/314, Introduction to Probability and Random Processes.

Graduate Students: An introductory course in digital signal processing covering concepts such as Fourier transforms, filtering, and sampling. Students should also be familiar with the fundamentals of linear algebra and should be very comfortable with the use of matrices to represent systems of equations – some existing familiarity with eigenvalues, eigenvectors, and eigenvalue decompositions will be extremely helpful. While most of the course will adopt a deterministic perspective, many of the models and algorithms we will discuss also have alternative probabilistic interpretations, and hence familiarity with the basics of probability (especially random vectors) will be useful for gaining a deeper appreciation for the material. Finally, students should also have basic MATLAB programming skills.


There are no mandatory textbooks. The instructor will make lectures notes available after each lecture. Several resources (some available on reserve at the Science Library) can be helpful in learning the material:

  1. Signals and Systems: Theory and Applications” by F. Ulaby and A. Yagle (Available online for free)

  2. “Mathematical Methods and Algorithms for Signal Processing” by Todd Moon and Wynn Stirling, Prentice Hall, 2000.

  3. “Introduction to Applied Linear Algebra - Vectors, Matrices, and Least Squares” by Stephen Boyd and Lieven Vandenberghe, Cambridge U. Press, 2019. (Available online for free)

  4. “Linear Algebra its Applications” by Gilbert Strang, Harcourt, 1988.

  5. “Matrix Analysis” by Roger Horn and Charles Johnson, Cambridge U. Press, 1985.

  6. “Foundations of Signal Processing” by Martin Vetterli, Jelena Kovacevic, and Vivek Goyal, Cambridge U. Press, 2014. (Available online for free)


Week 1: Sampling and reconstruction. Basis representations.

Week 2: Discrete-time signals and systems. Analysis in the time domain.

Week 3: Z-transforms: properties and inversion. Filter design and stability. Frequency response.

Week 4: Z Transform-domain system analysis: filter classifications, causality.

Week 5: Windowing and spectrograms. FIR and IIR filter design. Multirate signal processing.

Week 6: Vector spaces and subspaces.

Week 7: Norms and inner products. Cauchy-Schwarz Inequality. Orthogonality. Hilbert spaces.

Week 8: Projection Theorem. Orthonormal bases.

Week 9: Orthogonal projections. Linear approximation into subspaces. Gram-Schmidt algorithm.

Week 10: Discrete Cosine Transform in Image Processing. Linear Inverse Problems and Least Squares.

Week 11: Inverting Symmetric Matrices: Eigendecompositions, Positive Definite Matrices.

Week 12: Inverting Non-Symmetric Matrices: Singular Value Decompositions. Pseudoinverses.

Week 13: Truncated pseudoinverses. Tikhonov Regularization. Principal Component Analysis.