Reputation: 189
Question 1: Is it feasible? (As far as I know [info get from google], it is feasible. However, I need a more affirmative answer.)
Question 2: Say I have a device that generates square wave, how can I get the message?
As a beginner, I want to know to which class I should pay my attention to?
Thanks, any info will be appreciated.
Upvotes: 2
Views: 85
Reputation: 326
This is a great question. I've put together a C library which does this, so you might be able to adapt it for iOS.
Library: https://github.com/quiet/quiet Live Demo: https://quiet.github.io/quiet-js/lab.html
With a sound port, you want to avoid square waves. Those make inefficient use of the range of amplitudes you have available, and they're not very spectrally efficient. The most basic modulation people typically use here is frequency shift keying. My library offers that (as gaussian minimum shift keying) but also more advanced modes like phase shift keying and quadrature amplitude shift keying. I've managed to reach transfer speeds of 64kbps using this library.
Upvotes: 2