Filtering With Hysteresis: Dead Bands, Change Bands, and Latching
This page describes forms of hysteresis that can be used as for filtering: dead bands, change bands, and latching. This page is part of the section on
Filtering that is part of
A Guide to Fault Detection and Diagnosis.
Deadband filtering during event generation
For alarm systems, and diagnostic systems based on qualitative models such as logic trees or causal directed graphs, there is a filtering opportunity at the point where analog data is converted to discrete states or events.
This is widely used even in the simplest alarm systems by specifying a “deadband”. As an example of a deadband, consider a high level alarm. As a level sensor increases in value from its normal range to a high value, at some point it crosses an alarm threshold x and a high-level event is generated. However, because most sensor signals have noise, you generally don’t want the alarm to be removed as soon as the level signal drops back below x. If the average sensor value is sitting near x, with high frequency noise, the alarm would constantly be generated and removed, requiring repetitive acknowledgment. Instead a deadband of size d is used, so that the alarm is not removed until the level signal falls below the value x - d. The deadband parameter d is chosen so that it is larger than the variations caused by typical noise.
More generally, the term hysteresis is used to indicate resistance to changing an output until a large enough input change has been reached. In electronic circuits, this type of filtering to force “clean” digital signals from noisy sources is accomplished with a Schmitt trigger.
“Change band” filtering - hysteresis applied to analog data values
Process data historians and interfaces to process control systems may offer a form of hysteresis, sometimes called “change band”. Only values that represent significant changes from previous values are transmitted or stored. Otherwise, the data values are assumed to be unchanged. This is similar to the deadband idea, but the deadband moves, centered around the most recent data. The intent is to minimize the amount of data to be transmitted or stored. There are more elaborate algorithms for this, with names like “swinging door”. For instance, instead of just looking at the values, some of these sorts of filters keep a trend line, and only pass new data when it deviates enough from the trend line. This allows more compact storage for a variable increasing or decreasing at a constant rate.
This kind of filtering cannot be tolerated in closed loop control systems, introduces errors when accurate steady state values are important (as in data reconciliation), and should generally be avoided in diagnostic systems as well. The possible steady state errors will affect model-based reasoning based on quantitative models, and even potentially affect diagnosis when operating near event (alarm) thresholds. One major problem is that certain failure modes are best detected by time series analyses such as standard deviation or rate of change. (For example, recognizing “frozen” sensor values, or recognizing noisy values as an indication of sensor problems or pump cavitation.) Change band filtering destroys the meaning of these calculations. Even when these sorts of calculations may not be needed in an initial application, it is simply too easy to forget that it is there when making changes in the future, This kind of filtering may be hard to avoid when basing a system on existing process data historians, so it is best to avoid using them when possible.
When interfacing to process control systems directly, this type of change band filtering should be turned off as a matter of policy.
Latching - filtering digital signals and conclusions by holding values
Some inputs arrive from other systems as digital inputs, and they might be erratic. Also, despite other filtering, it is still possible that intermediate or final conclusions reached by a diagnostic system may change too frequently. In the case of any of these binary true/false inputs, intermediate variables, or conclusions, filtering of the binary values can be accomplished by “latching” of values. That is, when a value is found or a conclusion is reached, hold it for a minimum time interval regardless of changes in input during that interval. This can be refined to latch only new “true” values, or only new “false” values, or both. The time to hold the values can be specified to be different for true and for false values. The selection of latching strategy and latching times is based on which is more of a problem: holding a “true” value too long or holding a “false” value too long.
Copyright 2010 - 2020, Greg Stanley
Return to Filtering Next: Kalman Filter
Return to A Guide to Fault Detection and Diagnosis