0% found this document useful (0 votes)
69 views13 pages

Lecture-3: Microphone Array Processing: Digital Audio Signal Processing

The document summarizes a lecture on adaptive beamforming for microphone array processing. It begins with an introduction to fixed and adaptive beamforming. It then reviews optimal and adaptive filtering techniques like least mean square filtering. Finally, it outlines the topics that will be covered in the lecture, including linear constraint minimum variance beamforming, Frost beamforming, and the generalized sidelobe canceler method.

Uploaded by

Ijaz Fazil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views13 pages

Lecture-3: Microphone Array Processing: Digital Audio Signal Processing

The document summarizes a lecture on adaptive beamforming for microphone array processing. It begins with an introduction to fixed and adaptive beamforming. It then reviews optimal and adaptive filtering techniques like least mean square filtering. Finally, it outlines the topics that will be covered in the lecture, including linear constraint minimum variance beamforming, Frost beamforming, and the generalized sidelobe canceler method.

Uploaded by

Ijaz Fazil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

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/

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