{"id":20576,"date":"2024-10-17T08:59:00","date_gmt":"2024-10-17T13:59:00","guid":{"rendered":"https:\/\/blog.espol.edu.ec\/algoritmos101\/?p=20576"},"modified":"2026-03-27T21:22:39","modified_gmt":"2026-03-28T02:22:39","slug":"espectro-operaciones-tiempo-frecuencia","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/dsp-unidades\/espectro-operaciones-tiempo-frecuencia\/","title":{"rendered":"1.7 Espectro - Operaciones en dominio de tiempo y frecuencia"},"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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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\">1. Operaciones en dominio de tiempo y frecuencia<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: McClellan 3.3 p81<\/p>\n\n\n\n<p>Uno de los beneficios de uso del espectro de frecuencias es que las operaciones sobre x(t) se muestran como resultados simples en la gr\u00e1fica de espectro. Estos cambios relacionados en el dominio de t y f se denominan propiedades de la representaci\u00f3n espectral. Para los ejemplos se usar\u00e1 el algoritmo de producto de sinusoides.<\/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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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=\"escala\">2. Escalar o sumar con una constante<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: McClellan 3.3.1 y 3.3.2 p81<\/p>\n\n\n\n<p>Multiplicar una se\u00f1al por un factor '<code>c<\/code>' constante cambia la escala de amplitud en el espectro por el mismo factor '<code>c<\/code>', pero deja las frecuencias sin cambios.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> c x(t)= c \\sum_{k=\u2212M}^M a_k e^{j2\\pi f_kt} = \\sum_{k=\u2212M}^M (c a_k) e^{j 2 \\pi f_k t} <\/span>\n\n\n\n<p>Sumar una constante a una se\u00f1al x(t)+c, cambia la amplitud compleja de solo del componente constante o frecuencia f=0<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t)+c=\\sum_{f \\neq 0} a_ke^{j2 \\pi f_k t} + \\left[ a_0 e^{j2 \\pi (0) t} + c \\right] <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Ejemplo<\/h3>\n\n\n\n<p>Para la se\u00f1al x(t) mostrada<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = \\frac{2}{3}\u200b + 6 \\cos(6\\pi t \u2212 \\pi \/3 ) + 4 \\cos(14\\pi t + \\pi\/4) <\/span>\n\n\n\n<p>realizar las operaciones<\/p>\n\n\n\n<p class=\"has-text-align-center\">y(t)=2x(t)+6<\/p>\n\n\n\n<p>La amplitud de las se\u00f1ales en f=\u00b13 y&nbsp;\u00b17 se duplican en el factor 2,&nbsp; El valor de la constante a la frecuencia cero, tambi\u00e9n se duplica por el factor 2 y se a\u00f1ade la constante 6&nbsp; dando como resultado 2(1.5) +6 = 9<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Resultado con algoritmo<\/h3>\n\n\n\n<p>Ingreso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># INGRESO\nx1 = 3\/2 + 6*sym.cos(6*pi*t - pi\/3) + 4*sym.cos(14*pi*t + pi\/4)\nx2 = 2*x1\nx3 = 6\nx4 = x2+x3\n\n# Para espectro de frecuencias y fasores\nx_senales = &#091;x1,x2,x3,x4]\nx_etiqueta = &#091;'x1(t)','(2)x1(t)','x3(t)','(2)x1(t)+x3(t)']\n<\/code><\/pre>\n\n\n\n<p>Resultado<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>senal:   6*sin(6*pi*t + pi\/6) + 4*cos(14*pi*t + pi\/4) + 1.5\n  espectro:\n   freq : &#091;-7. -3.  0.  3.  7.]\n   ampl : &#091;2.  3.  1.5 3.  2. ]\n   fase : &#091;-pi\/4 pi\/3 0 -pi\/3 pi\/4]\n   etiq : &#091;'$2$$ e^j(- \\\\frac{\\\\pi}{4})$' '$3$$ e^j(\\\\frac{\\\\pi}{3})$' '$1.5$'\n '$3$$ e^j(- \\\\frac{\\\\pi}{3})$' '$2$$ e^j(\\\\frac{\\\\pi}{4})$']\n   x_expand : 6*sin(6*pi*t + pi\/6) + 4*cos(14*pi*t + pi\/4) + 1.5\n   freq_max : 7.0\n   freq_min : 3.0\n   BW : 4.0\nsenal:   12*sin(6*pi*t + pi\/6) + 8*cos(14*pi*t + pi\/4) + 3.0\n  espectro:\n   freq : &#091;-7. -3.  0.  3.  7.]\n   ampl : &#091;4 6 3 6 4]\n   fase : &#091;-pi\/4 pi\/3 0 -pi\/3 pi\/4]\n   etiq : &#091;'$4$$ e^j(- \\\\frac{\\\\pi}{4})$' '$6$$ e^j(\\\\frac{\\\\pi}{3})$' '$3$'\n '$6$$ e^j(- \\\\frac{\\\\pi}{3})$' '$4$$ e^j(\\\\frac{\\\\pi}{4})$']\n   x_expand : 12*sin(6*pi*t + pi\/6) + 8*cos(14*pi*t + pi\/4) + 3\n   freq_max : 7.0\n   freq_min : 3.0\n   BW : 4.0\nsenal:   6\n  espectro:\n   freq : &#091;0.]\n   ampl : &#091;6]\n   fase : &#091;0]\n   etiq : &#091;'$6$']\n   x_expand : 6\n   freq_max : 0.0\n   freq_min : 0\n   BW : 0.0\nsenal:   12*sin(6*pi*t + pi\/6) + 8*cos(14*pi*t + pi\/4) + 9.0\n  espectro:\n   freq : &#091;-7. -3.  0.  3.  7.]\n   ampl : &#091;4 6 9 6 4]\n   fase : &#091;-pi\/4 pi\/3 0 -pi\/3 pi\/4]\n   etiq : &#091;'$4$$ e^j(- \\\\frac{\\\\pi}{4})$' '$6$$ e^j(\\\\frac{\\\\pi}{3})$' '$9$'\n '$6$$ e^j(- \\\\frac{\\\\pi}{3})$' '$4$$ e^j(\\\\frac{\\\\pi}{4})$']\n   x_expand : 12*sin(6*pi*t + pi\/6) + 8*cos(14*pi*t + pi\/4) + 9\n   freq_max : 7.0\n   freq_min : 3.0\n   BW : 4.0<\/code><\/pre>\n\n\n\n<p>gr\u00e1fica de espectro de frecuencias<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"616\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2025\/12\/espectroSenalesOper1_escalaSumaConstante.png\" alt=\"espectro Se\u00f1ales Oper1 escala Suma Constante\" class=\"wp-image-20579\" style=\"aspect-ratio:1;width:535px;height:auto\" \/><\/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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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=\"desplazat\">3. Desplazamiento en tiempo o multiplicar por exponencial complejo<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: McClellan 3.3.3 p84<\/p>\n\n\n\n<p>Para desplazamiento en el tiempo, las frecuencias no cambia, solo hay cambio de fase en las amplitudes complejas del espectro.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t) = x (t\u2212\\tau_d) \\leftrightarrow b_k = a_k e^{\u2212j2 \\pi f_k \\tau_d} <\/span>\n\n\n\n<p>dado que<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t) = x(t \u2212 \\tau_d) =\\sum_k a_k e^{\u2212j2 \\pi f_k (t\u2212\\tau_d)} = \\sum_k \\left(a_k e^{\u2212j2 \\pi f_k \\tau_d} \\right) e^{j 2 \\pi f_k t} <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Ejemplo<\/h3>\n\n\n\n<p>Considere x(t) con un retraso \u03c4<sub>d<\/sub>&nbsp;que es 1\/4 de su periodo.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = 6 \\cos\u2061(250 \\pi t) <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">  T=\\frac{1}{125} <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\tau_d=\\frac{T}{4} =\\left(\\frac{1}{125} \\right) \\frac{1}{4}=\\frac{1}{500} = 0.002 <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">  e^{\u2212j 250\\pi (0.002)} = e^{\u2212j0.5\\pi} = \u2212j <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t\u22120.002)=6\\sin\u2061(250 \\pi t)<\/span>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Resultado con algoritmo<\/h3>\n\n\n\n<p>Ingreso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># INGRESO\nx0 = 6*sym.cos(250*pi*t)\nx1 = x0.subs(t,t-0.002)\n\n# Para espectro de frecuencias y fasores\nx_senales = &#091;x0,x1]\nx_etiqueta = &#091;'x(t)','x(t-0.002)']<\/code><\/pre>\n\n\n\n<p>Resultado<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>x_senales: \nsenal:   6*cos(250*pi*t)\n  espectro:\n   freq : &#091;-125.  125.]\n   ampl : &#091;3 3]\n   fase : &#091;0 0]\n   etiq : &#091;'$3$' '$3$']\n   x_expand : 6*cos(250*pi*t)\n   freq_max : 125.0\n   freq_min : 125.0\n   BW : 0.0\nsenal:   6*cos(pi*(250*t - 0.5))\n  espectro:\n   freq : &#091;-125.  125.]\n   ampl : &#091;3 3]\n   fase : &#091;0.5*pi -0.5*pi]\n   etiq : &#091;'$3$$ e^j(0.5 \\\\pi)$' '$3$$ e^j(- 0.5 \\\\pi)$']\n   x_expand : 3*I*cos(250*pi*t) + 3*I*cos(250*pi*t - 1.0*pi) + 6*cos(250*pi*t - 0.5*pi)\n   freq_max : 125.0\n   freq_min : 125.0\n   BW : 0.0<\/code><\/pre>\n\n\n\n<p>gr\u00e1fica de espectro de frecuencias<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"549\" height=\"442\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2024\/11\/espectroSenalesOper2_desplaza_t.png\" alt=\"espectro Se\u00f1ales Operaci\u00f3n desplazamiento en tiempo\" class=\"wp-image-200\" \/><\/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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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=\"derivada\">4. Diferenciaci\u00f3n en tiempo - derivar<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: McClellan 3.3.4 p84<\/p>\n\n\n\n<p>La derivada de una se\u00f1al x(t) no realiza cambios en las frecuencias, las amplitudes en el espectro de frecuencia se modifican como<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t) = \\frac{d}{dt} x(t) \\leftrightarrow b_k=(j 2 \\pi f_k) a_k <\/span>\n\n\n\n<p>dado que<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t) = \\frac{d}{dt} x(t)= \\sum_k a_k \\frac{d}{dt} e^{j2\\pi f_k t} =\\sum_k \\left( (j2 \\pi f_k) a_k \\right) e^{j2 \\pi f_k t} <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Ejemplo<\/h3>\n\n\n\n<p>Derivar x(t) que tiene sin() y una constante.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t)=7+6 \\cos\u2061(250 \\pi t) <\/span>\n\n\n\n<p>La frecuencia f=0 tiene magnitud 7 que es (j 2 \u03c0 (0)) = 0 que se elimina de la expresi\u00f3n. En la frecuencia de 125 Hz el t\u00e9rmino se multiplica por (j 2 \u03c0 (125))<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> (j2 \\pi (125))(\u22123j) = 750\\pi <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{d}{dt} x(t)=1500 \\pi \\cos\u2061(250 \\pi t) <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">4.2&nbsp; Resultados con el algoritmo<\/h3>\n\n\n\n<p>Ingreso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># INGRESO\nx0 = 7 + 6*sym.sin(250*pi*t)\nx1 = sym.diff(x0,t)\n\n# Para espectro de frecuencias y fasores\nx_senales = &#091;x0,x1]\nx_etiqueta = &#091;'x(t)',\"x'(t)\"]<\/code><\/pre>\n\n\n\n<p>Resultado<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>x_senales: \nsenal:   6*cos(250*pi*t)\n  espectro:\n   freq : &#091;-125.  125.]\n   ampl : &#091;3 3]\n   fase : &#091;0 0]\n   etiq : &#091;'$3$' '$3$']\n   x_expand : 6*cos(250*pi*t)\n   freq_max : 125.0\n   freq_min : 125.0\n   BW : 0.0\nsenal:   6*cos(pi*(250*t - 0.5))\n  espectro:\n   freq : &#091;-125.  125.]\n   ampl : &#091;3 3]\n   fase : &#091;0.5*pi -0.5*pi]\n   etiq : &#091;'$3$$ e^j(0.5 \\\\pi)$' '$3$$ e^j(- 0.5 \\\\pi)$']\n   x_expand : 3*I*cos(250*pi*t) + 3*I*cos(250*pi*t - 1.0*pi) + 6*cos(250*pi*t - 0.5*pi)\n   freq_max : 125.0\n   freq_min : 125.0\n   BW : 0.0\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<p>gr\u00e1fica de espectro de frecuencias<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"572\" height=\"441\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2024\/11\/espectroSenalesOper3_derivar.png\" alt=\"espectro Se\u00f1ales Operaci\u00f3n derivada\" class=\"wp-image-18245\" \/><\/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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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=\"desplazaf\">5. Desplazamiento de frecuencia<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: McClellan 3.3.5 p85<\/p>\n\n\n\n<p>Multiplicar una se\u00f1al x(t) por una sinusoide o una exponencial compleja tiene como resultado que las frecuencias en el espectro se desplazan.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t)=x(t) A \\cos\u2061(2 \\pi f_c t+ \\Phi )<\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = x(t)\\frac{1}{2} A e^{j \\Phi } e^{j 2 \\pi f_c t} + x(t)\\frac{1}{2} A e^{\u2212j\\Phi} e^{\u2212j2 \\pi f_c t} <\/span>\n\n\n\n<p>que es el resultado observado en el producto de sinusoides y tema tratado para AM<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t)=A e^{j \\phi} e^{j2 \\pi f_c t}\\sum_k a_k e^{j 2\\pi f_k t} <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t)=\\sum_k \\left( a_k A e^{j\\Phi}\\right) e^{j2\\pi (f_k+f_c)t} <\/span>\n\n\n\n<p>Que se interpreta en el espectro de frecuencias, cada frecuencia en x(t) se desplaza por f<sub>c<\/sub>, suponiendo que f<sub>c<\/sub>&gt;0. Todas las amplitudes complejas se multiplican por la amplitud compleja del exponencial complejo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 Ejemplo<\/h3>\n\n\n\n<p>Para una se\u00f1al x(t) con varios componentes mostrada en la gr\u00e1fica de espectro de frecuencias, a\u00f1adir a la gr\u00e1fica los resultados de las operaciones indicadas:<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1(t)= x(t) \\cos\u2061(2\\pi 9 t) <\/span>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1(t)= x(t) \\sin\u2061(2\\pi 9t) <\/span>\n\n\n\n<p>Siendo<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = 8 + 4 \\cos\u2061(2\\pi t) + 4 \\cos\u2061(2\\pi(2)t) + 12 \\cos\u2061(2 \\pi (3)t + \\pi\/2) <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">5.2&nbsp; Resultados con el algoritmo<\/h3>\n\n\n\n<p>Ingreso<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># INGRESO\nx0 = 8 + 4*sym.cos(DosPi*t) + 4*sym.cos(DosPi*2*t)+ 12*sym.cos(DosPi*3*t + pi\/2)\nx1 = x0*sym.cos(DosPi*9*t)\nx2 = x0*sym.sin(DosPi*9*t)\n\n# Para espectro de frecuencias y fasores\nx_senales = &#091;x0,x1,x2]\nx_etiqueta = &#091;'x(t)','x(t)*cos(2*pi*9*t)','x(t)*sin(2*pi*9*t)']<\/code><\/pre>\n\n\n\n<p>Resultado<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>x_senales: \nsenal:   8 - 12*sin(3*t*(2*pi)) + 4*cos(t*(2*pi)) + 4*cos(2*t*(2*pi))\n  espectro:\n   freq : &#091;-3. -2. -1.  0.  1.  2.  3.]\n   ampl : &#091;6 2 2 8 2 2 6]\n   fase : &#091;-pi\/2 0 0 0 0 0 pi\/2]\n   etiq : &#091;'$6$$ e^j(- \\\\frac{\\\\pi}{2})$' '$2$' '$2$' '$8$' '$2$' '$2$'\n '$6$$ e^j(\\\\frac{\\\\pi}{2})$']\n   x_expand : -6*I*(-I*sin(6*pi*t) + cos(6*pi*t)) + 6*I*(I*sin(6*pi*t) + cos(6*pi*t)) + 4*cos(2*pi*t) + 4*cos(4*pi*t) + 8\n   freq_max : 3.0\n   freq_min : 1.0\n   BW : 2.0\nsenal:   (8 - 12*sin(3*t*(2*pi)) + 4*cos(t*(2*pi)) + 4*cos(2*t*(2*pi)))*cos(9*t*(2*pi))\n  espectro:\n   freq : &#091;-12. -11. -10.  -9.  -8.  -7.  -6.   6.   7.   8.   9.  10.  11.  12.]\n   ampl : &#091;3 1 1 4 1 1 3 3 1 1 4 1 1 3]\n   fase : &#091;-pi\/2 0 0 0 0 0 pi\/2 -pi\/2 0 0 0 0 0 pi\/2]\n   etiq : &#091;'$3$$ e^j(- \\\\frac{\\\\pi}{2})$' '$1$' '$1$' '$4$' '$1$' '$1$'\n '$3$$ e^j(\\\\frac{\\\\pi}{2})$' '$3$$ e^j(- \\\\frac{\\\\pi}{2})$' '$1$' '$1$'\n '$4$' '$1$' '$1$' '$3$$ e^j(\\\\frac{\\\\pi}{2})$']\n   x_expand : 3*I*(-I*sin(12*pi*t) + cos(12*pi*t)) - 3*I*(I*sin(12*pi*t) + cos(12*pi*t)) - 3*I*(-I*sin(24*pi*t) + cos(24*pi*t)) + 3*I*(I*sin(24*pi*t) + cos(24*pi*t)) + 8*cos(18*pi*t)\n   freq_max : 12.0\n   freq_min : 6.0\n   BW : 6.0\nsenal:   (8 - 12*sin(3*t*(2*pi)) + 4*cos(t*(2*pi)) + 4*cos(2*t*(2*pi)))*sin(9*t*(2*pi))\n  espectro:\n   freq : &#091;-12. -11. -10.  -9.  -8.  -7.  -6.   6.   7.   8.   9.  10.  11.  12.]\n   ampl : &#091;3 1 1 4 1 1 3 3 1 1 4 1 1 3]\n   fase : &#091;0 pi\/2 pi\/2 pi\/2 pi\/2 pi\/2 pi pi -pi\/2 -pi\/2 -pi\/2 -pi\/2 -pi\/2 0]\n   etiq : &#091;'$3$' '$1$$ e^j(\\\\frac{\\\\pi}{2})$' '$1$$ e^j(\\\\frac{\\\\pi}{2})$'\n '$4$$ e^j(\\\\frac{\\\\pi}{2})$' '$1$$ e^j(\\\\frac{\\\\pi}{2})$'\n '$1$$ e^j(\\\\frac{\\\\pi}{2})$' '$3$$ e^j(\\\\pi)$' '$3$$ e^j(\\\\pi)$'\n '$1$$ e^j(- \\\\frac{\\\\pi}{2})$' '$1$$ e^j(- \\\\frac{\\\\pi}{2})$'\n '$4$$ e^j(- \\\\frac{\\\\pi}{2})$' '$1$$ e^j(- \\\\frac{\\\\pi}{2})$'\n '$1$$ e^j(- \\\\frac{\\\\pi}{2})$' '$3$']\n   x_expand : I*(-I*sin(14*pi*t) + cos(14*pi*t)) - I*(I*sin(14*pi*t) + cos(14*pi*t)) + I*(-I*sin(16*pi*t) + cos(16*pi*t)) - I*(I*sin(16*pi*t) + cos(16*pi*t)) + 4*I*(-I*sin(18*pi*t) + cos(18*pi*t)) - 4*I*(I*sin(18*pi*t) + cos(18*pi*t)) + I*(-I*sin(20*pi*t) + cos(20*pi*t)) - I*(I*sin(20*pi*t) + cos(20*pi*t)) + I*(-I*sin(22*pi*t) + cos(22*pi*t)) - I*(I*sin(22*pi*t) + cos(22*pi*t)) - 6*cos(12*pi*t) + 6*cos(24*pi*t)\n   freq_max : 12.0\n   freq_min : 6.0\n   BW : 6.0<\/code><\/pre>\n\n\n\n<p>gr\u00e1fica de espectro de frecuencias<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1455\" height=\"446\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2024\/11\/espectroSenalesOper4_desplaza_f.png\" alt=\"espectro Senales Oper4 desplaza f\" class=\"wp-image-20585\" \/><\/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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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\">6. Algoritmo en Python<\/h2>\n\n\n\n<p id=\"algoritmo\">La instrucciones en Python para cada ejercicio a observar en el dominio de la frecuencia requiere actualiar la secci\u00f3n de INGRESO que fu\u00e9 proporcinada en cada secci\u00f3n anterior. El algoritmo se presenta como ejemplo la escala o suma de una constante.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# ejemplo 3-3.1 p82 escala o suma con una constante\n# telg1034 DSP fiec-espol edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport sympy as sym\nimport telg1034 as dsp\n\n# variables\nfrom telg1034 import t,A,w,f,p,pi,DosPi,I,equivalentes\n\n# INGRESO\nx1 = 3\/2 + 6*sym.cos(6*pi*t - pi\/3) + 4*sym.cos(14*pi*t + pi\/4)\nx2 = 2*x1\nx3 = 6\nx4 = x2+x3\n\n# Para espectro de frecuencias y fasores\nx_senales = &#x5B;x1,x2,x3,x4]\nx_etiqueta = &#x5B;'x1(t)','(2)x1(t)','x3(t)','(2)x1(t)+x3(t)']\n\n# PROCEDIMIENTO\nx_conteo = len(x_senales)\nx_espectro = &#x5B;] ; freq_max_graf = 1; freq_min_graf = 0\nfor unasenal in x_senales:\n    # operaciones para espectro\n    x_term = dsp.x_list_term_Add(unasenal)\n    Xe_term = dsp.cos_to_euler_one_term(x_term)\n    x_term_expand = dsp.euler_to_cos_list(Xe_term)\n    Xe_term_spectr = dsp.cos_spectrum_list(x_term)\n    \n    # espectro de cada se\u00f1al\n    un_espectro = {}\n    freq = Xe_term_spectr&#x5B;'freq']\n    ampl = Xe_term_spectr&#x5B;'ampl']\n    fase = Xe_term_spectr&#x5B;'fase']\n    un_espectro&#x5B;'freq'] = freq\n    un_espectro&#x5B;'ampl'] = ampl\n    un_espectro&#x5B;'fase'] = fase\n    un_espectro&#x5B;'etiq'] = Xe_term_spectr&#x5B;'etiq']\n    un_espectro&#x5B;'x_expand'] = x_term_expand\n    \n    # ancho de banda\n    freq_max = float(max(freq))\n    if len(freq&#x5B;freq&gt;0])&gt;0:\n        freq_min = float(min(freq&#x5B;freq&gt;0]))\n    else:\n        freq_min = 0\n    un_espectro&#x5B;'freq_max'] = freq_max\n    un_espectro&#x5B;'freq_min'] = freq_min\n    freq_centro = (freq_max+freq_min)\/2\n    un_espectro&#x5B;'BW'] = freq_max-freq_min\n\n    x_espectro.append(un_espectro)\n    # freq_max para grafica, eje unificado x_senales\n    if freq_max&gt;freq_max_graf:\n        freq_max_graf = freq_max\n\n# SALIDA\nprint('x_senales: ')\nfor i in range(x_conteo):\n    print('senal:  ',x_senales&#x5B;i])\n    print('  espectro:')\n    unespectro = x_espectro&#x5B;i]\n    for unparam in unespectro:\n        print('  ',unparam,':',unespectro&#x5B;unparam])\n\n\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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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\">7. Gr\u00e1fica con Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICAS de espectro de frecuencias ---------\ngraf_dx = 0.14\nfig_espectro = plt.figure()\nfor i in range(0,x_conteo,1):\n    unespectro = x_espectro&#x5B;i]\n    freq = unespectro&#x5B;'freq']\n    ampl = unespectro&#x5B;'ampl']\n    etiqueta = unespectro&#x5B;'etiq']\n    ampl_max = float(max(ampl))\n    # grafica\n    graf_sub = x_conteo*100+10+i+1\n    graf_fasor = fig_espectro.add_subplot(graf_sub)\n    if freq_max_graf!=0:\n        graf_fasor.set_xlim(&#x5B;-freq_max_graf*(1+graf_dx),\n                             freq_max_graf*(1+graf_dx)])\n    else:\n        graf_fasor.set_xlim(&#x5B;-1,1])\n    graf_fasor.set_ylim(&#x5B;0,ampl_max*(1+graf_dx*2)])\n    graf_fasor.grid()\n    graf_fasor.axhline(0,color='black')\n    graf_fasor.axvline(0,linestyle='dotted',color='grey')\n    graf_fasor.stem(freq,ampl) # grafica magnitud\n    for k in range(0,len(freq),1): # etiquetas de fasor\n        plt.annotate(etiqueta&#x5B;k],xy=(freq&#x5B;k],ampl&#x5B;k]),\n                     xytext=(0,5),textcoords='offset points',\n                     ha='center')\n    graf_fasor.set_ylabel(x_etiqueta&#x5B;i])\n    if i == 0:\n        graf_fasor.set_title('Espectro: x_senales')\n    if i ==(x_conteo-1):\n        graf_fasor.set_xlabel('freq Hz')\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=\"#escala\">Escala o sumar 'c'<\/a><\/p>\n\n\n\n<p><a href=\"#desplazat\">desplaza t<\/a><\/p>\n\n\n\n<p><a href=\"#derivada\">derivada<\/a><\/p>\n\n\n\n<p><a href=\"#desplazaf\">desplaza_f<\/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<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Escala o sumar 'c' desplaza t derivada desplaza_f algoritmo gr\u00e1fica 1. Operaciones en dominio de tiempo y frecuencia Referencia: McClellan 3.3 p81 Uno de los beneficios de uso del espectro de frecuencias es que las operaciones sobre x(t) se muestran como resultados simples en la gr\u00e1fica de espectro. Estos cambios relacionados en el dominio de [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-dsp-unidades","format":"standard","meta":{"footnotes":""},"categories":[193],"tags":[],"class_list":["post-20576","post","type-post","status-publish","format-standard","hentry","category-dsp-unidades"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/20576","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=20576"}],"version-history":[{"count":11,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/20576\/revisions"}],"predecessor-version":[{"id":21458,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/20576\/revisions\/21458"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=20576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=20576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=20576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}