Welcome to this introduction to digital transmission presented by dspillustrations.com! Throughout this course, we will develop an end-to-end signal transmission chain, that transmits textual data using your soundcard. However, before we can dive into the actual coding, let's setup the coding environment.
The project uses Jupyter notebooks to present the content. The project requires Python 3.4 or higher. A quite handy distribution for python is e.g. Anaconda, but a standard Python3 installation also fits. To setup your development environment, follow these steps:
Please note: This description has been superseeded by a more detailed description here: Setting up Anaconda
Open a command line and move to the directory where the ipynb-files are located.
Create a virtual environment. For example with the following commands:
# python -m venv ewAudio ewAudio\scripts\activate # on Windows source ewAudio/bin/activate # on Linux```
Install all required packages:
pip install -r requirements.txt
This will load all the files from the requirements txt file and install the packages
(Optional:) Install a LaTeX distribution to regenerate the block diagrams.
Run the jupyter notebook with
jupyter notebook
Below, you can try out if you got the packages installed (need to open the Jupyter notebook in Jupyter to run these cells):
# try out numpy and scipy
import numpy as np
print("Numpy:", np.version.full_version)
import scipy as sp
print("Scipy:", sp.version.full_version)
# Source code has been redacted in online version
# Omitting 6 lines of source code
# try out sounddevice
import sounddevice as sd
print("sounddevice:", sd.__version__)
# try loading the tikzmagic extension
%load_ext tikzmagic
Great, if the above cells run without errors, you are ready for diving into the actual content.
Below, we test the matplotlib plotting functionality
import matplotlib.pyplot as plt
t = np.linspace(0, 1, 100)
matplotlib.pyplot.plot(t, np.sin(2*np.pi*2*t));
For completeness, let's try out the tikz extension to draw a simple figure. Remember, that this requires LaTeX to be installed:
%%tikz
\draw (0,0) [fill=blue!10!white] ellipse (2cm and 1cm);
\node at (0,0) {\sffamily DSPIllustrations.com};
Now, I wish you fun with the first notebook which is about setting up your soundcard for the upcoming experiments!
Your Max (dspillustrations.com)
Copyright (C) 2025 - dspillustrations.com