{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Sascha Spors](https://orcid.org/0000-0001-7225-9992),\n", "Professorship Signal Theory and Digital Signal Processing,\n", "[Institute of Communications Engineering (INT)](https://www.int.uni-rostock.de/),\n", "Faculty of Computer Science and Electrical Engineering (IEF),\n", "[University of Rostock, Germany](https://www.uni-rostock.de/en/)\n", "\n", "# Tutorial Signals and Systems (Signal- und Systemtheorie)\n", "\n", "Summer Semester 2022 (Bachelor Course #24015)\n", "\n", "- lecture: https://github.com/spatialaudio/signals-and-systems-lecture\n", "- tutorial: https://github.com/spatialaudio/signals-and-systems-exercises\n", "\n", "Feel free to contact lecturer [frank.schultz@uni-rostock.de](https://orcid.org/0000-0002-3010-0294)\n", "\n", "The linked Jupyter notebooks below render plots that are being used for the detailed LaTex script `tutorial_latex_deu` and the extended standalone tasks in folder `tutorial_extended_latex_deu` (english versions TBD).\n", "\n", "The indicated hex code (which is also part of the filename) links to the specific exercise in the tutorial script. Currently, most of the notebooks do not contain detailed explanation and discussion of the plots, this is WIP...\n", "\n", "## Table of Contents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Jupyter Notebook Handling\n", "\n", "* [Brief Introduction How To Jupyter Notebook](jupyter/jupyter_intro.ipynb)\n", "* [Simple Example Numpy vs. Sympy](intro_example.ipynb)\n", "\n", "### Continuous-Time Dirac\n", "* [Dirac-generating Functions](dirac_impulse_ct/dirac_impulse_CT_D410BDAAE0.ipynb) (D410BDAAE0)\n", "\n", "### Continuous-Time Signals\n", "* [Fundamental Signals](fundamental_signals_ct/fundamental_signals_CT_F9419655FD.ipynb) (F9419655FD)\n", "\n", "### Continuous-Time Signal Operations\n", "* [Time Shift, Time Mirror](signal_operations_ct/TimeMirrorShift_FBE36B0684.ipynb) (FBE36B0684)\n", "\n", "### Continuous-Time System Properties\n", "* [Frequency Group](system_properties_ct/frequency_group_8844932657.ipynb) (8844932657)\n", "* [Group Delay](system_properties_ct/groupdelay_AB91F8317C.ipynb) (AB91F8317C)\n", "* [System Inversion](system_properties_ct/inversion_4926427BA9.ipynb) (4926427BA9)\n", "* [Maximum Phase = Minimum Phase and Allpass, numpy](system_properties_ct/MaxMinPhaseAllpass_numpy_E1E7E53CFF.ipynb) (E1E7E53CFF)\n", "* [Maximum Phase = Minimum Phase and Allpass, sympy](system_properties_ct/MaxMinPhaseAllpass_sympy_E1E7E53CFF.ipynb) (E1E7E53CFF)\n", "\n", "### Sampling and Interpolation / Reconstruction\n", "* [Ideal Dirac Comb Sampling and Ideal Lowpass Reconstruction](sampling/IdealSamplingReconstruction_45C76AFB33.ipynb) (45C76AFB33)\n", "* [Ideal Sampling Model for Sine Signal](sampling/IdealSamplingReconstruction_EF235EE3D8.ipynb) (EF235EE3D8)\n", "* [Mehrdeutigkeit Cosinus](sampling/MehrdeutigkeitCosine.ipynb)\n", "* [Mehrdeutigkeit Cosinus](fundamental_signals_dt/mehrdeutigkeit_625E151299.ipynb) (625E151299)\n", "* [Reconstruction Filters (Splines)](sampling/ReconstructionSplines.ipynb)\n", "\n", "### Continuous-Time Convolution \n", "\n", "* [Convolution Example I](convolution_ct/convolution_ct_example1_1D3D68B312.ipynb) (1D3D68B312) \n", "* [Convolution Example II](convolution_ct/convolution_ct_example2_AF3B15E0D3.ipynb) (AF3B15E0D3)\n", "* [Convolution Example III](convolution_ct/convolution_ct_example3_C964DD7400.ipynb) (C964DD7400)\n", "\n", "### Discrete-Time Convolution \n", "\n", "* [Convolution Example I](convolution_dt/convolution_discrete_4CBF4358D5.ipynb) (4CBF4358D5)\n", "* [Convolution Example II](convolution_dt/convolution_discrete_FD58EEB1EC.ipynb) (FD58EEB1EC)\n", "* [Convolution Example III (Matlab](convolution_dt/conv_99D5D9F1C9.m) (99D5D9F1C9)\n", "* [Convolution Example IV (Matlab](convolution_dt/convolution_discrete_FD58EEB1EC.m) (FD58EEB1EC)\n", "\n", "### Fourier Series (FS)\n", "\n", "* [Rectangular Pulse](fs/FourierSeries_D1483A84E2.ipynb) (D1483A84E2)\n", "* [Fourier Series Calculus, Signal and Property Examples](fs/Fourierseries_FB93908026.ipynb) (FB93908026)\n", "* [Fourier Series Calculus, Signal and Property Examples](fs/fourier_series_standalone.ipynb) (obsolete?)\n", "\n", "### Fourier Transform (FT)\n", "\n", "* [Left-Shifted Rectangular Pulse](ft/FourierTransformation_1CFE5FE3A1.ipynb) (1CFE5FE3A1)\n", "* [Right-Shifted Rectangular Pulse](ft/FourierTransformation_A8A2DEE53A.ipynb) (A8A2DEE53A)\n", "* [Sinc vs. Rect, Width](ft/FourierTransformation_8C3958BE4F.ipynb) (8C3958BE4F)\n", "* [Rectangular Windowed Cosine](ft/rect_cos_610482EF57.ipynb) (610482EF57)\n", "* [Trigonometric integral Si(x)](ft/sine_intergral_0A13DD5E57.ipynb) (0A13DD5E57)\n", "\n", "### Discrete Fourier Transform (DFT)\n", "\n", "* [DFT of Complex Exponential](dft/dft_complex_signal_0C30EB5E76.ipynb) (0C30EB5E76)\n", "* [DFT to DTFT Interpolation](dft/dtf2dtft_6337B75DF2.ipynb) (6337B75DF2)\n", "* [DFT to DTFT Interpolation (Matlab)](dft/dtf2dtft_6337B75DF2.m) (6337B75DF2)\n", "\n", "### Discrete-Time Fourier Transform (DTFT)\n", "* [Steady State of FIR Filter from DTFT](dtft/fir_filter_steady_state_DF08FCF870.ipynb) (DF08FCF870)\n", "* [Peridodic Sinc](dtft/psinc_767B4C89FE.ipynb) (767B4C89FE) \n", "* [Windowing](dtft/windowing_96D7F1EE47.ipynb) (96D7F1EE47)\n", "\n", "### Laplace Transform\n", "* [Laplace Transform of Fundamental Signals](laplace_transform/fundamental_signals_laplace_plane_31AEFEF90B.ipynb) (31AEFEF90B)\n", "* [Region of Convergence](laplace_transform/region_of_convergence.ipynb)\n", "\n", "### System Analysis with Laplace Transform\n", "* [Bode Plot vs 3D Pole-Zero Map](laplace_system_analysis/bodeplot_example_approximations_pzmaps3D.ipynb)\n", "* [Bode Plot Approximation](laplace_system_analysis/bodeplot_example_approximations.ipynb)\n", "* [Bode Plot Level Prototypes](laplace_system_analysis/bodeplot_magnitude_prototypes.ipynb)\n", "* [Bode Plot Examples](laplace_system_analysis/bodeplot_examples.ipynb)\n", "* [Bode Plot Examples (Matlab)](laplace_system_analysis/bodeplot_examples.m)\n", "* [Solving 2nd Order ODE (Lowpass Filter)](laplace_transform/solving_2nd_order_ode_839973EF5D.ipynb) (839973EF5D) \n", "* [Bode Plot Lowpass Filter](laplace_system_analysis/lowpass2nd_44EB4169E9.ipynb) (44EB4169E9)\n", "* [Bode Plots (Matlab)](laplace_system_analysis/bode_diagramme.m)\n", "\n", "### z Transform\n", "* [z Transform of Signals](z_transform/z_transform_examples.ipynb)\n", "\n", "### System Analysis with z Transform\n", "* [Maximum Phase = Minimum Phase and Allpass](z_system_analysis/minphase_allpass_55A8105469.ipynb) (55A8105469)\n", "* [Maximum Phase = Minimum Phase and Allpass (Matlab)](z_system_analysis/minphase_allpass_55A8105469.m) (55A8105469)\n", "* [System Analysis I](z_system_analysis/z_system_analysis.ipynb)\n", "* [System Analysis I (Matlab)](z_system_analysis/z_system_analysis.m)\n", "* [System Analysis II](z_system_analysis/z_system_analysis2.ipynb)\n", "* [System Analysis of FIR Filter](dtft/fir_filter_64BE42BAEF.ipynb) (64BE42BAEF)\n", "* [Pole Zero Map 3D](z_system_analysis/ztransferfunction_pzmaps3D.ipynb)\n", "* [Difference Equation, b/a Coefficients, Impulse/Step Response](z_system_analysis/z_system_analysis_A1D74A9E5B_94A7A6D9E9.ipynb) (A1D74A9E5B and 94A7A6D9E9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contributions\n", "\n", "- [Frank Schultz](https://github.com/fs446) (concept, author)\n", "- [Robert Hauser](https://github.com/robhau) (author)\n", "- [Sascha Spors](https://github.com/spors) (concept, proof read)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Copyright\n", "\n", "This tutorial is provided as Open Educational Resource (OER), to be found at\n", "https://github.com/spatialaudio/signals-and-systems-exercises\n", "accompanying the OER lecture\n", "https://github.com/spatialaudio/signals-and-systems-lecture.\n", "Both are licensed under a) the Creative Commons Attribution 4.0 International\n", "License for text and graphics and b) the MIT License for source code.\n", "Please attribute material from the tutorial as *Frank Schultz,\n", "Continuous- and Discrete-Time Signals and Systems - A Tutorial Featuring\n", "Computational Examples, University of Rostock* with\n", "``github URL, commit number and/or version tag, year, (file name and/or content)``." ] } ], "metadata": { "kernelspec": { "display_name": "mydsp", "language": "python", "name": "mydsp" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 2 }