I'm interested in sending digital data over ultrasound.

My initial thought is that it should be first converted to BMC:

enter image description here

And then phase shift encoded (PSK):

enter image description here

I initially thought to use a Goertzel filter to decode it, but this runs into trouble: Extracting phase using Goertzel filter in Python

What would be a practical mechanism?

Is there a more intelligent way to encode the data, maybe using two frequencies and taking the relative strength at any moment in time?

  • $\begingroup$ Just a basic question: Why do you use BMC if you use PSK? Since you use PSK, a DC component is obviously no issue. What would be the disadvantage of using PSK right away? $\endgroup$ – Matt L. Mar 15 '14 at 10:16
  • 1
    $\begingroup$ Without additional info, I would suggest that to simplify things you consider using a scheme like Bell 202 does: en.wikipedia.org/wiki/Bell_202_modem $\endgroup$ – John Mar 15 '14 at 12:02
  • $\begingroup$ A good strategy will depend greatly on channel characteristics, such as S/N, bandwidth, multipath distortion, fading, and etc. as well as the data rate. $\endgroup$ – hotpaw2 Mar 15 '14 at 19:07
  • $\begingroup$ Multipath distortion, I take it this is echoes as the sound bounces off objects. I hadn't thought of this! This could really mess up any kind of phase shifting approach... $\endgroup$ – P i Mar 15 '14 at 19:16
  • $\begingroup$ Multipath interference can also put a deep notch right at your audio carrier frequency. $\endgroup$ – hotpaw2 Mar 15 '14 at 22:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.