This document describes the STM32F10x DSP library, which is a suite of common digital signal processing functions, including PID controller, Fast Fourier Transform, FIR and IIR filters.
The STM32F10x DSP (Digital Signal Processing) library is a collection of common functions designed for signal processing on STMicroelectronics STM32 microcontrollers. The library includes implementations in both C and assembly code, with the assembly versions ported to ARM, GCC, and IAR Systems assemblers.
Key features provided by the library include a PID controller (with options for error computation inside or outside the function), complex 16-bit radix-4 Fast Fourier Transform (FFT) functions for vector sizes of 64, 256, and 1024 points, a 16-bit FIR filter, and two types of 16-bit IIR filters (direct form and canonical biquad forms). The document also details the code footprint and execution time benchmarks for these functions.
| Supported Assemblers | ARM, GCC and IAR Systems |
|---|---|
| FIR Filter Type | 16-bit FIR filter |
| Data Format for FFT | 32-bit data containing the 16-bit real part followed by the 16-bit imaginary part |
The assembly code is ported on ARM, GCC and IAR Systems assemblers.
The library includes a PID controller, complex 16-bit radix-4 FFT optimized functions for 64, 256 and 1024 points, a 16-bit FIR filter, and a 16-bit direct-form I IIR filter.
The number of points must be a power of 4, and all signal samples must be 32-bit data containing the 16-bit real part followed by the 16-bit imaginary part.
The frequency of the sine wave is increased from 40 Hz to 4 kHz by steps of 30 Hz.