Troubleshooting periodic noise in raw data collected from ADC
Do you need to read more than 1 byte in more than 1 read operation to read an ADC value?

If so, you need to synchronise reading correctly to ADC conversions. 

If the ADC periodically samples between reading the MSB and the LSB, you will get periodic error that looks exactly like this. 

For ADC samples 1.01 and 0.99, you can read 1, then .99, Put them together, guess what? 1.99. 

I can't say this is exactly your problem because you don't tell us what the ADC is - resolution, interface typ, or link to the datasheet, and I can't enlarge those schematics in the middle of editing an answer. But it's one possible (likely) problem that has bitten someone here before.