Acoustics Based Localization
πΊ Location: Indian Institute of Science (IISc), Bangalore, India
π
Duration: March 2019 - February 2020
π° Funded by: Boeing
π©βπ« Guided by: Prof. Chandramani Singh and Prof. TV Prabhakar
Objective Link to heading
To develop an application that maps the physical location of multiple wireless end devices (with embedded miniature microphones) by using audio signals from two rows of individually addressable speakers.
Work Done Link to heading
During pre-boarding checks in an aircraft articles/assets such as safety vests are checked to be in place in the aircraft cabin. The task was to automate this process by leveraging the cabin announcement speakers. Four speakers were connected to a nRF52840 development board and programmed to beep in a sequence. A custom embedded board using Nordic nRF52840 microcontroller was designed and developed in my lab with four ADC inputs. A Microphone was connected to it. The node was programmed to measure the time between audio pulses arriving from different speakers. Such nodes were placed under the seats in a mock aircraft cabin setup to test various localization algorithms to detect whether under-seat life safety vests are in their place.
Localization Algorithms Simulated in MATLAB Link to heading
- RSS-based spherical intersection (3D lateration)
- TDoA-based spherical intersection
- TDoA-based angle estimation
Fingerprinting Time Difference of Arrival (TDoA) Link to heading
It was observed that a complex space like an aircraft cabin has no direct path between the speakers and microphones for sound to travel. This makes accurate measurement of the time between the arrival of beeps very difficult with the need to develop complicated algorithms. Our solution is low compute and energy efficient. We fingerprint the TDoA of sound from different speakers and use KNN algorithm to determine the location of a node.
Demonstration Link to heading
The sequence of steps involved in localizing the node can be seen in the video below. A smartphone running an Android application sends a command to the speaker controller board using BLE. The speakers beep successively. The nodes measure the time difference between the arrival of these beeps. The time information is communicated back to the smartphone. The application runs the KNN algorithm to determine if the nodes (hence the safety vests) are in their place.
TDoA capture logic for 4 Speakers Link to heading
We use the comparator to detect the start of a beep and utilize the multiple timers available in nRF52840 board to measure TDoA. With the logic we use, TDoAs from any number of speakers can be captured. The TDoA in every cycle of beeps is transmitted using BLE to a central node (a microcontroller or a smartphone).
Results Link to heading
A βtrainingβ data set was collected. Each set consists of TDoA1, TDoA2, TDoA3 and the seat label. A New βtestβ set was taken separately. The TDoA values from the test set are extracted and run through the kNN Algorithm to determine the seat label.
Accuracy of KNN on test set obtained: 98% Link to heading
Related work Link to heading
The results and observations in this project inspired the work on Physically Unclonable Functions (PUF) using acoustic signals and timers.
Sensor Identification via Acoustic Physically Unclonable Function, Digital Threats: Research and Practice. https://doi.org/10.1145/3488306