So: sequential sampling, what’s the problem? After all, if you’ve got, let us say, four channels that you need to sample at some rate Fs, and an ADC that’ll sample fully at 4Fs and that can be driven through a 4-way multiplexer, then isn’t that a nice economical way of getting the job done?
Here’s the catch. If you need to do any sample-by-sample processing involving data from more than one channel, you’re going to have to ‘pretend’ that readings you took from different channels at different times actually happened at the same time, so that you can combine them in a calculation.
Say you want to calculate the instantaneous energy being absorbed in an AC power circuit. You sample the voltage and the current, and multiply those readings together. The result gives you the energy, when multiplied by the length of time you assumed the samples were valid over – essentially, the sample period. Integrate these readings over time and you accumulate the total energy. Hey Presto, it’s an electricity meter!
But! If you use a multiplexed ADC, you didn’t take the voltage and the current readings at the same time. By pretending that you did, you’ve introduced a time delay between the voltage and the current sequences. This is equivalent to a small phase shift, which really messes up any calculation that’s sensitive to the phase difference between voltage and current.
The error doesn’t come from the sampling process itself, but from our choice of how to interpret and manipulate the sample values. This article, by popular and prolific author “Filter Wizard” Kendall Castor-Perry, explores and explains how sampling and multiplexing are affected by filter issues, and vice versa.
To read the article, which originally appeared at EETimes-Europe (Analog) , click here.
About the author
Kendall Castor-Perry is a Principal Architect at Cypress Semiconductor Corp., doing mixed-signal system analysis and design for the new PSoC platform. Kendall uses decades of experience in analog engineering, filtering and signal processing to capture signals across many domains, extract the information from them and do something useful with it.