Ultrasonic Data Transmission With GNU Radio

ultrasonic

When we hear GNU Radio was used in a build, the first thing we think of is, obviously, radio. Whether it’s a using extremely expensive gear or just a USB TV tuner dongle, GNU Radio is the perfect tool for just about everything in the tail end of the electromagnetic spectrum.

There’s no reason GNU Radio can’t be used with other mediums, though, as [Chris] shows us with his ultrasound data transmission between two laptops. He’s¬†transmitting audio from the speakers of one laptop at 23 kHz. It’s outside the range of human hearing, but surprisingly able to be picked up by a cheap desktop mic connected to another laptop. His GNU Radio setup first converts a string of text to a 5-bit packet, modulates it with FSK, and bumps up the signal to 23 kHz. On the other end, the data is decoded by doing the same thing in reverse.

The setup is easily able to reject all audio that isn’t in the specified frequency range; in the video after the break, [Chris] successfully transmits a ‘hello world’ while narrating what he’s doing.

Comments

  1. Have you tried testing it with a dog in the room? It was always possible, but not very practical. There are so many impractical ways to do things that we are already doing in a more practical way. The real challenge is to find an even more practical way to to things.

  2. oodain says:

    this is very cool,

    i wonder if a similar approach could be used to transmit through solid materials.

  3. Parko says:

    badbios anyone?

    • Jan says:

      I didn’t know you could run GNU Radio (or something equivalent) in BIOS. Get real, please.

      • technomalogical says:

        I don’t think the point was “this is exactly how badbios is implemented”, but rather that it’s proof that the data transmission is possible using commodity hardware. How it’s implemented at a BIOS level (if possible) remains to be seen.

      • Marvin says:

        You don’t have to run GNU Radio in Bios. I’m sure you can implement the needed stuff compact enough to fit.

        What this here does is to proof, that the standard audio setup in modern laptops is capable of the things the “badbios” assumptions claimed.

        • GotNoTime says:

          The ability to send data using ultrasonic sound from your PC speakers to another PC microphone? Sure. As this demo shows, it is completely possible. Data rate isn’t great in this proof of concept but you’re not going to be able to refine it that much considering how inefficient the speakers and microphones will be for this frequency range. The average PC speaker and microphone are awful even for normal audio ranges.

          The claim that badbios can make an infected PC infect a clean PC just from this transmission method? No. That is just irrational paranoia talking. You’d need to have an extremely low level vulnerability in the audio subsystem multiple OSes, a rootkit that is completely undetectable from the OS but also capable of running on everything, a robust way of hiding from a complete wipe of the system including BIOS flash itself and you’d also need to be able to do all of this without waiting a week for your exploit to broadcast itself. Don’t forget the ECC as well.

          • Fred Pam says:

            That’s not what was claimed with badbios. It was claimed that two infected computers can communicate over the air to explain how a completely cleaned (apart from the bios) machine, not connected to any network, was re-injected with malware. In other words: the target machine would still be stage-1 infected and this communication channel would take care of additional payloads.
            Still hard to believe, not impossible

  4. furiousd says:

    5 bits or bytes?

  5. sg says:

    Congrats! I’m working on something very similar, actually. Though, my focus is mainly on high data rates and understainding modern modulation and error correction techniques. So far I managed to transmit 1700 bits/s using a 2 kHz bandwidth in a reverberating room from one laptop to another. A pretty decent spectral efficiency of 0.85 bits/second/Hertz I’m kinda proud of. :-)

  6. Geekmaster says:
    • Geekmaster says:

      Oops… I see somebody already mentioned badbios above. I recall reading about transmitting data over open air with sound card+microphone+speakers back in the 90’s, using DOS programs. As I recall, they had a higher data rate than the video above demonstrates, using an 8-bit ISA sound card as I recall…

    • vpoko says:

      They’re either way ahead, or maybe they don’t exist at all.

    • SOI Sentinel says:

      Unfortunately unless your computer is set up to execute audio streams or there’s a high frequency overrun in your audio software, you’d need to pre-infect your targets for badbios to work. This means you need an inside job or some other vector to get to the isolated PCs in the first place.

  7. sonar data-links for everybody…

  8. Tomaz Stih says:

    Is it dog friendly?

  9. Dog’s can hear up to 45 kHz. Most human teenagers can hear almost up to 23 kHz. Cat’s and Dolphins can hear even higher.

    To use this underwater for submarine data communications you would have to work out some sort of error correction as the audio signal tends to mutate over distance and has too many echoes from hitting solid objects underwater. Also salinity can effect data transmission too. It can be done but don’t expect too much distance.

    Sound waves travel pretty far underwater but you could only achieve very low data bandwidths. It would be better to use Morse Code like binary communication rather than data or voice. The US Navy has experimented with this extensively. They pretty much abandoned this for Blue-Green lasers communications underwater.

  10. qwerty says:

    This looks more like a good tutorial on GNURadio than a practical solution. Modem chips in the past did the very same thing: data i/o here, sound i/o there. I used them to record to and get back from a normal audio cassette deck data coming from machines that had serial i/o but no tape. If you find an old AM7910 chip you can easily build a modem in the audio range. Other chips will go up to and beyond ultrasound frequencies.

  11. Hirudinea says:

    Ok, so he invented an acoustic modem? No, I mean seriously, original acoustic sent data over phone lines by modulating sound signals at one end and demodulating them at the other, this is the same idea, only through the air, so it’s a modem, right? Anyway its cool, who would have thought of using GNURadio for this.

  12. lol says:

    Dual-tone multi-frequency signaling was one of the first low speed communication methods. AF spectrum communication is old, and can now be done by a $2 mcu.

  13. SATovey says:

    The nifty thing you can use for this is to trnasmit power using audio.
    A couple three years ago I read an article where a gal created a product to do just that. Can’t remember where I read the article though.

  14. colin says:

    I tried this with minimodem (http://www.whence.com/minimodem/) a while ago using a very cheap pair of external speakers and an old EeePC 701 using its internal mic as the receiver. But I couldn’t get anything over about 16 KHz to work. I guess the quality of the speakers and microphone play a big role as to what frequencies it will work with, so ultrasonic comms might not be possible with all (or even most???) laptop speakers and microphones.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s