Está en la página 1de 3

Escuela Superior Polit

ecnica de Chimborazo
Procesamiento Digital de Se
nales
Kenneth S. Palacio Baus
palacio@ieee.org
Agosto 15, 2015
Practica 1: Sistemas Discretos

Objetivos:
Implementar el algoritmo de la convolucion e utilizarlo para realizar procesamiento
de se
nales de audio.
Recursos: Como base de esta tarea, utilizaremos Matlab y el libro:
[1] Steven W. Smith, The Scientist and Engineers Guide to Digital Signal Processing,
www.dspguide.com, 1997-2013.
Adem
as utilizaremos un grupo de secuencias de sonido correspondientes a respuestas
al impulso de diferentes entornos ac
usticos disponibles libremente en:
http://www.voxengo.com/impulses/.
Considere las siguientes sugerencias:
1. Revisar el captulo 6 del libro de la referencia [1]. Encontrara mucha ayuda e informacion u
til para esta tarea referente a la convolucion, incluyendo pseudocodigo.
2. Al resolver los ejercicios, incluya cada uno de los pasos que intervienen en la resolucion,
as como tambien cualquier explicacion adicional que crea pertinente incluir en las
soluciones que propone.
3. No se otorgar
an puntos por escribir u
nicamente la respuesta del problema o por graficar
la salida del sistema: Usted debe incluir un explicacion de cada uno de los sistemas que
implementa, sus observaciones y criterios al respecto.

1.

n.
Convolucio

Implemente en Matlab el algoritmo de la convolucion en tiempo discreto. Puede tomar como


referencia el captulo 6 de la referencia [1].
Reporte: Deber
a incluir una breve explicacion de la implementacion de su codigo.

1.1.

n de Secuencias Ba
sicas.
Convolucio

Para comprobar el funcionamiento de su algoritmo, cree una funcion de Matlab llamada


myConv.m que recibir
a como argumentos dos vectores, (x[n] y h[n] por ejemplo) entre los
cuales se realizar
a la convoluci
on.
Ejecute el siguiente c
odigo en la consola de Matlab para realizar la convolucion de dos de
secuencias elementales:
>> x= [ 3 1 2 -1 ]
x =
3
1
2
>> h= [ 3 2 1 ]
h =
3
2
>> conv(x,h)
ans =
9
9

-1

11

-1

Usted deber
a obtener los mismos resultados utilizando la funcion myConv que implemento:
>> myConv(x,h)
ans =
9
9

11

-1

Imprima el c
odigo fuente de la funci
on myConv.m.

1.2.

Procesamiento de Audio.

En el laboratorio, realizaremos la convolucion entre una secuencia de muestras correspondientes a un archivo de audio .wav y la respuesta al impulso de diferentes entornos ac
usticos,
con el objetivo de verificar c
omo una se
nal de audio puede procesarse para producir diferentes efectos sonoros tipo eco, reverberancia, etc.
Para esta parte del informe, su tarea consistira en elegir dos diferentes respuestas al impulso
de aquellas provistas en el laboratorio y graficar las se
nales involucradas en la operacion de
modificacion de la se
nal de audio original.
Para cada una de las respuestas al impulso elegidas usted debera graficar en el dominio del
tiempo y en el dominio de la frecuencia lo siguiente:
1. La se
nal de audio correspondiente a la entrada x[n].
2. La se
nal de audio correspondiente a la respuesta al impulso h[n].
3. La se
nal de audio correspondiente a la salida del sistema y[n] = x[n] h[n].
Para graficar las se
nales en el dominio de la frecuencia utilizaremos la transformada de
Fourier rapida, comando fft de Matlab:
X_w = abs(fft(1:length(x_n),x_n))

Utilice la ayuda de Matlab si no puede utilizar este comando correctamente:


>> help fft
Investigue tambien c
omo utilizar el comando: fftshift, que le servira para centrar el espectro
obtenido y ubicarlo entre y .
Cada una de las gr
aficas de las se
nales de salida y[n] deberan venir acompa
nada de sus
comentarios, contestando a las siguientes preguntas:
1. Como se modific
o la se
nal en el dominio del tiempo?
2. Como se modific
o la se
nal en el dominio de la frecuencia?
3. Cual es su percepci
on de la variacion del sonido original luego de haber pasado por el
sistema con la respuesta al impulso h[n]?
4. Cuales son las longitudes de las secuencias: x[n], h[n] y y[n] = x[n] h[n] ? Escriba los
calculos correspondientes que justifiquen el por que de la longitud de y[n].

1.3.

Moving Average Filter

El filtro de promediado m
ovil es uno de los mas comunes en DSP, sobre todo porque es el
filtro digital m
as f
acil de entender y usar. A pesar de su simplicidad, el filtro de media movil es
optimo para una tarea com
un: la reduccion de ruido aleatorio, conservando al mismo tiempo,
una respuesta fina. Esto hace que el filtro principal de se
nales codificadas en el dominio del
tiempo.
Para esta parte de la pr
actica, implemente un sistema de filtrado por promediado movil para
una se
nal de audio, siguiendo el siguiente procedimiento:
1. Lea un archivo de audio en formato .wav
2. Genere una se
nal de ruido aleatorio gaussiano de la misma longitud del archivo de
audio (use la sentencia randn).
3. Considere el ruido como una se
nal aditiva y genere la se
nal de audio polucionada
suponiendo que el ruido se adiciona con un coeficiente de 0.02.
4. Utilice un filtro de promediado movil para filtrar la se
nal polucionada.
5. Visualize las tres se
nales en el dominio del tiempo: 1) audio, 2) audio con ruido y 3)
se
nal filtrada.
6. Utilice diferentes tama
nos de ventana para observar diferentes resultados.
Recuerde que un sistema de promediado movil esta definido:
M 1
1 X
y[n] =
x[n + j]
M
j=0