{"id":17810,"date":"2017-07-18T09:45:06","date_gmt":"2017-07-18T14:45:06","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=1177"},"modified":"2026-04-06T06:16:08","modified_gmt":"2026-04-06T11:16:08","slug":"lti-dt-respuesta-impulsohn-con-python","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u06\/lti-dt-respuesta-impulsohn-con-python\/","title":{"rendered":"6.4 LTI DT - Respuesta impulso h[n] con Python"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"concepto\">1. LTI DT - Respuesta impulso h[n]<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi 3.7 p277<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"465\" height=\"108\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/07\/respuestaImpulso01Discreto.png\" alt=\"respuesta Impulso sistema Discreto\" class=\"wp-image-20460\" \/><\/figure>\n\n\n\n<p>Partiendo de<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> Q(E) y[n] = P(E) x[n] <\/span>\n\n\n\n<p>la entrada x[n] es del tipo \u03b4[n] con todas las condiciones iniciales cero.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> Q(E) h[n] = P(E) \\delta[n] <\/span>\n\n\n\n<p>sujeta a h[-1] = h[-2] = ... = h[-N] = 0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Soluci\u00f3n de forma cerrada<\/h3>\n\n\n\n<p>Con entrada un impulso, solo los modos caracter\u00edsticos se mantienen en el sistema, por lo que h[n] se compone de los modos caracter\u00edsticos para n&gt;0.<\/p>\n\n\n\n<p>Con n=0, pueden tener valores no cero A<sub>0<\/sub>, por lo que la forma general de h[n] se puede expresar como:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] = A_0 \\delta[n] +y_c[n] \\mu [n] <\/span>\n\n\n\n<p>donde y<sub>c<\/sub>[n] es una combinaci\u00f3n de los modos caracter\u00edsticos, se debe encontrar Q[E] y<sub>c<\/sub>[n] u[n] = 0, con lo que se tiene,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> A_0 Q[E] \\delta [n] = P[E] \\delta [n] <\/span>\n\n\n\n<p>haciendo n=0 y usando el hecho que \u03b4[m] = 0&nbsp; para todo m \u2260 0 y \u03b4[0] = 1, (pues&nbsp; se ha asumido que es un<em> sistema invariante en el tiempo<\/em> LTI y la respuesta a \u03b4[n-m] se puede expresar como h[n-m]), se tiene,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> A_0 a_N = b_N <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> A_0 = \\frac{b_N}{a_N} <\/span>\n\n\n\n<p>quedando la ecuaci\u00f3n de respuesta a impulso como,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] = \\frac{b_N}{a_N} \\delta[n] +y_c[n] \\mu [n] <\/span>\n\n\n\n<p>Los N coeficientes desconocidos en y<sub>c<\/sub>[n], del lado derecho de la ecuaci\u00f3n se pueden determinar conociendo los N valores h[n]<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejercicio\">2. Ejercicio<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi Ejemplo 3.17, 3.18&nbsp; y 3.19 p277-278<\/p>\n\n\n\n<p>Determine la respuesta al impulso unitario de un sistema LTID descrito por la ecuaci\u00f3n de diferencias mostrada,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y[n+2] - 0.6 y[n+1] - 0.16 y[n] = 5x[n+2] <\/span>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Para el diagrama se usa la ecuaci\u00f3n desplazada en dos unidades,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y[n] - 0.6 y[n-1] - 0.16 y[n-2] = 5x[n] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y[n] = 0.6 y[n-1] + 0.16 y[n-2] + 5x[n] <\/span>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"381\" height=\"303\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/07\/RespuestaImpulsoEj01diagrama.png\" alt=\"Respuesta Impulso Ej01 diagrama\" class=\"wp-image-20457\" \/><\/figure>\n\n\n\n<p>En la entrada se usa un impulso unitario<\/p>\n\n\n\n<p> x[n]=\u03b4[n]<\/p>\n\n\n\n<p>que se incluye como un impulso en la entrada del diagrama.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"analitico\">3. Desarrollo Anal\u00edtico<\/h2>\n\n\n\n<p>Se requieren al menos dos valores iniciales en el ejercicio, por lo que se emplea la ecuaci\u00f3n en forma iterativa, recordando que:<\/p>\n\n\n\n<p class=\"has-text-align-center\"> x[n] = \u03b4[n], siendo entonces y[n] = h[n]<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y[n] - 0.6 y[n-1] - 0.16 y[n-2] = 5x[n] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] - 0.6 h[n-1] - 0.16 h[n-2] = 5\\delta [n] <\/span>\n\n\n\n<p>aplicando para n=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">h[0] - 0.6 h[-1] - 0.16 h[-2] = 5\\delta[0] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[0] - 0.6 (0) - 0.16 (0) = 5(1) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[0] = 5 <\/span>\n\n\n\n<p>luego se aplica para n = 1<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[1] - 0.6 h[0] - 0.16 h[-1] = 5 \\delta[1] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[1] - 0.6 (5) - 0.16 (0) = 5(0) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[1] = 3 <\/span>\n\n\n\n<p>El ejercicio es continuaci\u00f3n del primer ejercicio de respuesta a entrada cero, por lo que simplificamos el desarrollo como<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> (E^2 - 0.6 E - 0.16) y[n] = 5 E^2 x[n] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\gamma^2 - 0.6 \\gamma - 0.16 = 0 <\/span>\n\n\n\n<p>con ra\u00edces caracter\u00edsticas \u03b3<sub>1<\/sub>=-0.2 y \u03b3<sub>2<\/sub>=0.8,<\/p>\n\n\n\n<p>con los modos caracter\u00edsticos se tiene que<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y_c[n] = c_1 (-0.2)^n + c_2 (0.8)^n <\/span>\n\n\n\n<p>que se convierte a:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] = [c_1 (-0.2)^n + c_2 (0.8)^n ] \\mu [n] <\/span>\n\n\n\n<p>Para determinar c<sub>1<\/sub> y c<sub>2<\/sub> se recurre a encontrar dos valores de forma iterativa, con n=0 y n=1.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[0] = [c_1 (-0.2)^0 + c_2 (0.8)^0 ] \\mu [0] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[0] = c_1 + c_2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[1] = [c_1 (-0.2)^1 + c_2 (0.8)^1 ] \\mu [1] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[1] = -0.2 c_1 + 0.8 c_2 <\/span>\n\n\n\n<p>los valores de h[0]=5 y h[1]=3 se encontraron de forma iterativa<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 5 = c_1 + c_2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 3 = -0.2 c_1 + 0.8 c_2 <\/span>\n\n\n\n<p>resolviendo con Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; import numpy as np\n&gt;&gt;&gt; A = &#091;&#091; 1., 1.],\n         &#091;-0.2, 0.8]]\n&gt;&gt;&gt; B = &#091;5.,3.]\n&gt;&gt;&gt; np.linalg.solve(A,B)\narray(&#091;1., 4.])\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<p>encontrando que c<sub>1<\/sub>=1 y c<sub>2<\/sub>=4<\/p>\n\n\n\n<p>teniendo como resultado final:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> h[n] = [ (-0.2)^n +4 (0.8)^n ] \\mu [n] <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"542\" height=\"445\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/07\/RespuestaImpulsoEj01hn.png\" alt=\"RespuestaImpulsoEj01hn\" class=\"wp-image-20458\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algoritmo\">4. Algoritmo en Python<\/h2>\n\n\n\n<p>La respuesta para el procedimiento anterior realizada con Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> respuesta impulso: \nhi: &#091;5. 3.]\nMatriz: \n&#091;&#091; 1.   1. ]\n &#091; 0.8 -0.2]]\nCh:  &#091;4. 1.]\nn&gt;=0, hn: \n        n          n\n1.0*-0.2  + 4.0*0.8 \n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<p>Se desarrolla el algoritmo a partir de entrada cero, continuando con el c\u00e1lculo iterativo de h[n] para los valores iniciales. Luego determina los valores de los coeficientes de la ecuaci\u00f3n h[n].<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Sistema LTID. Respuesta entrada cero e Impulso\n# QE con raices Reales NO repetidas Lathi ejemplo 3.13 pdf271\n# QE con raices Reales Repetidas Lathi ejemplo 3.15 p274\n# QE con raices Complejas Lathi ejemplo 3.16 p275\n# https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-unidades\/#unidad6\nimport numpy as np\nimport sympy as sym\nimport matplotlib.pyplot as plt\n\n# INGRESO\n# coeficientes E con grado descendente\nQE = &#x5B;1., -0.6, -0.16]\nPE = &#x5B;5.,  0,    0   ]\n# condiciones iniciales ascendente ...,y&#x5B;-2],y&#x5B;-1]\ninicial = &#x5B;25\/4, 0.]\n\nmuestras = 10  # para grafica\ncasicero = 1e-6  # casi_cero\n\n# PROCEDIMIENTO\n# Respuesta a ENTRADA CERO\n# raices, revisa numeros complejos\ngamma = np.roots(QE)\nrevisaImag = np.iscomplex(gamma)\nescomplejo = np.sum(revisaImag)\n\n# coeficientes de ecuacion\nm_q = len(QE)-1\nAc = np.zeros(shape=(m_q,m_q),dtype=float)\n\n# revisa si parte compleja &lt;casicero \nif escomplejo&gt;0:\n    for i in range(0,m_q,1):\n        valorimag = np.imag(gamma&#x5B;i])\n        if np.abs(valorimag)&lt;casicero:\n            gamma&#x5B;i] = float(np.real(gamma&#x5B;i]))\n    sumaj = np.sum(np.abs(np.imag(gamma)))\n    if sumaj &lt;casicero:\n        print(sumaj)\n        gamma = np.real(gamma)\n        escomplejo = 0\n\n# revisa repetidos\nunicoscuenta = np.unique(gamma,return_counts=True)\nrepetidas = np.sum(unicoscuenta&#x5B;1]-1)\n\n# Determina coeficientes ci de Y&#x5B;n]\n# raices Reales no repetidas\nif escomplejo == 0 and repetidas==0:\n    for i in range(0,m_q,1):\n        for j in range(0,m_q,1):\n            Ac&#x5B;i,j] = gamma&#x5B;j]**(-m_q+i)\n    ci = np.linalg.solve(Ac,inicial)\n    \n# raices Reales repetidas\nif escomplejo == 0 and repetidas &gt; 0:\n    for i in range(0,m_q,1):\n        for j in range(0,m_q,1):\n            Ac&#x5B;i,j] = ((-m_q+i)**j)*gamma&#x5B;j]**(-m_q+i)\n    ci = np.linalg.solve(Ac,inicial)\n\n# raices Complejas\nif escomplejo &gt; 0:\n    g_magnitud = np.absolute(gamma)\n    g_angulo = np.angle(gamma)\n\n    for i in range(0,m_q,1):\n        k = -(m_q-i)\n        a = np.cos(np.abs(g_angulo&#x5B;i])*(k))*(g_magnitud&#x5B;i]**(k))\n        b = -np.sin(np.abs(g_angulo&#x5B;i])*(k))*(g_magnitud&#x5B;i]**(k))\n        Ac&#x5B;i] = &#x5B;a,b]\n    Ac = np.array(Ac)\n    cj = np.linalg.solve(Ac,inicial)\n\n    theta = np.arctan(cj&#x5B;1]\/cj&#x5B;0])\n    ci = cj&#x5B;0]\/np.cos(theta)\n\n# ecuacion y_0 entrada cero\nn = sym.Symbol('n')\ny_0 = 0*n\n\nif escomplejo == 0 and repetidas==0:\n    for i in range(0,m_q,1):\n        y_0 = y_0 + ci&#x5B;i]*(gamma&#x5B;i]**n)\n        \nif escomplejo == 0 and repetidas &gt; 0:\n    for i in range(0,m_q,1):\n        y_0 = y_0 + ci&#x5B;i]*(n**i)*(gamma&#x5B;i]**n)\n    y_0 = y_0.simplify()\n\nif escomplejo &gt; 0:\n    y_0 = ci*(g_magnitud&#x5B;0]**n)*sym.cos(np.abs(g_angulo&#x5B;i])*n - theta)\n\n# grafica datos entrada0 y0\nki = np.arange(-m_q,muestras,1)\ny0i = np.zeros(muestras+m_q)\n# valores iniciales\ny0i&#x5B;0:m_q] = inicial&#x5B;0:m_q]\n# evaluaci\u00f3n de y0&#x5B;n]\ny0n = sym.lambdify(n,y_0)\ny0i&#x5B;m_q:] = y0n(ki&#x5B;m_q:])\n\n\n# Respuesta impulso h&#x5B;n]\nki = np.arange(-m_q,m_q,1)\nhi = np.zeros(m_q, dtype=float)\nxi = np.zeros(2*m_q, dtype=float)\nxi&#x5B;m_q] = 1 # impulso en n=0\nAh = np.zeros(shape=(m_q,m_q),dtype=float)\n\n# h&#x5B;n] iterativo\np_n = len(PE)\nfor i in range(0,m_q,1):\n    for k in range(m_q,2*m_q,1):\n        hi&#x5B;i] = hi&#x5B;i] - QE&#x5B;k-m_q]*hi&#x5B;m_q-k+1]\n    for k in range(0,p_n,1):\n        hi&#x5B;i] = hi&#x5B;i] + PE&#x5B;k]*xi&#x5B;m_q+i]\nBh = np.copy(hi&#x5B;:m_q])\n\n# coeficientes de ecuacion\nfor i in range(0,m_q,1):\n    for j in range(0,m_q,1):\n        Ah&#x5B;i,j] = gamma&#x5B;j]**(i)\nch = np.linalg.solve(Ah,Bh)\n\n# ecuacion hn\nn = sym.Symbol('n')\nhn = 0*n\nfor i in range(0,m_q,1):\n    hn = hn + ch&#x5B;i]*(gamma&#x5B;i]**n)\n\n# Para la gr\u00e1fica hn\nki = np.arange(-m_q,muestras,1)\nhi = np.zeros(muestras+m_q)\n\nif escomplejo == 0: # evaluaci\u00f3n de h&#x5B;n]\n    h_n = sym.lambdify(n,hn)\n    hi&#x5B;m_q:] = h_n(ki&#x5B;m_q:])\n    \n# SALIDA\nprint('respuesta entrada cero: ')\nprint('raices: ', gamma)\nif escomplejo == 0:\n    if repetidas&gt;0:\n        print('Raices repetidas: ', repetidas)\n    print('Matriz: ')\n    print(Ac)\n    print('Ci:     ', ci)\n    print('y_0:')\n    sym.pprint(y_0)\n\n    print('\\n respuesta impulso: ')\n    print('Bh:',Bh)\n    print('Matriz: ')\n    print(Ah)\n    print('Ch: ',ch)\n    print('n&gt;=0, hn:  ')\n    sym.pprint(hn)\nif escomplejo &gt; 0:\n    print('raices complejas: ', escomplejo)\n    print('magnitud:',g_magnitud)\n    print('theta:',g_angulo)\n    print('Matriz: ')\n    print(Ac)\n    print('Cj: ', cj)\n    print('Ci: ',ci)\n    print('y_0: ')\n    sym.pprint(y_0)\n<\/pre><\/div>\n\n\n<p><em><strong>Comentario<\/strong><\/em>: Aunque es relativamente simple determinar la respuesta al impulso h[n] usando el m\u00e9todo descrito, el desarrollo del tema se realiza mejor en la unidad con Transformada z. Lathi p280.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"grafica\">5. Gr\u00e1fica en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ------\n\n# grafica y&#x5B;n] ante x&#x5B;n]=0\nfigy0 = plt.figure(1)\nplt.stem(ki,y0i)\nplt.xlabel('ki')\nplt.ylabel('y0&#x5B;n]')\nplt.title('y0&#x5B;n]='+str(y_0))\nplt.grid()\nplt.tight_layout()\n#plt.show()\n\n\n# grafica h&#x5B;n]\nfighn = plt.figure(2)\nplt.stem(ki,hi,label='h&#x5B;n]',\n         markerfmt ='C1o',\n         linefmt='C2--')\nplt.legend()\nplt.grid()\nplt.ylabel('h&#x5B;n]')\nplt.xlabel('ki')\nplt.title('h&#x5B;n] = '+str(hn))\nplt.tight_layout()\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#concepto\">h[n]<\/a><\/p>\n\n\n\n<p><a href=\"#ejercicio\">ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#anal\u00edtico\">anal\u00edtico<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>h[n] ejercicio anal\u00edtico algoritmo gr\u00e1fica 1. LTI DT - Respuesta impulso h[n] Referencia: Lathi 3.7 p277 Partiendo de la entrada x[n] es del tipo \u03b4[n] con todas las condiciones iniciales cero. sujeta a h[-1] = h[-2] = ... = h[-N] = 0 Soluci\u00f3n de forma cerrada Con entrada un impulso, solo los modos caracter\u00edsticos se [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-ss-unidades","format":"standard","meta":{"footnotes":""},"categories":[176],"tags":[],"class_list":["post-17810","post","type-post","status-publish","format-standard","hentry","category-ss-u06"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17810","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=17810"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17810\/revisions"}],"predecessor-version":[{"id":24032,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17810\/revisions\/24032"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=17810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=17810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=17810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}