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 Syllabus as of 03:17 PM on Wednesday, August 25, 2021.
Intro Lecture as of 10:33 PM on Tuesday, August 31, 2021.
Lecture Notes
- PDF file of Chapter 2 as of 07:28 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 3 as of 07:29 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 4 as of 07:30 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 5 as of 07:31 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 6 as of 07:31 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 7 as of 10:03 PM on Tuesday, October 05, 2021.
- PDF file of Chapter 8 as of 07:32 AM on Tuesday, August 24, 2021.
- PDF file of Chapter 9 as of 07:32 AM on Tuesday, August 24, 2021.
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
Fall 2021 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 [2018 to 2019], which will be replaced as new lectures occur to [2019 and 2021]. Green denotes a new 2021 lecture video.
- Lecture 1 (fa21). Lecture 1 (fa19)
- Lecture 2 (fa21). Lecture 2 (fa19)
- Lecture 3 (fa21). Lecture 3 (fa19)
- Lecture 4 (fa21). Lecture 4 (fa19)
- Lecture 5 (fa21). Lecture 5 (fa19).
- Lecture 6 (fa21). Lecture 6 (fa19)
- Lecture 7 (fa21). Lecture 7 (fa19).
- Lecture 8 (fa21). Lecture 8 (fa19).
- Lecture 9 (fa21). Lecture 9 (fa19).
- Lecture 9 supplement (fa21).
- Lecture 10 (fa21). Lecture 10 (fa18). Snow day fall 2019.
- Lecture 11 (fa21). Lecture 11. (fa19)
- November 6, 2015 IPython tutorial 1.
- Lecture 12 (fs21). Lecture 12 (fa19).
- November 13, 2015 IPython tutorial 2.
- Lecture 13 (fa21). Lecture 13 (fa19).
- Lecture 14 (fa21). Lecture 14 (fa19).
- Lecture 15 (fa21). Lecture 15 (fa19).
To directly download the lectures for playback at a later time, go to the lectures folder, right click, and download
- Set 1 as of 06:29 AM on Wednesday, September 01, 2021. Set 1 IPYNB Helper Notebook. Hints as of 08:08 PM on Thursday, September 02, 2021. Solutions as of 08:13 AM on Saturday, September 18, 2021.
- Set 2 as of 10:11 PM on Monday, September 13, 2021. Hints as of 02:55 PM on Wednesday, September 29, 2021. Solutions as of 07:48 AM on Saturday, September 25, 2021
- Set 3 as of 10:41 AM on Thursday, September 23, 2021. Hints as of 04:13 PM on Monday, October 04, 2021. Solutions as of 07:31 AM on Saturday, October 09, 2021
- Set 4 as of 09:48 PM on Thursday, October 14, 2021. Hints as of 10:22 PM on Friday, October 22, 2021. Solutions as of 08:52 AM on Saturday, October 30, 2021
- Set 5 as of 03:28 PM on Wednesday, November 10, 2021. Hints as of 02:37 PM on Monday, November 01, 2021. Solutions as of 08:02 AM on Saturday, November 13, 2021
- Set 6 as of 05:29 PM on Saturday, November 13, 2021. Hints as of 05:29 PM on Saturday, November 13, 2021. Solutions as of 05:07 PM on Friday, November 19, 2021
- Set 7 + hints as of 10:38 PM on Saturday, November 27, 2021. Solutions as of 06:57 AM on Thursday, December 09, 2021
- Set 8 + hints as of 02:06 PM on Thursday, December 09, 2021. Solutions as of 07:40 AM on Saturday, December 11, 2021
A Collection of Jupyter Notebooks
Check the posting date for the newest.
- Nov 6 2015 IPython tutorial video.
- Jupyter notebook for recording and loop playback using pyaudio_helper and jupyter widgets, and IPython.display.Audio() as of 12:13 PM on Friday, September 07, 2018. PDF rendering inside the ZIP as two appendices to ECE 4680 Lab 2.
- 5650_Fall_2021_Set_1_Demo as of 10:05 AM on Thursday, August 26, 2021.
- Chapter 2 as of 09:27 PM on Wednesday, September 22, 2021.
- Chapter 3 as of 09:12 PM on Tuesday, September 28, 2021.
- Chapter 4 as of 07:47 AM on Wednesday, November 17, 2021. PDF version of the notebook.
- Chapter 5 as of 01:47 PM on Thursday, November 21, 2019..
- Chapter 6 as of 10:14 PM on Tuesday, December 07, 2021.
- Chapter 7 as of 05:24 PM on Wednesday, December 05, 2018.
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 Friday, November 26, 2021 and the project ZIP file as of 08:43 AM on Thursday, January 06, 2022. The ZIP includes a sample IPYNB file for problems 1, 3, and 4 and a separate notebook for problem 5. The Problem 2 zip as of 09:55 AM on Tuesday, October 12, 2021 is Python and C++ code in a project folder titled FFT_filter when unpacked. MSYS2 + gcc + vs code debug install notes as of 11:01 PM on Sunday, October 17, 2021.
- 2021 Final Project:Set #2p (Final Project) as of 05:14 PM on Wednesday, December 01, 2021 and the project ZIP file as of 10:39 PM on Saturday, November 27, 2021. The ZIP includes a sample IPYNB file for all three problems (problem 2 is a bonus problem), including quite a few code snips to get you started coding algorithms and making plots. I'm trying to streamline your efforts.
- 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 GPS.py 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.
As time permits I will update the Julia dsp_tools.jl and comm_tools.jl modules in the first ZIP file below. I will also add more Pluto notebooks as time permits.
- The first Julia and Pluto notebooks can be found in a ZIP package that includes two Pluto notebooks, support modules that I am developing, and a markdown info doc (also in pdf), plus the nice PDF exports that are directly producable when exporting from the Chrome or Edge browsers.
- Exam 1 Fall 2018 as of 07:57 PM on Monday, October 04, 2021
- Exam 1 Fall 2019 as of 07:57 PM on Monday, October 04, 2021
- Exam 1 Fall 2021 as of 06:51 AM on Wednesday, October 20, 2021
- Exam 2 Fall 2021 as of 09:42 PM on Wednesday, December 01, 2021
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.