A. Farina, A. Capra
Università di Parma
Strategie Tecnologiche
Centro Ricerche e Innovazione Tecnologica
MICROPHONES ARRAYS
General Approach
• Whatever theory or method is chosen, we always start with N microphones, providing N signals x
i, and we derive from them M signals y
j• And, in any case, each of these M outputs can be expressed by:
i N
1 i
ij
j h x
y
processor N inputs
M outputs
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-calculated filters
i N
1 i
ij
j
h x
y
x1(t) x2(t) x3(t) x4(t)
yj(t)
Traditional approaches
• The processing filters h
ijare usually computed following one of several, complex mathematical
theories, based on the solution of the wave equation (often under certaing simplifications), and assuming that the microphones are ideal and identical
• In some implementations, the signal of each
microphone is processed through a digital filter for
compensating its deviation, at the expense of heavier
computational load
Novel approach
• No theory is assumed: the set of h
ijfilters are derived directly from a set of impulse response measurements, designed according to a least-squares principle.
• In practice, a matrix of filtering coefficients, is formed, and the matrix has to be numerically inverted (usually employing some regularization technique).
• This way, the outputs of the microphone array are maximally close to the ideal responses prescribed
• This method also inherently corrects for transducer deviations and acoustical artifacts (shielding,
diffractions, reflections, etc.)
The microphone array impulse responses ck,i , are measured for a number of P incoming directions.
…we get the filters to be applied to the
microphonic signals from processing the matrix of measured impulse responses
N , P N
, k N
, 2 N
, 1
i, P i,
k i,
2 i,
1
2 , P 2
, k 2
, 2 2
, 1
1 , P 1
, k 1
, 2 1
, 1
c c
c c
c c
c c
c c
c c
c c
c c
C
i=1…N mikes k=1…P sources
cki
Example: synthesizing 0-order shape
Example: synthesizing 0-order shape
N 1
i ,i0 P i,
N 1 i
i, k 0
,i N
1
i ,i0 2 i, N
1 i
i, 1 0
,i
c h
...
c h
...
c h
c h
We design the filters in such a way that the response of the system is the prescribed theoretical function vk for the k-th source (an unit-amplitude Dirac’s Delta function in the case of the example, as the 0th-order
function is omnidirectional).
So we set up a linear equation system of P equations, imposing that:
Lets call vk the right-hand vector of known results (they will be different for higher-order shapes).
Once this matrix of N inverse filters are computed (for example, employing the Nelson/Kirkeby
method), the output of the microphone array, synthesizing the prescribed 0th-order shape, will again be simply:
N1 i
0 ,i i
0
x h
y
• For computing the matrix of N filtering coefficients h
i0, a least-squares method is employed.
• A “total squared error”
totis defined as:
P
1 k
2 k N
1 i
ki 0
i
tot h c v
• A set of N linear equations is formed by minimising
tot, imposing that:
) N ...
1 i
( h i 0 0
tot
System’s least-squares inversion
System’s least-squares inversion
• For computing the matrix of N filtering coefficients h
ik, a least-squares method is employed.
• A “total squared error”
totis defined as:
P1 k
2 k N
1 i
ki iK
tot
h c v
• A set of N linear equations is formed by minimising
tot, imposing that:
) N ...
1 i
( h
iK0
tot
Kirkeby’s regularization
• During the computation of the inverse filter, usually operated in the frequency domain, one usually finds expressions
requiring to compute a ratio between complex spectra ( H=A/D ).
• Computing the reciprocal of the denominator D is generally not trivial, as the inverse of a complex, mixed-phase signal is generally unstable.
• The Nelson/Kirkeby regularization method is usually employed for this task:
Conj D D
D InvD Conj
InvD A
H
Spectral shape of the regularization parameter
• At very low and very high frequencies it is advisable to increase the value of .
H
L
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
The R.A.I. project
• “Virtual” microphones with high directivity, controlled by a joystick in order to follow in realtime actors on the stage. They should be capable to modify their directivity in a sort of
“acoustical zoom”.
• Surround recordings with microphones that can be modified (directivity, angle, gain, ecc..) in post-production.
AIMS:
R.A.I. state of art
• The Holophone H2 Pro is a microphone system equipped with 8 capsules placed on a egg-shaped framework. The audio signals are delivered directly in G-format or using an audio mixer.
• The directivity of each Holophone capsule was measured in the
Anechoic Room of “Università’ di
Ferrara” (Italy)
Holophone polar patterns
HOLOPHONE PROBLEMS:
• Directivity and angles between single capsules are not changeable in post-processing.
• There isn’t enough separation between sources because of the
low directivity of the capsules. For this reason the probe should
be placed very close to the scene that is object of recordins
Acoustical measurements on Eigenmike
TM• Sine-sweep technique was used in order to obtain a flat response for the full-range coaxial woofer.
In this step a Bruel&Kjaer microphone was used.
• With the Inversion Technique of Kirkeby we obtained a filter that should be applied to the sine- sweep.
(1
ststep: source optimization)
Acoustical measurements on Eigenmike
TM(2
ndstep: planar measurements)
• A framework was assembled in order to have the center of rotation in axis with the center of the probe. This
framework was placed on a rotating table controlled by the audio soundcard.
• Sine-sweep technique was used in order to
obtain 32 impulse responses of the capsules
for every angle step (72 step = 5°)
Acoustical measurements on Eigenmike
TM(3
rdstep: 3D measurements)
• A second framework was assembled in order to have the capability of a 2
ndorder of freedom in the rotation of the probe. Also this framework was placed on a
rotating table controlled by the audio soundcard.
Angular step = 10° Enough for 4
thorder
Complete rotation of elevation…
… for every step
of azimuth
PROBLEM: the rotation of azimuth is made by hand. This could cause little movements off the rotation center of elevation. This could cause bad results in terms of phase coherence with a non perfect reconstruction of the sound field.
Movements of the acoustical center of the probe in relation to the source, varying the angle of the rotation table
[mm][samples] Estimation of the number of samples
optimal for tha compensation of the error
[mm]
Position of the rotating table [°]
RESULT: the variation is reduced to 2 mm. This small error becomes relevant for frequencies higher then 170 kHz.
BEFORE AFTER
Processing of the measurements
SOFTWARE: we used a script in Matlab to derive the directivity of the single capsule of the probe and to implement the “multi-channel Kirkeby Inversion”
Directivity of capsules
Synthesis of directivities
InvD A
H
From Kirkeby’s formula we have a matrix of filters (H) to apply to the 32 capsule signals in rder to obtain the desired signal. The desired signal is “forced” by the target function (A).
Omni microphone with our processing
Second order cardioid
“EM32 VST”
Second order cardioid
“multichannel Kirkeby Inversion”
Third order cardioid
“EM32 VST”
Third order cardioid
“multichannel Kirkeby Inversion”
4th order cardioid
“multichannel Kirkeby Inversion”
6th order cardioid
“multichannel Kirkeby Inversion”
Spherical Harmonics
The real-time microphone system
Pointing GUI for the virtual microphones
• Moving the joystick the corrispondent pointer moves
• The pointer increases its dimensions in relation to the directivty
Linear array
• 16 omnidirectional mikes mounted on a 1.2m aluminium beam, with exponential 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
Linear array - calibration
• The array was mounted on a rotating table, outdoor
• A Mackie HR24 loudspeaker was used
• A set of 72 impulse responses was measured employing Aurora plugins under Adobe Audition (log sweep method) - the sound card controls the rotating table.
• The inverse filters were designed with the local approach (separate inversion of the 16 on-axis responses, employing Aurora’s “Kirkeby4” plugin)
Linear array - polar plots
8000 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 2530
35 40
45 50
55 60
65 70
75 80 85 90 95 100 105 110 115 120 125 130 135 140 150145 160155 170165 175 180 190185 200195 210205 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285
290 295
300 305
310
315320325330335340345350355
250 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 2530
3540 45
50 55
60 65
70 75
80 85 90 95 100 105 110 115 120 125 130 135 145140 155150 165160 175170 180 190185 200195 210205 220215 225 230 235 240 245 250 255 260 265 270 275 280 285
290 295
300 305
310
315320325330335340345350355
500 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 25
3035 40
45 50
55 60
65 70
75 80 85 90 95 100 105 110 115 120 125 130 135 140 150145 160155 170165 175 180 190185 200195 205 215210 220 225 230 235 240 245 250 255 260 265 270 275 280 285
290 295
300 305
310 315
320
325330335340 345350 355
1000 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 25
3035 40
45 50
55 60
65 70
75 80 85 90 95 100 105 110 115 120 125 130 135 140 150145 160155 170165 175 180 190185 200195 205 215210 220 225 230 235 240 245 250 255 260 265 270 275 280 285
290 295
300 305
310 315
320
325330335340 345350 355
2000 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 25
3035 40
45 50
55 60
65 70
75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 160155 170165 175 180 190185 200195 205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285
290 295
300 305
310 315
320
325330335340 345350 355
4000 Hz
-30 -25 -20 -15 -10 -5 0 0
5 10 1520 2530
35 40
45 50
55 60
65 70
75 80 85 90 95 100 105 110 115 120 125 130 135 140 150145 160155 170165 175 180 190185 200195 210205 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290
295 300
305 310
315320325330335340345350355
Linear array - practical usage
• The array was mounted on an X-Y scanning apparatus
• a Polytec laser vibrometer is mounted along the array
• The system is used for mapping the velocity and sound pressure along a thin board of “resonance” wood (Abete della val di Fiemme, the wood employed for building high-quality musical instruments)
• A National Instruments board controls the step motors through a Labview interface
• The system is currently in usage at IVALSA (CNR laboratory on wood, San Michele all’Adige, Trento, Italy)
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 spectrum of either radiated pressure, vibration velocity, or of their product (which provides an estimate of the radiated sound power)
-A colour map of the radiated pressure or of the vibration velocity at each resonance frequency of the board
Linear array - test results (small loudspeaker)
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
2 5 0 H z
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
5 0 0 H z
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
1 0 0 0 H z
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
2 0 0 0 H z
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
4 0 0 0 H z
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
- 5 0 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 2 0 3 0 4 0 5 0
8 0 0 0 H z
Linear array - test results (rectangular wood panel)
0 1 0 2 0 3 0 4 0 5 0
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
4 6 8 H z
0 1 0 2 0 3 0 4 0 5 0
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
4 6 9 H z
0 1 0 2 0 3 0 4 0 5 0
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
1 3 5 9 H z
0 1 0 2 0 3 0 4 0 5 0
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
1 3 1 2 H z
SPL (dB) velocity (m/s) SPL (dB) velocity (m/s)
Planar array (“acoustic camera”)
• 24 omnidirectional mikes
mounted on a 1m square foldable wooden baffle with an optimized random disposition (new version with 32 Bruel&Kjaer
microphones)
• 24 channels acquisition system:
Behringer A/D converters + RME Hammerfall digital audio card
• Filters calculation, off-line processing and visualization with MATLAB
Circular array vs. Random array
The optimal randomized positions were found by running 10000 Matlab simulations, and chosing the one providing the better peak-to-noise ratio
Simulated matrix inversion - 3 kHz
Beamforming vs. Inverse filters
Random Array - Matrix inversion - 1 kHz
Effect of the regularization parameter
= 0.01 = 0.1
Random Array - Matrix Inversion - 5 kHz
Indoor application (source localisation)
• The array is equipped with a webcam
• The filtering process discriminates each
spherical wave (Tr’k(t)) coming by the pixels of a virtual screen placed on the plane where machine 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 is
matched and superimposed to the webcam image
Outdoor application
•
The array is placed behind a noise barrier
• The colour map of the SPL
shows the leakage under the
barrier
Real time processing: work on progress
MATRIX CONVOLUTION
32-channels inputs
, 1
hn k H C
M-channels output
MAPS ARRAY
Virtual Microphone with high directivity
BROADCAST