I'm trying to send some text over sound. For example, I try to send the words "Hello John". I do it this way: Every char is converted into its binary ascii code. Then I construct a wav file with no gaps by NAudio library in this manner:
StartDelimiter = 12KHz, 1's = 13kHz, 0's = 14kHz(for the message), End Delimiter = 10kHz. The durations of whole beeps are similar: 100ms.
I'm only at the beginning of my work and I Record the series of beeps and after recording I analyze the record(in the future I want it to be near Real Time) by:
- Find the start delimiter's index with Goertzel filter(max power along the recorded buffer).
- Skipping a known duration(100ms) in a buffer to decode the 1 OR 0 by using another 2 Goertzel filters. If the End delimiter is found I break the search and show the decoded message to a box.
My problem that I've encountered so are:
- After sending more than 5 chars I get for example: "Hello Pohny". The first chars are fine but then it start to rubbish.
- Some noise defects the series.
Are there some strategies which I can use to improve the skills of my the above algorithm? Thanks I work with C# on WPF