1. Sound source localization using Beamforming Microphone Arrays

Introduction

Project Implementation

For the implementation in our project, we propose to use the Matrix creator, a powerful accessory for the Raspberry Pi by Matric Labs. The Matrix creator integrates a number of sensors: Temperature sensor, Humidity sensor, Ultraviolet sensor, Pressure sensor, 3D Accelerometer, 3D Gyroscope,3D Magnetometer along with an 8 MEMS Microphone array which we would use for Sound Localization. The Matrix Creator comes with its own MATRIX OS for Raspberry Pi, which provides some easy to use APIs in JavaScript for interacting with all the various sensors on board.

Matrix

Microphone Array on Matrix Creator

Source: https://matrix-io.github.io/matrix-documentation/

HAL is the lowest-level abstraction for the MATRIX Creator. It provides C++ drivers for sensors and the FPGA and microcontrollers on the MATRIX device.

Matrix Geometry

The matrix creator provides a circular array of 8 omnidirectional microphones. (Data sheet: MP34DB02 - MEMS audio sensor omnidirectional digital microphone)

Installing matrix creator microphone array software packages

The Acoular package takes in the multi-channel audio samples in Hierarchical Data format (.hd5). The .raw data provided by the Matrix is converted into .h5 format and input to the beamforming functions of acoular. The following results were obtained.

Installing Acoular packages on a Linux Machine

Beamforming results on simulated data:

The acoular library provides some utilities to simulate sources of sound in the absence of an actual experimental setup. It generates the sound pressure time histories for all channels of the microphone array in a hierarchical data file (HDF5) format if the location of the sound sources w.r.t the centre of the microphone array is given.

The sources location: (0.1,0.1) (-0.1,-0.1) (0.1,-0.1) Simulation Results

Beamforming results on audio samples collected from Matrix:

The beamforming functions were then applied to the sound samples collected from Matrix after converting the .raw files into .h5 files . Acoular Results

Audio Samples from Matrix in HD5 format

Audio_Samples The figure above shows the mics (along the columns) and their normalized intensities (along the rows) . This is input to the beamforming functions.

Literature Review

Many variations of algorithms using a microphone array for source localization in the near field as well as direction-of arrival (DOA) estimation in the far field have been proposed [2]. Many of these techniques involve a relative time-delay estimation step that is followed by a least squares fit to the source’s direction of arrival, or in the near-field case, a least squares fit to the source location [3,4]. [5] demonstrates the localization of sound via the cross bearing from several widely separated arrays. In the case of multiple sources, an alternating projection procedure has been applied to determine the Maximum Likelihood estimate of the Direction of Arrivals from the observed data.