{"id":17807,"date":"2017-06-17T09:15:12","date_gmt":"2017-06-17T14:15:12","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=3258"},"modified":"2026-02-14T23:03:39","modified_gmt":"2026-02-15T04:03:39","slug":"transformada-fourier-senales-aperiodicas-continuas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u05\/transformada-fourier-senales-aperiodicas-continuas\/","title":{"rendered":"5.2 Transformada de Fourier - Se\u00f1ales aperi\u00f3dicas continuas con Sympy-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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim 4.1. p285, Lathi 7.2 p680<\/p>\n\n\n\n<p>El planteamiento de Fourier es que una se\u00f1al aperi\u00f3dica (no peri\u00f3dica) puede observarse como una se\u00f1al peri\u00f3dica con periodo infinito.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"exponencialdecreciente\">1. Ejercicio. exponencial decreciente con \u03bc(t)<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim Ejercicio 4.1 p290, Lathi ejemplo 7.1 p685, Hsu Ejemplo 5.2 p218<\/p>\n\n\n\n<p>Considere la se\u00f1al cont\u00ednua exponencial decreciente, desarrolle la transformada de Fourier<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) =e^{-at} \\mu (t) \\text{ ; } a \\gt 0<\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"443\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj01_ft.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej01 ft\" class=\"wp-image-20033\" \/><\/figure>\n\n\n\n<p>el integral a desarrollar,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) =\\int_{-\\infty}^{\\infty} e^{-at} \\mu (t) e^{-j \\omega t} \\delta t<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) =\\int_{0}^{\\infty} e^{-(a+j\\omega)t} \\delta t =-\\frac{1}{a+j\\omega} e^{-(a+j\\omega)t} \\Big|_{0}^{\\infty} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) =-\\frac{1}{a+j\\omega} e^{-(a+j\\omega)(\\infty)} +\\frac{1}{a+j\\omega} e^{-(a+j\\omega)(0)} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = \\frac{1}{a+j\\omega} <\/span>\n\n\n\n<p>para a&gt;0<\/p>\n\n\n\n<p>Se obtiene una parte real y otra imaginaria al evaluar F(w) en un intervalo que incluya -a y a.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"578\" height=\"470\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj01_FwReImag.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej01 Fw Re Imag\" class=\"wp-image-20034\" \/><\/figure>\n\n\n\n<p>Tambi\u00e9n es posible observar la magnitud y fase de F(w) en una gr\u00e1fica.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"468\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj01_FwMgfase.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej01 Fw Mg fase\" class=\"wp-image-20036\" \/><\/figure>\n\n\n\n<p>Se observa por ejemplo que el valor de la magnitud |F(0)| = 1\/a. Tambi\u00e9n que la fase se encuentra acotada en \u03c0\/2 y que fase(F(-a)) = -\u03c0\/4.<\/p>\n\n\n\n<p>Usando el algoritmo con Python se obtiene el siguiente resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> expresion f(t):\n -a*t             \ne    *Heaviside(t)\n\n expresion F(w):\n   1   \n-------\na + I*w\n\n |F(w)|:\n     1      \n------------\n   _________\n  \/  2    2 \n\\\/  a  + w  \n\n F(w)_fase:\n     \/w\\\n-atan|-|\n     \\a\/\n&gt;&gt;&gt;<\/code><\/pre>\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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Algoritmo en Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Transformada de Fourier de se\u00f1ales aperiodicas\n# blog.espol.edu.ec\/telg1001\/\nimport sympy as sym\n\n# INGRESO\nt = sym.Symbol('t', real=True,)\nw = sym.Symbol('w', real=True)\na = sym.Symbol('a', real=True,positive=True)\nT = sym.Symbol('T', real=True,positive=True)\nj = sym.I\nu = sym.Heaviside(t)\nd = sym.DiracDelta(t)\n\nft = sym.exp(-a*t)*u\n#ft = sym.exp(-a*sym.Abs(t))\n#ft = sym.Heaviside(t+T)-sym.Heaviside(t-T)\n#ft = d\n\n# PROCEDIMIENTO\nunilateral = False\nftw = ft*sym.exp(-j*w*t) # f(t,w) para integrar\nftw = sym.expand(ftw)  # expresion de sumas\nftw = sym.powsimp(ftw) # simplifica exponentes\n\nlim_a = 0 # unilateral\nif not(unilateral):\n    lim_a = -sym.oo\n    \n# integral de Fourier\nFw_F = sym.integrate(ftw,(t,lim_a,sym.oo))\nif Fw_F.is_Piecewise:\n    Fw = Fw_F.args&#x5B;0] # primera ecuacion e intervalo\n    Fw = Fw&#x5B;0] # solo expresion\nelse:\n    Fw = Fw_F\nFw = Fw.simplify()\n\n# Magnitud y Fase\nFw_magn = sym.Abs(Fw)\nFw_fase = sym.atan(sym.im(Fw)\/sym.re(Fw))\n\n# SALIDA\nprint('\\n expresion f(t):')\nsym.pprint(ft)\nprint('\\n expresion F(w):')\nsym.pprint(Fw)\nprint('\\n |F(w)|:')\nsym.pprint(Fw_magn)\nprint('\\n F(w)_fase:')\nsym.pprint(Fw_fase)\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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"algoritmosympy\">1.2 Algoritmo con Sympy<\/h3>\n\n\n\n<p>La librer\u00eda Sympy incorpora una funci\u00f3n para determinar en forma simb\u00f3lica la transformada de Fourier, se usa la instrucci\u00f3n para simplificar el algoritmo anterior.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Transformada de Fourier de se\u00f1ales aperiodicas\n# blog.espol.edu.ec\/telg1001\/\nimport sympy as sym\n\n# INGRESO\nt = sym.Symbol('t', real=True,)\nw = sym.Symbol('w', real=True)\na = sym.Symbol('a', real=True,positive=True)\nT = sym.Symbol('T', real=True,positive=True)\nj = sym.I\nu = sym.Heaviside(t)\nd = sym.DiracDelta(t)\n\nft = sym.exp(-a*t)*u\n#ft = sym.exp(-a*sym.Abs(t))\n#ft = u.subs(t,t+T)-u.subs(t,t-T)\n#ft = d\n\n# PROCEDIMIENTO\nft = sym.expand(ft)  # expresion de sumas\nFw = sym.fourier_transform(ft,t,w\/(2*sym.pi))\n\n# Magnitud y Fase\nFw_magn = sym.Abs(Fw)\nFw_fase = sym.atan(sym.im(Fw)\/sym.re(Fw))\n\n# SALIDA\nprint('\\n expresion f(t):')\nsym.pprint(ft)\nprint('\\n expresion F(w):')\nsym.pprint(Fw)\nprint('\\n |F(w)|:')\nsym.pprint(Fw_magn)\nprint('\\n F(w)_fase:')\nsym.pprint(Fw_fase)\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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"grafica\">1.3 Gr\u00e1fica en Python<\/h3>\n\n\n\n<p>Para las gr\u00e1ficas, se dan valores a las constantes a, T, se define el intervalo de la gr\u00e1fica y el n\u00famero de muestras a usar.<\/p>\n\n\n\n<p>Luego se sustituye en las ecuaciones resultantes los valores de \u2018a\u2018 con \u2018a_k\u2018 obteniendo valores para las gr\u00e1ficas. La gr\u00e1fica para f(t) se realiza de forma semejante en la unidad 1. Para la gr\u00e1fica F(w) se usan una gr\u00e1fica con parte Real e Imaginaria, otra gr\u00e1fica para magnitud y fase.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ----------------\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport telg1001 as ss\nequivalentes = &#x5B;{'DiracDelta': lambda x: 1*(x==0)},\n                {'Heaviside': lambda x,y: np.heaviside(x, 1)},\n                'numpy',]\na_k = 2 # valor de 'a' constante\n# Grafica, intervalo tiempo &#x5B;t_a,t_b]\nT_k = 1    # valor T o periodo\nt_a = -2*T_k ; t_b = 2*T_k\nmuestras = 52     # 51 resolucion grafica\n\nft = ft.subs({a:a_k,T:T_k}) # a tiene valor a_k\nFw = Fw.subs({a:a_k,T:T_k})\nFw_magn = Fw_magn.subs({a:a_k,T:T_k})\nFw_fase = Fw_fase.subs({a:a_k,T:T_k})\n\nfigura_ft = ss.graficar_ft(ft,t_a,t_b,muestras)\n\n# F(w) real e imaginaria\nw_a = -a_k*4 ; w_b = a_k*4\nwi  = np.linspace(w_a,w_b,muestras)\n\n# convierte a sympy una constante\nFw = sym.sympify(Fw,w) \nif Fw.has(w): # no es constante\n    F_w = sym.lambdify(w,Fw,\n                       modules=equivalentes)\nelse:\n    F_w = lambda w: Fw + 0*w\nFwi = F_w(wi) # evalua wi\n\n# F(w) magnitud y fase\n# convierte a sympy una constante\nFw_magn = sym.sympify(Fw_magn,w)\nif Fw_magn.has(w): # no es constante\n    F_w_magn = sym.lambdify(w,Fw_magn,\n                            modules=equivalentes)\nelse:\n    F_w_magn = lambda w: Fw_magn + 0*w\n\n# convierte a sympy una constante\nFw_fase = sym.sympify(Fw_fase,w) \nif Fw_fase.has(w): # no es constante\n    F_w_fase = sym.lambdify(w,Fw_fase,\n                            modules=equivalentes)\nelse:\n    F_w_fase = lambda w: Fw_fase + 0*w\n\nFwi_magn = F_w_magn(wi) # evalua wi\nFwi_fase = F_w_fase(wi) \n\n# F(w) real e imaginaria\nfig_Fw, graf_Fwi = plt.subplots(2,1)\n\ngraf_Fwi&#x5B;0].plot(wi,np.real(Fwi),label='Re(F(w))',\n                 color='orange')\ngraf_Fwi&#x5B;0].legend()\ngraf_Fwi&#x5B;0].set_ylabel('Re (F(w)) ')\ngraf_Fwi&#x5B;0].grid()\n\ngraf_Fwi&#x5B;1].plot(wi,np.imag(Fwi),label='Imag(F(w))',\n                 color='brown')\ngraf_Fwi&#x5B;1].legend()\ngraf_Fwi&#x5B;1].set_xlabel('w')\ngraf_Fwi&#x5B;1].set_ylabel('imag(F(w))')\ngraf_Fwi&#x5B;1].grid()\n\nplt.suptitle(r'F(w) = $'+str(sym.latex(Fw))+'$')\n# plt.show()\n\n# F(w) magnitud y fase\nfig_Fwmg, graf_Fw = plt.subplots(2,1)\n\ngraf_Fw&#x5B;0].plot(wi,Fwi_magn,label='F(w)_magn',\n                color='orange')\nFwa0 = F_w_magn(0)\nFwa1 = F_w_magn(-a_k)\nFwa2 = F_w_magn(a_k)\nif Fw_magn.has(w): # no es constante\n    graf_Fw&#x5B;0].stem(&#x5B;-a_k,a_k],&#x5B;Fwa1,Fwa2],\n                basefmt=' ',linefmt ='--')\n    etiqueta1 = '('+str(a_k)+','+str(round(Fwa2,4))+')'\n    graf_Fw&#x5B;0].annotate(etiqueta1, xy=(a_k,Fwa2))\netiqueta0 = '('+str(0)+','+str(round(Fwa0,4))+')'\ngraf_Fw&#x5B;0].scatter(0,Fwa0)\ngraf_Fw&#x5B;0].annotate(etiqueta0, xy=(0,Fwa0))\ngraf_Fw&#x5B;0].legend()\ngraf_Fw&#x5B;0].set_ylabel('F(w) magnitud ')\ngraf_Fw&#x5B;0].grid()\n\ngraf_Fw&#x5B;1].plot(wi,Fwi_fase,label='F(w)_fase',\n                 color='brown')\ngraf_Fw&#x5B;1].axhline(np.pi\/2,linestyle ='--')\ngraf_Fw&#x5B;1].axhline(-np.pi\/2,linestyle ='--')\nif Fw_magn.has(w): # no es constante\n    Fwa1f = F_w_fase(-a_k)\n    Fwa2f = F_w_fase(a_k)\n    graf_Fw&#x5B;1].stem(&#x5B;-a_k,a_k],&#x5B;Fwa1f,Fwa2f],\n                basefmt=' ',linefmt ='--')\n    etiqueta3 = '('+str(a_k)+','+str(round(Fwa2f,4))+')'\n    graf_Fw&#x5B;1].annotate(etiqueta3, xy=(a_k,Fwa2f))\ngraf_Fw&#x5B;1].legend()\ngraf_Fw&#x5B;1].set_xlabel('w')\ngraf_Fw&#x5B;1].set_ylabel('F(w) fase')\ngraf_Fw&#x5B;1].grid()\n\nplt.suptitle(r'F(w) = $'+str(sym.latex(Fw))+'$')\n\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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/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=\"exponencialpar\">2. Ejercicio. Exponencial decreciente con |t|, funci\u00f3n par<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim Ejercicio 4.2 p291, Lathi ejemplo 7. p685, Hsu 5.21 p248<\/p>\n\n\n\n<p>Considere la se\u00f1al cont\u00ednua exponencial decreciente, desarrolle la transformada de Fourier<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) =e^{-a|t|} \\text{ ; } a \\gt 0<\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"445\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj02_ft.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej02 ft\" class=\"wp-image-20038\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = \\int_{-\\infty}^{\\infty}e^{-a|t|} e^{-j \\omega t} \\delta t <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = \\int_{-\\infty}^{0}e^{at} e^{-j \\omega t} \\delta t + \\int_{0}^{\\infty}e^{-at} e^{-j \\omega t} \\delta t <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\int_{-\\infty}^{0}e^{at-j \\omega t} \\delta t + \\int_{0}^{\\infty}e^{-at-j \\omega t} \\delta t <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\frac{1}{at-j \\omega} e^{(a-j \\omega) t}\\Big|_{-\\infty}^{0} - \\frac{1}{a+j\\omega}e^{-(at+j \\omega) t} \\Big| _{0}^{\\infty} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\Big[ \\frac{1}{at-j \\omega} e^{(a-j \\omega) (0)} - \\frac{1}{at-j \\omega t} e^{(a-j \\omega) (-\\infty)} \\Big] +<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">- \\Big[ \\frac{1}{a+j\\omega}e^{-(at+j \\omega) (\\infty)} - \\frac{1}{a+j\\omega}e^{-(at+j \\omega)(0)}\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\frac{1}{a-j\\omega} +\\frac{1}{a+j\\omega} = \\frac{a+j\\omega+ a-j\\omega}{(a-j\\omega)(a+j\\omega)}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = \\frac{2a}{(a^2+\\omega^2)}<\/span>\n\n\n\n<p>Para desarrollar el ejercicio con el algoritmo, la entrada de se\u00f1al se expresar\u00eda en el algoritmo como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ft = sym.exp(-a*sym.Abs(t)) <span style=\"color: #ff0000\"># Ej 4.2 Oppenheim<\/span><\/code><\/pre>\n\n\n\n<p>el resultado a comparar con el desarrollo anal\u00edtico es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> expresion f(t):\n -a*|t|\ne      \n\n expresion F(w):\n  2*a  \n-------\n 2    2\na  + w \n\n |F(w)|:\n  2*a  \n-------\n 2    2\na  + w \n\n F(w)_fase:\n0<\/code><\/pre>\n\n\n\n<p>Gr\u00e1fica de F(w) magnitud y fase<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"484\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj02_FwReImag.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej02 Fw Re Imag\" class=\"wp-image-20039\" \/><\/figure>\n\n\n\n<p>El algoritmo es el mismo que el ejercicio 1, modificando el bloque de ingreso para el problema<\/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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/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=\"rectangularcentrada\">3. Ejercicio. Rectangular centrada en origen<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim Ejercicio 4.4 p293, Lathi ejemplo 7.2 p689, Hsu 5.19 p247<\/p>\n\n\n\n<p>Considere la se\u00f1al pulso rectangular o pulso compuerta (gate), desarrolle la transformada de Fourier<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) =\\begin{cases}1 &amp;&amp; |t|&lt;T_1, \\\\ 0 &amp;&amp; |t|&gt;T_1\\end{cases} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = \\int_{-T_1}^{T_1} e^{-j\\omega t} \\delta t<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = -\\frac{1}{j \\omega} e^{-j\\omega t}\\Big|_{-T_1}^{T_1} = -\\frac{1}{j \\omega} \\Big[ e^{-j\\omega (T_1)} - e^{-j\\omega (-T_1)}\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = -\\frac{1}{j \\omega} \\Big[ e^{-T_1 j\\omega } - e^{jT_1\\omega } \\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\frac{1}{j \\omega} e^{T_1 j\\omega} - \\frac{1}{j \\omega} e^{-T_1 j\\omega } <\/span>\n\n\n\n<p>en este punto es conveniente usar la forma trigonom\u00e9trica de un exponencial con exponente complejo<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\frac{1}{j \\omega} (\\cos (T_1\\omega)+j \\sin(T_1\\omega)) - \\frac{1}{j \\omega} (cos(T_1 \\omega) -jsin(T_1\\omega))<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = \\frac{1}{j \\omega}\\cos (T_1\\omega)+j\\frac{1}{j \\omega} \\sin(T_1\\omega) - \\frac{1}{j \\omega} cos(T_1 \\omega) +j\\frac{1}{j \\omega} sin(T_1\\omega))<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(\\omega) = 2\\frac{\\sin(T_1\\omega)}{\\omega}<\/span>\n\n\n\n<p>Para desarrollar el ejercicio con el algoritmo, la se\u00f1al se expresar\u00eda como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ft = sym.Heaviside(t+T)-sym.Heaviside(t-T)\n<span style=\"color: #ff0000\"># Ej 4.4 Oppenheim<\/span><\/code><\/pre>\n\n\n\n<p>obteniendo el siguiente resultado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> expresion f(t):\n-Heaviside(-T + t) + Heaviside(T + t)\n\n expresion F(w):\n2*sin(T*w)\n----------\n    w     \n\n |F(w)|:\n  |sin(T*w)|\n2*|--------|\n  |   w    |\n\n F(w)_fase:\n0<\/code><\/pre>\n\n\n\n<p>con la siguiente gr\u00e1fica f(T)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"564\" height=\"431\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj03_ft.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej03 ft\" class=\"wp-image-20040\" \/><\/figure>\n\n\n\n<p>gr\u00e1fica de F(w) parte real e imaginaria<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"464\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj03_FwReImag.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej03 Fw Re Imag\" class=\"wp-image-20041\" \/><\/figure>\n\n\n\n<p>El algoritmo es el mismo que el ejercicio 1, modificando el bloque de ingreso para el problema<\/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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/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=\"pulsounitario\">4. Ejercicio. Pulso unitario<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim Ejercicio 4.3 p292, Lathi ejemplo 7.3 p693, Hsu 5.1 p218<\/p>\n\n\n\n<p>Considere la se\u00f1al pulso unitario, desarrolle la transformada de Fourier<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = \\delta (t) <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"459\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj04_ft.png\" alt=\"Transformada Fourier  Aperi\u00f3dica Ej04 ft\" class=\"wp-image-20042\" \/><\/figure>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X(j\\omega) = \\int_{-\\infty}^{\\infty} \\delta (t) e^{-j \\omega t} \\delta t = 1 <\/span>\n\n\n\n<p>Es decir la transformada de Fourier tiene componentes de todas las frecuencias.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"464\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/Transf_Fourier_AperiodicaEj04_FwReImag.png\" alt=\"Transformada Fourier Aperi\u00f3dica Ej04 Fw Re Imag\" class=\"wp-image-20043\" \/><\/figure>\n\n\n\n<p>El algoritmo entrega el siguiente resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> expresion f(t):\nDiracDelta(t)\n\n expresion F(w):\n1\n\n |F(w)|:\n1\n\n F(w)_fase:\n0<\/code><\/pre>\n\n\n\n<p>El pulso unitario se define en Sympy como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ft = sym.DiracDelta(t) <span style=\"color: #ff0000\"># Ej 4.3 Oppenheim<\/span><\/code><\/pre>\n\n\n\n<p>En la parte gr\u00e1fica, el pulsos unitarios se grafican con plt.stem(0,1), no requiriendo el resto de las gr\u00e1ficas para observar el resultado.<\/p>\n\n\n\n<p>El algoritmo es el mismo que el ejercicio 1, modificando el bloque de ingreso para el problema<\/p>\n\n\n\n<p><em><strong>Tarea<\/strong><\/em>: Realizar otros ejercicios con exponenciales para comprobar la operaci\u00f3n del algoritmo.<\/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=\"#exponencialdecreciente\">e<sup>(\u2212at)<\/sup>\u03bc(t)<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmosympy\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#exponencialpar\"> e<sup>(\u2212a\u2223t\u2223)<\/sup><\/a><\/p>\n\n\n\n<p><a href=\"#rectangularcentrada\">rectangular<\/a><\/p>\n\n\n\n<p><a href=\"#pulsounitario\">\u03b4(t)<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>e(\u2212at)\u03bc(t) algoritmo gr\u00e1fica e(\u2212a\u2223t\u2223) rectangular \u03b4(t) Referencia: Oppenheim 4.1. p285, Lathi 7.2 p680 El planteamiento de Fourier es que una se\u00f1al aperi\u00f3dica (no peri\u00f3dica) puede observarse como una se\u00f1al peri\u00f3dica con periodo infinito. 1. Ejercicio. exponencial decreciente con \u03bc(t) Referencia: Oppenheim Ejercicio 4.1 p290, Lathi ejemplo 7.1 p685, Hsu Ejemplo 5.2 p218 Considere la se\u00f1al [&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":[175],"tags":[],"class_list":["post-17807","post","type-post","status-publish","format-standard","hentry","category-ss-u05"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17807","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=17807"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17807\/revisions"}],"predecessor-version":[{"id":21537,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17807\/revisions\/21537"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=17807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=17807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=17807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}