{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"nbsphinx": "hidden"
},
"source": [
"# The Fourier Transform\n",
"\n",
"*This Jupyter notebook is part of a [collection of notebooks](../index.ipynb) in the bachelors module Signals and Systems, Communications Engineering, Universität Rostock. Please direct questions and suggestions to [Sascha.Spors@uni-rostock.de](mailto:Sascha.Spors@uni-rostock.de).*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Theorems\n",
"\n",
"The theorems of the Fourier transform relate basic time-domain operations to their equivalents in the Fourier domain. They are of use for the computation of Fourier transforms of signals composed from modified [standard signals](../continuous_signals/standard_signals.ipynb) and for the computation of the response of systems to an input signal. The theorems allow further to predict the consequences of modifying a signal or system by certain operations."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Temporal Scaling Theorem\n",
"\n",
"A signal $x(t)$ for which the Fourier transform $X(j \\omega) = \\mathcal{F} \\{ x(t) \\}$ is existing and known is given. The Fourier transform of the [temporally scaled signal](../continuous_signals/operations.ipynb#Temporal-Scaling) $x(a t)$ with $a \\in \\mathbb{R} \\setminus \\{0\\}$ reads\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ x(a t) \\} = \\frac{1}{|a|} \\cdot X \\left( \\frac{j \\omega}{a} \\right)\n",
"\\end{equation}\n",
"\n",
"The Fourier transformation of a temporally scaled signal is given by inverse scaling of the Fourier transform of the unscaled signal and weighting with $\\frac{1}{|a|}$. This relation is known as scaling theorem of the Fourier transform. It can be proven by introducing the scaled signal $x(a t)$ into the definition of the Fourier transformation together with the substitution $t' = a t$. For $a>0$ this reads\n",
"\n",
"\\begin{equation}\n",
"\\begin{split}\n",
"\\mathcal{F} \\{ x(a t) \\} &= \\int_{-\\infty}^{\\infty} x(a t) e^{-j \\omega t} dt \\\\\n",
"&= \\frac{1}{a} \\int_{-\\infty}^{\\infty} x(t') e^{-j \\frac{\\omega}{a} t'} dt' \\\\\n",
"&= \\frac{1}{a} X \\left( \\frac{\\omega}{a} \\right)\n",
"\\end{split}\n",
"\\end{equation}\n",
"\n",
"\n",
"\n",
"Note that the cases $a<0$ and $a>0$ have to be regarded separately."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Example**\n",
"\n",
"According to the scaling theorem and the [Fourier transform of the rectangular signal](definition.ipynb#Transformation-of-the-Rectangular-Signal) $\\mathcal{F} \\{ \\text{rect}(t) \\} = \\text{sinc} \\left( \\frac{\\omega}{2} \\right)$, the transform of the scaled rectangular signal $\\text{rect}(a t)$ is given as\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ \\text{rect}(a t) \\} = \\frac{1}{|a|} \\cdot \\text{sinc} \\left( \\frac{\\omega}{2 a} \\right)\n",
"\\end{equation}\n",
"\n",
"This can be confirmed by explicitly calculating the Fourier transformation of $\\text{rect}(a t)$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\frac{2 \\sin{\\left(\\frac{\\omega}{2 a} \\right)}}{\\omega}$"
],
"text/plain": [
" ⎛ ω ⎞\n",
"2⋅sin⎜───⎟\n",
" ⎝2⋅a⎠\n",
"──────────\n",
" ω "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import sympy as sym\n",
"sym.init_printing()\n",
"\n",
"\n",
"def fourier_transform(x):\n",
" return sym.integrals.transforms._fourier_transform(x, t, w, 1, -1, 'Fourier')\n",
"\n",
"\n",
"t, w = sym.symbols('t omega')\n",
"a = sym.symbols('a', positive=True)\n",
"\n",
"x = sym.Heaviside(t + sym.S.Half/a) - sym.Heaviside(t - sym.S.Half/a)\n",
"X = fourier_transform(x)\n",
"X"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For illustration both the signal $x(t)$ and its Fourier transform $X(j \\omega)$ are plotted for a specific value of $a$"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"application/pdf": "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MCBSCi9FbmNvZGluZyA8PCAvRGlmZmVyZW5jZXMgWyA5NyAvYSAxMTYgL3QgXSAvVHlwZSAvRW5jb2RpbmcgPj4gL0ZpcnN0Q2hhciAwCi9Gb250QkJveCBbIC0xMDE2IC0zNTEgMTY2MCAxMDY4IF0gL0ZvbnREZXNjcmlwdG9yIDEzIDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1IC9OYW1lIC9EZWphVnVTYW5zLU9ibGlxdWUKL1N1YnR5cGUgL1R5cGUzIC9UeXBlIC9Gb250IC9XaWR0aHMgMTIgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvQXNjZW50IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgOTYKL0ZvbnRCQm94IFsgLTEwMTYgLTM1MSAxNjYwIDEwNjggXSAvRm9udE5hbWUgL0RlamFWdVNhbnMtT2JsaXF1ZQovSXRhbGljQW5nbGUgMCAvTWF4V2lkdGggMTM1MCAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTIgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYz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cHRvciAxOSAwIFIKL0ZvbnRNYXRyaXggWyAwLjAwMSAwIDAgMC4wMDEgMCAwIF0gL0xhc3RDaGFyIDI1NSAvTmFtZSAvRGVqYVZ1U2FucwovU3VidHlwZSAvVHlwZTMgL1R5cGUgL0ZvbnQgL1dpZHRocyAxOCAwIFIgPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9Bc2NlbnQgOTI5IC9DYXBIZWlnaHQgMCAvRGVzY2VudCAtMjM2IC9GbGFncyAzMgovRm9udEJCb3ggWyAtMTAyMSAtNDYzIDE3OTQgMTIzMyBdIC9Gb250TmFtZSAvRGVqYVZ1U2FucyAvSXRhbGljQW5nbGUgMAovTWF4V2lkdGggMTM0MiAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTggMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQgNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2MzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM0MiA2MzUgNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAwIDEwMDAgNTIxIDQwMCAxMDIzIDYwMCA1MjUgNjExIDMxOCA0MDEgNjM2IDYzNiA2MzYgNjM2IDMzNwo1MDAgNTAwIDEwMDAgNDcxIDYxMiA4MzggMzYxIDEwMDAgNTAwIDUwMCA4MzggNDAxIDQwMSA1MDAgNjM2IDYzNiAzMTggNTAwCjQwMSA0NzEgNjEyIDk2OSA5NjkgOTY5IDUzMSA2ODQgNjg0IDY4NCA2ODQgNjg0IDY4NCA5NzQgNjk4IDYzMiA2MzIgNjMyIDYzMgoyOTUgMjk1IDI5NSAyOTUgNzc1IDc0OCA3ODcgNzg3IDc4NyA3ODcgNzg3IDgzOCA3ODcgNzMyIDczMiA3MzIgNzMyIDYxMSA2MDUKNjMwIDYxMyA2MTMgNjEzIDYxMyA2MTMgNjEzIDk4MiA1NTAgNjE1IDYxNSA2MTUgNjE1IDI3OCAyNzggMjc4IDI3OCA2MTIgNjM0CjYxMiA2MTIgNjEyIDYxMiA2MTIgODM4IDYxMiA2MzQgNjM0IDYzNCA2MzQgNTkyIDYzNSA1OTIgXQplbmRvYmoKMjEgMCBvYmoKPDwgL2MgMjIgMCBSIC9lIDIzIDAgUiAvZWlnaHQgMjQgMCBSIC9mb3VyIDI1IDAgUiAvb25lIDI3IDAgUgovcGFyZW5sZWZ0IDI4IDAgUiAvcGFyZW5yaWdodCAyOSAwIFIgL3BlcmlvZCAzMCAwIFIgL3IgMzEgMCBSIC9zaXggMzIgMCBSCi90IDMzIDAgUiAvdHdvIDM0IDAgUiAvemVybyAzNSAwIFIgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDIwIDAgUiAvRjIgMTQgMCBSID4+CmVuZG9iago0IDAgb2JqCjw8IC9BMSA8PCAvQ0EgMCAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMiA8PCAvQ0EgMSAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+ID4+CmVuZG9iago1IDAgb2JqCjw8ID4+CmVuZG9iago2IDAgb2JqCjw8ID4+CmVuZG9iago3IDAgb2JqCjw8IC9GMS1EZWphVnVTYW5zLW1pbnVzIDI2IDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvQ291bnQgMSAvS2lkcyBbIDEwIDAgUiBdIC9UeXBlIC9QYWdlcyA+PgplbmRvYmoKMzYgMCBvYmoKPDwgL0NyZWF0aW9uRGF0ZSAoRDoyMDIxMDQzMDExMjY0MSswMicwMCcpCi9DcmVhdG9yIChNYXRwbG90bGliIHYzLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjMuNCkgPj4KZW5kb2JqCnhyZWYKMCAzNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAwOTkwOSAwMDAwMCBuIAowMDAwMDA5Njc2IDAwMDAwIG4gCjAwMDAwMDk3MTkgMDAwMDAgbiAKMDAwMDAwOTgxOCAwMDAwMCBuIAowMDAwMDA5ODM5IDAwMDAwIG4gCjAwMDAwMDk4NjAgMDAwMDAgbiAKMDAwMDAwMDA2NSAwMDAwMCBuIAowMDAwMDAwMzk1IDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMTk1MCAwMDAwMCBuIAowMDAwMDAzMTc0IDAwMDAwIG4gCjAwMDAwMDI5NjYgMDAwMDAgbiAKMDAwMDAwMjY0NCAwMDAwMCBuIAowMDAwMDA0MjI3IDAwMDAwIG4gCjAwMDAwMDE5NzEgMDAwMDAgbiAKMDAwMDAwMjM5MyAwMDAwMCBuIAowMDAwMDA4NDMzIDAwMDAwIG4gCjAwMDAwMDgyMzMgMDAwMDAgbiAKMDAwMDAwNzgzMCAwMDAwMCBuIAowMDAwMDA5NDg2IDAwMDAwIG4gCjAwMDAwMDQyNjkgMDAwMDAgbiAKMDAwMDAwNDU3MiAwMDAwMCBuIAowMDAwMDA0ODkwIDAwMDAwIG4gCjAwMDAwMDUzNTUgMDAwMDAgbiAKMDAwMDAwNTUxNyAwMDAwMCBuIAowMDAwMDA1Njg3IDAwMDAwIG4gCjAwMDAwMDU4MzkgMDAwMDAgbiAKMDAwMDAwNjA1OSAwMDAwMCBuIAowMDAwMDA2MjgxIDAwMDAwIG4gCjAwMDAwMDY0MDIgMDAwMDAgbiAKMDAwMDAwNjYzMiAwMDAwMCBuIAowMDAwMDA3MDIyIDAwMDAwIG4gCjAwMDAwMDcyMjYgMDAwMDAgbiAKMDAwMDAwNzU0NyAwMDAwMCBuIAowMDAwMDA5OTY5IDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gMzYgMCBSIC9Sb290IDEgMCBSIC9TaXplIDM3ID4+CnN0YXJ0eHJlZgoxMDEyNgolJUVPRgo=\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" 2021-04-30T11:26:41.573809 \n",
" image/svg+xml \n",
" \n",
" \n",
" Matplotlib v3.3.4, https://matplotlib.org/ \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/pdf": "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IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgOTYKL0ZvbnRCQm94IFsgLTEwMTYgLTM1MSAxNjYwIDEwNjggXSAvRm9udE5hbWUgL0RlamFWdVNhbnMtT2JsaXF1ZQovSXRhbGljQW5nbGUgMCAvTWF4V2lkdGggMTM1MCAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTIgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQgNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2MzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM1MCA2MzUgNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAwIDEwMDAgNTIxIDQwMCAxMDI4IDYwMCA1MjUgNjExIDMxOCA0MDEgNjM2IDYzNiA2MzYgNjM2IDMzNwo1MDAgNTAwIDEwMDAgNDcxIDYxNyA4Mzgg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YXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxOSAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoyMiAwIG9iago8PCAvYnJhY2VsZWZ0IDIzIDAgUiAvYnJhY2VyaWdodCAyNCAwIFIgL2MgMjUgMCBSIC9lIDI2IDAgUiAvZml2ZSAyNyAwIFIKL29uZSAyOSAwIFIgL3BhcmVubGVmdCAzMCAwIFIgL3BhcmVucmlnaHQgMzEgMCBSIC9wZXJpb2QgMzIgMCBSIC9yIDMzIDAgUgovdCAzNCAwIFIgL3R3byAzNSAwIFIgL3plcm8gMzYgMCBSID4+CmVuZG9iago0MSAwIG9iago8PCAvQkJveCBbIC0xNDEgLTI0MCAxMTI4IDc5NSBdIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMzgxCi9TdWJ0eXBlIC9Gb3JtIC9UeXBlIC9YT2JqZWN0ID4+CnN0cmVhbQp4nDWTuXEGMQhG862CEsQpqZ5/xpHdf+oHa0cwy/EdaJ+8kh7y84RLpsn3c5fkLVHfUpaix6Viyecxu1IZYkelysT9TPw8fnOyiCAuiVN0bippe2ay6Aj6l/5tq97vRj8ztqQO+Qoqe8HgHNlKrPvGyK50ZiabvlzwumDSybYD6u5tLjFYNpGK1ftFu4KCRWX3TN5musFKiXsmpraeyQyMruJOgpOhM8OX0fHaVQv/slmXMpM1WjLPeJelw4CeVona1jNxD7fO4N/c8tK18WQNN9BKN7zoR3E0ljW3cH2/KFh6JBYz+l6heZX4Vba5eKvY3hU74uz+Zm/9Z06Hd+bgvJnRrfAh44rKNS22KK4b3adlmkLziOGi33kc1ndW9GGAsp4BBHevQkvlXOG6S+boTAbreR9E5TGgRvsybYe2ZSz1Eh5D71JEgsnyNB2C/RSgtWPMnTgSJztdWXOumbltpeWecxkYbY/Za1OTfr9oHxHEv3/h83z9Ai8TlAoKZW5kc3RyZWFtCmVuZG9iagozOSAwIG9iago8PCAvQmFzZUZvbnQgL1NUSVhOb25Vbmljb2RlLUl0YWxpYyAvQ2hhclByb2NzIDQwIDAgUgovRW5jb2RpbmcgPDwgL0RpZmZlcmVuY2VzIFsgXSAvVHlwZSAvRW5jb2RpbmcgPj4gL0ZpcnN0Q2hhciAwCi9Gb250QkJveCBbIC0xNDEgLTI0MCAxMTI4IDc5NSBdIC9Gb250RGVzY3JpcHRvciAzOCAwIFIKL0ZvbnRNYXRyaXggWyAwLjAwMSAwIDAgMC4wMDEgMCAwIF0gL0xhc3RDaGFyIDI1NQovTmFtZSAvU1RJWE5vblVuaWNvZGUtSXRhbGljIC9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDM3IDAgUiA+PgplbmRvYmoKMzggMCBvYmoKPDwgL0FzY2VudCAxNDUwIC9DYXBIZWlnaHQgMCAvRGVzY2VudCAtNTUyIC9GbGFncyA5NgovRm9udEJCb3ggWyAtMTQxIC0yNDAgMTEyOCA3OTUgXSAvRm9udE5hbWUgL1NUSVhOb25Vbmljb2RlLUl0YWxpYwovSXRhbGljQW5nbGUgNDM5MDkgL01heFdpZHRoIDI1MCAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMAo+PgplbmRvYmoKMzcgMCBvYmoKWyAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgXQplbmRvYmoKNDAgMCBvYmoKPDwgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL0YxIDIxIDAgUiAvRjIgMTQgMCBSIC9GMyAzOSAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0YxLURlamFWdVNhbnMtbWludXMgMjggMCBSIC9GMi1EZWphVnVTYW5zLU9ibGlxdWUtb21lZ2EgMTcgMCBSCi9GMy1TVElYTm9uVW5pSXRhLXVuaUUyMzIgNDEgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iago0MiAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMjEwNDMwMTEyNjQyKzAyJzAwJykKL0NyZWF0b3IgKE1hdHBsb3RsaWIgdjMuMy40LCBodHRwczovL21hdHBsb3RsaWIub3JnKQovUHJvZHVjZXIgKE1hdHBsb3RsaWIgcGRmIGJhY2tlbmQgdjMuMy40KSA+PgplbmRvYmoKeHJlZgowIDQzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDEzNjM3IDAwMDAwIG4gCjAwMDAwMTMzMjQgMDAwMDAgbiAKMDAwMDAxMzM3OCAwMDAwMCBuIAowMDAwMDEzNDc3IDAwMDAwIG4gCjAwMDAwMTM0OTggMDAwMDAgbiAKMDAwMDAxMzUxOSAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDA0MDAgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDAzMTUwIDAwMDAwIG4gCjAwMDAwMDQ2ODkgMDAwMDAgbiAKMDAwMDAwNDQ4MSAwMDAwMCBuIAowMDAwMDA0MTU5IDAwMDAwIG4gCjAwMDAwMDU3NDIgMDAwMDAgbiAKMDAwMDAwMzE3MSAwMDAwMCBuIAowMDAwMDAzNTkzIDAwMDAwIG4gCjAwMDAwMDM5MDggMDAwMDAgbiAKMDAwMDAwOTk2NSAwMDAwMCBuIAowMDAwMDA5NzY1IDAwMDAwIG4gCjAwMDAwMDkzNDkgMDAwMDAgbiAKMDAwMDAxMTAxOCAwMDAwMCBuIAowMDAwMDA1Nzg0IDAwMDAwIG4gCjAwMDAwMDYxMzYgMDAwMDAgbiAKMDAwMDAwNjQ4NSAwMDAwMCBuIAowMDAwMDA2Nzg4IDAwMDAwIG4gCjAwMDAwMDcxMDYgMDAwMDAgbiAKMDAwMDAwNzQyNiAwMDAwMCBuIAowMDAwMDA3NTk2IDAwMDAwIG4gCjAwMDAwMDc3NDggMDAwMDAgbiAKMDAwMDAwNzk2OCAwMDAwMCBuIAowMDAwMDA4MTkwIDAwMDAwIG4gCjAwMDAwMDgzMTEgMDAwMDAgbiAKMDAwMDAwODU0MSAwMDAwMCBuIAowMDAwMDA4NzQ1IDAwMDAwIG4gCjAwMDAwMDkwNjYgMDAwMDAgbiAKMDAwMDAxMjI1OCAwMDAwMCBuIAowMDAwMDEyMDQ1IDAwMDAwIG4gCjAwMDAwMTE3MzIgMDAwMDAgbiAKMDAwMDAxMzMwMiAwMDAwMCBuIAowMDAwMDExMjE5IDAwMDAwIG4gCjAwMDAwMTM2OTcgMDAwMDAgbiAKdHJhaWxlcgo8PCAvSW5mbyA0MiAwIFIgL1Jvb3QgMSAwIFIgL1NpemUgNDMgPj4Kc3RhcnR4cmVmCjEzODU0CiUlRU9GCg==\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" 2021-04-30T11:26:41.920454 \n",
" image/svg+xml \n",
" \n",
" \n",
" Matplotlib v3.3.4, https://matplotlib.org/ \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"values = {a: 1/2}\n",
"\n",
"sym.plot(x.subs(values), (t, -5, 5), xlabel=r'$t$',\n",
" ylabel=r'$\\mathrm{rect}(a t)$')\n",
"sym.plot(X.subs(values), (w, -20, 20), xlabel=r'$\\omega$',\n",
" ylabel=r'$\\mathcal{F} \\{ \\mathrm{rect}(a t) \\}$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Exercise**\n",
"\n",
"* Change the width $1/a$ of the rectangular signal. How does its spectrum change?\n",
"* On a qualitative level, what happens when $1/a$ increases towards infinity?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Convolution Theorem\n",
"\n",
"The [convolution theorem](https://en.wikipedia.org/wiki/Convolution_theorem) states that the Fourier transform of the convolution of two signals $x(t)$ and $y(t)$ is equal to the scalar multiplication of their Fourier transforms $X(j \\omega) = \\mathcal{F} \\{ x(t) \\}$ and $Y(j \\omega) = \\mathcal{F} \\{ y(t) \\}$\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ x(t) * y(t) \\} = X(j \\omega) \\cdot Y(j \\omega)\n",
"\\end{equation}\n",
"\n",
"The theorem can be proven by introducing the [definition of the convolution](../systems_time_domain/convolution.ipynb) into the [definition of the Fourier transform](definition.ipynb) and changing the order of integration\n",
"\n",
"\\begin{align}\n",
"\\mathcal{F} \\{ x(t) * y(t) \\} &= \\int_{-\\infty}^{\\infty} \\left( \\int_{-\\infty}^{\\infty} x(\\tau) \\cdot y(t-\\tau) \\; d \\tau \\right) e^{-j \\omega t} \\; dt \\\\\n",
"&= \\int_{-\\infty}^{\\infty} \\left( \\int_{-\\infty}^{\\infty} y(t-\\tau) \\, e^{-j \\omega t} \\; dt \\right) x(\\tau) \\; d\\tau \\\\\n",
"&= Y(j \\omega) \\cdot \\int_{-\\infty}^{\\infty} x(\\tau) \\, e^{-j \\omega \\tau} \\; d \\tau \\\\\n",
"&= Y(j \\omega) \\cdot X(j \\omega)\n",
"\\end{align}\n",
"\n",
"under the assumption that both Fourier transforms $X(j \\omega)$ and $Y(j \\omega)$ exist.\n",
"\n",
"The convolution theorem is very useful in the context of linear time-invariant (LTI) systems. The output signal $y(t)$ of an LTI system is given as the convolution of the input signal $x(t)$ with the impulse response $h(t)$. Hence, the signals and the system can be represented equivalently in the time and frequency domain\n",
"\n",
"![Representation of an LTI system in the time- and Fourier-domain](LTI_system_Fourier_domain.png)\n",
"\n",
"\n",
"where $H(j \\omega) = \\mathcal{F} \\{ h(t) \\}$.\n",
"Calculation of the system response by transforming the problem into the Fourier domain can be beneficial since this replaces the evaluation of the convolution integral by a scalar multiplication. The (inverse) Fourier transforms are known for many signals or can be derived by applying the properties and theorems to standard signals and their transforms. This procedure simplifies the calculation of the system response significantly in many cases.\n",
"\n",
"The convolution theorem can also be useful to derive an unknown Fourier transform. The key is here to express the signal as convolution of two other signals for which the Fourier transforms are known. This is illustrated by the following example."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Transformation of the triangular signal\n",
"\n",
"A prominent example for the derivation of a Fourier transform by the convolution theorem is the [trianguar signal](https://en.wikipedia.org/wiki/Triangular_function)\n",
"\n",
"\\begin{equation}\n",
"\\Lambda(t) = \\begin{cases} 1- |t| & \\text{for } |t| < 1 \\\\ 0 & \\text{otherwise} \\end{cases}\n",
"\\end{equation}\n",
"\n",
"which can be expressed as the convolution of two rectangular signals\n",
"\n",
"\\begin{equation}\n",
"\\Lambda(t) = \\text{rect}(t) * \\text{rect}(t)\n",
"\\end{equation}\n",
"\n",
"Applying the convolution theorem yields\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ \\Lambda(t) \\} = \\text{sinc}\\left( \\frac{\\omega}{2} \\right) \\cdot \\text{sinc}\\left( \\frac{\\omega}{2} \\right) = \\text{sinc}^2 \\left( \\frac{\\omega}{2} \\right)\n",
"\\end{equation}\n",
"\n",
"Both the signal and its transform are plotted for illustration"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"application/pdf": "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cmVuY2VzIFsgMTE2IC90IF0gL1R5cGUgL0VuY29kaW5nID4+IC9GaXJzdENoYXIgMAovRm9udEJCb3ggWyAtMTAxNiAtMzUxIDE2NjAgMTA2OCBdIC9Gb250RGVzY3JpcHRvciAxMyAwIFIKL0ZvbnRNYXRyaXggWyAwLjAwMSAwIDAgMC4wMDEgMCAwIF0gL0xhc3RDaGFyIDI1NSAvTmFtZSAvRGVqYVZ1U2Fucy1PYmxpcXVlCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDEyIDAgUiA+PgplbmRvYmoKMTMgMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDk2Ci9Gb250QkJveCBbIC0xMDE2IC0zNTEgMTY2MCAxMDY4IF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zLU9ibGlxdWUKL0l0YWxpY0FuZ2xlIDAgL01heFdpZHRoIDEzNTAgL1N0ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjEyIDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNTAgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyOCA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTcgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxNyA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA4CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5OTUgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC90IDE2IDAgUiA+PgplbmRvYmoKMjEgMCBvYmoKPDwgL0JCb3ggWyAtMTAyMSAtNDYzIDE3OTQgMTIzMyBdIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggNTgKL1N1YnR5cGUgL0Zvcm0gL1R5cGUgL1hPYmplY3QgPj4Kc3RyZWFtCnic4zI0NFIwUMjlsgCSOVxGFmYK5kaWQJaxpQWUZWZuBpYzNTcG08YmRgpmxkZAFkRvDlcaANIqDXAKZW5kc3RyZWFtCmVuZG9iagoyMiAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDM5MiA+PgpzdHJlYW0KeJw9UktuBTEI288puECl8E1ynqne7t1/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rk4/jA4AYCJeWYDsrkQ5S9KOpZ9vvMf3D0AAU7QKZW5kc3RyZWFtCmVuZG9iagoxOSAwIG9iago8PCAvQmFzZUZvbnQgL0RlamFWdVNhbnMgL0NoYXJQcm9jcyAyMCAwIFIKL0VuY29kaW5nIDw8Ci9EaWZmZXJlbmNlcyBbIDQwIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgNDYgL3BlcmlvZCA0OCAvemVybyAvb25lIC90d28gNTIgL2ZvdXIgL2ZpdmUKL3NpeCA1NiAvZWlnaHQgXQovVHlwZSAvRW5jb2RpbmcgPj4KL0ZpcnN0Q2hhciAwIC9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnREZXNjcmlwdG9yIDE4IDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1IC9OYW1lIC9EZWphVnVTYW5zCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDE3IDAgUiA+PgplbmRvYmoKMTggMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDMyCi9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxNyAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoyMCAwIG9iago8PCAvZWlnaHQgMjIgMCBSIC9maXZlIDIzIDAgUiAvZm91ciAyNCAwIFIgL29uZSAyNiAwIFIgL3BhcmVubGVmdCAyNyAwIFIKL3BhcmVucmlnaHQgMjggMCBSIC9wZXJpb2QgMjkgMCBSIC9zaXggMzAgMCBSIC90d28gMzEgMCBSIC96ZXJvIDMyIDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMTkgMCBSIC9GMiAxNCAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0YxLURlamFWdVNhbnMtTGFtYmRhIDIxIDAgUiAvRjEtRGVqYVZ1U2Fucy1taW51cyAyNSAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL0NvdW50IDEgL0tpZHMgWyAxMCAwIFIgXSAvVHlwZSAvUGFnZXMgPj4KZW5kb2JqCjMzIDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6MjAyMTA0MzAxMTI2NDIrMDInMDAnKQovQ3JlYXRvciAoTWF0cGxvdGxpYiB2My4zLjQsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcpCi9Qcm9kdWNlciAoTWF0cGxvdGxpYiBwZGYgYmFja2VuZCB2My4zLjQpID4+CmVuZG9iagp4cmVmCjAgMzQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDkzMDQgMDAwMDAgbiAKMDAwMDAwOTA0MiAwMDAwMCBuIAowMDAwMDA5MDg1IDAwMDAwIG4gCjAwMDAwMDkxODQgMDAwMDAgbiAKMDAwMDAwOTIwNSAwMDAwMCBuIAowMDAwMDA5MjI2IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM5NSAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDIzNDkgMDAwMDAgbiAKMDAwMDAwMzE0NSAwMDAwMCBuIAowMDAwMDAyOTM3IDAwMDAwIG4gCjAwMDAwMDI2MjEgMDAwMDAgbiAKMDAwMDAwNDE5OCAwMDAwMCBuIAowMDAwMDAyMzcwIDAwMDAwIG4gCjAwMDAwMDc4MjYgMDAwMDAgbiAKMDAwMDAwNzYyNiAwMDAwMCBuIAowMDAwMDA3MjQ3IDAwMDAwIG4gCjAwMDAwMDg4NzkgMDAwMDAgbiAKMDAwMDAwNDIzMCAwMDAwMCBuIAowMDAwMDA0NDIxIDAwMDAwIG4gCjAwMDAwMDQ4ODYgMDAwMDAgbiAKMDAwMDAwNTIwNiAwMDAwMCBuIAowMDAwMDA1MzY4IDAwMDAwIG4gCjAwMDAwMDU1MzggMDAwMDAgbiAKMDAwMDAwNTY5MCAwMDAwMCBuIAowMDAwMDA1OTEwIDAwMDAwIG4gCjAwMDAwMDYxMzIgMDAwMDAgbiAKMDAwMDAwNjI1MyAwMDAwMCBuIAowMDAwMDA2NjQzIDAwMDAwIG4gCjAwMDAwMDY5NjQgMDAwMDAgbiAKMDAwMDAwOTM2NCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDMzIDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSAzNCA+PgpzdGFydHhyZWYKOTUyMQolJUVPRgo=\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" 2021-04-30T11:26:42.324046 \n",
" image/svg+xml \n",
" \n",
" \n",
" Matplotlib v3.3.4, https://matplotlib.org/ \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/pdf": "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MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNTAgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyOCA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTcgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxNyA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA4CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5OTUgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzgg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NjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoyMSAwIG9iago8PCAvYnJhY2VsZWZ0IDIzIDAgUiAvYnJhY2VyaWdodCAyNCAwIFIgL2VpZ2h0IDI1IDAgUiAvZml2ZSAyNiAwIFIKL2ZvdXIgMjcgMCBSIC9vbmUgMjkgMCBSIC9wYXJlbmxlZnQgMzAgMCBSIC9wYXJlbnJpZ2h0IDMxIDAgUgovcGVyaW9kIDMyIDAgUiAvc2l4IDMzIDAgUiAvdHdvIDM0IDAgUiAvemVybyAzNSAwIFIgPj4KZW5kb2JqCjQwIDAgb2JqCjw8IC9CQm94IFsgLTE0MSAtMjQwIDExMjggNzk1IF0gL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAzODEKL1N1YnR5cGUgL0Zvcm0gL1R5cGUgL1hPYmplY3QgPj4Kc3RyZWFtCnicNZO5cQYxCEbzrYISxCmpnn/Gkd1/6gdrRzDL8R1on7ySHvLzhEumyfdzl+QtUd9SlqLHpWLJ5zG7UhliR6XKxP1M/Dx+c7KIIC6JU3RuKml7ZrLoCPqX/m2r3u9GPzO2pA75Cip7weAc2Uqs+8bIrnRmJpu+XPC6YNLJtgPq7m0uMVg2kYrV+0W7goJFZfdM3ma6wUqJeyamtp7JDIyu4k6Ck6Ezw5fR8dpVC/+yWZcykzVaMs94l6XDgJ5WidrWM3EPt87g39zy0rXxZA030Eo3vOhHcTSWNbdwfb8oWHokFjP6XqF5lfhVtrl4q9jeFTvi7P5mb/1nTod35uC8mdGt8CHjiso1LbYorhvdp2WaQvOI4aLfeRzWd1b0YYCyngEEd69CS+Vc4bpL5uhMBut5H0TlMaBG+zJth7ZlLPUSHkPvUkSCyfI0HYL9FKC1Y8ydOBInO11Zc66ZuW2l5Z5zGRhtj9lrU5N+v2gfEcS/f+HzfP0CLxOUCgplbmRzdHJlYW0KZW5kb2JqCjM4IDAgb2JqCjw8IC9CYXNlRm9udCAvU1RJWE5vblVuaWNvZGUtSXRhbGljIC9DaGFyUHJvY3MgMzkgMCBSCi9FbmNvZGluZyA8PCAvRGlmZmVyZW5jZXMgWyBdIC9UeXBlIC9FbmNvZGluZyA+PiAvRmlyc3RDaGFyIDAKL0ZvbnRCQm94IFsgLTE0MSAtMjQwIDExMjggNzk1IF0gL0ZvbnREZXNjcmlwdG9yIDM3IDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1Ci9OYW1lIC9TVElYTm9uVW5pY29kZS1JdGFsaWMgL1N1YnR5cGUgL1R5cGUzIC9UeXBlIC9Gb250IC9XaWR0aHMgMzYgMCBSID4+CmVuZG9iagozNyAwIG9iago8PCAvQXNjZW50IDE0NTAgL0NhcEhlaWdodCAwIC9EZXNjZW50IC01NTIgL0ZsYWdzIDk2Ci9Gb250QkJveCBbIC0xNDEgLTI0MCAxMTI4IDc5NSBdIC9Gb250TmFtZSAvU1RJWE5vblVuaWNvZGUtSXRhbGljCi9JdGFsaWNBbmdsZSA0MzkwOSAvTWF4V2lkdGggMjUwIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwCj4+CmVuZG9iagozNiAwIG9iagpbIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MAoyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAKMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwCjI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCBdCmVuZG9iagozOSAwIG9iago8PCA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMjAgMCBSIC9GMiAxNCAwIFIgL0YzIDM4IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL0NBIDAgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTIgPDwgL0NBIDEgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCAvRjEtRGVqYVZ1U2Fucy1MYW1iZGEgMjIgMCBSIC9GMS1EZWphVnVTYW5zLW1pbnVzIDI4IDAgUgovRjItRGVqYVZ1U2Fucy1PYmxpcXVlLW9tZWdhIDE2IDAgUiAvRjMtU1RJWE5vblVuaUl0YS11bmlFMjMyIDQwIDAgUiA+PgplbmRvYmoKMiAwIG9iago8PCAvQ291bnQgMSAvS2lkcyBbIDEwIDAgUiBdIC9UeXBlIC9QYWdlcyA+PgplbmRvYmoKNDEgMCBvYmoKPDwgL0NyZWF0aW9uRGF0ZSAoRDoyMDIxMDQzMDExMjY0MiswMicwMCcpCi9DcmVhdG9yIChNYXRwbG90bGliIHYzLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChNYXRwbG90bGliIHBkZiBiYWNrZW5kIHYzLjMuNCkgPj4KZW5kb2JqCnhyZWYKMCA0MgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAxMjY0NSAwMDAwMCBuIAowMDAwMDEyMzAzIDAwMDAwIG4gCjAwMDAwMTIzNTcgMDAwMDAgbiAKMDAwMDAxMjQ1NiAwMDAwMCBuIAowMDAwMDEyNDc3IDAwMDAwIG4gCjAwMDAwMTI0OTggMDAwMDAgbiAKMDAwMDAwMDA2NSAwMDAwMCBuIAowMDAwMDAwNDAwIDAwMDAwIG4gCjAwMDAwMDAyMDggMDAwMDAgbiAKMDAwMDAwMjQyMSAwMDAwMCBuIAowMDAwMDAzNTMyIDAwMDAwIG4gCjAwMDAwMDMzMjQgMDAwMDAgbiAKMDAwMDAwMzAwOCAwMDAwMCBuIAowMDAwMDA0NTg1IDAwMDAwIG4gCjAwMDAwMDI0NDIgMDAwMDAgbiAKMDAwMDAwMjc1NyAwMDAwMCBuIAowMDAwMDA4OTQ1IDAwMDAwIG4gCjAwMDAwMDg3NDUgMDAwMDAgbiAKMDAwMDAwODMzNSAwMDAwMCBuIAowMDAwMDA5OTk4IDAwMDAwIG4gCjAwMDAwMDQ2MTcgMDAwMDAgbiAKMDAwMDAwNDgwOCAwMDAwMCBuIAowMDAwMDA1MTYwIDAwMDAwIG4gCjAwMDAwMDU1MDkgMDAwMDAgbiAKMDAwMDAwNTk3NCAwMDAwMCBuIAowMDAwMDA2Mjk0IDAwMDAwIG4gCjAwMDAwMDY0NTYgMDAwMDAgbiAKMDAwMDAwNjYyNiAwMDAwMCBuIAowMDAwMDA2Nzc4IDAwMDAwIG4gCjAwMDAwMDY5OTggMDAwMDAgbiAKMDAwMDAwNzIyMCAwMDAwMCBuIAowMDAwMDA3MzQxIDAwMDAwIG4gCjAwMDAwMDc3MzEgMDAwMDAgbiAKMDAwMDAwODA1MiAwMDAwMCBuIAowMDAwMDExMjM3IDAwMDAwIG4gCjAwMDAwMTEwMjQgMDAwMDAgbiAKMDAwMDAxMDcxMSAwMDAwMCBuIAowMDAwMDEyMjgxIDAwMDAwIG4gCjAwMDAwMTAxOTggMDAwMDAgbiAKMDAwMDAxMjcwNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDQxIDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSA0MiA+PgpzdGFydHhyZWYKMTI4NjIKJSVFT0YK\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" 2021-04-30T11:26:42.811091 \n",
" image/svg+xml \n",
" \n",
" \n",
" Matplotlib v3.3.4, https://matplotlib.org/ \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = sym.Piecewise((1 - abs(t), abs(t) < 1), (0, True))\n",
"X = sym.sinc(w/2)**2\n",
"\n",
"sym.plot(x, (t, -2, 2), xlabel=r'$t$', ylabel=r'$\\Lambda(t)$')\n",
"sym.plot(X, (w, -20, 20), xlabel=r'$\\omega$',\n",
" ylabel=r'$\\mathcal{F} \\{ \\Lambda(t) \\}$');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Exercise**\n",
"\n",
"* Extend above example by temporal scaling of the triangular signal.\n",
"* Derive the Fourier transform of a trapezoidal shaped signal by convolving two rectangular signals of different width."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Temporal Shift Theorem\n",
"\n",
"The [temporal shift](../continuous_signals/operations.ipynb#Temporal-Shift) $x(t-\\tau)$ of a signal $x(t)$ can be expressed by a convolution with a shifted Dirac impulse\n",
"\n",
"\\begin{equation}\n",
"x(t - \\tau) = x(t) * \\delta(t - \\tau)\n",
"\\end{equation}\n",
"\n",
"for $\\tau \\in \\mathbb{R}$. This follows from the sifting property of the Dirac impulse. Applying a Fourier transform to the left- and right-hand side and exploiting the convolution theorem yields\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ x(t - \\tau) \\} = X(j \\omega) \\cdot e^{- j \\omega \\tau}\n",
"\\end{equation}\n",
"\n",
"where $X(j \\omega) = \\mathcal{F} \\{ x(t) \\}$. Note that $\\mathcal{F} \\{ \\delta(t - \\tau) \\} = e^{- j \\omega \\tau}$ can be derived from the definition of the Fourier transform together with the sifting property of the Dirac impulse. Above relation is known as shift theorem of the Fourier transform.\n",
"\n",
"Expressing $X(j \\omega)$ by its absolute value $|X(j \\omega)|$ and phase $\\varphi(j \\omega)$ results in\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ x(t - \\tau) \\} = | X(j \\omega) | \\cdot e^{j (\\varphi(j \\omega) - \\omega \\tau)}\n",
"\\end{equation}\n",
"\n",
"Temporal shifting of a signal does not change the absolute value of its spectrum but it subtracts the linear contribution $\\omega \\tau$ from the phase of its spectrum."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Differentiation Theorem\n",
"\n",
"Let's assume a signal $x(t)$ whose temporal derivative $\\frac{d x(t)}{dt}$ exists. Using the [derivation property of the Dirac impulse](../continuous_signals/standard_signals.ipynb#Dirac-Impulse), the derivative of the signal can be expressed by the convolution\n",
"\n",
"\\begin{equation}\n",
"\\frac{d x(t)}{dt} = \\frac{d \\delta(t)}{dt} * x(t)\n",
"\\end{equation}\n",
"\n",
"Fourier transformation of the left- and right-hand side together with the [convolution theorem](#Convolution-Theorem) yields the Fourier transform of the derivative of $x(t)$\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\left\\{ \\frac{d x(t)}{dt} \\right\\} = j \\omega \\cdot X(j \\omega)\n",
"\\end{equation}\n",
"\n",
"where $X(j \\omega) = \\mathcal{F} \\{ x(t) \\}$. The Fourier transform $\\mathcal{F} \\{ \\frac{d \\delta(t)}{dt} \\} = j \\omega$ can be derived by applying the definition of the Fourier transform together with the derivation property of the Dirac impulse. Above result is known as differentiation theorem of the Fourier transform. It states that the differentiation of a signal in the time domain is equivalent to a multiplication of its spectrum by $j \\omega$. Splitting the spectrum of the differentiated signal into its magnitude and phase\n",
"\n",
"\\begin{equation}\n",
"j \\omega \\cdot X(j \\omega) = |\\omega \\, X(j \\omega)| \\; e^{j (\\varphi(j \\omega) + \\frac{\\pi}{2} )}\n",
"\\end{equation}\n",
"\n",
"reveals that differentiation of a signal results in an attenuation of the higher frequencies of its magnitude spectrum and adds a phase shift of $\\frac{\\pi}{2}$.\n",
"\n",
"The main applications of the differentiation theorem are the transformation of differential equations or the derivation of transforms of signals which can be expressed as derivatives of other signals. This latter is illustrated by the following example. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Transformation of the sign signal\n",
"\n",
"The derivative of the [sign signal](../continuous_signals/standard_signals.ipynb#Sign-Signal) $\\text{sgn}(t)$ [is given by the Dirac impulse](https://en.wikipedia.org/wiki/Sign_function#Properties)\n",
"\n",
"\\begin{equation}\n",
"\\frac{d}{dt} \\text{sgn}(t) = 2 \\cdot \\delta(t)\n",
"\\end{equation}\n",
"\n",
"Fourier transformation of the left- and right-hand side and application of the differentiation theorem yields\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ \\text{sgn}(t) \\} = \\frac{2}{j \\omega}\n",
"\\end{equation}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Transformation of the Heaviside signal\n",
"\n",
"The transformation of the [Heaviside signal](../continuous_signals/standard_signals.ipynb#Heaviside-Signal) $\\epsilon(t)$ is derived by expressing it in terms of the sign signal\n",
"\n",
"\\begin{equation}\n",
"\\epsilon(t) = \\frac{1}{2} ( \\text{sgn}(t) + 1 )\n",
"\\end{equation}\n",
"\n",
"Using the linearity of the Fourier transform yields\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ \\epsilon(t) \\} = \\frac{1}{j \\omega} + \\pi \\cdot \\delta(\\omega)\n",
"\\end{equation}\n",
"\n",
"The Fourier transformation of the Heaviside signal plays an important role in the context of [analytic signals](https://en.wikipedia.org/wiki/Analytic_signal) and their generation by the [Hilbert transform](https://en.wikipedia.org/wiki/Hilbert_transform)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Integration Theorem\n",
"\n",
"Let's assume a signal $x(t)$ for which the integral $\\int_{-\\infty}^{t} x(\\tau) \\; d\\tau$ exists. The integration can be regarded as inverse operation to the temporal derivative. The integration can be represented as convolution with the rectangular signal $\\epsilon(t)$ ([see integration theorem of the Laplace transform](../laplace_transform/theorems.ipynb#Integration-Theorem))\n",
"\n",
"\\begin{equation}\n",
"\\int_{-\\infty}^{t} x(\\tau) \\; d\\tau = \\int_{-\\infty}^{\\infty} x(\\tau) \\cdot \\epsilon(t - \\tau) \\; d\\tau = x(t) * \\epsilon(t)\n",
"\\end{equation}\n",
"\n",
"Fourier transformation of the left- and right-hand side, application of the convolution theorem and using the Fourier transform of the Heaviside signal $\\epsilon(t)$ yields the integration theorem of the Fourier transform\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\left\\{ \\int_{-\\infty}^{t} x(\\tau) \\; d\\tau \\right\\} \n",
"= X(j \\omega) * \\left( \\frac{1}{j \\omega} + \\pi \\delta(\\omega) \\right) \n",
"= \\frac{1}{j \\omega} X(j \\omega) + \\pi X(0) \\delta(\\omega)\n",
"\\end{equation}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Example**\n",
"\n",
"A signal whose amplitude increases linear over a finite temporal interval to a finite value can be defined as\n",
"\n",
"\\begin{equation}\n",
"x(t) = \\begin{cases}\n",
"0 & \\text{for } t < - \\frac{1}{2} \\\\\n",
"t + \\frac{1}{2} & \\text{for } - \\frac{1}{2} < t < \\frac{1}{2} \\\\\n",
"1 & \\text{for } t > \\frac{1}{2}\n",
"\\end{cases}\n",
"\\end{equation}\n",
"\n",
"Such functions are known as [ramp functions](https://en.wikipedia.org/wiki/Ramp_function). In order to derive the Fourier transform of the ramp signal $x(t)$ it is important to note that it can be expressed as integration over the rectangular signal $\\text{rect}(t)$\n",
"\n",
"\\begin{equation}\n",
"x(t) = \\int_{-\\infty}^{t} \\text{rect}(\\tau) \\; d\\tau \n",
"\\end{equation}\n",
"\n",
"Now its straightforward to apply the integration theorem to yield the desired Fourier transform\n",
"\n",
"\\begin{equation}\n",
"X(j \\omega) = \\frac{1}{j \\omega} \\text{sinc}\\left( \\frac{\\omega}{2} \\right) + \\pi \\cdot \\text{sinc}(0) \\cdot \\delta(\\omega)\n",
"\\end{equation}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Multiplication Theorem\n",
"\n",
"The Fourier transform of a multiplication of two signals $x(t)$ and $y(t)$ is given as\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{F} \\{ x(t) \\cdot y(t) \\} = \\frac{1}{2 \\pi} X(j \\omega) * Y(j \\omega)\n",
"\\end{equation}\n",
"\n",
"The Fourier transform of a multiplication of two signals $x(t) \\cdot y(t)$ is given by the convolution of their Fourier transforms $X(j \\omega) = \\mathcal{F} \\{ x(t) \\}$ and $Y(j \\omega) = \\mathcal{F} \\{ y(t) \\}$ weighted by $\\frac{1}{2 \\pi}$. Note, the convolution is performed with respect to the angular frequency $\\omega$.\n",
"\n",
"The multiplication theorem can be proven in a similar way as the convolution theorem by computing the inverse Fourier transform of the convolved spectra\n",
"\n",
"\\begin{equation}\n",
"\\begin{split}\n",
"\\mathcal{F}^{-1} \\left\\{ \\frac{1}{2 \\pi} X(j \\omega) * Y(j \\omega) \\right\\} &= \\frac{1}{2 \\pi} \\int_{-\\infty}^{\\infty} \\left( \\frac{1}{2 \\pi} \\int_{-\\infty}^{\\infty} X(j \\nu) \\cdot Y(j (\\omega-\\nu)) \\; d \\nu \\right) e^{j \\omega t} \\; d\\omega \\\\\n",
"&= \\frac{1}{2 \\pi} \\int_{-\\infty}^{\\infty} \\left( \\frac{1}{2 \\pi} \\int_{-\\infty}^{\\infty} Y(j (\\omega-\\nu)) \\, e^{j \\omega t} \\; d\\omega \\right) X(j \\nu) \\; d\\nu \\\\\n",
"&= y(t) \\cdot \\frac{1}{2 \\pi} \\int_{-\\infty}^{\\infty} X(j \\nu) \\, e^{j \\nu t} \\; d \\nu \\\\\n",
"&= y(t) \\cdot x(t)\n",
"\\end{split}\n",
"\\end{equation}\n",
"\n",
"Alternatively the duality of the Fourier transform can be applied to the [convolution theorem](#Convolution-Theorem). Applications of the multiplication theorem include the modulation and windowing of signals. The former leads to the modulation theorem introduced later, the latter is illustrated by the following example."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Example**\n",
"\n",
"Windowing of signals is often applied to derive signals of finite duration from signals of infinite duration. Here the signal $x(t)$ is multiplied by a weighting function $w(t)$ in order to derive the finite length signal \n",
"\n",
"\\begin{equation}\n",
"y(t) = w(t) \\cdot x(t)\n",
"\\end{equation}\n",
"\n",
"The following example considers the Fourier transform of a finite-length cosine signal. Following the concept of windowing, the signal can be defined as\n",
"\n",
"\\begin{equation}\n",
"y(t) = \\text{rect}(a t) \\cdot \\cos(\\omega_0 t) \n",
"\\end{equation}\n",
"\n",
"where $\\text{rect}(a t)$ denotes the scaled [rectangular signal](../continuous_signals/standard_signals.ipynb#Rectangular-Signal) which is zero for $|t| > \\frac{1}{2 a}$. The Fourier transform $Y(j \\omega) = \\mathcal{F} \\{ y(t) \\}$ is derived by the multiplication theorem, the [Fourier transform of the rectangular signal](definition.ipynb#Transformation-of-the-Rectangular-Signal), and the [Fourier transform of the cosine signal](properties.ipynb#Transformation-of-the-cosine-and-sine-signal) as\n",
"\n",
"\\begin{align}\n",
"Y(j \\omega) &= \\frac{1}{2 \\pi} \\cdot \\frac{1}{|a|} \\text{sinc}\\left( \\frac{\\omega}{2 a} \\right) * \\pi \\left( \\delta(\\omega + \\omega_0) + \\delta(\\omega - \\omega_0) \\right) \\\\\n",
"&= \\frac{1}{2 |a|} \\left( \\text{sinc}\\left( \\frac{\\omega + \\omega_0}{2 a} \\right) + \\text{sinc}\\left( \\frac{\\omega - \\omega_0}{2 a} \\right) \\right)\n",
"\\end{align}\n",
"\n",
"The latter identity results from the sifting property of the Dirac impulse. The convolution is computed in the following in `SymPy` by symbolic evaluation of the convolution integral."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def convolve(x, y, var):\n",
" tau = sym.symbols('tau')\n",
" return sym.integrate(x.subs(var, tau) * y.subs(var, var - tau), (tau, -sym.oo, sym.oo))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using above function, both the Fourier transform of the cosine signal and the rectangular window are convolved which each other"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/latex": [
"$\\displaystyle \\frac{\\operatorname{sinc}{\\left(\\frac{\\omega - \\omega_{0}}{2 a} \\right)} + \\operatorname{sinc}{\\left(\\frac{\\omega + \\omega_{0}}{2 a} \\right)}}{2 \\left|{a}\\right|}$"
],
"text/plain": [
" ⎛ω - ω₀⎞ ⎛ω + ω₀⎞\n",
"sinc⎜──────⎟ + sinc⎜──────⎟\n",
" ⎝ 2⋅a ⎠ ⎝ 2⋅a ⎠\n",
"───────────────────────────\n",
" 2⋅│a│ "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w0, a = sym.symbols('omega0 a')\n",
"\n",
"\n",
"class rect(sym.Function):\n",
"\n",
" @classmethod\n",
" def eval(cls, arg):\n",
" return sym.Heaviside(arg + sym.S.Half) - sym.Heaviside(arg - sym.S.Half)\n",
"\n",
"\n",
"y = rect(a*t) * sym.cos(w0*t)\n",
"W = 1/abs(a) * sym.sinc(w/(2*a))\n",
"X = sym.pi*(sym.DiracDelta(w + w0) + sym.DiracDelta(w - w0))\n",
"\n",
"Y = 1/(2*sym.pi) * convolve(W, X, w)\n",
"Y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Both the signal and its Fourier transform are plotted for specific values $\\omega_0$, $a$"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"application/pdf": "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eSBdIC9UeXBlIC9FbmNvZGluZyA+PiAvRmlyc3RDaGFyIDAKL0ZvbnRCQm94IFsgLTEwMTYgLTM1MSAxNjYwIDEwNjggXSAvRm9udERlc2NyaXB0b3IgMTMgMCBSCi9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdIC9MYXN0Q2hhciAyNTUgL05hbWUgL0RlamFWdVNhbnMtT2JsaXF1ZQovU3VidHlwZSAvVHlwZTMgL1R5cGUgL0ZvbnQgL1dpZHRocyAxMiAwIFIgPj4KZW5kb2JqCjEzIDAgb2JqCjw8IC9Bc2NlbnQgOTI5IC9DYXBIZWlnaHQgMCAvRGVzY2VudCAtMjM2IC9GbGFncyA5NgovRm9udEJCb3ggWyAtMTAxNiAtMzUxIDE2NjAgMTA2OCBdIC9Gb250TmFtZSAvRGVqYVZ1U2Fucy1PYmxpcXVlCi9JdGFsaWNBbmdsZSAwIC9NYXhXaWR0aCAxMzUwIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxMiAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0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gOyuRDlL0o6ln2+8x/cPQABTtAplbmRzdHJlYW0KZW5kb2JqCjIwIDAgb2JqCjw8IC9CYXNlRm9udCAvRGVqYVZ1U2FucyAvQ2hhclByb2NzIDIxIDAgUgovRW5jb2RpbmcgPDwKL0RpZmZlcmVuY2VzIFsgNDAgL3BhcmVubGVmdCAvcGFyZW5yaWdodCA0NiAvcGVyaW9kIDQ4IC96ZXJvIC9vbmUgL3R3byA1MiAvZm91ciAvZml2ZQo1NSAvc2V2ZW4gXQovVHlwZSAvRW5jb2RpbmcgPj4KL0ZpcnN0Q2hhciAwIC9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnREZXNjcmlwdG9yIDE5IDAgUgovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvTGFzdENoYXIgMjU1IC9OYW1lIC9EZWphVnVTYW5zCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDE4IDAgUiA+PgplbmRvYmoKMTkgMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDMyCi9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxOCAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoyMSAwIG9iago8PCAvZml2ZSAyMiAwIFIgL2ZvdXIgMjMgMCBSIC9vbmUgMjUgMCBSIC9wYXJlbmxlZnQgMjYgMCBSCi9wYXJlbnJpZ2h0IDI3IDAgUiAvcGVyaW9kIDI4IDAgUiAvc2V2ZW4gMjkgMCBSIC90d28gMzAgMCBSIC96ZXJvIDMxIDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMjAgMCBSIC9GMiAxNCAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0YxLURlamFWdVNhbnMtbWludXMgMjQgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iagozMiAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMjEwNDMwMTEyNjQ1KzAyJzAwJykKL0NyZWF0b3IgKE1hdHBsb3RsaWIgdjMuMy40LCBodHRwczovL21hdHBsb3RsaWIub3JnKQovUHJvZHVjZXIgKE1hdHBsb3RsaWIgcGRmIGJhY2tlbmQgdjMuMy40KSA+PgplbmRvYmoKeHJlZgowIDMzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDExOTQ4IDAwMDAwIG4gCjAwMDAwMTE3MTUgMDAwMDAgbiAKMDAwMDAxMTc1OCAwMDAwMCBuIAowMDAwMDExODU3IDAwMDAwIG4gCjAwMDAwMTE4NzggMDAwMDAgbiAKMDAwMDAxMTg5OSAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzOTMgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDA1NzE2IDAwMDAwIG4gCjAwMDAwMDY3MzEgMDAwMDAgbiAKMDAwMDAwNjUyMyAwMDAwMCBuIAowMDAwMDA2MjAwIDAwMDAwIG4gCjAwMDAwMDc3ODQgMDAwMDAgbiAKMDAwMDAwNTczNyAwMDAwMCBuIAowMDAwMDA1OTg4IDAwMDAwIG4gCjAwMDAwMTA1MTEgMDAwMDAgbiAKMDAwMDAxMDMxMSAwMDAwMCBuIAowMDAwMDA5OTM3IDAwMDAwIG4gCjAwMDAwMTE1NjQgMDAwMDAgbiAKMDAwMDAwNzgyNiAwMDAwMCBuIAowMDAwMDA4MTQ2IDAwMDAwIG4gCjAwMDAwMDgzMDggMDAwMDAgbiAKMDAwMDAwODQ3OCAwMDAwMCBuIAowMDAwMDA4NjMwIDAwMDAwIG4gCjAwMDAwMDg4NTAgMDAwMDAgbiAKMDAwMDAwOTA3MiAwMDAwMCBuIAowMDAwMDA5MTkzIDAwMDAwIG4gCjAwMDAwMDkzMzMgMDAwMDAgbiAKMDAwMDAwOTY1NCAwMDAwMCBuIAowMDAwMDEyMDA4IDAwMDAwIG4gCnRyYWlsZXIKPDwgL0luZm8gMzIgMCBSIC9Sb290IDEgMCBSIC9TaXplIDMzID4+CnN0YXJ0eHJlZgoxMjE2NQolJUVPRgo=\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" 2021-04-30T11:26:45.507433 \n",
" image/svg+xml \n",
" \n",
" \n",
" Matplotlib v3.3.4, https://matplotlib.org/ \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"