English
Language : 

TAS3103 Datasheet, PDF (84/146 Pages) Texas Instruments – Digital Audio Processor With 3D Effects
data that falls in the subaddress range 0x01 through 0xD1 after issuing an I2C command to change the volume level
on one of the three monaural channels, the busy bit at subaddress 0xFF must be monitored to determine when the
volume activity has ceased and it is safe to resume I2C read activity at subaddresses 0x01 through 0xD1. A value
of 0 in the least significant bit of the byte output upon reading subaddress 0xFF signifies that all volume transition
activity has completed.
3.6.2 Loudness Compensation
Loudness compensation employs a single, coefficient-programmable, biquad filter and a function block
f(volume_setting), whose output is only a function of the volume control setting. The biquad filter input is the channel
processed audio data stream that also feeds the volume gain-control mixer. The biquad output feeds a gain control
mixer whose other input is the volume control setting after processing by the function block f(volume setting).
Loudness compensation then allows a given spectral segment of the audio data stream (as determined by the biquad
filter coefficients) to be given a delta adjustment in volume as determined by the programmable function block
f(volume_setting).
The output of the function block f(volume_setting) can be expressed in terms of the programmable I2C coefficients
as:
f(volume_setting) = [(volume_setting)LG x2LO xG] +O
where:
LG = logarithmic gain = 5.23 format number
LO = logarithmic offset = 25.23 format number
G = gain = 5.23 format number
O = offset = 25.23 format number
If LG = 0.5, LO = 0.0, G = 1.0, and O = 0.0, f(volume setting) becomes:
f(volume_setting) = √volume_setting
The output of the soft volume/loudness compensation block for the above case would be:
audioOut = [audioIn × volume_setting] + [audioIn × F(s)Biquad × √volume_setting ]
If a given monaural channel is set up as in the above example, a true mute is not obtained when a mute command
is issued for the monaural channel. A mute command results in a volume control setting of 0.0. LG and LO operate
in logarithmic space and the logarithm of 0.0 is − ∞. Therefore (volume_setting)−∞ and 2−∞ should both be of value
0. However, the function block f(volume_setting) approximates logarithmic arithmetic and a consequence of the
mathematical approximations used is that the function block can output a non-zero value for an input volume setting
of 0.0. For f(volume_setting) = √volume_setting, a volume_setting value of 0.0 results in the function block outputting
a gain coefficient that cuts the output of the biquad filter by approximately 90 dB. If true muting is required, it can be
achieved by setting G = 0.0 after the volume control setting has softly transitioned to 0.0.
3−24