Signals From Noise by Dave Van Ess, Principal Application Engineer, MTS, Cypress Semiconductor
In many microcontroller-based systems I find it is necessary to scale the digitized ADC results, the digital value sent to a DAC, or data used by different algorithms. If you are lucky, the scaling is either a gain or an attenuation factor of 2n. If not, you will have to multiply or divide by some constant factor. In very small systems there may not be enough program area for a divide, or even a multiply, routine. This TechNote will show how data can be scaled with a series of shifts, additions, and subtractions.