This is the landing page for a term project in a mobile computing course at The University of Texas at Austin.
This project investigates the practicality and reliability of acoustic modulator-demodulators (modems) for digital mobile device-to-device communication. The Wiki page includes a full report of the motivation for the project, related works, and experiments.
Acoustic modems have found a niche in underwater communication systems, but have received very little attention in the context of aerial communications. As mobile devices, like smartphones and tablets, become more powerful and capable of performing sophisticated computing it’s worthwhile to explore the use of an acoustic channel for inter-device communications. Sound exhibits some unique characteristics that may make it advantageous over higher frequency media (e.g., Bluetooth, WiFi, cellular) for applications that can desire localized device-to-device communication and do not require high bit rates.
This project employs two existing acoustic modems that were developed as part of the Digital Voices project. The first is a “pentatonic” sounding codec, which is publicly available on the Digital Voices GitHub repository. The second is a “cricket” sounding codec, which was implemented on Android as part of this project. The cricket codec’s source code has been added to the Digital Voices GitHub repository and can be found there.
This project includes a distributed “collaborative” Android application that uses an acoustic modem based the pentatonic codec available on the Digital Voices GitHub repository. The application uses an acoustic modem to broadcast an ASCII string. A listening device that does not receive the correct broadcast message will signal for help, at which point another device with the correct broadcast will autonomously assist the device in need. This continues until all devices have correctly received the broadcast message. The application includes some drop-in forward error correction and CRC tools.