alihaanc / DSP-Library

DSP-Library wit SIMD functions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DSP-Library

DSP-Library with SIMD functions SIMD stands for 'Single Instruction and Multiple Data Stream'. It represents an organization that includes many processing units under the supervision of a common control unit.

Functions Description
DSP_Filter_init(M_Filt_t *filt) General filter initialize function
DSPkalman_initTrust(Kalman*kalman,Trust type) This function provide simple initialize for kalman filter
DSPkalman_init(Kalman *kalman ,float32_t Q, float32_t R) Normal initialize for kalman filter this function provide Q,R constant values.This filter is 1-Dimensional so we don't use vectors,transpoze and inverse calculation.
DSPexp_moving_avg(M_Filt_t *filt,float32_t input,float Alpha) Exponential moving average filter
DSPmoving_med(M_Filt_t *filt ,float32_t input, unsigned int Numpoints) Moving median filter y = median value(X[N]), X[N]={ sorted N numbers}
DSPmoving_av(M_Filt_t *filt,float32_t input, unsigned int Numpoints) Moving average filter y[n] = ( x[n] + x[n+1]...x[N-1] ) / N
DSP_fir16(M_Filt_t *filt ,int16_t Src) FIR(Finit Impulse Response)filter
DSP_fastfir16(M_Filt_t *filt ,int16_t Src) Fast FIR (Finit Impulse Response) filter with SIMD instructions.
DSPstatistic_32(Statistic *st , int16_t sig, float32_t Sens_RMSnoise) 32 - bit Statistical calculation
DSPstatistic_32(Statistic *st , int16_t sig, float32_t Sens_RMSnoise) 16 - bit Statistical calculation.
FPU_enable() Device FPU(floating point unit ) activation
DSPkalman(Kalman*kalman, float32_t data Kalman prediction
insertionSort(float arr[], unsigned int n) instertion sort

Statistic

The graph below gives the standard deviations of the FIR filtered signal and the unfiltered signal.

compar _std

Statistic Table

statistic

Filters

FIR filter result

fir

Fast FIR filter result

fastfir

All Filter Types and Specification

  • FIR Filter float
  • FIR Filter 16 - bit
  • Fast FIR Filter
  • Exponential Moving Average Filter
  • Moving Average Filter
  • Moving Median Filter
  • Statistic calculation 16 and 32 - bit (Standard deviation,mean,SNR,variance)
  • SIMD support

Prerequisites

  • CMSIS DSP Library
  • Cortex M4

Support:

https://www.buymeacoffee.com/alihancoban



About

DSP-Library wit SIMD functions


Languages

Language:C 97.0%Language:Makefile 2.6%Language:Assembly 0.4%