This user manual describes the NMSIS DSP software library, a suite of common signal processing functions for use on Nuclei N/NX Class Processors based devices.

The library is divided into a number of functions each covering a specific category:

  • Basic math functions

  • Bayes functions

  • Complex math functions

  • Controler functions

  • Distance functions

  • Fast math functions

  • Filtering functions

  • Interpolation functions

  • Matrix functions

  • Quaternion math functions

  • Statistical functions

  • Support functions

  • SVM functions

  • Transform functions

  • Window functions

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

Using the Library

The library functions are declared in the public file riscv_math.h which is placed in the NMSIS/DSP/Include and NMSIS/DSP/PrivateInclude folder.

Simply include this file and link the appropriate library in the application and begin calling the library functions.

The Library supports single public header file riscv_math.h for Nuclei N/NX Class Processors cores with little endian. Same header file will be used for floating point unit(FPU) variants.


The library ships with a number of examples which demonstrate how to use the library functions.

Toolchain Support

The library has been developed and tested with RISC-V GCC Toolchain.

The library is being tested in GCC toolchain and updates on this activity will be made available shortly.

Building the Library

The library installer contains a Makefile to rebuild libraries on Nuclei RISC-V GCC toolchain in the NMSIS/ folder.

The library can be built by run make gen_dsp_lib, it will build and install DSP library into Library/DSP/GCC folder.

Preprocessor Macros

Each library project have different pre-processor macros controlled via CMakeLists.txt.

This library is only built for little endian targets.