EmbeddedRelated.com
Books

Math Toolkit for Real-Time Programming

Crenshaw, Jack 2000

Do big math on small machines Write fast and accurate library functions Master analytical and numerical calculus Perform numerical integration to any order Implement z-transform formulas Need to learn the ins and outs of the fundamental math functions in


Why Read This Book

You will learn how to do large-scale, accurate math on resource-constrained processors so your firmware delivers reliable results without sacrificing performance. This book gives practical algorithms, error analysis, and implementation techniques—focused on fixed-point, fast approximations, numerical integration, and z-transform methods—that make advanced math feasible on microcontrollers and real-time systems.

Who Will Benefit

Embedded firmware engineers and systems developers with some programming and math background who need to implement fast, accurate math and DSP routines on constrained microcontrollers or real-time platforms.

Level: Advanced — Prerequisites: Comfortable with C programming and basic assembly, understanding of integer and floating-point number representations, and introductory calculus (derivatives/integrals); familiarity with digital signal processing fundamentals is helpful but not required.

Get This Book

Key Takeaways

  • Implement fast, accurate transcendental and elementary math functions (exp, log, sin, cos, sqrt) suitable for small CPUs
  • Design and code fixed-point arithmetic and conversion routines to avoid floating-point overhead
  • Apply numerical differentiation and integration techniques to arbitrary order for real-time tasks
  • Use polynomial and rational approximations (Taylor, Chebyshev, minimax) and evaluate trade-offs between accuracy and cost
  • Implement z-transform formulas and essential DSP building blocks for filters and transforms on embedded targets
  • Analyze and bound numerical error, stability, and performance to choose the right algorithm for your hardware constraints

Topics Covered

  1. 1. Introduction: Doing Big Math on Small Machines
  2. 2. Number Representations: Integers, Fixed-Point, and Floating-Point
  3. 3. Basic Techniques: Scaling, Range Reduction, and Error Metrics
  4. 4. Polynomial and Rational Approximations (Taylor, Chebyshev, Minimax)
  5. 5. Implementing Transcendental Functions (exp, log, sin, cos, tan)
  6. 6. Square Roots, Reciprocals, and Fast Inverse Techniques
  7. 7. CORDIC and Iterative Algorithms
  8. 8. Numerical Differentiation and Integration to Any Order
  9. 9. z-Transform Basics and Practical DSP Formulas
  10. 10. Filter Implementation, Convolution, and Real-Time Considerations
  11. 11. Fixed-Point Design Patterns and Conversion Strategies
  12. 12. Performance Optimization and Assembly-Level Tuning
  13. 13. Testing, Validation, and Error Analysis
  14. Appendices: Tables, Example Routines, and Reference Material

Languages, Platforms & Tools

CAssemblyPseudocodeGeneral 8/16/32-bit microcontrollersARM Cortex-MAVRPICMSP430Embedded Linux (for higher-end targets)GCC / arm-none-eabiKeil MDK / IAR (examples adaptable)GDB / hardware debuggersSimulators and emulatorsMATLAB / Octave (for verification and prototyping)

How It Compares

Similar in applied focus to Numerical Recipes for algorithmic detail but far more tuned to constrained embedded targets; complements Hacker's Delight by emphasizing numerical approximations and calculus rather than bit-twiddling integer tricks.

Related Books

Bryant, Randal, O'Hallaron,...