What is CMSIS-DSP?

CMSIS-DSP is a general-purpose computation library focused on digital signal processing (DSP).

Originally developed for Cortex-M processors, it now also supports Cortex-A.

The library is optimized for each architecture:

  • DSP extensions on Cortex-M4 and M7.
  • Helium on M55 and M85.
  • Neon on Cortex-A55 and other Cortex-A cores.

What is the CMSIS-DSP Python package?

The CMSIS-DSP Python package provides a Python API for CMSIS-DSP. Its goal is to make it easier to develop a C solution using CMSIS-DSP by bridging the gap between a Python-based design environment and a final C implementation.

The API is designed to closely mirror the C version in both function and structure.

Fixed-point arithmetic is rarely supported by Python libraries, which generally focus on floating-point operations. The CMSIS-DSP Python package includes the same fixed-point arithmetic functions as the C version: Q31, Q15 and Q7. Support for half-precision floats will be added in a future release, matching the C API.

The package is compatible with NumPy and integrates well with scientific and AI libraries such as SciPy and PyTorch.

Back
Next