I am presently living away from home as my cottage is being renovated. This makes experimentation difficult as most of my belongings are in storage. I decided to try to instrument what I was doing using my laptop.
I can use my laptop to generate and/or record audio signals and also use it to process and plot data received from the serial port. For my initial experiments I am using a tone generator program to provide sine wave inputs (ToneGen) and Matlab for recording audio and also receiving and processing data from the serial port. The speed of the serial port limits the amount of data that can be sent and therefore the frequencies that can be processed in this way.
The AC coupling used in the original the input circuit attenuates the low frequencies. A better, DC coupled, circuit uses an op-amp as a level shifter and can be used at the same time to adjust the input level to suit the ADC. The circuit that I used is
The idea for the circuit was suggested here. Assuming an ideal op-amp gives, for the input
and, for the input
Ideally and choosing gives
Adjusting levels so that when gives and
The voltage gain . Choosing, for the moment, gives
The recommendations here say that the resistors should all be at least and so I have taken
For my circuit I used a TI OPA2340 low voltage rail-to-rail op-amp which comes in an 8 pin DIP package making it easy to use on a breadboard.