Uploaded by Joan RodrΓ­guez

EL228-LS8B-2022-1-TP-Bartolo-De La Flor-Huamani-Rojas-Salcedo-Vasquez-Vilcapoma

advertisement
Facultad de Ingeniería
Escuela de Ingeniería Electrónica/Mecatrónica/Telecomunicaciones y Redes
PROCESAMIENTO AVANZADO DE SEÑALES E IMÁGENES - (2022-1) Sección: LS8B
Trabajo Parcial
VARIACION DE LA TASA DE MUESTREO Y
DESCOMPOSICIÓN / RECONSTRUCCIÓN SUBBANDA
Experiencia 1: Variación de la tasa de muestreo y efectos en la SNR
Implementar en MATLAB el sistema de la siguiente imagen:
1
1.
Interfaz de la aplicación
Figura 1. Ventana 1 de la interface
Descripción:
-
El audio seleccionado como entrada para el análisis en los casos requeridos
posteriormente es “ TP_PDI_amp.wav” cuyos parámetros de captura o lectura se
especifican en la Figura 1.
-
Esta es la primera ventana de la aplicación, aquí se tiene la opción “Grabar” para
capturar un archivo de audio de acuerdo con los parámetros de digitalización, los
cuales son la frecuencia de muestreo (Fs), el número de bits por muestra (r) y el
tiempo de captura (Tc).
-
También, se tiene la opción de “Seleccionar Audio” para abrir un archivo de audio
WAV y mostrar la información de sus parámetros de digitalización.
-
Finalmente, para cada opción se grafica la señal de audio en el dominio del tiempo.
2
Figura 2. Ventana 2 de la interface
Descripción:
-
En esta segunda ventana, con la opción “Iniciar procesamiento 1” se procesa
la señal de audio original a partir de los parámetros de cada bloque de
procesamiento (un supermuestreador, un recuantizador, dos filtros pasabajas
y un submuestreador).
-
Estos
parámetros
que
se
ingresan
previamente
son:
el
factor
de
súpermuestreo (L), el factor de submuestreo (M), el número de bits por
muestra de recuantización (rp), el tamaño de bloque (P), el orden del filtro
pasa bajas del interpolador (Orden 1) y el orden del filtro pasa bajas del
decimador (Orden 2).
-
Además, se muestran las gráficas del espectro en frecuencia de módulo de las
salidas de cada bloque de procesamiento en la región de 0 a 2πœ‹ rad.
-
Por último, se tienen 6 botones de “Reproducir” para poder escuchar la señal
sonora de entrada y las otras señales resultantes de cada bloque de
procesamiento.
3
Figura 3. Ventana 3 de la interface
Descripción:
-
En esta tercera ventana, mediante la opción “Iniciar Procesamiento 2” se
muestran las gráficas de los espectros en frecuencia de módulo de la señal de
entrada y la señal recuantizada en la región de 0 a 2πœ‹ rad.
-
Debajo de cada gráfico se tienen botones de “reproducir” para escuchar la
señal de entrada y la señal recuantizada del bloque de procesamiento 2.
-
En la parte inferior de la ventana, se muestran los valores de la relación
señal/ruido (SNR) de las señales resultantes de los procesamientos 1 y 2.
-
Por último, se tienen 2 botones “Reproducir” para escuchar las señales
reconstruidas por los métodos de procesamiento 1 y 2.
4
Figura 4. Ventana 4 de la interface
Descripción:
-
Esta es la última ventana de la aplicación, aquí se puede seleccionar la gráfica en
el dominio del tiempo que se desea mostrar, entre las cuales se encuentran: la
señal original y las señales reconstruidas por los métodos de procesamiento 1 y
2.
-
También permite mostrar todas las gráficas con diferentes colores en un solo
cuadro de las señales mencionadas anteriormente.
5
2. CASOS REQUERIDOS
Se consideran los siguientes parámetros para la señal de audio de captura:
𝑓𝑠 = 8000 𝐻𝑧
𝑏𝑖𝑑𝑠
π‘Ÿ = 16
π‘šπ‘’π‘’π‘ π‘‘π‘Ÿπ‘Ž
𝑑𝑐 = 5 π‘ π‘’π‘”π‘’π‘›π‘‘π‘œπ‘ 
𝑁° π‘π‘Žπ‘›π‘Žπ‘™π‘’π‘ : π‘€π‘œπ‘›π‘œπ‘π‘Žπ‘›π‘Žπ‘™
Caso 1:
𝐿 = 64
𝑀 = 64
π‘œπ‘Ÿπ‘‘π‘’π‘›1 = π‘œπ‘Ÿπ‘‘π‘’π‘›2 = 600
π‘Ÿπ‘ = 4
𝑃 = 1000
Figura 5. Procesamiento 1 del caso 1
6
Figura 6. Procesamiento 1 del caso 1 más detallado
Justificaciones
conclusiones:
y
En la Figura 6, se colocaron punteros en las gráficas para poder entender sus
comportamientos:
-
En la gráfica de la señal sobre muestreada se puede apreciar que esta se encuentra
limitada en el eje X en el intervalo de [0,2π] rad. En términos de su gráfica, se realizó
la compresión por el factor de sobre muestreo (L) a la señal de entrada, en otras
palabras, esta se comprimió 64 veces. Es por ello, que se aprecia una gráfica muy
concurrida.
-
En la gráfica del Espectro de la señal filtrada 1, se representa gráficamente la señal
que sale del primer filtro pasa-bajas usado en el procedimiento 1. Como se puede
apreciar en esta representación, gran parte de la señal que salió del sobre muestreo
ya no aparece a la salida del filtro. Esto ocurre debido a la frecuencia de corte del filtro
7
pasa bajas. Con el valor de L ingresado, se obtiene una πœƒπ‘ =
πœ‹
64
≈ 0.0491 π‘Ÿπ‘Žπ‘‘. La
función del filtro es la de dejar pasar solo las frecuencias menores a la frecuencia de
corte. Por lo que, como se ve en la Figura 6, a partir del valor de πœƒ = 0.050 tienen
módulo cero. Además, este filtro es implementado con una ganancia G=L, es por ello
que su gráfica tiene amplitud máxima 313.912 × 64 ≈ 20088.7. Ver Figura 7.
Figura 7. Módulo máximo del Espectro de la señal filtrada 1
-
La 4ta gráfica representa al espectro de la señal recuantizada por factor de escala
adaptativo. Esta se realiza con los valores de salida del recuantizador. Con respecto a
su gráfica de frecuencia, se aprecia que no varía su forma con respecto al espectro
saliente del filtro 1, es decir, mantiene el comportamiento pasa bajas con su respectiva
amplitud
-
La 5ta gráfica representa al espectro de la señal que sale del filtro 2. Esta también
mantiene la forma gráfica de la señal que sale del recuantizador.
-
La 6ta gráfica representa la salida de la señal del submuestreador, es decir, la señal
final reconstruida (𝑦1 (𝑛)). En la Figura 6, se observa los punteros en puntos de la
señal reconstruida que nos dicen el valor de su módulo. Y comparándolo con los
valores de los punteros en el mismo lugar de la señal de entrada, se aprecia que la
variación es poca. Lo que quiere decir que se hizo una buena reconstrucción de la
señal descompuesta.
-
La diferencia entre los valores de entrada y salida nos da un error que luego será
explicado con los valores del SNR.
8
Figura 8. Procesamiento 2 del caso 1
Justificaciones y
conclusiones de la
En esta ventana se muestran los gráficos del segundo procesamiento y la comparación de los
Figura 8
valores de SNR de ambos procesamientos:
-
En primer lugar, se tiene la gráfica de entrada de la señal de audio. La gráfica se realiza
en frecuencia relativa y con un intervalo solicitado de [0;2π]. La segunda gráfica
muestra el espectro de la señal que sale del recuantizador del segundo procesamiento,
y a su vez es la señal de salida de este (𝑦2 (𝑛)).
-
Los punteros en ambas gráficas nos dicen valores de la señal de entrada y salida del
procesamiento en los mismos valores de frecuencia. Como se puede observar, en la
entrada el módulo de la frecuencia x=0.0510049 rad es Y=430.728 y en la salida el
módulo de la misma frecuencia X=0.0510049 rad es Y=443.708. Esto nos quiere decir
que la variación entre la entrada y la salida es considerable, lo mismo pasa con otros
valores de frecuencia. Esto genera un error que luego será verá reflejado en la SNR del
procedimiento 2.
9
-
Otro punto importante en esta ventana es la comparación de los valores de las SNR
que se obtienen en ambos procedimientos. Para el cálculo de este valor se tomó entre
la señal de salida del submuestreador y la señal de entrada de audio. En el caso 1, se
obtiene un valor de SNR=26.256 dB para el procesamiento 1 y de SNR=16.5287 dB
para el procesamiento 2.
-
El rango de SNR óptimo es entre 18 y 30 dB y un valor mayor significa que existe
menor cantidad de ruido en la señal.
-
Al comparar los dos valores de SNR, se concluye que el procedimiento tiene una mejor
relación señal ruido, es decir, menos ruido en la señal.
-
El significado de las SNR se ve reflejado en la reproducción de la señal. Si
reproducimos la señal con mayor SNR se escucha un sonido más limpio que la señal
con SNR menor.
-
Mientras mayor será la diferencia entre los valores de frecuencia en la entrada y la
salida, se genera un mayor error, se presencia mayor ruido en el audio y, por
consiguiente, una SNR menor.
Figura 9. Gráfica de las señales de salida y la original del caso 1
10
Figura 10. Gráfica más detallada de las señales de salida y la original
Observaciones:
-
En esta última ventana se presenta las gráficas en el tiempo de las señales de salida de
ambos procedimientos y la señal original.
-
Como se puede ver, la señal azul, salida del segundo procedimiento, es la que tiene
mayor presencia que las otras dos. Esto se explica con ayuda del SNR. Esta señal al
tener menor SNR, tiene mayor ruido en la señal. Y eso es lo que hace que su gráfica
sea mucho más predominante.
-
La Figura 10, muestra una vista más cercana de las gráficas. En esta se puede
observar que la señal del procesamiento 1(Verde), es la que más se acerca a los
valores de la señal original, es decir, es la mejor reconstruida y la que tiene menor
cantidad de ruido.
-
En comparación de ambas señales, se concluye que en el Caso 1 el mejor
procesamiento es el número 1. Ya que, reconstruye una señal mucho más parecida a la
original, con un valor de SNR óptimo y, por ende, menor cantidad de ruido presente en
la reproducción sonora de la señal.
11
Caso 2:
𝐿 = 64
𝑀 = 64
π‘œπ‘Ÿπ‘‘π‘’π‘›1 = π‘œπ‘Ÿπ‘‘π‘’π‘›2 = 20
π‘Ÿπ‘ = 4
𝑃 = 1000
Figura 11. Procesamiento 1 del caso 2
12
Figura 12. Procesamiento 1 del caso 2 más detallado
Observaciones:
-
Para el caso 2, se cambian los valores del Orden 1 y 2 usados en el caso 1.
-
La gráfica del sobre muestreo es idéntica que el caso 1, ya que el valor del factor L
no varía.
-
La gráfica de la señal filtrada tiene consideraciones importantes en el
procesamiento. Teóricamente, el valor de la frecuencia de corte es πœƒπ‘ =
πœ‹
64
≈
0.0491 π‘Ÿπ‘Žπ‘‘ , pero como se puede ver en el puntero, la frecuencia de corte es
aproximadamente πœƒπ‘ = 0.5912 π‘Ÿπ‘Žπ‘‘. Este valor es mucho mayor que el que debería
ser. Esto se explica con el valor del Orden 1 ingresado.
-
Debido a que el orden del filtro es más bajo con respecto al caso 1, este pierde
precisión al momento de filtrar la señal. Otra forma de decirlo es entendiendo que
el orden genera una pendiente de la frecuencia de corte más o menos inclinada.
13
Figura 13. Ejemplo de filtro pasa bajas
-
Al tener una pendiente muy inclinada, se pierde precisión al querer filtrar solo las
señales menores a la frecuencia de corte.
-
Las gráficas de la recuantización y el filtrado 2 nos reflejan cambios de los valores
de amplitud y frecuencia de corte del filtro, esto es entendido que sucede por la
imprecisión del primer filtrado. Esto trae consigo muchas fallas en la señal.
-
Por último, la señal de salida del sobremuestreador nos muestra la inmensa
variación de los valores entre la entrada y la salida de este procedimiento.
-
Se concluye, que en el Caso 2 se realiza una deficiente reconstrucción de la señal
de entrada.
Figura 14. Procesamiento 2 del caso 2
14
Figura 15. Procesamiento 2 del caso 2 más detallado
Observaciones:
-
Los gráficos superiores son idénticos a los presentados en el caso 1, debido a
que se trabaja con el mismo audio de entrada y los valores de rp y P no varían.
Por lo que, de igual manera se observa que existe una variación considerable
entre los valores de la señal de entrada y salida.
-
Se observa que, a pesar de no tener una buena reconstrucción, este
procesamiento presenta una variación mucho menor que la del otro método.
-
En los valores del SNR se cuantifica la deficiente reconstrucción del
procesamiento 1. Como ya se mostró en la ventana anterior, este presenta un
error muy grande, lo que lo lleva a tener una SNR muy baja.
-
A pesar de que el procedimiento 2 no tenga un SNR óptimo (entre 18 y 30 dB),
este es mucho más aceptable que el del procesamiento 1.
-
Por lo que se concluye que, en el Caso 2, el mejor método de procesamiento es
el segundo. Ya que, tiene menor error, mayor SNR y menor ruido en el audio en
comparación al primer método.
15
Figura 16. Gráfica de las señales de salida y la original del caso 2
Observaciones:
-
En esta última ventana las gráficas en el tiempo de las 3 señales solicitadas
corroboran lo ya analizado previamente.
-
La señal reconstruida con el procesamiento 1 presenta una gráfica muy diferente
a la original. Lo que quiere decir que, lo demás es puro ruido y este es
demasiado.
-
La señal reconstruida 2, también tiene diferencias con la señal original, sin
embargo, estas son mucho menores en comparación con la otra gráfica.
16
Caso 3:
𝐿 = 16
𝑀 = 16
π‘œπ‘Ÿπ‘‘π‘’π‘›1 = π‘œπ‘Ÿπ‘‘π‘’π‘›2 = 600
π‘Ÿπ‘ = 4
𝑃 = 1000
Figura 17. Procesamiento 1 del caso 3
17
Figura 18. Procesamiento 1 del caso 3 más detallado
Justificaciones y
conclusiones:
-
En la gráfica del espectro de la señal sobre muestreada, se puede apreciar que
se encuentra limitada en el eje X con un intervalo de [0, 2π] rad. Se realizó la
compresión por el factor de sobre muestreo a la señal de entrada fue comprimida
en un factor de L=16, por ello la señal comprimida se repite cada πœƒπ‘ =
2πœ‹
16
≈
0,393 π‘Ÿπ‘Žπ‘‘.
-
En la gráfica del espectro de la señal filtrada 1, se representa gráficamente la
señal que sale del primer filtro pasa-bajas.
Como se puede apreciar en esta gráfica, una pequeña parte de la señal que salió
del sobre muestreo ya no aparece en la salida del filtro. Esto ocurre debido a la
frecuencia de corte del filtro pasa bajas. Con el valor de L ingresado, se obtiene la
frecuencia de corte del filtro pasa bajas πœƒπ‘ =
πœ‹
16
≈ 0,1963 π‘Ÿπ‘Žπ‘‘. La función del filtro
18
es la de dejar pasar solo las frecuencias menores a la frecuencia de corte. Por lo
que, como se puede apreciar en la siguiente figura, a partir de πœƒπ‘ = 0,20 tienen
como módulo cero. Además, este filtro ha sido implementado con una ganancia
G=L, es por ello por lo que su grafica tiene una amplitud máxima de 313,912 ×
16 ≈ 5019,9
Figura 19. Detalle del Espectro de Señal Filtrada 1 caso 3
-
La cuarta gráfica representa el espectro de la señal recuantizada por factor de
escala adaptativo. Esta se realiza con los valores de salida del recuantizador.
Con respecto a su gráfica de frecuencia, se observa que no varía su forma con
respecto al espectro de la salida del filtro 1, es decir, mantiene el comportamiento
pasa bajas con igual amplitud.
Figura 20. Detalle del Espectro de Señal Recuantizada caso 3
Figura 21. Detalle del Espectro de Señal Filtrada 2 del caso 3
-
La quinta gráfica representa el espectro de la señal de salida del filtro 2. Esta
grafica también mantiene la forma de la señal de salida del recuantizador.
19
-
La sexta gráfica representa la salida de la señal del submuestreador, es decir, la
señal reconstruida (𝑦1 (𝑛)). En la figura, se observa los punteros en puntos de la
señal reconstruida que nos muestran el valor de su módulo. Y realizando la
comparación con los valores de los punteros del mismo lugar de la señal de
entrada, se aprecia que la variación de estos valores es mínima. Esto nos quiere
decir que se hizo una buena reconstrucción de la señal descompuesta.
Figura 22. Procesamiento 2 del caso 3
Justificaciones y
conclusiones:
En esta segunda ventana se muestran los gráficos del segundo procesamiento y la
comparación de los valores de la SNR de ambos procesamientos.
-
En primer lugar, se tiene la gráfica de entrada de la señal de audio. La gráfica se
realiza en frecuencia relativa con intervalo de [0;2π]. La segunda gráfica muestra
el espectro de la señal de salida del recuantizador del segundo procesamiento,
20
que a su vez es la señal de salida de este (𝑦2 (𝑛)).
-
Los punteros de ambas gráficas nos dan información de la señal de entrada y la
salida del procesamiento en los mismos valores de frecuencia. Como se puede
observar en la entrada, el módulo de la frecuencia x = 0,0510049 rad es Y =
430,728 y en la salida el módulo de la misma frecuencia X = 0,0510049 rad es Y
= 443,708. Esto nos indica que la variación entre la entrada y la salida es
considerable, lo mismo ocurre con otros valores de frecuencia. Esto genera un
error que luego se verá reflejado en el valor de la SNR del procedimiento 2.
-
Otro punto importante de esta segunda ventana es la comparación realizada de
los valores de las SNR que se han obtenido de ambos procesamientos. Para el
cálculo de este valor se tomó entre la señal de salida del submuestreador y la
señal de entrada del audio. En el caso 1, se obtiene un valor de SNR de 27,2932
dB para el procesamiento 1, y un SNR de 16,5287 dB para el procesamiento 2.
-
El rango de la SNR óptimo es entre 18 y 30 dB y un valor mayor significa que
existe menor cantidad de ruido en la señal.
-
Al realizar la comparación entre ambos valores obtenidos, se puede concluir que
el primer procesamiento tiene una mejor relación señal ruido.
-
El significado del valor de la SNR se puede ver reflejado cuando se reproducen
los sonidos, al reproducir la señal con un mayor SNR se puede escuchar un
sonido más limpio a comparación que con el sonido de menor SNR.
-
Mientras mayor sea la diferencia entre los valores de frecuencia en la entrada y la
salida, se genera un error mayor, en consecuencia, se hace presencia de un
mayor ruido en el audio reproducido.
21
Figura 23. Gráfica de señales de salida y la original del caso 3
Figura 24. Gráfica de señales de salida y la original del caso 3
22
Justificaciones y
Observaciones:
-
En esta última ventana se presentan las gráficas de las señales de salida en el tiempo
de ambos procesamientos y la señal original.
-
Como se puede apreciar, la señal de color rojo es la señal original, la señal de color
verde es la salida del primer procesamiento y la señal de color azul es la salida del
segundo procesamiento, es la que tiene una mayor presencia en la gráfica a
comparación de las otras dos. Esto se puede explicar con ayuda de la SNR. Esta
señal al tener un menor valor de SNR, su señal posee más ruido, y eso permite que su
señal sea más predominante.
-
En la figura anterior, muestra una vista más cercana de los gráficos. En esta se puede
observar que la señal del primer procesamiento (verde), es la que más se aproxima a
los valores de la señal original, es decir, es la mejor reconstruida y tiene una menor
cantidad de ruido.
-
Realizando la comparación entre ambas señales, se puede concluir que en el caso 2
el mejor procesamiento es el primero, ya que se puede observar una mejor
reconstrucción de la señal, obteniendo un valor de SNR óptimo.
23
Caso 4:
𝐿 = 16
𝑀 = 16
π‘œπ‘Ÿπ‘‘π‘’π‘›1 = π‘œπ‘Ÿπ‘‘π‘’π‘›2 = 20
π‘Ÿπ‘ = 4
𝑃 = 1000
Figura 25. Procesamiento 1 del caso 4
24
Figura 26. Procesamiento 1 del caso 4 más detallado
Justificaciones y
conclusiones:
-
En la gráfica del espectro de la señal sobremuestreada se observa que se
encuentra en el intervalo de [0-2πœ‹] rad en el eje X. Además, se observa que la
señal de entrada fue comprimida en un factor de L=16. Por ello, la señal
comprimida se repite cada
-
2πœ‹
16
≈ 0.393 π‘Ÿπ‘Žπ‘‘.
En la gráfica del espectro de la señal filtrada 1 se observa que la señal no es
filtrada correctamente, ya que deja pasar también a algunas frecuencias mayores
que la frecuencia de corte πœƒπ‘ =
πœ‹
16
≈ 0.196 π‘Ÿπ‘Žπ‘‘ como la frecuencia 0.388 rad. Esto
se debe al bajo orden que tiene el filtro pasabajas del interpolador, el cual es 20.
Cuando el orden del filtro pasabajas es menor, este se diferencia más de un filtro
ideal pasabajas. Asimismo, la amplitud máxima de la señal sobremuestrada se
incrementa en un factor de L=16, debido a la ganancia del filtro pasabajas del
interpolador. Es decir, la amplitud máxima cambia de 313.912 a 313.912 × 16 =
25
5022.592 muy cercano al valor máximo 5021.88 que se muestra en la siguiente
figura:
Figura 27. Detalle del Espectro de la señal Filtrada 1
-
En la gráfica del espectro de la señal recuantizada por factor de escala adaptivo
se observa que el espectro de la señal filtrada 1 mantiene su forma y presenta
una amplitud muy cercana al de la señal recuantizada.
-
En la gráfica del espectro de la señal filtrada 2 se observa que la mayoría de las
frecuencias mayores a la frecuencia de corte de 0.196 rad disminuyen su
amplitud debido a la ganancia unitaria del filtro pasabajas del decimador.
Asimismo, las frecuencias menores a la frecuencia de corte de 0.196 rad
mantienen su amplitud máxima tal como se observa en la siguiente figura:
Figura 28. Detalle del Espectro de la señal Recuantizada
Figura 29. Detalle del Espectro de señal Filtrada 2
.
-
En la gráfica del espectro de la señal submuestreada, la cual es la señal
reconstruida 𝑦1 (𝑛) se aprecia que el valor máximo de esta señal es cercano al
valor máximo de la señal de entrada.
26
Figura 30. Procesamiento 2 del caso 4
Justificaciones y
conclusiones:
En esta ventana se muestran los gráficos del segundo procesamiento y la comparación
de los valores de SNR de ambos procesamientos.
-
Al lado izquierdo se encuentra la gráfica del espectro de la señal del audio
original. Al lado derecho se encuentra la gráfica del espectro de la señal de salida
del recuantizador por factor de escala adaptivo, la cual es la señal reconstruida
𝑦2 (𝑛). Ambas gráficas se muestran en el intervalo de [0;2πœ‹] rad en el eje x.
-
Como se observa en dichas gráficas, en la entrada, el módulo de la frecuencia x
= 0,0510049 rad es y = 430,728 y en la salida el módulo de la misma frecuencia x
= 0,0510049 rad es y = 443,708. Esto nos indica que la variación entre la entrada
y la salida es considerable, lo mismo ocurre con otros valores de frecuencia.
-
El rango de la SNR óptimo es entre 18 y 30 dB y un valor mayor significa que
existe menor cantidad de ruido en la señal.
-
Al comparar ambos valores obtenidos, se puede concluir que el segundo
27
procesamiento tiene una mejor relación señal ruido.
-
Al reproducir la señal con un mayor SNR se puede escuchar un sonido más
limpio a comparación que con el sonido de menor SNR.
-
Mientras mayor sea la diferencia entre los valores de frecuencia en la entrada y la
salida, se genera un error mayor, por lo que, existe un mayor ruido en el audio
reproducido.
Figura 31. Gráfica de las señales resultantes y la original del caso 4
Justificaciones y
Observaciones:
-
En esta última ventana las gráficas en el tiempo de las 3 señales solicitadas
corroboran lo ya analizado previamente.
-
La señal reconstruida con el procesamiento 1 presenta una gráfica muy diferente a la
original. Lo que quiere decir que, existe mayor presencia de ruido.
-
La señal reconstruida con el procesamiento 2, también tiene diferencias con la señal
original, sin embargo, estas son mucho menores en comparación con la otra gráfica.
-
Realizando la comparación entre ambas señales, se puede concluir que en el caso 4
el mejor procesamiento es el segundo, ya que se puede observar una mejor
reconstrucción de la señal, obteniendo un valor de SNR óptimo.
28
Experiencia 2: Ecualizador Digital
Objetivos:
• Implementación de un ecualizador digital para audio utilizando descomposición/reconstrucción
sub- banda y wavelets de Daubechies.
•
Obtener un producto final con interfaz visual Guide que permita al usuario calibrar la calidad de
audio en función de las ganancias establecidas y de las bandas proporcionadas por el programa.
•
Verificar las aplicaciones de la descomposición/reconstrucción sub-banda.
Requerimientos del Programa:
•
El ajuste de las ganancias debe ser hecho a través de “sliders”.
•
Las ganancias deben estar expresadas en “dBs” en el rango [-6dB, 6dB].
En el informe:
1. INTERFAZ DEL ECUALIZADOR DE 15 BANDAS
Figura 32. Interfaz ecualizador de 15 bandas con señal de entrada y salida en una misma pantalla
29
Figura 33. Interfaz ecualizador de 15 bandas con pantalla de señal de entrada y salida divididas
30
2. ECUALIZADOR COMERCIAL DE REFERENCIA
Para el diseño del ecualizador se utilizó como referencia al ecualizador profesional Behringer
15-Band Stereo Graphic Equalizer FBQ FeedBack Detection System. Este dispositivo, consta
de 15 bandas y la capacidad de trabaja señales de dos canales.
Figura 34. Ecualizador comercial Behringer 15-Band Stereo (Mitad izquierda)
Figura 35. Ecualizador comercial Behringer 15-Band Stereo parte trasera (Mitad derecha)
31
3. ÁRBOL DE DESCOMPOSICIÓN-RECONSTRUCCIÓN SUB-BANDA
Árbol de descomposición del ecualizador de 15 bandas
B10,1
[021.533023Hz]
B9,1
[043.066406Hz]
B8,1
[086.132813Hz]
B7,1
[0172.26563Hz]
B6,1
[0344.53125Hz]
B5,1
[0689.0625Hz]
B4,1
[01378.125Hz]
B3,1
[0-2756.25Hz]
B4,2
[2756.25Hz1378.125Hz]
B2,1
[0-5512.5Hz]
B1,1
[0-11025Hz]
B2,2
[11025Hz5512.5Hz]
X(n)
fs=44100Hz
[0-22050Hz]
B3,2
[5512.5Hz2756.25Hz]
4kHz
B3,3
[11025Hz8268.75Hz]
10kHz
B3,4
[5512.5Hz8268.75Hz]
B5,2
[1378.125Hz689.0625Hz]
B6,2
[689.0625Hz344.53125Hz]
1kHz
B8,2
[172.26563Hz86.132813Hz]
B9,2
[86.132813Hz43.166406Hz]
B10,2
[43.066406Hz21.533023Hz]
20Hz
G1
40Hz
G2
X
40Hz
BR10,1
[021.533023Hz]
BR10,2
[43.066406Hz21.533023Hz]
G3
63Hz
63Hz
X
B9,3
[172.26563Hz- 160Hz
129.19922Hz]
G5
B9,4
100Hz
[86.132813Hz129.19922Hz]
G4
X
X
B7,2
250Hz
[334.53125Hz172.26563Hz]
G6
B7,3
[689.0625Hz516.79688Hz]
G8
630Hz
20Hz
X
BR9,1
[043.066406Hz]
BR8,1
[086.132813Hz]
BR9,2
[86.132813Hz43.166406Hz]
BR9,3
160Hz [172.26563Hz129.19922Hz]
100Hz
BR9,4
[86.132813Hz129.19922Hz]
BR8,2
[172.26563Hz86.132813Hz]
250Hz
X
630Hz
X
B7,4
[344.53125Hz- 400Hz
516.79688Hz]
G7
X
BR7,1
[0172.26563Hz]
BR7,2
[334.53125Hz172.26563Hz]
BR7,3
[689.0625Hz516.79688Hz]
BR7,4
400Hz
[344.53125Hz516.79688Hz]
G9
BR6,1
[0344.53125Hz]
BR6,2
[689.0625Hz344.53125Hz]
1kHz
BR5,2
[1378.125Hz689.0625Hz]
2.5kHz
BR5,3
[2756.25Hz2067.1875Hz]
1.6kHz
BR5,4
[1378.125Hz2067.1875Hz]
X
B5,3
[2756.25Hz- 2.5kHz
2067.1875Hz]
G11
B5,4
1.6kHz
[1378.125Hz2067.1875Hz]
G10
X
X
G12
BR5,1
[0689.0625Hz]
BR4,1
[01378.125Hz]
BR3,1
[0-2756.25Hz]
BR4,2
[2756.25Hz1378.125Hz]
BR2,1
[0-5512.5Hz]
4kHz
BR3,2
[5512.5Hz2756.25Hz]
10kHz
BR3,3
[11025Hz8268.75Hz]
6.3kHz
BR3,4
[5512.5Hz8268.75Hz]
X
G14
X
6.3kHz
G13
X
BR1,1
[0-11025Hz]
BR2,2
[11025Hz5512.5Hz]
n)
fs=44100Hz
[0-22050Hz]
B1,2
[22050Hz11025Hz]
16kHz
G15
X
Figura 36. Árbol de descomposición y reconstrucción sub-banda
16kHz
BR1,2
[22050Hz11025Hz]
4. CASOS DE ECUALIZACIÓN DE -6 dB a 6 dB y -12 dB a 12 dB
Presentar 4 casos de ecualización bien diferenciados (2 con [-6dB, 6dB] y 2 con [-12dB, 12dB]):
En cada caso presentar la pantalla del ecualizador donde se evidencie la disposición de las
sliders y también la gráfica donde se muestra en un mismo cuadro de figura y con diferentes
colores y leyenda el espectro en frecuencia de módulo en Hz [0, fs/2] de la señal original y la
señal resultante de la ecualización correspondiente.
Ecualizador con ganancias de -6dB a 6dB
Caso 1:
Se procesó una señal de audio de 8.09 segundos aproximadamente. Dicho audio presenta
mayores amplitudes en sus tonos bajos. Debido a esto, en la experiencia se decidió amplificar
las señales de frecuencias bajas con 6dB y atenuar en -6dB las señales de frecuencias altas
(de poca magnitud).
En la experiencia se notó y comprobó mediante audio, que la señal de salida se escuchó con
un volumen aparentemente bajo y con sonidos más lejanos.
Banda (Hz)
Fc
(Hz)
Ganancia
(dB)
[0-21.53]
20
6
[43.07-21.53]
40
6
[86.13-43.07]
63
6
[86.13-129.20]
100
6
[172.27-129.20]
160
6
[334.53-172.27]
250
6
[334.53-516.80]
400
6
[689.06-516.80]
630
6
[1378.13-689.06]
1000
-6
[1378.13-2067.19]
1600
-6
[2756.25-067.19]
2500
-6
[5512.50-756.25]
4000
-6
[5512.50-268.75]
6300
-6
[11025-8268.75]
10000
-6
[22050-11025]
16000
-6
33
Caso 2:
En este caso se tiene un audio de 3.95 segundos aproximadamente, en el cual se escuchan
voces agudas. Asimismo, en el ecualizador se aplican ganancias mayores a 0 dB a partir de
frecuencias mayores a 1 kHz. Además, las frecuencias bajas, es decir, sonidos graves, son
atenuados en -6 dB a partir de frecuencias menores a 1 kHz. Por lo que la señal ecualizada
resulta con tonos agudos más resaltados a comparación de los graves que fueron atenuados.
Observación: El audio procesado tiene una duración de 3.95 segundos aproximadamente, y
como el programa solo permite como mínimo cierta cantidad de muestras (262144 muestras),
el audio de no tener la cantidad de muestras suficientes, se le aumentará el tiempo de
duración añadiéndole (en software) muestras de ganancia 0 para hacer del audio una
duración más larga (hasta 5.9443 segundos).
Banda (Hz)
Fc
(Hz)
Ganancia
(dB)
[0-21.53]
20
-6
[43.07-21.53]
40
-6
[86.13-43.07]
63
-6
[86.13-129.20]
100
-6
[172.27-129.20]
160
-6
[334.53-172.27]
250
-6
[334.53-516.80]
400
-6
[689.06-516.80]
630
-6
[1378.13-689.06]
1000
-1.28
[1378.13-2067.19]
1600
0.24
[2756.25-067.19]
2500
2.48
[5512.50-756.25]
4000
4.4
[5512.50-268.75]
6300
6
[11025-8268.75]
10000
6
[22050-11025]
16000
6
34
Ecualizador con ganancias de -12dB a 12dB
Caso 3:
En el tercer caso se tiene un audio de donde el principal sonido es la de una guitarra eléctrica.
Las frecuencias fundamentales de los tonos de las guitarras eléctricas están comprendidas
entre 82 Hz a 1.3 kHz y en armónicos de 1 a 3.5 kHz. Es por ello, que en la experiencia se
atenuaron los tonos comprendidos entre las frecuencias mencionadas y se notó que el sonido
de la guitarra disminuyó respecto a los demás sonidos involucrados como la batería.
Banda (Hz)
Fc
(Hz)
Ganancia
(dB)
[0-21.53]
20
0
[43.07-21.53]
40
0
[86.13-43.07]
63
0
[86.13-129.20]
100
-12
[172.27-129.20]
160
-12
[334.53-172.27]
250
-12
[334.53-516.80]
400
-12
[689.06-516.80]
630
-12
[1378.13-689.06]
1000
-12
[1378.13-2067.19]
1600
-12
[2756.25-067.19]
2500
-12
[5512.50-756.25]
4000
-12
[5512.50-268.75]
6300
0
[11025-8268.75]
10000
0
[22050-11025]
16000
0
35
Caso 4:
Este audio está constituido por tonos graves conformados por la batería y tambores, además de
una voz de tenor que alcanza frecuencias altas. En la experiencia, se planteo atenuar los tonos
de alta frecuencia es decir principalmente la voz del tenor y resaltar lo tonos graves de los
tambores e instrumentos afines que conformaron el audio.
Banda (Hz)
Fc
Ganancia
(Hz)
(dB)
[0-21.53]
20
12
[43.07-21.53]
40
12
[86.13-43.07]
63
-9.44
[86.13-129.20]
100
-12
[172.27-129.20]
160
-12
[334.53-172.27]
250
-12
[334.53-516.80]
400
-12
[689.06-516.80]
630
-12
[1378.13-689.06]
1000
-12
[1378.13-2067.19]
1600
-12
[2756.25-067.19]
2500
-12
[5512.50-756.25]
4000
-12
[5512.50-268.75]
6300
-12
[11025-8268.75]
10000
-12
[22050-11025]
16000
-12
36
ANEXO 1
Supermuestreador:
x : vector de señal a supermuestrear (columna)
L : factor de supermuestreo
z=[x’ ; zeros(L-1,length(x))];
z=reshape(z, L*length(x),1); % vector de salida supermuestreado
Submuestreador:
x : vector de señal a submuestrear (columna)
M : factor de submuestreo
z=x(1:M:end); % vector de salida
Filtraje FIR con eliminación de retardo
x : vector de señal a filtrar (columna)
D : Factor de supermuestreo/submuestreo G:
Ganancia del filtro
orden : orden del filtro (debe ser par)
fcorte=pi/D;
h=G*fir1(orden, fcorte/pi)
% respuesta impulsiva del filtro pasa-bajas
z=conv(x,h);
z=z((orden/2)+1:end-(orden/2)); % eliminación de la dispersión y retardo generado por la convolución
Recuantización por factor de escala fijo
x : vector de muestras a recuantizar (columna) rp:
bits/muestra a obtener con la recuantización fe=1;
%factor de escala fijo
rk=(2^(rp-1))-1;
z=fe*round(x*rk/fe)/rk; %vector reproducible resultante
SNR
x : vector de muestras original (columna)
z: vector de muestras resultante de la recuantización e=zx; %vector de error de cuantización
Ex=x’ * x;
%Energía de la señal original
Ee=(e’*e)+1E-20; %Energía del vector de error de cuantización
SNR=10*log10(Ex/Ee); % Cálculo de la SNR en dBs.
37
Obtención del espectro de módulo en Hz en la región de interés
x : vector de muestras al cual se le desea calcular el espectro de modulo (columna)
[X,f]=freqz(x,1,16384,fs);
plot(f,abs(X));
Obtención del espectro de módulo en radianes en la región de interés
x : vector de muestras al cual se le desea calcular el espectro de modulo (columna)
[X,f]=freqz(x,1,16384,2*pi);
plot(f,abs(X));
Obtención del espectro de módulo en radianes en la región [0, 2π]
x : vector de muestras al cual se le desea calcular el espectro de modulo (columna)
[X,f]=freqz(x,1,16384,2*pi,’whole’);
plot(f,abs(X));
ANEXO 2
clear all, close all , clc
%% Captura una señal a traves de un microfono
Fs=8000;
tc=4;
nc=1;
r=16;
%
% x=audiorecorder(Fs,r,nc);
% disp('Grabando')
% record(x,tc);
% pause(tc+0.5);
% disp('Grabacion terminada')
% xn=getaudiodata(x,'double');
[xn,Fs]=audioread('TP_PDI_amp.wav');
%plot(xn);
%Tiempo
T=1/Fs;
tc=length(xn)*T;
t=0:T:tc-T;
t=t';
%% Sobremuestreo
L=64;
z=[xn'; zeros(L-1,length(xn))];
z=reshape(z,L*length(xn),1);
%% Primer filtro
D=L;
G=L;
orden=600;
fcorte=pi/D;
h=G*fir1(orden,fcorte/pi);
z2=conv(z,h);
z2=z2((orden/2)+1:end-(orden/2));
%% Recuantizacion a escala adaptativo
38
TAMX=length(z2);
Yf=[];
fe=1;
rp=4;
z2_2=z2;
var2=[];
P=1000;
%var2: Matriz de ceros de lo faltante en TAMX
if mod(TAMX,P)
var2=zeros(P-mod(TAMX,P),1);
z2_2=[z2;var2];
end
for i=1:P:TAMX
V=z2_2(i:i+P-1);
fe=max(abs(V));
V=round(V*((2^(rp-1))-1)/fe);
V=V*fe/((2^(rp-1))-1);
Yf=[Yf;V];
end
%%
Yf_act= Yf(1:length(Yf)-length(var2)); %Nueva Yf
%%
M=64;
%% Segundo filtro
D=M;
G=1;
orden=600;
fcorte=pi/D;
h=G*fir1(orden,fcorte/pi);
z3=conv(Yf_act,h);
z3=z3((orden/2)+1:end-(orden/2));
%% Sub muestreo
z4=z3(1:M:end);
%% Calculo de SNR X1
e=z4-xn;
Ex=xn'*xn;
Ee=(e'*e)+1E-20;
SNR1=10*log10(Ex/Ee);
%% SEGUNDO PROCESO SOLO RECUANTIZADO
%% Recuantizacion a escala adaptativo
TAMX=length(xn);
Yf2=[];
xn2=xn
fe=1;
rp=4;
var1=[]
P=1000;
if mod(TAMX,P)
var1=zeros(P-mod(TAMX,P),1);
xn2=[xn;var1];
39
end
for i=1:P:TAMX
V=xn2(i:i+P-1);
fe=max(abs(V));
V=round(V*((2^(rp-1))-1)/fe);
V=V*fe/((2^(rp-1))-1);
Yf2=[Yf2;V];
end
Yf2_act= Yf2(1:length(Yf2)-length(var1)); %Nueva Yf2
%% SNR2
e=Yf2_act-xn;
Ex=xn'*xn;
Ee=(e'*e)+1E-20;
SNR2=10*log10(Ex/Ee);
ANEXO 3
close all, clear all, clc
[x,Fs]=audioread('Radiohead.wav');
%sound(x,Fs)
%% Conversion estandar
Fs0=44100;
[xn,tc]=Conversion(Fs0,Fs,x);
figure()
plot(xn)
%% Filtros de descomposicion y reconstruccion
%Generacion de waveletes
[hd,gd,hr,gr] = wfilters('db25');
figure()
subplot(2,2,1)
stem(hd)
title('Filtro pasabaja de descomposición')
subplot(2,2,2)
stem(gd)
title('Filtro pasalta de descomposicion')
subplot(2,2,3)
stem(hr)
title('Filtro pasabaja de reconstrucción')
subplot(2,2,4)
stem(gr)
title('Filtro pasalta de reconstrucción')
xlabel(['The four filters for ','db25'])
%--figure()
subplot(2,2,1)
[H1,frec1]=freqz(hd,1,8192,2*pi);
40
plot(frec1,abs(H1)),grid on
xlabel("frecuencia(rad)"),ylabel("|H1|"),title("Respuesta en frecuencia filtro pasabajas de
descomposición")
subplot(2,2,2)
[H2,frec2]=freqz(gd,1,8192,2*pi);
plot(frec2,abs(H2)),grid on
xlabel("frecuencia(rad)"),ylabel("|H1|"),title("Respuesta en frecuencia filtro pasaltas de
descomposición")
subplot (2,2,3)
[H3,frec3]=freqz(hr,1,8192,2*pi);
plot(frec3,abs(H3)),grid on
xlabel("frecuencia(rad)"),ylabel("|H1|"),title("Respuesta en frecuencia filtro pasabajas de
reconstrucción")
subplot (2,2,4)
[H4,frec4]=freqz(gr,1,8192,2*pi);
plot(frec4,abs(H4)),grid on
xlabel("frecuencia(rad)"),ylabel("|H1|"),title("Respuesta en frecuencia filtro pasaltas de
reconstrucción")
%% Descomposicion
B00=xn'; % Nivel 0
[B11,B12]=dwwt(B00,hd,gd);
[B21,B22]=dwwt(B11,hd,gd);
[B31,B32]=dwwt(B21,hd,gd);
[B33,B34]=dwwt(B22,hd,gd);
[B41,B42]=dwwt(B31,hd,gd);
[B51,B52]=dwwt(B41,hd,gd);
[B53,B54]=dwwt(B42,hd,gd);
[B61,B62]=dwwt(B51,hd,gd);
[B71,B72]=dwwt(B61,hd,gd);
[B73,B74]=dwwt(B62,hd,gd);
[B81,B82]=dwwt(B71,hd,gd);
[B91,B92]=dwwt(B81,hd,gd);
[B93,B94]=dwwt(B82,hd,gd);
[B101,B102]=dwwt(B91,hd,gd);
% Nivel 1
% Nivel 2
% Nivel 3
% Nivel 4
% Nivel 5
% Nivel 6
% Nivel 7
% Nivel 8
% Nivel 9
% Nivel 10
%%
figure()
grafica(B00,1,'Respuenta en frecuencia de señal de entrada',' (44.1K)',1600);
grafica(B12,16,'SubBanda B12',' (16K)',500);
grafica(B34,14,'SubBanda B34',' (6.3K)',500);
grafica(B33,15,'SubBanda B33',' (10K)',50);
grafica(B32,13,'SubBanda B32',' (4K)',500);
grafica(B54,11,'SubBanda B54',' (1.6k)',500);
grafica(B53,12,'SubBanda B53',' (2.5k)',500);
grafica(B52,10,'SubBanda B52',' (1K)',500);
grafica(B74,8,'SubBanda B74',' (400)',300);
grafica(B73,9,'SubBanda B73',' (630)',300);
grafica(B72,7,'SubBanda B72',' (250)',300);
grafica(B94,5,'SubBanda B94',' (100)',150);
grafica(B93,6,'SubBanda B93',' (160)',150);
grafica(B92,4,'SubBanda B92',' (63)',150);
grafica(B101,2,'SubBanda B101',' (20)',30);
grafica(B102,3,'SubBanda B102',' (40)',30);
41
sgtitle('Señal de entrada y Subbandas de descomposicion')
%%
Gdb=[-6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 ];
GVolt=10.^(Gdb/20);
BR101=GVolt(1)*B101;
BR102=GVolt(2)*B102;
BR92=GVolt(3)*B92;
BR93=GVolt(4)*B93;
BR94=GVolt(5)*B94;
BR72=GVolt(6)*B72;
BR73=GVolt(7)*B73;
BR74=GVolt(8)*B74;
BR52=GVolt(9)*B52;
BR53=GVolt(10)*B53;
BR54=GVolt(11)*B54;
BR32=GVolt(12)*B32;
BR33=GVolt(13)*B33;
BR34=GVolt(14)*B34;
BR12=GVolt(15)*B12;
%% RECONSTRUCCION
BR91=rwwt(BR101,BR102,hr,gr);
BR81=rwwt(BR91,BR92,hr,gr);
BR82=rwwt(BR93,BR94,hr,gr);
BR71=rwwt(BR81,BR82,hr,gr);
BR61=rwwt(BR71,BR72,hr,gr);
BR62=rwwt(BR73,BR74,hr,gr);
BR51=rwwt(BR61,BR62,hr,gr);
BR41=rwwt(BR51,BR52,hr,gr);
BR42=rwwt(BR53,BR54,hr,gr);
BR31=rwwt(BR41,BR42,hr,gr);
BR21=rwwt(BR31,BR32,hr,gr);
BR22=rwwt(BR33,BR34,hr,gr);
BR11=rwwt(BR21,BR22,hr,gr);
SR=rwwt(BR11,BR12,hr,gr);
%%
figure()
grafica(BR91,1,'SubBanda BR91',' ',30);
grafica(BR81,2,'SubBanda BR81',' ',1000);
grafica(BR82,3,'SubBanda BR82',' ',1000);
grafica(BR71,4,'SubBanda BR71',' ',1000);
grafica(BR61,5,'SubBanda BR61',' ',1000);
grafica(BR62,6,'SubBanda BR62',' ',1000);
grafica(BR51,7,'SubBanda BR51',' ',1000);
grafica(BR41,8,'SubBanda BR41',' ',1000);
grafica(BR42,9,'SubBanda BR42',' ',1000);
grafica(BR31,10,'SubBanda BR31',' ',1000);
grafica(BR21,11,'SubBanda BR21',' ',1200);
grafica(BR22,12,'SubBanda BR22',' ',1200);
grafica(BR11,13,'SubBanda BR11',' ',1600);
grafica(SR,14,'Señal Reconstruida',' ',1600);
sgtitle('Subbandas de reconstrucción y señal reconstruida')
42
%% Funciones
function [y,tc] = Conversion(Fs0,Fs,x)
%Conversion monocanal
x=x(:,1);
if Fs0 ~= Fs
%Calculo de L y M
mcm=gcd(Fs,Fs0);
L=Fs0/mcm;
M=Fs/mcm;
%Sobremuestreo
z=[x'; zeros(L-1,length(x))];
z=reshape(z,L*length(x),1);
%Filtro
G=L;
fcorte=min(pi/L,pi/M);
orden=600;
h=G*fir1(orden,fcorte/pi);
z2=conv(z,h);
z2=z2((orden/2)+1:end-(orden/2));
%Submuestreo
z3=z2(1:M:end);
else
z3=x;
end
%Recuantizado
rp=16;
fe=1;
rk=(2^(rp-1))-1;
z4=fe*round(z3*rk/fe)/rk;
%Asegura el rango de -1 a 1
for i=1:length(z4)
if(z4(i))>1
z4(i)=1;
end
if(z4(i)<-1)
z4(i)=-1;
end
end
%Adaptacion del tiempo
if length(z4)<262144
z4=[z4
zeros(262144-length(z4),1)];
end
% Dismuinucion del tiempo
T=1/Fs0;
y=z4(1:262144);
tc=length(y)*T;
end
function []=grafica(x,i,titulo,Fcorte,tam)
subplot(4,4,i)
43
[H,frec]=freqz(x,1,8192,2*pi);
plot(frec,abs(H)),grid on
xlabel("frecuencia(rad)"),ylabel("|H|"),title(" "+titulo+Fcorte)
xlim([0 pi])
ylim([0 tam])
end
44
Download