Source code mu-law or A-law compressor or expander
out = compand(in,param,v)
out = compand(in,Mu,v,'
mu/compressor
'
)
out = compand(in,Mu,v,'
mu/expander
'
)
out = compand(in,A,v,'
A/compressor
'
)
out = compand(in,A,v,'
A/expander
'
)
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,
is
the same as the syntax above.'
mu/compressor
'
)
out = compand(in,Mu,v,
implements
a µ-law expander for the input vector '
mu/expander
'
) 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,
implements
an A-law compressor for the input vector '
A/compressor
'
) 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,
implements
an A-law expander for the input vector '
A/expander
'
) 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
.
Note: The prevailing parameters used in practice are µ= 255 and A = 87.6. |
The examples below illustrate the fact that compressors and expanders perform inverse operations.
compressed = compand(1:5,87.6,5,'a/compressor') expanded = compand(compressed,87.6,5,'a/expander')
The output is
compressed = 3.5296 4.1629 4.5333 4.7961 5.0000 expanded = 1.0000 2.0000 3.0000 4.0000 5.0000
[1] Sklar, Bernard, Digital Communications: Fundamentals and Applications, Englewood Cliffs, NJ, Prentice-Hall, 1988.