Poles-based Invariant Generation for Verifying the BIBO Stability of Digital Filters
Xiao Guo,Jianhua Zhao,Lei Bu
DOI: https://doi.org/10.1145/3641513.3650138
2024-01-01
Abstract:Digital filters, a subclass of linear time-invariant systems, are widely used in signal processing and control systems. A digital filter performs mathematical operations on a sampled, discrete-time signal to reduce or enhance certain aspects of that signal. Such a system is implemented by a loop that iterates over an infinite time horizon. At each iteration, a random value is generated as input, and a linear expression is evaluated as output. In control theory, bounded-input, bounded-output (BIBO) stability is a fundamental criterion, which requires that any bounded input to a digital filter yields a bounded output. Correspondingly, at the implementation level, we aim to determine if a specified interval bounds the output of a given filter. However, due to the complexity of digital filters, it is hard for state-of-the-art approaches to make a sound over-approximation of all the possible output values of a filter. In this work, considering the strong connection between poles of digital filters and BIBO stability, we propose a poles-based invariant to over-approximate the output ranges of filters. Initially, we design a decomposition of the iteration of a subclass of filters, based on which we derive a set of inequalities to provide bounds on the output. Subsequently, we generalize this approach to over-approximate the output ranges of general digital filters. Moreover, we split the output value at each iteration into two parts. One is computed precisely by bounded analysis. The other is a new filter that can be analyzed using our invariant. This optimization improves the precision of our approach. Leveraging this approach, we develop a prototype tool for verifying programs related to digital filters and compare it with the state-of-the-art. The results demonstrate that our approach delivers more precise over-approximations in less time for verifying BIBO stability.