{"id":155,"date":"2017-02-08T09:30:17","date_gmt":"2017-02-08T14:30:17","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/fiec05058\/?p=155"},"modified":"2025-12-31T16:06:32","modified_gmt":"2025-12-31T21:06:32","slug":"senales-compuestas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u01\/senales-compuestas\/","title":{"rendered":"1.7 Se\u00f1ales Compuestas"},"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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/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=\"compuesta\">1. Se\u00f1al Compuesta<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi Ejercicio 1.8 p86, Oppenheim ejemplo 1.1 p10, Hsu problema 1.22 p35<\/p>\n\n\n\n<p>Una <em><strong>se\u00f1al compuesta<\/strong><\/em> que se construye con varias se\u00f1ales mas simples, que entre ellas se encuentran desplazadas, con cambios de escala en tiempo, etc. Para realizar la gr\u00e1fica de la se\u00f1al compuesta con Python se las escribe como la suma de las partes. Tambi\u00e9n es posible usar la forma por partes <code>piecewise()<\/code> o como un conjunto de instrucciones por bloques.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta02a.png\" alt=\"se\u00f1al compuesta 02a\" class=\"wp-image-18228\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Se\u00f1ales compuestas, gr\u00e1ficas con Python\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/0CwXbPJD_iM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>En Python es necesario seleccionar la forma m\u00e1s conveniente para definir cada se\u00f1al:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>en formato simplificado <code>lambda<\/code><\/li>\n\n\n\n<li>por bloques <code>def-return<\/code><\/li>\n<\/ul>\n\n\n\n<p>Por ejemplo Un <strong>escal\u00f3n<\/strong> es mas sencillo definir en formato Lamba. Sin embargo, una se\u00f1al con m\u00e1s partes se recomendar\u00eda realizarla por partes o bloques, definiendo su forma m\u00e1s b\u00e1sica para luego poder realizar cambios de escala o desplazamientos en el tiempo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>u = <span style=\"color: #d35400\">lambda<\/span> t: np.heaviside(t,1)<\/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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/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=\"ejemplo1\">2. Se\u00f1al Rampa y rect\u00e1ngulo<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Lathi Ejercicio 1.8 p86<\/p>\n\n\n\n<p>Demuestre que la se\u00f1al mostrada en la figura (en libro y al final) puede ser descrita como:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = (t-1)\\mu(t-1) - (t-2)\\mu(t-2) - \\mu(t-4) <\/span>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"415\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta01.png\" alt=\"se\u00f1al compuesta componentes gr\u00e1fica\" class=\"wp-image-18230\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"414\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta01a.png\" alt=\"se\u00f1al compuesta 01a\" class=\"wp-image-18231\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n\n<p>En el ejercicio se presenta que la se\u00f1al se compone de la \"suma\" de sus partes. Se aprovecha la propiedad de linealidad para los sistemas para el caso presentado<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales compuestas\nimport numpy as np\n \n# INGRESO\n# u = lambda t: np.piecewise(t, t&gt;=0, &#x5B;1,0])\nu = lambda t: np.heaviside(t,1)\n \n# se\u00f1al como suma de componentes\nx1 = lambda t: (t-1)*u(t-1)\nx2 = lambda t: -(t-2)*u(t-2)\nx3 = lambda t: - u(t-4)\n \nx = lambda t: x1(t) + x2(t) + x3(t)\n \na = -2  # intervalo de tiempo &#x5B;a,b)\nb = 8\ndt = 0.05\n \n# PROCEDIMIENTO\nti = np.arange(a, b, dt)\nxi = x(ti)\n \n# evalua componentes para grafica\nx1i = x1(ti)\nx2i = x2(ti)\nx3i = x3(ti)\n \n# SALIDA - gr\u00e1fico\nimport matplotlib.pyplot as plt\nplt.figure(1) # componentes\nplt.plot(ti, x1i, '--', label='(t-1)u(t-1)')\nplt.plot(ti, x2i, '--', label='- (t-2)u(t-2)' )\nplt.plot(ti, x3i, '--', label='- u(t-4)')\nplt.plot(ti, xi, label='x(t)')\nplt.legend()\nplt.ylabel('x(t) por partes')\nplt.xlabel('t')\nplt.grid()\n \nplt.figure(2) # se\u00f1al compuesta\nplt.plot(ti, xi, label='x(t)')\nplt.ylabel('x(t)')\nplt.xlabel('t')\nplt.grid()\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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/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=\"ejemplo2\">3. Rect\u00e1ngulo y rampa<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim ejemplo 1.1a p10<\/p>\n\n\n\n<p>Dada la se\u00f1al x(t) mostrada en la siguiente gr\u00e1fica, realizar x(t+1), ...<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta02.png\" alt=\"se\u00f1al compuesta 02\" class=\"wp-image-18232\" \/><\/figure>\n\n\n\n<p>Procedemos como en el ejercicio anterior, continuando con el uso de la funci\u00f3n escal\u00f3n \u03bc(t) .<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales modelo varias-ejercicio\nimport numpy as np\n\n# INGRESO\n# u = lambda t: np.piecewise(t, t&gt;=0, &#x5B;1,0])\nu = lambda t: np.heaviside(t,1)\n\n# se\u00f1al como suma de las partes\nx1 = lambda t: -(t-1)*u(t-1)\nx2 = lambda t: (t-2)*u(t-2)\n\nx = lambda t: u(t) + x1(t) + x2(t)\n\na = -2 # intervalo de tiempo &#x5B;a,b)\nb = 8\ndt = 0.05\n\n# PROCEDIMIENTO\nti = np.arange(a, b, dt)\nxi = x(ti)\n\n# evalua componentes para grafica\nx0i = u(ti)\nx1i = x1(ti)\nx2i = x2(ti)\n\n# SALIDA - gr\u00e1fico\nimport matplotlib.pyplot as plt\nplt.figure(1) # componentes\nplt.plot(ti,x0i, '--', label='u(t)')\nplt.plot(ti,x1i, '--', label='-(t-1)*u(t-1)')\nplt.plot(ti,x2i, '--', label='(t-2)*u(t-2)')\nplt.plot(ti,xi, label='x(t)')\nplt.legend()\nplt.ylabel('x(t) por partes')\nplt.xlabel('t')\nplt.grid()\n\nplt.figure(2) # se\u00f1al compuesta\nplt.plot(ti, xi, label='x(t)')\nplt.ylabel('x(t)')\nplt.xlabel('t')\nplt.grid()\n\nplt.show()\n<\/pre><\/div>\n\n\n<p>el resultado de la se\u00f1al compuesta se observa en la gr\u00e1fica<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta02a.png\" alt=\"se\u00f1al compuesta 02a\" class=\"wp-image-18228\" \/><\/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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/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=\"desplaza\">4. Se\u00f1al con desplazamiento y escala<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim ejemplo 1.1b p10<\/p>\n\n\n\n<p>Semejante al ejercicio anterior, realizar la gr\u00e1fica:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 2x(t+1) <\/span>\n\n\n\n<p>Para el ejercicio, se define el punto donde se <strong>desplaza<\/strong> la se\u00f1al, y la <strong>escala<\/strong> para la amplitud. Para observar los cambios se grafica el desplazamiento y luego el cambio de escala en magnitud.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# INGRESO \ndesplaza = -1\nescala = 2\n\nxd_i = x(ti-desplaza)\nyi = escala*x(ti-desplaza)\n\n# salida - gr\u00e1fico\nplt.figure(4)\nplt.plot(ti, xi, '--' , label='x(t)')\nplt.plot(ti, xd_i, '-.', label='x(t-desplaza)')\nplt.plot(ti, yi, label='escala*x(t-desplaza)')\nplt.xlabel('t')\nplt.legend()\nplt.grid()\n\nplt.show()\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"544\" height=\"414\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcompuesta03.png\" alt=\"se\u00f1al compuesta  gr\u00e1fica 03\" class=\"wp-image-18233\" \/><\/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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/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\">Tarea<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Oppenheim ejemplo 1.1a p10<\/p>\n\n\n\n<p>A partir de la se\u00f1a x(t) del ejercicio anterior, realice el ejercicio para obtener las gr\u00e1ficas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>x(-t+1)<\/li>\n\n\n\n<li>x(3t\/2)<\/li>\n\n\n\n<li>x(3t\/2 +1)<\/li>\n<\/ul>\n\n\n\n<p><strong>Referencia<\/strong>: Hsu problema 1.22 p35<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"184\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalCompuestaTarea01.png\" alt=\"se\u00f1al Compuesta Tarea01\" class=\"wp-image-18234\" \/><\/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>Se\u00f1al:<\/p>\n\n\n\n<p><a href=\"#compuesta\">Compuesta<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Rampa\/Rect\u00e1ngulo<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Rect\/Ramp<\/a><\/p>\n\n\n\n<p><a href=\"#desplaza\">desplaza<\/a> y escala<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Se\u00f1al: Compuesta Rampa\/Rect\u00e1ngulo Rect\/Ramp desplaza y escala 1. Se\u00f1al Compuesta Referencia: Lathi Ejercicio 1.8 p86, Oppenheim ejemplo 1.1 p10, Hsu problema 1.22 p35 Una se\u00f1al compuesta que se construye con varias se\u00f1ales mas simples, que entre ellas se encuentran desplazadas, con cambios de escala en tiempo, etc. Para realizar la gr\u00e1fica de la se\u00f1al compuesta [&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":[165],"tags":[],"class_list":["post-155","post","type-post","status-publish","format-standard","hentry","category-ss-u01"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/155","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=155"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":20664,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/155\/revisions\/20664"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}