Python Applications for Signal Processing and Digital Design

When:
September 19, 2024 @ 6:00 pm – 7:30 pm America/New York Timezone
2024-09-19T18:00:00-04:00
2024-09-19T19:30:00-04:00
Where:
Zoom

COURSE DESCRIPTION

Course Kick-off / Orientation 6:00PM – 6:30PM EDT; Thursday, August 29, 2024

First Video Release, Thursday, August 29, 2024.   Additional videos released weekly in advance of that week’s live session!

Live Workshops:  6:00PM – 7:30PM EDT; Thursdays, September 5, 12, 19, 26

Registration is open through the last live workshop date.  Live workshops are recorded for later use.

Course information will be distributed by Wednesday August 28, and then a brief live Orientation meeting will be held on Thursday August 29 ahead of the weekly live workshops that follow.

Attendees will have access to the recorded session and exercises for two months (until November 26, 2024) after the last live session ends!

 

 

IEEE Member Early Rate (by August 28):  $190.00

IEEE Member Rate (after August 28):  $285.00

IEEE Non-Member Early Rate (by August 28):  $210.00

IEEE Non-Member Rate (after August 28):  $315.00

Decision to run/cancel course:  Thursday, August 22, 2024

Speaker:  Dan Boschen

This is a hands-on course combining pre-recorded lectures with live Q&A and workshop sessions in the popular and powerful open-source Python programming language.

Pre-Recorded Videos:  The course format includes pre-recorded video lectures that students can watch on their own schedule, and an unlimited number of times, prior to live Q&A workshop sessions on Zoom with the instructor. The videos will also be available to the students for viewing for up to two months after the conclusion of the course.

Overview: Dan provides simple, straight-forward navigation through the multiple configurations and options, providing a best-practices approach for quickly getting up to speed using Python for modelling and analysis for applications in signal processing and digital design verification. Students will be using the Anaconda distribution, which combines Python with the most popular data science applications, and Jupyter Notebooks for a rich, interactive experience.

The course begins with basic Python data structures and constructs, including key “Pythonic” concepts, followed by an overview and use of popular packages for scientific computing enabling rapid prototyping for system design.

During the course students will create example designs including a sigma delta converter and direct digital synthesizer both in floating point and fixed point. This will include considerations for cycle and bit accurate models useful for digital design verification (FPGA/ASIC), while bringing forward the signal processing tools for frequency and time domain analysis.

Jupyter Notebooks: This course makes extensive use of Jupyter Notebooks which combines running Python code with interactive plots and graphics for a rich user experience. Jupyter Notebooks is an open-source web-based application (that can be run locally) that allows users to create and share visually appealing documents containing code, graphics, visualizations and interactive plots. Students will be able to interact with the notebook contents and use “take-it-with-you” results for future applications in signal processing.

Target Audience: This course is targeted toward users with little to no prior experience in Python, however familiarity with other modern programming languages and an exposure to object-oriented constructs is very helpful. Students should be comfortable with basic signal processing concepts in the frequency and time domain. Familiarity with Matlab or Octave is not required, but the equivalent operations in Python using the NumPy package will be provided for those students that do currently use Matlab and/or Octave for signal processing applications.

Benefits of Attending / Goals of Course: Attendees will gain an overall appreciation of using Python and quickly get up to speed in best practice use of Python.

All set-up information for the installation of all tools will be provided before the start of class.

Topics / Schedule:

Pre-recorded lectures (3 hours each) will be distributed Friday prior to all Workshop dates. Workshop/ Q&A Sessions are 6pm-7:30pm on the dates listed below:

Kick-off / Orientation:  August 29, 2024

Thursday, September 5, 2024

Topic 1: Intro to Jupyter Notebooks, the Spyder IDE and the course design examples. Core Python constructs.

Thursday, September 12 ,2024

Topic 2: Core Python constructs; iterators, functions, reading writing data files.

Thursday, September 19, 2024

Topic 3: Signal processing simulation with popular packages including NumPy, SciPy, and Matplotlib.

Thursday, September 26, 2024

Topic 4: Bit/cycle accurate modelling and analysis using the design examples and simulation packages

Speaker’s Bio:

Dan Boschen has a MS in Communications and Signal Processing from Northeastern University, with over 25 years of experience in system and hardware design for radio transceivers and modems. He has held various positions at Signal Technologies, MITRE, Airvana and Hittite Microwave designing and developing transceiver hardware from baseband to antenna for wireless communications systems and has taught courses on DSP to international audiences for over 15 years. Dan is a contributor to Signal Processing Stack Exchange https://dsp.stackexchange.com/, and is currently at Microchip (formerly Microsemi and Symmetricom) leading design efforts for advanced frequency and time solutions.

For more background information, please view Dan’s Linked-In page.

Registration is open through the last live workshop date.  Live workshops are recorded for later use.