Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to send a short amount of data (10-15 characters) from one mobile device to another via (inaudible) sound within 1-2 seconds. I'd like to be able to deal with normal external noises (chatter, traffic, etc).

I have a software engineering background, but no experience working with sound or audio. Is there a known/documented solution to address this problem of reasonably reliable ultrasonic data transfer? If you know of a guide or some document that'll explain the concepts to me as I develop out a solution that would be really awesome.

I've researched a little bit on this topic, but have been unable to find something concrete for ultrasonic communication. Any direction would be much appreciated (and yes, I know I'm a noob here). Thanks.

share|improve this question
The phone's DACs and speaker are going to be limited to "high frequencies that most people can't hear", which is probably fine, but it won't be quite true ultrasound. Also, intermodulation from distortion (which all speakers have) can change inaudible frequencies into audible ones. – endolith Feb 26 '13 at 1:22
idefine - Where you able to implement this. I am also looking for a solution to this problem – Perk Jul 13 '13 at 18:55

Even using the highest audio frequencies that a typical mobile device can generate (which are below the ultrasonic range), there is no guarantee that "normal external noise" won't interfere. Transient impact noises can be quite wide-band. Therefore one may have to try various forms and levels of redundancy or Forward Error Correction coding (Hamming, Reed-Solomon, etc.), until the reliability probabilities reach a suitable level for your application. For many (most?) modulation schemes, just lowering the bandwidth sent/used can also improve the reliability probabilities of the channel.

share|improve this answer
15 characters in 1 second is 120 bit/s, which is small compared to the maybe 3000 bit/s available from 19 kHz to 22 kHz, for instance. – endolith Feb 26 '13 at 18:07
thank you @hotpaw2 – Lalit Kapoor Feb 26 '13 at 21:01
Any suggestions for a method I should use - FSK, PSK, etc (if this makes any sense)? – Lalit Kapoor Feb 26 '13 at 21:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.