laboratorio procesamiento de señales

Upload: percy-ambientalisimo

Post on 13-Apr-2018

376 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Laboratorio Procesamiento de Seales

    1/7

    Facultad de IngenieraIngeniera Electrnica - Ingeniera de Telecomunicaciones y RedesIngeniera Mecatrnica

    PROCESAMIENTO AVANZADO DE SEALES E IMGENES (EL115)

    Objetivos:

    Implementar una aplicacin que involucre los diferentes formatos de cuantizacin de seales yvariacin 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 262144muestras.

    El codificador deber descomponer la seal de entrada en un mnimo de 10y 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 sernexplicadas por el profesor en clase.

  • 7/26/2019 Laboratorio Procesamiento de Seales

    2/7

    Cada sub-banda deber ser recuantizada con un mximo de 5 bitsy 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).

  • 7/26/2019 Laboratorio Procesamiento de Seales

    3/7

    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. Establecercomentarios 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 2016Hora: 13:00 horas en punto (todo el grupo debe estar presente).

    Jueves, 21 de abril de 2016Prof. Ing. Christian del Carpio DaminProf. Dr. Guillermo Kemper Vsquez

  • 7/26/2019 Laboratorio Procesamiento de Seales

    4/7

    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 1fe ,

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

    )12(*XroundY 1rQ

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

    Para descuantizar QY y se pueda reproducir mediante el MATLAB, se tiene que colocar el vector en el rango

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

    12

    YY

    1r

    Qf

    donde fY 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;

  • 7/26/2019 Laboratorio Procesamiento de Seales

    5/7

    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 debeaplicar la siguiente ecuacin.

    Xsign*.)u1log(

    f

    Xabsu1log

    Y e

    donde sign(x) es la funcin signodel 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 amplificadoY 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:

    )12(*YroundY 1rpQ

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

    Para colocar QY en el rango [1,-1], se debe utilizar la siguiente expresin:

    12

    YY

    1rp

    Qd

    Sin embargo el vector resultante dY 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 fY en condiciones normales se aplica el expensar de la leyudefinido como:

    u

    1Yabs*)u1log(exp*f*).Y(signY

    dedf

    donde fY 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).

  • 7/26/2019 Laboratorio Procesamiento de Seales

    6/7

    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:

    1f

    )n(Xabs

    A

    1,

    f

    ))n(X(abs*Alog1*

    log(A)1

    sign(X(n))

    A

    1

    f

    )n(Xabs,

    f

    )n(X*

    logA1

    A

    )n(Y

    ee

    ee

    Expansor:

    1))n(Y(bsalog(A)1

    1,

    A

    1))n(abs(Y*log(A))(1exp*(n)).sign(Y*f

    log(A)1

    1))n(Y(bsa,)n(Y*

    A

    log(A))(1*f

    )n(Y

    ddde

    dde

    f

    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 fY ):

    XYeq f

    Luego la energa del error se calcula como:

    )20E1()eq*eq(E'

    q

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

  • 7/26/2019 Laboratorio Procesamiento de Seales

    7/7

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

    X*XE '

    x

    y finalmente se obtiene la SNRdB:

    q

    xdB

    E

    E10log10SNR