An important goal of many multi-mic sound capture devices is to provide a directional signal to noise ratio improvement, while consuming as little power as possible. Acoustic Beamforming of signals in the audible hearing range (20 Hz to 20kHz), requires a time domain fractional delay FIR filter applied to each microphone. However, the microphone array can be designed in such a way that the computational complexity (i.e. power consumption) required for applying a filter is not needed. We will describe how this can be done with the uniformed centered circular microphone array imaged below. The angles between all of the microphones are 60 degrees.

The green dashed lines represent the plane wave impinging the array arriving from an angle of 0 degrees. The distance between sequential lines is the same. For a given sampling rate, we can make the size of the array such that the sample delay between the microphones is an integer number. With an integer delay, a fractional delay filter is no longer required to align the microphone signals.

The distance the sound wave travels between two microphones is:

$d\ =\ \sqrt{{((x_i-x_j)\cdot c o s(\theta))}^2+{((y_i-y_j)\cdot s i n(\theta))}^2}$

Given $\theta=0$, this simplifies to $d\ =\ (x_i-x_j)$. The equation for the sample delay is:

$delay_{sample} =\ \frac{d\cdot f_s}{c}$

Where f_s, the sampling frequency and c is the speed of sound. To find the distance that would produce an integer delay for a given sampling frequency, we can solve for d.

$d = \frac{{delay}_{sample}\cdot c}{f_s}$

Since all of the angles between the microphones are 60 degrees, the beam can be steered (or rotated) by 60 degrees and we can still use an integer delay buffer to apply the beamformer. This microphone array design provides a computationally efficient steerable and rotationally invariant beamforming solution.

VOCAL Technologies offers custom designed solutions for microphone array beamforming with a robust voice activity detection, acoustic echo cancellation and noise suppression. Our custom implementations of such systems are meant to deliver optimum performance for your specific beamforming task.