Digital Signal Processing

This collection of jupyter notebooks introduces various topics of Digital Signal Processing. The theory is accompanied by computational examples written in IPython 3. The notebooks constitute the lecture notes to the masters course Digital Signal Processing read by Sascha Spors, Institute of Communications Engineering, Universität Rostock. The sources of the notebooks, as well as installation and usage instructions can be found on GitHub.

1. Introduction

2. Spectral Analysis of Deterministic Signals

3. Random Signals

4. Random Signals and LTI Systems

5. Spectral Estimation of Random Signals

6. Quantization

7. Realization of Non-Recursive Filters

8. Realization of Recursive Filters

9. Design of Digital Filters


The contents base on the following literature:

  • Alan V. Oppenheim and Ronald W. Schafer, Discrete-Time Signal Processing, Pearson Prentice Hall, 2010.
  • John G. Proakis and Dimitris K. Manolakis, Digital Signal Processing, Pearson, 2006.
  • Athanasios Papoulis and S. Unnikrishna Pillai, Probability, Random Variables, and Stochastic Processes, Mcgraw-Hill, 2002.
  • Petre Stoica and Randolph Moses, Spectral Analysis of Signals, Prentice Hall, 2005.
  • Udo Zölzer, Digitale Audiosignalverarbeitung, Teubner, 2005.
  • Peter Vary, Ulrich Heute and Wolfgang Hess, Digitale Sprachsignalverarbeitung, Teubner, 1998.
  • Bernard Widrow and István Kollár, Quantization Noise - Roundoff Error in Digital Computation, Signal Processing, Control, and Communications, Cambridge University Press, 2010.
  • Simon Haykin, Adaptive Filter Theory, Pearson Education Limited, 2013.
  • Bernd Girod, Rudolf Rabenstein, Alexander Stenger, Einführung in die Systemtheorie, B.G. Teubner Verlag, 2007.


  • Sascha Spors (author)
  • Frank Schultz (author, proofreading)
  • Vera Erbes (author, proofreading)
  • Matthias Geier (technical advice, code review, nbsphinx)


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: Sascha Spors, Digital Signal Processing - Lecture notes featuring computational examples.