{"id":17819,"date":"2017-09-12T07:00:09","date_gmt":"2017-09-12T12:00:09","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=3152"},"modified":"2026-04-12T16:09:18","modified_gmt":"2026-04-12T21:09:18","slug":"s1eva2012ti_t1-lti-ct-polosceros-hs-respuestadc","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-s1eva\/s1eva2012ti_t1-lti-ct-polosceros-hs-respuestadc\/","title":{"rendered":"s1Eva2012TI_T1 LTI CT Polos y ceros de H(s) con respuesta DC conocida"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-1eva\/1eva2012ti_t1-lti-ct-polosceros-hs-respuestadc\/\" data-type=\"post\" data-id=\"1699\">1Eva2012TI_T1 LTI CT Polos y ceros de H(s) con respuesta DC conocida<\/a><\/p>\n\n\n\n<p>Se revisan los polos y ceros para escribir la funci\u00f3n de transferencia,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{(s-ceros_0)(s-ceros_1)}{(s-polo_0)(s-polo_1)}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{(s-(-1.5j))(s-(1.5j))}{(s-(-1+0.5j))(s-(-1-0.5j))}<\/span>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"471\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/1E2009TII_T4_LTIC.png\" alt=\"1E2009TII_T4 LTIC\" class=\"wp-image-19796\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{s^2+2.25}{s^2+2s+1.25}<\/span>\n\n\n\n<p>tomando el modelo proporcionado de la ecuaci\u00f3n, se compara para encontrar los valores de las variables<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{k (s^2 + b_1 s + b_2)}{s^2 + a_1 s + a_2} <\/span>\n\n\n\n<p>k = 1, b1=0, b2=2.25, a1=2, a2=1.25<\/p>\n\n\n\n<p>Separando en fracciones parciales, dado que el grado M del numerador y grado N denominador son iguales, ganancia el coeficiente del t\u00e9rmino de mayor grado del numerador. Lo mismo que se obtiene al dividir el numerador y denominador por s<sup>2<\/sup> y hacer s\u2192\u221e<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{1+\\frac{2.25}{s^2}}{1+2\\frac{1}{s}+\\frac{1.25}{s^2}} \\Big|_{s=\\infty} =1<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = 1+\\frac{k_1s+k_2}{s^2+2s+1.25} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{s^2+2s+1.25+k_1s+k_2}{s^2+2s+1.25} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = \\frac{s^2+(2+k_1)s+(1.25+k_2)}{s^2+2s+1.25} <\/span>\n\n\n\n<p>con lo que 2+k1=0, entonces k1=-2,<br>tambi\u00e9n 1.25+k2=2.25, entonces K2 = 1<\/p>\n\n\n\n<p>con lo que se obtiene,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H(s) = 1+\\frac{-2s +1}{s^2 + 2 s + 1.25} <\/span>\n\n\n\n<p>los polos se encuentran sobre el lado izquierdo del plano s, por lo que el sistema es asintoticamente estable<\/p>\n\n\n\n<p>Observe que para H(s) el grado del polinomio el numerador P de H(s) es igual al grado del denominador Q. por lo que M=N. por lo que se considera un funci\u00f3n impropia (Lathi 4.3b p339, 4.2 p359). Se genera una respuesta impulso por el valor de la constante 1 que se obtiene al usar fracciones parciales.<\/p>\n\n\n\n<p>Para la transformada inversa, para el t\u00e9rmino cuadr\u00e1tico, en la tabla de transformadas de Laplace se identifica el caso 12c:<\/p>\n\n\n\n<p><span class=\"wp-katex-eq\" data-display=\"false\"> \\frac{As+B}{s^2+2as+c}<\/span> donde A=-2, B=1,a=1,c=1.25<\/p>\n\n\n\n<p>El valor <span class=\"wp-katex-eq\" data-display=\"false\"> b = \\sqrt{c-a^2}<\/span> se calcula como:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b = \\sqrt{1.25-(1)^2} = \\frac{1}{2}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">r = \\sqrt{\\frac{A^2 c +B^2 -2ABa}{c-a^2}}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">r = \\sqrt{\\frac{(-2)^2 (1.25) +(1)^2 -2(-2)(1)(1)}{1.25-(-2)^2}} =\\sqrt{\\frac{10}{1\/4}} = 6.3245<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\theta = \\tan ^{-1} \\Big( \\frac{Aa-B}{A\\sqrt{c-a^2}}\\Big)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\theta = \\tan ^{-1} \\Big( \\frac{(-2)(1)-(1)}{(-2)\\sqrt{1.25-(1)^2}}\\Big)\\tan ^{-1}(\\frac{-3}{-2(1\/2)} = 1.2490<\/span>\n\n\n\n<p>h(t) = \u03b4(t) + re<sup>-at<\/sup>cos (bt+\u03b8) \u03bc(t)<\/p>\n\n\n\n<p>h(t) = \u03b4(t) + 6.3245e<sup>-t<\/sup>cos (t\/2+1.2490) \u03bc(t)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>A partir del algoritmo <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u04\/laplace-hs-polos-estabilidad\/\" data-type=\"post\" data-id=\"2050\">H(s) polos y estabilidad<\/a><\/p>\n\n\n\n<p>Para el bloque de ingreso se debe mantener los coeficientes como n\u00fameros enteros o racionales. Recordando que los algoritmos de Sympy para transformadas de Laplace (hasta versi\u00f3n 1.11) se encuentran escritos para el dominio de los enteros y racionales ('ZZ'), por lo que los datos se ingresan como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>k1 = sym.Rational(2.25).limit_denominator(100)\nk2 = sym.Rational(1.25).limit_denominator(100)\nHs = (s**2+k1)\/(s**2+2*s+k2)<\/code><\/pre>\n\n\n\n<p>con el resultado mostrado,<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>H:\n    2   9   \n   s  + \u2500   \n        4   \n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n 2         5\ns  + 2\u22c5s + \u2500\n           4\nH_fp:\n   4\u22c5(2\u22c5s - 1)      \n- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + 1\n     2              \n  4\u22c5s  + 8\u22c5s + 5    \nQ_polos : {-1 - I\/2: 1, -1 + I\/2: 1}\nP_ceros : {-3*I\/2: 1, 3*I\/2: 1}\nn_polos_real : 0\nn_polos_imag : 2\nenRHP : 0\nunicos : 0\nrepetidos : 0\nasintota : estable\n\n h(t): \n          -t    \u239bt\u239e           -t    \u239bt\u239e     \n\u03b4(t) + 6\u22c5\u212f  \u22c5sin\u239c\u2500\u239f\u22c5\u03b8(t) - 2\u22c5\u212f  \u22c5cos\u239c\u2500\u239f\u22c5\u03b8(t)\n                \u239d2\u23a0                 \u239d2\u23a0     <\/code><\/pre>\n\n\n\n<p>Con gr\u00e1ficas de H(s) y polos<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"449\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/s1Eva2012TI_T1_polos_Hs.png\" alt=\"s1Eva2012TI_T1 polos Hs\" class=\"wp-image-19797\" \/><\/figure>\n\n\n\n<p>gr\u00e1fica de h(t)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/09\/s1Eva2012TI_T1_ht.png\" alt=\"s1Eva2012TI_T1 ht\" class=\"wp-image-19798\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>Usando los bloques desarrollados en la\u00a0<span class=\"collapsing categories expand\">Unidad 4 Sistemas LTI \u2013 Laplace<\/span>\u00a0 y las funciones resumidas como<a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-algoritmos-telg1001-py\/\" data-type=\"page\" data-id=\"17852\"> <strong>telg1001.py<\/strong><\/a> que pueden ser usados en cada pregunta.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u04\/laplace-hs-polos-estabilidad\/\" data-type=\"post\" data-id=\"2050\">H(s) - polos y Estabilidad del sistema con Sympy-Python<\/a><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Estabilidad del sistema, H(s) respuesta al impulso\n# Polos y ceros de funcion de transferencia H(s)\n# Ps es numerador, Qs es denominador\nimport sympy as sym\nimport telg1001 as fcnm  \n \n# INGRESO\ns = sym.Symbol('s')\nt = sym.Symbol('t',real=True)\n \n# H(s) y estabilidad\nk1 = sym.Rational(2.25).limit_denominator(100)\nk2 = sym.Rational(1.25).limit_denominator(100)\nHs = (s**2+k1)\/(s**2+2*s+k2)\n#Hs = (s**2+2.25)\/(s**2+2*s+1.25)\n \n# condiciones iniciales, &#x5B;y'(0),y(0)] orden descendente\nt0 = 0\ncond_inicio = &#x5B;0, 0] # estado cero no se usan\n \n# Grafica, intervalo tiempo &#x5B;t_a,t_b]\nt_a = -1 ; t_b = 5\nmuestras = 101  # 51 resolucion grafica\n\n# PROCEDIMIENTO\nHs_fp = fcnm.apart_s(Hs)\npolosceros = fcnm.busca_polosceros(Hs_fp)\nP_ceros = polosceros&#x5B;'P_ceros']\nQ_polos = polosceros&#x5B;'Q_polos']\n \ndef estabilidad_asintotica_s(Q_polos, casi_cero=1e-8):\n    ''' Analiza estabilidad asintotica con Q_raiz\n        Separa parte real e imaginaria de raices\n        casicero es la tolerancia para considerar cero\n    '''\n    # Separa parte real e imaginaria de raices\n    cuenta_real = 0; cuenta_imag = 0\n    unicos = 0 ; repetidos = 0 ; enRHP = 0\n    for raiz in Q_polos:\n        &#x5B;r_real,r_imag] = raiz.as_real_imag()\n        if abs(r_real)&gt;casi_cero and abs(r_imag)&lt;casi_cero :\n            cuenta_real = cuenta_real+1\n        # para estabilidad asintotica\n        conteo = Q_polos&#x5B;raiz]\n        if conteo==1 and r_real==0 and abs(r_imag)&gt;0:\n            unicos = unicos + 1\n        if conteo&gt;1  and r_real==0 and abs(r_imag)&gt;0:\n            repetidos = repetidos + 1\n        if r_real&gt;0:\n            enRHP = enRHP + 1\n    cuenta_imag = len(Q_polos)-cuenta_real\n \n    # Revisa lado derecho del plano RHP\n    asintota = &quot;&quot;\n    if enRHP==0:\n        asintota = 'estable'\n    if enRHP&gt;0 or repetidos&gt;0:\n        asintota = 'inestable'\n    if enRHP==0 and unicos&gt;0:\n        asintota = 'marginalmente estable'\n         \n    estable = {'n_polos_real': cuenta_real,\n               'n_polos_imag': cuenta_imag,\n               'enRHP'     : enRHP,\n               'unicos'    : unicos,\n               'repetidos' : repetidos,\n               'asintota'  : asintota,}\n    return(estable)\n \nestable = estabilidad_asintotica_s(Q_polos)\n \n# h(t) desde H_fp(s) con inversa Laplace\nht = 0*t\nterm_suma = sym.Add.make_args(Hs_fp.expand())\nfor term_k in term_suma:\n    ht_k = sym.inverse_laplace_transform(term_k,s,t)\n    ht = ht +ht_k\nht = sym.expand(ht,t) # terminos suma\n \n# SALIDA\nprint('H:')\nsym.pprint(Hs)\nprint('H_fp:')\nsym.pprint(Hs_fp)\n \nfcnm.print_resultado_dict(polosceros)\nfcnm.print_resultado_dict(estable)\n \nprint('\\n h(t): ')\nsym.pprint(ht)\n \n# GRAFICA -----------\nimport matplotlib.pyplot as plt\nmuestras_H = 161\nfig_Hs = fcnm.graficar_Fs(Hs_fp,Q_polos,P_ceros,\n                          muestras=muestras_H,\n                          f_nombre='H',solopolos=True)\nfigura_h = fcnm.graficar_ft(ht,t_a,t_b,f_nombre='h')\nplt.show()\n<\/pre><\/div>\n\n\n<p>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2012TI_T1 LTI CT Polos y ceros de H(s) con respuesta DC conocida Se revisan los polos y ceros para escribir la funci\u00f3n de transferencia, tomando el modelo proporcionado de la ecuaci\u00f3n, se compara para encontrar los valores de las variables k = 1, b1=0, b2=2.25, a1=2, a2=1.25 Separando en fracciones parciales, dado que el [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-ss-ejercicios","format":"standard","meta":{"footnotes":""},"categories":[184],"tags":[199],"class_list":["post-17819","post","type-post","status-publish","format-standard","hentry","category-ss-s1eva","tag-senalessistemas"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=17819"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17819\/revisions"}],"predecessor-version":[{"id":24201,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17819\/revisions\/24201"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=17819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=17819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=17819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}