Overview

Ekkono Spectral is a software library that contains tools for signal processing.

Hello World Example

Creating an incremental discrete Fourier transform and looping through a signal.


 1  #include "spectral/spectral.h"
 2  inc_dft_params params;
 3  params.sampling_frequency = 100.0// Hz
 4  params.start_frequency = 0.0     // Hz
 5  params.end_frequency = 20.0      // Hz
 6  params.number_of_bins = 32       // Monitor 0-20 Hz with 32 bins
 7
 8  inc_dft_model *model = inc_dft_model_new(&params);
 9
10  float *outputs;
11  for (unsigned int t = 0; t < sample_length; ++t) {
12    outputs = (float *)inc_dft_model_transform(model, signal_sample[t]);
13    // Do something with the outputs
14  }

Requirements

Compiler compatible with C99.

Main Features

  • Fast Fourier Transform
  • Incremental Discrete Fourier Transform
  • Incremental Discrete Wavelet Transform
  • Incremental Autocorrelation estimation
  • Incremental signal to noise ratio estimation

These features are primarily for time series feature engineering for, e.g., change detector models.

Intended Use

Spectral is an independent, supporting library that is useful for, e.g., vibration monitoring.