DSP for Cortex-M

Signal processing with all the benefits of developing on a MCU while leveraging the ease of use of Cortex-M


Arm’s Digital Signal Controllers, the Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P processors, address the need for high-performance generic code processing, as well as digital signal processing applications.

The addition of DSP extensions to the Thumb instruction set and the optional floating-point unit (FPU), are designed to improve the performance of numerical algorithms. In addition, they provide the opportunity to perform signal processing operations directly on the Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P processors, while maintaining the ease of use of the Cortex-M programmer’s model.

Breaking down 32-bit Diagram.

Wide range of DSP and SIMD instructions

The Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P processors provide SIMD instructions that operate on 8-or 16-bit integers. All registers are still 32-bits wide, but the SIMD instructions operate on 2 x 16-bit values or 4 x 8-bit values at the same time within a 32-bit register.

Instructions that work on 8- or 16-bit data types are useful for processing data such as video or audio, as they do not require full 32-bit precision. The SIMD instructions allow these 2x16-bit or4x8-bit operations to be performed in parallel.


The CMSIS-DSP library is a suite of common signal processing and mathematical functions that have been optimized for Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P processors. The library is freely available as part of the CMSIS release from Arm and includes all source code.

The functions in the library are divided into several categories:

  1. Basic math functions, such as Vector Dot Product, Vector Multiply, Vector Addition
  2. Fast math functions, such as Square Root, Sine and Cosine
  3. Complex math functions, such as Complex Dot Product, Complex-by-real Multiplication
  4. Filters, such as FIR, IIR, Biquad and Convolution
  5. Matrix functions, such as Matrix Multiplication, Complex Matrix Multiplication
  6. Transforms, such as Complex FFT functions
  7. Motor control functions, including Vector Clarke Transform, Vector Park Transform, PID Motor Control
  8. Statistical functions, including Root Mean Square (RMS), Standard deviation, Maximum and Power
  9. Support functions, e.g. conversion of datatypes from float to fixed point
  10. Interpolation functions.

Arm's DSP ecosystem partners also provide a broad range of software libraries, including servo motor control, Voice over IP (VOIP) and video & audio codecs. Learn more about DSP ecosystem partners here.

  • Line drawing of letter, email etc.
  • CMSIS-DSP Library

    The CMSIS-DSP library has separate functions for operating on 8-bit integers, 16-bit integers, 32-bit integers, and 32-bit floating point values.

    Access library
  • Line drawing of letter, email etc.
  • Keyword Spotting

    Explore the Arm keyword spotting (KWS) open source library for microcontrollers on GitHub.

    Access library

Strong ecosystem for DSP applications

A wide range of DSP software packages for Cortex-M4, Cortex-M7, Cortex-M33 and Cortex-M35P processors is available.

Learn more about Arm's DSP ecosystem partners who offer these software packages below:

Audio codecs:

Speech codecs:

Audio enhancement algorithms:

MP3 Decoder G.711 Echo cancellation
MP3 Encoder G722 Noise suppression
MPEG-2 Layer 2 Decoder G.722.1 Beamforming
MPEG-2 Layer 2 encoder G.722.2 Voice Activity Detection
AAC-LC decoder G.723.1 Key Word Spotting
AAC-LC encoder G.726 AudioZoom
AAC-LD encoder G.727 Equalization
AAC-LD decoder G.728 Wind noise reduction
AAC-ELC encoder G.729 Automatic Gain Control
HE-AAC encoder G.729A  
WMA encoder G.729B  
WMA decoder G.729AB  
SBC bluetooth decoder AMR Narrowband
SBC Bluetooth encoder AMR Wideband
Ogg Vorbis AMR Wideband+

Fast Models

Arm-based SoCs and subsystems with fast virtual prototypes.

Learn more

Arm Compiler

Cortex-M processor software development with the next-generation C/C++ compilation toolchain.

Learn more

Find out more

Interested in speaking with someone about licensing Arm technology? Get in touch to speak with one of our sales representatives.