Signals and Systems: Theory and Practical Explorations with Python – Companion e-book

Signals and Systems: Theory and Practical Explorations with Python – Companion e-book#

This is the companion e-book for “Signals and Systems: Theory and Practical Explorations with Python”. In this e-book, you will find supporting material for the content presented in the print book. These include interactive code pieces that you can execute, and videos that facilitates your learning.

This e-book is presented as an HTML website, with videos that can be played directly in your web browser. For interactive programming content, we provide two options:

  1. Google Colab – Use the “rocket” button in the top-right corner of each page to open the notebook in Google Colab.

  2. Download Jupyter Notebooks – Use the download button in the top-right corner to download the notebook as a “*.ipynb” file, which can be opened with your local or remote Jupyter notebook editor.

We assume that you can program in Python and know how to execute a Jupyter notebook.

Throughout this companion book, we will use two mathematical Python libraries, namely SymPy and NumPy. SymPy focuses on symbolic mathematics. It allows you to define variables as symbols and perform mathematical operations as you would with pen and paper. You can integrate a function or take its derivative, and even solve differential equations – all symbolically. These features make SymPy well-suited for handling continuous time signals and systems.

On the other hand, NumPy excels in numerical computations. It enables the creation of numerical arrays and supports vector and matrix operations. It has fast linear algebra routines with support for multidimensional arrays. NumPy is a natural choice for handling discrete time signals and systems.

If you are not familiar with these libraries, we recommend completing the following basic tutorials before proceeding with the rest of the book.

  1. Introductory tutorial for SymPy

  2. NumPy quick start

Contents: