01.08.2013 Vues

Audio Processing Solutions

Audio Processing Solutions

Audio Processing Solutions

SHOW MORE
SHOW LESS

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?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!