world leader in high performance signal processing
This version (18 Jan 2013 21:51) was approved by JeradL.The Previously approved version (16 Jan 2013 21:40) is available.Diff

Microphone Beamforming Simulation Tool


Version 1.0

Microphone Beamforming Simulation Tool Screenshot

This tool simulates the directional and frequency responses of two-microphone endfire or broadside microphone arrays. This software tool may be best-used as an interactive companion to application note AN-1140: Microphone Array Beamforming. You can use this to simulate an array’s performance before building hardware and implementing the beamforming algorithm in a processor.

Downloading and Installing

Requirements:

  • Windows PC
  • Matlab or Matlab Compiler Runtime (R2012a or newer)

The Microphone Beamforming Array tool can be downloaded here:

Before the .exe can be run, you must either have Matlab installed on your PC or download and install the free Matlab Compiler Runtime (MCR). You can download the appropriate (Window 32- or 64-bit) MCR from the Mathworks site at http://www.mathworks.com/products/compiler/mcr/index.html. The beamforming64.zip and beamforming32.zip files both include an executable file and a readme.txt. The .exe can be unzipped and run directly; no installation is required.

Array Configurations

This tool can simulate the response of a differential endfire array or a broadside summing array.

Endfire

Endfire array configuration

For an endfire array, there are four design parameters that affect the displayed responses.

  • Frequency: In hertz, this is the frequency for which the directional response and frequency response are displayed.
  • Distance: In mm, the spacing between the two microphones (“d” in the figure above)
  • fs: In kHz, the sampling frequency of the DSP.
  • Delay: The number of samples of delay applied to the signal from the rear microphone in the array. (“n” in the figure above)
Broadside

Broadside array configuration

For a broadside array, there are two design parameters that affect the displayed responses.

  • Frequency: In hertz, this is the frequency for which the directional response and frequency response are displayed.
  • Distance: In mm, the spacing between the two microphones (“d” in the figure above)

Frequency Response Settings

The frequency response plot has three controls to adjust what is displayed.

  • Lower Frequency: In hertz, the lower limit of the plot.
  • Upper Frequency: In hertz, the upper limit of the plot.
  • Incident Angle: In degrees, the angle of the sound source relative to the array. Zero degrees is the “front” of the array or “on-axis”.

Hold Current Plot(s)

Checking this box will keep all currently-displayed polar and frequency responses and display new responses on top. This can be useful to display how the array’s directional response changes across the frequency range, or how the frequency response of the array changes with different incident angles. A new plot will be displayed after you enter a new value into one of the “Array Settings” fields. Up to five plots will be displayed with different line colors before the colors are re-used. The line colors are used in this order and cannot be changed: blue, red, green, cyan, magenta. After unchecking the “Hold Current Plot(s)” box, the color of the next plot will reset to blue.

Questions, Comments, Suggestions

Feel free to provide any feedback on this tool in the Audio community at Analog Devices EngineerZone. Further details on microphone array beamforming can be found in application note AN-1140.