I need my arduino to measure the analogue amplitude of a tiny sine waveform that's about 0.01 volts amplitude (but it might range, slowly, to as high as 1 volt). it's about 100 khz if that matters.
My design will use an ADS1220 SPI ADC, so the arduino can dynamically adjust the programmable gain (upto 128x) - but for that to work, I need my input not to go below 0 volts.
Is a synchronous rectifier the right approach? Are there chips/shields which do this, or do I need to find my own transistors and comparator and make one from scratch? Is there a better way?
For a signal with a frequency of 100 kHz you need an ADC with at least 200 ksps. The ADS1220 is only 2 ksps.
I haven't worked with such a weak signal but you can see the circuits with an operational amplifier as an ideal rectifier diode. Then, depending on what Arduino you use (you didn't say), its built-in ADC may be appropriate.
the 2ksps of the ADS1220 is why I need a synchronous rectifier of course. The wave is 100khz, but the signal inside it is only 100hz or less. (on/off coding).
I need the (rectified, smoothed by a capacitor) amplitude of the 100khz in order to dynamically adjust my ADS1220 gain.