You are on page 1of 6

Laboratorio de Procesamiento Digital de Voz

Practica 4 CUANTIZACION ESCALAR, LOGARITMICA, (A)DM y (A)DPCM Objetivos: Manejar los conceptos de cuantizacin escalar, logartmica y manejo de cuantizadores A(DM) y (A)DPCM.

1. Introduccin.
La conversin de seales analgicas de voz en seales digitales, es llamada normalmente codificacin de voz o simplemente codificacin. Un mayor objetivo en la codificacin es la compresin de la seal, esto es, emplear un nmero de bits lo mas pequeo posible en la representacin digital de la seal de voz. La eficiente representacin digital de la seal de voz hace posible conseguir la eficiencia del ancho de banda en la transmisin de la seal sobre una gran variedad de canales de comunicacin, o el almacenamiento eficiente sobre una variedad de medios. En el transcurso las ltimas cuatro o cinco dcadas, una gran variedad de tcnicas de codificacin de voz han sido propuestas, analizadas y desarrolladas. Las tcnicas ms bsicas se pueden subdividir en dos diferentes categoras: codificadores de la forma de onda (waveform coders) y codificadores de voz (voice coders <vocoders>). En la codificacin de forma de onda se intenta codificar directamente la seal de voz en una forma eficiente para explotar las caractersticas temporales y/o espectrales. En contraste, la codificacin de voz (vocoders) involucra la representacin de la seal de voz por un conjunto de parmetros, la estimacin de los parmetros de tramas de voz y la eficiente codificacin de esos parmetros en forma digital para un posible almacenamiento o transmisin. El proceso de comunicacin (o almacenamiento) por conveniencia se divide en tres etapas: muestreo, cuantizacin y codificacin. La figura 1, muestra los procesos independientes en un sistema de codificacin y decodificacin.

x(t) Muestreo

x(n) Cuantizador

x[n]

c[n]
Codificador

Fs (a) x(t) c[n] Decodificador

Convertidor D/A Fs (b)

x' [n]

Figura 1. Sistema de comunicacin. (a) Etapa de codificacin, (b) Etapa de decodificacin

En el proceso de codificacin, la seal analgica es muestreada a intervalos de tiempo 1/Fs x segundos, dando una secuencia, { ~(n) }, que es conocida como precisin infinita. Para transmitir esta secuencia de muestras sobre un canal de comunicacin digital (o almacenamiento digital), los valores muestreados deben ser cuantizados a un conjunto finito de amplitudes, de tal forma que x puedan ser representadas por un conjunto finito de smbolos { x[n] } = {Q [ ~(n) ]}. La ltima etapa que representa cada muestra cuantizada a una palabra cdigo, c[n]. De igual forma el decodificador toma una secuencia de palabras cdigo {c[n]} y transforma esta a una secuencia de muestras cuantizadas { x' [n] }. Si las palabras cdigo c[n] son iguales a las palabras cdigo c[n] no se introdujeron errores, entonces x' [n] = x[n] .

2. Cuantizacin Instantnea.
En la cuantizacin, la amplitud de las muestras se cuantizan, dividiendo todo el rango de la amplitud, en un conjunto finito de rangos, y asignando el mismo valor de amplitud a todas las muestras que caen dentro de ese rango. Dos de los cuantizadores escalares ms comunes son: cuantizador uniforme y el cuantizador logartmico. 2.1. Cuantizacin Uniforme

Para la cuantizacin uniforme, los rangos de cuantizacin y los niveles son generalmente distribuidos uniformemente. La figura 2 muestra un cuantizador uniforme de tres bits.

Figure 2. Caractersticas de entrada y salida de un cuantizador de 3 bits.

Funciones en Matlab Para obtener los niveles de cuantizacin se puede usar la funcin quantiz, de la siguiente forma: indice = quantiz(seal,particin); [indice,quant] = quantiz(seal,particin,palabras_cdigo); seal: Es la seal de entrada a cuantizar. Particin: Es un vector que representa las particiones o rangos del cuantizador Palabras_cdigo: A cada particin es asignada una palabra cdigo, con este vector se determinan esas palabras cdigo. ndice: Si un valor (muestra) de la seal cae dentro de una regin o particin, el ndice determina esta regin. Quant: Palabra cdigo correspondiente a la regin o particin obtenida. Ejemplo: la siguiente instruccin muestra la forma de obtener las palabras cdigo, utilizando un cuantizador de tres bits (vea figura 2).
[indice,quant] = quantiz([ 1 0 5 3],1:7,[0 1.5 2.5 3.5 4.5 5.5 6.5 8])

indice = 0 0 4 2 quant = 0 0 4.5 2.5

2.2.

Cuantizacin logartmica.

La cuantizacin logartmica establece los niveles de cuantizacin de forma logartmica y asigna una palabra cdigo a cada regin. Los cuantizadores logartmicos ms comunes son llamados ley y ley A. La figura 3 muestra el diagrama de bloques de un sistema de compresor/expansor para cuantizacin.
x[n] F[ ] y[n] Q[ ] c[n] Codificador (a) x[n] F-1 [ ] y' [n] c[n] Decodificador

y[n]

(b)
Figura 3. Diagrama de bloques de un sistema compresor/expansor

La funcin F[ ] se define con respecto a la ley de compresin. Para la ley se define F[ ] como:

y[n] = F [ x[n]] = X max

x[n] log 1 + X max sign( x[n]) log[1 + ]

3. Cuantizacin Diferencial.
Se ha comprobado que la seal de voz no cambia rpidamente de una muestra a otra as que la diferencia entre muestras adyacentes debe tener menor varianza que la seal misma Este hecho provee la motivacin la creacin de un cuantizador diferencial. Existen varios tipos de cuantizadores diferenciales en los que se encuentran: Modulacin Delta (DM), Modulacin Delta Adaptiva (ADM), Modulacin por Cdigo de Pulso Diferencial (DPCM), DPCM con Cuantizacin Adaptiva, etc. 3.1. Modulacin delta (DM).

El sistema de modulacin delta ms simple es ilustrado en la figura 3. En este caso el cuantizador tiene solo dos niveles y el tamao del paso es fijo. El nivel de cuantizacin positivo es representado por c[n] = 0 y el negativo por c[n] = 1, as, d [ n ] es:

d [ n] =

si c[n] = 0 si c[n] = 1
x[n]

+ -

d[n] Q[ ]

d[n]

c[n]
Codificador

ax[n - 1]

az

-1

x[n]

+ +

d [ n ] = Q[ d [ n ]]

c[n] = 0

c[n] = 1

(a)

x' [n]

+ d' [n] + az
-1

c[n] Decodificador

(b)
Figura 3. Diagrama de bloques de un sistema de modulacin delta, con predictor fijo de primer orden.

3.2.

Modulacin por Cdigo de Pulso Diferencial (DPCM).

Los sistemas de cuantizacin diferencial en los cuales el cuantizador tiene ms de dos niveles se conocen como DPCM. La Modulacin Delta (DM) puede ser llamado como un Sistema DPCM de 1bit. La figura 4 muestra un diagrama de bloques de un sistema DMPC.

x[n] d[n] Q[ ] + az-1 + (b) x' [n] Codificador c[n]

+ d' [n]
+ az
-1

c[n] Decodificador

(b)
Figura 4. Diagrama de bloques de un sistema de modulacin DPCM, con predictor fijo de primer orden

4. Desarrollo.
1. Escribir un programa que realice la grfica de la funcin

y[n] = F [ x[n]] = X max

x[n] log 1 + X max sign( x[n]) log[1 + ]

Donde x[n] vara de -10 hasta 10 con incrementos de 0.1. Para valores de = 1, 5, 15, 40, 100, 255. Colocar las funciones en una misma grfica y observar las caractersticas (use el comando de Matlab hold on). 2. Elegir un archivo de voz y escribir un programa que realice la funcin del punto 1 para los valores de = 1, 40, 255. Escuchar cada una de las seales de salida. Anotar sus comentarios. 3. Elegir una seal de voz y escribir un programa que realice la cuantizacin uniforme de 32 y 64 niveles. Escuchar las seales de salida y anotar sus observaciones. Nota: para la cuantizacin considere el rango dinmico de la seal y utilice la funcin de Matlab.

4. Proyecto.
1. Escribir un programa que realice la modulacin DM. Utilice los parmetros = 0.025, 0.075, 0.15 y 0.25.; a = 0.9 y palabras cdigo c[n] = {0, 1}. 2. Escribir un programa que realice la modulacin DPCM. Utilice los parmetros = {0.025, 0.075, 0.15 y 0.3}; a = 0.9 y con niveles de cuantizacin: c[n] = {00, 01,10 y 11} (2 bit) y un bit de signo. Es decir,

00 Para d [n] 0.05 01 Para 0.05 < d [n] 0.1 c[n] = 10 Para 0.1 < d [n] 0.2 11 Para d [n] > 0.2
OBSERVACIONES: Para tener una mejor codificacin, es necesario que las seales de voz sean normalizadas, esto es: VozNorm = Voz / Xmax ; Donde Xmax = max(abs(Voz)). De all el porque los incrementos Los archivos que se introducirn son los archivos binarios RAW (sin encabezados, solo las muestras de la seal y en formato big-endian). El archivo de salida ser un archivo binario con todas las palabras cdigo obtenidas en la codificacin.

Bibliografa

Practica 1

Practica 2

Practica 3

DiscreteTime Processing of Speech Signals, John R. Deller Jr, John G. Proakis, John H. L. Hansen, Ed. Prentice Hall 1987 Apuntes de clases de Procesamiento Digital de Voz, Abel Herrera Camacho

You might also like