Skip to main content
Log in

A bit too precise? Verification of quantized digital filters

  • TACAS 2012
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Matlab is a product of Mathworks Inc. http://www.mathworks.com.

  2. 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.

  3. 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

  1. Akbarpour, B., Tahar, S.: Error analysis of digital filters using HOL theorem proving? J. Appl. Log. 5(4), 651–666 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  2. Alegre, F., Feron, E., Pande, S.: Using ellipsoidal domains to analyze control systems software. CoRR, abs/0909.1977 (2009)

  3. Barrett, C., Deters, M., de Moura, L., Oliveras, A., Stump, A.: 6 years of SMT-COMP. J. Autom. Reason. 50(3):243–277 (2013)

    Google Scholar 

  4. Biere, A.: The AIGER And-Inverter Graph (AIG) Format Version 20071012 (2007)

  5. Biere, A., Heljanko, K.: Hardware model checking competition. In: FMCAD (2011)

  6. 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)

  7. 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)

  8. Brayton, R.K., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Computer-Aided Verification (CAV), pp. 24–40 (2010)

  9. Brillout, A., Kroening, D., Wahl, T.: Mixed abstractions for floating-point arithmetic. In: Formal Methods in Computer Aided Design (FMCAD), pp. 69–76 (2009)

  10. Clarke, E., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 19(1), 7–34 (2001)

    Article  MATH  Google Scholar 

  11. 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)

  12. Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)

    Article  MATH  MathSciNet  Google Scholar 

  13. de Figueiredo, L.H., Stolfi, J.: Self-validated numerical methods and applications. In: Brazilian Mathematics Colloquium monograph. IMPA, Rio de Janeiro, Brazil (1997)

  14. 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)

  15. 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)

  16. 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)

  17. Feret, J.: Static analysis of digital filters. In: Programming Languages and Systems 2986, 33–48 (2004)

  18. 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)

    Google Scholar 

  19. Goubault, E., Putot, S.: Static analysis of finite precision computations. In: Verification, Model Checking, and Abstract Interpretation (VMCAI), pp. 232–247 (2011)

  20. 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)

  21. 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)

  22. 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)

    Article  Google Scholar 

  23. McMillan, K.L.: Interpolation and SAT-based model checking. In: Computer-Aided Verification (CAV), pp. 1–13 (2003)

  24. Monniaux, D.: Compositional analysis of floating-point linear numerical filters. In: Computer-Aided Verification (CAV), vol. 3576, pp. 199–212 (2005)

  25. Monniaux, D.: On using floating-point computations to help an exact linear arithmetic decision procedure. In: Computer-Aided Verification (CAV), pp. 570–583 (2009)

  26. Oppenheim, A.V., Willsky, A.S., Nawab, S.H.: Signals & Systems, 2nd edn. Prentice Hall, Englewood Cliffs (1997)

    Google Scholar 

  27. 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)

    Article  Google Scholar 

  28. 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)

  29. Smith, J.O.: Introduction to Digital Filters: With Audio Applications. W3K Publishing. http://books.w3k.org/, ISBN 978-0-9745607-1-7 (2007)

  30. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arlen Cox.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-013-0279-9

Keywords

Navigation