Multiple domains involve systems with abruptly changing states, that result in signals with signatures that are corrupted by noise and sensor dynamics. In many applications, prior information on the magnitudes and timing distributions are unknown, compounding the difficulty of filtering such signals. Several non-linear filtering techniques are available with varying efficacies, however only a few offer theoretical guarantees. Recent research has led to a heuristic, iterative, non-linear filtering technique that is found to be effective over a range of applications. In this article, we present this iterative algorithm that learns the distribution of the event magnitude and provides an estimate of when an event has occurred. Here, every iteration involves two stages: the first one providing an estimate of the true signal that uses a prior on the distribution of event magnitudes, followed by the second stage where a distribution of the event magnitudes is computed from an estimate of the true signal. It is shown that with every iterate, the performance of the algorithm only improves and convergence of the posterior probability is established. Our comparative tests show that our algorithm provides significant performance improvements, especially for high bandwidth applications where sensor dynamics cannot be neglected. In addition, we provide a python-based implementation of the algorithm and provide a comprehensive comparison with existing methods in practice.
Bibliographical noteFunding Information:
This project was supported by the NSF CMMI, USA grant awarded to M.S. The material in this paper was partially presented at the 2018 American Control Conference, June 27–29, 2018, Milwaukee, WI, USA. This paper was recommended for publication in revised form by Associate Editor Michele Basseville under the direction of Editor Torsten Söderström.
© 2021 Elsevier Ltd
- Iterative improvements
- Piece-wise constant signals
- Step detection algorithm