Beamforming
IV
Implementation R&D/Technology People Consulting Contact 

This page presents R&D activities on microphone array and beamforming. Most of the theoretical aspects in section II are well known and can be easily found in the literature [1] [2]. They are reported here for information and physical interpretations purposes. Section III presents many simulations of arrays with different geometries and microphones. Section IV reports the implementation of a microphone array with low cost electret microphones, preamplifiers and a USB Data Acquisition Card. Different algorithms are tested on recordings of speech in a noisy environment. This page is updated regularly. Dr. Stephane D. 26 February 2008. I. Microphone arrays  Generalities Microphone ArraysA microphone array is a set of microphones spatially distributed at known positions acting as a “spatial sampler”. The array microphones output signals can be “combined” (beamforming) so that the array achieves better directionality than a single microphone. This property makes microphone arrays interesting in telephony, either to improve speech intelligibility by reducing reverberation, or by improving the transmit quality in a noisy environment or by improving full duplex handsfree operation by reducing the loudspeaker feedback. The performance of an array such as directivity, beamwidth, signal to ambient noise ratio, depends a lot upon its geometry, the number and type of microphones (omnidirectional, cardioids…) and the beamforming technique. Operating frequency range without spatial aliasing is linked to the intermicrophone distance and geometry (this will be discussed in the simulations section).
Beamforming consists of combining the microphones output signals. They are convolved with optimal weighting filters (gain, delay) and added to get a “beam” in a direction of specific interest. This beam makes the array a highly directive microphone. The direction of interest will be called “look direction”. It can be the direction of an acoustic source in a noisy and/or reverberant environment for example. The
array can be used to track a moving acoustic source or point to the
source of higher energy in real time. Adaptive
beamforming
in this case optimal weighting to point and form a beam in the look
direction is performed in real time as the signal is captured and
stored in a buffer. Algorithms may account for the real noise
environment and is more adapted in moving acoustic source tracking or
for eliminating noise coming suddenly from a specific direction.
Figure I: Example of beam former – Array with N microphones d(w)=_{}total
pressure at each microphone (Transfer function)
d_{0}(w)=_{}pressure
at microphone induced by the source ("look direction") (Transfer
Function). Notations: {
}: column vector < >: row
vector w^{H}: w
conjugate transpose d’: d transpose
w^{H}d:
hermitian product k’.r:
dot product (real) In all sections, the matrices, vectors and scalars dependence upon the frequency is omitted for clarity purposes. Hence, vectors d, n, w stand for d(w),n(w), w(w). MATRICES
(uppercase) and vectors (lower case) are in bold fonts, scalars
(lower case) are in normal fonts. Assuming a point source, i.e. an acoustic monopole, the transfer function d_{0}(w) is such that: _{}_{
(BI.1)}
_{} where R_{i}_{ }is the Euclidian distance between the source and the i^{th} microphone position in a coordinates system Oxyz, k the wavenumber k=w/c, Q the strength of the source (TF> Q=1 N/m). This source model is referred as “near field source”. Formula corresponds to a solution of the acoustic wave equation in freefield. Assuming a farfield source, d_{0} can be represented by the effect of a plane wave of amplitude A, d_{0}’=A< e^{ik.r1} e^{ik.r2} ……… e^{ik.rN} > (TF > A= 1 N/m^{2}) (BI.2) k being the wave vector pointing to the origin of the coordinates systems Oxyz (O= origin of the plane wave phase), r_{N} the vector of microphone N coordinates in the same Oxyz coordinates systems. Note: A plane wave is not a solution of the wave equation in free field but it is a practical model for describing the pressure field of an acoustic monopole that would be far (straight wavefronts) from the system under study. II. Beam Forming – Theoretical aspectsA few beamforming techniques are presented in this section. The list is far from being exhaustive. All of these techniques are based on easy optimization methods and basic linear algebra. Let’s consider the beamformer in figure I. In the approaches presented below we will assume that the ambient noise n is not correlated to the sound source. This means that the algorithm will not “deal” with the sound source signal reflections by walls for example although it can help in reducing reverberation perception. In the same way the system noise h_{i} at each microphone is uncorrelated to the signal and system noise at other microphones. For
all channels, we will assume h_{i}
as a white noise with the same standard deviation s
(constant with frequency) so that the system noise coherence matrix is
defined by: G_{hh}(w)= E(h^{2})= s^{ 2}I (BI.3) G_{nn} (w)=G_{nn }=E(n^{2}) (BI.4) II.1
Delay and Sum In
the frequency domain the optimal weight vector w_{opt}
is simply a multiple of d_{0}:
w_{opt}=a d_{0}
(a
scalar). For
a gain of 1 in the look direction i.e. w^{H}_{opt
}d_{0}=1
the optimal weight vector is: w_{opt}=(1/_{N})
d_{0}
Why “delay”? w_{opt}
can be seen as a “phase shifter”. Rewriting k=
(w/_{}c) n where
n
is a unity vector pointing to 0,
and c is the speed of sound, the dot products n.r_{i} are
constant, hence the phase terms Q_{i}=(w/c) n.r_{i}
vary
linearly with w,
which corresponds to a pure delay in the time domain (the delay being
the slope of the phase vs. frequency curve). Intermicrophones
delays can be found by moving the plane wave phase origin 0 to
the position of one of the microphone in the array. If the reference is
the first microphone position r_{1}:
d_{0}’=<1 e^{i(}^{w/c)n.(r2r1)} ……… e^{ i(}^{w /c) n.(rNr1)}>/ e^{i(}^{w /c)n.r1) } (BI.6) “Intermicrophones”
delays t_{i}
are given by: t_{i}=^{ }n.(r_{i } r_{1})/c for
a plane wave travelling at c m/s. Note:
A pure delay (linear phase) will appear only if the array is in free
field or lying on an infinite rigid plane. If
the array is several cm above a rigid plane, or around a diffracting
shape, there is no reason why the phase is still linear vs. the
frequency. In this case only delaying and summing the signals may prove
inefficient and may even likely induce beam “mispointing” in some
circumstances! These
aspects will be discussed in the simulations section.
Superdirective
approaches are different from the delay and sum technique. The
determination of optimal weighting filters relies on the definition of
a noise field. Superdirective approaches produce optimal weights
having variable amplitude and phase vs. frequency. It achieves strong
directivity through individual microphone signals gain
modification and group delay and may degrade the
signal to “system noise” ratio. In fixed beamforming the noise coherence matrix can
either be build independently of the environment where the array sits
by considering a model of noise field (spherical isotropic noise for
example), or by measuring the noise characteristics in the environment.
The construction of the noise matrix G_{nn} influences the shape of the beam patterns. The
optimization process consists of minimizing the array output noise
power (excluding unwanted part of the signals i.e. reflections as
mentioned previously) by maintaining the gain in the look
direction. MVDR beamformer
One solution is to set the look direction to be unity
gain, called the minimumvariance distortionless response (MVDR)
beamformer. That is,
_{ }subject to_{ }_{ }_{ (BI.7)} _{ }The optimum weights vector w_{opt}_{} is: _{ }_{ } _{(BI.8)} _{ } _{ }At low frequencies, when the acoustic wavelength is much larger than the array, G_{nn} is illconditioned. Since the array samples a small part of the wavelength, only small variations in phase and amplitude occur and the microphones “see” redundant information. This makes the matrix G_{nn} almost singular. A small positive number m regularises the matrix and makes its inversion stable. _{ }_{}_{ } (BI.9) _{ }The introduction of this positive number on the matrix
diagonal trades off low frequency directivity for improved White Noise
Gain (see definition below). Adding a positive is similar to adding a quadratic constraint to the optimisation problem. Let’s assume that w_{opt} is such as the system noise power is constrained at a certain value a (>0):_{} _{ }_{wHGhh w≤a (BI.10)} _{ }For m=a/s^{2} equation () more closely models a real system with
maximum system noise. The suboptimal weighting will allow better
SNR at the expense of array directivity. Note that in the same way this kind of regularisation
makes the beamformer more “resistant” to microphone mismatch
particularly at low frequencies (frequent phase and amplitude deviation
for low cost microphones)._{ }
_{ }
_{} (BI.11) _{ }Thus, if WNG >1 the array gives less noise than a
single sensor. A delay and sum beam former is one where the WNG is
optimised by making G_{vv}=I. (this is effectively the same as maximising
the gain (G)
by making w^{H}w=I). With w=d0/N,
WNG
= N. The delay and sum beamformer improves N times the system noise compared to a single microphone. _{} _{ }LCMVLS Beamformer_{ } _{ }LeastSquares  Linearly Constrained Minimum Variance
Beamformer is a generalization of the MVDR algorithm. A set of
linear constraints is added to optimisation problem (BI.7). Such
constraints can be used to impose: a null in a given direction… of the loudspeaker in a telephone or conference unit constant beamwidth over the microphone array operating frequency range as beampatterns depend on frequency
symmetrical beams
for particular geometries or look
directions.
Assuming a set
of i ( i={1,2,…M}) (M<N)
linear constraints:
(BI.12)
subject to:
(BI.13)
where C is a rectangular matrix defined
by:
(BI.14) and g is a vector defined
by:
(BI.15) The optimal weight vector w_{op}_{t} under these
conditions is given
by:
(BI.16)
If C=d_{0} and g=1 we are back to the MVDR.
_{ }
II.3 Array CharacteristicsIndependently of the beamforming technique reported above, the following parameters are required for characterizing the performance of the array. Signal
to Noise Ratio
Ability
of the
array to improve or degrade the SNR (here the noise refers to the
system noise h).
It can be compared to the SNR of a single microphone.
_{ }
(BI.17)Array
Gain
The
array gain
measures the improvement of the SNR (here noise refers to “ambient” or
“interference
noise” n,
not the system noise !!) of the
array over a single microphone only.
_{ }
