Skip navigation

EE 264 Digital Signal Processing

Instructors

Announcements

  • NEW for Winter quarter 2018: experiment with DSP applications on your smartphone!
    • All students will experiment with DSP implementations on an embedded platform: DSP Shield or their own smartphone (see below)
    • Sign up for 4 units to meet the EE undergraduate design course requirement
    • Register for EE 264W to satisfy the writting in the major and EE undergraduate design course requirements

What is Signal Processing?

Video courtesy of the IEEE Signal Processing Society.

Text Book

  • Discrete-Time Signal Processing, 3/E, Alan V. Oppenheim and Ronald W. Schafer, Pearson, 2010

Course Description

Digital Signal Processing (DSP) is at the heart of almost all modern technology: digital communications, audio/image/video compression, 3D sensing for human machine interfaces and environment perception, multi-touch screens, sensing for health, fitness, biometrics, and security, and the list goes on and on.  Applications of signal processing include some of the hottest current technology trends: internet of things (IoT), cloud computing, software-defined radios, robotics, autonomous vehicles, etc. We are also starting to see higher levels of performance and reduced computational requirements by combining DSP and machine learning techniques.

Oppenheim and Schafer In EE 264 you will learn the fundamentals of DSP:
•    Discrete-time (D-T) random signals
•    Sampling, reconstruction, D-T filtering, multi-rate systems
•    Quantization in analog to digital conversion, and oversampling
•    Properties of linear time invariant (LTI) systems
•    Quantization effects in fixed-point implementations of filters
•    Digital filter design
•    Discrete Fourier Transform (DFT) and FFT
•    Spectrum analysis using the DFT
•    Parametric signal modeling

We will use the flipped-classroom format.  Classroom time will focus on deep understanding of concepts and applications via discussions with instructors and guest speakers.

Lab course in Winter quarter

In Winter quarter the course includes a hands-on lab component with focus on practical implementations of DSP applications on embedded platforms.  You can develop the lab on a embedded processor board (DSP Shield1) provided by the department or you can use your own Android or iOS smartphone or tablet.  The DSP Shield is a portable embedded processor board with an easy to use C++ development environment very similar to the popular Arduino IDE.  The board also contains an audio codec, which would allow us to explore DSP applications in the audio frequency range.  We will use C++ to implement DSP applications and each lab includes starter code to hide platform specific details, including the GUI for the smartphone platforms.  Therefore, no low-level or smartphone programming experience is required.

We will have a dedicated lab session on Fridays from 3 to 4:30 pm, where you can complete the labs and project.  However, you will have access to the DSP Shield and all required accessories so you can experiment whenever and wherever is convenient for you!  If you choose to use your own smartphone, well you already have everything that is needed.

For the final project, you will implement an audio-band orthogonal frequency division multiplexing (OFDM) receiver or you can propose your own project (subject to instructors approval).  All students are required to complete a final project up to the Matlab prototype phase.  Students taking the course for 4 units in addition are required to implement the project on an embedded processing plarform (DSP Shield, Android or iOS device).  Note that the 4 unit version of the class is required to satisfy the EE design requirement.

Some of the projects that has been implemented in the past include:


- Heart rate estimator, Hu
- Guitar effect synthesizer, Herman
- Phase vocoder (pitch shifter), Kong
- Audio compressor and de-esser, Deo

- Time/frequency analyzer (spectrogram), Ling
- Tempo estimation and manipulation, Cheng and Harris
- Speech preprocessing for machine learning recognizer, Chai
- Digital Audio filter for small unmanned aircraft, Krukowski and Hammond

(Project reports courtesy of the corresponding authors)
Energia and DSP Shield

Requirements

Pre-requiresites:  EE 102A and EE 102B or equivalent, basic programming skills (Matlab and C++)

Embedded platform
DSP Shield
(department provided)
Android
(student provided)
iOS
(student provided)
Computer OS 2 macOS or Windows
macOS or Windows
macOS
IDE Energia
X Code or Android Studio X Code
Matlab
yes yes yes
DSP code
C/C++ C/C++ C/C++
GUI code
n/a Java (provided in starter code)
Swift (provided in starter code)
Host interface
Matlab n/a n/a

1 The DSP Shield was developed by Prof. Greg Kovacs’ group in collaboration with Texas Instruments.
2
Students may use lab computers if needed.