In the look-ahead compressor, the gain has already been reduced
by the time that the tone-burst signal arrives at the multiplier input.
Note that when using a look-ahead compressor, it is important to
set the detector hold time to a value that is at least the same as
the look-ahead delay time or the compressor release will start too
soon, resulting in an expanded tail of a tone-burst signal.The
complete flow of the left/right dynamics processor is shown in
Figure 13.
rms_hold_time_parameter = int f × hold_time
S
Where
rms_holdtime_parameter = the integer number to enter into
the SPI RAM, fS = the audio sample rate, hold_time = the abso-
lute time to wait before starting the release ramp-down of the
detector output, and int
() = the integer part of the expression.
rms_decay_parameter = int rms_decay /0.137
(
)
DELAY
POSTCOMPRESSION
where
rms_decay_parameter = the decimal integer number to enter
into the SPI RAM, rms_decay = the decay rate in dB/sec, and
int
() = the integer part of the expression.
SPI-PROGRAMMABLE
LOOK-AHEAD DELAY
GAIN, SPI-
PROGRAMMABLE
UP TO 30dB
DELAY
(L+R)
2
Look-Ahead Delay
lookahead_delay_parameter = lookahead_delay × fS
HIGH BITS (1LSB = 3dB)
MODIFIED RMS
DETECTOR WITH
LOG OUTPUT
where
lookahead_delay = the predictive compressor delay in
absolute time, fS = the audio sample rate, and the maximum
lookahead_delay_parameter value is 100.
LOOK-UP
TABLE
LINEAR
INTERPOLATION
LOW BITS
RELEASE
HOLD
TIME
CONSTANT
Postcompression Gain
post_compression_gain_parameter =
Figure 13. Complete Dynamics Flow, Main Channels
post_compression_gain_linear∧ 1/5
The detector path works from the sum of the left and right channels
((L + R)/2).This is the normal way that compressors are built and
counts on the fact that the main instruments in any stereo mix are
seldom recorded deliberately out of phase, especially in the lower
frequencies that tend to dominate the energy spectrum of real music.
where
post_compression_gain_linear is the linear post-compression
gain and ^ = the raise to the power.
Subwoofer Compressor/Limiter
The subwoofer compressor/limiter differs from the left/right
compressor in the following ways:
The compressor is followed by a block known as post-compression
gain. Most compressors are used to reduce the dynamic range
of music by lowering the gain during loud signal passages.This
results in an overall loss of volume.This loss can be made up by
introducing gain after the compressor. In the AD1954, the coef-
ficient format used is 2.20, which has a maximum floating-point
representation of slightly less than 2.0.This means that the maxi-
mum gain that can be achieved in a single instruction is 6 dB.To
get more gain, the program in the AD1954 uses a cascade of five
multipliers to achieve up to 30 dB of post-compression gain.
1. The subwoofer compressor operates on a weighted sum of the
left and right inputs (aa
Left + bb
Right), where aa and
bb are both programmable.
2. The detector input has a biquad filter in series with the input
in order to implement frequency-dependent compression
3. There is no predictive compression since presumably the input
signals are filtered to pass only low frequencies and therefore
transient overshoots are not a problem.
To program the compressor/limiter, the following formulas may
be used to determine the 22-bit numbers (in 2.20 format) to be
entered into the parameter RAM.
The subwoofer compressor signal flow is shown in Figure 14.
V
_SUB = k1 LEFT_IN + K2 RIGHT_IN
IN
RMSTime Constant
This can be best expressed by entering the time constant in terms
of dB/sec raw release rate (without the peak-riding circuit).The
attack rate is a rather complicated formula that depends on the
change in amplitude of the input sine wave.
POSTCOMPRESSION
PROGRAMMABLE
UP TO 30dB
HIGH BITS (1LSB = 3dB)
MODIFIED RMS
DETECTOR WITH
LOG OUTPUT
BIQUAD
FILTER
LOOK-UP
TABLE
LINEAR
INTERPOLATION
release_rate
LOW BITS
10.0 × fS
)
rms_tconst_parameter = 1.0 – 10 (
RELEASE
HOLD
TIME
CONSTANT
where
rms_tconst_parameter
= the fractional number to enter into
the SPI RAM (after converting to 22-bit 2.20 format), and the
release_rate = the release rate
of the raw rms detector in dB/sec.
This must be negative, and fS = the audio sample rate.
Figure 14. Signal Flow for Subwoofer Compressor
REV. A