El documento describe los sistemas de cuantificación logarítmica Ley A y Ley Mu utilizados para comprimir señales de audio de voz humana. Ambos sistemas aplican una compresión/expansión de amplitudes (companding) seguida de una cuantificación uniforme, lo que resulta en una cuantificación no uniforme a nivel logarítmico. Esto permite representar amplitudes pequeñas con mayor precisión que amplitudes grandes, aprovechando las características de la voz humana.
1. Introducción
La ley A (A-Law) es un sistema de cuantificación logarítmica de señales de audio, usado habitualmente
con fines de compresión en aplicaciones de voz humana. Está estandarizada por la ITU-T en G.711 y es
similar a la ley Mu.
Características Básicas de la Ley A
• Es un algoritmo estandarizado, definido en el estándar ITU-T G.711
• Tiene una complejidad baja
• Utilizado en aplicaciones de voz humana
• No introduce prácticamente retardo algorítmico (dada su baja complejidad)
• Es adecuado para sistemas de transmisión TDM
• No es adecuado para la transmisión por paquetes
• Digitalmente, factor de compresión aproximadamente de 2:1
Funcionamiento
El algoritmo Ley A basa su funcionamiento en un proceso de compresión y expansión llamado
companding. Se aplica una compresión/expansión de las amplitudes y posteriormente una cuantificación
uniforme. Las amplitudes de la señal de audio pequeñas son expandidas y las amplitudes más elevadas
son comprimidas.
Esto se puede entender de la siguiente forma; cuando una señal pasa a través de un compander, el
intervalo de las amplitudes pequeñas de entrada es representado en un intervalo más largo en la salida, y
el intervalo de las amplitudes más elevadas pasa a ser representado en un intervalo más pequeño en la
s
salida. En la siguiente figura podemos verlo con claridad:
Ésta figura muestra que el rango de los valores de entrada (línea horizontal) contenidos en el intervalo
[-0.2,0.2] (amplitudes pequeñas) están representados en la salida (línea vertical) en el intervalo [-0.6,0.6].
Podemos comprobar que hay una expansión.
2. Por otra parte vemos que los valores de entrada contenidos en el intervalo [-1,-0,6] y [0.6,1] son
representados en la salida en los intervalos [-0.9,-1] y [0.9,1]. Podemos comprobar que se produce una
compresión.
Digitalmente, todo este esquema es equivalente a aplicar una cuantificación no uniforme (logarítmica) a
la señal original, donde tendremos pequeños pasos de cuantificación para los valores pequeños de
amplitud y pasos de cuantificación grandes para los valores grandes de amplitud. Para recuperar la señal
en el destino tendremos que aplicar la función inversa.
Por lo tanto, la implementación del sistema consiste en aplicar a la señal de entrada una función
logarítmica y una vez procesada realizar una cuantificación uniforme. Es lo mismo que decir que el paso
de cuantificación sigue una función del tipo logarítmico.
Para una entrada x dada, la ecuación Ley A de salida es:
,
donde A es el parámetro de compresión. En Europa A = 87.7. También se usa el valor 87.6.
La función inversa es la siguiente:
El algoritmo Ley Mu (μ-law ó mu-law) es un sistema de cuantificación logarítmica de una señal de audio.
Es utilizado principalmente para audio de voz humana dado que explota las características de ésta. El
nombre de Ley Mu proviene de µ-law, que usa la letra griega µ. Su aplicación cubre el campo de
comunicaciones telefónicas. Este sistema de codificación es usado en EEUU y el Japón. En Europa se
utiliza un sistema muy parecido llamado ley A.
Características básicas de la Ley Mu [editar]
• Es un algoritmo estandarizado, definido en el estándar ITU-T G.711
• Tiene una complejidad baja
• Utilizado en aplicaciones de voz humana
• No introduce prácticamente retardo algorítmico (dada su baja complejidad)
• Es adecuado para sistemas de transmisión TDM
• No es adecuado para la transmisión por paquetes
• Factor de compresión aproximadamente de 2:1
Digitalmente, el algoritmo ley Mu es un sistema de compresión con pérdidas en comparación con la
codificación lineal normal. Esto significa que al recuperar la señal, ésta no será exactamente igual a la
original.
Funcionamiento [editar]
El algoritmo Ley Mu basa su funcionamiento en un proceso de compresión y expansión llamado
compansión. Se aplica una compresión/expansión de las amplitudes y posteriormente una cuantificación
uniforme. Las amplitudes de la señal de audio pequeñas son expandidas y las amplitudes más elevadas
son comprimidas.
3. Esto se puede entender de la siguiente forma; cuando una señal pasa a través de un compander, el
intervalo de las amplitudes pequeñas de entrada es representado en un intervalo más largo en la salida, y
el intervalo de las amplitudes más elevadas pasa a ser representado en un intervalo más pequeño en la
salida. En la siguiente figura podemos verlo con claridad:
Esta figura muestra que el rango de los valores de entrada (línea horizontal) contenidos en el intervalo
[-0.2,0.2] (amplitudes pequeñas) están representados en la salida (línea vertical) en el intervalo [-0.6,0.6].
Podemos comprobar que hay una expansión.
Por otra parte vemos que los valores de entrada contenidos en el intervalo [-1,-0,6] y [0.6,1] son
representados en la salida en los intervalos [-0.9,-1] y [0.9,1]. Podemos comprobar que se produce una
compresión.
Digitalmente, todo este esquema es equivalente a aplicar una cuantificación no uniforme (logarítmica) a
la señal original, donde tendremos pequeños pasos de cuantificación para los valores pequeños de
amplitud y pasos de cuantificación grandes para los valores grandes de amplitud. Para recuperar la señal
en el destino tendremos que aplicar la función inversa.
Por lo tanto, la implementación del sistema consiste en aplicar a la señal de entrada una función
logarítmica y una vez procesada realizar una cuantificación uniforme. Es lo mismo que decir que el paso
de cuantificación sigue una función del tipo logarítmico.
Esta función viene definida de la siguiente forma:
La letra μ indica el factor de compresión usado (μ = 255).
Si μ = 0 la entrada es igual a la salida.
Desarrollo
Usando Matlab como herramienta, elabore un programa donde utilizando las vocales, se apliquen las
cuatizaciones uniformes y no uniformes.
1) Uniformes.
• Redondeo.
• Truncamiento.
2) No Uniformes.
• Ley µ
• Ley A
4. Algoritmo
clc fs=8000 % e) grafique 3
clear y = wavrecord(5*fs, señales donde se
close all fs); muestre
wavplay(y,
fs); % a) Señal Orig-
%a)Generar un else inal
Tono fs=200 f1=4000
y = t=-1:0.001:1
Fs=input('Frecuencia: wavrecord(5*fs, fs); x1=sin(t*f1)
'); wavplay(y,fs) subplot(3,1,1)
; plot(t,x1,'b')
t=-1.0:0.01:1.0; end
x=sin(t*Fs); %c)Grafique la % b) Señal
señal Muestreada
sound(x)
plot(y) f2=40000
figure(1) grid on t=-1:0.001:1
plot(t,x,'r'); x2=sin(t*f2)
grid on %d) Grafique subplot(3,1,2)
la señal de voz plot(t,x2,'b')
% b)capturar una guardandola con una
señal de voz funcion
m=menu('Capturar una señal=wavereco % c) Señal con
Señal de Voz','1. rd(5*8000,8000) el fenomeno Alias
Respetando el Teorema save señal
de Muestreo','2. Sin load señal f3=500
Resper el Teorema de wavplay(señal, t=-1:0.001:1
Muestreo') 8000) x3=sin(t*f3)
subplot(3,1,3)
if m==1 plot(t,x3,'b')
Resultados (Gráficas)
1
a)
f= 20 Hz 0
b) -1 0 1
c) -1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8
1
teorema de muestreo
“bueno…” 0
-1
sin teorema de muestreo “bueno…” -1 -0.8 -0.6 -0.4 -0.2
0
0.2 0.4 0.6 0.8
1
1
d) ----
0
e)
-1 0 1
-1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8