Question

I'm going to transmit binary data from PC to nearby smartphone via audio channel (preferably via ultrasound amplitude modulation, like ~19 kHz). I wonder what is the better way:

  • use one fixed frequency to encode ones (high amplitude) and zeros (silence)
  • use two fixed frequencies where one frequency transmits data as above and second is inverted (silence as one) for better noise tolerance.

Data will include checksum, may feature some kind of RLL encoding to avoid too long same-bit sequences.

Will the second way really increase data transmission reliability?

Was it helpful?

Solution

Typically for a simple modulation scheme you would use FSK, with two suitably chosen frequencies. You're unlikely to be able to do this ultrasonically though, for various reasons, and your data rate will also be quite low. Since your transmission channel will be noisy you will definitely need some robust error checking/correction.

Note that the above techniques are/were widely used for packet radio and also historically for cassette tape interfaces on computers before mass storage such as floppy disks and hard disk drives became affordable (late 70s/early 80s), so there is probably quite a lot of material out there on algorithms and implementations for FSK via consumer audio devices.

OTHER TIPS

Using 2 frequencies (a.k.a. binary FSK) is the usual practice as the signal power level stays more constant (and thus less likely to fight with an AGC or threshold detector or cause power supply noise).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top