Welcome to this introduction to digital transmission presented by dspillustrations.com! Throughout this course, we will develop a full OFDM chain including synchronization and channel estimation. 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 (note that all code is contained in the code
subdirectory):
pip install -r requirements_ofdm.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)
# try out matplotlib
import matplotlib
%matplotlib ipympl
print("Matplotlib:", matplotlib.__version__)
# try out sounddevice
import sounddevice as sd
print("sounddevice:", sd.__version__)
Let's try the plotting functionality.
matplotlib.pyplot.plot(np.sin(np.linspace(0, 6*np.pi, 100)));
# 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.
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