Abstract
Fixed-point digital filters are simple yet ubiquitous components of a wide variety of digital processing and control systems. Common errors in fixed-point filters include arithmetic round-off (truncation) errors, overflows and the presence of limit cycles. These errors can potentially compromise the correctness of the system as a whole. Traditionally, digital filters have been verified using a combination of design techniques from control theory and extensive testing. In this paper, we examine the use of formal verification techniques as part of the design flow for fixed-point digital filters. We study two classes of verification techniques involving bit-precise analysis and real-valued error approximations, respectively. We empirically evaluate several variants of these two fundamental approaches for verifying fixed-point implementations of digital filters. We design our comparison to reveal the best possible approach towards verifying real-world designs of infinite impulse response (IIR) digital filters. Our study compares the strengths and weaknesses of different verification techniques for digital filters and suggests efficient approaches using modern satisfiability-modulo-theories solvers (SMT) and hardware model checkers. This manuscript extends our previous work evaluating bounded verification, where a limited number of iterations of the system are explored, with unbounded verification, where an unlimited number of iterations of the system are considered. Doing so allows us to evaluate techniques that can prove the correctness of fixed-point digital filter implementations.
Similar content being viewed by others
Notes
Matlab is a product of Mathworks Inc. http://www.mathworks.com.
Specifically, Matlab yields coefficients \(b_0 = 0.2066, b_1 = 0.4131, b_2 = 0.2066\) and \(a_1 = -0.3695, a_2 = 0.1958\) based on floating-point calculations.
Specifically, the coefficients are quantized to \(b_0 = 0.21875, b_1 = 0.40625, b_2 = 0.21875\) and \(a_1 = -0.375, a_2 = 0.1875\).
References
Akbarpour, B., Tahar, S.: Error analysis of digital filters using HOL theorem proving? J. Appl. Log. 5(4), 651–666 (2007)
Alegre, F., Feron, E., Pande, S.: Using ellipsoidal domains to analyze control systems software. CoRR, abs/0909.1977 (2009)
Barrett, C., Deters, M., de Moura, L., Oliveras, A., Stump, A.: 6 years of SMT-COMP. J. Autom. Reason. 50(3):243–277 (2013)
Biere, A.: The AIGER And-Inverter Graph (AIG) Format Version 20071012 (2007)
Biere, A., Heljanko, K.: Hardware model checking competition. In: FMCAD (2011)
Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software (invited chapter). In: The Essence of Computation: Complexity, Analysis, Transformation. Essays Dedicated to Neil D. Jones, volume 2566 of LNCS, pp. 85–108. Springer, Berlin (2005)
Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) Verification, Model Checking, and Abstract Interpretation (VMCAI), vol. 6538, pp. 70–87. Springer, Berlin (2011)
Brayton, R.K., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Computer-Aided Verification (CAV), pp. 24–40 (2010)
Brillout, A., Kroening, D., Wahl, T.: Mixed abstractions for floating-point arithmetic. In: Formal Methods in Computer Aided Design (FMCAD), pp. 69–76 (2009)
Clarke, E., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 19(1), 7–34 (2001)
Cox, A., Sankaranarayanan, S., Chang, B.-Y.E.: A bit too precise? Bounded verification of quantized digital filters. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pp. 33–47 (2012)
Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)
de Figueiredo, L.H., Stolfi, J.: Self-validated numerical methods and applications. In: Brazilian Mathematics Colloquium monograph. IMPA, Rio de Janeiro, Brazil (1997)
De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pp. 337–340 (2008)
Een, N., Mishchenko, A., Brayton, R.: Efficient implementation of property directed reachability. In: Formal Methods in Computer Aided Design (FMCAD), pp. 125–134. FMCAD Inc (2011)
Fang, C., Rutenbar, R., Chen, T.: Fast, accurate static analysis for fixed-point finite-precision effects in DSP designs. In: International Conference on Computer-Aided Design (ICCAD), pp. 275–282 (2003)
Feret, J.: Static analysis of digital filters. In: Programming Languages and Systems 2986, 33–48 (2004)
Fränzle, M., Herde, C., Ratschan, S., Schubert, T., Teige, T.: Efficient solving of large non-linear arithmetic constraint systems with complex Boolean structure. JSAT 1(3–4), 209–236 (2007)
Goubault, E., Putot, S.: Static analysis of finite precision computations. In: Verification, Model Checking, and Abstract Interpretation (VMCAI), pp. 232–247 (2011)
Hoder, K., Bjørner, N.: Generalized property directed reachability. In: Cimatti, A., Sebastiani, R. (eds.) Theory and Applications of Satisfiability Testing (SAT), vol. 7317, pp. 157–171. Springer, Berlin (2012)
Kinsman, A.B., Nicolici, N.: Finite precision bit-width allocation using SAT-modulo theory. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE ’09, p. 11061111. European Design and Automation Association (2009)
Lee, D., Gaffar, A., Cheung, R., Mencer, O., Luk, W., Constantinides, G.: Accuracy-guaranteed bit-width optimization. IEEE Trans. CAD Integr. Circuits Syst. 25(10), 1990–2000 (2006)
McMillan, K.L.: Interpolation and SAT-based model checking. In: Computer-Aided Verification (CAV), pp. 1–13 (2003)
Monniaux, D.: Compositional analysis of floating-point linear numerical filters. In: Computer-Aided Verification (CAV), vol. 3576, pp. 199–212 (2005)
Monniaux, D.: On using floating-point computations to help an exact linear arithmetic decision procedure. In: Computer-Aided Verification (CAV), pp. 570–583 (2009)
Oppenheim, A.V., Willsky, A.S., Nawab, S.H.: Signals & Systems, 2nd edn. Prentice Hall, Englewood Cliffs (1997)
Pang, Y., Radecka, K., Zilic, Z.: Optimization of imprecise circuits represented by taylor series and real-valued polynomials. IEEE Trans. CAD Integr. Circuits Syst. 29(8), 1177–1190 (2010)
Pang, Y., Radecka, K., Zilic, Z.: An efficient hybrid engine to perform range analysis and allocate integer bit-widths for arithmetic circuits. In: Asia South Pacific Design Automation Conference (ASP-DAC), pp. 455–460 (2011)
Smith, J.O.: Introduction to Digital Filters: With Audio Applications. W3K Publishing. http://books.w3k.org/, ISBN 978-0-9745607-1-7 (2007)
Sung, W., Kum, K.: Simulation-based word-length optimization method for fixed-point digital signal processing systems. IEEE Trans. Signal Process. 43(12), 3087–3090 (1995)
Author information
Authors and Affiliations
Corresponding author
Additional information
This material is based upon work supported by the National Science Foundation (NSF) under Grant No. 0953941. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of NSF.
Rights and permissions
About this article
Cite this article
Cox, A., Sankaranarayanan, S. & Chang, BY.E. A bit too precise? Verification of quantized digital filters. Int J Softw Tools Technol Transfer 16, 175–190 (2014). https://doi.org/10.1007/s10009-013-0279-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-013-0279-9