Está en la página 1de 9

Facultad de Ingeniería

Escuela Profesional de Ingeniería Electrónica, Mecatrónica y Telecomunicaciones y Redes


PROCESAMIENTO AVANZADO DE SEÑALES
E IMÁGENES – EL-84 - (2018-2)

LABORATORIO NO. 1

CUANTIZACIÓN Y DESCOMPOSICIÓN/RECONSTRUCCIÓN
SUB-BANDA

EXPERIENCIA 1: RECUANTIZACIÓN (10 puntos)

Objetivos:

 Implementación de la cuantización logarítmica de ley “u” y ley “A”. Asimismo la


recuantización por factor de escala adaptivo.

 Evaluar el desempeño de ambos formatos de cuantización utilizando métodos objetivos


y subjetivos.

 Obtener un producto final con interfaz visual Guide que permita evaluar el desempeño
de los formatos de cuantización logarítmica.

Materiales:

 Computador con sistema operativo Windows y tarjeta de sonido.

 Parlantes y Micrófono.

 MATLAB 2013 o versiones más avanzadas.

1
Descripción de la experiencia:

En esta experiencia se requiere construir un programa que permita medir el desempeño de los
formatos de la cuantización logarítmica de ley “u” , ley “A” y factor de escala adaptivo utilizando
señales de voz capturadas mediante la tarjeta de sonido.

En la señal capturada deberá verificarse 3 comportamientos: nivel bajo de señal, nivel medio de
señal y nivel alto de señal.

Implementación de factor de escala adaptivo

Sea “X” el vector de muestras capturado (columna). La lectura del vector por bloques (de
tamaño “P”) y la recuantización por bloques se puede realizar utilizando la iteración:

TAMX=length(X); % tamaño del vector original


Yf=[]; % vector vacío inicial
rp=4; % nueva resolución
P=512; % tamaño de bloque

for i=1:P:TAMX-P+1
V=X(i:i+P-1); %Extracción del bloque del vector original.
fe=max(abs(V)); % Cálculo del factor de escala
V=round(V*((2^(rp-1))-1)/fe); % generación de vector de enteros
V=V*fe/((2^(rp-1))-1); % generación de vector reproducible
Yf=[Yf;V]; % Concatenación de bloques reproducibles y obtención del vector total
reproducible.
end;

Implementación del cuantizador de ley “u”:


Para la implementación de la ley “u” llevar en cuenta lo siguiente:

Sea X el vector de muestras de voz capturado. Si se desea amplificar la señal vía el


compresor ley “u” se debe aplicar la siguiente ecuación.

2
abs ( X )

Y=
( (
log 1+u
fe )) .∗sign ( X )
log ( 1+ u)

donde sign(x) es la función signo del Matlab y “fe” el factor de escala de las señales
capturadas vía MATLAB.
Observe que antes del asterisco hay un punto, lo cual implica que la multiplicación es
componente a componente.

El vector resultante amplificado Y es luego cuantizado utilizando la técnica del factor de


escala fijo. Por tanto, dado que se trata de una señal de voz capturada con MATLAB, el factor
de escala para este caso debe ser igual a 1.

De acuerdo a ello, se tiene:

Y Q=round ( Y∗(2rp−1−1 ) )

donde “rp” es el numero de bits al cual se esta recuantizando al vector Y .

Para colocar
YQ en el rango [1,-1], se debe utilizar la siguiente expresión:

YQ
Y d=
2rp−1−1

Sin embargo el vector resultante


Yd está todavía en el dominio logarítmico (como prueba
usted puede reproducir este vector para verificar el nivel de amplificación o intensidad de la
voz).

Para colocar
Yf en condiciones normales se aplica el expansor de la “ley u” definido como:

f e∗( exp ( log (1+u )∗abs ( Y d ) )−1)


Y f =sign ( Y d ) .∗ ( u )
donde
Yf es el vector recuantizado que contiene la señal de voz resultante (que podrá ser
reproducido vía tarjeta de sonido para verificar los efectos del proceso de recuantización).

Implementación del cuantizador de ley “A”:


Para la implementación del cuantizador de ley “A” debe repetirse los mismos pasos de la ley
“u”, con excepción de utilizar en este caso el compresor y expansor de la ley “A”:

3
Compresor:

A X (n) X (n) 1
( ) ( )
{
∗ , abs ≤
1+ logA fe fe A
Y ( n )=
sign( X ( n )) abs( X ( n) ) 1 X (n)
1+log ( A ) ( (
∗ 1+ log A*
fe )) ,
A
≤abs
( )
fe
≤1

Igual que en la ley “u”, sobre el vector Y se debe aplicar recuantización y obtener el vector
Y d para ser ingresado al expansor.

Expansor:

f e∗( 1+log ( A )) 1

{
∗Y d ( n ) , a bs( Y d ( n) )≤
A 1+ log ( A )
Y f ( n )=
f e *sign ( Y d ( n )) .*exp ( [( 1+log ( A )) *abs( Y d ( n )) ]−1 ) 1
, ≤a bs( Y d ( n ))≤1
A 1+ log ( A )

Calculo de la SNR:

La SNR de cualquier vector recuantizado se calcula de la siguiente forma:

Primero se obtiene el vector del error de cuantización “eq” (restando siempre el vector original

X del vector recuantizado resultante


Yf ):

eq=Y f −X

Luego la energía del error se calcula como:

Eq =(eq' ∗eq)+(1 E−20)


4
donde el apóstrofe indica la transpuesta del vector (se asume que todos los vectores se
encuentran en columna).

En seguida se calcula la energía de la señal original como:

E x= X '∗X
y finalmente se obtiene la SNRdB:

Ex
SNR dB =10 log 10
( )
Eq

Requerimientos para el programa:

 El usuario deberá tener la opción de elegir primeramente el número de bits por muestra
al cual se desea recuantizar la señal.

 En el caso del factor de escala adaptivo el usuario deberá tener la opción de elegir el
tamaño de bloque a utilizar.

 El usuario deberá tener la opción de ingresar el valor de “A” y el valor de “u”


correspondiente.

 El programa deberá capturar una señal de voz vía micrófono con duración, frecuencia
de muestreo y bits por muestra definidos por el usuario.

 Como resultado el programa deberá presentar la gráfica de la SNR de cuantización


calculada por bloques. El tamaño de cada bloque de SNR debe ser definido por el
usuario.
En un mismo cuadro de figura se deben presentar las funciones SNR (obtenidas por
cada formato de cuantización) y la señal original (todas las funciones deben tener el
mismo tamaño en la gráfica según lo explicado en clase). Todas las gráficas deben
presentar colores, leyenda y ejes debidamente rotulados.

 El programa deberá también mostrar las gráficas de la función de densidad de


probabilidad (fdp) del error de cuantización para los 3 métodos de cuantización. Para
este caso el usuario deberá ingresar el parámetro de resolución necesario para graficar

5
la “fdp”. En un mismo cuadro de figura deberá colocar las 3 graficas de “fdp” utilizando
colores, leyenda y rótulos de ejes.

 Finalmente se deberá tener la opción de reproducir audiblemente la señal original, la


señal resultante del compresor, la señal resultante de la recuantización (la
reproducible) y la señal resultante del expansor. Todo esto para los formatos de
cuantización: ley “A” y ley “u”. Asimismo deberá tener la opción de reproducir la señal
resultante de la recuantización por factor de escala adaptivo.

 Todos los resultados y graficas resultante se deben mostrar simultáneamente en la


interfaz GUIDE. El usuario debe tener la opción de hacer zoom en las figuras obtenidas
y realizar evaluación numérica en cualquier punto de las funciones graficadas.

Resultados a presentar en documento (ver formato al final de la guía)

1.1.- Figura de la interfaz visual del GUIDE del producto presentado (donde se visualice sus
opciones). No comentar. (Resultado 1.1)

1.2.- Tres cuadros de graficas de SNR para los 3 métodos de reacuantización. Las gráficas
deberán corresponder a: rp=3, rp=5 y rp=8. Comentar los resultados y justificar.
(Resultado 1.2). En este caso utilizar los valores estándares de ley “u” y ley “A” y un
tamaño de bloque de 400 muestras para el factor de escala adaptivo. El tamaño de
bloque de SNR debe ser de 500 muestras.

1.3.- Para rp=5 presentar la función de densidad de probabilidad del error de cuantización
obtenido por ley “u”, por ley “A” y factor de escaña adaptivo. Comentar los
resultados y justificar. (Resultado 1.3)

EXPERIENCIA 2: ECUALIZADOR DIGITAL (10p)

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.

6
 Verificar las aplicaciones de la descomposición/reconstrucción sub-banda.

Materiales:

 Computador con sistema operativo Windows y tarjeta de sonido.

 Parlantes y Micrófono.

 MATLAB 2013 o versiones más avanzadas.

Descripción de la experiencia:
El programa deberá ser implementado en MATLAB haciendo uso de la interfaz visual GUIDE.
El programa deberá leer un archivo WAV de audio y deberá convertirlo a un vector con el
siguiente formato de audio: monocanal, fs=44.1KHz, r=16 bits y duración 5.9443 segundos
(262144 muestras). Usted elige el índice de la muestra de inicio y de la muestra final (sólo
debe respetar el número de muestras indicado)

Para la implementación del ecualizador debe llevarse en cuenta las bandas que son
consideradas en los ecualizadores profesionales de audio.

El número de bandas a considerar deberá ser de 9 (o más).

Usted deberá diseñar su árbol de descomposición/reconstrucción para generar las bandas


requeridas.

Los vectores resultantes de cada banda deben ser amplificados según las ganancias
establecida por el usuario.

Una vez hecha la amplificación vía programa, debe reconstruirse la señal para luego
reproducirla y verificar los efectos de la ecualización.

Para la descomposición deberá utilizar filtros wavelets generados con la siguiente instrucción:

[hd,gd,hr,gr]=wfilters(‘db25’);

donde “hd” y “gd” son las respuestas impulsivas de los filtros de descomposición pasa-bajas y
pasa-altas respectivamente; “hr” y “gr” son las respuestas impulsivas de los filtros de
reconstrucción (pasa-bajas y pasa-altas respectivamente). La wavelet a utilizar para generar los
filtros deberá ser la Daubechies 25 : ‘db25’.

7
Para la descomposición de un nivel debe aplicarse la instrucción:

[A,B]=dwwt(x,hd,gd)
donde “A” es el vector resultante de la banda pasa-bajas, y “B” el vector de muestras resultante
de la banda pasa-altas. (Esta función será proporcionada por el profesor y colgada en el aula
virtual). Para más niveles de descomposición debe iterarse esta instrucción.
Para la reconstrucción de un nivel deberá utilizarse la función:

[y]=rwwt(A,B,hr,gr).

Para más niveles de reconstrucción deberá iterarse esta instrucción.

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].
 Deberá haber un botón para ampliar el rango de [-12dB , 12dB]
 Debe haber un botón para leer el archivo WAV original y transformarlo al vector de
audio que será procesado.
 Debe haber un botón para ecualizar y otros dos para reproducir el audio original y el
audio ecualizado.

Resultados a presentar en documento (ver formato al final de la guía):

2.1.- Figura del ambiente visual del GUIDE del producto presentado (donde se visualice
sus opciones). No comentar. (Resultado 2.1)

2.2.- Presentar el árbol de descomposición utilizado especificando las bandas obtenidas en


Hz (resultado 2.2)

Se evaluará:
 Asistencia puntual a la presentación del laboratorio en la fecha indicada.
 Entrega del informe al inicio de la hora de clase (en la fecha de la presentación).
 Calidad de la presentación de resultados en programa y en documento.
 Cumplimiento de las directivas especificadas para la elaboración del laboratorio.
 Funcionamiento adecuado, simple y versátil de los programas.
 Resultados gráficos y numéricos.
 Resolución de preguntas.
 Comportamiento y conducta durante la evaluación.
 Todo el grupo debe estar presente.

8
FECHA DE PRESENTACIÓN DEL LABORATORIO: PROGRAMAS +
INFORME

Lunes 24 de Setiembre de 2018, 7am – 10am y de 10:15am a 12:15am

Lunes 10 de Setiembre de 2018 Prof. Dr. Guillermo Kemper V.

También podría gustarte