We can model dynamic range compression as a *level-dependent
gain*. Multiplying a signal by a constant gain (``volume control''),
on the other hand, is a linear operation. Let's check that the
scaling and superposition properties of linear systems are satisfied
by a constant gain: For any signals
, and for any constants
, we must have

Since this is obviously true from the algebraic properties of real or complex numbers, both scaling and superposition have been verified. (For clarity, an explicit `` '' is used to indicate multiplication.)

Dynamic range compression can also be seen as a *time-varying
gain* factor, so one might be tempted to classify it as a linear,
time-varying filter. However, this would be incorrect because the
gain
, which multiplies the input, *depends on the input
signal*
. This happens because the compressor must estimate the
current signal level in order to normalize it. Dynamic range
compression can be expressed symbolically as a filter of the form

where denotes a gain that depends on the ``current level'' of at time . A common definition of signal level is

That is, the compression of the sum of two signals is not generally the same as the addition of the two signals compressed individually. Therefore, the superposition condition of linearity fails. It is also clear that the scaling condition fails.

In general, any signal operation that includes a multiplication in which both multiplicands depend on the input signal can be shown to be nonlinear.

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University