This is where navigation should be.

RANGECOMPRESS - Compress the dynamic range of a signal

Usage

[outsig, sigweight] = rangecompress(insig,mu);

Description

[outsig, sigweight]=rangecompress(insig,mu) range-compresss the input signal insig using \(\mu\)-law range-compression with parameter mu.

rangecompress takes the following optional arguments:

'mulaw' Do mu-law compression, this is the default.
'alaw' Do A-law compression.
'mu',mu \(\mu\)-law parameter. Default value is 255.
'A',A A-law parameter. Default value is 87.7.

The following plot shows how the output range is compressed for input values between 0 and 1:

x=linspace(0,1,100);
xc=rangecompress(x);
plot(x,xc);
xlabel('input');
ylabel('output');
title('\mu-law compression');

References:

S. Jayant and P. Noll. Digital Coding of Waveforms: Principles and Applications to Speech and Video. Prentice Hall, 1990.