Académique Documents
Professionnel Documents
Culture Documents
Lecture-3:
Microphone Array Processing
- Adaptive Beamforming -
Marc Moonen
Dept. E.E./ESAT-STADIUS, KU Leuven
marc.moonen@esat.kuleuven.be
homes.esat.kuleuven.be/~moonen/
Overview
Lecture 2
– Introduction & beamforming basics
– Fixed beamforming
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 2
1
Introduction
θ
Beamforming = `Spatial filtering’
based on microphone directivity patterns y1[k]
F1 (ω )
and microphone array configuration z[k]
+ F2 (ω )
: dM
Classification
FM (ω ) dM cosθ
– 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
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 3
Introduction
Data model & definitions
• Microphone signals
Y(ω,θ ) = d(ω ,θ ).S (ω ) + N(ω )
• Output signal after `filter-and-sum’ is
Z (ω,θ )
H (ω,θ ) = = F H (ω ).d(ω ,θ )
S (ω )
• Array directivity pattern
M
Z (ω ,θ ) = ∑ Fm* (ω ).Ym (ω ,θ ) = F H (ω ).Y(ω ,θ ) = {F H (ω ).d(ω ,θ )}.S (ω )
m =1
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 4
2
Overview
Lecture 2
– Introduction & beamforming basics
– Fixed beamforming
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5
filter input
N
! −1
yk = wl · uk−l u[k] u[k-1] u[k-2] u[k-3]
0
yk = wT · uk
filter output
where +
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 6
3
Optimal & Adaptive Filters Review 2/6
5
Least-squares(LS) criterion :
if statistical info is not available, may use an alternative ‘data-based’ criterion...
Norbert Wiener
L
! L
! "L
JLS (w) = e2k = |dk − yk |2 = T
k=1 |dk − w uk |
2
k=1 k=1
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 7
L+1
It is observed =X
that
X uu (L +1) ∑uu(L
u k+ k = Xuu (L) + uL+1 uL+1
T
.u1) T
k=1
Result :
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 8
4
Optimal & Adaptive Filters Review 4/6
25
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 9
input signal
e[k] d[k]
w
a w0[k] w1[k] w2[k] w3[k] w
b
-
b b a-bw a
b w
w+ab
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 10
5
Optimal & Adaptive Filters Review 6/6
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 11
Overview
Lecture 2
– Introduction & beamforming basics
– Fixed beamforming
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 12
6
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 :
M
y1[k] z[k ] = f T y[k ] = ∑ f mT y m [k ]
F1 (ω )
m =1
z[k]
+ F2 (ω )
f = f1T[ f 2T … f MT ]
T
: yM [k] f m = [ f m,0 f m, N −1 ]
T
f m,1 ...
FM (ω )
[
y[k ] = y1T [k ] y T2 [k ] … y TM [k ] ]
T
T
Digital Audio Signal Processing Version 2014-2015 [k ] = [ym[kMicrophone
y mLecture-3: ] ym[k −1Array ym [k − N + 1]]
] ... Processing p. 13
LCMV-beamforming
LCMV = Linearly Constrained Minimum Variance
– f designed to minimize power (variance) of total output (read on..) z[k] :
{ }
min E z 2 [k ] = min f T ⋅ R yy [k ] ⋅ f
f f
R yy [k] = E{y[k].y[k]T }
CT .f = b f ∈ ℜMN , C ∈ ℜMN ×J , b ∈ ℜ J
• Example:
fix array response in look-direction ψ for sample freqs wi, i=1..J (**)
Lecture2-p17
FT (ω i ).d(ω i , ψ ) = f T d(ω i , ψ ) = d T (ω i , ψ ).f = 1 i = 1..J
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 14
7
LCMV-beamforming
LCMV = Linearly Constrained Minimum Variance
−1
(
f opt = R −yy1 [k ] ⋅ C ⋅ CT ⋅ R −yy1 [k ] ⋅ C ) b
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 15
Overview
Lecture 2
– Introduction & beamforming basics
– Fixed beamforming
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 16
8
Frost Beamforming
(
P ≡ I − C ⋅ CT ⋅ C ⋅ CT ) −1
(
B ≡ C ⋅ CT ⋅ C ⋅ b )−1
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 17
Frost Beamforming
f [k + 1] = P ⋅ (f [k ] − µ ⋅ R yy [k ] ⋅ f [k ]) + B
R yy [k] ≈ y[k].y[k]T
f [k + 1] = P ⋅ (f [k ] − µ ⋅ z[k ] ⋅ y[k ]) + B
(compare to LMS formula)
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 18
9
Overview
Lecture 2
– Introduction & beamforming basics
– Fixed beamforming
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 19
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 20
10
Generalized Sidelobe Canceler (GSC)
– Unconstrained optimization of fa :
(MN-J coefficients)
f = fq − C a .fa
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 21
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 22
11
Generalized Sidelobe Canceler
GSC then consists of three parts:
fa Ca
~
y[k ]
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 23
Postproc
yM
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).
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 24
12
Generalized Sidelobe Canceler
• Math details: (for Delta’s=0)
~
y[k ] = CT .y[k ] = CT .y permuted [k ]
a a , permuted
[
y permuted [k ] = y1T:M [k ] y1T:M [k − 1] ... y1T:M [k − L + 1] ]
T
T
y1:M [k ] = [y1[k ] y2 [k ] ... y M [k ]]
select `sparse’ ~
⎡CTa 0 ... 0 ⎤
blocking matrix ⎢ ~T ⎥
such that : 0 C a ... 0 ⎥
CTa ,permuted = ⎢
⎢ : : : ⎥
⎢ ~ T ⎥
⎢⎣ 0 0 ... C a ⎥⎦
~
y[k ] = ~ y1T:M [k ] ~
[ y1T:M [k − 1] ... ~y1T:M [k − L + 1]
T
]
~ ~
y1:M [k ] = CTa .y1:M [k ] =input to multi-channel adaptive filter
=use this as blocking matrix now
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 25
Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 26
13