I'm in the process of building and adc frontend for one of Lattice's FPGA boards in order to mess around with some digital processing of audio. I'd consider myself okay at analog things but I'm having trouble differentiating what's important when it comes to dealing with the signal coming in to the ADC.
The reference board I have only supplies 3.3v and the input signal is +/- 0.9v with a possible impedance of 100-900 Ohms. I'm stuck at how I want to approach bringing this signal into my ADC in a range from 0V to Vref that will be accurate but also doesn't cross into the realm of audiophile phoolery.
Right now I'm looking at 3 possible options:
1. Use a summing configuration with an offset voltage shifting by 0.9v. This is the simplest option as I can take advantage of my ADC input op amp, however since I don't know the impedance of my source I could have some(potentially large) unknown offset. Buffering the input isn't an option since it would require a dual supply op amp to prevent clipping in the negative voltage.
2. Use a charge pump to generate a negative rail and then use standard op amp techniques to shift from negative range to 0V to Vref. I like this because it will be easy to buffer the input signal, however it means adding noise to the overall system and complexity that comes with a switching dc-dc voltage converter. Additionally it means extra op amps per channel, on the plus side I could also use this to have a dual output from my DAC as opposed to using a large capacitor in series and the roll-off that it incurs.
3. Creating a virtual ground on the input signal at 0.9V. This is the technique that I'm leaning towards the most, however I don't have quite a good enough grasp of how floating ground would work with an arbitrary input source. I've already prototyped it out in spice and everything behaves nicely:
The question I have is would the LT6220 have to provide enough output current to lift the ground for the entire circuit that's connected on the input or only for the ~600Ohm input that the circuit samples. If it's an unknown amount of current then this obviously won't work in the case I'm thinking of.