Chapter 12. Sound Direction Detection: An Advanced Example

In this chapter, we will use seven microphones, six evenly spaced around a circle with one in the middle, to capture an audio sample and calculate the different directions the sound comes from. In this project, we will push the Mojo’s FPGA fairly close to its limits in terms of design size. This will serve as an example for some digital signal processing (DSP), using an FSM to save resources, and a handful of other tricks that you may find useful in your own designs.

Unlike previous chapters, this chapter serves as more of an explanation of the full project rather than a step-by-step walk-through of designing it yourself.

This project also requires specialized hardware, the Microphone Shield, shown in Figure 12-1. This shield has recently been released, and is available online.

Microphone Shield
Figure 12-1. Microphone Shield

Theory of Operation

The idea is that we will record a short sample of audio from all seven microphones at exactly the same time. We can then use this to calculate the delay between the microphones and use that to detect the direction of the sound.

We need to make a few assumptions about the sound the shield will be detecting. The first is that all sound comes from the sides and not from above or below. This is required because we have only a 2D grid of microphones. Second, the sound waves have a straight wavefront. ...

Get Learning FPGAs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.