You are on page 1of 13

Digital Audio Signal Processing

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

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. 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

•  Array gain =improvement in SNR for source at angle θ


2
SNRoutput F H (ω ).d(ω ,θ )
G(ω ,θ ) = =
SNRinput F H (ω ).Γ noise (ω ).F(ω )

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 4

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

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 5

Optimal & Adaptive Filters Review 1/6


27

Optimal filtering/ Wiener filters

FIR filters (=tapped-delay line filter/‘transversal’ filter)

filter input

N
! −1
yk = wl · uk−l u[k] u[k-1] u[k-2] u[k-3]

l=0 w0[k] w1[k] w2[k] w3[k]

0
yk = wT · uk
filter output
where +

" error# desired signal


wT = w0 w1 w2 · · · wN −1 b w
a+bw a
" #
uTk = uk uk−1 uk−2 · · · uk−N +1

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 6

3
Optimal & Adaptive Filters Review 2/6
5

1. Least Squares (LS) Estimation

Quadratic cost function


MMSE : (see Lecture 8)

JM SE (w) = E{e2k } = E{|dk − yk |2} = E{|dk − wT uk |2}

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

Interpretation? : see below

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 7

Optimal & Adaptive Filters Review 3/6


13

2.1 Standard RLS

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

The matrix inversion lemma states that


[Xuu (L)]−1uL+1 uTL+1 [Xuu (L)]−1
[Xuu(L + 1)]−1 = [Xuu(L)]−1 − 1+uTL+1 [Xuu (L)]−1uL+1

Result :

wLS (L + 1) = wLS (L) + [Xuu(L + 1)]−1uL+1 · (dL+1 − uTL+1wLS (L))


! "# $ ! "# $
Kalman gain a priori residual

= standard recursive least squares (RLS) algorithm

Remark : O(N 2) operations per time update


Remark : square-root algorithms with better numerical properties
see below

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 8

4
Optimal & Adaptive Filters Review 4/6
25

3.1 QRD-based RLS Algorithms

QR-updating for RLS estimation


! " ! "
R(k + 1) z(k + 1) R(k) z(k)
← Q(k + 1)T ·
0 ⋆ uTk+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) T λ R(k) λ z(k)
← Q(k + 1) ·
0 ⋆ uTk+1 dk+1

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 9

Optimal & Adaptive Filters Review 5/6

(Widrow 1965 !!)

input signal

u[k] u[k-1] u[k-2] u[k-3]

w0[k-1] w1[k-1] w2[k-1] w3[k-1]


output signal desired 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

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. 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 }

–  To avoid desired signal cancellation, add (J) linear constraints

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

–  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..):

−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

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. 16

8
Frost Beamforming

Frost-beamformer = adaptive version of LCMV-beamformer

–  If Ryy is known, a gradient-descent procedure for LCMV is :


f [k + 1] = P ⋅ (f [k ] − µ ⋅ R yy [k ] ⋅ f [k ]) + B

(
P ≡ I − C ⋅ CT ⋅ C ⋅ CT ) −1

(
B ≡ C ⋅ CT ⋅ C ⋅ b )−1

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

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 17

Frost Beamforming

Frost-beamformer = adaptive version of LCMV-beamformer

–  If Ryy is unknown, an instantaneous (stochastic) approximation


may be substituted, leading to a constrained LMS-algorithm:

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

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. 19

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

min f T ⋅ R yy [k ] ⋅ f , CT ⋅ f = b f ∈ ℜMN , C ∈ ℜMN × J , b ∈ ℜ J


f

–  Define `blocking matrix’ Ca, ,with columns spanning the null-space of C


CT .C a = 0 C a ∈ ℜ MN ×( MN − J )
–  Define ‘quiescent response vector’ fq satisfying constraints
fq = C.(CT .C)−1 b
–  Parametrize all f’s that satisfy constraints (verify!)
f = fq − C a .fa fa ∈ ℜ(MN−J )
I.e. filter f can be decomposed in a fixed part fq and a variable part Ca. fa

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 20

10
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
min f T ⋅ R yy [k ] ⋅ f , CT ⋅ f = b f ∈ ℜMN , C ∈ ℜMN × J , b ∈ ℜ J
f

–  Unconstrained optimization of fa :
(MN-J coefficients)
f = fq − C a .fa

minfa (f q − Ca .f a )T .R yy [k ].(f q − Ca .f a ) fa ∈ ℜ(MN−J )

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 21

Generalized Sidelobe Canceler


GSC (continued)
Δ Δ 2
d[k ] = y [k ] ~T
$!=# ! " $! #! "
minf a (f q − Ca .f a ) .R yy [k ].(f q − Ca .f a ) = ... = minf a E{ (y[k ] .f q ) − (y[k ]T .Ca ).f a ) }
T T

–  Hence unconstrained optimization of fa can be implemented as an


adaptive filter (adaptive linear combiner), with filter inputs (=‘left-
hand sides’) equal to ~ y[k ] and desired filter output (=‘right-hand
side’) equal to
d [k ]
–  LMS algorithm :
fa [k + 1] = fa [k ] + µ .CTa .y[k ].(fqT .y[k ] − y[k ]T .Ca .fa [k ])
$
!#! " $#" $ !#! "
~
y[k ] ~
d [k ] y [ k ]T

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 22

11
Generalized Sidelobe Canceler
GSC then consists of three parts:

•  Fixed beamformer (cfr. fq ), satisfying constraints but not yet minimum


variance), creating `speech reference’ d [k ]
•  Blocking matrix (cfr. Ca), placing spatial nulls in the direction of the
speech source (at sampling frequencies) (cfr. C’.Ca=0), creating `noise
~
references’ y[k ]
•  Multi-channel adaptive filter y1[k ]
z[k ] d [k ]
(linear combiner) fq y2 [k ]
+
your favourite one, e.g. LMS
yM [k ]

fa Ca

~
y[k ]

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 23

Generalized Sidelobe Canceler

A popular GSC realization is as follows


y1

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

Generalized Sidelobe Canceler


•  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)
CT = [1 1 1 1] (broadside steering)
⎡1 −1 0 0 ⎤
CTa = ⎢⎢1 0 −1 0 ⎥⎥ 1.5

⎢⎣1 0 0 − 1⎥⎦ Griffiths-Jim 1

⎡1 1 − 1 − 1⎤ 0.5

CTa = ⎢⎢1 − 1 − 1 1 ⎥⎥ 0


⎢⎣1 − 1 1 − 1⎥⎦ Walsh
0
Fre 2000
que 4000
ncy 6000 135 180
(H 8000 45 90
•  Problems of GSC: z) 0 Angle (deg)

–  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!

Digital Audio Signal Processing Version 2014-2015 Lecture-3: Microphone Array Processing p. 26

13

You might also like