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(¶ms);
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.