{"id":2799,"date":"2017-12-09T10:41:56","date_gmt":"2017-12-09T15:41:56","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=2799"},"modified":"2026-04-05T21:31:07","modified_gmt":"2026-04-06T02:31:07","slug":"s2eva2010ti_t1-lti-dt-bloqueshz-ecuacion-diferencias","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-s2eva\/s2eva2010ti_t1-lti-dt-bloqueshz-ecuacion-diferencias\/","title":{"rendered":"s2Eva2010TI_T1 LTI DT Bloques de H[z] para ecuaci\u00f3n de diferencias"},"content":{"rendered":"\n<p><strong>Ejercicio<\/strong>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-2eva\/2eva2010ti_t1-lti-dt-bloqueshz-ecuacion-diferencias\/\" data-type=\"post\" data-id=\"1790\">2Eva2010TI_T1 LTI DT Bloques de H[z] para ecuaci\u00f3n de diferencias<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"304\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/12\/2E2010TI_T1_LTID_diagrama1.png\" alt=\"2E2010TI_T1 LTID diagrama 1\" class=\"wp-image-19722\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">litera a. La funci\u00f3n de transferencia H(z)<\/h2>\n\n\n\n<p>El diagrama mostrado se reordena y a\u00f1ade anotaciones para facilitar la escritura de la ecuaci\u00f3n de diferencias:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"361\" height=\"268\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/12\/2Eva2010TI_T1-LTID_Hz.png\" alt=\"2Eva2010TI_T1 LTID Hz\" class=\"wp-image-19723\" \/><\/figure>\n\n\n\n<p>Dado que hay dos bloques (1\/z) o de retraso hacia abajo, se identifica que los polinomios son de segundo orden (N=2).<\/p>\n\n\n\n<p>Los coeficientes de retraso se leen de arriba hacia abajo como a<sub>0<\/sub>,-a<sub>1<\/sub>,-a<sub>2<\/sub> ordenados en la siguiente tabla:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>retraso<\/th><th>adelanto<\/th><\/tr><\/thead><tbody><tr><td>a<sub>0<\/sub> = 1<\/td><td>b<sub>0<\/sub> = 0<\/td><\/tr><tr><td>a<sub>1<\/sub> = -(1.6) = -1.6<\/td><td>b<sub>1<\/sub> = 4<\/td><\/tr><tr><td>a<sub>2<\/sub> = -(-0.63) = 0.63<\/td><td>b<sub>2<\/sub> = -4<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Se aplica lo mismo para los coeficientes de adelanto y se completa el modelo para los polinomios del numerador y denominador:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H[z] = \\frac{b_0 z^N +b_1 z^{N-1} + \\text{ ... } + b_{N-1} z + b_N}{z^N + a_1 z^{N-1} +\\text{ ... } + a_{N-1}z +a_N}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H[z] = \\frac{4z-4}{z^2 -1.6 z + 0.63}<\/span>\n\n\n\n<p>Con el polinomio del denominador Qz&nbsp; se encuentran las ra\u00edces<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>polos: {0.70: 1, 0.90: 1}<\/code><\/pre>\n\n\n\n<p>se aplican fracciones parciales modificadas al dividir cada lado para z,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{H[z]}{z} = \\frac{4}{z}\\frac{z-1}{(z-0.7)(z-0.9)} = \\frac{k_1}{z-0.7} +\\frac{k_2}{z-0.9}+\\frac{k_3}{z}<\/span>\n\n\n\n<p>aplicando el m\u00e9todo de Heaviside:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> k_1 = \\frac{4}{z}\\frac{z-1}{\\cancel{(z-0.7)}(z-0.9)}\\Big|_{z=0.7} = \\frac{4}{0.7}\\frac{(0.7)-1}{((0.7)-0.9)} = 8.5714 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> k_2 = \\frac{4}{z}\\frac{z-1}{(z-0.7)\\cancel{(z-0.9)}}\\Big|_{z=0.9} = \\frac{4}{0.9}\\frac{(0.9)-1}{((0.9)-0.7)} = -2.2222 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> k_3 = \\frac{4}{\\cancel{z}}\\frac{z-1}{(z-0.7)(z-0.9)}\\Big|_{z=0} = 4\\frac{(0)-1}{((0)-0.7)((0)-0.9)} = -6.3492 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{H[z]}{z} = \\frac{8.5714}{z-0.7} -\\frac{2.2222}{z-0.9}-\\frac{6.3492}{z}<\/span>\n\n\n\n<p>restaurando a fracciones parciales al multiplicar por z<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H[z] = \\frac{8.5714z}{z-0.7} -\\frac{2.2222z}{z-0.9}-6.3492<\/span>\n\n\n\n<p>usando la <a href=\"https:\/\/blog.espol.edu.ec\/telg1001\/transformada-z-tabla\/\">tabla de transformadas z<\/a><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] = 8.5714 (0.7)^n \\mu[n] -2.2222(0.9)^n \\mu[n] -6.3492 \\delta[n] <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n\n<p>Usando el algoritmo de la secci\u00f3n <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-unidades\/ss-u07\/lti-dt-transformada-z-xz-fracciones-parciales-con-python\/\" data-type=\"post\" data-id=\"1447\">X[z] Fracciones parciales modificadas con Python<\/a><\/p>\n\n\n\n<p>con entrada:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pz = 4*z-4\nQz = z**2-1.6*z+0.63<\/code><\/pre>\n\n\n\n<p>y resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code> Hz:\n     4*z - 4     \n-----------------\n 2               \nz  - 1.6*z + 0.63\n\n Hz en fracciones parciales\n8.57142857142857*z   2.22222222222222*z                   \n------------------ - ------------------ - 6.34920634920635\n     z - 0.7              z - 0.9                         \n\n Hz en factores\n     4*(z - 1)     \n-------------------\n(z - 0.9)*(z - 0.7)\n\n {Q_polos:veces}: {0.700000000000000: 1, 0.900000000000000: 1}\n {P_ceros:veces}: {1: 1}\n\nestabilidad asint\u00f3tica en z:\ncirc1_dentro : 2\ncirc1_repetidos : 0\ncirc1_sobre : 0\ncirc1_fuera : 0\nunicos : 2\nrepetidos : 0\nasintota : estable\n\n h&#091;n]:\n\/                    n                       n\\                               \n\\8.57142857142857*0.7  - 2.22222222222222*0.9 \/*Heaviside(n) \n\n  - 6.34920634920635*DiracDelta(n)\n\nse\u00f1al discreta h&#091;n]\nn   : &#091;0 1 2 3 4 5 6 7 8 9]\nh&#091;n]: &#091; 0.   4.   2.4   1.32   0.6   0.1284\n       -0.17256    -0.356988   -0.462468   -0.51504636]\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"447\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/12\/2Eva2010TI_T1_Hz_polos01.png\" alt=\"2Eva2010TI_T1 Hz polos 01\" class=\"wp-image-19724\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1070\" height=\"625\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/12\/2Eva2010TI_T1_hn_01.png\" alt=\"2Eva2010TI T1 hn 01\" class=\"wp-image-19725\" \/><\/figure>\n\n\n\n<p><em>Observaciones<\/em>:<\/p>\n\n\n\n<p>Las ra\u00edces caracter\u00edsticas o frecuencias naturales del sistema se encuentran dentro del c\u00edrculo de radio unitario. El sistema es asint\u00f3ticamente estable, que implica que es BIBO estable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">literal c. Ecuaci\u00f3n de diferencias<\/h2>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> H[z] = \\frac{4z-4}{z^2 -1.6 z + 0.63}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> Y[z](z^2 -1.6 z+ 0.63) = (4z-4)X[z]<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y[n+2] - 1.6 y[n+1] + 0.63y[n] = 4x[n+1]-4x[n]<\/span>\n\n\n\n<h2 class=\"wp-block-heading\">literal d. entrada x[n]<\/h2>\n\n\n\n<p>x(t) = cos(1500t) = cos (2\u03c0f) con intervalo de muestreo T<sub>s<\/sub> = 0.0015 = 1\/f<sub>s<\/sub>.<\/p>\n\n\n\n<p>De la se\u00f1al de entrada se tiene que 2\u03c0f=1500, por lo que f = 1500\/(2\u03c0)<\/p>\n\n\n\n<p>Para un buen muestreo de la se\u00f1al de entrada, se debe cumplir la frecuencia de Nyquist, es decir f<sub>s<\/sub>&gt;2f<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> fs = \\frac{1}{0.0015} = 666.66 \\text{ ; } f= \\frac{1500}{2 \\pi}=238.73<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> fs &gt; 2*f = 2(238.73) = 477.46 <\/span>\n\n\n\n<p>que cumple con la frecuencia m\u00ednima de muestreo y no se presentan inconvenientes para el funcionamiento de la se\u00f1al por sub-muestreo<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Transformada z- Fracciones parciales\n# https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-unidades\/ss-unidad-7\/\nimport numpy as np\nimport sympy as sym\nimport matplotlib.pyplot as plt\nimport telg1001 as fcnm\n#sym.SYMPY_DEBUG=True\n\n# INGRESO\nz = sym.Symbol('z')\nn = sym.Symbol('n', real=True)\n\n# coeficientes como racional en dominio 'ZZ' enteros\nPz = 4*z-4\nQz = z**2-1.6*z+0.63\n\nF = Pz\/Qz\n\n# para graficar\nf_nombre = 'H'    # nombre de funci\u00f3n&#x5B;z]: H,X,Y, etc\nmuestras_fn = 10  # muestras para f&#x5B;n]\n\n# PROCEDIMIENTO\nFz  = fcnm.apart_z(F)\nFz_factor = sym.factor(F.evalf())\nFz_factor = fcnm._round_float_is_int(Fz_factor)\n\n# polos y ceros de Hz\n&#x5B;P,Q] = F.as_numer_denom()\nP = sym.poly(P,z)\nQ = sym.poly(Q,z)\nP_ceros = sym.roots(P)\nQ_polos = sym.roots(Q)\nestable_z = fcnm.estabilidad_asintotica_z(Q_polos)\n\n# Inversa de transformada z\nfn = 0*n ; Fz_revisar = &#x5B;] ; Qz2_term =&#x5B;]\nterm_sum = sym.Add.make_args(Fz)\nfor term_k in term_sum:\n    term_kn = fcnm.inverse_z_transform(term_k,z,n)\n    if type(term_kn)==tuple:\n        fn = fn + term_kn&#x5B;0]\n    elif term_kn is not None:\n        fn = fn + term_kn\n    elif term_kn is None:\n        f_noeval = f_noeval + term_k\n    Qz2 = fcnm.Q_cuad_z_parametros(term_k)\n    if Qz2:\n        Qz2_term.append(Qz2)\nfn = fn.collect(sym.Heaviside(n))\nfn = fn.collect(sym.DiracDelta(n))\nfn = fcnm._round_float_is_int(fn)\n\n# SALIDA\nprint('\\n '+f_nombre+'z:')\nsym.pprint(F)\nprint('\\n '+f_nombre+'z en fracciones parciales')\nsym.pprint(Fz)\nprint('\\n '+f_nombre+'z en factores')\nsym.pprint(Fz_factor)\nprint('\\n {Q_polos:veces}:',Q_polos)\nprint(' {P_ceros:veces}:',P_ceros)\nif len(Qz2_term)&gt;0:\n    print('\\nparametros cuadraticos: ')\n    for i in range(0,len(Qz2_term),1):\n        for unterm in Qz2_term&#x5B;i]:\n            print(' termino:',unterm)\n            fcnm.print_resultado_dict(Qz2_term&#x5B;i]&#x5B;unterm])\nprint('\\nestabilidad asint\u00f3tica en z:')\nfcnm.print_resultado_dict(estable_z)\nprint('\\n '+f_nombre.lower()+'&#x5B;n]:')\nsym.pprint(fn)\nif len(Fz_revisar)&gt;0:\n    print('revisar terminos sin transformada de tabla:')\n    for un_term in Fz_revisar:\n        print(un_term)\n\n# # GRAFICA  -----------\nfig_ROC = fcnm.graficar_Fz_polos(Fz_factor,Q_polos,P_ceros,\n                      muestras=101,f_nombre=f_nombre)\n\nfig_Fz = fcnm.graficar_Fs(Fz_factor,Q_polos,P_ceros,\n                     muestras=101,\n                     f_nombre=f_nombre)\n\n# graficar f&#x5B;n] -------\nf_n = sym.lambdify(n,fn.expand(),modules=fcnm.equivalentes)\nki  = np.arange(0,muestras_fn,1.0)\nfi  = f_n(ki)\n\nprint('\\nse\u00f1al discreta '+f_nombre.lower()+'&#x5B;n]')\nprint('n   :',ki)\nprint(f_nombre.lower()+'&#x5B;n]:',fi)\n\n# graficar f&#x5B;n]\nfig_fn, grafxn = plt.subplots()\nplt.axvline(0,color='grey')\nplt.stem(ki,fi)\nplt.grid()\nplt.xlabel('n')\nplt.ylabel(f_nombre.lower()+'&#x5B;n]')\netiqueta = r''+f_nombre.lower()+'&#x5B;n]= $'+str(sym.latex(fn))+'$'\nplt.title(etiqueta)\n\nplt.show()\n<\/pre><\/div>\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 2Eva2010TI_T1 LTI DT Bloques de H[z] para ecuaci\u00f3n de diferencias litera a. La funci\u00f3n de transferencia H(z) El diagrama mostrado se reordena y a\u00f1ade anotaciones para facilitar la escritura de la ecuaci\u00f3n de diferencias: Dado que hay dos bloques (1\/z) o de retraso hacia abajo, se identifica que los polinomios son de segundo orden [&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":[187],"tags":[199],"class_list":["post-2799","post","type-post","status-publish","format-standard","hentry","category-ss-s2eva","tag-senalessistemas"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2799","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=2799"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2799\/revisions"}],"predecessor-version":[{"id":23971,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/2799\/revisions\/23971"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=2799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=2799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=2799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}