{"id":17795,"date":"2017-02-02T09:00:05","date_gmt":"2017-02-02T14:00:05","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/fiec05058\/?p=6"},"modified":"2026-09-22T16:26:14","modified_gmt":"2026-09-22T21:26:14","slug":"senales-continuas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u01\/senales-continuas\/","title":{"rendered":"1.1 Se\u00f1ales Cont\u00ednuas con 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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\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=\"580\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcontinua01.png\" alt=\"se\u00f1al cont\u00ednua gr\u00e1fica\" class=\"wp-image-18193\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" id=\"ejercicio\">1. Ejercicio<\/h2>\n\n\n\n<p><strong><em>Referencia<\/em><\/strong>: Oppenheim 1.1 p1 pdf32, Lathi 1.3.1 p78, Hsu 1.2.A p1<\/p>\n\n\n\n<p>Un ejemplo cl\u00e1sico de una se\u00f1al cont\u00ednua es una de forma sinusoidal.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\sin (\\omega t) <\/span>\n\n\n\n<p>La funci\u00f3n de la se\u00f1al en el tiempo se define en el intervalo <strong>[<\/strong>t<sub>0<\/sub>, t<sub>n<\/sub><strong>)<\/strong> para <strong>n<\/strong> tramos y una frecuencia angular <strong>\u03c9<\/strong> en radianes\/segundo. <\/p>\n\n\n\n<p>Recordar que <strong>\u03c9<\/strong> = 2\u03c0<strong>f<\/strong>, siendo <strong>f<\/strong> la frecuencia en Hz o unidades de 1\/s, por si requiere hacer la conversi\u00f3n de frecuencias.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>Para facilitar la tarea, en Python se usan las librer\u00edas para el manejo de vectores y gr\u00e1ficas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>vectores - Numpy<\/li>\n\n\n\n<li>gr\u00e1ficas - Matplotlib.pyplot<\/li>\n<\/ul>\n\n\n\n<p>Un resumen de <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-u08\/graficas-2d-linea\/\" data-type=\"post\" data-id=\"7956\">gr\u00e1ficas en 2D de l\u00ednea<\/a> se presenta tambi\u00e9n en el curso de fundamentos de programaci\u00f3n<\/p>\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 Cont\u00ednuas y se\u00f1ales Discretas, gr\u00e1ficas con Python\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/mpaQe9HSWQc?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<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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/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=\"inicio\">2. Inicio e Ingreso de par\u00e1metros<\/h2>\n\n\n\n<p>En el bloque de INICIO se a\u00f1aden las librer\u00edas Numpy y Matplotlib. Luego se definen los par\u00e1metros de la se\u00f1al a usar y se describe la se\u00f1al con la expresi\u00f3n matem\u00e1tica en su forma simplificada lambda.<\/p>\n\n\n\n<p>Se a\u00f1ade el intervalo de observaci\u00f3n y el n\u00famero de muestras para la gr\u00e1fica.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales continuas\nimport numpy as np\n\n# INGRESO\nw  = 1\nfx = lambda t: np.sin(w*t)\n\nt0 = 0   # intervalo &#x5B;t0,tn]\ntn = 2*np.pi\nmuestras = 51\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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/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=\"procedimiento\">3. Procedimiento - calcular valores<\/h2>\n\n\n\n<p>Para la gr\u00e1fica, las muestras de tiempo <strong>t<\/strong> se almacenan en un vector de tama\u00f1o <strong>n<\/strong>. Entre cada valor de <strong>t<\/strong> existe una diferencia <strong>dt<\/strong> determinada por <strong>n<\/strong>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; first-line: 11; title: ; notranslate\" title=\"\">\n# PROCEDIMIENTO\n# vector de tiempo\nti = np.linspace(t0,tn,muestras)\n\n# se\u00f1al\nsenal = fx(ti)\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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/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=\"salida\">4. Salida - valores y gr\u00e1fica<\/h2>\n\n\n\n<p>El resultado puede ser observado de dos formas:<br>- mostrando sus valores o<br>- sus gr\u00e1ficas.<\/p>\n\n\n\n<p>Se presentan las dos opciones a escoger.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; first-line: 19; highlight: [20]; title: ; notranslate\" title=\"\">\n# SALIDA\nnp.set_printoptions(precision = 4)\nprint('tiempo: ')\nprint(ti)\nprint('se\u00f1al: x(t) ')\nprint(senal)\n<\/pre><\/div>\n\n\n<pre class=\"wp-block-code\"><code>tiempo: \n&#091;0.     0.1257 0.2513 0.377  0.5027 0.6283 0.754 \n 0.8796 1.0053 1.131  1.2566 1.3823 1.508  1.6336\n 1.7593 1.885  2.0106 2.1363 2.2619 2.3876 2.5133\n 2.6389 2.7646 2.8903 3.0159 3.1416 3.2673 3.3929\n 3.5186 3.6442 3.7699 3.8956 4.0212 4.1469 4.2726\n 4.3982 4.5239 4.6496 4.7752 4.9009 5.0265 5.1522\n 5.2779 5.4035 5.5292 5.6549 5.7805 5.9062 6.0319\n 6.1575]\nse\u00f1al: x(t) \n&#091; 0.0000e+00  1.2533e-01  2.4869e-01  3.6812e-01\n  4.8175e-01  5.8779e-01  6.8455e-01  7.7051e-01\n  8.4433e-01  9.0483e-01  9.5106e-01  9.8229e-01\n  9.9803e-01  9.9803e-01  9.8229e-01  9.5106e-01\n  9.0483e-01  8.4433e-01  7.7051e-01  6.8455e-01\n  5.8779e-01  4.8175e-01  3.6812e-01  2.4869e-01\n  1.2533e-01 -3.2162e-16 -1.2533e-01 -2.4869e-01\n -3.6812e-01 -4.8175e-01 -5.8779e-01 -6.8455e-01\n -7.7051e-01 -8.4433e-01 -9.0483e-01 -9.5106e-01\n -9.8229e-01 -9.9803e-01 -9.9803e-01 -9.8229e-01\n -9.5106e-01 -9.0483e-01 -8.4433e-01 -7.7051e-01\n -6.8455e-01 -5.8779e-01 -4.8175e-01 -3.6812e-01\n -2.4869e-01 -1.2533e-01]<\/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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/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\">5. Gr\u00e1fica con Python<\/h2>\n\n\n\n<p>Para observar el resultado de la se\u00f1al, se realiza la gr\u00e1fica <strong>t<\/strong> vs <strong>se\u00f1al<\/strong>. Para mejor identificaci\u00f3n de ejes, se a\u00f1ade las etiquetas y las l\u00edneas de referencia.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; first-line: 26; title: ; notranslate\" title=\"\">\n# GRAFICA\nimport matplotlib.pyplot as plt\ntitulo = 'Se\u00f1al Cont\u00ednua'\n\nplt.plot(ti,senal)\n\n# entorno de gr\u00e1fica\nplt.axhline(0, color='gray')\nplt.axvline(0, color='gray')\nplt.xlabel('t')\nplt.ylabel('se\u00f1al x(t)')\nplt.title(titulo)\nplt.grid()\nplt.tight_layout()\n\nplt.show()\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"416\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalcontinua01.png\" alt=\"se\u00f1al cont\u00ednua gr\u00e1fica\" class=\"wp-image-18193\" \/><\/figure>\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>Para \u00e9sta secci\u00f3n, se cambiar\u00e1n los par\u00e1metros de tiempo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>tn=8\u03c0<\/li>\n\n\n\n<li>\u03c9=2<\/li>\n\n\n\n<li>cambiar la funci\u00f3n a <code>np.cos()<\/code><\/li>\n\n\n\n<li>\u00bfse puede cambiar la amplitud de la se\u00f1al a 4?<\/li>\n<\/ul>\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=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/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=\"algoritmo\">6. Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales continuas\nimport numpy as np\n\n# INGRESO\nw  = 1\nfx = lambda t: np.sin(w*t)\n\nt0 = 0   # intervalo &#x5B;t0,tn]\ntn = 2*np.pi\nmuestras = 51\n\n# PROCEDIMIENTO\n# vector de tiempo\nti = np.linspace(t0,tn,muestras)\n\n# se\u00f1al\nsenal = fx(ti)\n\n# SALIDA\nnp.set_printoptions(precision = 4)\nprint('tiempo: ')\nprint(ti)\nprint('se\u00f1al: x(t) ')\nprint(senal)\n\n# GRAFICA\nimport matplotlib.pyplot as plt\ntitulo = 'Se\u00f1al Cont\u00ednua'\n\nplt.plot(ti,senal)\n\n# entorno de gr\u00e1fica\nplt.axhline(0, color='gray')\nplt.axvline(0, color='gray')\nplt.xlabel('t')\nplt.ylabel('se\u00f1al x(t)')\nplt.title(titulo)\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><a href=\"#ejercicio\">Ejercicio<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio\/Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">Gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">Algoritmo<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio Inicio\/Ingreso Procedimiento Salida Gr\u00e1fica Algoritmo 1. Ejercicio Referencia: Oppenheim 1.1 p1 pdf32, Lathi 1.3.1 p78, Hsu 1.2.A p1 Un ejemplo cl\u00e1sico de una se\u00f1al cont\u00ednua es una de forma sinusoidal. La funci\u00f3n de la se\u00f1al en el tiempo se define en el intervalo [t0, tn) para n tramos y una frecuencia angular \u03c9 en [&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-17795","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\/17795","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=17795"}],"version-history":[{"count":14,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17795\/revisions"}],"predecessor-version":[{"id":25948,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/17795\/revisions\/25948"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=17795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=17795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=17795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}