1
Digital Audio Signal Processing
Lecture-3: Microphone Array Processing
- Adaptive Beamforming -
Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
[email protected] homes.esat.kuleuven.be/~moonen/
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 2
Overview
Lecture 2 – Introduction & beamforming basics – Fixed beamforming
Lecture 3: Adaptive beamforming • Introduction • Review of “Optimal & Adaptive Filters” • LCMV beamforming • Frost beamforming • Generalized sidelobe canceler
2
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 3
Introduction Beamforming = `Spatial filtering’ based on microphone directivity patterns and microphone array configuration Classification
– Fixed beamforming: data-independent, fixed filters Fm Example: delay-and-sum, filter-and-sum
– Adaptive beamforming: data-dependent adaptive filters Fm Example: LCMV-beamformer, Generalized Sidelobe Canceler
F1(ω)
F2 (ω)
FM (ω)
z[k]
y1[k]
+ : dM
θ
dM cosθ
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 4
Introduction
Data model & definitions • Microphone signals
• Output signal after `filter-and-sum’ is
• Array directivity pattern
• Array gain =improvement in SNR for source at angle θ
)()().,(),( ωωθωθω NdY += S
)()}.,().({),().(),().(),(1
* ωθωωθωωθωωθω SYFZ HHM
mmm dFYF ===∑
=
),().()(),(),( θωω
ωθω
θω dFHSZH ==
)().().(),().(
),(2
ωωω
θωωθω
FΓFdF
noiseH
H
input
output
SNRSNR
G ==
3
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5
Overview
Lecture 2 – Introduction & beamforming basics – Fixed beamforming
Lecture 3: Adaptive beamforming • Introduction • Review of “Optimal & Adaptive Filters” • LCMV beamforming • Frost beamforming • Generalized sidelobe canceler
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 6
Optimal & Adaptive Filters Review 1/6
27
Optimal filtering/ Wiener filters
FIR filters (=tapped-delay line filter/‘transversal’ filter)
66
filter input
0
6
w0[k] w1[k] w2[k] w3[k]
u[k] u[k-1] u[k-2] u[k-3]
b w
aa+bw
+<
error desired signal
filter output
yk =N−1∑
l=0
wl · uk−l
yk = wT · uk
where
wT =[w0 w1 w2 · · · wN−1
]
uTk =
[uk uk−1 uk−2 · · · uk−N+1
]
4
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 7
5
1. Least Squares (LS) Estimation
Quadratic cost function
MMSE : (see Lecture 8)
JMSE(w) = E{e2k} = E{|dk − yk|2} = E{|dk −wTuk|2}
Least-squares(LS) criterion :if statistical info is not available, may use an alternative ‘data-based’ criterion...
JLS(w) =L∑
k=1
e2k =
L∑
k=1
|dk − yk|2 =∑L
k=1 |dk −wTuk|2
Interpretation? : see below
Optimal & Adaptive Filters Review 2/6
Nor
bert
Wie
ner
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 8
Optimal & Adaptive Filters Review 3/6
13
2.1 Standard RLS
It is observed that Xuu(L + 1) = Xuu(L) + uL+1uTL+1
The matrix inversion lemma states that
[Xuu(L + 1)]−1 = [Xuu(L)]−1 − [Xuu(L)]−1uL+1uTL+1[Xuu(L)]−1
1+uTL+1[Xuu(L)]−1uL+1
Result :
wLS(L + 1) = wLS(L) + [Xuu(L + 1)]−1uL+1︸ ︷︷ ︸Kalman gain
· (dL+1 − uTL+1wLS(L))︸ ︷︷ ︸
a priori residual
= standard recursive least squares (RLS) algorithm
Remark : O(N 2) operations per time update
Remark : square-root algorithms with better numerical propertiessee below
Xuu(L +1) =k=1
L+1
∑ uk.uTk
5
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 9
Optimal & Adaptive Filters Review 4/6
25
3.1 QRD-based RLS Algorithms
QR-updating for RLS estimation
[R(k + 1) z(k + 1)
0 ⋆
]← Q(k + 1)T ·
[R(k) z(k)uT
k+1 dk+1
]
R(k + 1) · wLS(k + 1) = z(k + 1) .
= square-root (information matrix) RLS
Remark . with exponential weighting[
R(k + 1) z(k + 1)0 ⋆
]← Q(k + 1)T ·
[λR(k) λz(k)uT
k+1 dk+1
]
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 10
Optimal & Adaptive Filters Review 5/6
6 6 6 6
b
b
-w
a-bw
w
input signal
6
a
6
µ
6
- - - -
b b
aw
w+ab
u[k] u[k-1] u[k-2] u[k-3]
w0[k-1] w1[k-1] w2[k-1] w3[k-1]
w0[k] w1[k] w2[k] w3[k]
output signal
e[k] d[k]
desired signal
(Widrow 1965 !!)
6
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 11
Optimal & Adaptive Filters Review 6/6
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 12
Overview
Lecture 2 – Introduction & beamforming basics – Fixed beamforming
Lecture 3: Adaptive beamforming • Introduction • Review of “Optimal & Adaptive Filters” • LCMV beamforming • Frost beamforming • Generalized sidelobe canceler
7
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 13
LCMV-beamforming • Adaptive filter-and-sum structure:
– Aim is to minimize noise output power, while maintaining a chosen response in a given look direction
(and/or other linear constraints, see below). – This is similar to operation of a superdirective array (in diffuse
noise), or delay-and-sum (in white noise), cfr (**) Lecture 2 p.21&29, but now noise field is unknown !
– Implemented as adaptive FIR filter :
[ ] ]1[...]1[][][ T+−−= Nkykykyk mmmmy
∑=
==M
mm
Tm
T kkkz1
][][][ yfyf
[ ]TTM
TT kkkk ][][][][ 21 yyyy …=
[ ]TTM
TT ffff …21=[ ] ... T
1,1,0, −= Nmmmm ffff
F1(ω)
F2 (ω)
FM (ω)
z[k]
y1[k]
+ : yM [k]
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 14
LCMV-beamforming
LCMV = Linearly Constrained Minimum Variance – f designed to minimize power (variance) of total output (read on..) z[k] :
– To avoid desired signal cancellation, add (J) linear constraints
• Example: fix array response in look-direction ψ for sample freqs wi, i=1..J (**)
Ryy[k]= E{y[k].y[k]T}
{ } fRfff
⋅⋅= ][min][min 2 kkzE yyT
FT (ωi ).d(ωi,ψ) =Lecture2-p17
f T d(ωi,ψ) = dT (ωi,ψ).f =1 i =1..J
JJMNMNT ℜ∈ℜ∈ℜ∈= × bCfbfC ,, .
8
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 15
LCMV-beamforming
LCMV = Linearly Constrained Minimum Variance
– With (**) (for sufficiently large J) constrained total output power minimization approximately corresponds to constrained output noise power minimization (why?)
– Solution is (obtained using Lagrange-multipliers, etc..):
( ) bCRCCRf 111 ][][ −−− ⋅⋅⋅⋅= kk yyT
yyopt
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 16
Overview
Lecture 2 – Introduction & beamforming basics – Fixed beamforming
Lecture 3: Adaptive beamforming • Introduction • Review of “Optimal & Adaptive Filters” • LCMV beamforming • Frost beamforming • Generalized sidelobe canceler
9
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 17
Frost-beamformer = adaptive version of LCMV-beamformer
– If Ryy is known, a gradient-descent procedure for LCMV is :
in each iteration filters f are updated in the direction of the constrained gradient. The P and B are such that f[k+1] statisfies the constraints (verify!). The mu is a step size parameter (to be tuned
Frost Beamforming
( ) BfRfPf +⋅⋅−⋅=+ ][][][]1[ kkkk yyµ
( ) TTI CCCCP ⋅⋅⋅−≡−1
( ) bCCCB ⋅⋅⋅≡−1T
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 18
Frost-beamformer = adaptive version of LCMV-beamformer – If Ryy is unknown, an instantaneous (stochastic) approximation
may be substituted, leading to a constrained LMS-algorithm:
(compare to LMS formula)
Frost Beamforming
( ) ByfPf +⋅⋅−⋅=+ ][][][]1[ kkzkk µ
Ryy[k] ≈ y[k].y[k]T
( ) BfRfPf +⋅⋅−⋅=+ ][][][]1[ kkkk yyµ
10
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 19
Overview
Lecture 2 – Introduction & beamforming basics – Fixed beamforming
Lecture 3: Adaptive beamforming • Introduction • Review of “Optimal & Adaptive Filters” • LCMV beamforming • Frost beamforming • Generalized sidelobe canceler
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 20
Generalized Sidelobe Canceler (GSC)
GSC = alternative adaptive filter formulation of the LCMV-problem : constrained optimisation is reformulated as a constraint pre-processing, followed by an unconstrained optimisation, leading to a simpler adaptation scheme – LCMV-problem is
– Define `blocking matrix’ Ca, ,with columns spanning the null-space of C
– Define ‘quiescent response vector’ fq satisfying constraints
– Parametrize all f’s that satisfy constraints (verify!) I.e. filter f can be decomposed in a fixed part fq and a variable part Ca. fa
bfCfRff
=⋅⋅⋅ Tyy
T k ,][min
f = fq −Ca.fa
)( JMNMNa
−×ℜ∈C
JJMNMN ℜ∈ℜ∈ℜ∈ × bCf ,,
CT .Ca = 0
fq =C.(CT .C)−1b
fa ∈ℜ(MN−J )
11
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 21
Generalized Sidelobe Canceler (GSC)
GSC = alternative adaptive filter formulation of the LCMV-problem : constrained optimisation is reformulated as a constraint pre-processing, followed by an unconstrained optimisation, leading to a simpler adaptation scheme
– LCMV-problem is – Unconstrained optimization of fa : (MN-J coefficients)
bfCfRff
=⋅⋅⋅ Tyy
T k ,][min
).].([.).(min aaqyyT
aaq ka
fCfRfCff −−
JJMNMN ℜ∈ℜ∈ℜ∈ × bCf ,,
f = fq −Ca.fa
fa ∈ℜ(MN−J )
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 22
GSC (continued)
– Hence unconstrained optimization of fa can be implemented as an adaptive filter (adaptive linear combiner), with filter inputs (=‘left- hand sides’) equal to and desired filter output (=‘right-hand side’) equal to – LMS algorithm :
Generalized Sidelobe Canceler
}))..][().][({min...).].([.).(min
2][~][
aa
kd
qaaqyyT
aaq
T
aakkEk fCyfyfCfRfCf
ky
TTff
!"!#$!"!#$ΔΔ==
−==−−
][~ ky
][kd
])[..][][..(][..][]1[][~][][~
kkkkkk a
k
aT
kd
Tq
k
Taaa
T
fCyyfyCffyy!"!#$"#$!"!#$ −+=+ µ
12
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 23
Generalized Sidelobe Canceler
GSC then consists of three parts: • Fixed beamformer (cfr. fq ), satisfying constraints but not yet minimum
variance), creating `speech reference’ • Blocking matrix (cfr. Ca), placing spatial nulls in the direction of the
speech source (at sampling frequencies) (cfr. C’.Ca=0), creating `noise references’
• Multi-channel adaptive filter (linear combiner) your favourite one, e.g. LMS
][kd
][~ ky
qf
aC
+][1 ky][2 ky
][kyM
][kz
af
][kd
][~ ky
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 24
Generalized Sidelobe Canceler
A popular GSC realization is as follows
Note that some reorganization has been done: the blocking matrix now generates (typically) M-1 (instead of MN-J) noise references, the multichannel adaptive filter performs FIR-filtering on each noise reference (instead of merely scaling in the linear combiner). Philosophy is the same, mathematics are different (details on next slide).
Postproc
y1
yM
13
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 25
Generalized Sidelobe Canceler
• Math details: (for Delta’s=0)
[ ][ ]
[ ]][.~][~
]1[~...]1[~][~][~
~...00:::0...~00...0~
][...][][][
]1[...]1[][][
][.][.][~
:1:1
:1:1:1
permuted,
21:1
:1:1:1permuted
permutedpermuted,
kk
Lkkkk
kykykyk
Lkkkk
kkk
MTaM
TTM
TM
TM
Ta
Ta
Ta
Ta
TMM
TTM
TM
TM
Ta
Ta
yCy
yyyy
C
CC
C
y
yyyy
yCyCy
=
+−−=
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
=
+−−=
==
=input to multi-channel adaptive filter
select `sparse’ blocking matrix
such that :
=use this as blocking matrix now
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 26
• Blocking matrix Ca (cfr. scheme page 24) – Creating (M-1) independent noise references by placing spatial nulls in
look-direction – different possibilities (a la p.38)
(broadside steering)
Generalized Sidelobe Canceler
[ ]1111=TC
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−
−
=
100101010011
TaC
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−−
−−
=
111111111111
TaC
• Problems of GSC: – impossible to reduce noise from look-direction – reverberation effects cause signal leakage in noise references adaptive filter should only be updated when no speech is present to avoid
signal cancellation!
02000
40006000
8000 0 45 90 135 180
0
0.5
1
1.5
Angle (deg)
Frequency (Hz)
Griffiths-Jim
Walsh