This page briefly describes some other filters, including double exponential smoothing and alpha beta filtering. This page is part of the section on
Filtering that is part of
A Guide to Fault Detection and Diagnosis.
Double exponential smoothing
Double exponential smoothing is not just two exponential filters in series. The “double” refers to the fact that exponential filtering is applied to both the input and to an estimate related to the derivative of the input. Two parameters are estimated at each time step: the filtered value, and a “trend” value b capturing rate of change information. As noted previously, a simple exponential filter is essentially assuming a signal model of brownian motion/random walk: the true signal is assumed unchanged except for a noise term. The purpose of double exponential smoothing is to account for trends: assume that the true signal is following a straight line, so that the incremental change (“trend”) at each time step is a constant (the slope times the time increment size). Following the filter notation already introduced, there are two equations:
(1) y[k] = a ( y[k-1] + b[k-1] ) + (1-a) x[k]
(2) b[k] = g b[k-1] + (1-g) ( y[k] - y[k-1] )
x[k] is the raw input at time step k
y[k] is the filtered output at time step k - the estimate of x[k]
b[k] is the estimated trend at time step k (input signal time derivative times sample period)
a is a constant between 0 and 1 (exponential filter constant for estimating the value of x)
g is a constant between 0 and 1 (exponential filter constant for estimating the trend of x)
Equation 1 is a modification to the standard exponential filter calculation. The first term uses the projected value of x based only on previous information, as in the exponential filter. But instead of just taking the last filtered value, the best estimate of the trend is also added to account for the straight line assumption. The second term uses the correction for the newly-observed input at time k. The exponential filter factor a weights the past vs the new information.
Equation 2 is an estimate of the trend, exponentially filtered with its own filter constant g. The first term uses the best estimate from past information, and the second term uses the correction for the most recently observed trend, y[k] - y[k-1] . The exponential filter factor g weights the past vs the new information.
There are several possibilities for initializing y[ ] and b[ ], such as:
y = x
y = x
b = x - x
so that full filtering starts at k = 2
If the input signal becomes a ramp (constant slope), then this filter output will track the ramp, approaching it asymptotically. If the slope of the ramp is changed, the filter output will again approach the new ramp. For that reason, this filter is competitive with a linear least squares filter, which also makes a straight line assumption. This is an IIR approximation of the FIR linear least squares filter.
The definitions of the filter constants here swap a for (1-a) in typical forecasting literature. The reason is simply the control systems background of the author, where the most important dynamics are defined by the relationship to the previous value, not the input.
Alpha beta filter
Alpha-beta filters are based on the same assumptions as double exponential smoothing. There are estimates of two variables, one the derivative of the other. The derivative is assumed constant for prediction. Upon receipt of new data, both the variable and its derivative estimates are updated. There are two parameters for the weighting of prediction vs correction: alpha and beta. It should have the same general characteristics as double exponential smoothing, although there may be no published comparison of this. See the Wikipedia article.
Filtering for forecasting - more general model based filtering
Other signal models can be used. For instance, the predictions can include factors based on a sine wave. This is common practice in fields such as economics where seasonal adjustements are made. That is beyond the scope of this guide.
A comb filter adds a delayed version of a signal to itself. This is used mainly in some specific electrical engineering cases where a signal at a particular known frequency is of interest. That is beyond the scope of this guide.
Robust filtering attempts to reduce the impact of outliers. Most filters have some sensitivity to outliers. That is beyond the scope of this guide.
Copyright 2017, Greg Stanley
Return to Filtering Next: Estimating a derivative (rate of change)
Return to A Guide to Fault Detection and Diagnosis