Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array...
Transcript of Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array...
![Page 1: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/1.jpg)
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
![Page 2: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/2.jpg)
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 ==
![Page 3: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/3.jpg)
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
]
![Page 4: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/4.jpg)
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
![Page 5: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/5.jpg)
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 !!)
![Page 6: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/6.jpg)
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
![Page 7: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/7.jpg)
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 ,, .
![Page 8: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/8.jpg)
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
![Page 9: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/9.jpg)
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µ
![Page 10: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/10.jpg)
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 )
![Page 11: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/11.jpg)
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!"!#$"#$!"!#$ −+=+ µ
![Page 12: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/12.jpg)
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
![Page 13: Overview - KU Leuven3 Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5 Overview Lecture 2 – Introduction & beamforming basics – Fixed](https://reader033.fdocuments.in/reader033/viewer/2022060916/60a9c5384aa71e77216a8a2c/html5/thumbnails/13.jpg)
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