Document

advertisement

Variable Step-Size Adaptive Filters for Acoustic Echo Cancellation

Constantin Paleologu

Department of Telecommunications pale@comm.pub.ro

Introduction

• acoustic echo cancellation (AEC)

 required in hands-free communication devices, (e.g., for mobile telephony or teleconferencing systems)

! acoustic coupling between the loudspeaker and microphone

 an adaptive filter identifies the acoustic echo path between the terminal’s loudspeaker and microphone

• specific problems in AEC

 the echo path can be extremely long

 it may rapidly change at any time during the connection

 the background noise can be strong and non-stationary

• important issue in echo cancellation

 the behaviour during double-talk

 the presence of Double-Talk Detector ( DTD )

x ( n )

Introduction

(cont.) d ( n )

Digital filter y ( n )

+ e ( n )

Adaptive algorithm

Adaptive filter

( )

( )

( ) 

Cost function J [ e ( n )]

minimized

Introduction

(cont.)

AEC configuration x ( n )

Far-end ĥ ( n )

Adaptive filter

-

“synthetic” echo

DTD h

Acoustic echo path acoustic echo

Background noise to the Far-end

≈ v ( n ) e ( n ) d ( n ) microphone signal

Near-end v ( n )

Performance criteria:

- convergence rate vs.

misadjustment

- tracking vs.

robustness

(a)

-20

-30

-40

-50

-60

0

0.01

0.005

0

-0.005

-0.01

0 100 200 300 400 500 600 700 800 900 1000

(b)

0.5

1 1.5

2 2.5

3 3.5

4

Fig. 1. Acoustic echo path: (a) impulse response; (b) frequency response.

(a)

0.1

0.05

0

-0.05

0 100 200 300 400 500 600 700 800 900 1000

(b)

0

-20

-40

0 0.5

1 1.5

2 2.5

3 3.5

Fig. 2. Acoustic echo path: (a) impulse response; (b) frequency response.

4

(a)

0.1

0.05

0

-0.05

-0.1

0 500 1000 1500

(b)

2000 2500 3000

10

0

-10

-20

-30

0 0.5

1 1.5

2 2.5

3 3.5

4

Fig. 3. Acoustic echo path: (a) impulse response; (b) frequency response.

Adaptive algorithms for AEC

• requirements

 fast convergence rate and tracking

 low misadjustment

 double-talk robustness

• most common choices

 normalized least-mean-square (NLMS) algorithm

 affine projection algorithm (APA)

• step-size parameter (controls the performance of these algorithms)

 large values

 fast convergence rate and tracking

 small values

 low misadjustment and double-talk robustness conflicting requirements

 variable step-size (VSS) algorithms

• classical NLMS algorithm e ( n ) = d ( n ) – x T ( n ) ĥ

( n

– 1) ĥ ( n ) = ĥ ( n – 1) + μ ( n ) x ( n ) e ( n ) step-size parameter adaptive filter length where

μ

( n ) =

μ /

[ x T ( n ) x ( n )] x ( n ) = [ x ( n ), x ( n – 1), …, x ( n – L + 1)] T

ε

( n ) = d ( n ) – x T ( n ) ĥ

( n )  a posteriori error vector

 ε ( n ) = e ( n )[1 – μ ( n ) x T ( n ) x ( n )]

ε

( n ) = 0 [assuming that e ( n ) ≠ 0]  μ

( n ) = 1 / [ x T ( n ) x ( n )]

 μ =

1

Optimal step-size ?

x ( n )

( far-end ) ĥ ( n )

-

(to the far-end )

ε

( n ) = 0

ε

( n ) = v ( n ) h v ( n )

( near-end )

E { ε 2 ( n )} = E { v 2 ( n )}

E { e 2 ( n )}[1 –

μ

( n ) LE { x 2 ( n )}] 2 = E { v 2 ( n )}

 ˆ e

2

 

1 x

T x

1 x

T x

1

1

 ˆ v

 ˆ e

 

 

  ˆ e

2

 n 1

 

1

   

?

λ = 1 – 1/( KL ), with K > 1

1) near-end signal = background noise ( single-talk scenario ) v ( n ) = w ( n ) background noise power estimate

 

1 x

T x

1

 ˆ e

 ˆ w

 

[J. Benesty et al, “A nonparametric VSS NLMS algorithm”, IEEE Signal Process. Lett., 2006]

NPVSS-NLMS algorithm

Problem : background noise can be time-variant

2) near-end signal = background noise + near-end speech v ( n ) = w ( n ) + u ( n ) ( double-talk scenario )

 ˆ 2 v

    ˆ 2 w

    ˆ 2 u

  near-end speech power estimate

???

Problem : non-stationary character of the speech signal

Solutions for evaluating the near-end signal power estimate

 ˆ v

2 

?

1.

using the error signal e ( n ), with a larger value of the weighting factor:

 ˆ e

2   ˆ e

2

 n 1

 

1

   

λ

= 1 – 1/( KL ), with K > 1

 ˆ v

2

    ˆ v

2

 n 1

 

1

   

γ = 1 – 1/( QL ), with Q > K

 simple VSS-NLMS ( SVSS-NLMS ) algorithm

SVSS

  x

T

1

1

 ˆ v

  ˆ

  e

  regularization parameter small positive constant

!

The value of

γ influences the overall behaviour of the algorithm.

2.

using a normalized cross-correlation based echo path change detector:

 ˆ v

2

    ˆ e

2

  

 ˆ 2 x

1 r

ˆ T e x r

ˆ e x

 ˆ 2 x

    ˆ 2 x

 n 1

 

1

   

  r

ˆ e x

 n 1

 

1

     

NEW-NPVSS-NLMS algorithm

  

  x

T

1

  x

T

1

1

 ˆ v

  ˆ

  e

 

 if

   otherwise

[M. A. Iqbal et al, “Novel Variable Step Size NLMS Algorithms for Echo Cancellation ”,

  r

ˆ ed

 ˆ 2 d

 

 

 ˆ r

ˆ

2 e ed

 

 

 ˆ d

2   ˆ d

2

 n 1

Proc. IEEE ICASSP, 2008]

 

1

    r

ˆ ed

    r

ˆ ed

 n 1

 

1

      convergence statistic

!

The value of ς influences the overall behaviour of the algorithm.

x ( n )

( far-end ) ĥ ( n ) h

-

  y ( n )

(to the far-end ) d ( n ) = y ( n ) + v ( n ) v ( n ) = w ( n ) + u ( n )

( near-end )

E { d 2 ( n )} = E { y 2 ( n )} + E { v 2 ( n )} available !

2

  

ˆ 2

  

 assuming that the adaptive filter has converged to a certain degree

2

  

2

  

ˆ 2

  

 ˆ v

2

    ˆ 2 d

    ˆ 2 y

 

 

1

 x

T

( ) ( )

1

 ˆ 2 d

    ˆ 2 y

 

  ˆ e

Practical VSS-NLMS ( PVSS-NLMS ) algorithm

[C. Paleologu, S. Ciochina, and J. Benesty,“Variable Step-Size NLMS Algorithm for

Under-Modeling Acoustic Echo Cancellation ”, IEEE Signal Process. Lett., 2008]

!

This algorithm assumes that the adaptive filter has converged to a certain degree.

Table I.

Computational complexities of the different variable-step sizes.

Algorithms

NPVSS-NLMS

SVSS-NLMS

NEW-NPVSS-

NLMS

PVSS-NLMS

Additions Multiplications Divisions Square-roots

3 3 1 1

4

2 L + 8 3 L

5

+ 12

1

3

1

1

6 9 1 1

Simulation results (I)

• conditions

 Acoustic echo cancellation (AEC) context, L = 1000.

 input signal x ( n ) – AR(1) signal or speech sequence.

 background noise w ( n ) – independent white Gaussian noise signal (variable SNR)

 measure of performance – normalized misalignment (dB)

20log (||

ˆ

n h

• algorithms for comparisons

 NLMS

NPVSS-NLMS

SVSS-NLMS

NEW-NPVSS-NLMS

PVSS-NLMS

-10

-15

0

-5

-20

-25

-30

-35

NLMS w ith step-size (a)

NLMS w ith step-size (b)

NPVSS-NLMS

-40

0 5 10 15

Time (seconds)

20 25 30

Fig. 4.

Misalignment of the NLMS algorithm with two different step sizes

(a)

μ =

1 and (b)

μ =

0.05 , and misalignment of the NPVSS-NLMS algorithm.

The input signal is an AR(1) process, L = 1000,

λ

= 1

1 / (6 L ), and SNR = 20 dB.

-5

-10

5

0

-15

-20

-25

-30

NLMS w ith step-size (a)

NLMS w ith step-size (b)

NPVSS-NLMS

-35

-40

0 5 10 15

Time (seconds)

20 25 30

Fig. 5.

Misalignment of the NLMS algorithm with two different step sizes

(a) μ = 1 and (b) μ = 0.05 , and misalignment of the NPVSS-NLMS algorithm.

The input signal is an AR(1) process, L = 1000,

λ

= 1

1 / (6 L ), and SNR = 20 dB.

Echo path changes at time 10.

5

0

-5

-10

-15

-20

-25

SVSS-NLMS w ith

= 1 - 1/(12 L )

SVSS-NLMS w ith

= 1 - 1/(18 L )

SVSS-NLMS w ith

= 1 - 1/(30 L )

-30

-35

0 5 10 15

Time (seconds)

20 25 30

Fig. 6.

Misalignment of the SVSS-NLMS algorithm for different values of γ .

Impulse response changes at time 10, and SNR decreases from 20 dB to 10 dB at time 20. The input signal is an AR(1) process, L = 1000, and

λ

= 1 – 1/(6 L ).

-5

-10

-15

-20

5

0

NEW-NPVSS-NLMS w ith

= 1

NEW-NPVSS-NLMS w ith

= 0.1

NEW-NPVSS-NLMS w ith

= 0.001

-25

-30

-35

0 5 10 15

Time (seconds)

20 25 30

Fig. 7.

Misalignment of the NEW-NPVSS-NLMS algorithm for different values of

ς

. Impulse response changes at time 10, and SNR decreases from 20 dB to 10 dB at time 20. The input signal is an AR(1) process, L = 1000, and

λ

= 1 – 1/(6 L ).

-8

-10

-4

-6

-12

-14

-16

0

-2

NPVSS-NLMS

SVSS-NLMS

NEW-NPVSS-NLMS

PVSS-NLMS

-18

0 10 20 30

Time (seconds)

40 50 60

Fig. 8.

Misalignment of the NPVSS-NLMS, SVSS-NLMS [with γ = 1 – 1/(18 L )],

NEW-NPVSS-NLMS (with

ς

= 0.1), and PVSS-NLMS algorithms. The input signal is speech, L = 1000,

λ

= 1 – 1/(6 L ), and SNR = 20 dB.

5

0

-5

NPVSS-NLMS

SVSS-NLMS

NEW-NPVSS-NLMS

PVSS-NLMS

-10

-15

0 10 20 30

Time (seconds)

40 50 60

Fig. 9.

Misalignment during impulse response change. The impulse response changes at time 20. Algorithms: NPVSS-NLMS, SVSS-NLMS [with

γ

= 1 – 1/(18 L )], NEW-

NPVSS-NLMS (with ς = 0.1), and PVSS-NLMS. The input signal is speech, L = 1000,

λ

= 1 – 1/(6 L ), and SNR = 20 dB.

5

0

-5

-10

20

15

10

NPVSS-NLMS

SVSS-NLMS

NEW-NPVSS-NLMS

PVSS-NLMS

-15

0 10 20 30

Time (seconds)

40 50 60

Fig. 10.

Misalignment during background noise variations. The SNR decreases from 20 dB to 10 dB between time 20 and 30, and to 0 dB between time 40 and 50. Algorithms:

NPVSS-NLMS, SVSS-NLMS [with γ = 1 – 1/(18 L )], NEW-NPVSS-NLMS (with ς = 0.1), and PVSS-NLMS. The input signal is speech, L = 1000,

λ

= 1 – 1/(6 L ), and SNR = 20 dB.

5

0

-5

-10

20

15

10

SVSS-NLMS

NEW-NPVSS-NLMS

PVSS-NLMS

-15

0 10 20 30

Time (seconds)

40 50 60

Fig. 11.

Misalignment during double-talk, without DTD. Near-end speech appears between time 15 and 25 (with FNR = 5 dB), and between time 35 and 45 (with FNR = 3 dB).

Algorithms: SVSS-NLMS [with γ = 1 – 1/(18 L )], NEW-NPVSS-NLMS (with ς = 0.1), and

PVSS-NLMS. The input signal is speech, L = 1000,

λ

= 1 – 1/(6 L ), and SNR = 20 dB.

Adaptive algorithms for AEC

(cont.)

Affine Projection Algorithm (APA)

 superior convergence rate as compared to the NLMS algorithm

 lower complexity as compared to the RLS algorithm e

   d

  

X

T

   n

1

   h

 n 1

 

X

 

X

T

   

1 e

  where d ( n ) = [ d ( n ), d ( n

–1), …, d ( n

– p +1)] T

X ( n ) = [ x ( n ), x ( n

– 1), …, x ( n

– p + 1)] projection order x ( n

– l ) = [ x ( n

– l ), x ( n

– l

– 1), …, x ( n

– l

L + 1)] T l

0,1, , p

1 adaptive filter length

• step-size parameter

Variable Step-Size APA (VSS-APA)

   h

 n 1

X

 

X

T

   

1

μ

   

μ

0

 

 

1

 

   p

1

 diag

0

, ,

 p

1

 

Classical APA

ε

ε

ε

 

 d

 

 X T

    e

 

 d

 

X

T

   n

1

I p

 μ

   

0 p

1

 μ

 

 I p

 a posteriori error vector

 a priori error vector

Classical APA with

μ

= 1

x ( n )

( far-end )

(to the far-end )

ε  0 p

1 ĥ ( n )

h v ( n )

( near-end )

ε

( n ) = v ( n ) where v ( n ) = [ v ( n ), v ( n – 1), …, v ( n – p +1)] T

 l

1

1

 l

   e l

1

  

 l

0,1, , p

1

E

 l

2

1

  

2

   

 1

  l

  2

 l

2

1

  

2

   

 l

2

 l

2

1

  

 

 l

 ˆ

 ˆ v e l

 

1

   ˆ 2 e l

1

  ˆ 2 e l

1

 n 1

 

1

  e l

2

1

 

λ = 1 – 1/( KL ), with K > 1

 ˆ v

  

???

 l

 ˆ 2 d

   ˆ 2 y

 

 ˆ e l

1

Proposed

, l

0,1,..., p

1

VSS-APA

 

 h

 n 1

X

  

I p

X

T

    

1

μ

    regularization factor

[C. Paleologu, J. Benesty, and S. Ciochina,“Variable Step-Size Affine Projection Algorithm

Designed for Acoustic Echo Cancellation ”, IEEE Trans. Audio, Speech, Language Process.,

Nov. 2008]

• main advantages

 non-parametric algorithm

 robustness to background noise variations and double-talk

Simulation results (II)

0

-2

-4

-6

-8

APA w ith

= 1

APA w ith

= 0.25

APA w ith

= 0.025

VSS-APA

-10

-12

-14

-16

-18

-20

0 10 20 30

Time (seconds)

40 50 60

Fig. 12.

Misalignment of the APA with three different step-sizes ( μ = 1, μ = 0 .

25, and

μ

= 0 .

025), and VSS-APA. The input signal is speech, p = 2, L = 1000,

λ

= 1

1 / (6 L ), and SNR = 20 dB.

-10

-12

-14

-16

-18

0

-2

-4

-6

-8

PVSS-NLMS (VSS-APA w ith p = 1)

VSS-APA w ith p = 2

VSS-APA w ith p = 4

-20

0 10 20 30

Time (seconds)

40 50 60

Fig. 13.

Misalignment of the VSS-APA with different projection orders, i.e., p = 1

(PVSS-NLMS algorithm), p = 2, and p = 4. Other conditions are the same as in Fig. 12.

5

0

-5

-10

-15

PVSS-NLMS (VSS-APA w ith p = 1)

APA w ith p = 2

VSS-APA w ith p = 2

-20

0 10 20 30

Time (seconds)

40 50 60

Fig. 14.

Misalignment during impulse response change. The impulse response changes at time 20. Algorithms: PVSS-NLMS algorithm, APA (with

μ

= 0 .

25), and VSS-APA.

Other conditions are the same as in Fig. 12.

-2

-4

-6

2

0

-8

-10

-12

-14

-16

PVSS-NLMS (VSS-APA w ith p = 1)

APA w ith p = 2

VSS-APA w ith p = 2

-18

0 10 20 30

Time (seconds)

40 50 60

Fig. 15.

Misalignment during background noise variations. The SNR decreases from

20 dB to 10 dB between time 20 and 40. Other conditions are the same as in Fig. 12.

10

5

0

-5

-10

PVSS-NLMS (VSS-APA w ith p = 1)

APA w ith p = 2

VSS-APA w ith p = 2

-15

0 10 20 30

Time (seconds)

40 50 60

Fig. 16.

Misalignment during double-talk, without a DTD. Near-end speech appears between time 20 and 30 (with FNR = 4 dB). Other conditions are the same as in Fig. 12.

10

5

0

-5

-10

PVSS-NLMS (VSS-APA w ith p = 1)

APA w ith p = 2

VSS-APA w ith p = 2

-15

0 10 20 30

Time (seconds)

40 50 60

Fig. 17.

Misalignment during double-talk with the Geigel DTD. Other conditions are the same as in Fig. 16.

Simulation results (III)

Comparisons with other VSS-type APAs

• conditions

AEC context, L = 512

 x ( n ), u ( n ) = speech sequences

 w ( n ) = independent white Gaussian noise signal (SNR = 20dB)

• algorithms for comparisons

 classical APA,

μ

= 0.2

 variable regularized APA (VR-APA)

[H. Rey, L. Rey Vega, S. Tressens, and J. Benesty, IEEE Trans. Signal Process.,

May 2007]

 robust proportionate APA (R-PAPA)

[T. Gänsler, S. L. Gay, M. M. Sondhi, and J. Benesty, IEEE Trans. Speech Audio

Process., Nov. 2000]

 “ideal” VSS-APA (VSS-APA-id) assuming that v ( n ) is available

0

-5

-10

-15

-20

-25

APA

VR-APA

VSS-APA

VSS-APA-id

-30

0 5 10 15 20 25

Time (seconds)

30 35 40

Fig. 18.

Misalignments of APA with μ = 0.2, VR-APA, VSS-APA, and VSS-APA-id.

Single-talk case, L = 512, p = 2 for all the algorithms, SNR = 20dB.

p = 2

-10

-15

-20

5

0

-5

APA

VR-APA

VSS-APA

VSS-APA-id

-25

-30

0 5 10 15 20 25

Time (seconds)

30 35 40 p = 8

-5

-10

5

0

APA

VR-APA

VSS-APA

VSS-APA-id

-15

-20

-25

-30

0 5 10 15 20 25

Time (seconds)

30 35 40

Fig. 19.

Echo path changes at time 21. Other conditions are the same as in Fig. 18.

0

-5

-10

-15

-20

-25

APA

VR-APA

R-PAPA

VSS-APA

VSS-APA-id

-30

0 5 10 15 20 25

Time (seconds)

30 35 40

Fig. 20.

Misalignments of APA, VR-APA, R-PAPA, VSS-APA, and VSS-APA-id.

Background noise variation at time 14, for a period of 14 seconds (SNR decreases from 20dB to 10 dB). Other conditions are the same as in Fig. 18.

without DTD with Geigel DTD

30

20

10

APA

VR-APA

VSS-APA

VSS-APA-id

30

20

10

APA

R-PAPA

VSS-APA

VSS-APA-id

0

-10

0

-10

-20 -20

-30

0 5 10 15 20 25

Time (seconds)

30 35 40

-30

0 5 10 15 20 25

Time (seconds)

30

Fig. 21.

Misalignment of the algorithm during double-talk. Other conditions are the same as in Fig. 18.

35 40

Conclusions

• a family of VSS-type algorithms was developed in the context of AEC.

• they takes into account the existence of the near-end signal, aiming to recover it from the error of the adaptive filter.

• the VSS formulas do not require any additional parameters from the acoustic environment (i.e., non-parametric).

• they are robust to near-end signal variations like the increase of the background noise or double-talk.

• the experimental results indicate that these algorithms are reliable candidates for real-world applications.

Download