331
Microphone-Array Signal Processing Jos ´ e A. Apolin ´ ario Jr. and Marcello L. R. de Campos {apolin},{mcampos}@ieee.org IME - Lab. Processamento Digital de Sinais Microphone-Array Signal Processing, c Apolin ´ arioi & Campos – p. 1/115

Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Embed Size (px)

Citation preview

Page 1: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Microphone-Array Signal Processing

Jose A. Apolinario Jr. and Marcello L. R. de Campos

apolin , [email protected]

IME − Lab. Processamento Digital de Sinais

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 1/115

Page 2: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

Page 3: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

Page 4: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

Page 5: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

Page 6: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

Page 7: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

5. DoA Estimation with Microphone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 2/115

Page 8: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

1. Introduction andFundamentals

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 3/115

Page 9: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

General concepts

In this course, signals and noise...

Page 10: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

General concepts

In this course, signals and noise...

have spatial dependence

Page 11: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

General concepts

In this course, signals and noise...

have spatial dependence

must be characterized as space-time processes

Page 12: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

General concepts

In this course, signals and noise...

have spatial dependence

must be characterized as space-time processes

An array of sensors is represented in the figure below.

Page 13: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

General concepts

In this course, signals and noise...

have spatial dependence

must be characterized as space-time processes

An array of sensors is represented in the figure below.

SENSORS

ARRAY

PROCESSOR

interference

signal #1signal #2

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 4/115

Page 14: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

1.2 Signals in Space and Time

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 5/115

Page 15: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Defining operators

Let ∇x(·) and ∇2x(·) be the gradient and Laplacian

operators, i.e.,

Page 16: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Defining operators

Let ∇x(·) and ∇2x(·) be the gradient and Laplacian

operators, i.e.,

∇x(·) =∂(·)∂x

−→ı x +∂(·)∂y

−→ı y +∂(·)∂z

−→ı z

=

[∂(·)∂x

∂(·)∂y

∂(·)∂z

]T

Page 17: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Defining operators

Let ∇x(·) and ∇2x(·) be the gradient and Laplacian

operators, i.e.,

∇x(·) =∂(·)∂x

−→ı x +∂(·)∂y

−→ı y +∂(·)∂z

−→ı z

=

[∂(·)∂x

∂(·)∂y

∂(·)∂z

]T

and

∇2x(·) =

∂2(·)∂x2

+∂2(·)∂y2

+∂2(·)∂z2

respectively.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 6/115

Page 18: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Wave equation

From Maxwell’s equations,

∇2−→E =1

c2∂2−→E

∂t2

Page 19: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Wave equation

From Maxwell’s equations,

∇2−→E =1

c2∂2−→E

∂t2

or, for s(x, t) a general scalar field,

∂2s

∂x2+∂2s

∂y2+∂2s

∂z2=

1

c2∂2s

∂t2

where: c is the propagation speed,−→E is the electric field

intensity, and x = [x y z]T is a position vector.

Page 20: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Wave equation

From Maxwell’s equations,

∇2−→E =1

c2∂2−→E

∂t2

or, for s(x, t) a general scalar field,

∂2s

∂x2+∂2s

∂y2+∂2s

∂z2=

1

c2∂2s

∂t2

where: c is the propagation speed,−→E is the electric field

intensity, and x = [x y z]T is a position vector.

“vector” wave equation

Page 21: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Wave equation

From Maxwell’s equations,

∇2−→E =1

c2∂2−→E

∂t2

or, for s(x, t) a general scalar field,

∂2s

∂x2+∂2s

∂y2+∂2s

∂z2=

1

c2∂2s

∂t2

where: c is the propagation speed,−→E is the electric field

intensity, and x = [x y z]T is a position vector.

“vector” wave equation

“scalar” wave equation

Note: From this point onwards the terms wave and field will be used interchangeably.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 7/115

Page 22: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Now assume s(x, t) has a complex exponential form,

Page 23: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Now assume s(x, t) has a complex exponential form,

s(x, t) = Aej(ωt−kxx−kyy−kzz)

where A is a complex constant and kx, ky, kz, and ω ≥ 0are real constants.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 8/115

Page 24: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Substituting the complex exponential form of s(x, t) into thewave equation, we have

Page 25: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Substituting the complex exponential form of s(x, t) into thewave equation, we have

k2xs(x, t) + k2ys(x, t) + k2zs(x, t) =1

c2ω2s(x, t)

Page 26: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Substituting the complex exponential form of s(x, t) into thewave equation, we have

k2xs(x, t) + k2ys(x, t) + k2zs(x, t) =1

c2ω2s(x, t)

or, after canceling s(x, t),

Page 27: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Substituting the complex exponential form of s(x, t) into thewave equation, we have

k2xs(x, t) + k2ys(x, t) + k2zs(x, t) =1

c2ω2s(x, t)

or, after canceling s(x, t),

k2x + k2y + k2z =1

c2ω2

Page 28: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Substituting the complex exponential form of s(x, t) into thewave equation, we have

k2xs(x, t) + k2ys(x, t) + k2zs(x, t) =1

c2ω2s(x, t)

or, after canceling s(x, t),

k2x + k2y + k2z =1

c2ω2

constraints to be satisfiedby the parametersof the scalar field

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 9/115

Page 29: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

Page 30: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

Page 31: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

plane

Page 32: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

plane

Page 33: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

planeFor example, take the position at the origin

of the coordinate space:

Page 34: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

planeFor example, take the position at the origin

of the coordinate space:

x = [0 0 0]T

Page 35: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

planeFor example, take the position at the origin

of the coordinate space:

x = [0 0 0]T

s(0, t) = Aejωt

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 10/115

Page 36: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

plane

Page 37: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

planeThe value of s(x, t) is the same for all

points lying on the plane

Page 38: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

From the constraints imposed by the complex exponentialform, s(x, t) = Aej(ωt−kxx−kyy−kzz) is

monochromatic

planeThe value of s(x, t) is the same for all

points lying on the plane

kxx+ kyy + kzz = C

where C is a constant.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 11/115

Page 39: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Defining the wavenumber vector k as

k = [kx ky kz]T

Page 40: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Defining the wavenumber vector k as

k = [kx ky kz]T

we can rewrite the equation for the monochromatic planewave as

s(x, t) = Aej(ωt−kTx)

Page 41: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Defining the wavenumber vector k as

k = [kx ky kz]T

we can rewrite the equation for the monochromatic planewave as

s(x, t) = Aej(ωt−kTx) The planes where s(x, t)is constant are perpendicularto the wavenumber vector k

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 12/115

Page 42: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

As the plane wave propagates, it advances a distance δxin δt seconds.

Page 43: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

As the plane wave propagates, it advances a distance δxin δt seconds.

Therefore,

s(x, t) = s(x+ δx, t+ δt)

⇐⇒ Aej(ωt−kTx) = Aej[ω(t+δt)−kT (x+δx)]

Page 44: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

As the plane wave propagates, it advances a distance δxin δt seconds.

Therefore,

s(x, t) = s(x+ δx, t+ δt)

⇐⇒ Aej(ωt−kTx) = Aej[ω(t+δt)−kT (x+δx)]

=⇒ ωδt− kT δx = 0

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 13/115

Page 45: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

Page 46: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Page 47: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Therefore,

kT δx = ‖k‖‖δx‖

Page 48: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Therefore,

kT δx = ‖k‖‖δx‖

=⇒ ωδt = ‖k‖‖δx‖

Page 49: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Therefore,

kT δx = ‖k‖‖δx‖

=⇒ ωδt = ‖k‖‖δx‖or, equivalently,

Page 50: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Therefore,

kT δx = ‖k‖‖δx‖

=⇒ ωδt = ‖k‖‖δx‖or, equivalently,

‖δx‖δt

‖k‖

Page 51: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

Naturally the plane wave propagates in the direction of thewavenumber vector, i.e.,

k and δx point in the same direction.

Therefore,

kT δx = ‖k‖‖δx‖

=⇒ ωδt = ‖k‖‖δx‖or, equivalently,

‖δx‖δt

‖k‖

Remember the constraints?‖k‖2 = ω2/c2

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 14/115

Page 52: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

After T = 2π/ω seconds, the plane wave has completedone cycle and it appears as it did before, but its wavefronthas advanced a distance of one wavelength, λ.

Page 53: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

After T = 2π/ω seconds, the plane wave has completedone cycle and it appears as it did before, but its wavefronthas advanced a distance of one wavelength, λ.

For ‖δx‖ = λ and δt = T = 2πω

,

T =λ‖k‖ω

=⇒ λ =2π

‖k‖

Page 54: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

After T = 2π/ω seconds, the plane wave has completedone cycle and it appears as it did before, but its wavefronthas advanced a distance of one wavelength, λ.

For ‖δx‖ = λ and δt = T = 2πω

,

T =λ‖k‖ω

=⇒ λ =2π

‖k‖

The wavenumber vector, k, may be considered aspatial frequency variable, just as ω is atemporal frequency variable.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 15/115

Page 55: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

We may rewrite the wave equation as

s(x, t) = Aej(ωt−kTx)

= Aejω(t−αTx)

where α = k/ω is the slowness vector.

Page 56: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Monochromatic plane wave

We may rewrite the wave equation as

s(x, t) = Aej(ωt−kTx)

= Aejω(t−αTx)

where α = k/ω is the slowness vector.

As c = ω/‖k‖, vector α has a magnitude which is thereciprocal of c.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 16/115

Page 57: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Periodic propagating periodic waves

Any arbitrary periodic waveform s(x, t) = s(t−αTx) withfundamental period ω0 can be represented as a sum:

s(x, t) = s(t−αTx) =∞∑

n=−∞

Snejnω0(t−αTx)

Page 58: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Periodic propagating periodic waves

Any arbitrary periodic waveform s(x, t) = s(t−αTx) withfundamental period ω0 can be represented as a sum:

s(x, t) = s(t−αTx) =∞∑

n=−∞

Snejnω0(t−αTx)

The coefficients are given by

Sn =1

T

∫ T

0

s(u)e−jnω0udu

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 17/115

Page 59: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Periodic propagating periodic waves

Based on the previous derivations, we observe that:

Page 60: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Periodic propagating periodic waves

Based on the previous derivations, we observe that:

The various components of s(x, t) have differentfrequencies ω = nω0 and different wavenumbervectors, k.

Page 61: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Periodic propagating periodic waves

Based on the previous derivations, we observe that:

The various components of s(x, t) have differentfrequencies ω = nω0 and different wavenumbervectors, k.

The waveform propagates in the direction of theslowness vector α = k/ω.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 18/115

Page 62: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Nonperiodic propagating waves

More generally, any function constructed as the integral ofcomplex exponentials who also have a defined andconverged Fourier transform can represent a waveform

Page 63: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Nonperiodic propagating waves

More generally, any function constructed as the integral ofcomplex exponentials who also have a defined andconverged Fourier transform can represent a waveform

s(x, t) = s(t−αTx) =1

∫ ∞

−∞

S(ω)ejω(t−αTx)dω

Page 64: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Nonperiodic propagating waves

More generally, any function constructed as the integral ofcomplex exponentials who also have a defined andconverged Fourier transform can represent a waveform

s(x, t) = s(t−αTx) =1

∫ ∞

−∞

S(ω)ejω(t−αTx)dω

where

S(ω) =

∫ ∞

−∞

s(u)e−jωudu

Page 65: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Nonperiodic propagating waves

More generally, any function constructed as the integral ofcomplex exponentials who also have a defined andconverged Fourier transform can represent a waveform

s(x, t) = s(t−αTx) =1

∫ ∞

−∞

S(ω)ejω(t−αTx)dω

where

S(ω) =

∫ ∞

−∞

s(u)e−jωudu

We will come back to this later...

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 19/115

Page 66: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

5. DoA Estimation with Microphone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 20/115

Page 67: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

2. Sensor Arrays and SpatialFiltering

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 21/115

Page 68: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

2.1 Wavenumber-Frequency Space

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 22/115

Page 69: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

The four-dimensional Fourier transform of the space-timesignal s(x, t) is given by

Page 70: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

The four-dimensional Fourier transform of the space-timesignal s(x, t) is given by

S(k, ω) =

∫ ∞

−∞

∫ ∞

−∞

s(x, t)e−j(ωt−kTx)dxdt

Page 71: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

The four-dimensional Fourier transform of the space-timesignal s(x, t) is given by

S(k, ω) =

∫ ∞

−∞

∫ ∞

−∞

s(x, t)e−j(ωt−kTx)dxdt

temporal frequency

Page 72: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

The four-dimensional Fourier transform of the space-timesignal s(x, t) is given by

S(k, ω) =

∫ ∞

−∞

∫ ∞

−∞

s(x, t)e−j(ωt−kTx)dxdt

temporal frequency

spatial frequency: wavenumber

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 23/115

Page 73: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

The four-dimensional Fourier transform of the space-timesignal s(x, t) is given by

S(k, ω) =

∫ ∞

−∞

∫ ∞

−∞

s(x, t)e−j(ωt−kTx)dx dt

s(x, t) =1

(2π)4

∫ ∞

−∞

∫ ∞

−∞

S(k, ω)ej(ωt−kTx)dk dω

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 24/115

Page 74: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

We have already concluded that if the space-time signal isa propagating waveform such that s(x, t) = s(t−αT

0 x),then its Fourier transform is equal to

S(k, ω) = S(ω)δ(k− ωα0)

Page 75: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

We have already concluded that if the space-time signal isa propagating waveform such that s(x, t) = s(t−αT

0 x),then its Fourier transform is equal to

S(k, ω) = S(ω)δ(k− ωα0)

Remember the nonperiodic propagating wave Fouriertransform?

Page 76: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Space-time Fourier Transform

We have already concluded that if the space-time signal isa propagating waveform such that s(x, t) = s(t−αT

0 x),then its Fourier transform is equal to

S(k, ω) = S(ω)δ(k− ωα0)

Remember the nonperiodic propagating wave Fouriertransform?

This means that s(x, t) only has energy along the directionof k = k0 = ωα0 in the wavenumber-frequency space.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 25/115

Page 77: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

2.2 Frequency-Wavenumber (WN) Responseand Beam patterns (BP)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 26/115

Page 78: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signals at the sensors

An array is a set of N (isotropic) sensors located atpositions pn, n = 0, 1, · · · , N − 1

Page 79: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signals at the sensors

An array is a set of N (isotropic) sensors located atpositions pn, n = 0, 1, · · · , N − 1

The sensors spatially sample the signal field atlocations pn

Page 80: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signals at the sensors

An array is a set of N (isotropic) sensors located atpositions pn, n = 0, 1, · · · , N − 1

The sensors spatially sample the signal field atlocations pn

At the sensors, the set of N signals are denoted by

Page 81: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signals at the sensors

An array is a set of N (isotropic) sensors located atpositions pn, n = 0, 1, · · · , N − 1

The sensors spatially sample the signal field atlocations pn

At the sensors, the set of N signals are denoted by

f(t,p) =

f(t,p0)

f(t,p1)...

f(t,pN−1)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 27/115

Page 82: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array output

N−1

h (t)

h (t)1 Σ

...

f (t, )p

pN−1

f (t, )

f (t, )p1

y(t)

...

0

h (t)

0

Page 83: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array output

N−1

h (t)

h (t)1 Σ

...

f (t, )p

pN−1

f (t, )

f (t, )p1

y(t)

...

0

h (t)

0

y(t) =

N−1∑

n=0

∫ ∞

−∞

hn(t− τ)fn(τ,pn)dτ

=

∫ ∞

−∞

hT (t− τ)f(τ,p)dτ

Page 84: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array output

N−1

h (t)

h (t)1 Σ

...

f (t, )p

pN−1

f (t, )

f (t, )p1

y(t)

...

0

h (t)

0

y(t) =

N−1∑

n=0

∫ ∞

−∞

hn(t− τ)fn(τ,pn)dτ

=

∫ ∞

−∞

hT (t− τ)f(τ,p)dτ

where h(t) = [ho(t) h1(t) · · · hN−1(t)]T

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 28/115

Page 85: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

In the frequency domain, · · ·

Y (ω) =

∫ ∞

−∞

y(t)e−jωtdt

= HT (ω)F (ω)

Page 86: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

In the frequency domain, · · ·

Y (ω) =

∫ ∞

−∞

y(t)e−jωtdt

= HT (ω)F (ω)

where

H(ω) =

∫ ∞

−∞

h(t)e−jωtdt

F (ω) = F (ω,p) =

∫ ∞

−∞

f(t,p)e−jωtdt

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 29/115

Page 87: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave propagating · · ·

Consider a plane wave propagating in the direction ofvector a:

a =

−sinθcosφ−sinθsinφ−cosθ

Page 88: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave propagating · · ·

Consider a plane wave propagating in the direction ofvector a:

a =

−sinθcosφ−sinθsinφ−cosθ

If f(t) is the signal that would be received at the origin,then:

f(t,p) =

f(t− τ0)

f(t− τ1)...

f(t− τN−1)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 30/115

Page 89: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

Page 90: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

Page 91: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

Page 92: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

⇒ τn = ec

Page 93: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

⇒ τn = ec BUT

Page 94: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

⇒ τn = ec BUT

e = ‖pn‖cos(α) = ‖u‖︸︷︷︸

=1

‖pn‖cos(α)

Page 95: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

⇒ τn = ec BUT

e = ‖pn‖cos(α) = ‖u‖︸︷︷︸

=1

‖pn‖cos(α)

∴ τn = −uTpn

c= aTpn

c

Page 96: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Plane wave (assuming φ = 90o)

plane wave

θ

−sinθ

z

y

a

pn

a

u

e

y

z

α

θ 1

−cos

e =?

e = cτn

⇒ τn = ec BUT

e = ‖pn‖cos(α) = ‖u‖︸︷︷︸

=1

‖pn‖cos(α)

∴ τn = −uTpn

c= aTpn

c

τn is the time since the plane wave hits the sensor at location pn until it reaches point (0, 0).

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 31/115

Page 97: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Back to the frequency domain

Then, we have:

F (ω) =

∫∞

−∞e−jωtf(t− τ0)dt

∫∞

−∞e−jωtf(t− τ1)dt

...∫∞

−∞e−jωtf(t− τN−1)dt

=

e−jωτ0

e−jωτ1

...e−jωτN−1

F (ω)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 32/115

Page 98: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Definition of Wavenumber

For plane waves propagating in a locally homogeneousmedium:

k =ω

ca =

c/fa =

λa = −2π

λu

Page 99: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Definition of Wavenumber

For plane waves propagating in a locally homogeneousmedium:

k =ω

ca =

c/fa =

λa = −2π

λu

Wavenumber Vector ("spatial frequency")

Page 100: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Definition of Wavenumber

For plane waves propagating in a locally homogeneousmedium:

k =ω

ca =

c/fa =

λa = −2π

λu

Wavenumber Vector ("spatial frequency")

Note that |k| = 2πλ

Page 101: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Definition of Wavenumber

For plane waves propagating in a locally homogeneousmedium:

k =ω

ca =

c/fa =

λa = −2π

λu

Wavenumber Vector ("spatial frequency")

Note that |k| = 2πλ

Therefore

ωτn =ω

caTpn = kTpn

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 33/115

Page 102: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array Manifold Vector

And we have

F (ω) =

e−jkTp0

e−jkTp1

...

e−jkTp

N−1

F (ω) = F (ω)vk(k)

Page 103: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array Manifold Vector

And we have

F (ω) =

e−jkTp0

e−jkTp1

...

e−jkTp

N−1

F (ω) = F (ω)vk(k)

Array Manifold Vector

Page 104: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Array Manifold Vector

And we have

F (ω) =

e−jkTp0

e−jkTp1

...

e−jkTp

N−1

F (ω) = F (ω)vk(k)

Array Manifold Vector

In this particular example, we can usehn(t) =

1Nδ(t+ τn) such that

y(t) = f(t)

Following, we have the delay-and-sum beamformer.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 34/115

Page 105: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Delay-and-sum Beamformer

τ

Σ

...

1N

... y(t)

f (t− )0

f (t− )1

f (t− )N−1+τN−1

+τ1

+τ0τ

τ

Page 106: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Delay-and-sum Beamformer

τ

Σ

...

1N

... y(t)

f (t− )0

f (t− )1

f (t− )N−1+τN−1

+τ1

+τ0τ

τ

A common delay is added in each channel to make theoperations physically realizable

Page 107: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Delay-and-sum Beamformer

τ

Σ

...

1N

... y(t)

f (t− )0

f (t− )1

f (t− )N−1+τN−1

+τ1

+τ0τ

τ

A common delay is added in each channel to make theoperations physically realizable

Since F hn(t) = F

1Nδ(t+ τn)

= ejωτn

Page 108: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Delay-and-sum Beamformer

τ

Σ

...

1N

... y(t)

f (t− )0

f (t− )1

f (t− )N−1+τN−1

+τ1

+τ0τ

τ

A common delay is added in each channel to make theoperations physically realizable

Since F hn(t) = F

1Nδ(t+ τn)

= ejωτn

We can write

HT (ω) =1

NvH

k(k)

Page 109: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Delay-and-sum Beamformer

τ

Σ

...

1N

... y(t)

f (t− )0

f (t− )1

f (t− )N−1+τN−1

+τ1

+τ0τ

τ

A common delay is added in each channel to make theoperations physically realizable

Since F hn(t) = F

1Nδ(t+ τn)

= ejωτn

We can write

HT (ω) =1

NvH

k(k)

Array Manifold Vector

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 35/115

Page 110: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LTI System

ejωt h(t) H(ω)ejωt

Page 111: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LTI System

ejωt h(t) H(ω)ejωt

Space-time signals (base functions):

fn(t,p) = ejω(t−τn) = ej(ωt−kTp

n)

Note that ωτn = kTpn

Page 112: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LTI System

ejωt h(t) H(ω)ejωt

Space-time signals (base functions):

fn(t,p) = ejω(t−τn) = ej(ωt−kTp

n)

Note that ωτn = kTpn

∴ f(t,p) = ejωtvk(k)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 36/115

Page 113: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Frequency-Wavenumber Response Function

The response of the array to this plane wave is:

y(t,k) = HT (ω)vk(k)ejωt

Page 114: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Frequency-Wavenumber Response Function

The response of the array to this plane wave is:

y(t,k) = HT (ω)vk(k)ejωt

After taking the Fourier transform, we have:

Y (ω,k) = HT (ω)vk(k)

Page 115: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Frequency-Wavenumber Response Function

The response of the array to this plane wave is:

y(t,k) = HT (ω)vk(k)ejωt

After taking the Fourier transform, we have:

Y (ω,k) = HT (ω)vk(k)

And we define the Frequency-Wavenumber ResponseFunction:

Υ(ω,k) , HT (ω)vk(k)Upsilon

Υ(ω,k) describes the complex gain of an array to aninput plane wave with wavenumber k and temporalfrequency ω.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 37/115

Page 116: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Beam Pattern and Bandpass Signal

BEAM PATTERN is the Frequency WavenumberResponse Function evaluated versus the direction:

B(ω : θ, φ) = Υ(ω,k)

Note that k = 2πλa(θ, φ), and a is the unit vector with

spherical coordinates angles θ and φ

Page 117: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Beam Pattern and Bandpass Signal

BEAM PATTERN is the Frequency WavenumberResponse Function evaluated versus the direction:

B(ω : θ, φ) = Υ(ω,k)

Note that k = 2πλa(θ, φ), and a is the unit vector with

spherical coordinates angles θ and φ

Let’s write a bandpass signal:

f(t,pn) =√2Ref(t,pn)e

jωct, n = 0, 1, · · · , N − 1

Page 118: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Beam Pattern and Bandpass Signal

BEAM PATTERN is the Frequency WavenumberResponse Function evaluated versus the direction:

B(ω : θ, φ) = Υ(ω,k)

Note that k = 2πλa(θ, φ), and a is the unit vector with

spherical coordinates angles θ and φ

Let’s write a bandpass signal:

f(t,pn) =√2Ref(t,pn)e

jωct, n = 0, 1, · · · , N − 1

ωc corresponds to the carrier frequency and thecomplex envelope f(t,pn) is bandlimited to the region

|ω − ωc︸ ︷︷ ︸

ωL

| ≤ 2πBs/2ωc

2πBs

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 38/115

Page 119: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Bandlimited and Narrowband Signals

Bandlimited plane wave:f(t,pn) =

√2Ref(t− τn)e

jωc(t−τn), n = 0, 1, · · · , N − 1

Page 120: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Bandlimited and Narrowband Signals

Bandlimited plane wave:f(t,pn) =

√2Ref(t− τn)e

jωc(t−τn), n = 0, 1, · · · , N − 1

Maximum travel time (∆Tmax) across the (linear) array:travel time between the two sensors at the extremities(signal arriving along the end-fire)

Page 121: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Bandlimited and Narrowband Signals

Bandlimited plane wave:f(t,pn) =

√2Ref(t− τn)e

jωc(t−τn), n = 0, 1, · · · , N − 1

Maximum travel time (∆Tmax) across the (linear) array:travel time between the two sensors at the extremities(signal arriving along the end-fire)

Assuming the origin is at the array’s center of gravity:∑N−1

n=0 pn = 0 ⇒ τn ≤ ∆Tmax

Page 122: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Bandlimited and Narrowband Signals

Bandlimited plane wave:f(t,pn) =

√2Ref(t− τn)e

jωc(t−τn), n = 0, 1, · · · , N − 1

Maximum travel time (∆Tmax) across the (linear) array:travel time between the two sensors at the extremities(signal arriving along the end-fire)

Assuming the origin is at the array’s center of gravity:∑N−1

n=0 pn = 0 ⇒ τn ≤ ∆Tmax

In Narrowband (NB) signals, Bs∆Tmax ≪ 1

⇒ f(t− τn) ≃ f(t) andf(t,pn) =

√2Ref(t)e−jωcτnejωct

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 39/115

Page 123: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Phased-Array

For NB signals, the delay is approximated by aphase-shift:⇒ delay&sum beamformer ≡ PHASED ARRAY

Page 124: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Phased-Array

For NB signals, the delay is approximated by aphase-shift:⇒ delay&sum beamformer ≡ PHASED ARRAY

τ

Σ

...

1N

... y(t)

f(t)

f(t)

f(t)

0 0j

e+ ω τ

0 1j

e+ ω τ

0 N−1j

e+ ω τf (t− )N−1

f (t− )1

0f (t− )τ

τ

Page 125: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Phased-Array

For NB signals, the delay is approximated by aphase-shift:⇒ delay&sum beamformer ≡ PHASED ARRAY

τ

Σ

...

1N

... y(t)

f(t)

f(t)

f(t)

0 0j

e+ ω τ

0 1j

e+ ω τ

0 N−1j

e+ ω τf (t− )N−1

f (t− )1

0f (t− )τ

τ

The phased array can be implemented adjusting thegain and phase to achieve a desired beam pattern

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 40/115

Page 126: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

NB Beamformers

In narrowband beamformers: y(t,k) = wHvk(k)ejωt

Page 127: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

NB Beamformers

In narrowband beamformers: y(t,k) = wHvk(k)ejωt

y(t)Σ

...

w*0

w*1

w*N−1

...

f (t− )N−1

f (t− )1

0f (t− )τ

τ

τ

y (t)

y (t)

0

1

N−1y (t)

Page 128: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

NB Beamformers

In narrowband beamformers: y(t,k) = wHvk(k)ejωt

y(t)Σ

...

w*0

w*1

w*N−1

...

f (t− )N−1

f (t− )1

0f (t− )τ

τ

τ

y (t)

y (t)

0

1

N−1y (t)

Υ(ω,k) = wH

︸︷︷︸

HT(ω)

vk(k)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 41/115

Page 129: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

2.3 Uniform Linear Arrays (ULA)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 42/115

Page 130: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Uniformly Spaced Linear Arrays

(grazing angle)

_(broadside angle)

r

d

φ

θ

z (array axis = "endfire")

y

x

2θ = π − θ_

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 43/115

Page 131: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

ULAAn ULA along axis z: N−1

d

z

y

x

(azimuth angle)

φ

θ

(polar angle)

0

1

Page 132: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

ULAAn ULA along axis z: N−1

d

z

y

x

(azimuth angle)

φ

θ

(polar angle)

0

1

Location of the elements:pzn = (n− N−1

2)d, for n = 0, 1, · · · , N − 1

pxn = pyn = 0

Page 133: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

ULAAn ULA along axis z: N−1

d

z

y

x

(azimuth angle)

φ

θ

(polar angle)

0

1

Location of the elements:pzn = (n− N−1

2)d, for n = 0, 1, · · · , N − 1

pxn = pyn = 0

Therefore, pn =

0

0

(n− N−12

)d

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 44/115

Page 134: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

ULA

Array manifold vector:

vk(k) =

e−jkTp0

...

e−jkTp

n

...

e−jkTp

N−1

[kx ky kz ]

0

0[

n− N−12

]

d

Page 135: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

ULA

Array manifold vector:

vk(k) =[

e−jkTp0 e−jk

Tp1 · · · e−jk

Tp

N−1

]T

∴ vk(k) = vk(kz) =

e+j(N−1)

2kzd

e+j(N−12

−1)kzd

...e−j(N−1

2)kzd

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 45/115

Page 136: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

5. DoA Estimation with Microphone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 46/115

Page 137: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

3. Optimal Beamforming

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 47/115

Page 138: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

3.1 Introduction

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 48/115

Page 139: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: use the statistical representation of signal andnoise to design array processors that are optimal in astatistical sense.

Page 140: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: use the statistical representation of signal andnoise to design array processors that are optimal in astatistical sense.

We assume that the appropriate statistics are known.

Page 141: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: use the statistical representation of signal andnoise to design array processors that are optimal in astatistical sense.

We assume that the appropriate statistics are known.

Our objective of interest is to estimate the waveform ofa plane-wave impinging on the array in the presence ofnoise and interfering signals.

Page 142: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: use the statistical representation of signal andnoise to design array processors that are optimal in astatistical sense.

We assume that the appropriate statistics are known.

Our objective of interest is to estimate the waveform ofa plane-wave impinging on the array in the presence ofnoise and interfering signals.

Even if a particular beamformer developed in thischapter has good performance, it does not guaranteethat its adaptive version (next chapter) will. However, ifthe performance is poor, it is unlikely that the adaptiveversion will be useful.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 49/115

Page 143: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

3.2 Optimal Beamformers

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 50/115

Page 144: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Snapshot model in the frequency domain:

Page 145: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Snapshot model in the frequency domain:

In many applications, we implement a beamforming inthe frequency domain (ωm = ωc +m 2π

∆Tand M varies

from −M−12

to M−12

if odd and from −M2

to M2− 1 if

even).X

DiscreteFourierTransform

∆TX

∆TX

∆T

∆TY

∆TY ω(M−1)/2

( ),k

ω m

∆TY

FourierTransform atM Frequencies

NB Beamformer

NB Beamformer

NB Beamformer

( )

ω ,k−(M−1)/2( )

ω(M−1)/2

ω ,k−(M−1)/2

,k( )

ωm ,k( )

( )

,k y(t)(t)X Inverse

Page 146: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Snapshot model in the frequency domain:

In many applications, we implement a beamforming inthe frequency domain (ωm = ωc +m 2π

∆Tand M varies

from −M−12

to M−12

if odd and from −M2

to M2− 1 if

even).X

DiscreteFourierTransform

∆TX

∆TX

∆T

∆TY

∆TY ω(M−1)/2

( ),k

ω m

∆TY

FourierTransform atM Frequencies

NB Beamformer

NB Beamformer

NB Beamformer

( )

ω ,k−(M−1)/2( )

ω(M−1)/2

ω ,k−(M−1)/2

,k( )

ωm ,k( )

( )

,k y(t)(t)X Inverse

In order to generate these vectors, divide theobservation interval T in K disjoint intervals of duration∆T : (k − 1)∆T ≤ t < k∆T, k = 1, · · · ,K.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 51/115

Page 147: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

∆T must be significantly greater than the propagationtime across the array.

Page 148: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

∆T must be significantly greater than the propagationtime across the array.

∆T also depends on the bandwidth of the input signal.

Page 149: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

∆T must be significantly greater than the propagationtime across the array.

∆T also depends on the bandwidth of the input signal.

Assume an input signal with BW Bs centered in fc

Page 150: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

∆T must be significantly greater than the propagationtime across the array.

∆T also depends on the bandwidth of the input signal.

Assume an input signal with BW Bs centered in fc

In order to develop the frequency-domain snapshotmodel for the case in which the desired signals and theinterfering signals can de modeled as plane waves, wehave two cases: desired signals are deterministic orsamples of a random process.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 52/115

Page 151: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Let’s assume the case where the signal is nonrandombut unknown; we initially consider the case of singleplane-wave signal.

Page 152: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Let’s assume the case where the signal is nonrandombut unknown; we initially consider the case of singleplane-wave signal.

Frequency-domain snapshot consists of signal plusnoise: X(ω) = Xs(ω) +N (ω)

Page 153: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Let’s assume the case where the signal is nonrandombut unknown; we initially consider the case of singleplane-wave signal.

Frequency-domain snapshot consists of signal plusnoise: X(ω) = Xs(ω) +N (ω)

The signal vector can be written asXs(ω) = F (ω)v(ω : ks) where F (ω) is thefrequency-domain snapshot of the source signal andv(ω : ks) is the array manifold vector for a plane-wavewith wavenumber ks.

Page 154: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

Let’s assume the case where the signal is nonrandombut unknown; we initially consider the case of singleplane-wave signal.

Frequency-domain snapshot consists of signal plusnoise: X(ω) = Xs(ω) +N (ω)

The signal vector can be written asXs(ω) = F (ω)v(ω : ks) where F (ω) is thefrequency-domain snapshot of the source signal andv(ω : ks) is the array manifold vector for a plane-wavewith wavenumber ks.

The noise snapshot is a zero-mean random vectorN (ω) with spectral matrix given bySn(ω) = Sc(ω) + σ2

ωI

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 53/115

Page 155: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

We process X(ω) with the 1×N operator WH(ω):

Yω ( )ω( )ω

XW

H( )

Page 156: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

We process X(ω) with the 1×N operator WH(ω):

Yω ( )ω( )ω

XW

H( )

Distortionless criterion (in the absence of noise):

Y (ω) = F (ω)

= WH(ω)Xs(ω) = F (ω)WH(ω)v(ω : ks)

=⇒WH(ω)v(ω : ks) = 1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 54/115

Page 157: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

In the presence of noise, we have:

Y (ω) = F (ω) + Yn(ω)

Page 158: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR Beamformer

In the presence of noise, we have:

Y (ω) = F (ω) + Yn(ω)

The mean square of the output noise is:

E[|Yn(ω)|2] = WH(ω)Sn(ω)W (ω)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 55/115

Page 159: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR BeamformerIn the MVDR beamformer, we want to minimize

E[|Yn(ω)|2] subject to WH(ω)v(ω : ks) = 1

Page 160: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR BeamformerIn the MVDR beamformer, we want to minimize

E[|Yn(ω)|2] subject to WH(ω)v(ω : ks) = 1

Using the method of Lagrange multipliers, we definethe following cost function to be minimized

F = WH(ω)Sn(ω)Wω

+ λ[WH(ω)v(ω : ks)− 1

]+ λ∗

[vH(ω : ks)W (ω)− 1

]

Page 161: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR BeamformerIn the MVDR beamformer, we want to minimize

E[|Yn(ω)|2] subject to WH(ω)v(ω : ks) = 1

Using the method of Lagrange multipliers, we definethe following cost function to be minimized

F = WH(ω)Sn(ω)Wω

+ λ[WH(ω)v(ω : ks)− 1

]+ λ∗

[vH(ω : ks)W (ω)− 1

]

...and the result (suppressing ω and ks) is

WHmvdr = Λsv

HS−1n where Λs =

[vHS−1

n v]−1

Page 162: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MVDR BeamformerIn the MVDR beamformer, we want to minimize

E[|Yn(ω)|2] subject to WH(ω)v(ω : ks) = 1

Using the method of Lagrange multipliers, we definethe following cost function to be minimized

F = WH(ω)Sn(ω)Wω

+ λ[WH(ω)v(ω : ks)− 1

]+ λ∗

[vH(ω : ks)W (ω)− 1

]

...and the result (suppressing ω and ks) is

WHmvdr = Λsv

HS−1n where Λs =

[vHS−1

n v]−1

This result is referred to as MVDR or CaponBeamformer.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 56/115

Page 163: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The gradient of ξ with respect to w (real case):

∇wξ =

∂ξ

∂w0∂ξ

∂w1...∂ξ

∂wN−1

Page 164: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The gradient of ξ with respect to w (real case):

∇wξ =

∂ξ

∂w0∂ξ

∂w1...∂ξ

∂wN−1

From the definition above, it is easy to show that:∇w(bTw) = ∇w(wTb) = b

Page 165: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The gradient of ξ with respect to w (real case):

∇wξ =

∂ξ

∂w0∂ξ

∂w1...∂ξ

∂wN−1

From the definition above, it is easy to show that:∇w(bTw) = ∇w(wTb) = b

Also ∇w(wTRw) = RTw +Rw

Page 166: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The gradient of ξ with respect to w (real case):

∇wξ =

∂ξ

∂w0∂ξ

∂w1...∂ξ

∂wN−1

From the definition above, it is easy to show that:∇w(bTw) = ∇w(wTb) = b

Also ∇w(wTRw) = RTw +Rw

which, when R is symmetric, leads to∇w(wTRw) = 2Rw

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 57/115

Page 167: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We now assume the complex case w = a+ jb.

Page 168: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We now assume the complex case w = a+ jb.

The gradient becomes ∇wξ =

∂ξ

∂a0+ j ∂ξ

∂b0∂ξ

∂a1+ j ∂ξ

∂b1...

∂ξ

∂aN−1+ j ∂ξ

∂bN−1

Page 169: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We now assume the complex case w = a+ jb.

The gradient becomes ∇wξ =

∂ξ

∂a0+ j ∂ξ

∂b0∂ξ

∂a1+ j ∂ξ

∂b1...

∂ξ

∂aN−1+ j ∂ξ

∂bN−1

· · · which corresponds to ∇wξ = ∇aξ + j∇bξ

Page 170: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We now assume the complex case w = a+ jb.

The gradient becomes ∇wξ =

∂ξ

∂a0+ j ∂ξ

∂b0∂ξ

∂a1+ j ∂ξ

∂b1...

∂ξ

∂aN−1+ j ∂ξ

∂bN−1

· · · which corresponds to ∇wξ = ∇aξ + j∇bξ

Let us define the derivative ∂∂w

(with respect to w):

∂∂w

= 12

∂∂a0

− j ∂∂b0

∂∂a1

− j ∂∂b1

...∂

∂aN−1− j ∂

∂bN−1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 58/115

Page 171: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 12

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1+ j ∂

∂bN−1

Page 172: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 12

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1+ j ∂

∂bN−1

Therefore, ∇wξ = ∇aξ + j∇bξ is equivalent to 2 ∂ξ

∂w∗.

Page 173: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 12

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1+ j ∂

∂bN−1

Therefore, ∇wξ = ∇aξ + j∇bξ is equivalent to 2 ∂ξ

∂w∗.

The complex gradient may be slightly tricky ifcompared to the simple real gradient. For this reason,we exemplify the use of the complex gradient bycalculating ∇wE[|e(k)|2].

Page 174: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 12

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1+ j ∂

∂bN−1

Therefore, ∇wξ = ∇aξ + j∇bξ is equivalent to 2 ∂ξ

∂w∗.

The complex gradient may be slightly tricky ifcompared to the simple real gradient. For this reason,we exemplify the use of the complex gradient bycalculating ∇wE[|e(k)|2].∇wE[e(k)e∗(k)] = Ee∗(k)[∇we(k)] + e(k)[∇we

∗(k)]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 59/115

Page 175: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We compute each gradient ...

∇we(k) =∇a[d(k)−wHx(k)] + j∇b[d(k)−wHx(k)]

=− x(k)− x(k) = −2x(k)

Page 176: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We compute each gradient ...

∇we(k) =∇a[d(k)−wHx(k)] + j∇b[d(k)−wHx(k)]

=− x(k)− x(k) = −2x(k)and

∇we∗(k) =∇a[d

∗(k)−wTx∗(k)] + j∇b[d∗(k)−wTx∗(k)]

=− x∗(k) + x∗(k) = 0

Page 177: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

We compute each gradient ...

∇we(k) =∇a[d(k)−wHx(k)] + j∇b[d(k)−wHx(k)]

=− x(k)− x(k) = −2x(k)and

∇we∗(k) =∇a[d

∗(k)−wTx∗(k)] + j∇b[d∗(k)−wTx∗(k)]

=− x∗(k) + x∗(k) = 0

such that the final result is

∇wE[e(k)e∗(k)] =− 2E[e∗(k)x(k)]

=− 2E[x(k)[d(k)−wHx(k)]∗=− 2E[x(k)d∗(k)]

︸ ︷︷ ︸

p

+2E[x(k)xH(k)]︸ ︷︷ ︸

R

w

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 60/115

Page 178: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Which results in the Wiener solution w = R−1p.

Page 179: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Which results in the Wiener solution w = R−1p.

When a set of linear constraints involving thecoefficient vector of an adaptive filter is imposed, theresulting problem (LCAF)—admitting the MSE as theobjective function—can be stated as minimizingE[|e(k)|2] subject to CHw = f .

Page 180: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Which results in the Wiener solution w = R−1p.

When a set of linear constraints involving thecoefficient vector of an adaptive filter is imposed, theresulting problem (LCAF)—admitting the MSE as theobjective function—can be stated as minimizingE[|e(k)|2] subject to CHw = f .

The output of the processor is y(k) = wHx(k).

Page 181: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Which results in the Wiener solution w = R−1p.

When a set of linear constraints involving thecoefficient vector of an adaptive filter is imposed, theresulting problem (LCAF)—admitting the MSE as theobjective function—can be stated as minimizingE[|e(k)|2] subject to CHw = f .

The output of the processor is y(k) = wHx(k).

It is worth mentioning that the most general casecorresponds to having a reference signal, d(k). It is,however, usual to have no reference signal as inLinearly-Constrained Minimum-Variance (LCMV)applications. In LCMV, if f = 1, the system is oftenreferred to as Minimum-Variance DistortionlessResponse (MVDR).

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 61/115

Page 182: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CHw − f ] +L

TI Im[CHw − f ]

Page 183: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CHw − f ] +L

TI Im[CHw − f ]

We can also represent the above expression with a complex

L given by LR + jLI such that

ξ(k) = E[e(k)e∗(k)] +Re[LH(CHw − f)]

= E[e(k)e∗(k)] +1

2L

H(CHw − f) +1

2L

T (CTw∗ − f∗)

Page 184: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CHw − f ] +L

TI Im[CHw − f ]

We can also represent the above expression with a complex

L given by LR + jLI such that

ξ(k) = E[e(k)e∗(k)] +Re[LH(CHw − f)]

= E[e(k)e∗(k)] +1

2L

H(CHw − f) +1

2L

T (CTw∗ − f∗)

Noting that e(k) = d(k)−wHx(k), we compute:

∇wξ(k) = ∇w

E[e(k)e∗(k)] +1

2L

H(CHw − f) +1

2L

T (CTw∗ − f∗)

= E[−2x(k)e∗(k)] + 0+CL

= −2E[x(k)d∗(k)] + 2E[x(k)xH(k)]w +CL

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 62/115

Page 185: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

By using R = E[x(k)xH(k)] and p = E[d∗(k)x(k)], thegradient is equated to zero and the results can bewritten as (note that stationarity was assumed for theinput and reference signals): −2p+ 2Rw +CL = 0

Page 186: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

By using R = E[x(k)xH(k)] and p = E[d∗(k)x(k)], thegradient is equated to zero and the results can bewritten as (note that stationarity was assumed for theinput and reference signals): −2p+ 2Rw +CL = 0

Which leads to w = 12R−1(2p−CL)

Page 187: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

By using R = E[x(k)xH(k)] and p = E[d∗(k)x(k)], thegradient is equated to zero and the results can bewritten as (note that stationarity was assumed for theinput and reference signals): −2p+ 2Rw +CL = 0

Which leads to w = 12R−1(2p−CL)

If we pre-multiply the previous expression by CH anduse CHw = f , we find L:L = 2(CHR−1C)−1(CHR−1p− f)

Page 188: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

By using R = E[x(k)xH(k)] and p = E[d∗(k)x(k)], thegradient is equated to zero and the results can bewritten as (note that stationarity was assumed for theinput and reference signals): −2p+ 2Rw +CL = 0

Which leads to w = 12R−1(2p−CL)

If we pre-multiply the previous expression by CH anduse CHw = f , we find L:L = 2(CHR−1C)−1(CHR−1p− f)

By replacing L, we obtain the Wiener solution for thelinearly constrained adaptive filter:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 63/115

Page 189: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The optimal solution for LCAF:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Page 190: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The optimal solution for LCAF:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Note that if d(k) = 0, then p = 0, and we have (LCMV):wopt = R−1C(CHR−1C)−1f

Page 191: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The optimal solution for LCAF:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Note that if d(k) = 0, then p = 0, and we have (LCMV):wopt = R−1C(CHR−1C)−1f

Yet with d(k) = 0 but f = 1 (MVDR)wopt = R−1C(CHR−1C)−1

Page 192: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The optimal solution for LCAF:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Note that if d(k) = 0, then p = 0, and we have (LCMV):wopt = R−1C(CHR−1C)−1f

Yet with d(k) = 0 but f = 1 (MVDR)wopt = R−1C(CHR−1C)−1

For this case, d(k) = 0, the cost function is termedminimum output energy (MOE) and is given byE[|e(k)|2] = wHRw

Page 193: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Constrained Optimal Filtering

The optimal solution for LCAF:wopt = R−1p+R−1C(CHR−1C)−1(f −CHR−1p)

Note that if d(k) = 0, then p = 0, and we have (LCMV):wopt = R−1C(CHR−1C)−1f

Yet with d(k) = 0 but f = 1 (MVDR)wopt = R−1C(CHR−1C)−1

For this case, d(k) = 0, the cost function is termedminimum output energy (MOE) and is given byE[|e(k)|2] = wHRw

Also note that in case we do not have constraints (Cand f are nulls), the optimal solution above becomesthe unconstrained Wiener solution R−1p.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 64/115

Page 194: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

We start by doing a transformation in the coefficient vector.

Let T = [C B] such that

w = Tw = [C B]

[wU

−wL

]

= CwU −BwL

Page 195: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

We start by doing a transformation in the coefficient vector.

Let T = [C B] such that

w = Tw = [C B]

[wU

−wL

]

= CwU −BwL

Matrix B is usually called the Blocking Matrix and werecall that CHw = g such thatCHw = CHCwU −CHBwL = g.

Page 196: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

We start by doing a transformation in the coefficient vector.

Let T = [C B] such that

w = Tw = [C B]

[wU

−wL

]

= CwU −BwL

Matrix B is usually called the Blocking Matrix and werecall that CHw = g such thatCHw = CHCwU −CHBwL = g.

If we impose the condition BHC = 0 or, equivalently,CHB = 0, we will have wU = (CHC)−1g.

Page 197: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

We start by doing a transformation in the coefficient vector.

Let T = [C B] such that

w = Tw = [C B]

[wU

−wL

]

= CwU −BwL

Matrix B is usually called the Blocking Matrix and werecall that CHw = g such thatCHw = CHCwU −CHBwL = g.

If we impose the condition BHC = 0 or, equivalently,CHB = 0, we will have wU = (CHC)−1g.

wU is fixed and termed the quiescent weight vector;the minimization process will be carried out only in thelower part, also designated wGSC = wL.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 65/115

Page 198: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

It is shown below how to split the transformation matrixinto two parts: a fixed path and an adaptive path.

reference signal

input

reference signal

signal

inputsignal

Σ−

+

MN

p MN−p

MN−p

p

B−

C

+

F

B

Σ

Σ−

1

+1

MNΣ+

− ≡MN

MN

MN

1

T+

− Σw(k)

B

MNp

MN

p

MN−p

1

1

C

Σ+

− Σ− +

(k)GSC

w

(c)

(a) (b)

(d)MN−p

w(k)

wU(k)

w (k)L

wU(k)

w (k)L

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 66/115

Page 199: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

This structure (detailed below) was named theGeneralized Sidelobe Canceller (GSC).

+

F

B

Σ

HF

Σ

(k)x

− +

y(k)(k)

(k)

=

(k)xH

B x(k)

GSC

GSCx

ye(k)

d(k)

(k−1)GSC

w

Page 200: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

This structure (detailed below) was named theGeneralized Sidelobe Canceller (GSC).

+

F

B

Σ

HF

Σ

(k)x

− +

y(k)(k)

(k)

=

(k)xH

B x(k)

GSC

GSCx

ye(k)

d(k)

(k−1)GSC

w

It is always possible to have the overall equivalentcoefficient vector which is given by w = F−BwGSC .

Page 201: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

This structure (detailed below) was named theGeneralized Sidelobe Canceller (GSC).

+

F

B

Σ

HF

Σ

(k)x

− +

y(k)(k)

(k)

=

(k)xH

B x(k)

GSC

GSCx

ye(k)

d(k)

(k−1)GSC

w

It is always possible to have the overall equivalentcoefficient vector which is given by w = F−BwGSC .

If we pre-multiply last equation by BH and isolatewGSC , we find wGSC = −(BHB)−1BHw.

Page 202: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

This structure (detailed below) was named theGeneralized Sidelobe Canceller (GSC).

+

F

B

Σ

HF

Σ

(k)x

− +

y(k)(k)

(k)

=

(k)xH

B x(k)

GSC

GSCx

ye(k)

d(k)

(k−1)GSC

w

It is always possible to have the overall equivalentcoefficient vector which is given by w = F−BwGSC .

If we pre-multiply last equation by BH and isolatewGSC , we find wGSC = −(BHB)−1BHw.

Knowing that T = [C B] and that THT = I, it followsthat P = I−C(CHC)−1CH = B(BHB)BH .

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 67/115

Page 203: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

A simple procedure to find the optimal GSC solutioncomes from the unconstrained Wiener solution appliedto the unconstrained filter: wGSC−OPT = R−1

GSCpGSC

Page 204: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

A simple procedure to find the optimal GSC solutioncomes from the unconstrained Wiener solution appliedto the unconstrained filter: wGSC−OPT = R−1

GSCpGSC

From the figure, it is clear that:RGSC = E[xGSCx

HGSC ] = E[BHxxHB] = BHRB

Page 205: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

A simple procedure to find the optimal GSC solutioncomes from the unconstrained Wiener solution appliedto the unconstrained filter: wGSC−OPT = R−1

GSCpGSC

From the figure, it is clear that:RGSC = E[xGSCx

HGSC ] = E[BHxxHB] = BHRB

The cross-correlation vector is given as:

pGSC = E[d∗GSCxGSC ]

= E[FHx− d]∗[BHx]= E[−BHd∗x+BHxxHF]

= −BHp+BHRF

Page 206: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

A simple procedure to find the optimal GSC solutioncomes from the unconstrained Wiener solution appliedto the unconstrained filter: wGSC−OPT = R−1

GSCpGSC

From the figure, it is clear that:RGSC = E[xGSCx

HGSC ] = E[BHxxHB] = BHRB

The cross-correlation vector is given as:

pGSC = E[d∗GSCxGSC ]

= E[FHx− d]∗[BHx]= E[−BHd∗x+BHxxHF]

= −BHp+BHRF

· · · and wGSC−OPT = (BHRB)−1(−BHp+BHRF)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 68/115

Page 207: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSCA common case is when d(k) = 0:

+

−Σ

HF (k)x

(k) =

(k)xH

B x(k)GSCx

y (k)GSC

GSCe (k)

B

Fd (k) = GSC

(k−1)GSC

w

Page 208: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSCA common case is when d(k) = 0:

+

−Σ

HF (k)x

(k) =

(k)xH

B x(k)GSCx

y (k)GSC

GSCe (k)

B

Fd (k) = GSC

(k−1)GSC

w

We have dropped the negative sign that should existaccording to the notation used. Although we defineeGSC(k) = −e(k), the inversion of the sign in the errorsignal actually results in the same results because theerror function is always based on the absolute value.

Page 209: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSCA common case is when d(k) = 0:

+

−Σ

HF (k)x

(k) =

(k)xH

B x(k)GSCx

y (k)GSC

GSCe (k)

B

Fd (k) = GSC

(k−1)GSC

w

We have dropped the negative sign that should existaccording to the notation used. Although we defineeGSC(k) = −e(k), the inversion of the sign in the errorsignal actually results in the same results because theerror function is always based on the absolute value.

In this case, the optimum filter wOPT is:F−BwGSC−OPT = F−B(BHRB)−1BHRF =

R−1C(CHR−1C)−1f (LCMV solution)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 69/115

Page 210: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

Choosing the blocking matrix: B plays an importantrole since its choice determines computationalcomplexity and even robustness against numericalinstability.

Page 211: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

Choosing the blocking matrix: B plays an importantrole since its choice determines computationalcomplexity and even robustness against numericalinstability.

Since the only need for B is having its columns forminga basis orthogonal to the constraints, BHC = 0, amyriad of options are possible.

Page 212: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

Choosing the blocking matrix: B plays an importantrole since its choice determines computationalcomplexity and even robustness against numericalinstability.

Since the only need for B is having its columns forminga basis orthogonal to the constraints, BHC = 0, amyriad of options are possible.

Let us recall the paper by Griffiths and Jim where theterm GSC was coined; let

CT =

1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1

Page 213: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

Choosing the blocking matrix: B plays an importantrole since its choice determines computationalcomplexity and even robustness against numericalinstability.

Since the only need for B is having its columns forminga basis orthogonal to the constraints, BHC = 0, amyriad of options are possible.

Let us recall the paper by Griffiths and Jim where theterm GSC was coined; let

CT =

1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 1

With simple constraint matrices, simple blockingmatrices satisfying BTC = 0 are possible.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 70/115

Page 214: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

For this particular example, the paper presents twopossibilities. The first one (orthogonal) is:

Page 215: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

For this particular example, the paper presents twopossibilities. The first one (orthogonal) is:

BT1 =

1 1 −1 −1 0 0 0 0 0 0 0 0

1 −1 −1 1 0 0 0 0 0 0 0 0

1 −1 1 −1 0 0 0 0 0 0 0 0

0 0 0 0 1 1 −1 −1 0 0 0 0

0 0 0 0 1 −1 −1 1 0 0 0 0

0 0 0 0 1 −1 1 −1 0 0 0 0

0 0 0 0 0 0 0 0 1 1 −1 −1

0 0 0 0 0 0 0 0 1 −1 −1 1

0 0 0 0 0 0 0 0 1 −1 1 −1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 71/115

Page 216: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

And the second possibility (non-orthogonal) is:

Page 217: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

And the second possibility (non-orthogonal) is:

BT2 =

1 −1 0 0 0 0 0 0 0 0 0 0

0 1 −1 0 0 0 0 0 0 0 0 0

0 0 1 −1 0 0 0 0 0 0 0 0

0 0 0 0 1 −1 0 0 0 0 0 0

0 0 0 0 0 1 −1 0 0 0 0 0

0 0 0 0 0 0 1 −1 0 0 0 0

0 0 0 0 0 0 0 0 1 −1 0 0

0 0 0 0 0 0 0 0 0 1 −1 0

0 0 0 0 0 0 0 0 0 0 1 −1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 72/115

Page 218: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

SVD: the blocking matrix can be produced with thefollowing Matlab command lines,

[U,S,V]=svd(C);B3=U(:,p+1:M * N); % p=N in this case

Page 219: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

SVD: the blocking matrix can be produced with thefollowing Matlab command lines,

[U,S,V]=svd(C);B3=U(:,p+1:M * N); % p=N in this case

BT3 is given by:

−0.50 −0.17 −0.17 0.83 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

0.25 −0.42 0.08 0.08 0.75 −0.25 −0.25 −0.25 0.00 0.00 0.00 0.00

0.25 −0.42 0.08 0.08 −0.25 0.75 −0.25 −0.25 0.00 0.00 0.00 0.00

0.25 −0.42 0.08 0.08 −0.25 −0.25 0.75 −0.20 0.00 0.00 0.00 0.00

0.25 −0.42 0.08 0.08 −0.25 −0.25 −0.25 0.75 0.00 0.00 0.00 0.00

0.25 0.08 −0.42 0.08 0.00 0.00 0.00 0.00 0.75 −0.25 −0.25 −0.25

0.25 0.08 −0.42 0.08 0.00 0.00 0.00 0.00 −0.25 0.75 −0.25 −0.25

0.25 0.08 −0.42 0.08 0.00 0.00 0.00 0.00 −0.25 −0.25 0.75 −0.25

0.25 0.08 −0.42 0.08 0.00 0.00 0.00 0.00 −0.25 −0.25 −0.25 0.75

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 73/115

Page 220: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

QRD: the blocking matrix can be produced with thefollowing Matlab command lines,

[Q,R]=qr(C);B4=Q(:,p+1:M * N);

Page 221: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

QRD: the blocking matrix can be produced with thefollowing Matlab command lines,

[Q,R]=qr(C);B4=Q(:,p+1:M * N);

B4 was identical to B3 (SVD).

Page 222: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

QRD: the blocking matrix can be produced with thefollowing Matlab command lines,

[Q,R]=qr(C);B4=Q(:,p+1:M * N);

B4 was identical to B3 (SVD).

Two other possibilities are: the one presented in[Tseng Griffiths 88] where a decomposition procedureis introduced in order to offer an effectiveimplementation structure and the other one concernedto a narrowband BF implemented with GSC where B iscombined with a wavelet transform [Chu Fang 99].

Page 223: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The GSC

QRD: the blocking matrix can be produced with thefollowing Matlab command lines,

[Q,R]=qr(C);B4=Q(:,p+1:M * N);

B4 was identical to B3 (SVD).

Two other possibilities are: the one presented in[Tseng Griffiths 88] where a decomposition procedureis introduced in order to offer an effectiveimplementation structure and the other one concernedto a narrowband BF implemented with GSC where B iscombined with a wavelet transform [Chu Fang 99].

Finally, a new efficient linearly constrained adaptivescheme which can also be visualized as a GSCstructure can be found in [Campos&Werner&ApolinárioIEEE-TSP Sept. 2002].

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 74/115

Page 224: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

5. DoA Estimation with Microphone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 75/115

Page 225: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

4. Adaptive Beamforming

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 76/115

Page 226: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

4.1 Introduction

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 77/115

Page 227: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: instead of assuming knowledge about thestatistical properties of the signals, beamformers aredesigned based on statistics gathered online.

Page 228: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: instead of assuming knowledge about thestatistical properties of the signals, beamformers aredesigned based on statistics gathered online.

Different algorithms may be employed for iterativelyapproximating the desired solution.

Page 229: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Scope: instead of assuming knowledge about thestatistical properties of the signals, beamformers aredesigned based on statistics gathered online.

Different algorithms may be employed for iterativelyapproximating the desired solution.

We will briefly cover a small subset of algorithms forconstrained adaptive filters.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 78/115

Page 230: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Linearly constrained adaptive filters (LCAF) have foundapplication in numerous areas, such as spectrumanalysis, spatial-temporal processing, antenna arrays,interference suppression, among others.

Page 231: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Linearly constrained adaptive filters (LCAF) have foundapplication in numerous areas, such as spectrumanalysis, spatial-temporal processing, antenna arrays,interference suppression, among others.

LCAF algorithms incorporate into the solutionapplication-specific requirements translated into a setof linear equations to be satisfied by the coefficients.

Page 232: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Linearly constrained adaptive filters (LCAF) have foundapplication in numerous areas, such as spectrumanalysis, spatial-temporal processing, antenna arrays,interference suppression, among others.

LCAF algorithms incorporate into the solutionapplication-specific requirements translated into a setof linear equations to be satisfied by the coefficients.

For example, if direction of arrival of the signal ofinterest is known, jammer suppression can takeplace through spatial filtering without the need oftraining signal, or

Page 233: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Introduction

Linearly constrained adaptive filters (LCAF) have foundapplication in numerous areas, such as spectrumanalysis, spatial-temporal processing, antenna arrays,interference suppression, among others.

LCAF algorithms incorporate into the solutionapplication-specific requirements translated into a setof linear equations to be satisfied by the coefficients.

For example, if direction of arrival of the signal ofinterest is known, jammer suppression can takeplace through spatial filtering without the need oftraining signal, or in systems withconstant-envelope modulation (e.g., M-PSK), aconstant-modulus constraint can mitigate multipathpropagation effects.

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 79/115

Page 234: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

4.2 Constrained FIR Filters

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 80/115

Page 235: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Broadband Array Beamformer

1

M

2 Σ

ΣAlgorithm:

wmin ξ(k)s.t. C w=fH

1x (k)w (k)

w (k)

w (k)

d(k)

y(k)

+e(k)

-

x (k)2

x (k)M

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 81/115

Page 236: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Optimal Constrained MSE Filter

We look for

minw

ξ(k) s.t. CHw = f ,

where

ξ(k) = E [|e(k)|2]C is the MN × p constraint matrix

f is the p× 1 gain vector

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 82/115

Page 237: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Optimal Constrained MSE Filter

The optimal beamformer is

w(k) = R−1p+R−1C(CHR−1C

)−1 (f −CHR−1p

)

where:

R = E[x(k)xH(k)

]and p = E [d∗(k)x(k)]

w(k) =[wT

1 (k) wT2 (k) · · · wT

M(k)]T

x(k) =[xT1 (k) x

T2 (k) · · · xT

M(k)]T

xTi (k) = [xi(k) xi(k − 1) · · · xi(k −N + 1)]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 83/115

Page 238: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LS Beamformer

In the absence of statistical information, we may choose

minw

[

ξ(k) =k∑

i=0

λk−i|d(i)−wHx(i)|2]

s.t. CHw = f

with λ ∈ (0, 1],

Page 239: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LS Beamformer

In the absence of statistical information, we may choose

minw

[

ξ(k) =k∑

i=0

λk−i|d(i)−wHx(i)|2]

s.t. CHw = f

with λ ∈ (0, 1], which gives, as solution,

Page 240: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LS Beamformer

In the absence of statistical information, we may choose

minw

[

ξ(k) =k∑

i=0

λk−i|d(i)−wHx(i)|2]

s.t. CHw = f

with λ ∈ (0, 1], which gives, as solution,

w(k) = R−1(k)p(k)

+R−1(k)C(CHR−1(k)C

)−1 [f −CHR−1(k)p(k)

],

where

R(k) =∑k

i=0 λk−ix(i)xH(i), and p(k) =

∑k

i=0 λk−id∗(i)x(i).

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 84/115

Page 241: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LMS Algorithm

A (cheaper) alternative cost function is

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2 + µ|e(k)|2

]s.t. CHw(k) = f ,

Page 242: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LMS Algorithm

A (cheaper) alternative cost function is

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2 + µ|e(k)|2

]s.t. CHw(k) = f ,

which gives, as solution,

Page 243: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LMS Algorithm

A (cheaper) alternative cost function is

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2 + µ|e(k)|2

]s.t. CHw(k) = f ,

which gives, as solution,

w(k) = w(k − 1) + µe∗(k)[

I−C(CHC

)−1CH

]

x(k),

where e(k) = d(k)−wH(k − 1)x(k), µ is a positive small

constant called step size.

Page 244: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained LMS Algorithm

A (cheaper) alternative cost function is

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2 + µ|e(k)|2

]s.t. CHw(k) = f ,

which gives, as solution,

w(k) = P [w(k − 1) + µe∗(k)x(k)] + F,

where e(k) = d(k)−wH(k − 1)x(k), µ is a positive small

constant called step size, P = C(CHC

)−1CH , and

F = C(CHC

)−1f .

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 85/115

Page 245: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained AP Algorithm

We may wish to trade complexity for speed of convergence:

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2

]s.t.

XT (k)w∗(k) = d(k)

CHw(k) = f ,

where

d(k) = [d(k) d(k − 1) · · · d(k − L+ 1)]T

X(k) = [x(k) x(k − 1) · · · x(k − L+ 1)]T

Page 246: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained AP Algorithm

We may wish to trade complexity for speed of convergence:

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2

]s.t.

XT (k)w∗(k) = d(k)

CHw(k) = f ,

which gives, as solution,

Page 247: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

The Constrained AP Algorithm

We may wish to trade complexity for speed of convergence:

minw

[ξ(k) = ‖w(k)−w(k − 1)‖2

]s.t.

XT (k)w∗(k) = d(k)

CHw(k) = f ,

which gives, as solution,

w(k) = P [w(k − 1) + µX(k)t(k)] + F

where

e(k) = d(k)−XT (k)w∗(k − 1)

t(k) =[XH(k)PX(k)

]−1e∗(k)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 86/115

Page 248: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Outline

1. Introduction and Fundamentals

2. Sensor Arrays and Spatial Filtering

3. Optimal Beamforming

4. Adaptive Beamforming

5. DoA Estimation with Microphone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 87/115

Page 249: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5. DOA Estimation withMicrophone Arrays

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 88/115

Page 250: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5.0 Signal Preparation

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 89/115

Page 251: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

It is usual to find a delayed signal represented by amultiplication of the signal with exponential ejωoτ

Page 252: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

It is usual to find a delayed signal represented by amultiplication of the signal with exponential ejωoτ

First thing to note: when this is the case, the signal isnarrow band with a center frequency in ω0 (in thecontinuous-time domain, it corresponds to a carrierfrequency Ω0 = fsω0)

Page 253: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

It is usual to find a delayed signal represented by amultiplication of the signal with exponential ejωoτ

First thing to note: when this is the case, the signal isnarrow band with a center frequency in ω0 (in thecontinuous-time domain, it corresponds to a carrierfrequency Ω0 = fsω0)

But, most importantly, the delay is well representedonly if the signal is also analytic, i. e., having onlynon-negative frequency components.

Page 254: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

It is usual to find a delayed signal represented by amultiplication of the signal with exponential ejωoτ

First thing to note: when this is the case, the signal isnarrow band with a center frequency in ω0 (in thecontinuous-time domain, it corresponds to a carrierfrequency Ω0 = fsω0)

But, most importantly, the delay is well representedonly if the signal is also analytic, i. e., having onlynon-negative frequency components.

An analytic signal, mathematically, can be obtained bymultiplying its Fourier transform by the continuousHeaviside step function:

Xa(ejω) = 2X(ejω)u(ω), u(ω) =

0, ω < 0

1, ω = 0

1, ω > 0

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 90/115

Page 255: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Let x(n) = s(n) cos(ω0n), s(n) having a maximumfrequency component (ωm) much lower than ω0:

0 0.5 1 1.5 2 2.5 3 3.5 4−0.5

0

0.5

1

1.5Bandbase signal

t=nT in s−4000 −3000 −2000 −1000 0 1000 2000 3000 4000

0

0.2

0.4

0.6

0.8

1

f in Hz

S(f

)0 0.5 1 1.5 2 2.5 3 3.5 4

−1.5

−1

−0.5

0

0.5

1

1.5Carrier signal

t=nT in s−4000 −3000 −2000 −1000 0 1000 2000 3000 4000

0

0.2

0.4

0.6

0.8

1

f in Hz

0 0.5 1 1.5 2 2.5 3 3.5 4−1.5

−1

−0.5

0

0.5

1

1.5Modulated signal

t=nT in s−4000 −3000 −2000 −1000 0 1000 2000 3000 4000

0

0.2

0.4

0.6

0.8

1

f in Hz

X(f

)

s(n

)co

s(ω0n)

x(n

)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 91/115

Page 256: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If x(n) = s(n)ejω0n, thenx(n)e−jω0τ = s(n)ejω0(n−τ) ≈ x(n− τ) if τ ≪ 1/ωm

Page 257: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If x(n) = s(n)ejω0n, thenx(n)e−jω0τ = s(n)ejω0(n−τ) ≈ x(n− τ) if τ ≪ 1/ωm

But if x(n) = s(n)cos(ω0n), then x(n)e−jω0τ 6= x(n− τ)

Page 258: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If x(n) = s(n)ejω0n, thenx(n)e−jω0τ = s(n)ejω0(n−τ) ≈ x(n− τ) if τ ≪ 1/ωm

But if x(n) = s(n)cos(ω0n), then x(n)e−jω0τ 6= x(n− τ)

We can make

x(n) = s(n)cos(ω0n) =s(n)

2ejω0n

︸ ︷︷ ︸

x+(n)

+s(n)

2e−jω0n

︸ ︷︷ ︸

x−(n)

such that

x(n− τ) ≈ x+e−jω0τ + x−(n)e

+jω0τ = s(n)cos(ω0(n− τ))

Page 259: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If x(n) = s(n)ejω0n, thenx(n)e−jω0τ = s(n)ejω0(n−τ) ≈ x(n− τ) if τ ≪ 1/ωm

But if x(n) = s(n)cos(ω0n), then x(n)e−jω0τ 6= x(n− τ)

We can make

x(n) = s(n)cos(ω0n) =s(n)

2ejω0n

︸ ︷︷ ︸

x+(n)

+s(n)

2e−jω0n

︸ ︷︷ ︸

x−(n)

such that

x(n− τ) ≈ x+e−jω0τ + x−(n)e

+jω0τ = s(n)cos(ω0(n− τ))

· · · but, how to obtain x+(n) or a scaled copy? Usingthe Hilbert Transform xH(n) = HT x(n) where

XH(ejω) =

jX(ejω),−π < ω < 0

X(ejω), ω = 0

−jX(ejω), 0 < ω < π

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 92/115

Page 260: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Knowing thatx(n) = x−(n) + x+(n) = F−1 X−(e

jω) +X+(ejω), we

compute y(n) = x(n) + jxH(n)

Page 261: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Knowing thatx(n) = x−(n) + x+(n) = F−1 X−(e

jω) +X+(ejω), we

compute y(n) = x(n) + jxH(n)

y(n) =

F−1X−(ejω) +X+(e

jω) + j[jX−(ejω)− jX+(e

jω)︸ ︷︷ ︸

XH (ejω)

]

Page 262: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Knowing thatx(n) = x−(n) + x+(n) = F−1 X−(e

jω) +X+(ejω), we

compute y(n) = x(n) + jxH(n)

y(n) =

F−1X−(ejω) +X+(e

jω) + j[jX−(ejω)− jX+(e

jω)︸ ︷︷ ︸

XH (ejω)

]

= F−1X−(ejω) +X+(e

jω)−X−(ejω) +X+(e

jω)

Page 263: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Knowing thatx(n) = x−(n) + x+(n) = F−1 X−(e

jω) +X+(ejω), we

compute y(n) = x(n) + jxH(n)

y(n) =

F−1X−(ejω) +X+(e

jω) + j[jX−(ejω)− jX+(e

jω)︸ ︷︷ ︸

XH (ejω)

]

= F−1X−(ejω) +X+(e

jω)−X−(ejω) +X+(e

jω)

Therefore y(n) = 2F−1X+(ejω) = s(n)ejω0n which is

analytic!

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 93/115

Page 264: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signal Model

Consider xm(t) the signal from the m-th microphone(prior to the A/D converter) corresponding to audiofrom D sources (directions θ1 to θD) plus noise:xm(t) = s1(t− τm(θ1)) + · · · + sD(t− τm(θD)) + nm(t)

Page 265: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signal Model

Consider xm(t) the signal from the m-th microphone(prior to the A/D converter) corresponding to audiofrom D sources (directions θ1 to θD) plus noise:xm(t) = s1(t− τm(θ1)) + · · · + sD(t− τm(θD)) + nm(t)

Assuming τm(θd) = Tτm(θd) in s (τm(θd) in number ofsamples), after the A/D converter and + jHT tomake it an analytic signal, we could writexm(n) = s1(n)e

−jω0τm(θ1)+ · · ·+ sD(n)e−jω0τm(θD)+nm(n)

Page 266: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Signal Model

Consider xm(t) the signal from the m-th microphone(prior to the A/D converter) corresponding to audiofrom D sources (directions θ1 to θD) plus noise:xm(t) = s1(t− τm(θ1)) + · · · + sD(t− τm(θD)) + nm(t)

Assuming τm(θd) = Tτm(θd) in s (τm(θd) in number ofsamples), after the A/D converter and + jHT tomake it an analytic signal, we could writexm(n) = s1(n)e

−jω0τm(θ1)+ · · ·+ sD(n)e−jω0τm(θD)+nm(n)

For an array with M microphones, we would have:

x(n)︸︷︷︸

M×1

= A︸︷︷︸

M×D

s(n)︸︷︷︸

D×1

+n(n)︸︷︷︸

M×1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 94/115

Page 267: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5.1 Signal model

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 95/115

Page 268: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Assume, initially, we have D narrowband signalscoming from unknown directions:

+

+ X

X

+

x1(t)

xM (t)

x1(n)

xM (n)

h∗

1

h∗

M

y(n) = hHx(n)

j

j

HT

HT

A/D

A/Ds1(t)

sD(t)

Page 269: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Assume, initially, we have D narrowband signalscoming from unknown directions:

+

+ X

X

+

x1(t)

xM (t)

x1(n)

xM (n)

h∗

1

h∗

M

y(n) = hHx(n)

j

j

HT

HT

A/D

A/Ds1(t)

sD(t)

x(n) =

e−jω0τ1(θ1)s1(n) + · · ·+ e−jω0τ1(θD)sD(n) + n1(n)

...

e−jω0τM (θ1)s1(n) + · · ·+ e−jω0τM (θD)sD(n) + nM (n)

Page 270: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Assume, initially, we have D narrowband signalscoming from unknown directions:

+

+ X

X

+

x1(t)

xM (t)

x1(n)

xM (n)

h∗

1

h∗

M

y(n) = hHx(n)

j

j

HT

HT

A/D

A/Ds1(t)

sD(t)

x(n) =

e−jω0τ1(θ1)s1(n) + · · ·+ e−jω0τ1(θD)sD(n) + n1(n)

...

e−jω0τM (θ1)s1(n) + · · ·+ e−jω0τM (θD)sD(n) + nM (n)

Such that the output signal can be written as

y(n) = hHx(n) = hH [As(n) + n(n)]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 96/115

Page 271: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If we now assume one single signal, s(n), coming fromdirection θ, thenx(n) = s(n)a(θ) + n(n)

Page 272: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If we now assume one single signal, s(n), coming fromdirection θ, thenx(n) = s(n)a(θ) + n(n)

And the output signal becomesy(n) = hHa(θ)s(n) + hHn(n)

Page 273: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If we now assume one single signal, s(n), coming fromdirection θ, thenx(n) = s(n)a(θ) + n(n)

And the output signal becomesy(n) = hHa(θ)s(n) + hHn(n)

If we make hHa(θ) = 1, the output signal wouldcorrespond to y(n) = s(n) + hHn(n)

︸ ︷︷ ︸

noise

Page 274: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

If we now assume one single signal, s(n), coming fromdirection θ, thenx(n) = s(n)a(θ) + n(n)

And the output signal becomesy(n) = hHa(θ)s(n) + hHn(n)

If we make hHa(θ) = 1, the output signal wouldcorrespond to y(n) = s(n) + hHn(n)

︸ ︷︷ ︸

noise

Also note that E[|y(n)|2] = hHRxh, Rx = E[x(n)xH(n)]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 97/115

Page 275: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5.2 Non-parametric methods: BF (beamforminga.k.a. Delay & Sum) and Capon

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 98/115

Page 276: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

DS DoA

If x(n) were spatially white, i.e. Rx = I, we wouldobtain E[|y(n)|2] = hHh

Page 277: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

DS DoA

If x(n) were spatially white, i.e. Rx = I, we wouldobtain E[|y(n)|2] = hHh

Minimizing E[|y(n)|2] = hHh s.t. hHa(θ) = 1, the result,

Page 278: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

DS DoA

If x(n) were spatially white, i.e. Rx = I, we wouldobtain E[|y(n)|2] = hHh

Minimizing E[|y(n)|2] = hHh s.t. hHa(θ) = 1, the result,after using Lagrange multiplier, taking the gradient,

and equating to zero, is h = a(θ)/M which leads to

E[|y(n)|2] = aH(θ)Rxa(θ)M2

Page 279: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

DS DoA

If x(n) were spatially white, i.e. Rx = I, we wouldobtain E[|y(n)|2] = hHh

Minimizing E[|y(n)|2] = hHh s.t. hHa(θ) = 1, the result,after using Lagrange multiplier, taking the gradient,

and equating to zero, is h = a(θ)/M which leads to

E[|y(n)|2] = aH(θ)Rxa(θ)M2

Omitting factor 1M2 , we estimate the autocorrelation

matrix as Rx = 1N

∑N

n=1 x(n)xH(n) and find the

direction of interest by varying θ and obtaining the

peak in PDS(θ) = aH(θ)Rxa(θ)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 99/115

Page 280: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

CaponIn the method known as Capon, we minimizeE[|y(n)|2] = hHRxh subject to hHa(θ) = 1

Page 281: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

CaponIn the method known as Capon, we minimizeE[|y(n)|2] = hHRxh subject to hHa(θ) = 1

Using Lagrange multiplier, we writeξ = hHRxh+ λ(hHa(θ)− 1), and make ∇hξ = 0 such

that h = R−1x a(θ)

aH(θ)R−1x a(θ)

Page 282: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

CaponIn the method known as Capon, we minimizeE[|y(n)|2] = hHRxh subject to hHa(θ) = 1

Using Lagrange multiplier, we writeξ = hHRxh+ λ(hHa(θ)− 1), and make ∇hξ = 0 such

that h = R−1x a(θ)

aH(θ)R−1x a(θ)

Replacing the above coefficient vector in E[|y(n)|2], weobtain E[|y(n)|2] = 1

aH(θ)R−1x a(θ)

Page 283: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

CaponIn the method known as Capon, we minimizeE[|y(n)|2] = hHRxh subject to hHa(θ) = 1

Using Lagrange multiplier, we writeξ = hHRxh+ λ(hHa(θ)− 1), and make ∇hξ = 0 such

that h = R−1x a(θ)

aH(θ)R−1x a(θ)

Replacing the above coefficient vector in E[|y(n)|2], weobtain E[|y(n)|2] = 1

aH(θ)R−1x a(θ)

Therefore, in the Capon DoA, we estimateRx = 1

N

∑N

n=1 x(n)xH(n) and find the direction of

interest by varying θ and obtaining the peak in

PCAPON (θ) =1

aH(θ)R−1x a(θ)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 100/115

Page 284: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5.3 Eigenvalue-Based DoA

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 101/115

Page 285: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Coming back to the previous model of D sources, wewrite x(n) = As(n) + n(n)

Page 286: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Coming back to the previous model of D sources, wewrite x(n) = As(n) + n(n)

We assume D < M (number of signals lower than thenumber of sensors); this method is known asparametric for we make this assumption

Page 287: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Coming back to the previous model of D sources, wewrite x(n) = As(n) + n(n)

We assume D < M (number of signals lower than thenumber of sensors); this method is known asparametric for we make this assumption

Also note that A is M ×D, s is D × 1, and n(n) isM × 1

Page 288: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Coming back to the previous model of D sources, wewrite x(n) = As(n) + n(n)

We assume D < M (number of signals lower than thenumber of sensors); this method is known asparametric for we make this assumption

Also note that A is M ×D, s is D × 1, and n(n) isM × 1

We then write Rx = E[x(n)xH(n)

]= ARsA

H +Rn,this last matrix becoming Rn = σ2

nI when assumingspatially white noise; Rs is the D ×D autocorrelationmatrix of the signal vector, i.e., E

[s(n)sH(n)

]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 102/115

Page 289: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSICRx = ARsA

H +Rn with D < M implies thatARsA

H is singular (rank D), its determinant is equal tozero and, therefore, det [Rx − σ2

nI] = 0 and σ2n is a

(minimum) eigenvalue with multiplicity M −D

Page 290: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSICRx = ARsA

H +Rn with D < M implies thatARsA

H is singular (rank D), its determinant is equal tozero and, therefore, det [Rx − σ2

nI] = 0 and σ2n is a

(minimum) eigenvalue with multiplicity M −D

Spectral decomposition of matrix Rx: vector em beingan eigenvector of Rx means that Rxem = λmem.Collecting all eigenvectors in matrix E, we may writeRxE = EΛ = [e1 · · · eM ]diag [λ1 · · · λM ]⇒ Rx = EΛEH

Page 291: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSICRx = ARsA

H +Rn with D < M implies thatARsA

H is singular (rank D), its determinant is equal tozero and, therefore, det [Rx − σ2

nI] = 0 and σ2n is a

(minimum) eigenvalue with multiplicity M −D

Spectral decomposition of matrix Rx: vector em beingan eigenvector of Rx means that Rxem = λmem.Collecting all eigenvectors in matrix E, we may writeRxE = EΛ = [e1 · · · eM ]diag [λ1 · · · λM ]⇒ Rx = EΛEH

Dividing matrix E in two parts, the first D columns andthe last N =M −D columns, we have:E = [e1 · · · eD

︸ ︷︷ ︸

ES

eD+1 · · · eM︸ ︷︷ ︸

EN

] = [ES EN ]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 103/115

Page 292: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Noting that EEH = I, we can write ESEHS +ENE

HN = I

Page 293: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Noting that EEH = I, we can write ESEHS +ENE

HN = I

The columns of ES span the D-dimensional signalsubspace while the columns of EN span theN -dimensional noise subspace

Page 294: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Noting that EEH = I, we can write ESEHS +ENE

HN = I

The columns of ES span the D-dimensional signalsubspace while the columns of EN span theN -dimensional noise subspace

A vector in the signal subspace is a linear combinationof the columns of ES. An example:∑D

d=1 xded = ESx,x = [x1 · · · xD]T

Page 295: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

Noting that EEH = I, we can write ESEHS +ENE

HN = I

The columns of ES span the D-dimensional signalsubspace while the columns of EN span theN -dimensional noise subspace

A vector in the signal subspace is a linear combinationof the columns of ES. An example:∑D

d=1 xded = ESx,x = [x1 · · · xD]T

We can find the distance d from a vector v to the signalsubspace ES by obtaining x that minimizesd = |v −ESx|; the result is d2 = vHENE

HNv

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 104/115

Page 296: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

The squared distance from vector a(θ) to the signalsubspace (spanned by ES) is d2 = aH(θ)ENE

HNa(θ)

Page 297: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

The squared distance from vector a(θ) to the signalsubspace (spanned by ES) is d2 = aH(θ)ENE

HNa(θ)

When θ belongs to θ1 · · · θD, this distance should beclose to zero

Page 298: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

The squared distance from vector a(θ) to the signalsubspace (spanned by ES) is d2 = aH(θ)ENE

HNa(θ)

When θ belongs to θ1 · · · θD, this distance should beclose to zero

Its inverse will present peaks. In algorithm MUSIC, weestimate D from the eigenvalues of Rx; from itseigenvectors, we form ES and EN , and by varying θ,we shall find peaks in the directions of θ1 to θD in

PMUSIC(θ) =1

d2a(θ)

=1

aH(θ)ENEHNa(θ)

Page 299: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

MUSIC

The squared distance from vector a(θ) to the signalsubspace (spanned by ES) is d2 = aH(θ)ENE

HNa(θ)

When θ belongs to θ1 · · · θD, this distance should beclose to zero

Its inverse will present peaks. In algorithm MUSIC, weestimate D from the eigenvalues of Rx; from itseigenvectors, we form ES and EN , and by varying θ,we shall find peaks in the directions of θ1 to θD in

PMUSIC(θ) =1

d2a(θ)

=1

aH(θ)ENEHNa(θ)

If RS is required, we computeRS =

(AHA

)−1AH (Rx − σ2

nI)A(AHA

)−1

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 105/115

Page 300: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

5.4 GCC-Based DoA

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 106/115

Page 301: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCM microphones of an array are inpositions p1 to pM :

ECM 800

x

y

zMic 1 positioned at p1

2

3

4

5

6

M = 7

−u

θ

φ

Page 302: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCM microphones of an array are inpositions p1 to pM :

ECM 800

x

y

zMic 1 positioned at p1

2

3

4

5

6

M = 7

−u

θ

φ

−u: unit vector in thedirection of propagation

Page 303: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCM microphones of an array are inpositions p1 to pM :

ECM 800

x

y

zMic 1 positioned at p1

2

3

4

5

6

M = 7

−u

θ

φ

−u: unit vector in thedirection of propagation

θ: grazing angle(π2

- elevation angle)

Page 304: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCM microphones of an array are inpositions p1 to pM :

ECM 800

x

y

zMic 1 positioned at p1

2

3

4

5

6

M = 7

−u

θ

φ

−u: unit vector in thedirection of propagation

θ: grazing angle(π2

- elevation angle)

φ: horizontal angle(azimuth)

Page 305: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCM microphones of an array are inpositions p1 to pM :

ECM 800

x

y

zMic 1 positioned at p1

2

3

4

5

6

M = 7

−u

θ

φ

−u: unit vector in thedirection of propagation

θ: grazing angle(π2

- elevation angle)

φ: horizontal angle(azimuth)

u =

sin θ cosφ

sin θ sinφ

cos θ

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 107/115

Page 306: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWe are interested in the TDoAbetween mics m and l

WAVEFRONT

pm

plu dml

Page 307: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWe are interested in the TDoAbetween mics m and l

WAVEFRONT

pm

plu dml

Note that dml = uT (pm − pl︸ ︷︷ ︸

∆pml

)

Page 308: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWe are interested in the TDoAbetween mics m and l

WAVEFRONT

pm

plu dml

Note that dml = uT (pm − pl︸ ︷︷ ︸

∆pml

)

TDoA:τml =

dml

vsound= τmlT = τml

fs

Page 309: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWe are interested in the TDoAbetween mics m and l

WAVEFRONT

pm

plu dml

Note that dml = uT (pm − pl︸ ︷︷ ︸

∆pml

)

TDoA:τml =

dml

vsound= τmlT = τml

fs

τml (in number of samples)is to be obtained fromthe peak of rxmxl

(τ)

Page 310: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWe are interested in the TDoAbetween mics m and l

WAVEFRONT

pm

plu dml

Note that dml = uT (pm − pl︸ ︷︷ ︸

∆pml

)

TDoA:τml =

dml

vsound= τmlT = τml

fs

τml (in number of samples)is to be obtained fromthe peak of rxmxl

(τ)

rxmxl(τ) = E[xm(n)xl(n− τ)]

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 108/115

Page 311: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWhen the sound frontwave firsthits microphone m (τml < 0):

0 20 40 60 80 100−5

0

5

0 20 40 60 80 100−5

0

5

−50 0 50−50

0

50

n

n

τ

xm(n

)xl(n

)rxm

xl(τ

)

Page 312: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCWhen the sound frontwave firsthits microphone m (τml < 0):

0 20 40 60 80 100−5

0

5

0 20 40 60 80 100−5

0

5

−50 0 50−50

0

50

n

n

τ

xm(n

)xl(n

)rxm

xl(τ

)

When it first hitsmic l (τml > 0):

0 20 40 60 80 100−5

0

5

0 20 40 60 80 100−5

0

5

−50 0 50−20

0

20

n

n

τ

xm(n

)xl(n

)rxm

xl(τ

)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 109/115

Page 313: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCAn estimate for the correlation can be given as:rxmxl

(τ) =∑∞

−∞ xm(n)xl(n− τ) = xm(τ) ∗ xl(−τ)

Page 314: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCAn estimate for the correlation can be given as:rxmxl

(τ) =∑∞

−∞ xm(n)xl(n− τ) = xm(τ) ∗ xl(−τ)

The cross-power spectrum density (CPSD):Rxmxl

(ejω) = Fxm(τ) ∗ xl(−τ) = Xm(ejω)Xl(e

−jω)

Page 315: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCAn estimate for the correlation can be given as:rxmxl

(τ) =∑∞

−∞ xm(n)xl(n− τ) = xm(τ) ∗ xl(−τ)

The cross-power spectrum density (CPSD):Rxmxl

(ejω) = Fxm(τ) ∗ xl(−τ) = Xm(ejω)Xl(e

−jω)

We may assume the modelxm(n) = s(n) ∗ hm(n) + nm(n) and similarly for xl(n)

Page 316: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCAn estimate for the correlation can be given as:rxmxl

(τ) =∑∞

−∞ xm(n)xl(n− τ) = xm(τ) ∗ xl(−τ)

The cross-power spectrum density (CPSD):Rxmxl

(ejω) = Fxm(τ) ∗ xl(−τ) = Xm(ejω)Xl(e

−jω)

We may assume the modelxm(n) = s(n) ∗ hm(n) + nm(n) and similarly for xl(n)

Hence, considering very small additive error and realsequences, we findRxmxl

(ejω) ≈ |S(ejω)|2Hm(ejω)H∗

l (ejω) and

rxmxl(τ) ≈ 1

∫ π

−πHm(e

jω)H∗l (e

jω)Rs(ejω)ejωτdω

Page 317: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCAn estimate for the correlation can be given as:rxmxl

(τ) =∑∞

−∞ xm(n)xl(n− τ) = xm(τ) ∗ xl(−τ)

The cross-power spectrum density (CPSD):Rxmxl

(ejω) = Fxm(τ) ∗ xl(−τ) = Xm(ejω)Xl(e

−jω)

We may assume the modelxm(n) = s(n) ∗ hm(n) + nm(n) and similarly for xl(n)

Hence, considering very small additive error and realsequences, we findRxmxl

(ejω) ≈ |S(ejω)|2Hm(ejω)H∗

l (ejω) and

rxmxl(τ) ≈ 1

∫ π

−πHm(e

jω)H∗l (e

jω)Rs(ejω)ejωτdω

Which motivates the GCC:

rGxmxl(τ) =

1

∫ π

−π

ψ(ω)Rxmxl(ejω)ejωτdω

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 110/115

Page 318: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCTypes of ψ(ω)

Classical cross-correlation:ψ(ω) = 1

Page 319: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCTypes of ψ(ω)

Classical cross-correlation:ψ(ω) = 1

Maximum Likelihood (ML):

ψ(ω) = |Xm(ejω)|||Xl(ejω)|

Rnn(ejω)Rxm (ejω)+Rnl

(ejω)Rxl(ejω)

Page 320: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCTypes of ψ(ω)

Classical cross-correlation:ψ(ω) = 1

Maximum Likelihood (ML):

ψ(ω) = |Xm(ejω)|||Xl(ejω)|

Rnn(ejω)Rxm (ejω)+Rnl

(ejω)Rxl(ejω)

Rxm(ejω) = |Xm(e

jω)|2

Rxl(ejω) = |Xl(e

jω)|2

Rnm(ejω) = |Nm(e

jω)|2 (estimated during silence interval)

Rnl(ejω) = |Nl(e

jω)|2 (estimated during silence interval)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 111/115

Page 321: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCPHAT (Phase Transform):ψ(ω) = 1

|Rxmxl(ejω)

|

Page 322: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCPHAT (Phase Transform):ψ(ω) = 1

|Rxmxl(ejω)

|

Replacing this function in the expression of rGxmxl(τ):

rPHATxmxl

(τ) = 12π

∫ π

−π

Rxmxl(ejω)

|Rxmxl(ejω)|

ejωτdω in which,

after making Rxmxl(ejω) = |S(ejω)|2Hm(e

jω)H∗l (e

jω),we have rPHAT

xmxl(τ) = 1

∫ π

−πej(∢Hm−∢Hl+ωπ)dω

Page 323: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

GCCPHAT (Phase Transform):ψ(ω) = 1

|Rxmxl(ejω)

|

Replacing this function in the expression of rGxmxl(τ):

rPHATxmxl

(τ) = 12π

∫ π

−π

Rxmxl(ejω)

|Rxmxl(ejω)|

ejωτdω in which,

after making Rxmxl(ejω) = |S(ejω)|2Hm(e

jω)H∗l (e

jω),we have rPHAT

xmxl(τ) = 1

∫ π

−πej(∢Hm−∢Hl+ωπ)dω

For the PHAT, in case of havinghm(n) = αmδ(n) and hl(n) = αlδ(n−∆τ),the cross-correlation would berPHATxmxl

(τ) = δ(τ +∆τ) ⇒ peak in τml = −∆τ

(a perfect indication of a temporal delay!)

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 112/115

Page 324: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LS solutionAssuming we have all possible(M(M − 1)/2) delays τml, we want angles φ and θ

Page 325: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LS solutionAssuming we have all possible(M(M − 1)/2) delays τml, we want angles φ and θ

We define a cost function:

ξ =(τ12 −∆pT

12u)2

+ · · · +(

τ(M−1)M −∆pT(M−1)Mu

)2

with τml = τml/fs and ∆pml = (pm − pl)/vsound

Page 326: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LS solutionAssuming we have all possible(M(M − 1)/2) delays τml, we want angles φ and θ

We define a cost function:

ξ =(τ12 −∆pT

12u)2

+ · · · +(

τ(M−1)M −∆pT(M−1)Mu

)2

with τml = τml/fs and ∆pml = (pm − pl)/vsound

We then find u that minimizes ξ by making ∇uξ = 0:

Au = b

where A = ∆p12∆pT12 + · · · +∆p(M−1)M∆pT

(M−1)M

and b = τ12∆p12 + · · · + τ(M−1)M∆p(M−1)M

Page 327: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

LS solutionAssuming we have all possible(M(M − 1)/2) delays τml, we want angles φ and θ

We define a cost function:

ξ =(τ12 −∆pT

12u)2

+ · · · +(

τ(M−1)M −∆pT(M−1)Mu

)2

with τml = τml/fs and ∆pml = (pm − pl)/vsound

We then find u that minimizes ξ by making ∇uξ = 0:

Au = b

where A = ∆p12∆pT12 + · · · +∆p(M−1)M∆pT

(M−1)M

and b = τ12∆p12 + · · · + τ(M−1)M∆p(M−1)M

And this unit vector is given as u =

uxuyuz

= A−1b

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 113/115

Page 328: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Azimuth and elevation

Knowing u and also the fact that it corresponds to

sin θ cosφ

sin θ sinφ

cos θ

, · · ·

Page 329: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Azimuth and elevation

Knowing u and also the fact that it corresponds to

sin θ cosφ

sin θ sinφ

cos θ

, · · ·

· · · we compute the azimuth:

φ = arctanuyux

Page 330: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Azimuth and elevation

Knowing u and also the fact that it corresponds to

sin θ cosφ

sin θ sinφ

cos θ

, · · ·

· · · we compute the azimuth:

φ = arctanuyux

And the elevation:

elevation = 90 − θ = 90 − arccosuz

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 114/115

Page 331: Microphone-Array Signal Processingaquarius.ime.eb.br/~apolin/MicArray/sbrt_11_minicurso_ALL.pdf · Microphone-Array Signal Processing Jose A. Apolin´ ario Jr. and Marcello L. R

Last slide ,

Thank you!

Microphone-Array Signal Processing, c©Apolinarioi & Campos – p. 115/115