Audio Processing Solutions
Audio Processing Solutions
Audio Processing Solutions
Transformez vos PDF en papier électronique et augmentez vos revenus !
Optimisez vos papiers électroniques pour le SEO, utilisez des backlinks puissants et du contenu multimédia pour maximiser votre visibilité et vos ventes.
Asia Analog Tech Day August 2009<br />
<strong>Audio</strong> <strong>Processing</strong> <strong>Solutions</strong><br />
By Dominik Hartl and Yang Boon Quek 郭嚴文<br />
d-hartl@ti.com quekyb@ti.com<br />
<strong>Audio</strong> Applications Engineering<br />
<strong>Audio</strong> and Imaging Products
Topics<br />
• DRC / AGC<br />
• 3-D<br />
• bass boost<br />
• echo cancellation<br />
• noise cancellation<br />
Relevant Products: TAS57xx, TPA2016/7, TAS550x,<br />
TAS33xx, TSC2117, AIC3xxx
DRC and AGC
Overview<br />
• DRC = Dynamic Range Compression<br />
• AGC = Automatic Gain Control<br />
• Detects the input signal envelope<br />
• Varies the gain automatically<br />
– Boosts up “softer” sound<br />
– Reduces very loud signals to prevent clipping
TAS5706 DRC
TAS5706 DRC Fixed Gain Region<br />
-75dBV<br />
• Gain is constant in<br />
this region<br />
• Usually used to<br />
boost low signals<br />
-70dBV
TAS5706 DRC Compression Region<br />
-12dBV<br />
• Gain is decreasing<br />
or increasing in this<br />
region<br />
-40dBV<br />
• Usually used to<br />
compress large<br />
signals
TPA2016D2 AGC Output Waveform<br />
• Optimized for enhancing the perceived audio<br />
loudness (eg. Movies in noisy enviroments)<br />
Without TPA2016D2:<br />
With TPA2016D2:
TPA2016 Automatic Gain Control<br />
Note that AGC do not<br />
work below the 1:1 line.<br />
i.e. min gain is 0dB<br />
• Looks different<br />
but is actually<br />
almost the<br />
same as DRC<br />
• AGC has added<br />
features<br />
- Limiter<br />
- Noise Gate<br />
- Rotation point<br />
fixed at 10dBV<br />
- more flexibility
Limiter Level<br />
• Sets max output voltage level<br />
• Below max speaker power rating<br />
• Below min supply voltage<br />
VOUT<br />
(dBV)<br />
Limiter Level = 630mW<br />
Limiter Level = 500mW<br />
Limiter Level = 400mW<br />
1:1<br />
Increasing<br />
Limiter<br />
Level<br />
Decreasing<br />
Limiter<br />
Level<br />
VIN (dBV)<br />
Fig. Varying Limiter Levels<br />
VOUT<br />
(dBV)<br />
Large Fixed Gain<br />
Small<br />
Fixed<br />
Gain<br />
1:1<br />
VIN (dBV)<br />
Fig. Variation with Fixed Gain
Attack, Release and Hold Time<br />
• Attack time: Min time between gain decreases<br />
• Release time: Min time between gain increases<br />
• Hold time: Min time between attack and release<br />
• It is recommended to use default times<br />
Input Signal<br />
Amplitue (Vrms)<br />
Gain (dB)<br />
Attack time<br />
Release time<br />
Hold time<br />
Time end<br />
Time reset<br />
Hold timer not used after<br />
first gain increase<br />
time
Noise Gate<br />
• Prevents AGC from changing the gain when<br />
there is no audio at the input of the amplifier<br />
• Avoid amplifying noise floor
TPA2016 Automatic Gain Control<br />
• Visualize your input vs output relationship in<br />
your design
TAS5709/10 - 2 Band DRC<br />
• 2 DRC controls.<br />
• DRC1 controls the high freq audio.<br />
• DRC2 controls the low freq audio.<br />
• Note that you can change the audio cutoff freq<br />
that DRC1 and DRC2 controls.<br />
• Compress bass frequencies more aggressively<br />
than mids/highs to prevent “cabinet” rattle.
L_IN<br />
TAS5709/10 - 2 Band DRC<br />
7 EQ BQs<br />
Split the bass out<br />
from the mid/highs<br />
R_IN<br />
7 EQ BQs<br />
BQ1<br />
High Pass<br />
Filter<br />
BQ1<br />
Low Pass<br />
Filter<br />
BQ1<br />
High Pass<br />
Filter<br />
BQ1<br />
Low Pass<br />
Filter<br />
• Independent thresholds for Sub & Mid/High<br />
frequencies<br />
• Compress bass frequencies more aggressively<br />
than mids/highs to prevent “cabinet” rattle.<br />
• Prevent speaker damage<br />
DRC-1<br />
DRC-2<br />
DRC-1<br />
DRC-2<br />
L_OUT<br />
R_OUT<br />
On-Chip DAP<br />
Dampen the bass more<br />
aggressively to prevent<br />
cabinet rattle<br />
• <strong>Audio</strong> <strong>Processing</strong> Supported<br />
• 2-Band DRC + Speaker EQ (7 BQ per L/R)
d<br />
B<br />
V<br />
+15<br />
+12.5<br />
+10<br />
+7.5<br />
+5<br />
+2.5<br />
+0<br />
-2.5<br />
-5<br />
-7.5<br />
-10<br />
-12.5<br />
-15<br />
-17.5<br />
-20<br />
-22.5<br />
-25<br />
-27.5<br />
Lab Results<br />
TAS5709 - 2 band DRC<br />
-30<br />
-40 -37.5 -35 -32.5 -30 -27.5 -25 -22.5 -20 -17.5 -15 -12.5 -10 -7.5 -5 -2.5 +0<br />
Sweep Trace Color Line Style Thick Data Axis Comment<br />
1 1 Blue Solid 1 Anlr.Level A Left DRC1=No DRC. DRC2= No DRC<br />
2 1 Magenta Solid 1 Anlr.Level A Left DRC1=Ratio 4, Threshold -25dB, offset=0. DRC2 = No DRC<br />
3 1 Yellow Dash Dot 1 Anlr.Level A Left DRC1= No DRC; DRC2=Ratio 4, Threshold -25dB, offset=0.<br />
Input = 2kHz. No effect if only DRC2 is enabled, since input is High Freq.<br />
dBFS
d<br />
B<br />
V<br />
+15<br />
+12.5<br />
+10<br />
+7.5<br />
+5<br />
+2.5<br />
+0<br />
-2.5<br />
-5<br />
-7.5<br />
-10<br />
-12.5<br />
-15<br />
-17.5<br />
-20<br />
-22.5<br />
-25<br />
-27.5<br />
Lab Results<br />
TAS5709 - 2 band DRC<br />
-30<br />
-40 -37.5 -35 -32.5 -30 -27.5 -25 -22.5 -20 -17.5 -15 -12.5 -10 -7.5 -5 -2.5 +0<br />
Sweep Trace Color Line Style Thick Data Axis Comment<br />
1 1 Blue Solid 1 Anlr.Level A Left DRC1=none, DRC2=none<br />
2 1 Magenta Solid 1 Anlr.Level A Left DRC1=none, DRC2=ratio4, threshold = -25dB, offset=0dB<br />
3 1 Yellow Dash Dot 1 Anlr.Level A Left DRC1=ratio4, threshold = -25dB, offset=0dB; DRC2=none<br />
Input = 200Hz. DRC1 has no effect, since input is Low Freq.<br />
dBFS
3D Surround
Overview<br />
• Supported Products : TAS5716, TAS5709/10, AIC3xxx<br />
• Basic formula for implementing 3D Surround<br />
L3D R3D L hpf<br />
R hpf<br />
1 { 2<br />
1 { 2<br />
( R L)}<br />
( L R)}<br />
• Low-frequency energy in the music of most stereo audio<br />
tracks is monaural (i.e., left and right channels are the<br />
same) and non-directional.<br />
• We can easily vary the amount of 3D effects<br />
a L b<br />
hpf ( R L)}<br />
L3D R3D <br />
c R d hpf<br />
1 { 2<br />
1 { 2<br />
( L R)}
L<br />
R<br />
TAS5709 3D<br />
On-Chip DAP<br />
DELAY<br />
BQ<br />
DELAY<br />
BQ<br />
x (+0.5)<br />
x (-0.5)<br />
1 st HPF<br />
Fc:180Hz<br />
EQ:<br />
Fc:1kHz, G:3dB<br />
BW: 2kHz<br />
BQ BQ<br />
Side Signal: S = (L-R)/2 3D Filter: Filter the Bass<br />
out and boost the mids<br />
• Enhanced <strong>Audio</strong> Experience with soundstage widening<br />
• 3D algorithm can be fine tuned. The mixers, Biquad<br />
filters, etc. are programmable.<br />
x 1<br />
x 1<br />
DELAY<br />
BQ<br />
DELAY<br />
BQ<br />
x (+0.75)<br />
x (+1.25)<br />
x (-1.25)<br />
x (+0.75)<br />
L‟<br />
R‟<br />
7 EQ BQs<br />
Add the Side signal<br />
to the Left / Subtract<br />
It from the Right<br />
7 EQ BQs<br />
• <strong>Audio</strong> <strong>Processing</strong> Supported<br />
• 3D Effects + Speaker EQ (7 BQ per L/R) + Bass<br />
Boost
TAS5709 3D<br />
• The mixers, Biquad filters registers, etc. are<br />
programmable through I2C.
Example: AIC3111 3D<br />
Check out the demo after the presentation!
Bass Boost
Overview<br />
• Provide improved bass performance without the use of<br />
subwoofer speakers<br />
• Basic formula for implementing Bass Boost<br />
Lout<br />
L<br />
a L b<br />
DRC{<br />
BBF(<br />
2<br />
L<br />
Rout <br />
a R b<br />
DRC{<br />
BBF(<br />
2<br />
where BBF is LPF + EQ<br />
• DRC is needed for loudness control to prevent excessive<br />
clipping in low frequency contents<br />
• We can easily vary the amount of Bass Boost effects<br />
R<br />
R<br />
)}<br />
)}
L<br />
R<br />
TAS57xx Architecture<br />
(L+R)/2<br />
BQ<br />
2 nd HPF<br />
Fc:200Hz<br />
x (+0.5)<br />
x (+0.5)<br />
2 nd HPF<br />
Fc:200Hz<br />
BQ<br />
2 nd LPF<br />
Fc:200Hz<br />
• Improved bass performance without subwoofer speakers<br />
• DRC protects speaker from damage/clipping<br />
BQ BQ<br />
• Bass Boost algorithm can be fine tuned / adjusted. The<br />
mixers, Biquad filters, etc. are programmable.<br />
.<br />
On-Chip DAP<br />
EQ:<br />
Fc:180Hz, G:12dB<br />
BW: 300Hz<br />
Bass Boost Filter<br />
DRC<br />
K: 1:30<br />
O:0dB<br />
T:-16dB<br />
Energy: 1ms<br />
Attach: 100ms<br />
Decay: 10000ms<br />
x (+1)<br />
x (+2.4)<br />
x (+2.4)<br />
x (+1)<br />
• <strong>Audio</strong> <strong>Processing</strong> Supported<br />
• Bass Boost+3D Effects+Speaker EQ (7 BQ per L/R)<br />
L’<br />
R’<br />
7 EQ BQs<br />
7 EQ BQs
Noise Reduction
Overview<br />
1. The input audio signal is split into multiple frequency<br />
bands according to the user input.<br />
The center frequency for each of the high frequency and low<br />
frequency bandpass filters are variables controlled by the user.<br />
2. Each frequency band is „gated‟ so that only signal that is<br />
a certain threshold above the estimated noise floor is<br />
passed.<br />
Both the threshold and amount of attenuation level is user<br />
programmable.<br />
3. The output from each of the frequency bands is summed<br />
to form the noise reduction output.
Noise Reduction Algorithm
Noise Reduction GUI<br />
• Threshold: Defines the level above the estimated noise floor the signal must be (within it‟s band) to be<br />
considered „signal‟ as opposed to „noise‟. It spans from 0 dB to 20 dB and is used along with the Attenuation property<br />
to differentiate between „signal‟ and „noise‟.<br />
• Attenuation: Defines how much noise attenuation will be applied. It spans from 0 dB to 20 dB and is used<br />
along with the Threshold property todifferentiate between „signal‟ and „noise‟.<br />
• Low Freq & High Freq: Define the bandwidth over which the noise reduction filter bank is to be applied.<br />
The “Low Freq” control spans from 100 Hz to 1000 Hz. The “High Freq” control spans from 1000 Hz to 18,472.5 Hz.<br />
Available for:<br />
AIC3254<br />
AIC3111<br />
AIC36<br />
TSC2117
Echo Cancellation
Overview
Components<br />
• NLMS Adaptive Filter:<br />
This filter is based on the Normalized Least Mean Square (NLMS) algorithm. The NLMS<br />
algorithm incorporates an iterative procedure designed to make successive corrections<br />
to its weighted filter coefficients based on the measured error. This procedure eventually<br />
leads to the minimization of the mean squared error. The error in this application is the<br />
difference in the echo at the uplink (Tx) input and the estimated echo calculated by the<br />
NLMS algorithm.<br />
• NLP Controller:<br />
When the NLMS algorithm cannot completely remove echo, the NLP controller will<br />
suppress any remaining residual echo. The NLP controller initially classifies the<br />
communication scenario and then applies an appropriate amount of attenuation to the<br />
Uplink (Tx) and Downlink (Rx) signals to make the residual echo less audible.
Components<br />
• Center Clipper (CC):<br />
A Center Clipper (CC) module is applied to replace small-amplitude audio samples with<br />
zeros to make low-level residual echo completely inaudible.<br />
• Comfort Noise Generator (CNG)<br />
The CNG generates pink noise to make background noise sound smoother in the uplink<br />
(Tx). The CNG automatically estimates the near-end background noise level and<br />
generates pink noise that matches the same level as the estimated background<br />
noise.The comfort noise generator may mask low level transients generated by the NLP<br />
module when changing modes as well as avoid the effects of “dead air” caused by the<br />
elimination of all residual noise on the line.
AIC3254 implementation
Thank You!<br />
Questions?