News for

This Web Site is now inactive until the course is taught again. Since I will be on sabbatical Fall 2020, Dr. Semiari will be teaching the course. I expect will return to teaching the course, Fall 2021.

I updated the Project 2 reader to include a link to GPS_helper for the Kalman filter tracking from pseudo ranges notebook.

I have updated the Python basics PDF and ZIP linked in the left column.

Setting up a new Python 3.7x virtual environment.

3D audio simulator using pyaudio_helper. Link to GitHub in the paper. Real-time DSP in the Jupyter notebook as presented at Scipy2018.

The use of Python >=3.7x and the Python package scikit-dsp-comm is part of this course. See the Scipy2017 tutorial instructions and information in the syllabus (updated for Python 3.7x).

Office Hours

T 3:05 to 4:15 PM and 7:05 to 8:00 PM,
or by appointment.
Phone 255-3500,

Learning Python

Python Basics a tutorial written in Jupyter Notebook. ZIP.

Link to Anaconda. This is the scientific Python I recommend.

Two IDE's I recommend are (1) VS Code with the Python extension and (2) Pycharm Community Edition.

NumPy2MATLAB and IPython reference card

EAS RATS and LATS Servers

Obtaining Mathematica

Mathematica is available across the campus due to the CU system wide site license. This system-site license also means that students may install their own copy on home computers as well. Some links of interest regarding the CU site license for Mathematica are: download and installation and support information.

Catalog Course Description

Study of linear discrete-time systems, linear difference equations, Z-transforms, discrete Fourier transform, fast Fourier transform, sensitivity discrete random processes, quantization effects and design-related concepts.
Prerequisite: ECE 3205 and ECE 3610, or equivalent
Offered: Fall (S)

Course Materials - Course Notes, m-Code

Course Syllabus as of 09:45 PM on Wednesday, August 28, 2019.

Intro Lecture as of 10:37 PM on Sunday, August 25, 2019.

Lecture Notes

  • PDF file of Chapter 2 as of 09:27 PM on Sunday, August 25, 2019.
  • PDF file of Chapter 3 as of 09:27 PM on Sunday, August 25, 2019.
  • PDF file of Chapter 4 as of 09:33 AM on Wednesday, October 23, 2019.
  • PDF file of Chapter 5 as of 09:27 PM on Sunday, August 25, 2019.
  • PDF file of Chapter 6 as of 09:58 PM on Wednesday, December 04, 2019.
  • PDF file of Chapter 7 as of 09:27 PM on Sunday, August 25, 2019.
  • PDF file of Chapter 8 as of 09:27 PM on Sunday, August 25, 2019.
  • PDF file of Chapter 9 as of 03:54 PM on Saturday, March 03, 2018.

Other Course Materials

The DSP demo applications that I have used in class demos, are posted as ZIP files under the link Other Course Materials.

Support Materials for Sampling Theory

Lecture Videos - Streaming and Download

Fall 2019 Lectures as MP4 Movies

All video content is now MP4. The typical file size per lecture is about 300 MB, or less with the MP4. You may be able to stream them, but it is better to download and play from your file system.

A video that talks about Jupyter notebook to PDF conversion via markdown (MD) using the Typora editor. I also walk through the use of Plotly for plots versus matplotlib, and some tweaks to Typora (tweaked theme CSS file).

Two videos for each lecture will be maintained. Presently [2017 to 2018], which will be replaced as new lectures occur to [2018 to 2019]. Green denotes a new 2019 lecture video.

To directly download the lectures for playback at a later time, go to the lectures folder, right click, and download

Problem Sets with Solutions
  • Set 1 as of 09:37 PM on Monday, September 09, 2019. New due date, tentative Friday September 13. IPYNB Helper Notebook.
  • Hints and solutions TBD until course is next taught.
Jupyter Example/Tutorial Notebooks

A Collection of Jupyter Notebooks

Check the posting date for the newest.

Python Projects

Python-based projects making use of Numpy and Scipy has replaced the older MATLAB projects since Fall 2014:

New Python Projects

  • Set #1p as of 10:26 PM on Wednesday, December 11, 2019 and the project ZIP file as of 11:29 AM on Monday, November 04, 2019. The ZIP includes a sample IPYNB file for problems 1-4 and a separate notebook for problem 5.
  • 2019 Final Project: Project2/Final Project as of 08:35 AM on Saturday, December 21, 2019 and the project Project ZIP including a sample IPYNB and file as of 12:18 PM on Wednesday, November 27, 2019. Some updates are possible, but I do not expect anything significant. In the end this project is not that demanding.
  • 2018 Final Project:Set #2p (Final Project) as of 09:54 PM on Sunday, November 25, 2018 and the project ZIP file as of 09:44 PM on Sunday, November 25, 2018. The ZIP includes a sample IPYNB file for all three problems, including quite a few code snips to get you started coding algorithms and making plots. I'm trying to streamline your efforts.
Sample Exams with Solutions
  • TBD until next course offering.

Spring Related 2020 (cont.)

A course of related interest Spring 2020 is Real-Time DSP, ECE 5655/4655-3, a three credit course on programming the ARM M4 Cortex. Keil MDK is the IDE and we make use of the ARM CMSIS-DSP library.