News for

Lab 6 pdf updated. The ZIP package is also updated.

Lab 4 reader updated just below Task 1 to replace ssd references with ss.

Lab 5 reader updated and Lab 5 ZIP now includes the updated GUI slider app.

The Lab 4 reader and ZIP package updated to provide detailed guidance on noise capture for filter frequency response using pyaudio_helper and a USB audio dongle.

A new version of the GUI slider is available which supports saving and restoring all of the slider attributes. Unpack the ZIP in a project folder to replace the old .exe and the old FM4_GUI_slider Libs folder. An extra runtime DLL, XojoGUIFrameworks64.dll, will now be sitting outside the Libs folder.

You will need to purchase your own $50 Cypress Pioneer kit. Note on this link if you follow the link to Buy From Distributor, you may find free shipping, e.g., Arrow. This Cypress link has stopped working, however suppliers have the board in stock: Digikey or Mouser or Arrow.

For Fall 2019 Python >=3.7x and the Python package scikit-dsp-comm will continue to be the computational tool of choice for the course. Of the many code modules in this package, one of the them is With this module the audio subsystem of a Windows/macOS/Linux OS machine can be used for audio record and playback, and real-time streaming audio. The real-time DSP capabilities offered by PyAudio my be added to one or more of the existing labs. Details on the use of pyaudio_helper can be found in the Scipy2018 conference proceedings.



Office Hours

By appointment while on sabbatical.
Office EN 292,
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

Catalog Course Description

Analog filter design, design and simulation of digital processors including filters and FFT algorithms. Prerequisite: ECE 4650 or equivalent
Offered: Fall

Course Materials - Course Notes, m-Code

Course Syllabus as of 07:24 AM on Sunday, August 25, 2019.

Other Course Materials

Lab Assignments
  • Lab 1 as of 09:34 PM on Wednesday, August 28, 2019 (updated for Fall 2019). To get started with the Jupyter notebook download the ZIP listed under Lab2. The ECE 4650/5650 CHapter 2 notebook is also helpful.
  • Lab 2 as of 12:07 PM on Wednesday, September 18, 2019. Jupyter notebook for recording and loop playback (two playback methods), and 1D and 2D arrays in python as of 09:30 PM on Wednesday, September 12, 2018. This ZIP includes the two appendicies to Lab 2 as Jupyter notebooks.
  • Lab 3 as of 09:30 PM on Sunday, September 17, 2017. FM tools setup and board check as of 03:23 PM on Thursday, September 19, 2019. as of 08:25 AM on Friday, September 16, 2016. as of 06:55 AM on Tuesday, September 20, 2016.
  • Lab 4 as of 06:41 AM on Thursday, November 21, 2019. as of 10:17 PM on Saturday, November 16, 2019. Jupyter notebook inside project Python subfolder explains noise cature and spectrum estimation process.
  • Lab 5 as of 07:00 AM on Sunday, November 17, 2019. as of 07:03 AM on Sunday, November 17, 2019.
  • Lab 6 as of 12:05 PM on Wednesday, December 04, 2019. as of 01:06 PM on Wednesday, December 04, 2019.

Spring 2020 Related Course

A course of related interest Spring 2020 is Real-Time DSP, ECE 5655/4655-3, a three credit course on programming the ARM Cortex M4 via the Cypress Pioneer Kit and Keil microvision IDE. In this course approximately half the time is spent in lecture and half the time is spent in the lab working with the hardware and software tools you are getting exposed to this course, but in more detail.