Microphone-Array Signal Processing - Instituto Militar de

89
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/30

Transcript of Microphone-Array Signal Processing - Instituto Militar de

Page 1: Microphone-Array Signal Processing - Instituto Militar de

Microphone-Array Signal Processing

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

{apolin }, {mcampos}@ieee.org

IME − Lab. Processamento Digital de Sinais

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

Page 2: Microphone-Array Signal Processing - Instituto Militar de

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/30

Page 3: Microphone-Array Signal Processing - Instituto Militar de

3. Optimal Beamforming

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

Page 4: Microphone-Array Signal Processing - Instituto Militar de

3.1 Introduction

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

Page 5: Microphone-Array Signal Processing - Instituto Militar de

Introduction

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

Page 6: Microphone-Array Signal Processing - Instituto Militar de

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 7: Microphone-Array Signal Processing - Instituto Militar de

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 8: Microphone-Array Signal Processing - Instituto Militar de

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. 5/30

Page 9: Microphone-Array Signal Processing - Instituto Militar de

3.2 Optimal Beamformers

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

Page 10: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

Snapshot model in the frequency domain:

Page 11: Microphone-Array Signal Processing - Instituto Militar de

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−1

2to M−1

2if odd and from −M

2to M

2− 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 12: Microphone-Array Signal Processing - Instituto Militar de

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−1

2to M−1

2if odd and from −M

2to M

2− 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. 7/30

Page 13: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

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

Page 14: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

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

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

Page 15: Microphone-Array Signal Processing - Instituto Militar de

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 16: Microphone-Array Signal Processing - Instituto Militar de

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. 8/30

Page 17: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

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

Page 18: Microphone-Array Signal Processing - Instituto Militar de

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 19: Microphone-Array Signal Processing - Instituto Militar de

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 20: Microphone-Array Signal Processing - Instituto Militar de

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. 9/30

Page 21: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

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

Yω ( )ω( )ω

XW

H( )

Page 22: Microphone-Array Signal Processing - Instituto Militar de

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. 10/30

Page 23: Microphone-Array Signal Processing - Instituto Militar de

MVDR Beamformer

In the presence of noise, we have:

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

Page 24: Microphone-Array Signal Processing - Instituto Militar de

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. 11/30

Page 25: Microphone-Array Signal Processing - Instituto Militar de

MVDR BeamformerIn the MVDR beamformer, we want to minimize

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

Page 26: Microphone-Array Signal Processing - Instituto Militar de

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 27: Microphone-Array Signal Processing - Instituto Militar de

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−1

n where Λs =[vHS−1

n v]−1

Page 28: Microphone-Array Signal Processing - Instituto Militar de

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−1

n where Λs =[vHS−1

n v]−1

This result is referred to as MVDR or CaponBeamformer.

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

Page 29: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

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

∇wξ =

∂ξ

∂w0

∂ξ

∂w1

...∂ξ

∂wN−1

Page 30: Microphone-Array Signal Processing - Instituto Militar de

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 31: Microphone-Array Signal Processing - Instituto Militar de

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 32: Microphone-Array Signal Processing - Instituto Militar de

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. 13/30

Page 33: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

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

Page 34: Microphone-Array Signal Processing - Instituto Militar de

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 35: Microphone-Array Signal Processing - Instituto Militar de

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 36: Microphone-Array Signal Processing - Instituto Militar de

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

= 1

2

∂∂a0

− j ∂∂b0

∂∂a1

− j ∂∂b1

...∂

∂aN−1

− j ∂∂bN−1

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

Page 37: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 1

2

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1

+ j ∂∂bN−1

Page 38: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 1

2

∂∂a0

+ j ∂∂b0

∂∂a1

+ j ∂∂b1

...∂

∂aN−1

+ j ∂∂bN−1

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

∂w∗.

Page 39: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 1

2

∂∂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 40: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

The conjugate derivative with respect to w is

∂∂w∗

= 1

2

∂∂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)] = E{e∗(k)[∇we(k)] + e(k)[∇we∗(k)]}

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

Page 41: Microphone-Array Signal Processing - Instituto Militar de

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 42: Microphone-Array Signal Processing - Instituto Militar de

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 43: Microphone-Array Signal Processing - Instituto Militar de

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

Page 44: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

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

Page 45: Microphone-Array Signal Processing - Instituto Militar de

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 46: Microphone-Array Signal Processing - Instituto Militar de

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 47: Microphone-Array Signal Processing - Instituto Militar de

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. 17/30

Page 48: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CH

w − f ] +LTI Im[CH

w − f ]

Page 49: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CH

w − f ] +LTI Im[CH

w − 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 50: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

Using Lagrange multipliers, we form

ξ(k) = E[e(k)e∗(k)] +LTRRe[CH

w − f ] +LTI Im[CH

w − 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. 18/30

Page 51: Microphone-Array Signal Processing - Instituto Militar de

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 52: Microphone-Array Signal Processing - Instituto Militar de

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 = 1

2R−1(2p−CL)

Page 53: Microphone-Array Signal Processing - Instituto Militar de

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 = 1

2R−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 54: Microphone-Array Signal Processing - Instituto Militar de

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 = 1

2R−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. 19/30

Page 55: Microphone-Array Signal Processing - Instituto Militar de

Constrained Optimal Filtering

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

Page 56: Microphone-Array Signal Processing - Instituto Militar de

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 57: Microphone-Array Signal Processing - Instituto Militar de

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 58: Microphone-Array Signal Processing - Instituto Militar de

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 59: Microphone-Array Signal Processing - Instituto Militar de

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. 20/30

Page 60: Microphone-Array Signal Processing - Instituto Militar de

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 61: Microphone-Array Signal Processing - Instituto Militar de

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 62: Microphone-Array Signal Processing - Instituto Militar de

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 63: Microphone-Array Signal Processing - Instituto Militar de

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. 21/30

Page 64: Microphone-Array Signal Processing - Instituto Militar de

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. 22/30

Page 65: Microphone-Array Signal Processing - Instituto Militar de

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 66: Microphone-Array Signal Processing - Instituto Militar de

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 67: Microphone-Array Signal Processing - Instituto Militar de

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 68: Microphone-Array Signal Processing - Instituto Militar de

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. 23/30

Page 69: Microphone-Array Signal Processing - Instituto Militar de

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 70: Microphone-Array Signal Processing - Instituto Militar de

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 71: Microphone-Array Signal Processing - Instituto Militar de

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 72: Microphone-Array Signal Processing - Instituto Militar de

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. 24/30

Page 73: Microphone-Array Signal Processing - Instituto Militar de

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 74: Microphone-Array Signal Processing - Instituto Militar de

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 75: Microphone-Array Signal Processing - Instituto Militar de

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. 25/30

Page 76: Microphone-Array Signal Processing - Instituto Militar de

The GSC

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

Page 77: Microphone-Array Signal Processing - Instituto Militar de

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 78: Microphone-Array Signal Processing - Instituto Militar de

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 79: Microphone-Array Signal Processing - Instituto Militar de

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. 26/30

Page 80: Microphone-Array Signal Processing - Instituto Militar de

The GSC

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

Page 81: Microphone-Array Signal Processing - Instituto Militar de

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. 27/30

Page 82: Microphone-Array Signal Processing - Instituto Militar de

The GSC

And the second possibility (non-orthogonal) is:

Page 83: Microphone-Array Signal Processing - Instituto Militar de

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. 28/30

Page 84: Microphone-Array Signal Processing - Instituto Militar de

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 85: Microphone-Array Signal Processing - Instituto Militar de

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. 29/30

Page 86: Microphone-Array Signal Processing - Instituto Militar de

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 87: Microphone-Array Signal Processing - Instituto Militar de

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 88: Microphone-Array Signal Processing - Instituto Militar de

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 89: Microphone-Array Signal Processing - Instituto Militar de

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