Course Description

Course Start Date: Apr 25, 2024: Orientation, videos released weekly

Q&A Workshops: Thu May 2, 9, 16, 23 11am-12:30pm EDT

Location: Zoom Meetings

Speaker: Dan Boschen

Course Name: Apr 25, 2024: Orientation, videos released weekly

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

Back To Courses > Python Applications for Digital Design and Signal Processing

Pre-Recorded Videos combined with Live Q&A Workshops

The course consists of pre-recorded video lectures (approx. 3 hours per week) 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 Q&A workshops will also be recorded for later viewing. The videos will also be available to the students for viewing for up to two months after the conclusion of the course and Dan is available throughout the course to answer questions as well.

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 fixed-point designs including a sigma delta converter, direct digital synthesizer, numerically controlled oscillator and pseudo-random number generator. 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.

Topics / Schedule:

Pre-recorded lectures (3 hours each) will be distributed the week before all Workshop dates. Workshop/ Q&A Sessions are as follows:

  • Course Kick-off and Orientation: 30-minute orientation meeting to go over getting started with the course. 

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

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

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

  • 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 Signal Processing for over 20 years. Dan is a contributor to dsprelated.com and Signal Processing Stack Exchange 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 at: http://www.linkedin.com/in/danboschen

Let’s Learn! Join Now

Explore the full course schedule and registration options on these platforms:

Client Testimonials

  • David Comer

    “Dan's Python course was ridiculously GREAT. I learned quite a bit about Python and found the presentations/material to be far far better than any Python training I have ever seen. It's a bargain for the price. Not being an accomplished Python programmer, my background is in machine language->FORTRAN->C->C++->.NET, etc. I am also experienced in IC design, and embedded systems. I have a strong background in object-oriented language concepts. Taking this course with Dan is really interesting and has pushed me forward into Python. I can't tell you how impressed I am with Dan's presentation, knowledge and teaching skills. Dan uses a combination of pre-recorded videos, live workshops, and code examples with excellent content. My knowledge of Python, Signal Processing & communications has been taken to the next level.
    Dan being a "hardware engineer" is very impressive with what he has accomplished in software. Dan's enthusiasm is key to the learning experience!”

  • Jerry Doty, Research Engineer

    “I frequently use MATLAB for Signal Processing simulations. I've wanted to switch to Python because it's open source, full featured, and growing in popularity. I have just completed Dan Boschen's course on Python for Digital Signal Processing Applications and found it to be perfect for my situation. I prefer recorded videos over live webinars because I can pause and repeat sections as needed. The accompanying live Q&A workshops provided any additional help I required. With frequent hands-on demonstrations and abundance of working examples to reference, Dan clearly shows the "Pythonic way" for developing DSP components. This is a very much "hands-on" course with the right amount of homework to help reinforce learning. After four weeks, I've successfully transitioned from MATLAB as my "goto" tool for DSP development to Python. If you have a basic understanding of DSP concepts and a desire to start using Python for modeling and simulation, this course is ideal. I highly recommend it.”

  • Tom C

    “Dan Boschen's 'Python Applications for Digital Design and Signal Processing' class was a great fit for me to advance my Python skills in an environment that is tailored toward immediate use and practice with the language and associated tool sets. I am a working engineer who came into the class with some Python 2 knowledge but no recent experience and no exposure to Python 3. Dan did a great job of introducing the key advantages and elements of Python and, in particular, the differences of Python 3 and how these differences are advantageous to code structure and processing speed. The class does a great job of introducing current tools for writing, developing and debugging in the Python world and Dan uses simple real-world examples and exercises to reinforce the concepts he teaches. I recommend this course for engineers who are looking to use Python as it will get you to the point where you can launch your own applications quickly using the foundation that Dan provides in the course.”

  • Jester Purtteman, CTO, OptimERA Inc

    “Dan's Python course has remained very on point, ran at a good pace, and covered things in a very complete way. I've been coding in python for about 10 years now on and off and I'm now learning stuff and connecting dots to weird behavior that has haunted me for a LONG time. I don't claim to be a python pro, but I was honestly surprised at how much I've been missing. I highly recommend this Python course!”