{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Bode_python_notebook.ipynb", "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "7oKHWtG4q8vL", "colab_type": "text" }, "source": [ "En este tutorial aprenderemos a graficar diagramas de Bode usando python. \n", "\n", "Estudiaremos primero una transferencia sencilla de primer orden:\n", "$$H(j\\omega) = \\frac{a}{(j\\omega+a)}$$\n", "La aproximación asintótica ya la hemos trabajado en el teórico. Consiste en una recta horizontal de baja frecuencia, asociada a la ***ganancia en continua***, que se pega con una recta a -20db/dec a partir de la ***frecuencia de corte*** $\\omega=a$. \n", "\n", "Estudiaremos primero una transferencia de segundo orden:\n", "$$H(j\\omega) = \\frac{\\omega_n^2}{(j\\omega)^2+2\\zeta\\omega_n(j\\omega)+\\omega_n^2}$$\n", "En este caso, ya sabemos que la aproximación asintótica consiste en una recta horizontal de baja frecuencia, asociada a la ***ganancia en continua***, que se pega con una recta a -40db/dec a partir de la ***frecuencia de corte*** $\\omega=\\omega_n$, con la particularidad de que cerca de la frecuencia de corte, puede existir un fenómeno de ***resonancia*** asociado al valores pequeños de $\\zeta$. Por eso, al hacer la representación asintótica, igual marcamos el efecto de $zeta$ en el entorno de $\\omega=\\omega_n$. \n", "\n", "Finalmente, estudiaremos la transferencia del ejercicio 3c del práctico.\n", "\n", "$$H(j\\omega) = -\\frac{5(0.1j\\omega+1)}{j\\omega(1+0.5j\\omega)(1+j0.6\\frac{w}{50}-\\frac{w^2}{50})}$$\n", "\n", "Para definir la función de transferencia, vamos a usar la función *ZerosPolesGain* del paquete de señales del módulo *scipy* [(link)](https://docs.scipy.org/doc/scipy/reference/tutorial/signal.html). Para ello debemos calcular los ceros $c_i$ (raíces del numerador), los polos $p_k$ (raíces del denominador) y la ganancia $K$ del sistema:\n", "\n", "$$H = K\\frac{\\prod_{i=1}^{N}(j\\omega-c_i)}{\\prod_{k=1}^M(j\\omega-p_k)}$$\n", "\n", "Ejercicio: Calcular los ceros y polos de la transferencia y verificar que ésta puede factorizarse como:\n", "\n", "$$H = -50^2 \\frac{j\\omega+10}{j\\omega(j\\omega+2)\\left(j\\omega+0.3\\cdot 50-j\\sqrt{1-0.3^2}\\right)\\left(j\\omega+0.3\\cdot 50+j\\sqrt{1-0.3^2}\\right)}$$\n", "\n", "Tenemos entonces $K=-50^2$ y los conjuntos de ceros y polos son\n", "\n", "$$\\mathcal C = \\{-10\\}$$\n", "$$\\mathcal P = \\{0;\\quad -2;\\quad 0.3\\cdot 50\\pm j\\sqrt{1-0.3^2}\\}$$\n", "\n", "