Beamforming Channel 8 (Microphone array)


Hello everyone,
I am just getting started with Matrix creator and I would like to know what is the Beamforming Channel 8 in the microphone array.
I would also like to know what are the values in the .raw files when we run micarray_recorder demo (from the demos in matrix-creator-hal)? Are they the values of intensity of sound?


Hi @Shreya,

The channel 8 is created merging all the 8 microphones (0-7) audio into a a single one.
Also the values in the raw files are PCM audio data, you can think of each values as a intensity in time. You can convert the recorded files from raw to wav using sox software as follows:

sudo apt-get install sox alsa-utils
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_0.raw channel_0.wav

Please see detailed steps here

Let me know how it goes



Hello Yoel,

           You answered my question . Thanks.

We are working on a project where we are trying to obtain an acoustic image from the matrix creator.
By acoustic image I mean an image which maps 2D space around the microphone array where each point corresponds to the probability of finding a sound source at that point.
Could you give us some ideas on how that can be done?

Currently we are trying to use the .raw files provided by matrix and are using packages provided by acoular for creating the acoustic image . However , we are not getting the desired results . I guess we are missing something. Could you comment on our approach?



Hi, I haven’t got any experience of using the acoular packages but they look interesting!

However, unless you understand how the algorithms are actually working you will have problems fully implementing and seeing where you’ve gone wrong. I suggest Matlab / Simulink if you are familiar with this? A simple delay sum / filter sum beamforming process shouldn’t be too difficult to accomplish.

While summing the signals together (as with the output of mic 8) does indeed produce a beamforming effect, in terms of a circular array this has little use for direction of arrival (DOA) estimation as there is no clear overall lobes in the spatial spectrum as seen below in the beamforming response for the Matrix Creator dimensions. Sorry I didn’t label the axis!! 0-400 is the azimuthal angle (i.e. over 360 degs), 0-10k is the frequency (i.e. calculated for a Nyquist frequency of 8kHz, given the 16kHz sampling freq) and 0-100 the dB level.

Even if this method were used for a linear array, where a major lobe would generally be formed (frequency and mic element distance dependent) the direction of the lobe would need to be ‘steered’ by at least delaying the individual signals before summation.

Hope this help!