I'm looking for a way to send binary data over an audio channel on a video/audio transmitter. This will be an add-on feature to my product because it already has an audio interface. I'm hoping to be able to reach about 1 kbit/s data rate at a minimum, but higher would be nice. The requirements for any such protocol would be:
- High noise immunity - so a signal with some noise and interference on it doesn't cause problems. Ideally, data would be either error free or flagged as having errors, as corrupt data could cause lots of problems. Weaker signals may introduce jitter and other nasties into the signal, so it should be capable of withstanding these.
- Be able to work on a bandwidth limited (approx 8 kHz) audio channel. This includes slew rate limitations and variable jitter, including between clocks or bytes.
- Be easy to implement, both transmitting and receiving, on a small microcontroller.
The protocol only needs to be one way as data will only be sent. The reason I ask this is because I've gone through lots of possible options (FSK, PSK, duty cycle modulation, Manchester, etc.) but have no idea which would be the best.