Advanced beamforming techniques with microphone...

37
Advanced beamforming techniques with microphone arrays A. Farina, S. Fontana, P. Martignon, A. Capra, C. Chiari Industrial Engineering Dept., University of Parma, Italy

Transcript of Advanced beamforming techniques with microphone...

Page 1: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Advanced beamforming techniques with microphone arrays

A. Farina, S. Fontana, P. Martignon, A. Capra, C. ChiariIndustrial Engineering Dept., University of Parma, Italy

Page 2: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

General Approach

• Whatever theory or method is chosen, wealways start with N microphones, providing N signals xi, and we derive from them M signals yj

• And, in any case, each of these M outputs can be expressed by:

i

N

1iijj xhy ∑

=

⊗=

processor

N inputsM outputs

Page 3: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Microphone arrays: target, processing

Is the time-domain sampled waveform of a wave with well defined spatial characteristics, for example:

• a spherical wave centered in a precise emission point Psource• a plane wave with a certain direction • a spherical harmonic referred to a receiver point Prec

Pre-calculatedfilters

i

N

1iijj xhy ∑

=

⊗=

x3(t)

x4(t)

yj(t)

x1(t)

x2(t)

Page 4: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Traditional approaches

• The processing filters hij are usually computedfollowing one of several, complex mathematicaltheories, based on the solution of the waveequation (often under certaing simplifications), and assuming that the microphones are idealand identical

• In some implementations, the signal of eachmicrophone is processed through a digital filterfor compensating its deviation, at the expense ofheavier computational load

Page 5: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Novel approach• No theory is assumed: the set of hij filters are

derived directly from a set of impulse responsemeasurements, designed according to a least-squares principle.

• In practice, a matrix of filtering coefficients, isformed, and the matrix has to be numericallyinverted (usually employing some regularizationtechnique).

• This way, the outputs of the microphone array are maximally close to the ideal responses prescribed

• This method also inherently corrects fortransducer deviations and acoustical artifacts(shielding, diffractions, reflections, etc.)

Page 6: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Example: focusing a point sourceConsidering all the ck,i , that is the hypothetic response of the ithmic in presence of the kth spherical wave (coming from point source k, among P possible point sources), fed with a Diracimpulse, and putting into a matrix…

…we get the filters needed for the processing from the matrix inversion:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

N,PN,kN,2N,1

i,Pi,ki,2i,1

2,P2,k2,22,1

1,P1,k1,21,1

cccccccccccccccc

C

C1Hh k,i ==

Page 7: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Example: focusing a point source

δ=⊗ i,kk,i ch

There are two strategies for designing the inverse matrix: local and general.With local strategy, we take into account separately the kth set of responses, and we are not worried about how the system will respond to the other P possible sources. So we can invert separately each of these N responses, so that:

(Dirac’s delta function)

Once these N inverse filters are computed (for example, employing the Nelson/Kirkeby method), the output of the microphone array, focused on the kth point source, will be simply:

k,NNk,22k,11k hx....hxhxy ⊗++⊗+⊗=

Page 8: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Example: focusing a point source

0ch

.......

ch

.......

0ch

0ch

N

1ii,PK,i

N

1ii,kK,i

N

1ii,2K,i

N

1ii,1K,i

=⊗

δ=⊗

=⊗

=⊗

=

=

=

=

With global strategy, we design the filters in such a way that the response of the system is a Dirac’s delta function for source K, and is zero for all the other P-1 source positions. So we set up a linear equation system of P equations, imposing that:

Lets call vk the right-hand vector of known results.Once this matrix of N inverse filters are computed (for example, employing the Nelson/Kirkeby method), the output of the microphone array, focused on the K point source, will again be simply:

∑=

⊗=N

1iK,iiK hxy

Page 9: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

System’s least-squares inversion• For computing the matrix of N filtering coefficients

hik, a least-squares method is employed.• A “total squared error” εtot is defined as:

( )∑ ∑= =

⎥⎦

⎤⎢⎣

⎡−⊗=ε

P

1k

2

k

N

1ikiiKtot vch

• A set of N linear equations is formed by minimisingεtot, imposing that:

)N...1i(0hiK

tot ==∂

ε∂

Page 10: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Kirkeby’s regularization• During the computation of the inverse filter, usually

operated in the frequency domain, one usually findsexpressions requiring to compute a ratio betweencomplex spectra (H=A/D).

• Computing the reciprocal of the denominator D isgenerally not trivial, as the inverse of a complex, mixed-phase signal is generally unstable.

• The Nelson/Kirkeby regularization method is usuallyemployed for this task:

( ) ( )[ ]( )[ ] ( ) ( )ωε+ω⋅ω

ω=ω

DDConjDConjInvD

InvDAH ⋅=

Page 11: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Spectral shape of the regularizationparameter ε(ω)

• At very low and very high frequencies it isadvisable to increase the value of ε.

εH

εL

Page 12: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Critical aspects• LOW frequencies: wavelength longer than array width - no

phase difference between mikes - local approach provide low spatial resolution (single, large lobe) - global approach simply fails (the linear system becomes singular)

• MID frequencies: wavelength comparable with array width-with local approach secondary lobes arise in spherical or plane wave detection (negligible if the total bandwidth is sufficiently wide) - the global approach works fine, suppressing the side lobes, and providing a narrow spot.

• HIGH frequencies: wavelength is shorter than twice the average mike spacing (Nyquist limit) - spatial undersampling - spatial aliasing effects – random disposition of microphones can help the local approach to still provide some meaningful result - the global approach fails again

Page 13: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array• 16 omnidirectional mikes mountedon a 1.2m aluminium beam, withexponential spacing

• 16 channels acquisition system: 2 Behringer A/D converters + RME Hammerfall digital sound card

• Sound recording with Adobe Audition• Filter calculation, off-line processing and visualization with Aurora plugins

Page 14: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - calibration• The array was mounted on a rotating table, outdoor• A Mackie HR24 loudspeakerwas used• A set of 72 impulse responseswas measured employingAurora plugins under Adobe Audition (log sweep method) -the sound card controls the rotating table.• The inverse filters weredesigned with the local approach(separate inversion of the 16 on-axis responses, employingAurora’s “Kirkeby4” plugin)

Page 15: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - polar plots

8000 Hz

-30

-25

-20

-15

-10

-5

0

05 10 15 20

2530

3540

4550

5560

65

70

75

80

85

90

95

100

105

110

115120

125130

135140

145150

155160165170175

180185190195200

205210

215220

225230

235240

245

250

255

260

265

270

275

280

285

290

295300

305310

315320

325330

335340345350 355

250 Hz

-30

-25

-20

-15

-10

-5

00

5 10 15 2025

3035

4045

5055

60

657075

80

85

90

95

100

105110

115

120125

130135

140145

150155

160165170175180

185190195200205

210215

220225

230235

240

245250

255

260

265

270

275

280

285290

295

300305

310315

320325

330335

340345350 355

500 Hz

-30

-25

-20

-15

-10

-5

0

05 10 15 20

2530

3540

4550

55

60

65

70

75

80

85

90

95

100

105

110

115

120

125

130135

140145

150155

160165170175180

185190195200205

210215

220225

230

235

240

245

250

255

260

265

270

275

280

285

290

295

300

305

310315

320325

330335

340 345 350 355

1000 Hz

-30

-25

-20

-15

-10

-5

0

05 10 15 20

2530

3540

4550

55

60

65

70

75

80

85

90

95

100

105

110

115

120

125

130135

140145

150155

160165170175180

185190195200205

210215

220225

230

235

240

245

250

255

260

265

270

275

280

285

290

295

300

305

310315

320325

330335

340 345 350 355

2000 Hz

-30

-25

-20

-15

-10

-5

0

05 10 15 20

2530

3540

4550

55

60

65

70

75

80

85

90

95

100

105

110

115

120

125

130135

140145

150155

160165170175180

185190195200205

210215

220225

230

235

240

245

250

255

260

265

270

275

280

285

290

295

300

305

310315

320325

330335

340 345 350 355

4000 Hz

-30

-25

-20

-15

-10

-5

0

05 10 15 20

2530

3540

4550

5560

6570

75

80

85

90

95

100

105

110115

120125

130135

140145

150155

160165170175180

185190195200205

210215

220225

230235

240

245250

255

260

265

270

275

280

285

290295

300305

310315

320325

330335

340345350 355

Page 16: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - practical usage• The array was mounted on anX-Y scanning apparatus• a Polytec laser vibrometer ismounted along the array• The system is used formapping the velocity and sound pressure along a thin board of“resonance” wood (Abete della val di Fiemme, the woodemployed for building high-quality musical instruments)• A National Instruments boardcontrols the step motors througha Labview interface• The system is currently in usage at IVALSA (CNR laboratory on wood, San Michele all’Adige, Trento, Italy)

Page 17: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - practical usage• The wood panel is excited by a small piezoelectric transducer• When scanning a wood panel, two types of results are obtained:• A spatially-averaged spectrumof either radiated pressure, vibration velocity, or of theirproduct (which provides anestimate of the radiated sound power)• A colour map of the radiatedpressure or of the vibrationvelocity at each resonancefrequency of the board

Page 18: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - test results (small loudspeaker)

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

250 Hz

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

500 Hz

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

1000 Hz

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

2000 Hz

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

4000 Hz

-50 -40 -30 -20 -10 0 10 20 30 40 50-50

-40

-30

-20

-10

0

10

20

30

40

50

8000 Hz

Page 19: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Linear array - test results (rectangular wood panel)

0 10 20 30 40 500

10

20

30

40

50

60

70

80

468 Hz

0 10 20 30 40 500

10

20

30

40

50

60

70

80

469 Hz

0 10 20 30 40 500

10

20

30

40

50

60

70

80

1359 Hz

0 10 20 30 40 500

10

20

30

40

50

60

70

80

1312 Hz

SPL (dB) velocity (m/s) SPL (dB) velocity (m/s)

Page 20: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Planar array (“acoustic camera”)• 24 omnidirectional mikesmounted on a 1m square foldablewooden baffle with an optimizedrandom disposition

• 24 channels acquisition system: Behringer A/D converters + RME Hammerfall digital audio card

• Filters calculation, off-line processing and visualization with MATLAB

Page 21: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Random array vs. Circular array

Page 22: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Circular array vs. Random array

The optimal randomized positions were found by running10000 Matlab simulations, and chosing the one providing the better peak-to-noise ratio

Simulated matrix inversion - 3 kHz

Page 23: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Beamforming vs. Inverse filtersRandom Array - Matrix inversion - 1 kHz

Page 24: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Effect of the regularizationparameter

ε = 0.01 ε = 0.1

Random Array - Matrix Inversion - 5 kHz

Page 25: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Indoor application (source localisation)• The array is equipped with a webcam

• The filtering process discriminates eachspherical wave (Tr’k(t)) coming by the pixels ofa virtual screen placed on the plane wheremachine to be tested lyes

•At each pixel is associated the A-weighted equivalent level(LAeq, in dB) of each soundtrack extracted

•The dB(A) color map ismatched and superimposed tothe webcam image

Page 26: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Outdoor application• The array is placed behind a noise barrier• The colour map of the SPL shows the leakage under the barrier

Page 27: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Real time processing: work on progress

,1

n kh H C= =

VST Host:Audiomulch, Bidule, MaxMSP

“X-volver”: VST Plugin

24-channels inputs

,1

n kh H C= =

M-channels output

MAP

ARRAY

Page 28: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

“X-volver” VST plugin

1 ou

tput

16 inputs

Page 29: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

3D arrays

• DPA-4 A-formatmicrophone

• 4 closely-spaced cardioids• A set of 4x4 filters is

required for getting B-format signals

• Global approach forminimizing errors over the whole sphere

Page 30: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

IR measurements on the DPA-4

84 IRs were measured, uniformlyscattered around a sphere

Page 31: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Computation of the inverse filters

• A set of 16 inverse filters is required(4 inputs, 4 outputs)

• For any of the 84 measured directions, a theoretical response can be computed for eachof the 4 output channels (W,X,Y,Z)

• So 84x4=336 conditions can be set:

W,kZ,44Z,33Z,22Z,11

Y,kY,44Y,33Y,22Y,11

X,kX,44X,33X,22X,11

W,kW,44W,33W,22W,11

outhchchchcouthchchchcouthchchchc

outhchchchc

=⊗+⊗+⊗+⊗

=⊗+⊗+⊗+⊗

=⊗+⊗+⊗+⊗

=⊗+⊗+⊗+⊗

k = 1...84

Page 32: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Real-time implementation

4 ou

tput

s

4 inputs

Page 33: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Microphone comparison• 2 crossed Neumann K-140 were compared with a

pair of virtual cardioids derived from B-formatsignals, recorded either with a Soundfield ST-250 and with the new DPA-4

Page 34: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Sound samples

• The new DPA-4 outperforms the Soundfield in terms ofstereo separation and frequency response, and isindistinguishable from the “reference” Neumanncardioids

DPA-4 Soundfield

Page 35: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Conclusions• The numerical approach to array

processing does not require complexmathematical theories

• The quality of the processing FIR filtersdepends strongly on the quality of the impulse response measurements

• The method allows for the usage ofimperfect arrays, with low-qualitytransducers and irregular geometry

• A new fast convolver has been developedfor real-time applications

Page 36: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Future developements• A new 24-microphones array is being

assembled, employing 24 high quality B&K4188 microphones

The goal is to record wide-band, high-quality 3°-order Ambisonics signals, whichrequires a set of 24x16 filters

Page 37: Advanced beamforming techniques with microphone arrays160.78.24.2/Public/Presentations/Farina-JES2006.pdf · 2010-11-12 · Advanced beamforming techniques with microphone arrays

Future developements

• The Multivolver VST plugin will be improved (Intel IPP 5.0 FFT subroutines, multithread, rebufferingfor employing larger FFT blocks even when the host block is limited)

• Fast switching of the set of impulse responses willbe added, with MIDI control of the running set (forhead-tracking, or realtime spatialisation simulatingmovement of sources or receivers)

• A new standalone program will be developed forspeeding up the computation of the sets of inverse filters (the actual Matlab implementation is veryslow and unfriendly)