{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains course material from [CBE30338](https://jckantor.github.io/CBE30338)\n", "by Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE30338.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Frequency Domain Control Design](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/05.00-Frequency-Domain-Control-Design.ipynb) | [Contents](toc.ipynb) | [Closed-Loop Transfer Functions for Car Cruise Control](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/05.02-Closed--Loop-Transfer-Functions-for-Car-Cruise-Control.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting Started with Transfer Functions\n", "\n", "The [Python Control Systems Library](https://github.com/python-control/python-control) provides basic tools for the analysis and design of linear feedback control systems. The library provides tools to specify transfer function and state space models, manipulate models using block diagram algebra, stability analysis, and perform time and frequency domain simulation.\n", "\n", "The purpose of these notes is to provide a quick start with the Python Control Systems Library. Consult the [Python Control Systems Documentation](http://python-control.readthedocs.io/en/latest/) for more details." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Installation\n", "\n", "The [Python Control Systems Library](https://github.com/python-control/python-control) is not, unfortunately, a standard part of most standard Python distributions. On most systems, the following commands will perform the required one-time installation of the necessary software." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: slycot in /Users/jeff/anaconda/lib/python3.5/site-packages\n", "Requirement already satisfied: control in /Users/jeff/anaconda/lib/python3.5/site-packages\n", "Requirement already satisfied: matplotlib in /Users/jeff/anaconda/lib/python3.5/site-packages (from control)\n", "Requirement already satisfied: numpy in /Users/jeff/anaconda/lib/python3.5/site-packages (from control)\n", "Requirement already satisfied: scipy in /Users/jeff/anaconda/lib/python3.5/site-packages (from control)\n", "Requirement already satisfied: six>=1.10 in /Users/jeff/anaconda/lib/python3.5/site-packages (from matplotlib->control)\n", "Requirement already satisfied: python-dateutil in /Users/jeff/anaconda/lib/python3.5/site-packages (from matplotlib->control)\n", "Requirement already satisfied: pytz in /Users/jeff/anaconda/lib/python3.5/site-packages (from matplotlib->control)\n", "Requirement already satisfied: cycler>=0.10 in /Users/jeff/anaconda/lib/python3.5/site-packages (from matplotlib->control)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 in /Users/jeff/anaconda/lib/python3.5/site-packages (from matplotlib->control)\n" ] } ], "source": [ "!pip install slycot\n", "!pip install control" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Library Usage\n", "\n", "The control systems library is designed to work with a simplified syntax where libraries are imported without the standard prefixes. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "import control.matlab as control" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Demonstration" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step Response of Transfer Functions\n", "\n", "The following cells demonstrate the use of two functions in the control systems library, `tf` and `step`. Suppose a signal $y(s)$ is related to an input $u(s)$ by the formula\n", "\n", "$$y(s) = \\underbrace{\\frac{4.3}{3.2s + 1}}_{G(s)} u(s)$$\n", "\n", "The transfer function\n", "\n", "$$G(s) = \\frac{4.3}{3.2 s + 1}$$\n", "\n", "is represented in the control system libary using `tf(num,den)` where `num` and `den` list the coefficients of the numerator and denominator polynomials. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 4.3\n", "---------\n", "3.2 s + 1\n", "\n" ] } ], "source": [ "G = control.tf([4.3],[3.2, 1])\n", "print(G)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The step response is created and plotted as" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdkAAAFlCAYAAACnT5IMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VPW9//H3mSWZ7AuEPZAQiGwCImIFoaBFtAou1Rbk\nYivWWn/d0IsbVYti1Vb78FprbfVeb1vaWqvVSrVaFeSiaBWQxbAF2UISQvY9s5/fHwkRVAjCzJxZ\nXs/HYx4z58zMmU++hHnnfM85369hmqYpAAAQcjarCwAAIF4RsgAAhAkhCwBAmBCyAACECSELAECY\nELIAAISJw+oCgFixadMm/eIXv1BjY6NM01S/fv102223afjw4ZKkhQsX6uGHH1Zubm5IPu+8886T\n0+mUy+WSYRjyer2y2Wy69dZbNW3atJB8BoDwImSBE+D1enXDDTfo6aef1ujRoyVJL730kq6//nqt\nXLlSdrtda9euDfnnPvzwwzr99NO7l1977TUtWbJE77zzTsg/C0DoEbLACejo6FBLS4va29u7182Z\nM0fp6ekKBAK68847JUnf/OY39eSTT8pms+nee+/VwYMH5fP5dPHFF+u73/2uysvLtWDBAk2aNEk7\nduyQaZq6++67NXHixB5rME1T5eXlysrK6l733HPP6ZlnnlEwGFR2drbuuusuFRUVaf369XrwwQcV\nDAYlSTfccINmzZql22+/XYZhaPfu3aqvr9eUKVN05513yul0av369fr5z3+ujo4OOZ1OLVq0SNOm\nTdMLL7ygN954QzabTfv375fT6dTPfvYzFRcX6/XXX9cTTzwhwzBkt9t166236qyzzlJLS4t++tOf\nqrS0VD6fT+ecc45uvfVWORx85SDBmABOyNNPP22OHTvWPO+888zFixebzz33nNne3t79fHFxsVlX\nV2eapmkuWLDAXLlypWmapul2u80FCxaYr7zyinngwAGzuLjYXLFihWmaprl69WpzypQpptfr/czn\nzZgxw7zgggvMOXPmmNOmTTOnTp1q3nHHHWZZWZlpmqb5/vvvm1dffXV3DW+//bZ50UUXmaZpmtdc\nc4358ssvm6Zpmtu3bzeXLl1qmqZp3nbbbeZll11mtra2mh6Px5w/f765fPlys76+3jznnHPMTZs2\nmaZpmqWlpeakSZPMsrIy829/+5t55plnmgcPHjRN0zTvvfde89ZbbzVN0zTPP/98c+PGjd2f/9hj\nj5mmaZq33367+Yc//ME0TdP0+/3m4sWLzSeffPLU/xGAGMOflcAJuvbaa3XVVVdp3bp1WrdunZ56\n6ik99dRTev7555WRkdH9uvb2dq1bt05NTU169NFHu9ft2LFDY8eOVVZWlmbPni1J+vKXvyy73a6d\nO3dqzJgxn/nMw93FBw4c0LXXXquioiLl5+dLklavXq39+/dr7ty53a9vampSY2OjLrroIt17771a\ntWqVJk+erJtvvrn7NZdffrnS0tIkSZdeeqlWrlyp/Px8DR48WOPGjZMkDR8+XBMmTNAHH3wgwzA0\nevRo9evXT5I0atQovfHGG5Kkiy++WN///vf15S9/WVOmTNH111/fXdtHH32k559/XpLkdrtD8C8A\nxB5CFjgBGzZs0MaNG/Xtb39bM2bM0IwZM3TzzTdr9uzZWrt2rS688MLu1waDQZmmqb/85S9KSUmR\nJNXX1ys5OVkNDQ2y2+1HbTsYDH5m3afl5+fr5z//uRYsWKCJEydq3LhxCgaDuvTSS3XLLbd0b6e6\nulpZWVmaO3euZsyYobVr1+rtt9/Wr371K61YsUKSjvos0zRls9m6u5WPZJqm/H5/98lXhxmGIbNr\nyPObbrpJV155pd555x298MILevLJJ/XCCy8oGAzq0UcfVVFRkSSpublZhmGccHsD8YJLeIATkJub\nqyeeeELr16/vXldTU6OOjg4VFxdL6gwvv9+v9PR0jR8/Xv/7v/8rqTNg5s2bp5UrV0rqDNw1a9ZI\nklatWiWn09m9jeOZMGGCLr/8ct1zzz0KBoOaMmWKXnnlFVVXV0uSnnnmGX3zm9+UJM2dO1fbt2/X\nFVdcoWXLlqm5uVlNTU2SpFdffVVer1cej0cvvviiZsyYoXHjxmnv3r3asmWLJGnXrl1at26dJk2a\ndMx6/H6/zjvvPLW3t2vevHn6yU9+ot27d8vv9+vcc8/V7373O5mmKa/XqxtvvFF//OMfv1CbA/GA\nPVngBBQWFurxxx/XI488oqqqKiUnJysjI0P33nuvhg4dKkmaOXOmrr76av3617/Www8/rGXLlmn2\n7Nnyer265JJLNGfOHJWXlys5OVkvvfSSHn74YblcLj3++OM97skedvPNN+uiiy7Ss88+q3nz5un6\n66/XwoULZRiG0tPT9atf/UqGYWjx4sW6//779V//9V+y2Wz6/ve/r0GDBkmSXC6Xrr76ajU3N2vW\n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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y,t = control.step(G)\n", "plt.plot(t,y)\n", "plt.xlabel('Time')\n", "plt.title('Step Response')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transfer Functions in Series" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Models for complex systems are generally constructed by combining models of simpler elements. Consider, for example, a serial connection of two transfer functions\n", "\n", "$$ y_1(s) = G_1(s) u(s)$$\n", "\n", "$$ y_2(s) = G_2(s) y_1(s)$$\n", "\n", "which can be diagrammed as\n", "\n", "$$u(s) \\longrightarrow \\boxed{\\\\G_1(s)} \\stackrel{y_1(s)}{\\longrightarrow} \\boxed{\\\\G_2(s)} \n", "\\longrightarrow y_2(s)$$\n", "\n", "The serial composition of two transfer functions can be written\n", "\n", "$$y_2(s) = \\underbrace{G_2(s)G_1(s)}_{G(s)} u(s)$$\n", "\n", "where the product $G(s) = G_2(s)G_1(s)$ represents the transfer function of the combined system. In terms of a block diagram\n", "\n", "$$u(s) \\longrightarrow \\boxed{\\\\G_1(s)} \\stackrel{y_1(s)}{\\longrightarrow} \\boxed{\\\\G_2(s)} \n", "\\longrightarrow y_2(s) \\qquad \\implies \\qquad\n", "u(s) \\longrightarrow \\boxed{\\\\G_2(s)G_1(s)} \\longrightarrow y_2(s)$$\n", "\n", "The product $G(s) = G_2(s)G_1(s)$$ is computed by taking the products of the numerator and denominator polynomials, respectively. For example, suppose\n", "\n", "$$G_1(s) = \\frac{12.3}{10 s + 1} \\text{ and }G_2(s) = \\frac{4}{15 s + 1}$$\n", "\n", "Then\n", "\n", "\\begin{align*}\n", "G(s) & = G_2(s)G_1(s) \\\\\n", "& = \\frac{4}{15 s + 1} \\times \\frac{12.3}{10 s + 1} = \\frac{4 \\times 12.3}{(15s + 1)(10s + 1)} = \\frac{49.2}{150 s^2 + 25s + 1}\n", "\\end{align*}\n", "\n", "We can verify this calculation using the control systems library." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 49.2\n", "------------------\n", "150 s^2 + 25 s + 1\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "G1 = control.tf([12.3],[10,1])\n", "G2 = control.tf([4],[15,1])\n", "\n", "G = G2 * G1\n", "\n", "print(G)\n", "\n", "y,t = control.step(G)\n", "plt.plot(t,y)\n", "plt.xlabel('Time')\n", "plt.title('Step Response of Two First Order Transfer Functions in Series')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Second Order Transfer Functions\n", "\n", "The control systems library is particularly helpful when working with second and higher order transfer functions. For\n", "\n", "$$G(s) = \\frac{3}{4s^2 + s + 1}$$\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 3\n", "-------------\n", "4 s^2 + s + 1\n", "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R = control.tf([3.],[4.,1.,1.])\n", "print(R)\n", "\n", "y,t = control.step(R)\n", "plt.plot(t,y)\n", "plt.xlabel('Time')\n", "plt.title('Response of a Second Order System')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Frequency Domain Control Design](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/05.00-Frequency-Domain-Control-Design.ipynb) | [Contents](toc.ipynb) | [Closed-Loop Transfer Functions for Car Cruise Control](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/05.02-Closed--Loop-Transfer-Functions-for-Car-Cruise-Control.ipynb) >

\"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 }