{"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":"2026-09-22T18:05:24","modified_gmt":"2026-09-22T23:05:24","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<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image 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<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\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<\/div>\n<\/div>\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<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image 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<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image 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<\/div>\n<\/div>\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 alignwide\"><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\n\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)')\n\n# entorno de gr\u00e1fica\nplt.legend()\nplt.ylabel('x(t) por partes')\nplt.xlabel('t')\nplt.grid()\nplt.tight_layout()\n \nplt.figure(2) # se\u00f1al compuesta\n\nplt.plot(ti, xi, label='x(t)')\n\n# entorno de gr\u00e1fica\nplt.ylabel('x(t)')\nplt.xlabel('t')\nplt.grid()\nplt.tight_layout()\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<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image 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<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\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<p>Procedemos como en el ejercicio anterior, continuando con el uso de la funci\u00f3n escal\u00f3n \u03bc(t) .<\/p>\n<\/div>\n<\/div>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><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\n\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)')\n\n# entorno de grafica\nplt.legend()\nplt.ylabel('x(t) por partes')\nplt.xlabel('t')\nplt.grid()\nplt.tight_layout()\n\nplt.figure(2) # se\u00f1al compuesta\nplt.plot(ti, xi, label='x(t)')\n\n# entorno de grafica\nplt.ylabel('x(t)')\nplt.xlabel('t')\nplt.grid()\nplt.tight_layout()\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<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image 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<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\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 realiza la gr\u00e1fica del desplazamiento y luego el cambio de escala en magnitud.<\/p>\n<\/div>\n<\/div>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><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)\n\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)')\n\n# entorno de gr\u00e1fica\nplt.xlabel('t')\nplt.legend()\nplt.grid()\nplt.tight_layout()\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\">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":8,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":25962,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/155\/revisions\/25962"}],"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}]}}