Constantin Paleologu
Department of Telecommunications pale@comm.pub.ro
• 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 )
(cont.) d ( n )
Digital filter y ( n )
+ e ( n )
Adaptive algorithm
Adaptive filter
( )
( )
( )
Cost function J [ e ( n )]
minimized
(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.
• 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
• 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)
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.
(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
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
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
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.
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
• 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.