{"id":3317,"date":"2017-06-16T09:05:40","date_gmt":"2017-06-16T14:05:40","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=3317"},"modified":"2026-02-14T23:03:13","modified_gmt":"2026-02-15T04:03:13","slug":"series-de-fourier-senales-periodicas-ejemplos-con-python","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u05\/series-de-fourier-senales-periodicas-ejemplos-con-python\/","title":{"rendered":"5.1.1 Series de Fourier - Se\u00f1ales peri\u00f3dicas ejemplos 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=\"#exponencialperiodica\">exponencial peri\u00f3dica<\/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\n\n\n<p><a href=\"#triangularperiodica\">triangular peri\u00f3dica<\/a><\/p>\n\n\n\n<p><a href=\"#rectangularperiodica\">rectangular peri\u00f3dica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Ejemplos para interpretar de series de Fourier de se\u00f1ales peri\u00f3dicas cont\u00ednuas a partir del algoritmo de la secci\u00f3n anterior.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"exponencialperiodica\">1. Se\u00f1al exponencial peri\u00f3dica con n t\u00e9rminos de Fourier<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Lathi Ej 6.1 p599<\/p>\n\n\n\n<p>Encuentre serie de Fourier para la se\u00f1al x(t) y muestre el espectro de amplitud y fase de x(t)<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = e^{-\\frac{t}{2}} \\text{ , }{0 \\leq t \\leq \\pi} <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"557\" height=\"445\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej01_FtPeriodica.png\" alt=\"Serie Fourier Ej01_ Ft Peri\u00f3dica\" class=\"wp-image-20015\" \/><\/figure>\n\n\n\n<p>siendo el periodo T<sub>0<\/sub> = \u03c0 y la frecuencia fundamental f<sub>0<\/sub> = 1\/T<sub>0<\/sub>&nbsp; = 1\/\u03c0 Hz,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\omega_0 = \\frac{a \\pi}{T_0} = 2 \\text{ rad\/s}<\/span>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Desarrollo anal\u00edtico<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = a_0 +\\sum_{n=1}^{\\infty} a_n \\cos (2 n t) +b_n \\sin (2 n t) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> a_0 = \\frac{1}{\\pi} \\int_{0}^{\\pi} e^{-t\/2} \\delta t = 0.504 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> a_n = \\frac{2}{\\pi} \\int_{0}^{\\pi} e^{-t\/2} \\cos(2 n t) \\delta t = 0.504 \\Big( \\frac{2}{1+16 n^2}\\Big) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> b_n = \\frac{2}{\\pi} \\int_{0}^{\\pi} e^{-t\/2} \\sin (2 n t) \\delta t = 0.504\\Big( \\frac{8n}{1+16 n^2}\\Big) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = 0.504\\Big[ 1 +\\sum_{n=1}^{\\infty} \\Big( \\frac{2}{1+16 n^2} \\Big)(\\cos (2 n t) + 4n \\sin (2 n t))\\Big] <\/span>\n\n\n\n<p>Serie de Fourier en la forma exponencial,<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> C_0 = a_0 = 0.504 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> C_n = \\sqrt{a_n^2 + b_n^2} = 0.504\\sqrt{ \\Big(\\frac{2}{1+16 n^2}\\Big) ^2 + \\Big( \\frac{8n}{1+16 n^2} \\Big) ^2 } <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> C_n = 0.504\\Big( \\frac{8}{\\sqrt{1+16 n^2}} \\Big) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\theta_n = \\tan ^{-1} \\Big( \\frac{-b_n}{a_n}\\Big) = \\tan^{-1} (-4n) = -\\tan^{-1}(4n) <\/span>\n\n\n\n<p>con lo que se puede expresar x(t) como,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> serie de Fourier fs(t), n t\u00e9rminos no cero: \n+ 0.504279523791290\n+ 0.0593270027989753*cos(2*t)\n+ 0.015516293039732*cos(4*t)\n+ 0.00695557963850055*cos(6*t)\n+ 0.00392435427074934*cos(8*t)\n+ 0.00251510984434559*cos(10*t)\n+ 0.00174793595768211*cos(12*t)\n+ 0.0012847885956466*cos(14*t)\n+ 0.00098396004642203*cos(16*t)\n+ 0.000777609134604919*cos(18*t)\n+ 0.000629955682437589*cos(20*t)\n+ 0.237308011195901*sin(2*t)\n+ 0.124130344317856*sin(4*t)\n+ 0.0834669556620066*sin(6*t)\n+ 0.0627896683319894*sin(8*t)\n+ 0.0503021968869117*sin(10*t)\n+ 0.0419504629843708*sin(12*t)\n+ 0.0359740806781048*sin(14*t)\n+ 0.0314867214855049*sin(16*t)\n+ 0.0279939288457771*sin(18*t)\n+ 0.0251982272975036*sin(20*t)\n\n coeficientes: \n&#091;'k_i', 'ak', 'bk', 'ck', 'cfs']\n0 ak: 0.50427952379129 bk: 0\n   ck: 0.50427952379129 cfs: 0\n1 ak: 0.0593270027989753 bk: 0.2373080111959012\n   ck: 0.24461149899148976 cfs: -1.3258176636680326\n2 ak: 0.015516293039732001 bk: 0.12413034431785602\n   ck: 0.1250963537844502 cfs: -1.4464413322481353\n3 ak: 0.006955579638500553 bk: 0.08346695566200663\n   ck: 0.08375627006732632 cfs: -1.4876550949064553\n4 ak: 0.003924354270749339 bk: 0.06278966833198943\n   ck: 0.06291218487450254 cfs: -1.5083775167989393\n5 ak: 0.0025151098443455863 bk: 0.05030219688691173\n   ck: 0.05036503538347567 cfs: -1.5208379310729538\n6 ak: 0.0017479359576821145 bk: 0.04195046298437075\n   ck: 0.04198686252526162 cfs: -1.5291537476963082\n7 ak: 0.001284788595646599 bk: 0.03597408067810477\n   ck: 0.035997016020363336 cfs: -1.5350972141155728\n8 ak: 0.0009839600464220293 bk: 0.031486721485504944\n   ck: 0.031502092109552245 cfs: -1.5395564933646284\n9 ak: 0.0007776091346049191 bk: 0.02799392884577709\n   ck: 0.02800472689009217 cfs: -1.5430256902014756\n10 ak: 0.000629955682437589 bk: 0.025198227297503564\n   ck: 0.025206100513536184 cfs: -1.5458015331759765\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=\"#exponencialperiodica\">exponencial peri\u00f3dica<\/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\n\n\n<p><a href=\"#triangularperiodica\">triangular peri\u00f3dica<\/a><\/p>\n\n\n\n<p><a href=\"#rectangularperiodica\">rectangular peri\u00f3dica<\/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=\"algoritmo\">1.2 Algoritmo en Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Serie de Fourier, espectro con n coeficientes\n# Lathi ej 6.1 p599\nimport numpy as np\nimport sympy as sym\n\n# INGRESO\nt = sym.Symbol('t', real=True,)\n\nT0 = sym.pi ; t0 = 0 # periodo ; t_inicio\nft = sym.exp(-t\/2)\nn = 11  # n\u00famero de coeficientes\n\nt_a = t0   # intervalo de t =&#x5B;t_a,t_b]\nt_b = t0 + T0\n\n# PROCEDIMIENTO\nserieF = sym.fourier_series(ft,(t,t0,t0+T0))\nserieFk = serieF.truncate(n)\n\ndef fourier_series_coef(serieF,n,T0, casicero=1e-10):\n    ''' coeficientes de serie de Fourier\n        ak,bk,ck_mag, ck_fase\n    '''\n    w0 = 2*sym.pi\/T0\n    ak = &#x5B;float(serieF.a0.evalf())]\n    bk = &#x5B;0]; k_i=&#x5B;0]\n    ak_coef = serieF.an\n    bk_coef = serieF.bn\n    ck_mag  = &#x5B;ak&#x5B;0]] ; ck_fase = &#x5B;0]\n    for i in range(1,n,1):\n        ak_valor = ak_coef.coeff(i).subs(t,0)\n        ak_valor = float(ak_valor.evalf())\n        ak.append(ak_valor)\n        bk_term = bk_coef.coeff(i).evalf()\n        bk_valor = 0\n        term_mul = sym.Mul.make_args(bk_term)\n        for term_k in term_mul:\n            if not(term_k.has(sym.sin)):\n                bk_valor = float(term_k)\n            else: # sin(2*w0*t)\n                ki = term_k.args&#x5B;0].subs(t,1)\/w0\n        bk.append(bk_valor)\n        k_i.append(i)\n        \n        # magnitud y fase\n        ak_signo = 1 ; bk_signo = 1\n        if abs(ak_valor)&gt;casicero:\n            ak_signo = np.sign(ak_valor)\n        if abs(bk_valor)&gt;casicero:\n            bk_signo = np.sign(bk_valor)\n        signo_ck = ak_signo*bk_signo\n        ck_mvalor = signo_ck*np.sqrt(ak_valor**2 + bk_valor**2)\n        ck_mag.append(ck_mvalor)\n        pendiente = np.nan\n        if (abs(ak_valor)&gt;=casicero):\n            pendiente = -bk_valor\/ak_valor\n        ck_fvalor = np.arctan(pendiente)\n        ck_fase.append(ck_fvalor)\n    coef_fourier = {'k_i': k_i,'ak': ak,'bk': bk,\n                    'ck_mag' : ck_mag,'ck_fase': ck_fase}\n    return (coef_fourier)\n\ncoef_fourier = fourier_series_coef(serieF,n,T0)\n\n# SALIDA\n#print('\\n serie de Fourier fs(t): ')\n#sym.pprint(serieF)\n\nprint('\\n serie de Fourier fs(t), n t\u00e9rminos no cero: ')\nterm_suma = sym.Add.make_args(serieFk)\nfor term_k in term_suma:\n    operador = '+'\n    factor_mul = sym.Mul.make_args(term_k)\n    for factor_k in factor_mul:\n        if not(factor_k.has(t)):\n            if sym.sign(factor_k)&lt;0:\n                operador = ''\n    print(operador,term_k.evalf())\n\nprint('\\n coeficientes: ')\nm = len(coef_fourier&#x5B;'k_i'])\nprint(list(coef_fourier.keys()))\nfor i in range(0,m,1):\n    print(str(coef_fourier&#x5B;'k_i']&#x5B;i]),\n          'ak:',str(coef_fourier&#x5B;'ak']&#x5B;i]),\n          'bk:',str(coef_fourier&#x5B;'bk']&#x5B;i]) )\n    print('  ','ck_mag:',str(coef_fourier&#x5B;'ck_mag']&#x5B;i]),\n          'ck_fase:',str(coef_fourier&#x5B;'ck_fase']&#x5B;i]) )\n<\/pre><\/div>\n\n\n<p>gr\u00e1fica de la serie de Fourier comparada con f(t) en un periodo,<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"444\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej01_SerieFt.png\" alt=\"Serie Fourier Ej01 SerieFt\" class=\"wp-image-20016\" \/><\/figure>\n\n\n\n<p>Espectro de frecuencias,<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"442\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej01_Espectro.png\" alt=\"Serie Fourier Ej01 Espectro\" class=\"wp-image-20017\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"grafica\">1.3 Gr\u00e1ficas en Python<\/h3>\n\n\n\n<p>Complementarias para realizar las gr\u00e1ficas, en un periodo, en varios periodos con periodo central destacado y espectro de frecuencias<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA ----------------\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',]\n# Evaluaci\u00f3n para gr\u00e1fica\nmuestras  = 101\nt_a = float(t_a) ; t_b = float(t_b)\nfigura_ft = ss.graficar_ft(ft,t_a,t_b,muestras)\n\nti = np.linspace(t_a,t_b,muestras)\n# convierte a sympy una constante\nserieF_k = sym.sympify(serieFk,t) \nif serieFk.has(t): # no es constante\n    serieF_t = sym.lambdify(t,serieF_k,modules=equivalentes)\nelse:\n    serieF_t = lambda t: serieF_k + 0*t\nSerieFi = serieF_t(ti) # evalua ti\n\netiqueta = 'coeficientes = '+ str(n)\nfigura_ft.axes&#x5B;0].plot(ti,SerieFi,'orange',\n                    label = etiqueta)\nfigura_ft.axes&#x5B;0].legend()\nft_etq = ''\nif not(ft.has(sym.Piecewise)):\n    ft_etq = '$ = '+str(sym.latex(ft)) +'$'\netiq_1 = 'f(t) '+ft_etq+' ; $T_0='+str(sym.latex(T0))+'$'\nfigura_ft.axes&#x5B;0].set_title(r'Serie de Fourier '+etiq_1)\n#plt.show()\n\ndef graficar_ft_periodoT0(ft,t0,T0,muestras=51,\n                          n_periodos=4,f_nombre='f'):\n    ''' grafica f(t) en intervalo&#x5B;t0,t0+T0] para n_periodos\n    '''\n    # convierte a sympy una constante\n    ft = sym.sympify(ft,t) \n    if ft.has(t): # no es constante\n        f_t = sym.lambdify(t,ft,modules=equivalentes)\n    else:\n        f_t = lambda t: ft + 0*t\n    # intervalo de n_periodos\n    ti = np.linspace(float(t0-T0*n_periodos\/2),\n                     float(t0+T0*n_periodos\/2),\n                     n_periodos*muestras)\n    fk = np.zeros(n_periodos*muestras)\n    # ajuste de intervalo por periodos\n    ti_T0 = (ti-t0)%float(T0)+t0\n    fi = f_t(ti_T0)\n    \n    # intervalo de UN periodo\n    ti0 = np.linspace(float(t0),float(t0+T0),muestras)\n    fi0 = f_t(ti0)\n    \n    fig_fT0, graf_fT0 = plt.subplots()\n    graf_fT0.plot(ti,fi,label=f_nombre+'(t)',\n                 color= 'blue',linestyle='dashed')\n    graf_fT0.plot(ti0,fi0,label=f_nombre+'(t)',color= 'blue')\n    graf_fT0.axvline(t0, color ='red')\n    graf_fT0.axvline(t0+T0, color ='red')\n    graf_fT0.set_xlabel('t')\n    graf_fT0.set_ylabel(f_nombre+'(t)')\n    graf_fT0.legend()\n    graf_fT0.grid()\n    ft_etq = '' ; ft_ltx =''\n    if not(ft.has(sym.Piecewise)):\n        ft_etq = '$ = '+str(sym.latex(ft)) +'$'\n    etiq_1 = r''+f_nombre+'(t) '+ft_etq+' ; $T_0='+str(sym.latex(T0))+'$'\n    graf_fT0.set_title(etiq_1)\n    return(fig_fT0)\n\ndef graficar_w_espectro(coef_fourier,T0,f_nombre='f'):\n    ''' coef_fourier es diccionario con entradas\n        &#x5B;'k_i','ck_mag','ck_fase'] indice, Ck_magnitud, Ck_fase\n    '''\n    # espectro de frecuencia\n    k_i = coef_fourier&#x5B;'k_i']\n    ck  = coef_fourier&#x5B;'ck_mag']\n    cfs = coef_fourier&#x5B;'ck_fase']\n\n    # grafica de espectro de frecuencia\n    fig_espectro_w, graf_spctr = plt.subplots(2,1)\n    graf_spctr&#x5B;0].stem(k_i,ck,label='Ck_magnitud')\n    graf_spctr&#x5B;0].set_ylabel('|Ck|')\n    graf_spctr&#x5B;0].legend()\n    graf_spctr&#x5B;0].grid()\n    ft_etq = '' ; ft_ltx =''\n    if not(ft.has(sym.Piecewise)):\n        ft_etq = '$ = '+str(sym.latex(ft)) +'$'\n    etiq_2 = ft_etq+' ; $T_0='+str(sym.latex(T0))+'$'\n    etiq_1 = r'Espectro frecuencia '+f_nombre+'(t) '\n    graf_spctr&#x5B;0].set_title(etiq_1+etiq_2)\n    graf_spctr&#x5B;1].stem(k_i,cfs,label='Ck_fase')\n    graf_spctr&#x5B;1].legend()\n    graf_spctr&#x5B;1].set_ylabel('Ck_fase')\n    graf_spctr&#x5B;1].set_xlabel('k')\n    graf_spctr&#x5B;1].grid()\n    return(fig_espectro_w)\n\nfig_fT0 = graficar_ft_periodoT0(ft,t0,T0,muestras,f_nombre='x')\nfig_espectro_w = graficar_w_espectro(coef_fourier,T0,f_nombre='x')\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=\"#exponencialperiodica\">exponencial peri\u00f3dica<\/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\n\n\n<p><a href=\"#triangularperiodica\">triangular peri\u00f3dica<\/a><\/p>\n\n\n\n<p><a href=\"#rectangularperiodica\">rectangular peri\u00f3dica<\/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=\"triangularperiodica\">2. Ejemplo. Se\u00f1al triangular peri\u00f3dica<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Lathi Ej 6.2 p602<\/p>\n\n\n\n<p>Encuentre serie de Fourier para la se\u00f1al x(t) y muestre el espectro de amplitud y fase de x(t)<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = \\begin{cases} 4t &amp; t &lt; -\\frac{1}{4} \\\\ -4t+4 &amp; t \\leq \\frac{3}{4} \\end{cases} <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"438\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej02_FtPeriodica.png\" alt=\"Serie Fourier Ej02 Ft Periodica\" class=\"wp-image-20018\" \/><\/figure>\n\n\n\n<p>en el algoritmo el bloque de ingreso se escribe el periodo, intervalo y la funci\u00f3n como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>T0 = 2 ; t0 = -T0\/4 <span style=\"color: #ff0000\"># periodo ; t_inicio<\/span>\nA  = 2\nft = sym.Piecewise((0, t&lt;(-T0\/4)),\n                   ((4*A\/T0)*t, t&lt;(T0\/4)),\n                   (-(4*A\/T0)*t+2*A, t&lt;=(3*T0\/4)),\n                   (0, <span style=\"color: #d35400\">True<\/span>))\nn = 9 <span style=\"color: #ff0000\"># n\u00famero de coeficientes<\/span><\/code><\/pre>\n\n\n\n<p>Serie de Fourier en forma trigonom\u00e9trica:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> serie de Fourier fs(t), n t\u00e9rminos no cero: \n+ 1.6211389382774*sin(pi*t)\n+ 0.0200140609663877*sin(9*pi*t)\n+ 0.00560947729507752*sin(17*pi*t)\n+ 0.0648455575310962*sin(5*pi*t)\n+ 0.009592538096316*sin(13*pi*t)\n -0.0133978424651025*sin(11*pi*t)\n -0.180126548697489*sin(3*pi*t)\n -0.00720506194789958*sin(15*pi*t)\n -0.0330844681281103*sin(7*pi*t)\n\n coeficientes: \n&#091;'k_i', 'ak', 'bk', 'ck', 'cfs']\n0 ak: 0.0 bk: 0\n   ck: 0.0 cfs: 0\n1 ak: 0.0 bk: 1.6211389382774044\n   ck: 1.6211389382774044 cfs: nan\n2 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n3 ak: 0.0 bk: -0.18012654869748937\n   ck: 0.18012654869748937 cfs: nan\n4 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n5 ak: 0.0 bk: 0.06484555753109618\n   ck: 0.06484555753109618 cfs: nan\n6 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n7 ak: 0.0 bk: -0.03308446812811029\n   ck: 0.03308446812811029 cfs: nan\n8 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan<\/code><\/pre>\n\n\n\n<p>Comparando la serie de Fourier con f(t)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"443\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej02_SerieFt.png\" alt=\"Serie Fourier Ej02 Serie Ft\" class=\"wp-image-20019\" \/><\/figure>\n\n\n\n<p>Espectro de frecuencias de f(t)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"435\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/06\/SerieFourier_Ej02_Espectro.png\" alt=\"Serie Fourier Ej02 Espectro\" class=\"wp-image-20020\" \/><\/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=\"#exponencialperiodica\">exponencial peri\u00f3dica<\/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\n\n\n<p><a href=\"#triangularperiodica\">triangular peri\u00f3dica<\/a><\/p>\n\n\n\n<p><a href=\"#rectangularperiodica\">rectangular peri\u00f3dica<\/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=\"rectangularperiodica\">3. Ejemplo. Se\u00f1al rectangular peri\u00f3dica<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Lathi Ej 6.4 p605, Oppenheim Ej 4.5 p294<\/p>\n\n\n\n<p>Encuentre serie de Fourier para la se\u00f1al x(t) y muestre el espectro de amplitud y fase de x(t)<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = \\begin{cases} 0 &amp; t  \\frac{\\pi}{2}\\end{cases} <\/span>\n\n\n\n<pre class=\"wp-block-code\"><code>T0 = 2*sym.pi ; t0 = -T0\/2 <span style=\"color: #ff0000\"># periodo ; t_inicio<\/span>\nft = sym.Piecewise((0, t&lt;-(T0\/4)),\n                   (1, t&lt;(T0\/4)),\n                   (0, t&lt;(T0\/2)),\n                   (0, <span style=\"color: #d35400\">True<\/span>))\nn = 9 <span style=\"color: #ff0000\"># numero de coeficientes<\/span><\/code><\/pre>\n\n\n\n<p>la gr\u00e1fica de f(t) dentro de un periodo:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_FtPeriodica.png\"><img decoding=\"async\" src=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_FtPeriodica.png\" alt=\"Serie Fourier Ej03 f(t) Periodica\" class=\"wp-image-5177\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>la serie de Fourier en forma trigonom\u00e9trica<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> serie de Fourier fs(t), n t\u00e9rminos no cero: \n+ 0.500000000000000\n+ 0.636619772367581*cos(0.318309886183791*pi*t)\n+ 0.0489707517205832*cos(4.13802852038928*pi*t)\n+ 0.0707355302630646*cos(2.86478897565412*pi*t)\n+ 0.127323954473516*cos(1.59154943091895*pi*t)\n -0.0909456817667973*cos(2.22816920328654*pi*t)\n -0.0578745247606892*cos(3.5014087480217*pi*t)\n -0.0424413181578388*cos(4.77464829275686*pi*t)\n -0.212206590789194*cos(0.954929658551372*pi*t)\n\n coeficientes: \n&#091;'k_i', 'ak', 'bk', 'ck', 'cfs']\n0 ak: 0.5 bk: 0\n   ck: 0.5 cfs: 0\n1 ak: 0.6366197723675814 bk: 0.0\n   ck: 0.6366197723675814 cfs: -0.0\n2 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n3 ak: -0.21220659078919377 bk: 0.0\n   ck: -0.21220659078919377 cfs: 0.0\n4 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n5 ak: 0.12732395447351627 bk: 0.0\n   ck: 0.12732395447351627 cfs: -0.0\n6 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n7 ak: -0.09094568176679733 bk: 0.0\n   ck: -0.09094568176679733 cfs: 0.0\n8 ak: 0.0 bk: 0.0\n   ck: 0.0 cfs: nan\n&gt;&gt;&gt;\n<\/code><\/pre>\n\n\n\n<p>comparando la serie de Fourier con f(t):<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_SerieFt.png\"><img decoding=\"async\" src=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_SerieFt.png\" alt=\"Serie Fourier Ej03 Serie f(t)\" class=\"wp-image-5178\" \/><\/a><\/figure>\n\n\n\n<p>el espectro de frecuencias,<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_Espectro.png\"><img decoding=\"async\" src=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/05\/SerieFourier_Ej03_Espectro.png\" alt=\"Serie Fourier Ej03 Espectro\" class=\"wp-image-5179\" \/><\/a><\/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=\"#exponencialperiodica\">exponencial peri\u00f3dica<\/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\n\n\n<p><a href=\"#triangularperiodica\">triangular peri\u00f3dica<\/a><\/p>\n\n\n\n<p><a href=\"#rectangularperiodica\">rectangular peri\u00f3dica<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>exponencial peri\u00f3dica algoritmo gr\u00e1fica triangular peri\u00f3dica rectangular peri\u00f3dica Ejemplos para interpretar de series de Fourier de se\u00f1ales peri\u00f3dicas cont\u00ednuas a partir del algoritmo de la secci\u00f3n anterior. 1. Se\u00f1al exponencial peri\u00f3dica con n t\u00e9rminos de Fourier Referencia: Lathi Ej 6.1 p599 Encuentre serie de Fourier para la se\u00f1al x(t) y muestre el espectro de amplitud [&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-3317","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\/3317","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=3317"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3317\/revisions"}],"predecessor-version":[{"id":21536,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3317\/revisions\/21536"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=3317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=3317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=3317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}