Coopmans approximation

The Coopmans approximation is a method for approximating a fractional-order integrator in a continuous process with constant space complexity. The most correct and accurate methods for calculating the fractional integral require a record of all previous history, and therefore would require a linear space complexity solution O(n), where n is the number of samples measured for the complete history.

The fractor is an analog component useful in control systems. In order to model the components behavior in a digital simulation, or replace the fractor in a digital controller, a linear solution is untenable. In order to reduce the space complexity however, it is necessary to lose information in some way.

The Coopmans approximation is a robust, simple method that uses a simple convolution to compute the fractional integral, then recycles old data back through the convolution. The convolution sets up a weighting table as described by the fractional calculus, which varies based on the size of the table, the sampling rate of the system, and the order of the integral. Once computed the weighting table remains static.

The data table is initialized as all zeros, which represents a lack of activity for all previous time. New data is added to the data buffer in the fashion of a ring buffer, so that the newest point is written over the oldest data point. The convolution is solved by multiplying corresponding elements from the weight and data tables, and summing the resulting products. As described, the loss of the old data by overwriting with new data will cause echoes in a continuous system as disturbances that were absorbed into the system are suddenly removed.

The solution to this is the crux of the Coopmans approximation, where the old data point, multiplied by its corresponding weight term, is added to the newest data point directly. This allows a smooth (though exponential, rather than power law) decay of the system history. This approximation has the desirable effect of removing the echo, while preserving the space complexity of the solution.

The negative effect of the approximation is that the phase character of the solution is lost as the system frequency approaches DC. However, all digital systems are guaranteed to suffer this flaw, as all digital systems have finite memory, and therefore will fail as the memory requirement approaches infinity.