We are using it in XRWorkout to automatically sync up ingame recordings with external recordings, we are using the audible version instead of the ultrasound version so a human can sync it up too if they are using a regular video editor instead of doing it automatically in our own tools
Here is an example how that sounds https://xrworkout.nyc3.digitaloceanspaces.com/data/video/036...
https://en.wikipedia.org/wiki/Trellis_coded_modulation
The acoustic channel is bound to suffer from multipath too, so some equalization may be needed too.
https://en.wikipedia.org/wiki/Equalization_(communications) https://www.ti.com/lit/an/spra140/spra140.pdf
In order to receive the signal far from the transmitter, some form of spread spectrum encoding could be used, like CDMA. The spreading factor could be negotiated.
https://en.wikipedia.org/wiki/Direct-sequence_spread_spectru...
https://softspectrum48.weebly.com/notes/tape-loading-routine...
I always assumed that PWM was the go-to method for this kind of low bandwidth / high noise medium, I wonder why the author didn't go that route and used FM instead
Is that not FM, more specifically FSK, just with some extra harmonics?
I believe IR remotes work on a similar principle: a series of blinks of two different durations, which represent 0 and 1
Aside: I know "boomer" is just slang for "not young", but I can't help but think that only the most tech-savvy Baby Boomer would identify with that EQ; Gen-X would be more applicable.
It went something like this: You install some app on your phone, which then listens for incoming audio in the ultrasonic range. The audio is coded instructions, which then would do things like blink a light on your phone or whatever. The idea was that this could be used at events (sport, music, whatever) to create light shows on the mobiles, without relying on good wifi coverage or similar in the avenue. As you could use the PA for the data transmission.
See https://anil.recoil.org/papers/audio-networking.pdf sec 2.1 for the 2003 paper and some ancient videos at https://anil.recoil.org/projects/ubiqinteraction if you want some Nokia nostalgia :-)
Sadly never got picked up, although we proved the concept could work - but it certainly had it's challenges.
I believe the main problem is that it makes dogs go crazy
https://techcrunch.com/2014/06/26/how-can-chromecast-connect...
I couldn't remember if it actually shipped in anything, but looks like it did!
For comparison, medical imaging ultrasound is 2-20 MHz (that's MEGA hertz) I think,
Can’t find much out there on the topic, but here’s a Reddit thread touching on it:
https://www.reddit.com/r/InternetIsBeautiful/comments/2ruq45...
I would argue that microphones and speakers are special equipment: most microcontrollers don't have them, most computers are microcontrollers, and most non-microcontroller computers already have better ways to transmit data. I was hoping for an ultrasound codec for an Arduino using the microphonics of the X5R bypass capacitors included on the board, or something like that. Plausibly that is a thing you could do, but nobody has managed it so far that I know of.
Screenshots of the app:
https://pino.ceniccola.it/portfolio/img/diconodilei-1.jpg
https://pino.ceniccola.it/portfolio/img/diconodilei-4.jpg
Sadly, Safari iOS Web Audio API filtered out everything above ~16khz, so instead of playing the audio at full volume in the room I had to make a few points of contact where you had to place your phone near enough a little speaker (actually a tweeter) to pick the (now) audible whisper but at much lower volume.
By the way, everyone was already wearing their headphones anyway, and it worked like a charm with many people wondering what and how was going on!
> Ultrasonic pilot tones, commonly used in PA systems to monitor speaker connections, are often modulated by background noise or movement. These tones can be used for various purposes, such as speed detection, escalator monitoring, positioning codes, ad delivery, and finding quiet areas in shopping centers.
[1] https://www.windytan.com/2024/06/ultrasonic-investigations-i...
adzm•7mo ago
Though after a certain point it stops recognizing it, I was still surprised how well it did with noise. I'm sure noise in higher frequencies (or the right harmonics) would be much harder to handle, but solvable in interesting ways too