{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"nbsphinx": "hidden"
},
"source": [
"# The $z$-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": [
"## Theorems\n",
"\n",
"The theorems of the $z$-transform relate basic operations applied to discrete signals to their equivalents in the spectral domain. They are of use for the computation of $z$-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": [
"### Convolution Theorem\n",
"\n",
"The convolution theorem states that the $z$-transform of the linear convolution of two discrete signals $x[k]$ and $y[k]$ is equal to the scalar multiplication of their $z$-transforms $X(z)$ and $Y(z)$\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{Z} \\{ x[k] * y[k] \\} = X(z) \\cdot Y(z)\n",
"\\end{equation}\n",
"\n",
"under the assumption that both transforms $X(z) = \\mathcal{Z} \\{ x[k] \\}$ and $Y(z) = \\mathcal{Z} \\{ y[k] \\}$ exist, respectively. The ROC of the linear convolution $x(t) * y(t)$ includes at least the intersection of the ROCs of $x[k]$ and $y[k]$\n",
"\n",
"\\begin{equation}\n",
"\\text{ROC} \\{ x[k] * y[k] \\} \\supseteq \\text{ROC} \\{ x[k] \\} \\cap \\text{ROC} \\{ y[k] \\}\n",
"\\end{equation}\n",
"\n",
"\n",
"The theorem can be proven by introducing the [definition of the linear convolution](../discrete_systems/linear_convolution.ipynb) into the [definition of the $z$-transform](definition.ipynb) and changing the order of summation\n",
"\n",
"\\begin{align}\n",
"\\mathcal{Z} \\{ x[k] * y[k] \\} &= \\sum_{k = -\\infty}^{\\infty} \\left( \\sum_{\\kappa = -\\infty}^{\\infty} x[\\kappa] \\cdot y[k - \\kappa] \\right) z^{-k} \\\\\n",
"&= \\sum_{\\kappa = -\\infty}^{\\infty} \\left( \\sum_{k = -\\infty}^{\\infty} y[k - \\kappa] \\, z^{-k} \\right) x[\\kappa] \\\\\n",
"&= Y(z) \\cdot \\sum_{\\kappa = -\\infty}^{\\infty} x[\\kappa] \\, z^{-\\kappa} \\\\\n",
"&= Y(z) \\cdot X(z)\n",
"\\end{align}\n",
"\n",
"The convolution theorem is very useful in the context of linear time-invariant (LTI) systems. The output signal $y[k]$ of an LTI system is given as the convolution of the input signal $x[k]$ with its impulse response $h[k]$. The signals and their relation can be represented alternatively in the spectral domain using the convolution theorem. This leads to the following two equivalent representations of an LTI system\n",
"\n",
"![Representation of an LTI system in the time- and Laplace-domain](LTI_system_spectral_domain.png)\n",
"\n",
"Calculation of the system response by transforming the problem into the spectral domain can be beneficial since this replaces the evaluation of the linear convolution by a scalar multiplication. In many cases this procedure simplifies the calculation of the system response significantly. The convolution theorem can also be useful to derive a $z$-transform. The key is here to express the signal as convolution of two other signals for which the $z$-transforms are known. This is illustrated by the following example."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Example**\n",
"\n",
"The [linear convolution of two rectangular signals](../discrete_systems/linear_convolution.ipynb#Finite-Length-Signals) $\\text{rect}_N[k] * \\text{rect}_M[k]$ results in a finite-length signal of trapezoidal shape. The $z$-transform of this signal is derived by application of the convolution theorem together with the [transform of the rectangular signal](definition.ipynb#Transformation-of-the-Rectangular-Signal). This results in\n",
"\n",
"\\begin{equation}\n",
"\\mathcal{Z} \\{ \\text{rect}_N[k] * \\text{rect}_M[k] \\} \n",
"= \\sum_{k=0}^{N-1} z^{-k} \\cdot \\sum_{k=0}^{M-1} z^{-k}\n",
"= \\begin{cases}\n",
"\\frac{1 - z^{-N}}{1 - z^{-1}} \\cdot \\frac{1 - z^{-M}}{1 - z^{-1}} & \\text{for } z \\neq 1 \\\\\n",
"N \\cdot M & \\text{for } z = 1\n",
"\\end{cases}\n",
"\\end{equation}\n",
"\n",
"The ROC of the rectangular signal is $z \\in \\mathbb{C} \\setminus \\{ 0 \\}$. The ROC of the convolution of two rectangular signals is also $z \\in \\mathbb{C} \\setminus \\{ 0 \\}$, since in general no poles and zeros cancel out. The poles and zeros of $\\mathcal{Z} \\{ \\text{rect}_N[k] * \\text{rect}_M[k] \\}$ are computed and illustrated in the following."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"application/pdf": "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cGUgL1R5cGUzIC9UeXBlIC9Gb250IC9XaWR0aHMgMTIgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvQXNjZW50IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgOTYKL0ZvbnRCQm94IFsgLTEwMTYgLTM1MSAxNjYwIDEwNjggXSAvRm9udE5hbWUgL0RlamFWdVNhbnMtT2JsaXF1ZQovSXRhbGljQW5nbGUgMCAvTWF4V2lkdGggMTM1MCAvU3RlbVYgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL1hIZWlnaHQgMCA+PgplbmRvYmoKMTIgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUgMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3NzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5NSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAwIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQgNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2MzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM1MCA2MzUgNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAwIDEwMDAgNTIxIDQwMCAxMDI4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dERlc2NyaXB0b3IgMTggMCBSCi9Gb250TWF0cml4IFsgMC4wMDEgMCAwIDAuMDAxIDAgMCBdIC9MYXN0Q2hhciAyNTUgL05hbWUgL0RlamFWdVNhbnMKL1N1YnR5cGUgL1R5cGUzIC9UeXBlIC9Gb250IC9XaWR0aHMgMTcgMCBSID4+CmVuZG9iagoxOCAwIG9iago8PCAvQXNjZW50IDkyOSAvQ2FwSGVpZ2h0IDAgL0Rlc2NlbnQgLTIzNiAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvRm9udE5hbWUgL0RlamFWdVNhbnMgL0l0YWxpY0FuZ2xlIDAKL01heFdpZHRoIDEzNDIgL1N0ZW1WIDAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9YSGVpZ2h0IDAgPj4KZW5kb2JqCjE3IDAgb2JqClsgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAKNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAzMTggNDAxIDQ2MCA4MzggNjM2Cjk1MCA3ODAgMjc1IDM5MCAzOTAgNTAwIDgzOCAzMTggMzYxIDMxOCAzMzcgNjM2IDYzNiA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNgo2MzYgNjM2IDMzNyAzMzcgODM4IDgzOCA4MzggNTMxIDEwMDAgNjg0IDY4NiA2OTggNzcwIDYzMiA1NzUgNzc1IDc1MiAyOTUKMjk1IDY1NiA1NTcgODYzIDc0OCA3ODcgNjAzIDc4NyA2OTUgNjM1IDYxMSA3MzIgNjg0IDk4OSA2ODUgNjExIDY4NSAzOTAgMzM3CjM5MCA4MzggNTAwIDUwMCA2MTMgNjM1IDU1MCA2MzUgNjE1IDM1MiA2MzUgNjM0IDI3OCAyNzggNTc5IDI3OCA5NzQgNjM0IDYxMgo2MzUgNjM1IDQxMSA1MjEgMzkyIDYzNCA1OTIgODE4IDU5MiA1OTIgNTI1IDYzNiAzMzcgNjM2IDgzOCA2MDAgNjM2IDYwMCAzMTgKMzUyIDUxOCAxMDAwIDUwMCA1MDAgNTAwIDEzNDIgNjM1IDQwMCAxMDcwIDYwMCA2ODUgNjAwIDYwMCAzMTggMzE4IDUxOCA1MTgKNTkwIDUwMCAxMDAwIDUwMCAxMDAwIDUyMSA0MDAgMTAyMyA2MDAgNTI1IDYxMSAzMTggNDAxIDYzNiA2MzYgNjM2IDYzNiAzMzcKNTAwIDUwMCAxMDAwIDQ3MSA2MTIgODM4IDM2MSAxMDAwIDUwMCA1MDAgODM4IDQwMSA0MDEgNTAwIDYzNiA2MzYgMzE4IDUwMAo0MDEgNDcxIDYxMiA5NjkgOTY5IDk2OSA1MzEgNjg0IDY4NCA2ODQgNjg0IDY4NCA2ODQgOTc0IDY5OCA2MzIgNjMyIDYzMiA2MzIKMjk1IDI5NSAyOTUgMjk1IDc3NSA3NDggNzg3IDc4NyA3ODcgNzg3IDc4NyA4MzggNzg3IDczMiA3MzIgNzMyIDczMiA2MTEgNjA1CjYzMCA2MTMgNjEzIDYxMyA2MTMgNjEzIDYxMyA5ODIgNTUwIDYxNSA2MTUgNjE1IDYxNSAyNzggMjc4IDI3OCAyNzggNjEyIDYzNAo2MTIgNjEyIDYxMiA2MTIgNjEyIDgzOCA2MTIgNjM0IDYzNCA2MzQgNjM0IDU5MiA2MzUgNTkyIF0KZW5kb2JqCjIwIDAgb2JqCjw8IC9JIDIxIDAgUiAvUCAyMiAwIFIgL1IgMjMgMCBSIC9aIDI0IDAgUiAvYSAyNSAwIFIgL2JyYWNlbGVmdCAyNiAwIFIKL2JyYWNlcmlnaHQgMjcgMCBSIC9kIDI4IDAgUiAvZSAyOSAwIFIgL2ZpdmUgMzAgMCBSIC9sIDMxIDAgUiAvbSAzMiAwIFIKL24gMzQgMCBSIC9vIDM1IDAgUiAvb25lIDM2IDAgUiAvcGVyaW9kIDM3IDAgUiAvciAzOCAwIFIgL3MgMzkgMCBSCi9zcGFjZSA0MCAwIFIgL3R3byA0MSAwIFIgL3plcm8gNDIgMCBSID4+CmVuZG9iagozIDAgb2JqCjw8IC9GMSAxOSAwIFIgL0YyIDE0IDAgUiA+PgplbmRvYmoKNCAwIG9iago8PCAvQTEgPDwgL0NBIDAgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgovQTIgPDwgL0NBIDAuNyAvVHlwZSAvRXh0R1N0YXRlIC9jYSAwLjcgPj4KL0EzIDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDEgPj4KL0E0IDw8IC9DQSAxIC9UeXBlIC9FeHRHU3RhdGUgL2NhIDAgPj4gPj4KZW5kb2JqCjUgMCBvYmoKPDwgPj4KZW5kb2JqCjYgMCBvYmoKPDwgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0RlamFWdVNhbnMtbWludXMgMzMgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9Db3VudCAxIC9LaWRzIFsgMTAgMCBSIF0gL1R5cGUgL1BhZ2VzID4+CmVuZG9iago0MyAwIG9iago8PCAvQ3JlYXRpb25EYXRlIChEOjIwMTkwNjI2MTQzOTU1KzAyJzAwJykKL0NyZWF0b3IgKG1hdHBsb3RsaWIgMy4wLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZykKL1Byb2R1Y2VyIChtYXRwbG90bGliIHBkZiBiYWNrZW5kIDMuMC4zKSA+PgplbmRvYmoKeHJlZgowIDQ0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNiAwMDAwMCBuIAowMDAwMDEyNzczIDAwMDAwIG4gCjAwMDAwMTI0NjEgMDAwMDAgbiAKMDAwMDAxMjUwNCAwMDAwMCBuIAowMDAwMDEyNjg1IDAwMDAwIG4gCjAwMDAwMTI3MDYgMDAwMDAgbiAKMDAwMDAxMjcyNyAwMDAwMCBuIAowMDAwMDAwMDY1IDAwMDAwIG4gCjAwMDAwMDAzOTkgMDAwMDAgbiAKMDAwMDAwMDIwOCAwMDAwMCBuIAowMDAwMDAzMTU3IDAwMDAwIG4gCjAwMDAwMDM4NTUgMDAwMDAgbiAKMDAwMDAwMzY0NyAwMDAwMCBuIAowMDAwMDAzMzMxIDAwMDAwIG4gCjAwMDAwMDQ5MDggMDAwMDAgbiAKMDAwMDAwMzE3OCAwMDAwMCBuIAowMDAwMDExMTQwIDAwMDAwIG4gCjAwMDAwMTA5NDAgMDAwMDAgbiAKMDAwMDAxMDUwMSAwMDAwMCBuIAowMDAwMDEyMTkzIDAwMDAwIG4gCjAwMDAwMDQ5NDAgMDAwMDAgbiAKMDAwMDAwNTA2MSAwMDAwMCBuIAowMDAwMDA1Mjk5IDAwMDAwIG4gCjAwMDAwMDU1OTkgMDAwMDAgbiAKMDAwMDAwNTc0OCAwMDAwMCBuIAowMDAwMDA2MTI1IDAwMDAwIG4gCjAwMDAwMDY0NzcgMDAwMDAgbiAKMDAwMDAwNjgyNiAwMDAwMCBuIAowMDAwMDA3MTI2IDAwMDAwIG4gCjAwMDAwMDc0NDQgMDAwMDAgbiAKMDAwMDAwNzc2NCAwMDAwMCBuIAowMDAwMDA3ODgxIDAwMDAwIG4gCjAwMDAwMDgyMDkgMDAwMDAgbiAKMDAwMDAwODM3OSAwMDAwMCBuIAowMDAwMDA4NjEzIDAwMDAwIG4gCjAwMDAwMDg5MDAgMDAwMDAgbiAKMDAwMDAwOTA1MiAwMDAwMCBuIAowMDAwMDA5MTczIDAwMDAwIG4gCjAwMDAwMDk0MDMgMDAwMDAgbiAKMDAwMDAwOTgwOCAwMDAwMCBuIAowMDAwMDA5ODk3IDAwMDAwIG4gCjAwMDAwMTAyMTggMDAwMDAgbiAKMDAwMDAxMjgzMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9JbmZvIDQzIDAgUiAvUm9vdCAxIDAgUiAvU2l6ZSA0NCA+PgpzdGFydHhyZWYKMTI5ODcKJSVFT0YK\n",
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
"