Sin(language)

Team: 13

School: New Mexico School for the Arts

Area of Science: Physics


Interim: Team: #13
School: New Mexico School for the Arts
Area of Science: Physics
Title: Sin(language)
Students: Rowan Jansens, Madelyn Kingston, Brandon Morrison
Teacher: Mohit Dubey
GitHub: https://github.com/NM-Supercomputing-Challenge/Team13

Problem:
Retaining personal privacy online has always been an important aspect of the internet. But is there a way to track people's movement and position without using a central server while also maintaining the client's privacy? Such a system has many practical applications in our world today. With COVID-19, it could be used as a data safe local proximity alert to notify individuals who have come within 6 feet. Additionally, it could be used to locate individuals trapped in rubble after a natural disaster such as an earthquake or hurricane. This system could function even in places without wifi or cellular service and aid in search and rescue in the mountains for example.

Solution:
This project aims to create a local inter-device system where one phone can reliably and accurately determine the distance and location of other phones on the network[1]. It will include an exploration of the behavior and detection of ultrasonic waves and the materialization and application of the ultrasonic network. We will be using ultrasonic chirps and use the delay associated with the speed of sound to calculate the distance between any two devices.

First, we will create a computational representation of the ultrasonic network in Agentscript.
Then we will use a microphone and dB meter to determine the optimal frequency range for the ultrasonic waves in the system.
Finally, we will use javascript paired with web audio API to realize the network system.

Progress:
So far, the model operates similarly to water droplets in a plane of water. We have modified an existing model of waves traveling in water [2]. Our model now emits a wave from one location on the plane, which can then be recognized and returned by some other point. Currently, this is in two dimensions and works only with two points.

By using a microphone and a dB meter, we were able to conclude that the optimal frequency that each phone must ping at is about 19,000 Hz. At 19,000 Hz, the microphone was still able to pick up the sound past 6 ft. Any higher and the microphone wouldn’t be able to hear it from a distance. Any lower, the sound would still be audible to many people’s ears, which wouldn’t be desired in this project.

To develop the ultrasonic proximity sensor network the program will use a web audio API to emit beeps of the desired frequency as well as listen to the ambient sound and trigger when a certain frequency match condition is met. To calculate the distance between two phones, phone 1 will initiate the calculation by sending out a request ping (currently this is just an audible beep) and taking a measurement of the current time (using the internal clock cycles of the phone). Phone 2 will be “listening” for the ping and when it “hears” it, it will output a return ping. When phone 1, which is now listening for the “return” ping, hears this, it will take a second time measurement. The distance can then be calculated using:
d = c((t_f - t_0) - delta)/2
Where "c" is the speed of sound (in meters per second)
"t_f" is the final time measurement (in seconds)
"t_i" is the initial time measurement (in seconds)
"delta" is the calibration constant (in seconds) to account for the time it takes the second phone to return the ping. To find the value of this constant, the two phones can be placed at a known distance apart and then the program can be run to tune the value using:
delta = 2 (d_r - d_c)/c
Where "d_r" is the real distance between the phones
"d_c" is the reported distance using the ping system
"c" is the speed of sound

Expected Results:
To complete the ultrasonic network system, we will need to host the code on an SSL certified server in order to bypass the “allow microphone” notification that pops up whenever we initialize the system. At this point, we will be able to tune the system and define the constant.

The success of the model will be determined if it can reliably and accurately calculate the radial distance between two phones to an accuracy of 15cm.

Sources:
1) Fotouhi, Mohammadbagher. “Accurate Acoustic Ranging System Using Android Smartphones.” Virginia Commonwealth University, 2017.
2) https://github.com/backspaces/agentscript
3) Wilson, Chris. “Live Web Audio Input Enabled! | Google Developers.” Google, Google, 27 Feb. 2019, developers.google.com/web/updates/2012/09/Live-Web-Audio-Input-Enabled.


Team Members:

  Brandon Morrison
  Rowan Jansens
  Madelyn Kingston

Sponsoring Teacher: Mohit Dubey

Mail the entire Team