Está en la página 1de 10

Facultad de Ingeniería

Escuela de Ingeniería Electrónica


PROCESAMIENTO AVANZADO DE SEÑALES
E IMÁGENES - (2017-1)

LABORATORIO NO. 1

CUANTIZACIÓN Y VARIACIÓN DE LA TASA DE MUESTREO

EXPERIENCIA 1: RECUANTIZACIÓN (11 puntos )

En esta experiencia se pide lo siguiente:

a.- Utilizar MATLAB y la Interfaz Visual Guide para implementar el programa.

b.- Utilizar micrófono, audífonos y parlantes multimedia para el desarrollo del laboratorio. Cada
grupo obligatoriamente debe disponer de estos materiales (más la PC laptop) al momento
de presentar el laboratorio.

c.- El programa deberá permitir recuantizar la señal original en los siguientes formatos :

 Recuantización por factor de escala fijo


 Recuantización por factor de escala adaptivo
 Recuantización por factor de escala fijo y ley “u”
 Recuantización por factor de escala fijo y ley “A”

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

d.- El usuario deberá tener la opción de elegir la frecuencia de muestreo y el tiempo de


duración de la captura de señal (la captura por defecto debe ser a 16 bits y monocanal).

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

1
f.- En el caso de la ley “A” y la ley “u” el usuario deberá tener la opción de ingresar el valor de
“A” y el valor de “u” correspondiente.

g.- El programa deberá tener la opción de reproducir audiblemente la señal original y la señal
resultante del proceso de recuantización para todos los casos. Usted deberá comparar la
calidad de audio percibida.

h.- El programa deberá graficar en tiempo y frecuencia (Hz) la señal original y las señales
resultantes del proceso de recuantización.

i.- Para el caso de la recuantización no uniforme se debe graficar (por cada ley) la entrada y
la salida del compresor y del expansor en el tiempo (la frecuencia es opcional). Asimismo
se debe tener la opción de reproducir estas señales.

j.- Los gráficos deben tener las opciones de “zoom” y evaluación de valor. Todos los gráficos
deben mostrarse debidamente rotulados: titulo del grafico, rotulo de ordenada y rotulo de
la abcisa.

k.- Por cada recuantización el programa deberá calcularse la SNR total correspondiente. Los
valores para cada caso deberán mostrarse en pantalla en dBs.

l.- También deberá obtener, por cada método de recuantización, la gráfica de la SNR en el
tiempo por bloques (alineada con las señal original escalada en amplitud): SNR
segmentada. El tamaño de bloque (“K”) para el cálculo de SNR lo debe definir el usuario.

m.- El programa también deberá calcular y graficar el error de cuantización y su función de


densidad de probabilidad (fdp). La resolución de la densidad de probabilidad deberá ser
ingresada por el usuario. El error de cuantización se debe calcular entre la señal original y
la señal final reproducible resultante de todo el proceso de recuantización. Esto debe ser
mostrado fuera de la ventana principal del GUIDE.

En el Informe:

Para una única señal de entrada considerar 2 valores del “rp” de recuantización por cada
esquema de recuantización: 8 y 4 bits.
En cada caso deberán mostrar las graficas de la SNR por bloques alineadas en el tiempo con
la señal de entrada escalada en amplitud (deberá indicarse el tamaño de bloque considerado).
Asimismo debe mostrarse los valores de SNR totales y las gráficas de la función de densidad
de probabilidad para cada caso. Deberá comentar y justificar cada resultado obtenido.

2
EXPERIENCIA 2: VARIACIÓN DE LA TASA DE MUESTREO (9 puntos)

Implementar en MATLAB el sistema de la figura 1:

CAPTURAR SEGUND
CAPTUR D
AR
TV
UNA ÑAL. OS
Ñ E FILTRO PASA -BAJAS Recuantización a rp bits
SE
CO fs =. 8000H , r 116 Y corte=,/ G=L
G= por factor de escala fijo
N
FORMAT Z
MONOCAN = 6BITS
. L L,
O AL

FILTRO PASA -BAJAS


corte=/L
, G=1

Recuantización a rp bits
por factor de escala fijo
L

Calculo de SNR
Cálculo

Calculo de SNR
Figura 1

Observación: La implementación deberá ser realizada bajo las condiciones establecidas por el
profesor en clase.

El programa :

1. Utilizar solo MATLAB.

2. Presentar el programa utilizando la interface visual GUIDE.

3. El usuario deberá tener la opción de especificar el valor de L y el orden de los filtros: N1


(pasa-bajas interpolador) y N2 (pasa-bajas decimador).

4. Al final deberán reproducirse las señales resultantes para la evaluación de calidad.


Teóricamente debe existir una mejor robustez (al ruido de cuantización) de la señal
interpolada. Verificarlo a través de los valores de SNR totales que deberán ser presentados
en pantalla.

5. Asimismo deberá presentarse en un mismo cuadro de figura las gráficas de las 2 señales
en el tiempo reconstruidas por ambos métodos (alineadamente). Añadir también la señal
original con otro color y leyenda. Rotular debidamente la gráfica.

6. Deberá mostrarse también las gráficas de los espectros en frecuencia (en frecuencia
relativa) de la señal de entrada y de la señal de salida de cada bloque de procesamiento de
la señal interpolada/recuantizada/decimada.

3
7. Todo cuadro de figura debe tener la opción de “zoom” y las gráficas deberán ser mostradas
con diferentes colores, leyenda y capacidad de evaluar cualquier valor requerido.

En el informe

 Para una determinada señal de entrada, presentar las SNR para 3 casos: L=16, orden=400;
L=16 orden=10; L=4 orden=400. Cada caso indicado deberá estar acompañado de la todas
las gráficas generadas por el programa. Colocar diferentes colores y leyenda.

 Establecer todas las conclusiones y comentarios comparativos que crea convenientes


según las graficas presentadas.

Se calificará el estricto cumplimiento de lo estipulado en la guía de laboratorio.


Se evaluará:
 Cumplimiento de la presentación del laboratorio en la fecha indicada.
 Calidad de la presentación.
 Claridad expositiva de las experiencias.
 Cumplimiento de las directivas especificadas para la elaboración del laboratorio.
 Funcionamiento adecuado y flexibilidad de los programas.
 Resultados gráficos y numéricos.
 Resolución de preguntas.
 Importante: El informe se debe entregar exactamente a las 7:00am del día Lunes 22
de mayo del 2017 (evite penalizaciones).
 Importante: Todos los integrantes del grupo deben estar presentes al momento de la
presentación (evite sanciones por tardanzas e inasistencias).

FECHA DE PRESENTACIÓN DEL LABORATORIO:

Lunes 22 de mayo de 2017. Hora: 7:00am en punto.

Lunes 24 de abril de 2017 Prof. Dr. Guillermo Kemper V.

4
ANEXO A

A.1.- Implementación de la cuantización 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
f e=1 , dado que se trata de una señal de voz capturada con MATLAB.
Luego se obtiene el vector cuantizado:

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

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

Para descuantizar
YQ y se pueda reproducir mediante el MATLAB, se tiene que colocar el
vector en el rango [1,-1]. Para esto se tiene que hacer:

YQ
Yf= rp−1
2 −1

donde
Yf es el vector recuantizado para reproducción. Este vector constituye la señal
que finalmente podrá ser reproducida en la tarjeta multimedia de audio.

A.2.- Implementación de la recuantización adaptiva por bloques:

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=[];
fe=1;
rp=4;
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); % Cuantización del bloque a un r fijo
V=V*fe/((2^(rp-1))-1); % Descuantización
Yf=[Yf;V]; %Vector resultante recuantizado que será reproducido.
end;

5
A.3.-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.

Y=
( (
log 1+u
abs ( X )
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= rp−1
2 −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:

6
Y f =sign( Y d ) .∗ ( f e∗( exp ( log ( 1+ u)∗abs ( Y d ) )−1 )
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).

A4.- 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”:

Compresor:

{
A X (n) X ( n) 1
1+ logA

( )
fe
, abs
( )fe

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

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 )

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

7
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

8
FORMATO DE PRESENTACIÓN DE RESULTADOS

Título del Laboratorio


Tipo de Análisis : (teórico ó Código del resultado:
simulación)

Requerimiento :

Procedimiento y/o Resultados Obtenidos (ecuaciones, tablas, gráficos,


figuras) :

Comentarios y justificaciones :

9
10

También podría gustarte