Using ADAU1772 for microphone beamforming

Document created by BrettG on Oct 1, 2012
Version 1Show Document
  • View in full screen mode

We used an ADAU1772 to create a simple microphone beamforming application, with two omnidirectional ADMP504 MEMS microphones mounted in an endfire configuration.


While the ADAU1772 has no delay cells in its library, you can still create delay by using IIR filters and manually setting the coefficients to create delay paths. Setting coefficient B2 to 1 (and all other coefficients set to 0) creates a delay path of 2 samples, whereas setting coefficient B1 to 1 (and all other coefficients set to 0) creates a delay path of 1 sample.


Using the attached Excel sheet to perform the calculations, we calculated that a total of 12 IIR filters are required to generate a delay appropriate for a microphone spacing of 42 mm.


Distance between microphones (mm)42
Speed of sound (mm per sample @ 48 kHz)7
Speed of sound (mm per sample @ 192 kHz)1.75
Samples to cover microphone distance @ 192 kHz24
IIR Filters with B2 = 1 required to produce delay12


The following project was created to realize the signal flow. The first 11 filters have IIR coefficients set with B2=1 and all other coefficients set to 0.


2012.10.01 16.01.14.jpg

The very last filter serves as a delay and an inverter, with B2 set to -1 instead of 1.


Reference materials:

Microphone Beamforming Application Note

ADMP504 MEMS Microphone Datasheet

ADAU1772 Datasheet

2 people found this helpful