Ley A

La ley A (A-Law) es un sistema de cuantificación logarítmica de señales de audio, usado habitualmente para compresión en el campo de comunicaciones telefónicas. Este sistema de codificación es usado en Europa y en el resto del mundo, a diferencia de Estados Unidos, Canadá y Japón donde se utiliza un sistema similar llamado ley Mu. Forma parte de la Recomendación G.711 de la UIT-T. [1]

Tipos de algoritmos

Existen dos tipos de algoritmos de Ley-A: una versión analógica y otra digital cuantizada.

Versión analógica

Para una entrada determinada, la ecuación para la codificación según la Ley A es:

en la cual:

: Parámetro de compresión según la Recomendación G. 711, usado en los sistemas TDM/PCM bajo la Recomendación G. 732.

: es la función signo.

Si A = 1, la entrada es igual a la salida.

La función inversa es la siguiente:

en la cual:
es la función exponencial.

Versión digital

La Ley A, en su forma cuantificada digital está definida en la Recomendación G.711. El comportamiento de la cuantificación se aproxima al de la codificación analógica mediante 14 segmentos rectilíneos (7 para señales positivas y 7 para negativas), pero como los segmentos que pasan por el origen son colineales, éstos se consideran uno solo. [3]

Codificación binaria de Ley A
Segmento Código de entrada lineal de 13 bits Código Comprimido de 8 bits
0 S0000000ABCDX S000ABCD
0 S0000001ABCDX S001ABCD
±1 S000001ABCDXX S010ABCD
±2 S00001ABCDXXX S011ABCD
±3 S0001ABCDXXXX S100ABCD
±4 S001ABCDXXXXX S101ABCD
±5 S01ABCDXXXXXX S110ABCD
±6 S1ABCDXXXXXXX S111ABCD

donde S es el bit de signo (0=positivo y 1=negativo) el cual pasa directamente al código comprimido y "ABCD" corresponde a los bits de datos .Por ejemplo, 1000000010101111 es convertido en 10001010 (de acuerdo a la primera fila de la tabla), y 0000000110101111 es convertido en 00011010 (de acuerdo a la segunda fila). Esto puede ser visto como un número en notación de punto flotante con 4 bits de mantisa y 3 bits de exponente. Durante la compresión, como se observa en la tabla, se descartan los bits menos significativos de las señales grandes. La cantidad de estos bits representa cada uno de los segmentos en que se divide por tramos la curva . Cada segmento es representado por tres bits, los cuales pasan al código comprimido después del bit de signo "S".

Adicionalmente, la Recomendación G.711 especifica que los bits pares resultantes deben ser invertidos antes de enviar el octeto de bits, lo que sirve para aumentar la densidad de transiciones y facilitar el proceso de recuperación de la señal de reloj del sistema en el receptor PCM. La inversión del código comprimido se lleva a cabo sometiéndolo a la operación o exclusiva con el valor hexadecimal 0x55 (equivalente al valor binario 0b10101010). La decodificación del patrón comprimido consiste en invertir los pasos anteriormente descritos obteniéndose esta segunda tabla:

Decodificación binaria de Ley A
Código Comprimido de 8 bits Código Lineal de salida
S000ABCD S0000000ABCD1
S001ABCD S0000001ABCD1
S010ABCD S000001ABCD10
S011ABCD S00001ABCD100
S100ABCD S0001ABCD1000
S101ABCD S001ABCD10000
S110ABCD S01ABCD100000
S111ABCD S1ABCD1000000

El rango dinámico (RD) de la Ley A es la relación en decibelios de la mayor amplitud cuantificable y de la amplitud más pequeña que ocupa el primer segmento de la curva . Como la magnitud se expresa con un número de 12 bits y equivale al número 4096 () y el valor mínimo de cuantificación del primer segmento es de 15, entonces el rango dinámico (RD) se calcula así: [4]

que es ligeramente mayor que el calculado para la Ley Mu.

Other Languages
Deutsch: A-law
français: Loi A
русский: A-закон
српски / srpski: A-law алгоритам
Tiếng Việt: Thuật toán luật A