Electrical Engineering 123 — Digital Signal Processing (4 Units)

Course Overview


The course focuses on analyzing and synthesizing algorithms and systems that process discrete time signals, with emphasis on realization and implementation. In Miki Lustig’s rendition of the class, a significant portion of the class is labs, which work toward implementing working solutions to real world problems and may include a real-time sonar, airplane location via APRS packages, and image compression, among other things. The more traditional offerings of this class tailor it more as an introductory course in information theory.


  • EE120

Topics Covered

  • Discrete Time Signals and Systems
    • Fourier and Z transforms
    • DFT
    • Two-dimensional versions
  • Digital Signal Processing Topics
    • Flow graphs
    • Realizations
    • FFT
    • Quantization effects
    • Linear prediction
  • Digital Filter Design Methods
    • Windowing
    • Frequency sampling
    • S-to-Z methods
    • Frequency-transformation methods
    • Optimization methods
    • Two-dimensional filter design


Course Work

(In Spring 2016) The course had two midterms, with no final. Weekly problem sets are assigned. There are 4-6 labs that are assigned along with problem sets. There is one final project for the course.

Lab work is based on applications of radio. If you do not have an amateur radio license, you will get one while taking the course.

Time Commitment

3 hours of lecture and 1 hour of discussion per week. The problem sets along with labs take approximately 6-8 hours per week.

Choosing the Course

When to take

This course is usually taken after EE120. During junior year is a good time, as you will have time to move on to advanced signal processing courses.

What next?

After EE123, there are many graduate-level courses in more specific fields available, such as the EE225 series.

Usefulness for Research or Internships

Knowledge in this course provides the foundation for many applications including image processing. While this general knowledge can be helpful in getting a research position, it also paves the road to specialized topics in later courses, which will be extremely valuable in research. Digital signal processing skills acquired from the course, along with knowledge in advanced circuit analysis/design, can help in many electrical engineering internship positions.

Additional Comments/Tips

Have study buddies to do the problem sets, as this will make the process faster. Labs will be the most time-consuming part of this course. If you are shaky or rusty about EE120 materials (transforms), make sure to review them early on in the course, as a strong foundation will allow the materials to make more sense. A big idea in this class is using the intuition you built in EE 120 to avoid doing all the math you also did in EE 120. Some Jupyter notebook experience will also help in the lab assignments.

Last edited: Summer 2020