{ "cells": [ { "cell_type": "markdown", "metadata": { "nbsphinx": "hidden" }, "source": [ "# The Discrete-Time Fourier Transform\n", "\n", "*This Jupyter notebook is part of a [collection of notebooks](../index.ipynb) in the bachelors module Signals and Systems, Comunications 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": [ "## Definition\n", "\n", "The [discrete-time Fourier transform](https://en.wikipedia.org/wiki/Discrete-time_Fourier_transform) (DTFT) of a discrete signal $x[k]$ is defined as\n", "\n", "\\begin{equation}\n", "X(e^{j \\Omega}) = \\sum_{k = -\\infty}^{\\infty} x[k] \\, e^{-j \\Omega k}\n", "\\end{equation}\n", "\n", "where $\\Omega \\in \\mathbb{R}$ denotes the normalized angular frequency. The DTFT maps a discrete signal $x[k]$ with $k \\in \\mathbb{Z}$ onto its continuous transform $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ x[k] \\}$ with $\\Omega \\in \\mathbb{R}$. It is frequently termed as *spectrum* of the discrete signal $x[k]$. The argument $e^{j \\Omega}$ copes for the fact that the kernel $e^{-j \\Omega k}$ of the DTFT is a [complex exponential signal](../discrete_signals/standard_signals.ipynb#Complex-Exponential-Signal) $z^{-k}$ with $z = e^{j \\Omega}$. Other common definitions of the DTFT may be found in the literature. They differ with respect to the sign of the exponential function and normalization factors. The properties, theorems and transforms may differ from the ones given here, as a consequence.\n", "\n", "A sufficient but not necessary condition for the existence of the DTFT is\n", "\n", "\\begin{equation}\n", "\\left|X(e^{j \\Omega})\\right| = \\left| \\sum_{k = -\\infty}^{\\infty} x[k] \\, e^{-j \\Omega k} \\right| \n", "\\leq \\sum_{k = -\\infty}^{\\infty} \\left| x[k] \\right| < \\infty\n", "\\end{equation}\n", "\n", "where the upper bound results from the [triangle inequality](https://en.wikipedia.org/wiki/Triangle_inequality). As sufficient condition for the existence of the DTFT, it follows that a signal $x[k]$ needs to be absolutely summable.\n", "\n", "The DTFT is periodic with a period of $T_\\text{p} = 2 \\pi$,\n", "\n", "\\begin{equation}\n", "X(e^{j \\Omega}) = X(e^{j (\\Omega + n \\cdot 2 \\pi)})\n", "\\end{equation}\n", "\n", "for $n \\in \\mathbb{Z}$. This follows from the periodicity of its exponential kernel $e^{j \\Omega k} = e^{j (\\Omega + 2 \\pi) k}$ for discrete $k \\in \\mathbb{Z}$. It is therefore sufficient to regard the DTFT in one period only. Typically the period $-\\pi < \\Omega < \\pi$ is chosen. The information on the discrete signal $x[k]$ is contained in one period. As a consequence, the inverse discrete-time Fourier transform $x[k] = \\mathcal{F}_*^{-1} \\{ X(e^{j \\Omega}) \\}$ is defined as\n", "\n", "\\begin{equation}\n", "x[k] = \\frac{1}{2 \\pi} \\int_{-\\pi}^{\\pi} X(e^{j \\Omega}) \\, e^{j \\Omega k} \\; d \\Omega\n", "\\end{equation}\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transformation of the Dirac Impulse\n", "\n", "The transform $\\mathcal{F}_* \\{ \\delta[k] \\}$ of the [Dirac impulse](../discrete_signals/standard_signals.ipynb#Dirac-Impulse) is derived by introducing $\\delta[k]$ into the definition of the DTFT and exploiting the sifting property of the Dirac impulse\n", "\n", "\\begin{equation}\n", "\\mathcal{F}_* \\{ \\delta[k] \\} = \\sum_{k = -\\infty}^{\\infty} \\delta[k] \\, e^{-j \\Omega k} = 1\n", "\\end{equation}\n", "\n", "The transform of the Dirac impulse is equal to one. Hence, all normalized frequencies $\\Omega$ are present with equal weight. This is an important property in the theory of discrete signals and systems, since the Dirac impulse is used to characterize linear time-invariant (LTI) systems by their [impulse response](../discrete_systems/impulse_response.ipynb) $h[k] = \\mathcal{H} \\{ \\delta[k] \\}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**\n", "\n", "* Derive the DTFT of a shifted Dirac impulse $\\delta[k - \\kappa]$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transformation of the Rectangular Signal\n", "\n", "The DTFT $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ \\text{rect}_N[k] \\}$ of the [rectangular signal](../discrete_signals/standard_signals.ipynb#Rectangular-Signal) is derived by introducing its definition into the definition of the DTFT. This results in\n", "\n", "\\begin{equation}\n", "\\mathcal{F}_* \\{ \\text{rect}[k] \\} = \\sum_{k = -\\infty}^{\\infty} \\text{rect}[k] \\, e^{-j \\Omega k} =\n", "\\sum_{k = 0}^{N-1} e^{-j \\Omega k} = e^{-j \\Omega \\frac{N-1}{2}} \\cdot \\frac{\\sin \\left(\\frac{N \\Omega}{2} \\right)}{\\sin \\left( \\frac{\\Omega}{2} \\right)}\n", "\\end{equation}\n", "\n", "The latter equality has been derived by noting that the sum constitutes a [finite geometrical series](https://en.wikipedia.org/wiki/Geometric_series) with the common ratio $e^{-j \\Omega}$. Note, that\n", "\n", "\\begin{equation}\n", "\\frac{\\sin \\left(\\frac{N \\Omega}{2} \\right)}{\\sin \\left( \\frac{\\Omega}{2} \\right)} \\bigg\\rvert_{\\Omega = n \\cdot 2 \\pi} = N \n", "\\end{equation}\n", "\n", "for $n \\in \\mathbb{Z}$ due to [L'Hôpital's rule](https://en.wikipedia.org/wiki/L'H%C3%B4pital's_rule)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Example**\n", "\n", "The DTFT $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ \\text{rect}_N[k] \\}$ of the rectangular signal is computed for a specific length $N$ by evaluating the finite series above using `SymPy`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAASwAAAAWCAYAAAB666EKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFEElEQVR4Ae2bgVXbMBCGMY8BKN2AbgB0A9gAXicobACPCXh0g8IGwAZ0g5ZuABtQskH6f4qUyCbGIiZgW3fvKZLPiuP7JJ2ks1OMx+OV3KQoinXZvCHbH3Kz/bX2Gqt0YsZq+azW0n9iUDVPZc2j0o/YKnW4Yx1/Vrr3+m3ld3JsF/54MJkfXHBANifZynfZOvLlkBmrooDPvhJsmOy+Kp2J1V/lsWTPKoZBWf2M8cM4qspirHSxldyTSNIJn5QOqyyk+6l0W9X3/Ri7Yhu8nfexbl5Z9XJkdS27zwMPlZnYnsJxXZ4jq5iF5yRVs49JZVVwsdxFs8CtGLBFnDcTMEsA6UTnSyuyPnPzNu3Jpl/YoWNWEawst6Wrrhyo4iRTVlsYH7iIwbkOd3U8t784UPrIkVVk+67KTG7X4lQEfV2eymq17gJD1AvKrtKxEjNmLDs6+BMrKmViXXsVXd8Pj2RArc3Gata8OKrgrLyW7SErbyfGKpCY8sBR4eTdZBifbcsqK4clcDgd4lH7AgfUIAxcVhh1wrnaVUfdl7qs1wC8UBpF94gDe4gGprGK4FBUn2Gyu1OR7XQc1zRWZVaEVup2I+1Y6cLTGJZ+E6/ItmA91g+hLJtwOjgpZsdSrMbrZOaMRSjrHEzYEm4G3dByb+O03bFVyVjN7w9wIYRwTD+QGKuIk3gwvtxYUQ4rYZqMK/Ret/AYZG/JRS+V/intKDFAP+lHRso7K5rpuE9iCU1yJFumry/oe3Q2guilGUB6tono45mTWZWlPw6uVL/pR9/z/KIsuEd9l06EjQeysdTmOmesgFQRz5uV1jTeZ6zGD74vEdtzY0jH+BYeTpRiWK1Y6WLxCounH0wbrVZY+j4Bt2dP3OLf+ogydik5+5RvhXtQOXj+Z08Ddc7p4vrheym5vtdJFty7BLsJiro+oDKTQGl21DHMsmXl7ecJcpUBAF0f93Wy71cwUmIRERITIVw43vd9rtUYXNWFliHcFKlrgvMggDpS/i26OZ4Aorv2s4Q7pTJL1xNfL67vVUlZJ1l4O+lQZypvkVQmjsVKGzFWguD7BUymq3TPhv5ypYQYK0EQK8YWY8klqcIOiHfWbgAlacVqWQ5rcmvd++SpBUtXVpIM1iA70jEToGPVEYTynT8XdEPJ2dLQechDYsXAQESM1YQDnwdKp/Qb33cIHLMdNFbQmSPidCh1GGOXOmbyR1r1q9J7WL4x8IqtYlj+5thaLBz30TVYmZwqPSohX5TCSsgp+vBhLNJbyVgZqyYCa00VPuK8Oi4zP96ZQLB7nUA6tiw4sLBFU3H4YizS29hYDZ9V5xyWOh3bMJ5O8XTPOSvfDDgx9NmIsUhvamOVB6tWDkudhFUQjqQqGyh0niBuVQjMEROoE66JrOv74c/IHPO07tmbs5zoghiL9FYwVsYqnUC5ZudiWOrMBL9vGpxa2YoOH8kego0LxfOGxqKpmYxVE6HZ+VxZdfUpYfwIedZKeZaMRXq7G6uBs+qiw6rtdH5WSW+S/tc0FultaKwyYNVFh8VrFaW4mBwV8SxiW3EQPr15+lvTWKS3nbHKgJULussZ8D863nviv4QIL0viHH4rlrTwu1TuSq/80O9deAdFBwzvYPEW7bwA/iuv3q/qxiK9vYxVHqycw1Jjv/TULp3EG9XU/byrk3yj217KZYxFOlZjNXxWy9oS8peF8LeFdIrDrGks0tvVWBmrFwn8B5fIuF+ZblcNAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle 1 + e^{- i \\Omega} + e^{- 2 i \\Omega} + e^{- 3 i \\Omega} + e^{- 4 i \\Omega}$" ], "text/plain": [ " -ⅈ⋅Ω -2⋅ⅈ⋅Ω -3⋅ⅈ⋅Ω -4⋅ⅈ⋅Ω\n", "1 + ℯ + ℯ + ℯ + ℯ " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "import sympy as sym\n", "sym.init_printing()\n", "\n", "W = sym.symbols('Omega', real=True)\n", "k = sym.symbols('k', integer=True)\n", "\n", "N = 5\n", "X = sym.summation(sym.exp(-sym.I*W*k), (k, 0, N-1))\n", "X" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The magnitude $|X(e^{j \\Omega})|$ and phase $\\varphi(e^{j \\Omega}) = \\arg \\{ X(e^{j \\Omega}) \\}$ of the spectrum is plotted for illustration" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/pdf": "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NjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNTAgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyOCA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTcgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxNyA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA4CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5OTUgNTUw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IC9EZXNjZW50IC0yMzYgL0ZsYWdzIDMyCi9Gb250QkJveCBbIC0xMDIxIC00NjMgMTc5NCAxMjMzIF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9JdGFsaWNBbmdsZSAwCi9NYXhXaWR0aCAxMzQyIC9TdGVtViAwIC9UeXBlIC9Gb250RGVzY3JpcHRvciAvWEhlaWdodCAwID4+CmVuZG9iagoxOSAwIG9iagpbIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwCjYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMzE4IDQwMSA0NjAgODM4IDYzNgo5NTAgNzgwIDI3NSAzOTAgMzkwIDUwMCA4MzggMzE4IDM2MSAzMTggMzM3IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYKNjM2IDYzNiAzMzcgMzM3IDgzOCA4MzggODM4IDUzMSAxMDAwIDY4NCA2ODYgNjk4IDc3MCA2MzIgNTc1IDc3NSA3NTIgMjk1CjI5NSA2NTYgNTU3IDg2MyA3NDggNzg3IDYwMyA3ODcgNjk1IDYzNSA2MTEgNzMyIDY4NCA5ODkgNjg1IDYxMSA2ODUgMzkwIDMzNwozOTAgODM4IDUwMCA1MDAgNjEzIDYzNSA1NTAgNjM1IDYxNSAzNTIgNjM1IDYzNCAyNzggMjc4IDU3OSAyNzggOTc0IDYzNCA2MTIKNjM1IDYzNSA0MTEgNTIxIDM5MiA2MzQgNTkyIDgxOCA1OTIgNTkyIDUyNSA2MzYgMzM3IDYzNiA4MzggNjAwIDYzNiA2MDAgMzE4CjM1MiA1MTggMTAwMCA1MDAgNTAwIDUwMCAxMzQyIDYzNSA0MDAgMTA3MCA2MDAgNjg1IDYwMCA2MDAgMzE4IDMxOCA1MTggNTE4CjU5MCA1MDAgMTAwMCA1MDAgMTAwMCA1MjEgNDAwIDEwMjMgNjAwIDUyNSA2MTEgMzE4IDQwMSA2MzYgNjM2IDYzNiA2MzYgMzM3CjUwMCA1MDAgMTAwMCA0NzEgNjEyIDgzOCAzNjEgMTAwMCA1MDAgNTAwIDgzOCA0MDEgNDAxIDUwMCA2MzYgNjM2IDMxOCA1MDAKNDAxIDQ3MSA2MTIgOTY5IDk2OSA5NjkgNTMxIDY4NCA2ODQgNjg0IDY4NCA2ODQgNjg0IDk3NCA2OTggNjMyIDYzMiA2MzIgNjMyCjI5NSAyOTUgMjk1IDI5NSA3NzUgNzQ4IDc4NyA3ODcgNzg3IDc4NyA3ODcgODM4IDc4NyA3MzIgNzMyIDczMiA3MzIgNjExIDYwNQo2MzAgNjEzIDYxMyA2MTMgNjEzIDYxMyA2MTMgOTgyIDU1MCA2MTUgNjE1IDYxNSA2MTUgMjc4IDI3OCAyNzggMjc4IDYxMiA2MzQKNjEyIDYxMiA2MTIgNjEyIDYxMiA4MzggNjEyIDYzNCA2MzQgNjM0IDYzNCA1OTIgNjM1IDU5MiBdCmVuZG9iagoyMiAwIG9iago8PCAvYmFyIDI0IDAgUiAvZml2ZSAyNSAwIFIgL2ZvdXIgMjYgMCBSIC9vbmUgMjggMCBSIC9wYXJlbmxlZnQgMjkgMCBSCi9wYXJlbnJpZ2h0IDMwIDAgUiAvcGVyaW9kIDMxIDAgUiAvc2V2ZW4gMzIgMCBSIC90aHJlZSAzMyAwIFIgL3R3byAzNCAwIFIKL3plcm8gMzUgMCBSID4+CmVuZG9iagozIDAgb2JqCjw8IC9GMSAyMSAwIFIgL0YyIDE0IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL0NBIDAgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTIgPDwgL0NBIDEgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8PCA+PgplbmRvYmoKNyAwIG9iago8PCAvRGVqYVZ1U2Fucy1PbWVnYSAyMyAwIFIgL0RlamFWdVNhbnMtbWludXMgMjcgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iagozNiAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMTkwNjI2MTUwMDU2KzAyJzAwJykKL0NyZWF0b3IgKG1hdHBsb3RsaWIgMy4wLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChtYXRwbG90bGliIHBkZiBiYWNrZW5kIDMuMC4zKSA+PgplbmRvYmoKeHJlZgowIDM3CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDE2OTQ5IDAwMDAwIG4gCjAwMDAwMTY2OTQgMDAwMDAgbiAKMDAwMDAxNjczNyAwMDAwMCBuIAowMDAwMDE2ODM2IDAwMDAwIG4gCjAwMDAwMTY4NTcgMDAwMDAgbiAKMDAwMDAxNjg3OCAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzOTkgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDA5NDA1IDAwMDAwIG4gCjAwMDAwMTA3NTMgMDAwMDAgbiAKMDAwMDAxMDU0NSAwMDAwMCBuIAowMDAwMDEwMjE2IDAwMDAwIG4gCjAwMDAwMTE4MDYgMDAwMDAgbiAKMDAwMDAwOTQyNiAwMDAwMCBuIAowMDAwMDA5NTkxIDAwMDAwIG4gCjAwMDAwMDk5OTEgMDAwMDAgbiAKMDAwMDAxNTQ2NCAwMDAwMCBuIAowMDAwMDE1MjY0IDAwMDAwIG4gCjAwMDAwMTQ4NzcgMDAwMDAgbiAKMDAwMDAxNjUxNyAwMDAwMCBuIAowMDAwMDExODU4IDAwMDAwIG4gCjAwMDAwMTIyMjkgMDAwMDAgbiAKMDAwMDAxMjM1NSAwMDAwMCBuIAowMDAwMDEyNjc1IDAwMDAwIG4gCjAwMDAwMTI4MzcgMDAwMDAgbiAKMDAwMDAxMzAwNyAwMDAwMCBuIAowMDAwMDEzMTU5IDAwMDAwIG4gCjAwMDAwMTMzNzkgMDAwMDAgbiAKMDAwMDAxMzYwMSAwMDAwMCBuIAowMDAwMDEzNzIyIDAwMDAwIG4gCjAwMDAwMTM4NjIgMDAwMDAgbiAKMDAwMDAxNDI3MyAwMDAwMCBuIAowMDAwMDE0NTk0IDAwMDAwIG4gCjAwMDAwMTcwMDkgMDAwMDAgbiAKdHJhaWxlcgo8PCAvSW5mbyAzNiAwIFIgL1Jvb3QgMSAwIFIgL1NpemUgMzcgPj4Kc3RhcnR4cmVmCjE3MTYzCiUlRU9GCg==\n", "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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": "JVBERi0xLjQKJazcIKu6CjEgMCBvYmoKPDwgL1BhZ2VzIDIgMCBSIC9UeXBlIC9DYXRhbG9nID4+CmVuZG9iago4IDAgb2JqCjw8IC9FeHRHU3RhdGUgNCAwIFIgL0ZvbnQgMyAwIFIgL1BhdHRlcm4gNSAwIFIKL1Byb2NTZXQgWyAvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL1NoYWRpbmcgNiAwIFIKL1hPYmplY3QgNyAwIFIgPj4KZW5kb2JqCjEwIDAgb2JqCjw8IC9Bbm5vdHMgWyBdIC9Db250ZW50cyA5IDAgUgovR3JvdXAgPDwgL0NTIC9EZXZpY2VSR0IgL1MgL1RyYW5zcGFyZW5jeSAvVHlwZSAvR3JvdXAgPj4KL01lZGlhQm94IFsgMCAwIDM3OS4wMiAyOTguNTEyIF0gL1BhcmVudCAyIDAgUiAvUmVzb3VyY2VzIDggMCBSIC9UeXBlIC9QYWdlCj4+CmVuZG9iago5IDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMTEgMCBSID4+CnN0cmVhbQp4nLWaS7MUxxGF9/MreokWNPXOqqUJ2UR445Ag7IXtBUYIQXCxMSHz9/1lVVf3zHQarJDNDWBunTpdr3ycrB6/vLv45c3ilnf8/bz8efkr//+w+OUZf99cHL89XKK01QU+vp8fQ6tr9oEGd/X5p8vlx8uT30D8ROdnF+9WWfo/PKPIWsP47f38LUhZa6f29uPX7UlhPOkNc2F+a72aIc9X5JJk9aWkwkAprpJDS4x23erW0FvfXy5PWezny0f+dctjx1NjZjW5Jl+dlMWHtvrcfG21hra8erg8fbE8+Z1n1suLHy91jVKbKyFDf/HD5ZGs+ZvlxbvLb1/wTLc6fSw/8wP8J9++fvfyjz8/f/nh0+OHtx9+/rR8+/fLd/z0xVxaWnN0TerN5K9bvzT5GtbYXMyhipdfPHlW/usm75Nfa8uptpvZ3zR/afo6YaFfiS3m9ovnH37t5jPSGsrt3GfTad43c/HVr9GVKvl+1joxNzZ2YWJjoBDLWkLK3t8MdtP85QFDqGsRH2txJXlr0G03rgatcW1sWAi3g143f2VQvBHrqk08LGvQfL/SGNmYzE+8GfSm+cuDxhDX5Fxy1beQrEHlWOm1I5fYw4vPa6oSfTqMqFvIcrKQVU3pzkr+8PD6zUvTSggoqcVhI3mVo8G0bKJbDlkHYBdKK/wSW5L/wqj/JybdMouLXo7Z7i1fmW7Dd0MJLWNr9evT9f8HD+zzPZr+gwdKXpvrM/GxrS2rYxweeGuVcxhdXA3ir4bZm74+TK2rq7nGVLT/vvrTMCHpDoQk7Rjnqu2rA2lYCJ4FpYjjHVYxDF7P67Hury9uHhoHtka6Dmsva26lSOvhiZn1LjzlGOzRXx71cyMSOE8m9r3n6BNmn9e9CxHKl8Sq+bOoh5Ge8+wpveO73hELKhI3/PFtz2Pcb3Z7MfxxzPTeI//2/u3Hn18//sdPb4ftdKaTSeWTR5HkFjEWPZi0lsrOfdm1Py6HNIkZrYAUKWX1/P/P18uflg+LXzNiw4FwFJUj171MZfsjHLm4jOmQfdvy/bOFof719tXr7589XV592oTPtVmXVUTYSiJUWKsUT0TFFJ7bCHGatbWMGy6NKOxLlNHdaKdzIEhKqQvWlmNlI7bO5/beOdecWltIBZHQhKPP3iegdydBY5VpDU3Y573zXfPoWrNI7s2cSYvl6H1COkGad77SHNWawzHxE6AJk3yUYtJhw8r0mpu7YiGdQCQjfSwhCAGwlr37fTtJip2NRGkOgq2VgDLxo7uJQMBlaSaKYDpC1tkmY7QjSDGoFlxB50QCifN+HpKJQEirr8llFXZprRGF2jaChUDQEO+KNnu8MWKyaSNYCISe3kPYsmYoKW0LNpFOwMM06THHNYQoZe9/Anp3gkvJJH2PJ0RJMez9z0gnpJDZAJwRN+bTtHoTGYTqEx6mzUgAf0zoBPSiIFTyBPGY4BldqPuCLeThkrElySX7brbokc34jXY6Y0k+5swzHMUNG5g3xzKRh0uP2rlgJ6rJPOe4zd4C6C6rE46aVJQRzr6EGUJM5OEieD8qHPPzUQ0+hOleJgKhrl5jC8fo4opccNOkTeThonEiJ12+MIVuw7270U5njDsQ4+KSgV0Lsm2PBVAEkZmTCC7NFGsRuozuFkB3IkBL2RFhuonvocQCevdC9NTMzPqJTLL3vm/vnUkprmo0wv05kbT3PgG9e1PNjPGFtSWste7dT0Cv9lwogjrsUW+zgVPr6JhTxOq8MHBGEsej8wnpBHY1qyymmdF2fzIRCPhly079uPi1kdCnh5sIaQ1ryJHQrjUJUYbn5C2tWQgEMiMhPXF6nCMhKe550EKUALlVQSOowq+teJkEA1GCrJGgi/Flsp4rfsZNExkEqVShVe2POObmGZjIINRIzubYnYa7XMsV4wxtFB7le7Pz4uo14x4ZBPwzk8aC7iThIKSDcYaUgpPqPpMEHak8CSF/UixoUNi3kdn4SJgv8aCcISiYI9Vo7dEJS/AUNptj2pBSEFiRWZLhcqH6zKSvSbEgKGTxiiaqmuOqirAmk2JCSql6m4B/L40NyjHJnJeFjHsKRlPNiDwqTtxOsJBB0L1WPRVVz+SZz0xkEErS3FPVfDLNR/97YOteKRJkyCppLZQrwgkaFIwNgT6EFdHFX83pDG3XMyIx+K6tQm1tNxMTUgryDYFdNRhRj6fEpk+KBSmFWIeEE411dMF13L4WC1IK5WUOJACMlCTcyDj7WiwICm7pqtN06kU1BZX/FmttSCk8yvEEvVxrlClE5DkxE1Lt3pNC7ndUQRMyKXyKdwtSCukDQdQVlJZzNc/Qa0NKyYzuvd4GqYgSLco2hoEMQkKz5DxUlMZ/ORhnaKNkAk3tukimXDLat84tTtFFvKly3f8EDUpBDqnsivSgVI4H44QogWqVqEpoCUiXiGao+xosSCkcDYlWjRTjQ1VxypNiQQ+juJbK+As6gywTYpvRxIS0bkci4aIEGeGh1OJu2qKFKEHvgyiyaEce4nm7/LMhKC3opYAWkP0qlJp91ks2pBTRHKHCmWwR9T5wrt1CtIxktmRu2tFw0RP60iwkDUQJqLFI/UIlTXNs1L+TYCAQfBh3BAisjMvFGdstYHRvesGnkWxNse0eayJK0NqO6r511VRym6LdRDaCUNWnLm5oTylfMU7QoOBeugParuV4SQflDA1KKOgsNhw5zWTj1JA2pBTCcHRa6WOoniJj9j+1a2dcrLC42hVXpaaSfUoWpBTSIclE9JaVs6KoapNhIFp+R72p1zpe032rrs4UaEMP4yI6N91BNKRIQVBNhoFoCa4RElWXFxZXUN8ya3wLGbfiFM8IO1VpqaS9ajGRQcCnVFYT8ysKfzq3iQwCxaGM5pjwY38QTshGyHqBos1eg2m7ItwjGwERri/K8EZ2UNL1ECdIKVrEOadZUUusVFFpk2JBg1IKhlZ6VgzUfbuJmJBSkHKskLygNUPKcep1E4Gg99cZZV27cQq1xZyVhSgBzdxc1mCHqQlKJc6lmxCU3O/IiSfd1kSFyryoMSGlEHozjoZC0+Aqdb9pshAIelvKeVKOaE1NnJly2kQGoUSK/KDNZLiwL8NCNgKiUVMceitJOqzEhAZFyId6Qayqrujdz0E5Q4NS0Wht3IwRJXf1ZkNK8VqIuKJx1Y+n7hQLUkpY+RT1DS2xG7s4AoMJKUV1A6mNNWo88072EGpCUMStqfZboJpWCvn9ItIAHvrrKAk1qNYijbZcyRWTYEH6sosURCBKXZ3hc7O6sQDtjkO6GlQA9hhLjpw7ZUKDEtkTCV2bRSxp93QTGhRkctN30yrOCvEpHJQztFFa0Qza778ayfFqlDM0KJnCPg6JhsUdrm5CSskqOmR7o0DIyXmfmAUNihR9V0GOr4QmwoYclDOkFH2VSRLGgAghKfvDHE0Iir4Qd8npfa3XK5fS9iRiQkohpbDl+JnKL8rltAcuE9L7X5XZDV27aCXQtEie978GogTCHhFZpSBRPceSp/vaEBSv7u+J/P22PzZU0RzEhKAErzoYS1qwchJymPcZJqKExll5rV6J6VRNKc0hLGS8nRWXNK/2+2RRPxoEC1ECJpAr/qNKjd1Ps7A1kUHwLhdyRXc3SsArwgnZCBxLk6G6SEz7YZjQoIRIYMq9PaaSsz8oZ2hQUMDUMV2o5ZjcNHgbUoouq2o21awXtBLIk2JBSuFgOauqLwSYe9VyaVIsCEpyWFmbr/odZtEmxYSUIoSYljigpoUT4X9nGIi+vSDbRU+9o9dnRKgyi1oTUYJe4yE1y5IJhs35/X3HGRjdUY2EcZVGyMJdZZnIRiiah/tlW2Enr/rfAaN7ixlVN4RU3G8STUQJhcLNaeKi9GmNrdsJBjIIubYSahdR6Eg3L35tSCmibyc0B/umb05wgH0VFqTfi9I3n8Sj1gtK1OcMVCZyfJHq+g3588t3y8clLL8fX+S6+aLU3ZvJ7SX1vFSev19fB+zf4Prcv8V1/c2th/M3ty4f9i9q9XGPL35dfwPEnPTdQDffAbNH+u7ybyvsqfsKZW5kc3RyZWFtCmVuZG9iagoxMSAwIG9iagozMDQyCmVuZG9iagoxNiAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDMyNyA+PgpzdHJlYW0KeJw9kkuOxDAIRPc5BRdoyfz8OU9Gs+q5/7YfdnoWUaEARVG4a0qT6PJSlxwq2Zv86BVTxc3k74mGxDRxN9DBKfe1owj+BLgOZu4M0UqJQb11icrykbHz19fTlwfvy9thsFF6lphXn5KxBgvydHTxAebc2u5/le8rk44svUpPRe9LvViWqA8x+2L1KdzG5hvbejCeTPFrNlGrmVPW2iK6DNRFSjex1QtQ7VGB41xHbxVtAxCBO0EHlQm1amzBSEi0RdYvzGlC98T/7QG6X9rEdeyD2LSNZ3xFGkPQ3bhHWcPMMep8anPD2tPZJuuU4kwu17I4Vgk0SstYakvwrHpdFGODGWilEM3RamxlaHbo62V4P8gMbzuKsailSs+eN6fgXH3s1xR68DyLHcGbnNgt6OeQrEIGLTZh6ixdr/A55339fgAqPX1GCmVuZHN0cmVhbQplbmRvYmoKMTcgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxNTIgPj4Kc3RyZWFtCnicPU/LEUMhCLxbxTbAjCCC1vMyOZn+rwFNPLGyuB/xgQpiFpBUh7jDreLFhbWjq+NTpB20CouD5gaWvxKxgryB69bpGD1mm3iK58YYOmOGsHDMkQxZ2sUz7rYvRY4NgrthVqHpKZY+5HphGwdSerO0XaGmcC6mImOGcdtpn1sl0o7TL0r9mq4ivcPUkrWLxp99fwG89zZnCmVuZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKPDwgL0JCb3ggWyAtMTAxNiAtMzUxIDE2NjAgMTA2OCBdIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjgxCi9TdWJ0eXBlIC9Gb3JtIC9UeXBlIC9YT2JqZWN0ID4+CnN0cmVhbQp4nD2ROXJEMQgFc52CC7hKrJLOM1WOxvdP3eiPHWkBHs1jRIXECvkZEXZvYUsip4RuienyGp4uteU9fN9LR3aSVKJ6SIgzReNIqotNlUTCVpemH/Hgx0v8OBkl4fPWIJRHYuvT9gNCZKGUClJa3lsWp/F7QNtFTjlVMaVav46U2adjTaigywWTcmqQ1bKlAl9Mky9VcV/3fA07R75sLgY0nf/X2Df+HrqfCnVvAZ3zEQRKebcL+AL6A3AMIv6M+bxj2Lp7LoMx8csgSzxxqzsdBtM2VveyzYSoW7sRuMiMQR3VM8TR0d3stK7zaagQNLMWE2feDGVFRJiMEqMRa2vN6m/Hyt4sC6VFsjDH2Eb5s/41vn8Be49kUAplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjw8IC9CYXNlRm9udCAvRGVqYVZ1U2Fucy1PYmxpcXVlIC9DaGFyUHJvY3MgMTUgMCBSCi9FbmNvZGluZyA8PCAvRGlmZmVyZW5jZXMgWyAxMDEgL2UgMTA2IC9qIF0gL1R5cGUgL0VuY29kaW5nID4+IC9GaXJzdENoYXIgMAovRm9udEJCb3ggWyAtMTAxNiAtMzUxIDE2NjAgMTA2OCBdIC9Gb250RGVzY3JpcHRvciAxMyAwIFIKL0ZvbnRNYXRyaXggWyAwLjAwMSAwIDAgMC4wMDEgMCAwIF0gL0xhc3RDaGFyIDI1NSAvTmFtZSAvRGVqYVZ1U2Fucy1PYmxpcXVlCi9TdWJ0eXBlIC9UeXBlMyAvVHlwZSAvRm9udCAvV2lkdGhzIDEyIDAgUiA+PgplbmRvYmoKMTMgMCBvYmoKPDwgL0FzY2VudCA5MjkgL0NhcEhlaWdodCAwIC9EZXNjZW50IC0yMzYgL0ZsYWdzIDk2Ci9Gb250QkJveCBbIC0xMDE2IC0zNTEgMTY2MCAxMDY4IF0gL0ZvbnROYW1lIC9EZWphVnVTYW5zLU9ibGlxdWUKL0l0YWxpY0FuZ2xlIDAgL01heFdpZHRoIDEzNTAgL1N0ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjEyIDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNTAgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyOCA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTcgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxNyA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA4CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5OTUgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9lIDE2IDAgUiAvaiAxNyAwIFIgPj4KZW5kb2JqCjIzIDAgb2JqCjw8IC9CQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDIzNwovU3VidHlwZSAvRm9ybSAvVHlwZSAvWE9iamVj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cyAvSXRhbGljQW5nbGUgMAovTWF4V2lkdGggMTM0MiAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTkgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQgNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2MzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM0MiA2MzUgNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAwIDEwMDAgNTIxIDQwMCAxMDIzIDYwMCA1MjUgNjExIDMxOCA0MDEgNjM2IDYzNiA2MzYgNjM2IDMzNwo1MDAgNTAwIDEwMDAgNDcxIDYxMiA4MzggMzYxIDEwMDAgNTAwIDUwMCA4MzggNDAxIDQwMSA1MDAgNjM2IDYzNiAzMTggNTAwCjQwMSA0NzEgNjEyIDk2OSA5NjkgOTY5IDUzMSA2ODQgNjg0IDY4NCA2ODQgNjg0IDY4NCA5NzQgNjk4IDYzMiA2MzIgNjMyIDYzMgoyOTUgMjk1IDI5NSAyOTUgNzc1IDc0OCA3ODcgNzg3IDc4NyA3ODcgNzg3IDgzOCA3ODcgNzMyIDczMiA3MzIgNzMyIDYxMSA2MDUKNjMwIDYxMyA2MTMgNjEzIDYxMyA2MTMgNjEzIDk4MiA1NTAgNjE1IDYxNSA2MTUgNjE1IDI3OCAyNzggMjc4IDI3OCA2MTIgNjM0CjYxMiA2MTIgNjEyIDYxMiA2MTIgODM4IDYxMiA2MzQgNjM0IDYzNCA2MzQgNTkyIDYzNSA1OTIgXQplbmRvYmoKMjIgMCBvYmoKPDwgL2ZpdmUgMjQgMCBSIC9vbmUgMjYgMCBSIC9wYXJlbmxlZnQgMjcgMCBSIC9wYXJlbnJpZ2h0IDI4IDAgUgovcGVyaW9kIDI5IDAgUiAvc2V2ZW4gMzAgMCBSIC90d28gMzEgMCBSIC96ZXJvIDMyIDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMjEgMCBSIC9GMiAxNCAwIFIgPj4KZW5kb2JqCjQgMCBvYmoKPDwgL0ExIDw8IC9DQSAwIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0EyIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0RlamFWdVNhbnMtT2JsaXF1ZS1waGkgMTggMCBSIC9EZWphVnVTYW5zLU9tZWdhIDIzIDAgUgovRGVqYVZ1U2Fucy1taW51cyAyNSAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL0NvdW50IDEgL0tpZHMgWyAxMCAwIFIgXSAvVHlwZSAvUGFnZXMgPj4KZW5kb2JqCjMzIDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6MjAxOTA2MjYxNTAwNTYrMDInMDAnKQovQ3JlYXRvciAobWF0cGxvdGxpYiAzLjAuMywgaHR0cDovL21hdHBsb3RsaWIub3JnKQovUHJvZHVjZXIgKG1hdHBsb3RsaWIgcGRmIGJhY2tlbmQgMy4wLjMpID4+CmVuZG9iagp4cmVmCjAgMzQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMTA1NjEgMDAwMDAgbiAKMDAwMDAxMDI3NSAwMDAwMCBuIAowMDAwMDEwMzE4IDAwMDAwIG4gCjAwMDAwMTA0MTcgMDAwMDAgbiAKMDAwMDAxMDQzOCAwMDAwMCBuIAowMDAwMDEwNDU5IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAKMDAwMDAwMDM5MiAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDM1MDkgMDAwMDAgbiAKMDAwMDAwNTEwMSAwMDAwMCBuIAowMDAwMDA0ODkzIDAwMDAwIG4gCjAwMDAwMDQ1NzAgMDAwMDAgbiAKMDAwMDAwNjE1NCAwMDAwMCBuIAowMDAwMDAzNTMwIDAwMDAwIG4gCjAwMDAwMDM5MzAgMDAwMDAgbiAKMDAwMDAwNDE1NSAwMDAwMCBuIAowMDAwMDA5MDg0IDAwMDAwIG4gCjAwMDAwMDg4ODQgMDAwMDAgbiAKMDAwMDAwODUxNiAwMDAwMCBuIAowMDAwMDEwMTM3IDAwMDAwIG4gCjAwMDAwMDYxOTYgMDAwMDAgbiAKMDAwMDAwNjU2NyAwMDAwMCBuIAowMDAwMDA2ODg3IDAwMDAwIG4gCjAwMDAwMDcwNTcgMDAwMDAgbiAKMDAwMDAwNzIwOSAwMDAwMCBuIAowMDAwMDA3NDI5IDAwMDAwIG4gCjAwMDAwMDc2NTEgMDAwMDAgbiAKMDAwMDAwNzc3MiAwMDAwMCBuIAowMDAwMDA3OTEyIDAwMDAwIG4gCjAwMDAwMDgyMzMgMDAwMDAgbiAKMDAwMDAxMDYyMSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDMzIDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSAzNCA+PgpzdGFydHhyZWYKMTA3NzUKJSVFT0YK\n", "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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": [ "sym.plot(sym.Abs(X), (W, -3*sym.pi, 3*sym.pi), xlabel=r'$\\Omega$', ylabel=r'$| X(e^{j \\Omega}) |$')\n", "sym.plot(sym.arg(X), (W, -3*sym.pi, 3*sym.pi), xlabel=r'$\\Omega$', ylabel=r'$\\varphi(e^{j \\Omega})$');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**\n", "\n", "* What happens to the magnitude/phase if you increase/decrease the length $N$ of the rectangular signal?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transformation of the Exponential Signal\n", "\n", "The DTFT $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ e^{j \\Omega_0 k} \\}$ of the [harmonic exponential signal](../discrete_signals/standard_signals.ipynb#Complex-Exponential-Signal) with normalized frequency $\\Omega_0$ is derived by introducing it into the definition of the DTFT. This results in\n", "\n", "\\begin{equation}\n", "\\mathcal{F}_* \\{ e^{j \\Omega_0 k} \\} = \\sum_{k = -\\infty}^{\\infty} e^{j \\Omega_0 k} \\, e^{-j \\Omega k} =\n", "\\sum_{k = -\\infty}^{\\infty} e^{-j (\\Omega - \\Omega_0) k} = {\\bot \\!\\! \\bot \\!\\! \\bot}\\left( \\frac{\\Omega - \\Omega_0}{2 \\pi} \\right)\n", "\\end{equation}\n", "\n", "where for the last equality the [Fourier transform of the Dirac comb](../periodic_signals/spectrum.ipynb#The-Dirac-Comb) has been used. The DTFT of the exponential signal is a periodic series of shifted Dirac impulses, as\n", "\n", "\\begin{equation}\n", "{\\bot \\!\\! \\bot \\!\\! \\bot}\\left( \\frac{\\Omega - \\Omega_0}{2 \\pi} \\right) = 2 \\pi \\sum_{\\mu = -\\infty}^{\\infty} \\delta(\\Omega - \\Omega_0 - 2 \\pi \\mu)\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Relation to the z-Transform\n", "\n", "The DTFT $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ x[k] \\}$ of a signal $x[k]$ can be related to its [two-sided $z$-transform](../z_transform/definition.ipynb#Two-Sided-$z$-Transform) $X(z) = \\mathcal{Z} \\{ x[k] \\}$ by inspecting the kernels of both transforms. The $z$-transform has the complex exponential function $z^{-k}$ with $z \\in \\mathbb{C}$ as kernel. The DTFT has the harmonic exponential function $e^{- j \\Omega k}$ with $\\Omega \\in \\mathbb{R}$ as kernel. Both can be related to each other by considering that $z = e^{\\Sigma + j \\Omega}$. Hence, if the ROC includes the unit circle $|z| = 1$ of the $z$-plane, the DTFT of a signal $x[k]$ can be derived from its $z$-transform by\n", "\n", "\\begin{equation}\n", "\\mathcal{F}_* \\{ x[k] \\} = \\mathcal{Z} \\{ x[k] \\} \\bigr\\rvert_{z = e^{j \\Omega}}\n", "\\end{equation}\n", "\n", "If the ROC does not include the unit circle, the DTFT of a given signal does not exist. A benefit of the $z$-transform over the DTFT is that it can be applied to a wider class of signals." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Example**\n", "\n", "The DTFT $X(e^{j \\Omega}) = \\mathcal{F}_* \\{ x[k] \\}$ of the causal exponential signal\n", "\n", "\\begin{equation}\n", "x[k] = \\epsilon[k] \\cdot e^{- \\Sigma_0 k} \n", "\\end{equation}\n", "\n", "for $\\Sigma_0 \\in \\mathbb{R}^+$ is derived from the $z$-transform of the [causal complex exponential signal](#Transformation-of-the-Causal-Complex-Exponential-Signal). Using the substituting $z_0 = e^{-\\Sigma_0}$ yields\n", "\n", "\\begin{equation}\n", "X(z) = \\frac{z}{z - e^{-\\Sigma_0}}\n", "\\end{equation}\n", "\n", "with the ROC $|z| > e^{-\\Sigma_0}$. The ROC includes the unit circle for $0 < \\Sigma_0 < \\infty$. The DTFT can be derived from the $z$-transform by substituting $z$ with $e^{j \\Omega}$ as\n", "\n", "\\begin{equation}\n", "X(e^{j \\Omega}) = \\frac{e^{j \\Omega}}{e^{j \\Omega} - e^{-\\Sigma_0}}\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Link to Fourier Transform of a Sampled Signal\n", "\n", "The link between the Fourier transform of a sampled signal $x_\\text{s}(t)$ and the DTFT of its discrete counterpart $x[k] = x(k T)$ is established in the following. Under the assumption of [ideal sampling](../sampling/ideal.ipynb#Model-of-Ideal-Sampling), the sampled signal reads\n", "\n", "\\begin{equation}\n", "x_\\text{s}(t) = \\sum_{k = -\\infty}^{\\infty} x(k T) \\cdot \\delta(t - k T) = \\sum_{k = -\\infty}^{\\infty} x[k] \\cdot \\delta(t - k T)\n", "\\end{equation}\n", "\n", "where $x(t)$ denotes the continuous signal and $T$ the sampling interval. Introducing the sampled signal into the [definition of the Fourier transform](../fourier_transform/definition.ipynb) yields the spectrum of the sampled signal\n", "\n", "\\begin{equation}\n", "X_\\text{s}(j \\omega) = \\int_{-\\infty}^{\\infty} \\sum_{k = -\\infty}^{\\infty} x[k] \\cdot \\delta(t - k T) \\, e^{-j \\omega t} \\; dt = \\sum_{k = -\\infty}^{\\infty} x[k] \\, e^{-j \\omega k T}\n", "\\end{equation}\n", "\n", "where the last equality has been derived by changing the order of summation/integration and exploiting the [sifting property of the Dirac impulse](../continuous_signals/standard_signals.ipynb#Dirac-Impulse). Comparison with the definition of the DTFT yields\n", "\n", "\\begin{equation}\n", "X_\\text{s}(j \\omega) = X(e^{j \\Omega}) \\big\\rvert_{\\Omega = \\omega T}\n", "\\end{equation}\n", "\n", "The spectrum of the sampled signal $X_\\text{s}(j \\omega)$ is equal to the DTFT of the discrete Signal $X(e^{j \\Omega})$ for $\\Omega = \\omega T$. This result can be used to interpret the frequency axis of the DTFT." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpretation of the Spectrum\n", "\n", "It can be concluded from the definition of the inverse DTFT that a discrete signal $x[k]$ can be represented as a superposition of weighted harmonic exponential signals $X(e^{j \\Omega}) \\cdot e^{j \\Omega k}$ for $-\\pi < \\Omega < \\pi$. In general, the spectrum $X(e^{j \\Omega})$ will also have contributions for negative normalized angular frequencies $-\\pi < \\Omega < 0$. The concept of [negative frequencies](https://en.wikipedia.org/wiki/Negative_frequency) has no physical meaning. However, in the context of the DTFT with its complex kernel $e^{j \\Omega k}$ negative frequencies are required to express complex and real-valued signals.\n", "\n", "The DTFT of a discrete signal $x[k] \\in \\mathbb{C}$ is in general complex valued, $X(e^{j \\Omega}) \\in \\mathbb{C}$. It is commonly represented by its real and imaginary part \n", "\n", "\\begin{equation}\n", "X(e^{j \\Omega}) = \\Re \\{ X(e^{j \\Omega}) \\} + j \\cdot \\Im \\{ X(e^{j \\Omega}) \\}\n", "\\end{equation}\n", "\n", "or by its magnitude and phase \n", "\n", "\\begin{equation}\n", "X(e^{j \\Omega}) = |X(e^{j \\Omega})| \\cdot e^{j \\varphi(e^{j \\Omega})}\n", "\\end{equation}\n", "\n", "The magnitude spectrum $|X(e^{j \\Omega})|$ provides insights into the composition of a signal in terms of its harmonic contributions. For a discrete signal which has been derived by sampling from a continuous signal, the normalized angular frequency $\\Omega$ can be related to the\n", "\n", "* angular frequency $\\omega$ by $\\Omega = \\omega T$\n", "* frequency $f$ by $\\Omega = 2 \\pi \\frac{f}{f_\\text{s}}$\n", "\n", "where $T$ and $f_\\text{s} = \\frac{1}{T}$ denote the sampling interval and frequency, respectively. This result can be used to interpret the frequency of the DTFT as follows\n", "\n", "![DTFT frequency axes for sampled signals](DTFT_axis.png)" ] }, { "cell_type": "markdown", "metadata": { "nbsphinx": "hidden" }, "source": [ "**Copyright**\n", "\n", "This notebook is provided as [Open Educational Resource](https://en.wikipedia.org/wiki/Open_educational_resources). Feel free to use the notebook for your own purposes. The text is licensed under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/), the code of the IPython examples under the [MIT license](https://opensource.org/licenses/MIT). Please attribute the work as follows: *Sascha Spors, Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples*." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.7.3" } }, "nbformat": 4, "nbformat_minor": 1 }