Está en la página 1de 2

Práctica 1

Andrés Martı́nez Calderón

Enero de 2019

1. La convolución de una señal discreta en el tiempo, x, con una función impulso-respuesta, h, es

k=+∞
X
y[n] = h[n] ∗ x[n] = x[k]h[n − k] (1)
k=−∞

Se pide tres maneras de calcularla


(a) La primera consiste en obtener para cada valor de la señal de entrada, la salida del sistema
como el impulso-respuesta pesado por el valor de la señal en ese instante
y[n] = ... + x[−1]h[n + 1] + x[0]h[n] + x[1]h[n − 1] + ... (2)
(b) El segundo método consiste en considerar que para cada valor del ı́ndice temporal n, la señal de
salida y [n] se puede obtener multiplicando la señal de entrada sin transformar por la función
de impulso-respuesta revertida en el tiempo y desplazada n incrementos sumando todos los
valores resultantes, es decir

k=+∞
X
y[−1] = x[k]h[−1 − k]
k=−∞

k=+∞
X
y[0] = x[k]h[0 − k]
k=−∞

k=+∞
X
y[1] = x[k]h[1 − k]
k=−∞

(c) El tercer método consiste en utilizar la función conv de NumPy


Escribir un código para probar los tres métodos con la señal y la función impulso-respuesta:
x = [21 − 1]
h = [1210121]
2. Utilizando la estrategia
R ∞del método 2, encontrar y representar la función analı́tica que representa
la convolución y(t) = −∞ x(τ )h(t?τ )dτ de la señal x(t) con la función impulso respuesta h(t) que
aparece en la imagen.

1 Ejercicio 1

1.1 Apartado a

Para realizar este apartado hacemos dos bucles con los que, para cada entrada (n) de la función y[n] de
salida (que tendrá 9 entradas), vamos sumando todos los valores de x[k]*h[n-k] que sean distintos de 0
(x[0],x[1], x[2], y h[0],h[1],...h[7]).

1
1.2 Apartado b

En este apartado, definimos las funciones que nos dice el enunciado y con ayuda de ellas, hacemos un
bucle que nos permite calcular cada entrada de la función y[n]

1.3 Apartado c

En este caso únicamente hay que usar el comando ”np.convolve(x[n],h[n])”, y obtenemos directamente el
resultado.
Como podemos ver al ejecutar el programa (imprime los tres resultados), con las tres formas se obtiene
la misma función y[n].

2 Ejercicio 2
Lo primero que hemos de hacer es escribir las funciones x , h. Para ello hay que escribir el valor de cada
función en los intervalos en las que se dividen. A continuación, se divide el dominio de la función en n
puntos (interesa un número no demasiado pequeño para que al representar la función de convolución no
parezca una función a trozos), y se asigna a cada x[n] (o h[n] si se considera la segunda función)el valor
que le corresponde. De esta forma, hemos pasado de dos funciones continuas a dos funciones discretas
como las empleadas en el ejercicio anterior, por lo que podemos obtener su convolución usando los mismo
métodos.
Ası́, una vez dividida las funciones, usamos el mismo código que en el apartado b del ejercicio anterior
cambiando simplemente los lı́mites de los bucles.
Si ahora representamos la función y(t), obtenemos:

También podría gustarte