This was my Senior design project at Carnegie Mellon, a phased array of microphones which I called “Sonicam”. This blog was largely taken from the project logs submitted as part of the class.
I chose this project almost entirely as an excuse to mess around with phased arrays, which is something I’ve wanted to do for a while.
This project took daily work for ~4 months and was rudely interrupted by the start of the pandemic, but still succeeded well beyond what I’d hoped at the start. At this point, I consider the project completed, though I may extend it at some point in the future.
These posts were originally on the school-operated website ( http://course.ece.cmu.edu/~ece500/projects/s20-teame0/ ) I copied only my own portion of the project here, since the point of this site is to demonstrate my own experience and skills. To see my partners contributions as well, look at the original blog.
Sonicam is a tool to visualize sound as images. Similar to the way a thermal camera shows heat, this shows a “heatmap” of the location and relative intensity of different sound sources. It uses a phased array of MEMS microphones and an FPGA to capture the sound, and a computer to process it.
Minimum of 16 horizontal by 8 vertical zones (pixels) in the output image
Final Result: The final software stack was capable of making images of significantly higher resolutions, typically 256 x 128 in real-time, and arbitrary resolutions when post-processed.
The device must be able to present an output image within 30 seconds of capturing audio
Final Result: The final software stack was able to present usable images within an average of 265mS from capture, enabling effective real-time use.
The device must be capable of receiving and processing sounds from 1KHz to 10KHz, within an accuracy of +/- 6dB
Final Result: Due to the pandemic, we were unable to access test equipment to verify the amplitude calibration. Our original requirement to test this was thus relaxed to verification by analysis only, instead of by testing.
The device must be not exceed dimensions of 4′ x 4′ x 1′, and 10kg (not including the laptop used to process the data), in order to remain reasonably portable. This requirement was later tightened to 2′ x 2′ x 1′ and 3kg, to improve portability.
Final Result: The final device came in well within these requirement, under 2kg and 17″ x 15″ x 7.5″. The array itself was only 12″ x 8″, the main driver of size and weight was the case we used, which was intentionally oversized to allow for design changes.