Python

Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.

IPython is a command shell for interactive computing in multiple programming languages, especially focused on the Python programming language, that offers enhanced introspection, rich media, additional shell syntax, tab completion, and rich history.

The Jupyter Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document:


NumPy is the fundamental package for scientific computing with Python. It contains among other things:

  • a powerful N-dimensional array object

  • sophisticated (broadcasting) functions

  • tools for integrating C/C and Fortran code

  • useful linear algebra, Fourier transform, and random number capabilities

The SciPy library is a collection of numerical algorithms and domain-specific toolboxes, including signal processing, optimization, statistics and much more.

matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.

sounddevice

sounddevice is a Python module that provides bindings for the PortAudio library and a few convenience functions to play and record NumPy arrays containing audio signals.

pyrtlsdr is a simple Python interface to devices supported by the RTL-SDR project, which turns certain USB DVB-T dongles employing the Realtek RTL2832U chipset into low-cost, general purpose software-defined radio receivers. It wraps all the functions in the librtlsdr library (including asynchronous read support), and also provides a more Pythonic API.

Resources:

  • “Python for Signal Processing” By José Unpingco. Available for students through UC Berkeley Library Here

  • Python Bootcamp by Josh Bloom and Fernando Perez Here

  • Introduction to Python (general) Here

  • A Crash Course in Python for Scientists Here

  • Scientific Computing with Python Here

  • Tentative numpy tutorial Here

  • Signal Processing Reference Guide Here

  • Numpy for Matlab users Here