Thanks for the info. The receiving PC is a Netbook and was using internal sound card. As I type this some process is hogging the system or it's running out of RAM so I watch the text follow a few characters behind me typing it. (Windows Update is a bad one, as is the virus scanner. I guess the real issue here is Google Mail doing something big in javascript).<div>
<br></div><div>I am now using a crystal in my transmitter (a PIC microcontroller). I had been trying to use its internal RC clock which is more like 2000ppm, though I wonder if that is stable enough over short time periods that I could train it using the accurate 1Hz signal from my GPS module. </div>
<div><br></div><div>The waveform generation is based on interrupts but they are high priority and very predictable. The bigger problem is that I have to round the amount of clock ticks per sample to a whole number so lose just under 1% at 2200Hz, and measure the length of a bit in terms of samples which is not a whole number. If needed I could use a second timer to improve that. If I can't assume that the receiver can adjust to small drift in timing by looking at when the tone switches then I'll need to keep the length of my bits quite accurate. Because the error will be different for each tone it will look like jitter rather than a constant error factor.</div>
<div><br></div><div>Thanks</div><div><br></div><div> - Richard<br><br></div>