{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Intuition behind the Laplace transform\n", "\n", "*TODO: finish visualizations and content*\n", "\n", "*TODO: fix sine wave notations and frequencies for FFT*\n", "\n", "By the end of this notebook, you should be able to:\n", "\n", "- Use `numpy` to take the Fourier transform\n", "- Get a better intuition of the Laplace transform and how it transforms a time domain signal to the frequency domain\n", "\n", "## Definition\n", "The Laplace transform is a mathematical operation that maps a function in the time domain $ f(t) $ to the complex frequency domain $ F(s) $.\n", "\n", "In process control, the Laplace transform is commonly used as a tool to transform ordinary differential equations into algebraic problems in the `s` domain, where solutions can be easily found. But what exactly is this mysterious `s` frequency domain? The goal of this notebook is to provide some intuition behind the math of Laplace transforms.\n", "\n", "The Laplace transform is defined as:\n", "\n", "$$ F(s) = \\mathcal{L}\\{f(t)\\} = \\int^{\\infty}_{0}{e^{-st}f(t) dt}$$\n", "\n", "where $s$ is a complex variable with a real and imaginary part, $s = \\sigma + i\\omega$, as opposed to $t$, which is a real variable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## In the beginning, there was the Fourier transform\n", "\n", "The Fourier transform, if you can recall from your MATH 256, Differential Equations class, is a tool that breaks down a function into sinusoids. Recall further that the Fourier transform of a function $f(t)$ to the frequency domain $\\omega$ is defined as follows:\n", "\n", "$$ F(\\omega) = \\int^{\\infty}_{-\\infty}{e^{-i\\omega t}f(t)dt}$$\n", "\n", "Let's see that integral in action." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Physics 101 Recap: Waves\n", "\n", "Recall that a wave can be defined in terms of its amplitude, $A$, angular frequency, $\\omega$ (in radians) and phase shift $\\phi$ as:\n", "\n", "$$ f(t) = A\\sin{(\\omega t + \\phi)} $$ \n", "\n", "1. Since $\\sin(x)$ is a periodic function, it'll go through one complete cycle every $360^\\circ$ or $2\\pi$ radians.\n", "2. If $\\phi=0$, $A\\sin{(\\omega t)}$ will go through one complete cycle when $\\omega t = 2\\pi$. We give this $t$ a special name, called the period, $T = \\frac{2\\pi}{\\omega}$\n", "3. The regular frequency (in Hz), can be found with $\\omega = 2\\pi f$ or $f = \\frac{\\omega}{2 \\pi}$\n", "\n", "### Example\n", "Let's visualize this with a simple sine wave:\n", "\n", "$$ f(t) = \\sin{(2 \\pi f t)} $$ \n", "\n", "Where $f = \\frac{1}{2 \\pi}$ Hz.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as tck" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7kAAAGBCAYAAACjEXYpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAMTQAADE0B0s6tTgAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4lNXWxuFfSCihGukQEKUoomID\nC4jikXNQmtiQKh1CUcCuxw/sCEqX0JsUBQQVUBQVsIDYQECKSO/SFEJLSOb7Y50RkJYyyZ5557mv\ni2sgyQwPKJl3vXvttSN8Ph8iIiIiIiIiXpDNdQARERERERGRQFGRKyIiIiIiIp6hIldEREREREQ8\nQ0WuiIiIiIiIeIaKXBEREREREfEMFbkiIiIiIiLiGSpyRURERERExDNU5IqIiIiIiIhnqMgVERER\nERERz1CRKyIiIiIiIp4RlY7n+AKeQkREJAxcccUVrFmzxnUMERGRUBSR2i/USq6IiEgWSUhIcB1B\nRETE81TkioiIiIiIiGeoyBURERERERHPUJErIiIiIiIinqEiV0RERERERDxDRa6IiIiIiIh4hopc\nERERERER8QwVuSIiIiIiIuIZKnJFRERERETEM1TkioiIiIiIiGeoyBUREUmlbdu20bVrV2666SZy\n5cpFRESE60giIiLyDypyRUREUun3339n2rRpFClShJtuusl1HBERETkLFbkiIiKpVKNGDXbt2sWs\nWbO4++67XccRERGRs1CRKyIikkrZsultU0REJNhFuQ4g4SMlBfbsgb17Yf9+iIiAqCjIkwdKloSY\nGPuYiIhIVjl+HP74A/btg4MHITLS3ptiYuy9KU8e1wlFRCStVORKptm0Cb78Er76ClasgNWr4ejR\nc3997txw5ZVwww1w001QuzYUL55lcUVExONSUmDZMvjiC/juO1i5En7/3T5+LgULQuXK9t5UvTr8\n618qfEVEgp2KXAmo9ethyhSYPNmKWr+SJeG226BsWShcGC6+2FZtT5yAv/6C7dthyxb45Rf48UcY\nPtyed/310KgRNG+ugldEQk+/fv3o16/f379OSEhwmCY8+XyweDFMmgTTpllHEdiKbbly0KABlC4N\nhQpBgQJW8CYl2crutm2wYYMVxF9+CX37Qs6cULMmNG0K991nN2hFRCS4RPh8vrQ+J81PEG/z+eCz\n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\nPmp7Y8JGRISNdgwj5crZnutFi2DePNdpRETO7ZVXTt6EFW9r2RLKl4f+/eHPP12nEREJjAhf2peU\ntAYVICdOQKVKsGsXbNwIF1/sOlEWSkmx3qj8+cOqD27LFit2b7wRvv02rP7oIgLExsaybds21zHO\n67ffoGJFW8X94gvXaSQrTJwIzZvbqm6vXq7TiIicU6qvnLWS69CUKXYx8dhjYVbggvXrHjniOkWW\nK10a2rSBxYu1misiwenll+0+pFZxw8fDD9sxUQMGaDVXRLxBRa4jJ07YHs0CBaB7d9dpHAnTjanP\nPgvZs9sd8zD9KxCRILVmDUyeDLVqQfXqrtNIVomKsrPc//rL2pZFREKdilxHJk60wR7du0NMjOs0\nkpX8q7nffQeffeY6jYjISS+9pFXccHXqau6BA67TiIhkjIpcB5KSrB3soougWzfXacQF/2pur15a\nzRWR4LBqFbz7LvznP3DLLa7TSFbzr+YePGiFrohIKFOR68A778CGDdCjh7UrS/jRaq6IBJuXXrKb\nblrFDV9azRURr1CRm8X8q7gxMTZwKuxERMDnn9vPFy2CbNlsg3IgnThhv8+CBYF93QDTaq6IBIuV\nK2HqVLj7brjpJtdpxBWt5oqIV6jIzWITJsCmTfD443Z6jnPjxkFkpN3Cz2o33gg7dti7KsB//2tn\nVoSJ0qWhbVut5oqIey+/bDfbdHyMaDVXRLxARW4WOnECeve2vbhdu7pO8z8TJtjG4AkTsv73zpED\nihXL+t83iGjSsoi4tnYtTJsGtWtD1aqu04hrp67matKyiIQqFblZaNo0m6jctWuQrOJu2QI//njy\nFv4335z8XMuW0LSpVWEXXwxFi8LYsXaA3oMPQt68cM01sGzZyef06mVnTvTtC0WKWE/2c8+du3o7\ntV153Dh49VVYuNBajSMibMl73DiIjT39ef7fx++vv+D++yE62m4/n21Z9OefbZU4OhrKlLGqMtBt\n0ulQqpTtzV2yBL74wnUaEQlHvXvbt+nnn3edRIKFfzV30CB7ixURCTUqcrNISgq89hrkyRNEe3En\nTIB69SB3bmjUCMaPP/3zs2bZ43ffwaOPQocO0KQJ3HsvLF0K5cpZhXaqX36BxYth/nwYORKGDDnz\ndc+mUSNbUb7lFti5036UKpW6P0e3bvDrr/Dll/Z79ex5+uf37bNDH++5B1assMJ58mR4663UvX4m\n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\nRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# our sine wave data\n", "n_points = 1001\n", "f = 1/(2*np.pi)\n", "t=np.linspace(-2*np.pi,2*np.pi,n_points)\n", "y=np.sin(2*np.pi*f*t)\n", "\n", "plt.figure(figsize=(15,6), dpi=80)\n", "plt.subplot(111)\n", "\n", "# Some matplotlib tricks to display the x-axis as multiples of pi \n", "# https://www.labri.fr/perso/nrougier/teaching/matplotlib/\n", "plt.plot(t, y, lw='1.5', color='b')\n", "plt.xticks(\n", " [-2*np.pi, -np.pi, 0, np.pi, 2*np.pi],\n", " [r'$-2\\pi$', r'$\\pi$', r'$0$', r'$\\pi$', r'$2\\pi$', r'$3\\pi$', r'$4\\pi$']\n", ")\n", "plt.yticks([-1, 0, +1])\n", "\n", "# Move the axes\n", "ax = plt.gca()\n", "ax.spines['right'].set_color('none')\n", "ax.spines['top'].set_color('none')\n", "ax.xaxis.set_ticks_position('bottom')\n", "ax.spines['bottom'].set_position(('data',0))\n", "ax.yaxis.set_ticks_position('left')\n", "ax.spines['left'].set_position(('data',0))\n", "\n", "# arrow and text for period\n", "plt.annotate('', xy = (0, -0.2),\n", " xytext = (2*np.pi, -0.2), arrowprops=dict(edgecolor='r', arrowstyle = '<->'))\n", "plt.text(np.pi, -0.4, 'Period', color='r', fontsize=12, horizontalalignment='center',\n", " bbox={'edgecolor': 'white', 'facecolor':'white', 'alpha':0.9, 'pad':5})\n", "\n", "# arrow and text for amplitude\n", "plt.annotate('', xy = (-1.5*np.pi, 0),\n", " xytext = (-1.5*np.pi, 1), arrowprops=dict(edgecolor='r', arrowstyle = '<->'))\n", "plt.text(-1.5*np.pi, 0.5, 'Amplitude', color='r', fontsize=12, horizontalalignment='center',\n", " bbox={'edgecolor': 'white', 'facecolor':'white', 'alpha':0.9, 'pad':5})\n", "\n", "# Make labels bigger\n", "for label in ax.get_xticklabels() + ax.get_yticklabels():\n", " label.set_fontsize(14)\n", " label.set_bbox(dict(facecolor='white', edgecolor='None'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sidenote: Python `matplotlib` tips\n", "\n", "Take a closer look at how these are done:\n", "1. Labeling plots with text and adjusting font size\n", "2. Creating and positioning arrows\n", "3. Labeling the x-axis in multiples of $\\pi$\n", "4. Moving the axes to start in the middle of the plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Python Example: Fourier transform on sine waves\n", "We'll begin by adding 3 sine waves of known frequencies together:\n", "\n", "$$ y = \\sin{(2\\pi \\cdot ft)} + 2\\cdot\\sin{(2\\pi \\cdot 3ft)} + 3\\cdot\\sin{(2\\pi \\cdot 5ft)} $$\n", "\n", "where $ f = \\frac{1}{2\\pi}$ Hz" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_points = 1001\n", "f = 1/(2*np.pi)\n", "t=np.linspace(-2*np.pi,2*np.pi,n_points)\n", "y=np.sin(2*np.pi*f*t)\n", "fig, (ax1, ax2, ax3, ax4) = plt.subplots(4, 1, sharex=True, figsize=(15,12))\n", "\n", "y1 = np.sin(1*np.pi*f*t)\n", "y2 = 2*np.sin(3*np.pi*f*t)\n", "y3 = 3*np.sin(5*np.pi*f*t)\n", "y = y1 + y2 + y3\n", "ax1.plot(t, y, '-k', lw=2.5)\n", "ax2.plot(t, y1, '--r')\n", "ax3.plot(t, y2, '--b')\n", "ax4.plot(t, y3, '--g')\n", "plt.xticks(\n", " [-2*np.pi, -np.pi, 0, np.pi, 2*np.pi],\n", " [r'$-2\\pi$', r'$\\pi$', r'$0$', r'$\\pi$', r'$2\\pi$', r'$3\\pi$', r'$4\\pi$']\n", ")\n", "# fix axes\n", "for ax in [ax1, ax2, ax3, ax4]:\n", " # Move the axes\n", " ax.spines['right'].set_color('none')\n", " ax.spines['top'].set_color('none')\n", " ax.xaxis.set_ticks_position('bottom')\n", " ax.spines['bottom'].set_position(('data',0))\n", " ax.yaxis.set_ticks_position('left')\n", " ax.spines['left'].set_position(('data',0))\n", " \n", " # set yticks\n", " ax.set_yticks([-3, 0, +3])\n", " \n", " # Make labels bigger\n", " for label in ax.get_xticklabels() + ax.get_yticklabels():\n", " label.set_fontsize(14)\n", " label.set_bbox(dict(facecolor='white', edgecolor='None'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "** todo: ** \n", "1. animate decomposition of waves \n", "2. refactor plot settings code as a separate func to make this notebook cleaner" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fourier Transform with numpy `fft`\n", "\n", "The top most plot (black line) is the 3 sine waves added together. Using numpy's `fft` module to take the Fourier transform, we can actually recover the amplitude and frequencies of the individual sine waves." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = np.fft.fft(y)\n", "freq = np.abs(f[0:10])\n", "plt.scatter(range(len(freq)),freq, marker='o')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks about right. The Fourier transform gave us our original frequencies and amplitudes:\n", "\n", "1. We have 3 peaks at $\\omega = 1$ rad, $\\omega = 3$ rad and $\\omega = 5$ rad.\n", "2. The amplitudes are 500, 1000 and 1500. Divide by their greatest common factor of 500 and we get our original amplitudes of 1, 2 and 3." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Breaking down the Fourier transform\n", "\n", "Let's take a closer look at the formula:\n", "\n", "$$ F(\\omega) = \\int^{\\infty}_{-\\infty}{e^{-i\\omega t}f(t)dt}$$\n", "\n", "By Euler's identity, we know that the exponential can be broken down into a real cosine part and an imaginary sine part: \n", "\n", "$$e^{-i\\omega t} = \\cos{\\omega t} - i\\sin{\\omega t}$$\n", "\n", "Let's relate that back to the $ e^{-i\\omega t} $ term in the integral. With some algebra, we can re-arrange Euler's identity to get the following formulas:\n", "\n", "$$ \\cos{(\\omega t)} = \\frac{1}{2}e^{i{(\\omega)}t} + \\frac{1}{2}e^{i{(-\\omega)}t}$$\n", "\n", "$$ \\sin{(\\omega t)} = \\frac{1}{2i} e^{i{(\\omega)}t} - \\frac{1}{2i}e^{i{(-\\omega)}t}$$\n", "\n", "Knowing all that, let's try to break down that integral. [Reference](http://dmorris.net/projects/tutorials/fourier_tutorial.pdf)\n", "\n", "### Stuff inside the integral\n", "1. From Euler's identity, we can see that the $e^{i{\\omega}t}$ term has 2 parts, where the real part is a cosine wave and the imaginary part is a sine wave, with frequencies of $\\omega$.\n", "2. Look at the stuff inside the integral, $e^{-i\\omega t}f(t)$. Another way of writing the negative exponential would be:\n", "$$\\frac{f(t)}{e^{i\\omega t}}$$\n", "3. Here's the interesting part:\n", " - To determine the amount of $x$'s in a certain quantity, $y$, we would divide $y$ by $x$.\n", " - For example, we can get the number $250$ by combining 25 tens through multiplication. In other words, $y/x$ = 250/10 = 25. There are 25 $x=10$ in $y=250$.\n", " - Now let's go back to our equation and apply the same concept, $y=f(t)$ and $x=e^{i\\omega t}$. This would tell us how much cosine and sine waves of frequency $\\omega$ is in our signal $f(t)$.\n", "$$ \\text{Amount of signal with frequency } \\omega \\text{ in } f(t) = \\frac{f(t)}{e^{i\\omega t}} $$ \n", "4. [Here's another way](http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT4/node2.html) to think of this concept.\n", " - The Fourier transform is decomposing a function into a sum of orthogonal basis functions.\n", " - Thi is the same as decomposing a point in 3D space into the sum of its basis vector components, $i,j,k$.\n", "5. **TODO finish explanation for integral: $ F(\\omega) = \\int^{\\infty}_{-\\infty}{\\text{stuff } dt}$**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note:**\n", "\n", "1. As mentioned in the [original reference](http://dmorris.net/projects/tutorials/fourier_tutorial.pdf), this is a hand-wavy, non-rigorous explanation of the Fourier transform which ignores some complexities like phases and complex numbers. This is, however, good enough for our purpose of getting an intuitive sense of what the transform is doing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Laplace transform as a generalized Fourier transform" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "The Laplace transform breaks a function down into sinusoids **and also exponentials**." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Further Reading:\n", "\n", "- Brian Douglas video: https://www.youtube.com/watch?v=ZGPtPkTft8g\n", "- http://dmorris.net/projects/tutorials/fourier_tutorial.pdf\n", "- DSP Guide on The Laplace Transform: http://www.dspguide.com/CH32.PDF\n", "- A filter primer: https://www.maximintegrated.com/en/app-notes/index.mvp/id/733\n", "- Great tutorial on matplotlib - https://www.labri.fr/perso/nrougier/teaching/matplotlib/#introduction\n", "- Laplace graphical - http://users.encs.concordia.ca/home/a/amer/teach/elec364/notes/LaplaceTransform.pdf" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }