Skip to content

spatialaudio/digital-signal-processing-exercises

Repository files navigation

digital-signal-processing-exercises

Exercises for a Master's Course on Digital Signal Processing

These exercises accompany the lecture Digital Signal Processing

The lecture and the tutorial are designed for International Standard Classification of Education (ISCED) level 7 (Master, 1 SWS). The project is currently maintained for the winter term 2022/23.

Jupyter notebooks can be accessed via the services

Versions / Tags

  • v0.1 for winter term 2021/22
  • TBD for winter term 2022/23

Branch Conventions

  • we use the dev branch as the developing branch, i.e. all notebook outputs are cleared for convenient diff handling
  • we use the main branch as presentation branch, i.e. notebook outputs (such as plots, results) are included for students' convenience
  • note that we hard reset main branch from time to time in order to represent an actual desired state of the material
  • so please do not rely on main related commits, but rather act on the dev commits, where git history is not changed

Anaconda Environment for Local Usage

The Anaconda distribution is a convenient solution to install a required environment, i.e. to have access to the Jupyter Notebook renderer with a Python interpreter on a personal computer. It is very likely that a very recent installation of Anaconda already delivers all required packages just using the base environment. It is however good practice to create a dedicated environment for each project. So, for this tutorial we might use a mydsp (or whatever name works for us) environment.

  • get into the folder where the exercises are located, e.g. cd my_dsp_folder
  • in the subfolder .binder the environment.yml can be used to create a dedicated conda mydsp environment as
    • conda env create -f environment.yml --force
    • we can remove this environment with conda env remove --name mydsp
  • this should also have installed audio related libraries using pip
    • pip install soundfile==0.10.3.post1
    • we might check this with pip list
  • activate this environment with conda activate mydsp
  • Jupyter notebook renderer needs to know our dedicated environment: python -m ipykernel install --user --name mydsp --display-name "mydsp"
  • we might want to archive the actually installed package versions by
    • python -m pip list > detailed_packages_list_pip.txt and
    • conda env export --no-builds > detailed_packages_list_conda.txt
  • start either a Jupyter notebook or Jupyter lab working environment via a local server instance by either jupyter notebook or jupyter lab
  • start the landing page index.ipynb of the tutorial
  • make sure that the notebooks we want to work with are using our dedicated kernel mydsp

Authorship

Referencing

Please cite this open educational resource (OER) project as Frank Schultz, Digital Signal Processing - A Tutorial Featuring Computational Examples ideally with relevant file(s), github URL, commit number and/or version tag, year.

License

  • Creative Commons Attribution 4.0 International License (CC BY 4.0) for text/graphics
  • MIT License for software

License

The notebooks are provided as Open Educational Resources. Feel free to use the notebooks for your own purposes. The text is licensed under Creative Commons Attribution 4.0, the code of the IPython examples under the MIT license. Please attribute the work as follows: Frank Schultz, Digital Signal Processing - A Tutorial Featuring Computational Examples with the URL https://github.com/spatialaudio/digital-signal-processing-exercises