Datasheet
3−32
• Slopes k0, k1, and k2 define whether compression or expansion is to be performed within a given region,
and the degree of compression or expansion to be applied. Slopes are programmed as 28-bit (5.23-format)
numbers.
3.7.1 DRC Implementation
Figure 3−23 shows the three elements comprising the DRC: (1) an rms estimator, (2) a compression/expansion
coefficient computation engine, and (3) an attack/decay controller.
• RMS estimator—This DRC element derives an estimate of the rms value of the audio data stream into the
DRC. For the DRC block shared by CH1 and CH2, two estimates are computed—an estimate of the CH1
audio data stream into the DRC, and an estimate of the CH2 audio data stream into the DRC. The outputs
of the two estimators are then compared, sample-by-sample, and the larger valued sample is forwarded
to the compression/expansion coefficient computation engine.
Two programmable parameters, ae and (1 – ae), set the effective time window over which the rms estimate
is made. For the DRC block shared by CH1 and CH2, the programmable parameters apply to both rms
estimators. The time window over which the rms estimation is computed can be determined by:
t
window
+
−1
Fs ȏn(1 * ae)
(seconds)
• Compression/expansion coefficient computation—This DRC element converts the output of the rms
estimator to a logarithmic number, determines the region where the input resides, and then computes and
outputs the appropriate coefficient to the attack/decay element. Seven programmable parameters—T1, T2,
O1, O2, k0, k1, and k2—define the three compression/expansion regions implemented by this element.
• Attack/decay control—This DRC element controls the transition time of changes in the coefficient computed
in the compression/expansion coefficient computation element. Four programmable parameters define the
operation of this element. Parameters ad and (1 − ad) set the decay or release time constant to be used
for volume boost (expansion). Parameters aa and (1 − aa) set the attack time constant to be used for volume
cuts. The transition time constants can be determined by:
t
a
+
−1
Fs ȏn(1 * aa)
(seconds) t
d
+
−1
Fs ȏn(1 * ad)
(seconds)
• In the foregoing formula, aa is a time constant. Use aa/5 for time constant T;
aa + 5
ƪ
1 * e
−1ńFs t
a
ƫ