# A-law algorithm

Graph of μ-law & A-law algorithms

An A-law algorithm is a standard companding algorithm, used in European digital communications systems to optimize, i.e., modify, the dynamic range of an analog signal for digitizing.

It is similar to the μ-law algorithm used in North America and Japan.

For a given input x, the equation for A-law encoding is as follows,

$F(x) = \sgn(x) \begin{cases} {A |x| \over 1 + \ln(A)}, & |x| < {1 \over A} \\ \frac{1+ \ln(A |x|)}{1 + \ln(A)}, & {1 \over A} \leq |x| \leq 1, \end{cases}$

where A is the compression parameter. In Europe, $A = 87.7$; the value 87.6 is also used.

A-law expansion is given by the inverse function,

$F^{-1}(y) = \sgn(y) \begin{cases} {|y| (1 + \ln(A)) \over A}, & |y| < {1 \over 1 + \ln(A)} \\ {\exp(|y| (1 + \ln(A)) - 1) \over A}, & {1 \over 1 + \ln(A)} \leq |y| < 1. \end{cases}$

The reason for this encoding is that the wide dynamic range of speech does not lend itself well to efficient linear digital encoding. A-law encoding effectively reduces the dynamic range of the signal, thereby increasing the coding efficiency and resulting in a signal-to-distortion ratio that is superior to that obtained by linear encoding for a given number of bits.

## Comparison to μ-law

The μ-law algorithm provides a slightly larger dynamic range than the A-law at the cost of worse proportional distortion for small signals. By convention, A-law is used for an international connection if at least one country uses it.