Practica 1b

3
Escuela Superior Polit´ ecnica de Chimborazo Procesamiento Digital de Se˜ nales Kenneth S. Palacio Baus [email protected] Agosto 15, 2015 Pr´ actica 1: Sistemas Discretos Objetivos: Implementar el algoritmo de la convoluci´ on 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 Engineer’s 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 cap´ ıtulo 6 del libro de la referencia [1]. Encontrar´ a mucha ayuda e informa- ci´ on ´ util para esta tarea referente a la convoluci´ on, incluyendo pseudoc´ odigo. 2. Al resolver los ejercicios, incluya cada uno de los pasos que intervienen en la resoluci´ on, as´ ı como tambi´ en cualquier explicaci´ on adicional que crea pertinente incluir en las soluciones que propone. 3. No se otorgar´ an puntos por escribir ´ unicamente la respuesta del problema o por graficar la salida del sistema: Usted debe incluir un explicaci´ on de cada uno de los sistemas que implementa, sus observaciones y criterios al respecto. 1. Convoluci ´ on. Implemente en Matlab el algoritmo de la convoluci´ on en tiempo discreto. Puede tomar como referencia el cap´ ıtulo 6 de la referencia [1]. Reporte: Deber´ a incluir una breve explicaci´ on de la implementaci´ on de su c´ odigo. 1

description

ejercicios 1

Transcript of Practica 1b

Page 1: Practica 1b

Escuela Superior Politecnica de Chimborazo

Procesamiento Digital de SenalesKenneth S. Palacio Baus

[email protected] 15, 2015

Practica 1: Sistemas Discretos

Objetivos:

• Implementar el algoritmo de la convolucion e utilizarlo para realizar procesamientode senales de audio.

Recursos: Como base de esta tarea, utilizaremos Matlab y el libro:

[1] Steven W. Smith, The Scientist and Engineer’s Guide to Digital Signal Processing,www.dspguide.com, 1997-2013.

Ademas utilizaremos un grupo de secuencias de sonido correspondientes a respuestasal impulso de diferentes entornos acusticos disponibles libremente en:http://www.voxengo.com/impulses/.

Considere las siguientes sugerencias:

1. Revisar el capıtulo 6 del libro de la referencia [1]. Encontrara mucha ayuda e informa-cion util 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 lassoluciones que propone.

3. No se otorgaran puntos por escribir unicamente la respuesta del problema o por graficarla salida del sistema: Usted debe incluir un explicacion de cada uno de los sistemas queimplementa, sus observaciones y criterios al respecto.

1. Convolucion.

Implemente en Matlab el algoritmo de la convolucion en tiempo discreto. Puede tomar comoreferencia el capıtulo 6 de la referencia [1].

Reporte: Debera incluir una breve explicacion de la implementacion de su codigo.

1

Page 2: Practica 1b

1.1. Convolucion de Secuencias Basicas.

Para comprobar el funcionamiento de su algoritmo, cree una funcion de Matlab llamadamyConv.m que recibira como argumentos dos vectores, (x[n] y h[n] por ejemplo) entre loscuales se realizara la convolucion.

Ejecute el siguiente codigo en la consola de Matlab para realizar la convolucion de dos desecuencias elementales:

>> x= [ 3 1 2 -1 ]

x =

3 1 2 -1

>> h= [ 3 2 1 ]

h =

3 2 1

>> conv(x,h)

ans =

9 9 11 2 0 -1

Usted debera obtener los mismos resultados utilizando la funcion myConv que implemento:

>> myConv(x,h)

ans =

9 9 11 2 0 -1

Imprima el codigo fuente de la funcion myConv.m.

1.2. Procesamiento de Audio.

En el laboratorio, realizaremos la convolucion entre una secuencia de muestras correspon-dientes a un archivo de audio .wav y la respuesta al impulso de diferentes entornos acusticos,con el objetivo de verificar como una senal de audio puede procesarse para producir diferen-tes efectos sonoros tipo eco, reverberancia, etc.

Para esta parte del informe, su tarea consistira en elegir dos diferentes respuestas al impulsode aquellas provistas en el laboratorio y graficar las senales involucradas en la operacion demodificacion de la senal de audio original.

Para cada una de las respuestas al impulso elegidas usted debera graficar en el dominio deltiempo y en el dominio de la frecuencia lo siguiente:

1. La senal de audio correspondiente a la entrada x[n].

2. La senal de audio correspondiente a la respuesta al impulso h[n].

3. La senal de audio correspondiente a la salida del sistema y[n] = x[n] ∗ h[n].

Para graficar las senales en el dominio de la frecuencia utilizaremos la transformada deFourier rapida, comando fft de Matlab:

X_w = abs(fft(1:length(x_n),x_n))

2

Page 3: Practica 1b

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

>> help fft

Investigue tambien como utilizar el comando: fftshift, que le servira para centrar el espectroobtenido y ubicarlo entre −π y π.

Cada una de las graficas de las senales de salida y[n] deberan venir acompanada de suscomentarios, contestando a las siguientes preguntas:

1. Como se modifico la senal en el dominio del tiempo?

2. Como se modifico la senal en el dominio de la frecuencia?

3. Cual es su percepcion de la variacion del sonido original luego de haber pasado por elsistema 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 loscalculos correspondientes que justifiquen el por que de la longitud de y[n].

1.3. Moving Average Filter

El filtro de promediado movil es uno de los mas comunes en DSP, sobre todo porque es elfiltro digital mas facil de entender y usar. A pesar de su simplicidad, el filtro de media movil esoptimo para una tarea comun: la reduccion de ruido aleatorio, conservando al mismo tiempo,una respuesta fina. Esto hace que el filtro principal de senales codificadas en el dominio deltiempo.Para esta parte de la practica, implemente un sistema de filtrado por promediado movil parauna senal de audio, siguiendo el siguiente procedimiento:

1. Lea un archivo de audio en formato .wav

2. Genere una senal de ruido aleatorio gaussiano de la misma longitud del archivo deaudio (use la sentencia randn).

3. Considere el ruido como una senal aditiva y genere la senal de audio polucionadasuponiendo que el ruido se adiciona con un coeficiente de 0.02.

4. Utilice un filtro de promediado movil para filtrar la senal polucionada.

5. Visualize las tres senales en el dominio del tiempo: 1) audio, 2) audio con ruido y 3)senal filtrada.

6. Utilice diferentes tamanos de ventana para observar diferentes resultados.

Recuerde que un sistema de promediado movil esta definido:

y[n] =1

M

M−1∑j=0

x[n+ j]

3