Digital vs analog error correction
May 3rd, 2020
The purpose of this writeup was to summarize something interesting I learned recently, to make sure I understood it. I figured others might find it interesting, too.
~ ~ ~
Digital signal processing corrects for errors better than its analog counterpart. This is one of the reasons why modern electronics are always digital.
Concretely, let's say you have a digital component that expects either 0V or 10V, and it outputs the same value it received as input.* In practice, we live in a noisy world, so the input it receives may not be exactly 0V or 10V. If the digital component receives an 8V input, it'll correct that error by "rounding up" and out 10V. Similarly, if the digital component receives a 3V input, it'll round down to 0V. It does not propagate the error but rather improves it before handing off its output as input to the next component.
Another way to put it: digital components are resilient to minor errors coming in, and then they take that signal and construct the result within a more strict range. The outgoing result has less error than the incoming signal. The error bars of the input are bigger than the error bars of the output.
By contrast, analog inputs cannot do such a correction on a range, because they work by giving a continuous range of values rather than discrete values. This means that you cannot "round up" to the nearest accepted value, because all reals are accepted! Thus, as you chain analog inputs and outputs, you lose fidelity at every step, because you cannot correct for errors with confidence.
* You can think of this as the "identity component".
~ ~ ~
Thanks to Sebastián for originally explaining this to me and then reviewing this writeup. 🙂
Keep in touch!