27
Signal Processing and Speech Communication Laboratory Graz, SS 2010 Martin Hagmüller DAT 2 – AEC - p. 1/27 Digitale Audiotechnik 2 Acoustic Echo Cancellation Control Strategies Martin Hagmüller [email protected] Signal Processing and Speech Communication Laboratory Graz University of Technology – Austria

Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 1/27

Digitale Audiotechnik 2

Acoustic Echo CancellationControl Strategies

Martin Hagmü[email protected]

Signal Processing and Speech Communication Laboratory

Graz University of Technology – Austria

Page 2: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

■ Review - AECSystem

■ Control Issues

NLMS Convergence

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 2/27

Introduction

Page 3: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

■ Review - AECSystem

■ Control Issues

NLMS Convergence

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 3/27

Review - AEC System

e(n)+

x(n)

d(n)

s(n)

b(n)d(n)

Echo-

kompen-

sations-

filter

y(n)

h (n)

x(n)

Page 4: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

■ Review - AECSystem

■ Control Issues

NLMS Convergence

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 4/27

Control Issues

■ Fast initial convergence ↔ Final missadjustment■ Convergence ↔ Divergence■ Double talk

Page 5: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 5/27

NLMS Convergence

Page 6: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 6/27

Least Mean Squares (LMS) Algorithm

■ Minimize error iteratively at every time instance n

min{e2[n]}

■ Update equation:

hi[n + 1] = hi[n] + µ(e[n]x[n − i])

■ Vector notation:h[n + 1] = h[n] + µe[n]x[n]

■ Normalization & Regularization

h[n + 1] = h[n] + µe[n]x[n]

‖x[n]2‖ + ∆

Page 7: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 7/27

System Distance

■ Definition:◆ ‖h∆[n]‖2 = ‖h[n] − h[n]‖2

■ White exitation signal x[n], no local noise n[n]

◆ ‖h∆[n]‖2 = E{|e[n]2|}E{|x[n]2|}

■ White exitation signal x[n], local noise n[n]

◆ lower bound: limn→0

E{

‖h∆[n]‖2}

∆=0≈ µ

2−µσ2

n

σ2x

◆ Depends on■ SNR■ Stepsize µ

■ Equivalent relations for regularization parameter ∆

Page 8: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 8/27

Convergence Speed

■ Initial convergence:◆ 10 log10

(

1 − µ(2−µ)N

)

dBiteration

◆ Depends on:■ stepsize µ■ Filter length N

■ Equivalent relations for regularization parameter ∆

Page 9: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 9/27

Convergence vs. Final Missadjustment (NLMS)

h[n + 1] = h[n] + µe[n]x[n]

‖x[n]2‖ + ∆

■ Fast initial convergence →◆ large stepsize µ◆ small regularization parameter ∆

■ Small final missadjustment (‖h∆[n]‖2 → 0) →◆ small stepsize µ◆ large regularization parameter ∆

■ Conflicting requirements →time-varying stepsize µ[n] & regularization parameter ∆[n].

Page 10: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 10/27

Variable Stepsize

h∆[n + 1] = h∆[n] − µe[n]x[n]

‖x[n]2‖ + ∆

■ Optimal stepsize:◆ µopt ≈

E{|eu[n]|2}E{|e[n]|2} , where eu[n] . . . undistorted error

◆ e[n] = eu[n] + n[n]

■ Implementation:

◆ µopt =|e2

u[n]|

|e2[n]|

◆ |e2[n]| = γ|e2[n − 1]| + (1 − γ)e2[n]

◆ |e2u[n]| = γ|e2

u[n − 1]| + (1 − γ)(e[n] − n[n])2

■ Problem: eu not directly accessible

Page 11: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

■ LMS

■ System Distance

■ Convergence Speed

■ Summary

■ Variable Stepsize

■ var. µ example

Detection &Estimation

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 11/27

Variable Stepsize - Example

Parameters:■ x[n], n[n]

. . . white noise■ SNR = 30dB■ N = 1000■ γ = 0.997

Page 12: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 12/27

Detection & Estimation

Page 13: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 13/27

Short-term Power Estimation

■ First order IIR smoothing:

|x2[n]| = γ|x2[n − 1]| + (1 − γ)x2[n]

γ[n] =

{

γr, if x2[n] ≥ x2[n − 1]

γf , otherwise

Page 14: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 14/27

Short-term Power Estimation

■ Local Background Noise Power

|b2[n]| = min{y2[n], |b2[n − 1]|}(1 + ǫ)

B∆(ǫ) = fs20 log10(1 + ǫ)

Page 15: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 15/27

Short-term Power Estimation Example

1 2 3 4 5 6 7 8 9x 10

5

−1

−0.5

0

0.5

200 400 600 800 1000 1200 1400 1600 1800

−30

−25

−20

−15

−10

−5

var

ypower

y

bg noise y

Page 16: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 16/27

System Distance Estimation

■ Undisturbed error signal:

E{e2u[n]} = E{x2[n]}E

{

‖h∆[n]‖2}

■ Echo coupling:

β[n] = E{

‖h∆[n]‖2}

= E{

‖h[n] − h[n]‖2}

■ Pseudo-optimal stepsize:

µ[n] =E{e2

u[n]}

E{e2[n]}=

E{x2[n]}β[n]

E{e2[n]}

Page 17: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 17/27

Echo Coupling

Page 18: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 18/27

Coupling Factor Estimation

■ βp based on power estimation:

βp[n] =|e2

u[n]|

|x2[n]|

{

γβp[n − 1] + (1 − γ) |e2[n]|

|x2[n]|, if remote single talk

βp[n − 1], otherwise

■ Remote single talk detection necessary■ Power comparison:

βL[n] =

{

γβL[n − 1] + (1 − γ) |y2[n]|

|x2[n]|, if large remote exitation

βL[n − 1], otherwise

■ Thresholding:

y2[n] ≥ KLx2[n]βL[n]

Page 19: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 19/27

System Example - Echo Coupling

Page 20: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

■ Power Estimation

■ Power Estimation

■ Power Est. Plot

■ System Distance

■ Coupling

■ Coupling

■ Coupling

■ Single Talk

Double Talk

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 20/27

System Example - Single Talk Detection

Page 21: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 21/27

Double Talk

Page 22: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 22/27

Convergence vs. Divergence

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−35

−30

−25

−20

−15

−10

−5

0

Iterations

dB

Expected system distance

Convergence time

Double talkFar end single talkSilence

Divergence time

Page 23: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 23/27

Introduction - DTD

■ Detection statistic ξ using signals x, y, e, h

■ Compare ξ to threshold T : Double-talk if ξ < T

■ Adaptation of h is disabled (for minimum time thold)■ Optimum behaviour:

◆ ξ ≥ T , if n[n] = 0, i.e. no double-talk present◆ ξ < T , if n[n] 6= 0, i.e. double-talk present◆ ξ insensitive to echo path variation

■ Performance evaluation◆ Probability of false alarm◆ Probability of detection◆ Probability of Miss

Page 24: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 24/27

Geigel DTD

■ Most basic algorithm■ Computationally very simple■ Little memory needed

ξ[n] =max{|x[n], . . . , x[n − Ng + 1]}

|y[n]|< T

Ng . . . Memory, T . . . Threshold

Page 25: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 25/27

Cross-Correlation DTD

■ Cross-correlation between x[n] and y[n]

cxy =E{x[n]y[n]}

E{x2[n]}E{y2[n]}

=rxy

σxσy

= [cxy,0, cxy,1, . . . , cxy,N−1]

■ Decision variable:ξ = ‖cxy‖∞ < T

■ Problem: Statistics of excitation signal

Page 26: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 26/27

Normalized Cross-Correlation DTD

■ Accounts for statistics of excitation signal

ξ =

σ2d

σ2y

=

rTxyR

−1xx rxy

σ2y

ξ =

hT Rxxh√

hT Rxxh + σn

cxy = (σ2yRxx)−1/2

rxy

■ Equivalent to adaptive pre-whitening filter■ Simplified normalized cross-correlation:

ξ =

σ2d[n]

σ2y[n]

Page 27: Martin Hagmüller - SPSC · Introduction Review - AEC System Control Issues NLMS Convergence Detection & Estimation Double Talk Signal Processing and Speech Communication Laboratory

Introduction

NLMS Convergence

Detection &Estimation

Double Talk

■ Convergence vs.Divergence

■ Intro

■ Geigel DTD

■ X-Corr DTD

■ Norm. X-Corr DTD

■ VIRE

Signal Processing and Speech Communication Laboratory

Graz, SS 2010Martin Hagmüller DAT 2 – AEC - p. 27/27

Variance Impulse Response (VIRE)

■ Based on variance of adaptive filter■ Near end speech → corrupting adaption → fluctuation of filter

coefficientsξ[n] = γξ[n − 1] + (1 − γ)(κ − κ)2

κ = γκ[n − 1] + (1 − γ)κ

κ = max([h0, h1, . . . , hN−1])

■ Computationally simple■ Sensitive to echo path variations