Está en la página 1de 7

Facultad de Ingeniera

Ingeniera Electrnica - Ingeniera de Telecomunicaciones y Redes


Ingeniera Mecatrnica
PROCESAMIENTO AVANZADO DE SEALES E IMGENES (EL115)

Objetivos:

Implementar una aplicacin que involucre los diferentes formatos de cuantizacin de seales y
variacin de la tasa de muestreo.

Verificar la utilidad la descomposicin/reconstruccin sub-banda en el proceso de codificacin


de seales de audio.

Obtener un producto final con interfaz visual Guide que permita evaluar el desempeo de la
aplicacin desarrollada bajo diferentes escenarios de simulacin.

Materiales:

Computador con sistema operativo Windows y tarjeta de sonido.

Parlantes

MATLAB 7.0 o superior

Descripcin de la experiencia:

En esta experiencia se requiere construir un programa que permita codificar una seal de audio
con calidad CD utilizando la descomposicin/reconstruccin sub-banda, y los 4 formatos de la
cuantizacin de seales estudiados en el curso: factor de escala fijo, factor de escala adaptivo,
cuantizacin logartmica de ley u y cuantizacin logartmica ley A.

La seal de audio deber ser obtenida de un archivo WAV con el siguiente formato de
digitalizacin: fs=44100Hz, r = 16 bits, formato monocanal y tamao de 262144 muestras.

El codificador deber descomponer la seal de entrada en un mnimo de 10 y un mximo de 12


sub-bandas. El nivel de profundidad de la descomposicin y el esquema del rbol debern ser
definidos por el grupo de trabajo. Las funciones para descomposicin y reconstruccin sern
explicadas por el profesor en clase.

Cada sub-banda deber ser recuantizada con un mximo de 5 bits y un mnimo de 2 bits por
muestra.

La tcnica del factor de escala adaptivo podr ser aplicada a mximo 3 sub-bandas. Los
factores de escala debern almacenarse con 8 bits de precisin.

Deben aplicarse todas las tcnicas de recuantizacin.

Para el caso de factor de escala fijo debe considerarse valor igual a 1.

Debern definirse 3 niveles de calidad de codificacin: calidad alta (poca compresin), calidad
media (compresin media) y calidad baja (alta compresin). Esto implica tres esquemas distintos
de distribucin de resolucin de cuantizadores y de tcnicas de recuantizacin.

Las sub-bandas codificadas deben almacenarse en un nico archivo con extensin cod (este
archivo conforma el audio codificado). El directorio de almacenamiento deber ser el raz C:\.

Deber determinarse y comparar el tamao del archivo WAV original y el tamao del archivo de
audio codificado.

El programa deber tener la opcin de leer el archivo codificado, ejecutar el proceso de


decodificacin y reproducir el audio reconstruido.

Asimismo, deber calcular la SNR entre el audio original y el audio reconstruido.

En la interfaz visual Guide:

Deber presentar un botn para acceder al directorio que contenga los WAVs originales y de
esa forma escoger un determinado archivo para codificar.

Deber presentar un men para escoger uno de los 3 diferentes niveles de calidad de
codificacin.

Deber presentar un botn para activar la codificacin del archivo escogido. Durante la
codificacin deber presentar una barra de estado. Al terminar el proceso de codificacin,
deber mostrar el tamao en bytes del archivo WAV original y del archivo de audio codificado.
Tambin deber presentar el factor de compresin.

Con otro botn deber activarse la decodificacin a partir del archivo generado (durante el
proceso mostrar una barra de estado).

Terminada la decodificacin deber mostrar en un mismo cuadro de figura la seal original y la


seal reconstruida en el dominio del tiempo (con diferentes colores y con leyenda). En otra figura
debern mostrarse los espectros (en Hz) del audio original

y del audio reconstruido (con

diferentes colores). Todas las figuras debern tener la opcin de activar zoom y de obtener
valores puntuales del grfico.

La interfaz deber mostrar tambin la SNR del proceso de codificacin.

Deber presentar un botn para reproducir el audio original y otro para reproducir el audio
reconstruido.

En el informe

Resultado 1.1.: Graficar los rboles de descomposicin para los 3 niveles de calidad definidos y
sus respectivas resoluciones en bits para los diferentes formatos de cuantizacin. Establecer
comentarios para cada caso.

Resultado 1.2: Presentar la curva factor de compresin (abscisa) vs SNR (ordenada) para 2
audios distintos codificados. Establecer comentarios para cada caso.

Presentar el programa impreso (comentado).

Se evaluar:

Cumplimiento de la presentacin del laboratorio en la fecha indicada.

Entrega del informe al inicio de la hora de clase (en la fecha de la presentacin).

Calidad de la presentacin de resultados en programa y en documento.

Cumplimiento de las directivas especificadas para la elaboracin del laboratorio.

Funcionamiento adecuado y simple de los programas.

Resultados grficos y numricos.

Resolucin de preguntas.

FECHA DE PRESENTACIN DEL LABORATORIO: PROGRAMAS + INFORME


Jueves 5 de Mayo de 2016
Hora: 13:00 horas en punto (todo el grupo debe estar presente).

Jueves, 21 de abril de 2016


Prof. Ing. Christian del Carpio Damin
Prof. Dr. Guillermo Kemper Vsquez

ANEXOS

ANEXO A
A.1.- Implementacin de la cuantizacin uniforme por factor de escala fijo:
Sea X el vector de muestras capturado. Para recuantizar el vector de entrada se utiliza un factor de escala

fe 1,

dado que se trata de una seal de voz capturada con MATLAB. Luego se obtiene el vector cuantizado:

Y Q round X * (2 r 1 1)

donde r es el numero de bits al cual se esta recuantizando al vector X .


Para descuantizar

Y Q y se pueda reproducir mediante el MATLAB, se tiene que colocar el vector en el rango

[1,-1]. Para esto se tiene que hacer:

Yf

YQ
2 1
r 1

donde Y f es el vector recuantizado para reproduccin.

Este vector constituye la seal que

finalmente podr ser reproducida en la tarjeta multimedia de audio.

A.2.- Implementacin de la recuantizacin adaptiva por bloques:


Sea X el vector de muestras capturado (vector columna). La lectura del vector por bloques (de tamao N) y la
recuantizacin por bloques se puede realizar utilizando la iteracin:

TAMX=length( X ); % tamao del vector original


Yf=[];
fe=1;
r=4;
N=512; % tamao de bloque
for i=1:N:TAMX-N+1
V=X(i:i+N-1); %Extraccin del bloque del vector original.
fe=max(abs(V)); % Clculo del factor de escala
V=round(V*((2^(r-1))-1)/fe); % Cuantizacin del bloque a un r fijo
V=V*fe/((2^(r-1))-1);

% Descuantizacin

Yf=[Yf;V]; %Vector resultante recuantizado que ser reproducido.


end;

A.3.-Implementacin del cuantizador de ley u:


Para la implementacin de la ley u llevar en cuenta lo siguiente:

Sea X el vector de muestras de voz capturado. Si se desea amplificar la seal va el compresor ley u se debe
aplicar la siguiente ecuacin.

abs X

log1 u

fe

Y
. * sign X
log(1 u )
donde sign(x) es la funcin signo del Matlab y fe el factor de escala de las seales capturadas va MATLAB.
Observe que antes del asterisco hay un punto, lo cual implica que la multiplicacin es componente a componente.
El vector resultante amplificado Y es luego cuantizado utilizando la tcnica del factor de escala fijo. Por tanto, dado
que se trata de una seal 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 * (2 rp1 1)

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


Para colocar

Y Q en el rango [1,-1], se debe utilizar la siguiente expresin:

Yd

Sin embargo el vector resultante

YQ
2 1
rp 1

Y d est todava en el dominio logartmico (como prueba usted puede reproducir

este vector para verificar el nivel de amplificacin o intensidad de la voz).

Para colocar

Y f en condiciones normales se aplica el expensar de la ley u definido como:


f * exp log(1 u ) * abs Y d 1

Y f sign (Y d ). * e
u

donde

Y f es el vector recuantizado que contiene la seal de voz resultante (que podr ser reproducido va tarjeta

de sonido para verificar los efectos del proceso de recuantizacin).

A4.- Implementacin del cuantizador de ley A:


Para la implementacin del cuantizador de ley A debe repetirse los mismos pasos de la ley u, con
excepcin de utilizar en este caso el compresor y expansor de la ley A:

Compresor:

X(n )
A

*
1 logA f e

Y(n )
sign(X(n))

abs (X(n ))

* 1 log A *

f
1 log(A)
e

X(n ) 1

abs
fe A

X(n )
1
1
abs
A
f
e

Expansor:

f e * (1 log(A))

* Yd (n )

Yf (n )
f e * sign(Yd (n)). * exp(1 log(A)) * abs(Yd (n )) 1

abs(Yd (n ))

1
1 log(A)

1
abs(Yd (n )) 1
1 log(A)

A.5.-Calculo de la SNR:
La SNR de cualquier vector recuantizado se calcula de la siguiente forma:
Primero se obtiene el vector del error de cuantizacin eq (restando siempre el vector original X del
vector recuantizado resultante Y f ):

eq Y f X
Luego la energa del error se calcula como:

'

E q (eq * eq ) (1E 20)


donde el apstrofe indica la transpuesta del vector (se asume que todos los vectores se encuentran en columna).

En seguida se calcula la energa de la seal original como:

Ex X * X
'

y finalmente se obtiene la SNRdB:

E
SNR dB 10 log10 x
E
q