I need to capture the waveform of a low-amplitude signal that sits on top of a slow-varying, higher-amplitude component. I'm thinking of using an ADC with two channels, and feed one of them with a low-pass filtered version of the signal and the other one with an amplified, high-pass filtered version of the signal. That would increase the apparent resolution of my ADC. Am I wrong? Can you foresee any problems with this?

I forgot to say I have to capture the low-frequency component as well (the algorithm needs the average value of the signal).

The "high"-frequency component goes from 0.01 hertz to 10 hertz. The low-frequency component is mainly the average value of the signal, but it may change, slowly. The faster-changing component may have an amplitude 100 times smaller than the maximum average value. The microcontroller we will use has a 12-bit ADC (I cannot change that), but with many channels.

  • 2
    \$\begingroup\$ Your requirements are changing, which is making it difficult to provide good answers. Tell us the frequency ranges and amplitudes of the two signals, and what resolution or signal to noise ratio you need to measure each signal at. \$\endgroup\$ Apr 20, 2012 at 15:10
  • 2
    \$\begingroup\$ Realted: If you try and extend an ADC by cascading them so that the second one measures a 1 bit range of the larger one, then the accyracy of the first one must be as good as the whole result. eg 8 bit ADC is followed by an 8 bit ADC that has a range of one bit of the original then the ACCURACY of the high order ADC must be 16 bits, even though its resolution is only 8 bits. \$\endgroup\$
    – Russell McMahon
    Apr 20, 2012 at 15:10
  • 5
    \$\begingroup\$ @OlinLathrop - His requirements aren't changing, he's clarifying the question based on feedback. This is normal, especially for a new user. \$\endgroup\$ Apr 20, 2012 at 16:04
  • \$\begingroup\$ When you say the low-frequency component changes "slowly", can you be more specific? 0.1 Hz would normally be considered "slow", but will be difficult (impossible?) to separate from your 0.01-10 Hz high-frequency component. \$\endgroup\$
    – The Photon
    Apr 20, 2012 at 17:53
  • \$\begingroup\$ Since you refuse to cooperate, all that's left to do is close the question. I asked several specific points, which you didn't all answer. The low frequency being the "average" and changing "slowly" still doesn't tell us anything. Others you ignored completely. You need to answer ALL the questions, not just what you feel like or what you think is relevant. You're not in a position to judge what is relevant. This playing "20 questions" is aggrevating. \$\endgroup\$ Apr 20, 2012 at 18:15

4 Answers 4


This is a very good idea. The BioTac tactile sensors from Syntouch do this very same thing. They have a pressure sensor inside them which captures both the low frequency part of the signal at about 50 sps, and the high frequency components amplified and sampled at 2000 sps. This works beautifully.

However, I don't know if you can actually combine these two signals to create a higher resolution, I.E. more bits. You may be able to with some clever signal processing, but it wouldn't be trivial.

Another way to increase the ADC resolution is by oversampling. If you take 16 12-bit samples (and assuming there's at least one LSB of noise) then you really have increased the effective resolution.


Perhaps you could feed in the raw waveform to 1 ADC channel, then use a DAC controlled by your microcontroller (or whatever is running your algorithm) to subtract off the low-frequency component, then amplify the residual signal to a 2nd ADC channel. The DAC could even be a delta-sigma DAC.

I think this would give you better results than if you use an analog high pass filter, because the transfer function of raw input to 2nd channel would be more easily characterized if done digitally, vs. an unknown (and potentially-changing) transfer function for analog.

But it's hard to say w/o knowing the frequency content + other requirements.


This doesn't make a lot of sense. Since you apparently only care about the high frequencies, why not simply present the high pass filtered signal to the A/D? Nothing in your description explains why you want to look at the low freuqency signal. Feeding that into a A/D isn't going to do anything useful.

If the two frequencies are close enough together so that separating them would be difficult in hardware, then could put the compsite signal into a A/D and filter digitally. However, the A/D would have to have enough resolution for the small signal while having the range for the large slow signal and sample fast enough to properly respresent the fast signal. This may not be possible.

We can maybe suggest something more concrete if you give particulars of the amplitude and frequency range of the two signals, and what resolution or signal to noise ratio you need to measure the fast signal with.

  • \$\begingroup\$ Sorry, I forgot to say I need to capture the low-frequency component as well. \$\endgroup\$
    – DanW
    Apr 20, 2012 at 15:07
  • \$\begingroup\$ @DanW - You can edit your question to add that point. \$\endgroup\$ Apr 20, 2012 at 15:08

Use a couple of fixed gain bandpass filters tuned to match the centre frequency of each of the two component signals. Feed each separated signal to its own ADC. Voila... Job done.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.