Giter Site home page Giter Site logo

spatialaudio / signals-and-systems-lecture Goto Github PK

View Code? Open in Web Editor NEW
312.0 20.0 88.0 42.38 MB

Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples

Home Page: http://nbviewer.jupyter.org/github/spatialaudio/signals-and-systems-lecture/blob/master/index.ipynb

License: Other

Jupyter Notebook 99.92% Python 0.08%
signal-processing signals systems fourier-transform laplace-transform notebook signal jupyter ipython bachelors-course

signals-and-systems-lecture's Introduction

Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples

Integration Test

This repository collects didactically edited Jupyter notebooks that introduce the theory of linear, time-invariant (LTI) signals and systems. Please take a look at the static version for a first glance. The continuous-time case, as well as the temporally sampled (discrete-time) case is covered. The theory is accompanied by a series of computational examples and exercises written in IPython 3.

System in the temporal and spectral domain

The notebooks constitute the lecture notes to the bachelor's course Signals and Systems given by Sascha Spors at the University of Rostock, Germany. The contents are provided as Open Educational Resource , so feel free to fork, share, teach and learn. You can give the project a Star if you like the notebooks.

Getting Started

The Jupyter notebooks are accessible in various ways

Other online services (e.g. Google Colaboratory, Microsoft Azure, ...) provide environments for interactive execution of Jupyter notebooks as well. Local execution on your computer requires a local Jupyter/IPython installation. The Anaconda distribution can be considered as a convenient starting point. Then, you'd have to clone/download the notebooks from Github. Use a Git client to clone the notebooks and then start your local Jupyter server. For manual installation under OS X/Linux please refer to your packet manager.

Concept and Contents

An understanding of the underlying mechanisms and the limitations of basic signal processing methods is essential for the design of more complex techniques, such as for example the recent contributions on indirect detection of supermassive black holes heavily relying on system identification and image processing.

The present notebooks cover the fundamentals of linear and time-invariant signals and systems. A focus is laid on a detailed mathematical treatise. The discussion of the mathematical background is important to understand the underlying principles in a more general manner. The materials contain a series of computational examples and exercises to interpret the theoretical findings and foster understanding. The examples are designed to be explored in an interactive manner. Furthermore, an outlook to practical applications is given whenever possible.

The material is organized in two major blocks, namely

  • continuous-time and
  • discrete-time (temporal sampling)

signals and systems. The two blocks become interrelated by the discussion of the ideal temporal sampling process and its inherent implications on sampled signals. The didactical layouts for the two blocks are quite similar:

  • introduction into signals and LTI systems
  • standard signals and operations
  • characterization of LTI systems in the time-domain
  • spectral representation of signals (Laplace and Fourier transform vs. z- and discrete-time Fourier transform)
  • spectral representation of LTI systems
  • properties of LTI systems

This allows to observe the similarities and differences between the continuous- and discrete-time case but otherwise for reading a block without having studied the other one.

Usage and Contributing

The contents are provided as Open Educational Resource. The text is licensed under Creative Commons Attribution 4.0 , the code of the IPython examples under the MIT license. Feel free to use the entire collection, parts or even single notebooks for your own purposes. I am curious on the usage of the provided resources, so feel free to drop a line or report to [email protected].

Our long-term vision is to lay the grounds for a community driven concise and reliable resource covering the entire theory of signals and systems revised by research and engineering professionals. We aim at linking the strengths of both, the good old-fashioned text books and the interactive playground of computational environments. Open Educational Resources in combination with open source tools (Jupyter, Python) and well-established tools for data literacy (git) provide the unique possibility for collaborative and well-maintained resources. Jupyter has been chosen due to its seamless integration of text, math and code. The contents are represented future prove, as simple markdown layout allows for conversion into many other formats (html, PDF, ...). The git version management system features tracking of the changes and authorship.

You are invited to contribute on different levels. The lowest level is to provide feedback in terms of a Star if you like the contents. Please consider reporting errors or suggestions for improvements as issues. We are always looking forward to new examples and exercises, as well as reformulation of existing and novel sub-sections or sections. Authorship of each considerable contribution will be clearly stated. One way of introducing reformulated and new material is to handle them as a tracked pull request.

We are currently working on an accompanying exercise repository to gain knowledge and experience on manual calculation of prototypical signal and systems problems. This will be online very soon.

Build Status

The computational examples in the notebooks are automatically build and checked for errors by continuous integration using github actions.

Integration Test

signals-and-systems-lecture's People

Contributors

fs446 avatar mgeier avatar spors avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

signals-and-systems-lecture's Issues

Typo in the Impulse Response chapter

"In can be concluded" has to be changed to "It can be concluded" (right above the first example)

-> spatialaudio/signals-and-systems-lecture/systems_time_domain/impulse_response.ipynb

raw of image

Hi,

Thanks for providing high-quality material for the signal processing course.
I would like to use your material, but it seems the quality of the image is low.
For instance here: sampling > aliasing.png, spectrum_lowpass_signal.png, spectrum_sampled_signal.png

Perhaps in .svg format or others (e.g., python files to generate those figures).

Introduction of Dirac delta

Maybe it would be a good idea to point out the following more clearly:

  • A rigorous treatment of delta(t) is beyond the scope of this course material. (Same with most EE textbooks.)
  • Fortunately, for our purpose it's enough to "know the rules".

Or to quote the man himself:

Thus delta(x) is not a quantity which can be generally used in mathematical analysis like an ordinary function, but its use must be confined to certain simple types of expression for which it is obvious that no inconsistency can arise.

(P.A.M. Dirac, The Principles of Quantum Mechanics, 4th Ed., §15, p.58)

If someone wants to dig deeper, A. Vretblad - "Fourier Analysis and Its Applications" (Ch.8) has IMHO a quite accessible introduction to distribution theory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.