Predictive digital filtering for first order systems

Today measurements must be fast, cheap and accurate at the same time.
These requirements are not easy to achieve.

This post describes a simple but very efficient software method to make a slow measurement faster.

Let’s look at a simple temperature measurement example.

The temperature sensor sits in a protective metal cover.

This sensor is at room tempeature, and we would like to measure the temperature of boiling water.

The example is very simple but it will clearly show the operation of the computing method.

When we put the sensor into the boiling water, we know that the measured value jumps from 20 °C to 100 °C.

but the sensor’s output rises slowly since the protective cover needs time to heat up.

This heat up phenomena acts as a first order filter function.

The first order filter function is described as:

where T(t) is the measured temperature at a given t time, T(final) is the final value (100 °C in this example), T(0) is the starting temperature (20 °C in this example) and Tau is the time constant of the filter.

It may seems a little complicated, but plotting a graph gives a very clear demonstration of how it works.


The problem here is that we know that the measured temperature momentarily rises as the sensor goes into the boiling water, but the measurement shows a slow rising to the final value.

Continue reading Predictive digital filtering for first order systems