Try   HackMD

Here are some of the most popular and widely used DSP (Digital Signal Processing) (What is a DSP?)libraries for embedded systems:

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

1. CMSIS-DSP (Arm Cortex-M series)
Platform: ARM Cortex-M (e.g., STM32, NXP, etc.)

Features:

  • Fast math functions (FFT, FIR, IIR, convolution)
  • Matrix operations
  • Filtering, statistical functions

Optimized for: Hardware acceleration using SIMD on Cortex-M4, M7, M33, M55

Maintained by: Arm

License: BSD-like (very permissive)

Best for: STM32 and any Arm-based MCU

2. KissFFT
Platform: Cross-platform (C-based)

Features:

  • Lightweight, portable FFT library
  • Fixed-point and floating-point support

License: BSD

Use case: FFTs in resource-constrained devices

Best for: Small MCUs with custom FFT needs

3. DSP Library from Texas Instruments (TI DSP Library)
Platform: TI C2000, MSP430, and other TI DSPs

Features:

  • Optimized fixed-point and floating-point DSP functions
  • FFT, IIR/FIR, filter design

Highly optimized for TI’s proprietary cores (e.g., C28x)

Best for: TI DSP chips and real-time control systems

4. PULP-DSP
Platform: RISC-V (PULP architecture)

Features:

  • DSP kernel functions for energy-efficient processors
  • Designed for parallelism and low power

License: Open source (Solderpad/MIT)

Best for: RISC-V based low-power embedded systems

5. Eigen (Header-only C++ Library)
Platform: General embedded systems with C++ support

Features:

  • Matrix and vector algebra
  • Works well with ARM + FPU

Not optimized for MCU scale but usable with fast processors

Best for: Medium/high-end MCUs with C++ needs

6. ARM Compute Library
Platform: ARM Cortex-A (e.g., Raspberry Pi, ARM SoCs)

Features:

  • NEON-accelerated DSP and machine learning
  • FFT, convolution, pooling

Best for: Embedded Linux + DSP/AI workloads

Comparison Table

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Conclusion
If you're using STM32, CMSIS-DSP is by far the most compatible and optimized option.
For lightweight or custom use: KissFFT or TI DSP Library (if using TI chips).
For RISC-V systems: go with PULP-DSP.