0% encontró este documento útil (0 votos)
152 vistas

Lab0 Introduccion Python

Este documento presenta una introducción a Python para el Laboratorio 0 de Tratamiento de Señales I. Explica la instalación de Anaconda y Jupyter Notebook, y proporciona una guía sobre el manejo básico de Python, incluyendo variables, funciones, librerías, arreglos, matrices y el manejo de señales. El objetivo es familiarizar a los estudiantes con Python, una herramienta útil para simular procesamiento de señales.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
152 vistas

Lab0 Introduccion Python

Este documento presenta una introducción a Python para el Laboratorio 0 de Tratamiento de Señales I. Explica la instalación de Anaconda y Jupyter Notebook, y proporciona una guía sobre el manejo básico de Python, incluyendo variables, funciones, librerías, arreglos, matrices y el manejo de señales. El objetivo es familiarizar a los estudiantes con Python, una herramienta útil para simular procesamiento de señales.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Laboratorio 0: Introducción a Python

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
TRATAMIENTO DE SEÑALES I
LABORATORIO 0
INTRODUCCIÓN A PYTHON

Justificación
Python es una potente herramienta de cálculo numérico muy usada en ingeniería,
especialmente en telecomunicaciones, para simular el procesamiento de las señales,
aprovechando su facilidad y versatilidad, convirtiéndola en una herramienta indispensable
en el curso.

Objetivos
● Conocer las principales características de programación de Python, los comandos y
funciones más comunes.
● Conocer la creación y uso de las funciones en el script de Python, al igual que su
utilidad para verificar el funcionamiento de los algoritmos desarrollados.
● Mostrar diferentes herramientas de programación de Python para resolver
problemas planteados, que serán útiles para desarrollar algunas guías de laboratorio
de Tratamiento de Señales 1.

Teoría
Python es un lenguaje de programación fácil de aprender y poderoso. Tiene eficientes
estructuras de datos de alto nivel y un enfoque simple pero efectivo para la programación
orientada a objetos. La elegante sintaxis y la dinámica de la escritura de Python, junto con
su naturaleza interpretada, lo convierten en un lenguaje ideal para la elaboración de scripts
y el rápido desarrollo de aplicaciones en muchas áreas en la mayoría de las plataformas. El
intérprete de Python se amplía fácilmente con nuevas funciones y tipos de datos
implementados en C o C++ (u otros lenguajes que se pueden llamar desde C). Python
también es adecuado como lenguaje de extensión para aplicaciones personalizadas. Las
principales características de Python son:

● Manejo eficiente de funciones matemáticas.


● Construcción de figuras de diferentes formatos (por ejemplo gráficas 3D con
contorno), con una herramienta de edición completa.
● Uso de diferentes Toolbox o caja de herramienta para aplicaciones específicas o
especializadas (e.g. diseño de filtros, comunicaciones, procesamiento de señales,
redes neuronales, lógica difusa, etc.)
● Integración amigable con otros lenguajes de programación (por ejemplo C, C++ y
Excel).
● Los datos pueden ser almacenados en diferentes formatos (por ejemplo numeric,
string, cell, double, int o entero, entre otros).
● Los datos se pueden manejar de forma vectorial, matricial, en listas y en
diccionarios.
Laboratorio 0: Introducción a Python

Instalación de Anaconda
1. Descargar Anaconda para Python 3.7 del siguiente enlace:
https://www.anaconda.com/products/individual

2. Si su sistema operativo es Linux:


a. Abra la carpeta donde descargó el instalador y dé click derecho en un espacio en blanco,
seleccione Abrir en Terminal (o abra una terminal y con el comando cd vaya a la carpeta).

b. Instale Anaconda con el siguiente comando: bash Anaconda….


La licencia se lee oprimiendo Espacio hasta que se pida escribir “yes". Procure instalarlo en
una ubicación que no tenga tildes o caracteres extraños en su ruta.

c. Al final de la instalación el programa pregunta algo más, indique sí con una “y" y presione
Enter.

d. Para abrir el editor que se usará en el Laboratorio, cierre la Terminal y abra una nueva,
ejecute el siguiente comando: jupyter-notebook

e. En la pestaña que se abre, dar click en new, y después en la opción Python3, debe
observar algo similar a la imagen de la Figura 1:

Figura 1. Entorno de Jupyter Notebook, el cual se usará en el Laboratorio.

3. Si su sistema operativo es Windows:


a. Abra la carpeta donde descargó el instalador y dé click en ejecutar. Dar en next, después
de esto aceptar el acuerdo de licencia, elegir si instalará para el usuario actual o para todos
los usuarios y finalmente elegir la ubicación donde quedará guardado Anaconda, procure
elegir una ubicación que no tenga tildes o caracteres extraños en su ruta.

b. Para abrir el editor que se usará en el Laboratorio, desplazarse al buscador en Windows


(parte inferior izquierda), escribir Jupyter Notebook y abrir esta aplicación.

c. En la pestaña que se abre, dar click en new, y después en la opción Python3, debe
observar algo similar a la imagen de la Figura 1.

4. Si desea trabajar en Google Colab, el cual es una herramienta que te permite ejecutar y
programar en Python en tu navegador, no requiere configuración, cuenta con acceso
gratuito a GPUs y permite compartir fácilmente los archivos que crees con otras personas:
Laboratorio 0: Introducción a Python

a. Ingresar a https://colab.research.google.com/notebooks/intro.ipynb o escribir Google


Colab en el navegador y entrar a la primera opción.

b. Iniciar sesión con una cuenta de Google, preferiblemente con el correo de la Universidad.

c. En la parte superior izquierda verá la opción Archivo, dar click ahí y después en la opción
Nuevo cuaderno. Veras algo similar a la Imagen de la Figura 2:

Figura 2. Entorno de Jupyter Notebook en Google Colab.

d. Todos los archivos que crees en Google Colab, quedan guardados en tu Drive en una
carpeta llamada Colab Notebooks, donde podrás descargarlos posteriormente. Muy
importante contar con conexión a Internet para poder trabajar en Google Colab y que
los cambios sean guardados.

Manejo del Notebook


Los notebooks de Jupyter serán los informes que se entregarán de cada práctica de
laboratorio. Tener en cuenta las siguientes consideraciones: Existen diferentes tipos de
celdas. Las más comunes son:
Code: En estas se escribe el código que se va a ejecutar
Markdown: En estas se puede escribir texto, conclusiones, explicaciones, al igual que
poner imágenes y links. En la Figura 3 se observa un ejemplo de una celda tipo Markdown.

Figura 3. Ejemplo de una celda tipo Markdown en Jupyter Notebook.


Laboratorio 0: Introducción a Python

Comandos básicos de Python

1. Variables
Python es un lenguaje tipado de manera dinámica, es decir, que la misma variable puede
tomar diferentes tipos (entero, flotante, caracteres, etc.) en el mismo programa. A
continuación se muestra un ejemplo del manejo de algunas variables.

Para mostrar información se pueden imprimir directamente las variables o se puede utilizar
la función format.

Los arreglos sirven para guardar datos del mismo tipo, es decir, todos sus elementos deben
ser enteros, cadenas de caracteres, etc.

Las listas permiten guardar diferentes tipos de datos bajo el mismo nombre.
Laboratorio 0: Introducción a Python

Un diccionario permite almacenar datos como un conjunto de clave y valor sin orden.

2. Instrucciones de control
Las principales instrucciones en Python son:
- if: Ejecutar ciertas líneas de código si se cumple una condición.
- for: Ciclos con un número específico de iteraciones.
- while: Ciclo para repetir código hasta cumplir una condición (número NO específico
de iteraciones).
Python no ofrece otras instrucciones como switch o el ciclo do-while.

Python distingue entre ciclos for y ciclos while, definiéndolos según el “libro”. Es decir, los
ciclos for son para un número conocido de iteraciones, mientras que los ciclos while se
utilizan cuando no se conoce de antemano el número de iteraciones, sino que se itera hasta
cumplir cierta condición. Los ciclos for en Python siempre se hacen sobre secuencias
almacenadas en arreglos o listas, como se muestra en los siguientes ejemplos:
Laboratorio 0: Introducción a Python

Los ciclos while se repiten hasta que se cumple una condición.

3. Funciones
Como en todos los lenguajes de programación, en Python, el programador puede definir sus
propias funciones. Estas se declaran con la palabra def + el nombre de la función, y se
definen de la siguiente forma:

4. Librerías propias
Si tenemos alguna función que queremos utilizar en varios programas podemos aprovechar
el uso de librerías para evitar tener que copiar y pegar en varios códigos. Definamos dentro
de un archivo llamado MiLibreria.py las siguientes dos funciones:

Ahora, en un archivo .py o en un notebook (archivo .ipynb) que se encuentre en la misma


carpeta donde creamos el archivo MiLibreria.py, podemos utilizar estas funciones de la
siguiente manera:

5. Arreglos y matrices

Algunos de las formas de definir arreglos y matrices son las siguientes:


Laboratorio 0: Introducción a Python

6. Manejo de señales
a. El siguiente ejemplo genera una señal sinusoidal con una frecuencia de , una duración de
segundos y una frecuencia de muestreo de

Ejercicio: ¿Cómo se ve la figura? Cambie la frecuencia de muestreo de la señal por ,


y ejecute nuevamente el script, ¿Qué cambios se observan?

b. También se pueden cargar señales de distintas fuentes de información, por ejemplo


archivos de Excel. Ver el siguiente ejemplo que analiza la tasa de desempleo en Colombia
desde 2002 hasta 2017.
Laboratorio 0: Introducción a Python

Puede ver información adicional aquí:


https://github.com/neuraldevs/ML-ND-CD/blob/master/Regression/Regression.ipynb

c. Se pueden cargar también señales de audio, tal como en el siguiente ejemplo. Primero
Descargue la señal de audio de su preferencia del siguiente enlace, cópiela a la misma
carpeta del Notebook y renómbrela como senal.wav.

https://ccrma.stanford.edu/~jos/pasp/Sound_Examples.html (en formato *.wav)

Procedimiento
1. Crear una función con tres argumentos de salida y dos argumentos de entrada,
donde las entradas están dadas por:

Las salidas están dadas por:


,M= ,

Ayuda: Consulte como usar la función arange y linspace de la librería numpy para
crear vectores en Python.

2. Cree una función que reciba como argumento una matriz 3x3 generada
aleatoriamente. La salida de dicha función deberá retornar lo siguiente:

a. La transpuesta de la matriz multiplicada por su inversa.


b. La raíz cuadrada del determinante de la matriz.
c. La sumatoria de cada columna.
Laboratorio 0: Introducción a Python

3. Generar una figura de superficie y una figura de contorno en 3D, de la siguiente


ecuación:

Donde , son vectores que van desde -4 hasta 4 con un tamaño de paso de 0.1.

Ayuda: Consulte como usar la función Axes3D de la librería mpl_toolkits.mplot3d

4. Cree una función que reciba el periodo de una señal y retorne un tren de pulsos con
un ciclo de dureza del 50%. Grafique la función obtenida entre 0 y 10s. ¿El resultado
es como esperaba?

5. Repita lo anterior para una señal diente de sierra de pendiente . Tenga en


cuenta que la función diente de cierra es creciente durante todo el periodo (en este
caso no aplica el ciclo de dureza)

6. Consulte cómo usar las funciones square y sawtooth de la librería scipy. Compare
los resultados de los numerales 4 y 5 con el resultado de usar dichas funciones.

7. Cree un vector aleatorio de “1s” y “0s” con 1000 elementos. Agregue un ruido con
una desviación estándar de 0.1. Grafique el histograma del resultado.

 ¿Qué distribución de probabilidad siguen los datos?


 Si el resultado obtenido representa la recepción información binaria ¿Cuál
sería el umbral de decisión que garantice una menor tasa de error de bit?

NOTA: Las figuras deben contener los nombres de los ejes, título y leyenda si
es necesario. Todos los números y texto deben tener un tamaño de 20 pt. Use
el comando subplot de la librería matplotlib.pyplot para mostrar ambas
graficas en una misma figura.

Entregables
● Informe en el Jupyter Notebook (archivo .ipynb) que contiene el código (solución a lo
pedido), respuesta a las preguntas y las conclusiones del laboratorio.

Bibliografía
➢ https://github.com/kuleshov/cs228-material/blob/master/tutorials/python/cs228-
python-tutorial.ipynb

También podría gustarte