Punto8 y Convolucion y6punto

20
Taller 1: Procesamiento de señales Presentado por: Jesse Mauricio Beltrán Soto Michelle Maceas Henao Profesor : Freddy Bolaños Universidad Nacional de Colombia Sede Medellín

Transcript of Punto8 y Convolucion y6punto

Page 1: Punto8 y Convolucion y6punto

Taller 1: Procesamiento de señales

Presentado por:

Jesse Mauricio Beltrán Soto

Michelle Maceas Henao

Profesor :

Freddy Bolaños

Universidad Nacional de Colombia

Sede Medellín

2013

Page 2: Punto8 y Convolucion y6punto

Taller 1

Procesamiento de señales

a. Tome nota de los parámetros importantes en el código (Fs, duración) y explique cuál sería el efecto de provocar cambios en dichos valores.

Si se cambia la variable duración el tiempo de grabación de la voz incrementará o disminuirá.

Fs es la frecuencia de muestreo si se toma Fs muy pequeño la visualización de las gráficas es muy mala ya que la frecuencia de la voz humana oscila entre 500 y 3000 Hz, inclusive a frecuencias de menos de 80 Hz el computador se bloquea, si tomamos la frecuencia máxima de la voz humana como 3000 Hz, por el teorema de muestreo la frecuencia de muestreo tiene que ser Fs ≥ 6000 Hz , con frecuencias mayores a esta la visualización será mucho mejor y no se presentará alias.

b.

¿Cuáles son los dos parámetros con los que se invoca a la función wavrecord?

Y = wavrecord(N,FS)

Donde

N= número de muestras de audio

Fs: frecuencia de muestreo

¿Cuáles son los parámetros con los que se invoca a la función wavplay?

Wavplay(Y, FS)

Donde

Y : es la señal que se envía al dispositivo de audio de Windows WAVE

Fs: Frecuencia de muestreo

¿Por qué se usa la función plot para graficar una secuencia en tiempo discreto? ¿cuál sería el efecto de usar la función stem en su lugar?

La frecuencia de muestreo utilizada es de 8000 Hz por ende el periodo de la señal seria T=1.25e-4 , lo que hace que las muestras esten muy cerca, por ende utilizar un stem no es recomendable porque este lo que hace es graficar impulsos por cada muestra y no permitirá una buena visualización de la gráfica, a diferencia de plot() el comando stem() no recrea una gráfica continua.

¿Cuál es el propósito de la función FFT? ¿Qué relación guarda dicha función con la transformada de Fourier?

Page 3: Punto8 y Convolucion y6punto

FFT permite calcular la transformada rápida de Fourier, que es necesaria para hallar el espectro de la señal.

¿Por qué es necesario el uso del valor absoluto para la visualización del espectro de la señal?

El uso del valor absoluto para la visualización del espectro es necesario para graficar la magnitud.

c. Cambie los valores de Fs en el código y discuta los resultados obtenidos a la luz del teorema del muestreo discutido en clase. Según su criterio, ¿cuál puede ser el valor más adecuado para este parámetro?

Según el teorema del muestro Fs≥ 2*Fmáx

Realizando consultas bibliográficas se observa que la frecuencia máxima que alcanza la voz humana es de 3000 Hz. Por tanto la frecuencia de muestreo es Fs≥ 6000 Hz.

Un valor conveniente para la frecuencia de muestreo es 10000 Hz , porque es mayor que 6000 Hz y mientras esta sea más grande mejor; pero tampoco se debe exceder a un valor muy grande porque en este caso el algoritmo se haría muy lento y si se llevara a la implementación sería más costoso.

d. Pruebe el efecto de reproducir la secuencia de audio con frecuencias de muestreo diferentes a la original (se recomiendan 6000 Hz y 12000 Hz). Reporte y discuta los resultados obtenidos.

Si se reproduce a una frecuencia de 6000 Hz, la voz se escucha más grave y más lenta.Si se reproduce a una frecuencia de 12000 Hz, la voz se escucha más aguda y más rápida que la original.

e. ¿Cuáles son los rangos de frecuencia en los cuales se visualiza el espectro de la señal?, ¿Qué implicaciones tiene esa visualización a la luz de la teoría vista en clase? .Modifique el código para que el espectro de la señal aparezca en el rango -0.5<=f<=0.5.

El espectro de la señal, se visualiza entre 0 y 1. Pero se nota que el espectro de 0.5 a 1, es el mismo espectro de 0 a 0.5 reflejado verticalmente.Según lo visto en clase para obtener una mejor representación de esta señal espectralmente, se hace una especie de copia de la señal obtenida de 0.5 a 1 al rango -0.5 a 0. Esto es posible para señales reales.

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50

50

100

150

f

(X

(f))

Espectro de la señal de voz

Figura 1.Espectro de la señal entre -0.5 y 0.5

Page 4: Punto8 y Convolucion y6punto

2. Código en MATLAB para la convolución:

La convolución que se realizó en MATLAB, se efectuó emulando el método de enventanado. De manera muy general se explica el código utilizado, se toma el vector de mayor longitud para dejarlo estático, y luego se creó un vector ventana lleno de ceros que iba guardando los elementos del vector más pequeño a medida que lo exigía la convolución, a continuación se muestra el algoritmo diseñado:

Se procedió luego a realizar la convolución entre dos vectores de prueba:

H1=[1 2 3 4 5 6 7]

H2=[1 3 5 7 9 11 13 15 17]

La convolucion de matlab, y la nuestra arrojo los mismos valores:

Conv(h1, h2)=[1 5 14 30 55 91 140 196 252 289 305 298 266 207 119]

Este proceso le llevo a nuestro algoritmo diseñado: 0.00149 segundos

Page 5: Punto8 y Convolucion y6punto

Y al comando conv de matlab le llevo: 0.00137 segundos

Por lo visto, el comando propio de MATLAB es más rápido que el que se ha diseñado, algo que era de esperarse ya que este es diseñado mediante métodos numéricos.

1 2 3 4 5 6 70

1

2

3

4

5

6

7Vector h1

Figura 2. Vector 1,h1

1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

14

16

18Vector h2

Figura3.Vector 2,h2

Page 6: Punto8 y Convolucion y6punto

0 5 10 150

50

100

150

200

250

300

350Vector Convolucion

Figura 4. Vector convolucion de 1 y 2

3. Por medio de grabaciones de su propia voz y de la convolución (puede usar la función desarrollada en el punto anterior) determine un valor adecuado de D para una secuencia de audio muestreada a 8000 Hz.

Para la realización de este punto, se debe implementar un algoritmo que nos permita detectar en que muestra la voz se escucha con eco.

De la gráfica sabemos que la respuesta al impulso del generador de eco tiene solo dos muestras, una en 1 y la otra en D, con magnitudes de 1 y 0.5 respectivamente.

Con el programa se realizará la convolucion entre la voz y la respuesta al impulso, el usuario es quien tendrá el criterio de determinar dónde cree que la señal tiene eco.

Después de realizar varias pruebas se observa que alrededor de las 400 muestras la señal se escucha con eco, si aumentamos el número de muestras aumenta el eco en la señal.

Se elige la muestra 6001 ya que aquí se aprecia bastante bien el eco de la señal

4. La versión IIR del sistema generador de eco del punto anterior puede representarse de la siguiente manera:

y(n) = x(n) + 0.5·y(n-D)

Implemente y pruebe esta versión del sistema, usando como secuencia de entrada x(n) las mismas señales con las que hizo pruebas en el punto anterior y el valor de D encontrado anteriormente.

Page 7: Punto8 y Convolucion y6punto

¿Qué diferencias percibe en el audio de salida generado por cada sistema? ¿De qué manera se podría hacer que el sistema generador de eco FIR se parezca más a su contraparte recursiva?

En las Fig 5 y 6 observamos los respectivos espectros de frecuencia del generador de eco recursivo e IIR , respectivamente. Se puede observar que las magnitudes a baja frecuencia del generador IIR son mayores, por tanto debemos tratar de incrementar un poco la magnitud de la muestra en el ejercicio anterior para que la respuesta sea más parecida.

Para lograr que la implementación recursiva del generador de eco sea más parecida a la implementación IIR se aumento la magnitud de la muestra D , de tal manera que el espectro de ambas señales fuera lo más parecido posible, esto se logra en D=0.75 .

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

200

250

t[Segundos]

x(t)

Espectro en frecuencia del generador de eco con implementación recursiva

Figura 5.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

200

250

300

t[Segundos]

x(t)

Espectro de frecuencia generador de eco con filtro IIR

Figura 6.

F

F

|x(n)|

Page 8: Punto8 y Convolucion y6punto

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

200

250

300

f

|x(n

)|Espectro implementación recursiva del generador de ECO con D=0.7

Figura 7.

5. Se tiene un sistema FIR dado por la siguiente respuesta al impulso de longitud finita:

h(n) = { 1, -0.8, 0.6, -0.4, 0.2, 0, -0.2, 0.4, -0.6, 0.8}

Por medio de grabaciones de su voz y de comparaciones del espectro de la señal antes y después de la aplicación del sistema, determine el tipo de filtrado que dicho sistema efectúa a la señal de entrada

Es necesario realizar la convolución de la respuesta al impulso H(n) y la entrada X(n) que es la voz, para saber qué tipo de filtrado se está efectuando. En la Fig 8 Y 9 se muestran los Espectros de señal de la voz sin filtrar y con filtrado respectivamente.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

f

|x(f

)|

Espectro de la voz

Figura 8.

Page 9: Punto8 y Convolucion y6punto

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

X: 0.06711Y: 23.57

f

|x(f

)|

Espectro de la señal filtrada

Figura 9.

De este par de graficas se infiere que se está utilizando un filtrado pasa altas ya que las bajas frecuencias se están atenuando y las altas se dejan pasar.

6. Por medio del cálculo de la auto correlación, determine el periodo fundamental del fenómeno de las manchas solares, para lo cual puede usar la siguiente tabla que registra la cantidad de dichas manchas entre 1770 y 1869. Figura 10. Magnitud de las manchas solares vs muestras.

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

1.5

2

2.5

3

3.5

4x 10

5 Autocorrelacion de manchas solares

Muestras

Mag

nitu

d Au

toco

rrela

cion

Figura 10.Autocorrelacion de manchas solares

Para encontrar el periodo fundamental, se decidió hacer uso de la figura anterior, ya que resultaba algo complicado para nosotros diseñar un algoritmo que estuviera encontrando máximos locales y encontrar su separación.

Visualmente es mas factible hallarlos, tomando aquellos puntos en los cuales la función crece como máximo entre 2 intervalos.

Para este caso se tomaran las muestras donde se presentan máximos locales hasta llegar al máximo global, ya que para valores mayores se repite la secuencia.

Las muestras son:

X=10,18,29,40,51,67,78,90,100, N=9

Page 10: Punto8 y Convolucion y6punto

Luego haciendo un promedio de las diferencias, para hallar cada cuantos años se repiten los máximos locales.

T 1=∑i=1

N−1|x (i )−x (i+1)N−1 |

T1=11.25 años

Pasando

Se tiene un periodo aproximado

T=354780*10^3 s

7. Escriba un programa que permita reproducir al revés secuencias de audio. Pruebe dicho programa usando algunos palíndromos del idioma español. ¿Qué diferencias se notan en el espectro de una señal al invertir su orden?

Para el diseño de este algoritmo, solo fue necesario invertir el vector de la voz para que pudiera reproducirse al revés.Con respecto a los espectros, se analizara la figura 11.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150Espectro de voz inicial

f

(X(f)

) orig

inal

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150

f

(X(f)

)

Espectro de voz invertida

Figura 11. Espectros señal inicial e invertida

Al parecer el espectro de la señal no cambia, la magnitud de la transformada de Fourier que se le hace al valor absoluto de elementos de voz inicial y al invertido, son de igual magnitud para cada elemento del vector.Gráficamente fue haber traspuesto con respecto al eje y sobre el mismo intervalo de frecuencia el espectro de la señal original.

Page 11: Punto8 y Convolucion y6punto

8. Investigue acerca de otros efectos comunes en el procesamiento de audio (fade in, fade out, reverberación, suma, remuestreo). Implemente al menos dos de ellos usando matlab. Pruebe y comente los resultados obtenidos.

a) La reverberación, es un fenómeno acústico de reflexión que se produce en un recinto cuando un frente de onda o campo directo incide contra las paredes, suelo y techo del mismo, el conjunto de dichas reflexiones constituye lo que se conoce como campo reverberante. El parámetro que permite cuantificar el grado de reverberación de una sala es llamado tiempo de reverberación (Tr) ¸siendo el periodo de tiempo en segundos que transcurre desde que se desactiva la fuente excitadora del campo directo hasta que el nivel de presión sonora ha descendido 60 db respecto de su valor inicial.

El diagrama de bloques de este efecto de sonido se muestra a continuación:

Figura 12. Esquema de una reverberación digital. La salida del sistema es una suma de la señal de entrada directa, de su retrasada ponderada muestra a muestra y de una rama de

reverberación o eco infinito.

Las cantidades especificadas son el tiempo de eco inicial(ITD) y el tiempo de reverberación(Tr), que es el tiempo en que un sonido reduce su amplitud en una milésima parte.La elección de los retrasos y ganancias en el diagrama de bloques anterior se hace según las siguientes relaciones:

D1=ITD*Fs, D2=2*D1, D3=0.05Fs, G1=G3, G3=10^-3D3/Tr

En la tabla 1. se muestran algunos valores de ITD y Tr necesario para simular diferentes ambientes.

LUGAR ITD(ms) TIEMPO DE REVERBERACION(S)ESTUDIO 20 ms 0.4AUDITORIO 40 ms 0.75SALA DE CONCIERTO 25 ms 1.8IGLESIA 50 ms 3.25

Tabla 1. Valores de ITD y tiempo de reverberación necesarios para la simulación de distintos ambientes.

Ahora la función de transferencia del sistema obtenida de la Figura 12. queda como:

Page 12: Punto8 y Convolucion y6punto

H (Z )=Y (z)X (z)

=(1+G1 z−D1 ) (1−G3 z−D3 )+z−D2

1−G3 z−D3

Luego se implementó esta función de transferencia en MATLAB.

Se harán varias pruebas para ver cómo se comporta, la voz previamente grabada, simulándola en diferentes lugares.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

t[Segundos]

x(t

)

Figura 13. Señal inicial

En una sala de estudio.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1.5

-1

-0.5

0

0.5

1

t[Segundos]

x(t

)

Sistema con reverberacion

Figura 14. Efecto reverberación en una sala de estudio

Page 13: Punto8 y Convolucion y6punto

Para un auditorio

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1.5

-1

-0.5

0

0.5

1

t[Segundos]

x(t

)

Sistema con reverberacion

Figura 15.Efecto reverberación en un auditorio.

Para una iglesia

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1.5

-1

-0.5

0

0.5

1

t[Segundos]

x(t)

Sistema con reverberacion

Figura 16.Efecto reverberación en una Iglesia.

Para una sala de concierto

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1.5

-1

-0.5

0

0.5

1

t[Segundos]

x(t

)

Sistema con reverberacion

Page 14: Punto8 y Convolucion y6punto

Figura 17. Efecto reverberación en Sala de concierto.

Se observa de las anteriores graficas que el efecto de la reverberación sobre la señal de entrada en este caso la voz, hacen que el oyente reciba ondas reflejadas, antes de que se extinga la onda directa. Esto es producto del rebote de las ondas con los obstáculos que no pueden traspasar ni rodear, por lo tanto se producen prolongaciones de los sonidos que en ciertas ocasiones resultan irreales.

Se observa que en lugares como una iglesia o un auditorio es mayor el efecto.

Actualmente se usa este efecto para “afinar” una sala o variar su tiempo de reverberación para encontrar una correcta comprensión o audición de los diferentes que se quieran transmitir en salas o demás áreas donde se graba música en directo.

b) EFECTO FADE_OUT

Este efecto consiste en aplicar un desvanecimiento a la señal en este caso de audio, de forma que al comienzo de esta aplicación el volumen sea del 100% y la ultima de 0%, Dicho de otra manera consiste en multiplicar la señal por un factor tal que esta respuesta disminuya la intensidad de la señal hasta llegar a cero.

Para la realización de este efecto, se tomó una señal previamente guardada, de la cual ya se conocía su respuesta contra el tiempo, y su respuesta en frecuencia, y se hizo la comparación entre la señal original vs la señal con el efecto FADE-OUT.

Para hacer la disminución se fue multiplicando cada elemento del vector de señal de audio por un valor variable K=1/3.5^(j/10000)

El valor de j varia entre 0 y la dimensión de la señal a causar el efecto, para nuestro caso 50000, luego el valor minimo y máximo por el cual se va a multiplicar seria de : (0 y 0.002) respectivamente.

Se opto por este valor ya que para valores mas grandes a 3.5 se hacia una atenuación muy pronta de la señal , y se dividio el factor j sobre 10000 ya que para valores mayores o menores no se escuchaba muy bien el efecto.

La señal de voz usada se multiplico por un factor de 20 para poder escuchar bien el efecto ya que es mas bien de poca intensidad.

Page 15: Punto8 y Convolucion y6punto

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1

-0.5

0

0.5

1Señal de voz inicial

tiempo

Señal de V

oz

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-1

-0.5

0

0.5Señal de voz con efecto FADE-OUT

tiempo

Señal de V

oz

Figura 18. Señal de voz inicial vs señal de voz con efecto FADE-OUT.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

50

100

150Espectro de la voz

f

(X(f

))

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30Espectro de la voz con FADE-OUT

f

(X(f

))

Figura 19. Respuesta en frecuencia señal de voz vs respuesta en frecuencia Señal de voz con FADE-OUT

De la Figura 14, se ve claramente que la magnitud de la señal de voz se desvaneció a medida que pasaba el tiempo, a tal punto en que ya no existían picos en la señal al finalizar la grabación.

Con respecto al diagrama espectral, se nota que la magnitud en comparación con la original disminuyo considerablemente.

Page 16: Punto8 y Convolucion y6punto