{"id":25,"date":"2017-02-04T09:10:11","date_gmt":"2017-02-04T14:10:11","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/fiec05058\/?p=25"},"modified":"2026-01-01T06:52:51","modified_gmt":"2026-01-01T11:52:51","slug":"senales-analogicas-y-digitales","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u01\/senales-analogicas-y-digitales\/","title":{"rendered":"1.3 Se\u00f1ales Anal\u00f3gicas y Digitales"},"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=\"#analogicas\">anal\u00f3gicas<\/a><\/p>\n\n\n\n<p><a href=\"#digitales\">digitales<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi 1.3.2 p78, Hsu 1.2.B p2<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1050\" height=\"334\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalanalogdigital03.png\" alt=\"se\u00f1al anal\u00f3gica, se\u00f1al digital gr\u00e1ficas\" class=\"wp-image-18199\" \/><\/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=\"#analogicas\">anal\u00f3gicas<\/a><\/p>\n\n\n\n<p><a href=\"#digitales\">digitales<\/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=\"analogicas\">1. Se\u00f1ales Anal\u00f3gicas<\/h2>\n\n\n\n<p>Una se\u00f1al se clasifica como anal\u00f3gica cuando su amplitud puede tomar un infinito numero de valores en un rango cont\u00ednuo de tiempo.<\/p>\n\n\n\n<p>Por ejemplo, una se\u00f1al de sonido como la del archivo:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.dropbox.com\/s\/23vfom29ee7bxbd\/Alarm01.wav?dl=0\">Alarm01.wav<\/a><\/p>\n\n\n\n<p><strong>Nota<\/strong><em>: Descargue el archivo use un programa como windows media player para escuchar su contenido.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Instrucciones en Python<\/h3>\n\n\n\n<p>Para observar en una gr\u00e1fica la se\u00f1al del archivo de sonido anterior, a las librer\u00edas num\u00e9ricas y gr\u00e1ficas, se a\u00f1ade la librer\u00eda <a href=\"https:\/\/scipy.org\/\">SciPy<\/a> (scientific Python) que dispone de instrucciones para lecturas de archivos de audio en formato <code>.wav<\/code><\/p>\n\n\n\n<p>Nota: Si usa <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fprogramacion\/fp-recursos\/winpython-sincomplicaciones\/\" data-type=\"page\" data-id=\"7074\">WinPython<\/a> la librer\u00eda viene incluida, en otro caso se puede instalar con <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fprogramacion\/fp-recursos\/pip-instalar-librerias-python\/\" data-type=\"page\" data-id=\"7066\">PIP install<\/a> scipy en la l\u00ednea de comandos del sistema.<\/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 Anal\u00f3gicas y se\u00f1ales Digitales, gr\u00e1fica con Python\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/NBU_EB13iZ0?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 el algoritmo se define el nombre del archivo.wav a usar, y mediante la instrucci\u00f3n waves.read() se obtienen los datos de velocidad de <code>muestreo<\/code> y el arreglo de <code>sonido<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales anal\u00f3gicas\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.io.wavfile as waves\n\n# INGRESO\n# archivo = input('archivo de audio: ')\narchivo = 'Alarm01.wav'\nmuestreo, sonido = waves.read(archivo)\n\n# SALIDA - Observacion intermedia\nprint('frecuencia de muestreo: ', muestreo)\nprint('dimensiones de matriz: ', np.shape(sonido))\nprint('datos de sonido: ')\nprint(sonido)\n<\/pre><\/div>\n\n\n<p>el resultado del algoritmo muestra:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>frecuencia de muestreo:  22050\ndimensiones de matriz:  (122868, 2)\ndatos de sonido: \n&#091;&#091;0 0]\n &#091;0 0]\n &#091;0 0]\n ..., \n &#091;0 0]\n &#091;0 0]\n &#091;0 0]]<\/code><\/pre>\n\n\n\n<p>En caso de requerir revisar m\u00e1s detalles sobre audio.wav se pueden encontrar en el siguiente enlace.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u08\/archivos-wav-audio\/\" data-type=\"post\" data-id=\"10303\">Archivos de Audio.wav \u2013 Abrir, extraer una porci\u00f3n<\/a><\/p>\n\n\n\n<p>Con los resultados mostrados, se observa que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la se\u00f1al de audio tiene frecuencia de <strong>muestreo<\/strong> de 22050 Hz<\/li>\n\n\n\n<li>Las dimensiones de la matriz <strong>sonido<\/strong> (122868,<em><strong>2<\/strong><\/em>) indican que es de tipo est\u00e9reo por usar <strong><em>dos<\/em> <\/strong>columnas,<\/li>\n\n\n\n<li>el valor de 122868 corresponde a la cantidad de muestras por canal,<\/li>\n\n\n\n<li>Los \u00edndices para seleccionar un canal son 0 \u00f3 1 interpretado como canal izquierdo o derecho.<\/li>\n<\/ul>\n\n\n\n<p>Para observar la forma del <strong>sonido<\/strong> se extrae el canal 0 y solo un segmento o intervalo de tiempo [inicia,termina).<\/p>\n\n\n\n<p>Para observar otros segmentos la se\u00f1al de audio cambie los valores de&nbsp; [inicia,termina), a\u00f1adiendo las instrucciones siguientes:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; first-line: 15; title: ; notranslate\" title=\"\">\n# segmento de tiempo\ncanal  = 0\ninicia = 2600\ntermina = 2720\n\n# Extrae el segmento desde sonido\ndt = 1\/muestreo\nti  = np.arange(inicia*dt,termina*dt,dt)\nmuestras = len(ti)\nsegmento = sonido&#x5B;inicia:inicia+muestras, canal]\n\n#SALIDA\nplt.plot(ti,segmento)\nplt.xlabel('t segundos')\nplt.ylabel('sonido(t)')\nplt.show()\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"340\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalanalogdigital01.png\" alt=\"se\u00f1al anal\u00f3gica gr\u00e1fica \" class=\"wp-image-18201\" \/><\/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=\"#analogicas\">anal\u00f3gicas<\/a><\/p>\n\n\n\n<p><a href=\"#digitales\">digitales<\/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=\"digitales\">2. Se\u00f1ales Digitales<\/h2>\n\n\n\n<p>Una se\u00f1al se clasifica como digital cuando la amplitud&nbsp; puede tomar solo un n\u00famero finito de valores, para un n\u00famero finito de muestras en el tiempo.<\/p>\n\n\n\n<p>Siguiendo el ejemplo de la se\u00f1al de audio, las se\u00f1ales digitales se las asocia con computadoras. Para almacenar una se\u00f1al de audio, se la cuantifica en amplitud a espacios iguales de tiempo <code>dt<\/code>.<\/p>\n\n\n\n<p>Por ejemplo, datos del vector <strong>segmento<\/strong> del audio del ejercicio anterior muestran el caracter finito, discreto, por muestras de la se\u00f1al.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n# SALIDA - datos del segmento de audio\nprint(segmento)\n<\/pre><\/div>\n\n\n<pre class=\"wp-block-code\"><code>&#091;  -36   -52    11  -280  -595  -186   656   800   141\n  -237   -53  -246  -910  -739   569  1347   620  -288\n  -195   -57  -812 -1229   -37  1419  1183   -51  -348\n    47  -424 -1322  -778   955  1531   432  -363   -62\n  -123 -1062 -1189   306  1514   910  -172  -224   -57\n  -720 -1191  -164  1241  1134    75  -295  -144  -533\n -1035  -367   953  1144   262  -234  -202  -499  -931\n  -423   781  1095   344  -152  -174  -491  -916  -440\n   739  1088   353  -149  -158  -467  -901  -472   693\n  1116   405  -164  -172  -434  -906  -558   608  1139\n   478  -159  -181  -370  -870  -655   494  1151   565\n  -130  -180  -307  -812  -735   358  1149   666   -95\n  -213  -291  -785  -824   214  1143   784   -31  -217\n  -249  -727  -888    54]<\/code><\/pre>\n\n\n\n<p>los datos del segmento de audio, muestran que la se\u00f1al de audio se almacena como una se\u00f1al discreta, o digital, por lo que una gr\u00e1fica m\u00e1s apropiada es:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; first-line: 32; title: ; notranslate\" title=\"\">\n# grafica segmento de sonido en forma discreta\nni = np.arange(inicia,inicia+muestras,1)\nplt.stem(ni,segmento)\nplt.xlabel('n')\nplt.ylabel('segmento sonido&#x5B;n]')\nplt.show()\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"332\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/02\/senalanalogdigital02.png\" alt=\"se\u00f1al digital muestreo gr\u00e1fica\" class=\"wp-image-18202\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Observaciones<\/h3>\n\n\n\n<p>Los t\u00e9rminos \"cont\u00ednuo en el tiempo\" y \"discreto en el tiempo\" cuantifican la naturaleza de la se\u00f1al solo en el eje de las abscisas (horizontal).<\/p>\n\n\n\n<p>Los t\u00e9rminos \"anal\u00f3gicos\" y \"digitales\" cuantifican la amplitud de la se\u00f1al o eje de las ordenadas (vertical).<\/p>\n\n\n\n<p>Una se\u00f1al de audio, por su naturaleza es de tipo anal\u00f3gica, que para almacenarla o procesarla en un computador se convierte a digital al cuantificar sus valores de amplitud, de la forma mostrada en el ejercicio.<\/p>\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<ul class=\"wp-block-list\">\n<li>cambie los rangos de observaci\u00f3n de la se\u00f1al de audio y repita las gr\u00e1ficas para su forma anal\u00f3gica aproximada (parte 1) y para su forma digital (parte 2)<\/li>\n\n\n\n<li>comente sobre el segmento al inicio y final de todo el audio donde los valores de la se\u00f1al son 0's<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algoritmo\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Se\u00f1ales anal\u00f3gicas\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.io.wavfile as waves\n\n# INGRESO\narchivo = 'Alarm01.wav'\n\n# segmento de tiempo\ncanal   = 0\ninicia  = 2600\ntermina = 2720\n\n# PROCEDIMIENTO\nmuestreo, sonido = waves.read(archivo)\n\n# Extraer el segmento de sonido\ndt = 1\/muestreo\nti = np.arange(inicia*dt, termina*dt , dt)\nmuestras = len(ti)\nsegmento = sonido&#x5B;inicia: inicia+muestras,canal]\n\n# SALIDA\nprint('frecuencia de muestreo:', muestreo)\nprint('dimensiones de sonido: ',np.shape(sonido))\nprint('datos del sonido:')\nprint(sonido)\n\nprint('segmento:')\nprint(segmento)\n\n# Grafica\nplt.stem(ti,segmento)\nplt.xlabel('t segundos')\nplt.ylabel('sonido(t)')\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=\"#analogicas\">anal\u00f3gicas<\/a><\/p>\n\n\n\n<p><a href=\"#digitales\">digitales<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>anal\u00f3gicas digitales Referencia: Lathi 1.3.2 p78, Hsu 1.2.B p2 anal\u00f3gicas digitales 1. Se\u00f1ales Anal\u00f3gicas Una se\u00f1al se clasifica como anal\u00f3gica cuando su amplitud puede tomar un infinito numero de valores en un rango cont\u00ednuo de tiempo. Por ejemplo, una se\u00f1al de sonido como la del archivo: Alarm01.wav Nota: Descargue el archivo use un programa como [&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-25","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\/25","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=25"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":20675,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/25\/revisions\/20675"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}