{ "cells": [ { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html)", "section": "" } }, "source": [ "\n", "*This notebook contains material from [CBE30338](https://jckantor.github.io/CBE30338);\n", "content is available [on Github](https://github.com/jckantor/CBE30338.git).*\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html)", "section": "" } }, "source": [ "\n", "< [5.2 Closed-Loop Transfer Functions for Car Cruise Control](https://jckantor.github.io/CBE30338/05.02-Closed--Loop-Transfer-Functions-for-Car-Cruise-Control.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [5.4 Controller Tuning Rules in Frequency Domain](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[5.3 Creating Bode Plots](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3-Creating-Bode-Plots)", "section": "5.3 Creating Bode Plots" }, "slideshow": { "slide_type": "slide" } }, "source": [ "# 5.3 Creating Bode Plots\n", "\n", "This notebook demonstrate uss of the [Python Control Systems Library](https://github.com/python-control/python-control) to create and annotate Bode plots. Documentation of the control systems library is available [here](http://python-control.readthedocs.io/en/latest/)." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.3.1 Initializations](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.1-Initializations)", "section": "5.3.1 Initializations" }, "slideshow": { "slide_type": "slide" } }, "source": [ "## 5.3.1 Initializations\n", "\n", "These are the standard initializations with the [Python Control Systems Library](https://github.com/python-control/python-control). \n", "\n", "The control library is imported with full prefix `control`. This is good practice to avoid name conflicts with other libraries.\n", "\n", "The control library has a bug where it continues to make use of the deprecated `hold` command from matplotlib. This results in warnings being issued. Use the warnings library to turn off these distracting warnings." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "nbpages": { "level": 2, "link": "[5.3.1 Initializations](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.1-Initializations)", "section": "5.3.1 Initializations" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import control\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.3.2 Creating Bode Plots](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2-Creating-Bode-Plots)", "section": "5.3.2 Creating Bode Plots" }, "slideshow": { "slide_type": "skip" } }, "source": [ "## 5.3.2 Creating Bode Plots" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.1 Specify a Transfer Function](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.1-Specify-a-Transfer-Function)", "section": "5.3.2.1 Specify a Transfer Function" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.2.1 Specify a Transfer Function\n", "\n", "Given a transfer function with time delay\n", "\n", "$$G(s) = 0.2 \\frac{0.5s + 1}{1.5s^2 + 0.5 s + 1}$$\n", "\n", "the first task to create an object representing the transfer function." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.1 Specify a Transfer Function](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.1-Specify-a-Transfer-Function)", "section": "5.3.2.1 Specify a Transfer Function" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 0.1 s + 0.2\n", "-------------------\n", "1.5 s^2 + 0.5 s + 1\n", "\n" ] } ], "source": [ "# requires coefficients of the numerator and denominator polynomials\n", "# the coefficients are given starting with the highest power of s\n", "\n", "G = 0.2*control.tf([0.5,1],[1.5,0.5,1])\n", "print(G)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.2 Adding Time Delay](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.2-Adding-Time-Delay)", "section": "5.3.2.2 Adding Time Delay" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.2.2 Adding Time Delay\n", "\n", "Time delay is a common feature of process control applications. The current version of the Python Control Systems Library does not provide a specific representation for time delay. However, the library does provide a function `pade` to create high-order Pade approximations to time delay.\n", "\n", "$$G_p(s) = e^{-0.25s} G(s)$$\n", "\n", "Here we add a third order pade approximation for a time delay of 0.25 time units." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.2 Adding Time Delay](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.2-Adding-Time-Delay)", "section": "5.3.2.2 Adding Time Delay" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " -0.1 s^4 + 4.6 s^3 - 86.4 s^2 + 576 s + 1536\n", "-------------------------------------------------------------\n", "1.5 s^5 + 72.5 s^4 + 1465 s^3 + 1.205e+04 s^2 + 4800 s + 7680\n", "\n" ] } ], "source": [ "(num,den) = control.pade(0.25,3)\n", "Gp = control.tf(num,den)*G\n", "print(Gp)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.3 Bode Plot using Default Options](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.3-Bode-Plot-using-Default-Options)", "section": "5.3.2.3 Bode Plot using Default Options" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.2.3 Bode Plot using Default Options\n", "\n", "Function `control.bode()` returns values of the magnitude ratio, phase lag, and frequency (in rad/time) for a given transfer function. It also creates a bode plot as a side effect." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.3 Bode Plot using Default Options](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.3-Bode-Plot-using-Default-Options)", "section": "5.3.2.3 Bode Plot using Default Options" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mag,phase,omega = control.bode(Gp)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.4 Specify Frequency Range](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.4-Specify-Frequency-Range)", "section": "5.3.2.4 Specify Frequency Range" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.2.4 Specify Frequency Range\n", "\n", "The default frequency range created by `bode` is often too wide. Use `numpy.logspace()` to Fortunately, it is possible to specify a desired set of frequencies at which to evaluate the Bode plot. The frequencies are always specified in radians per unit time." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.4 Specify Frequency Range](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.4-Specify-Frequency-Range)", "section": "5.3.2.4 Specify Frequency Range" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "w = np.logspace(-1.5,1,200)\n", "mag,phase,omega = control.bode(Gp,w)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.5 Setting Other Plotting Options](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.5-Setting-Other-Plotting-Options)", "section": "5.3.2.5 Setting Other Plotting Options" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.2.5 Setting Other Plotting Options\n", "\n", "Bode plots can be customized with several key options as demonstrated in this cell. Note that setting `Hz = True` only changes the x-axis of the resulting bode plot, both input and output frequencies are still specified in radians per unit time." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "nbpages": { "level": 3, "link": "[5.3.2.5 Setting Other Plotting Options](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.2.5-Setting-Other-Plotting-Options)", "section": "5.3.2.5 Setting Other Plotting Options" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mag,phase,omega = control.bode(Gp,w,Hz=True,dB=True,deg=False)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.3.3 Adding Features to the Bode Plot](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3-Adding-Features-to-the-Bode-Plot)", "section": "5.3.3 Adding Features to the Bode Plot" }, "slideshow": { "slide_type": "slide" } }, "source": [ "## 5.3.3 Adding Features to the Bode Plot\n", "\n", "In addition to creating plots, the `bode` function returns numpy arrays containing the magnitude, phase, and frequency. " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.3.1 Crossover Frequency and Gain at Crossover](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3.1-Crossover-Frequency-and-Gain-at-Crossover)", "section": "5.3.3.1 Crossover Frequency and Gain at Crossover" }, "slideshow": { "slide_type": "slide" } }, "source": [ "### 5.3.3.1 Crossover Frequency and Gain at Crossover\n", "\n", "This data can be used to annotate or add features to a Bode plot. The following cell interpolates the phase data to find the crossover frequency, then interpolates the magnitude data to find the gain at crossover." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "nbpages": { "level": 3, "link": "[5.3.3.1 Crossover Frequency and Gain at Crossover](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3.1-Crossover-Frequency-and-Gain-at-Crossover)", "section": "5.3.3.1 Crossover Frequency and Gain at Crossover" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Crossover freq = 5.042527421277537 rad/sec\n", "Gain at crossover = 0.014611811647525856\n" ] }, { "data": { "image/png": "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\nJoMLMqnyeJm3YQ+fr9zJ5yt38tDUFTw0dQXZqfEMyG9Fn3bp9G6XQZ926eS3TsKe/WmiVb0JSlW9\nwNPA0yKSCeTXNkGsMSby4pwOhnXOYljnLH43tidF+8v5YuUuvlq9iyVb9/kGVfj/B2ckxdE7L52e\neWkUZqXQMSuZgsxk8lsnE++yu1BMZNWboPzPbDrfX3YuUCQiM1X112GOzRgTArlpiVw8OJ+LB/se\nCHCw0sN320tYutW3LNu6j9dmbeJgjclpHQJ5GUkUZifTLiOJthmJtElPpG16Im0zfEtmcrx1GZqw\nCqSLL0NVS0TkeuAFVb1HRBaFOzBjTHgkxTsZ2LE1Azu2PrROVdlZWsHG3QfYsPsAG4oPsGF3GRt2\nH2DGqp3s3F/B0SPZ45xCVkoCWanxZKcm+Bff+6zUeFqnxJOVEk+mf0mOt4lrTMME0mJc/keuXwrc\nFeZ4jDERICLkpiWSm5bIkMLM7213e7zsKq1ke0k52/eVs33fQXbsr2DX/gp2l1Wyq7SC1UWl7Cyt\nqHUG9sQ4B8lOpd3iL8hMSSAzOc73mlL9Gk92ajxZ/gSXluCy62MtXCAJ6k/AVOBLVZ0tIp3xPXLD\nGNNCuJyOQ117RzxS9CiqSmmFm92llRQfqKS4tJLiMv/7skqWrt5IQloiu8sqWb+rjOKySkpruXcr\n3ukgKzXet6QkkJuWQG56gj+R1nifnkCCyxmmb24iKZBBEm8Ab9T4vBa4OJxBGWNik4iQlhhHWmIc\nhaR8b/v06TsYPXroEevKqzzsPVDFrtIKissq2V1Wwe7SSnaVVrK7tIJdpRXsKq3ku+0l7CqtxHOM\nWTOyU+PJy0giLyORdq1818zatUqiY2Yy+yt9jw+3s7HYE8ggiUR8w8z7AIemUVbVa8MYlzGmhUiM\nc9I2w+k7O6uHx6sUl1VStL+cov0V7CypYNu+craXHGTr3nLW7y7j6zW72X/UWdmdX31EfmtfwuqY\nmUxBdgpdclLompNKTlqCJa8oFUgX34vAd8CZ+Lr7fgIsD2dQxhhzLE6HkJOWQE5aAn3qKLe/vIqt\ne8vZVHyAz2YtIj6zHZuKD7BuVxmfr9xJRY3rZGkJLjrnpNAlJ5Uuual0b5NGr7w02reye8QiLZAE\n1VVVfygiF6jq8yLyCvBFuAMzxphgpSXG0aNtHD3apuEqimP06MPpTFXZXlLOmqIy1uwsZc3OUtbu\n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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "w = np.logspace(-1,1)\n", "mag,phase,omega = control.bode(Gp,w);\n", "plt.tight_layout()\n", "\n", "# find the cross-over frequency and gain at cross-over\n", "wc = np.interp(-180.0,np.flipud(phase),np.flipud(omega))\n", "Kcu = np.interp(wc,omega,mag)\n", "\n", "print('Crossover freq = ', wc, ' rad/sec')\n", "print('Gain at crossover = ', Kcu)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "nbpages": { "level": 3, "link": "[5.3.3.1 Crossover Frequency and Gain at Crossover](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3.1-Crossover-Frequency-and-Gain-at-Crossover)", "section": "5.3.3.1 Crossover Frequency and Gain at Crossover" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mag,phase,omega = control.bode(Gp,w);\n", "plt.tight_layout()\n", "\n", "ax1,ax2 = plt.gcf().axes # get subplot axes\n", "\n", "plt.sca(ax1) # magnitude plot\n", "plt.plot(plt.xlim(),[Kcu,Kcu],'r--')\n", "plt.plot([wc,wc],plt.ylim(),'r--')\n", "plt.title(\"Gain at Crossover = {0:.3g}\".format(Kcu))\n", "\n", "plt.sca(ax2) # phase plot\n", "plt.plot(plt.xlim(),[-180,-180],'r--')\n", "plt.plot([wc,wc],plt.ylim(),'r--')\n", "plt.title(\"Crossover Frequency = {0:.3g} rad/sec\".format(wc))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "nbpages": { "level": 3, "link": "[5.3.3.1 Crossover Frequency and Gain at Crossover](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3.1-Crossover-Frequency-and-Gain-at-Crossover)", "section": "5.3.3.1 Crossover Frequency and Gain at Crossover" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.3.3.1 Crossover Frequency and Gain at Crossover](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html#5.3.3.1-Crossover-Frequency-and-Gain-at-Crossover)", "section": "5.3.3.1 Crossover Frequency and Gain at Crossover" } }, "source": [ "\n", "< [5.2 Closed-Loop Transfer Functions for Car Cruise Control](https://jckantor.github.io/CBE30338/05.02-Closed--Loop-Transfer-Functions-for-Car-Cruise-Control.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [5.4 Controller Tuning Rules in Frequency Domain](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html) >

\"Open

\"Download\"" ] } ], "metadata": { "anaconda-cloud": {}, "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }