[go: up one dir, main page]

0% encontró este documento útil (0 votos)
18 vistas6 páginas

Enunciado Trabajo Práctico 1

Señales y sistemas

Cargado por

Juan Gorria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas6 páginas

Enunciado Trabajo Práctico 1

Señales y sistemas

Cargado por

Juan Gorria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Trabajo Práctico N°1

2do. Cuat 2024

Banco de pruebas para


Generación, Manipulación y
Graficación de Señales

SEÑALES Y SISTEMAS
Prof. Trina Adrián
Eugenio Massolo
INTRODUCCIÓN
Este trabajo práctico pretende afianzar y demostrar el conocimiento de la teoría vista. A su
vez, se enfatiza el uso de la programación dentro del ámbito del procesamiento de señales.
Se elige Python por su versatilidad y disponibilidad de librerías para diversas áreas del
conocimiento. Por otro lado, se espera que los estudiantes desarrollen y potencien
habilidades técnicas y habilidades blandas (autonomía, creatividad, trabajo en equipo, etc.)

OBJETIVOS
Objetivo general

Desarrollar un documento Notebook a través de la herramienta Jupyter, que incluya


descripción, scripts de Python y comentarios sobre los resultados obtenidos donde se
asocian a los temas vistos en las prácticas.

Objetivos Específicos

● Aprender las nociones básicas de Python y su uso en procesamiento de señales, así


como el ambiente de desarrollo Anaconda, su IDE (Spyder) y Jupyter Notebook

● Aplicar funciones para generar, manipular y graficar señales haciendo uso de las
buenas prácticas de programación incluyendo la Modularización de funciones.

● Presentar gráficos de buena apariencia con todas las descripciones necesarias para
su comprensión.

1
CONSIGNAS

Parte 1: Señales continuas:

Aunque dentro de la computadora todas las señales son discretas, al graficarlas las
distinguiremos. Debe usar la función generador suministrada. A la hora de graficar, para
algunos casos use la API de pyplot y para otros use la API basada en objetos. Tratar de utilizar
la mayor cantidad de argumentos.
a) Deben generar y graficar 2 señales continuas periódicas y 2 señales continuas no
periódicas.
Para esta consigna debe generar el vector tiempo correspondiente a un intervalo entre -
2s y 2s. Adopte una frecuencia de muestreo adecuada de acuerdo a las señales que vaya a
generar. Tanto para las señales periódicas como no periódicas, presente los gráficos deben
presentarse en las siguientes formas:
● Graficarlas juntas en un mismo gráfico.
● Graficarlas por separado usando subplots.
b) Calcular Potencia de todas las señales periódicas (su Energía es infinita).
c) Calcular Energía de todas las señales no periódicas (su Potencia es nula)

Parte 2: Señales discretas

1) Generar y graficar una señal discreta periódica par y una no periódica impar
asociadas a un vector n en el intervalo [-500,500]
2) Calcular Potencia de la señal periódica (su Energía es infinita).
3) Calcular Energía de la señal no periódicas (su Potencia es nula)
4) Multiplicar ambas señales, guardar en una señal ’resultado’. Graficar el resultado.
5) Descomponer la señal ’resultado’ en parte par e impar. Graficarlas juntas.

2
Parte 3: Desplazamiento y giro

1) Desarrollar un script que pregunte al usuario (input) si se debe desplazar/girar o no


una señal que recibirá como argumento de entrada, y cuánto tiempo en el caso del
desplazamiento.
2) La señal que recibirá como argumento el script anterior debe ser una exponencial
bilateral de corta duración que exista en el intervalo de tiempo -2s,2s. Esto le
permitirá desplazarla y girarla cómodamente en el intervalo de tiempo Mostrar
resultados gráficos (señal original y señal manipulada).

Parte 4: Sistemas

1) Crear diferentes funciones que verifiquen las propiedades de superposición y


homogeneidad, invariancia temporal y causalidad de dos sistemas definidos por
ustedes que estén descritos por una ecuación que relaciona la entrada x(t) con la
salida y(t). Por ejemplo: y(t) = x(t+2) +(t-1)*x(t). Uno de los sistemas debe ser lineal y
el otro no.
2) Debe elegir adecuadamente la o las señales de entrada que usará para verificar la
propiedad. Esto es especialmente importante porque la descripción de sus sistemas
puede incluir desplazamientos en tiempo y porque la prueba de IT los incluye. Use
señales no periódicas. En el caso de la linealidad, puede utilizar una señal x1 y la
misma multiplicada por una constante (kx1). Utilice en vector tiempo en el intervalo
[−2,2] con el muestreo que considere apropiado.

Ejemplo de función:

def linealidad(x1, x2, t):


“””
Esta función recibe 2 señales de entrada y determina si el sistema definido
por y(t) = x(t+2) +(t-1)*x(t) satisface las propiedades de superposición y la de homogeneidad
propia de sistemas lineales . Para esto debe probar que, para dos entradas x1, x2, la

3
respuesta a la combinación Ax1 + Bx2 (siendo A y B constantes) es igual a Ay1 + By2. El
resultado debe ser True o False
“””


return resultado
Nota: Debido al procesamiento de las señales y a la resolución de las mismas, si en
algún momento, para 2 señales z y w que teóricamente deberían ser iguales, si Ud.
pregunta si z == w muy probablemente eso no ocurrirá porque tendrá diferencias en
los decimales. Tome nota de esto.

Parte 5: Convolución

Realizar un script que calcule la convolución de dos señales usando las funciones
generador y convolución que se encuentren en la carpeta Módulos Propios que se le
suministró. Pruébelo y muestre los resultados gráficos adecuados

Parte 6: Filtraje

1) Realizar un script en el cual genere una señal conformada por 3 sinusoides


equiespaciadas en frecuencia.

2) Generar filtros que permitan rescatar cada una de las sinusoides por separado. Use
los 3 filtros del mismo tipo: Todos Butterworth, todos Cheby I o todos elípticos.

3) Se debe mostrar la magnitud y fase de la Respuesta en frecuencia de cada filtro, así


como el espectro de la señal de entrada y de salida usando los 3 filtros.

PRESENTACIÓN DEL TRABAJO


El trabajo práctico debe ser entregado en un archivo jupyter notebook (.ipynb). En caso de
requerir adjuntar otros archivos o carpetas junto al notebook, crear una carpeta principal y
comprimirla al momento de la entrega. Lo subirá a su Drive (no al del curso) y debe
4
compartirlo conmigo tadrian@untref.edu.ar y con Eugenio ugemassolo@gmail.com con
privilegio de edición
Se recomienda usar el siguiente formato en el notebook:

Tìtulo: Al comienzo del documento presente a su grupo e indique quiénes son sus
integrantes.

Introducción: Explique qué librerías serán utilizadas y haga una breve explicación de
para qué propósito se trabajará con cada una.

Pruebas: Genere un título por cada una de las 6 pruebas. Organice el contenido de
manera tal que las celdas con código se complementen con párrafos que expliquen su
desarrollo. Use como modelo a los documentos de las prácticas.

Referencias: Agregue referencias bibliográficas en caso de ser necesario, ya sean sitios


web, libros, etc.

Comentarios adicionales a considerar:

1) Se tomará en cuenta la completitud, pulcritud y correcto funcionamiento de cada


código. También se aprecia el uso intenso de los módulos.
2) Se tomará en cuenta la originalidad del trabajo. Incidirá en la calificación el parecido
del trabajo entre los grupos (señales y sistemas elegidos)
3) El día de la presentación se escogerá al azar 2 estudiantes. También se escogerá cuál
estudiante presentará los puntos (del 1 al 6).
4) Se escogerá al azar alguna zona del código a fin de que sea explicado en detalle su
funcionamiento.

Todos estos lineamientos pretenden asegurar que todos los integrantes del grupo estén
perfectamente capacitados para presentar el proyecto y explicar cada parte del mismo.

También podría gustarte