Communications Toolbox    
compand

Source code mu-law or A-law compressor or expander

Syntax

Description

out = compand(in,param,v) implements a µ-law compressor for the input vector in. Mu specifies µ and v is the input signal's maximum magnitude. out has the same dimensions and maximum magnitude as in.

out = compand(in,Mu,v,'mu/compressor') is the same as the syntax above.

out = compand(in,Mu,v,'mu/expander') implements a µ-law expander for the input vector in. Mu specifies µ and v is the input signal's maximum magnitude. out has the same dimensions and maximum magnitude as in.

out = compand(in,A,v,'A/compressor') implements an A-law compressor for the input vector in. The scalar A is the A-law parameter, and v is the input signal's maximum magnitude. out is a vector of the same length and maximum magnitude as in.

out = compand(in,A,v,'A/expander') implements an A-law expander for the input vector in. The scalar A is the A-law parameter, and v is the input signal's maximum magnitude. out is a vector of the same length and maximum magnitude as in.

Examples

The examples below illustrate the fact that compressors and expanders perform inverse operations.

Algorithm

For a given signal x, the output of the µ-law compressor is

where V is the maximum value of the signal x, µ is the µ-law parameter of the compander, log is the natural logarithm, and sgn is the signum function (sign in MATLAB).

The output of the A-law compressor is

where A is the A-law parameter of the compander and the other elements are as in the µ-law case.

See Also
quantiz, dpcmenco, dpcmdeco

References

Sklar, Bernard, Digital Communications: Fundamentals and Applications, Englewood Cliffs, N.J., Prentice-Hall, 1988.


  biterr convenc