Inferensys

Glossary

Deadband Filter

A data filter applied to an OPC UA Monitored Item that suppresses notification messages unless the absolute change in a numeric value exceeds a defined threshold, reducing network noise.
Data scientist building training data pipeline on laptop, data preprocessing visible, technical workspace.
DATA ACQUISITION OPTIMIZATION

What is Deadband Filter?

A Deadband Filter is a client-configured mechanism in OPC UA that suppresses data change notifications for a Monitored Item unless the absolute change in a numeric value exceeds a defined threshold, thereby reducing network noise and server load.

A Deadband Filter is applied to a MonitoredItem within an OPC UA Subscription to eliminate redundant data transmissions. When the absolute difference between the current sampled value and the last reported value is less than the configured deadband threshold, the server suppresses the DataChangeNotification. This prevents flooding the network with insignificant fluctuations, such as electrical noise on a sensor signal, and is a critical tool for optimizing bandwidth in high-density telemetry environments.

OPC UA defines two primary deadband types: Absolute Deadband, which uses the engineering units of the Variable (e.g., a temperature change must exceed 0.5°C), and Percent Deadband, which calculates the threshold as a percentage of the defined EURange. Proper configuration requires balancing data fidelity against network determinism, ensuring that only meaningful process deviations trigger updates to supervisory and control systems.

SIGNAL CONDITIONING

Key Characteristics of Deadband Filters

Deadband filters are a fundamental mechanism in OPC UA for suppressing network noise by ignoring insignificant data fluctuations. They ensure that only meaningful changes in process values trigger notifications.

01

Absolute Change Threshold

The filter applies a user-defined absolute deadband to a numeric Variable. A notification is generated only when the absolute difference between the current sampled value and the last reported value exceeds this threshold.

  • Type: AbsoluteDeadband
  • Mechanism: |CurrentValue - LastReportedValue| > DeadbandValue
  • Unit: Matches the engineering units of the Variable (e.g., °C, kPa, mm)
  • Use Case: Ideal for analog signals with inherent noise, such as tank level sensors or vibration monitors.
02

Percent-Based Filtering

For variables with wide operating ranges, a percent deadband scales the threshold relative to the EURange of the AnalogItem. This prevents excessive notifications at low values while maintaining sensitivity at high values.

  • Type: PercentDeadband
  • Mechanism: |CurrentValue - LastReportedValue| > (EURange.High - EURange.Low) * DeadbandPercent / 100
  • Example: A 2% deadband on a 0–1000 °C range suppresses changes less than 20 °C.
  • Benefit: Dynamically adapts sensitivity across the full scale of the instrument.
03

Queue Overflow Handling

When a deadband filter suppresses notifications, the Server may still sample values. If the filter later passes a value, the queue ensures the most recent valid sample is sent, not an outdated one.

  • Behavior: The Server discards older suppressed values and retains only the latest sample.
  • Queue Size: Configured per MonitoredItem to control buffer depth.
  • Overflow Policy: Typically set to DiscardOldest to ensure the Client always receives the freshest data point when the deadband is exceeded.
04

Interaction with Sampling Interval

The deadband filter operates on values acquired at the SamplingInterval rate. A faster sampling rate combined with a tight deadband can still generate high-frequency notifications if the process is noisy.

  • Best Practice: Tune the SamplingInterval to be 2–5x faster than the expected rate of meaningful change.
  • Pitfall: Setting a deadband too wide relative to the sampling rate can mask genuine transient spikes.
  • Optimization: Use in conjunction with a PublishingInterval to batch multiple deadband-passed changes into a single NetworkMessage.
05

Data Change Filter vs. Status Change

A deadband filter only suppresses notifications based on value changes. Notifications triggered by a change in the StatusCode quality (e.g., from Good to Uncertain) bypass the deadband and are sent immediately.

  • StatusCode Precedence: A transition from Good to Bad or Uncertain always generates a notification.
  • Implication: Clients are guaranteed to receive quality degradation alerts even when the value fluctuation is within the deadband.
  • Configuration: This behavior is inherent to the OPC UA specification and cannot be disabled.
06

Network Bandwidth Conservation

By filtering out inconsequential noise, deadband filters directly reduce the volume of DataChangeNotification messages on the network. This is critical for high-node-count systems and bandwidth-constrained edge links.

  • Impact: A 1% deadband on a stable process can reduce notification traffic by over 90%.
  • Scalability: Enables a single OPC UA Server to support thousands of MonitoredItems without saturating the client connection.
  • Contrast: Without deadband, every minor ADC quantization step generates a packet, flooding the network with redundant data.
DEADBAND FILTER

Frequently Asked Questions

Common questions about how deadband filters suppress noise and optimize bandwidth in OPC UA data subscriptions.

A deadband filter is a client-configured data suppression mechanism applied to a Monitored Item that prevents the OPC UA Server from sending a notification unless the absolute change in a numeric value exceeds a defined threshold. It acts as a noise gate, filtering out insignificant fluctuations in process variables—such as sensor jitter or electrical noise—that would otherwise flood the network with meaningless updates. The deadband is defined as a DeadbandType (absolute or percent) and a DeadbandValue, and it is evaluated against the last notified value, not the last sampled value, ensuring hysteresis and stable suppression behavior.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.