Quietnet: near-ultrasonic messaging service sends chat by chirps

Yes, yes, yes on all points. I knew nothing about DSP when I built this (and still don’t, and it shows.) I actually feel a bit uncomfortable about this code getting attention because I had no idea what I was doing building this, it was mostly by trial and testing in ipython notebook. Although I don’t regret that, figuring out a workable (but totally sub-optimal) solution was fun.

High and low cutoff filters are definitely a better approach. As it is now my W is actually W/(sample size of the FFT) instead of ~19kHz. I could have (very poorly) fixed that by doing the FFT as a sliding window, but by the time I could even see that it was apparent I had used a wrong approach.

Thank you for looking at the code!

1 Like

Kate – You have a fun project and I hope it encourages others to try taking it in new directions – WA5ZNU

I really have no idea how this tech works, but if you could write a receiver app it seems like it’d be a great use for sending out mass info for cellphones in a room, such as a museum display. (assuming that your average cell mic could pick it up)

I have a set of Christmas tree lights that strobe like crazy. Wave your hand around under them and you instantly have 600 fingers. If you walk across the room too quickly, there’s a good chance someone will throw up. There’s no need for it, but they were cheap (and no, no dimmer - I was impressed they came with a plug on the end). I’m pretty sure the strobing comes from simply rectifying the AC with no smoothing. One day I’ll get around to adding that magic capacitor to make it go away.

@bcsizemo strobing on a Christmas tree is one thing, but strobing on the road is much nastier - are you sure you see strobing taillights? For the sake of a couple of cents, it’s a really nasty feature to introduce that’s very easy to get rid of.

1 Like

Christmas lights flicker at 120Hz (well, 100Hz in Europe, I guess), if they use a full-wave rectifier (unlikely?). Or 60 and 50, respectively, if they use a half-wave. Image it’s the latter, as they are diodes after all. As they are super cost-reduced, can’t see them using a filtered supply. Car taillights can be annoying, as some use pulse-width modulation to go from running to brake light intensity.

1 Like

“Near ultrasonic” is almost certainly not reproducible by the cheap, crap speakers most people have, and the upper limit of most sound cards is 24kHz (48kHz sampling rate). So I’m guessing this is around 15kHz or less, which to me (autistic spectrum person with sensory issues and extended hearing range) is a literal stabbing pain when not a harmonic of other sounds.

And yes, I already carry earplugs everywhere, before I’m called a selfish bastard for not wanting the aural equivalent of a strobe light going off in my face.

1 Like

This is a very cool toy project! As there’s been so much chatter about this kind of communication recently, it’s really nice to see someone code it up and make it work. I award you 1023 geek points for making the internets more interesting.

1 Like

Hey Kate! Good job on getting a prototype working. The most important thing is that you learned something in the process, which it seems you did :slight_smile: Don’t let comments like these discourage you from experimenting and trying new projects, because I for one found this really interesting!

The curmudgeons are just being silly.

1 Like

Many fancy Christmas tree lights have patterns that fade in and out, lighting different colors, etc.

Any dimming of LEDs is always based on strobing, because there’s no other way to actually dim them.

The default frequency is 19100 Hz. You can change this to 15000 Hz in options.py should you have any reason to doubt your laptop’s speaker.

1 Like

Make sure you don’t marry me, because I like every room to have hundreds of watts! Like the blaze of a thousand suns!

Hmm; getting about 2% accurate copy here. WAV file IO might be nice for testing. Hey, and not everyone types in just ASCII …

A program which does this robustly in the audible range is minimodem. It encodes/decodes several FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and Caller-ID. Annoy your neighbours with slow, loud file transfers!

1 Like

It’s also not unlike my app Banshee, which has five channels of audio texting broadcasting in a loop. But it’s also kind of crude and could stand some updates! The encoding scheme I use is not particularly robust, but it is an interesting thought experiment.
http://jhhl.net/iPhone/Banshee/

1 Like

Disclaimer: I am not a electrical engineer, just an experimenter.

I don’t know what kind of LEDs you work with, but the ones I play with can be dimmed by simply limiting the current through them. Raise the series resistance and you’ll lower the output (until they go out below their forward voltage).

Auto tail lights use PWM for a different reason. By pulsing them, the designers can overdrive the LEDs to get more output from cheaper LEDs.

If they overdrove them at 100% duty cycle, they’d overheat and fail (especially since efficiency falls when they’re overdriven). But at a lower duty cycle, heat buildup (roughly proportional to the average of the current through them) is reduced enough to keep them working.

Without the thermal inertia of a filament, the LEDs are off when the PWM input is at zero. However, your eyes’ persistence of vision makes them look like they’re glowing steadily, unless you move your eyes rapidly.

As for the LED festoon strings (Christmas and other specialty lights), there may be better ones, but every mass market LED string I’ve seen so far has the crudest and cheapest design possible. There is no dedicated rectifier and no current limiting. They just connect a bunch of LEDs in series across the AC line, trusting them to not suffer reverse breakdown and to share the voltage roughly equally.

Depending on the consistency of the LEDs, it’s possible that some of these LEDs may not have that much more life than incandescent festoon string bulbs.

I’ve read that LEDs tend to fail shorted, so when they do, the rest of the string will keep working - that is, until too many short. However, the one failure I’ve had in an LED string I own was an open, so YMMV.

Yes, these strings flicker. I can’t stand 60 Hz CRT flicker, and it makes me just as crazy to look at LED festoon strings, so I use mine outdoors, not on the tree. I’ve been tempted to try driving them with filtered DC, but I’m afraid they’re designed for 50% duty cycle and will fail if run at 100%.

To bring this back more or less on topic, this messaging system reminds me a little of the fad several years ago for using “ultrasonic” (15-20 kHz) noise to create “adults only” areas.

http://www.bbc.co.uk/wiltshire/content/articles/2006/04/04/mosquito_sound_wave_feature.shtml

It’s also a bit reminiscent of the similarly “ultrasonic” mobile phone ringtones - from about the same time - that let kids “stealth” their phones in school by setting the incoming text alert to these > ~15 kHz tones.

1 Like

35yrs old, ex-musician-current-technohead, very careful about hearing. I can still hear up to about 18.5k, but it is absolutely diminishing with age even with taking precautions. It’s fascinating when taking hearing tests the ‘phase in’ and ‘phase out’ ranges–i.e. specific wavelengths that have been damaged or are just failing.

As a security person, I think this is fascinating. And I appreciate even discussions of secret/obfuscated communication. It makes my weekends fun :smiley:

You really shouldn’t, at least not for production-level work. LEDs aren’t like lightbulbs, but are designed to work at a specific forward voltage and specific forward current.

LEDs tolerate wider ranges in current than they do voltage, certainly, but they will live longer and happier at the correct forward current.

You can find the forward current in the LED spec sheet. Typically it’s 20mA.

So for correct dimming, most LED systems use PWD.

I haven’t checked the exact figures, but I think the sun is at least 1W here on earth.

Per 10 cm2, I guess. The typical quoted figure is 1000 Watts per square meter (at noon).

This topic was automatically closed after 5 days. New replies are no longer allowed.