Applications of Python for Digital Design and Signal Processing

Spring 2019

Date: Wednesday, March 6, 13, 20, 27

Time: 6:00PM – 9:00PM

Decision date: Wednesday, February 27, 2019

Early Registration Date deadline: Wednesday, February 20, 2019

Before Early Registration Date:

Members: $325
Non-members: $350

After Early Registration Date:

Members: $350
Non-members: $375

WHERE: Crowne Plaza Hotel, Woburn
15 Middlesex Canal Park Road

Phone 781-245-5405

Speaker: Dan Boschen

Course Summary:

This is a bring-your-own laptop, hands-on course in the popular and powerful open source Python programming language. 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 solving signal processing challenges. Students will be using the Anaconda distribution, which combines Python with the most popular data science applications, and will be making extensive use of the Jupyter Notebook.

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. Once a basic working knowledge of the language is established, 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.

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 in Matlab or Octave is not required, but the equivalent operations in Python using the Numpy package will be provided for those students that do use Matlab and/or Octave for signal processing applications.

A laptop (Mac or PC) preconfigured with Anaconda is required; the specific installation instructions will be emailed to students prior to the start of class.

Benefits of Attending/ Goals of Course:

Each student that completes the course will have the tools in place to immediately put Python to use in their current work environment for scientific computing applications. After this course, you will love using Python as much as Dan does!

Topics / Schedule:

Class 1: Intro to core Python constructs, functions, iterators, reading/writing data files, Jupyter Notebooks.
Class 2: Using popular packages including Itertools, Numpy, Scipy, Matplotlib, Pandas, h5py.
Class 3: Implementation examples including Sigma Delta Converter and DDS, bit/cycle accurate models, analysis.
Class 4: Continuation of examples with class constructs and using the Spyder IDE, debugging techniques.

Speaker’s Bio:

Dan Boschen has a MS in Communications and Signal Processing from Northeastern University, with over 20 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. Dan 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