#signal-processing #euro-filter

one-euro-rs

A rust implementation of the One Euro Fitler, a fast and simple signal filter, based on the work of Géry Casiez, Nicolas and Daniel Vogel

2 unstable releases

Uses old Rust 2015

0.2.0 Aug 22, 2019
0.1.0 Sep 29, 2018

#47 in #signal-processing


Used in pitch-pipe

MIT license

215KB
7.5K SLoC

One Euro Filter

A fast and simple signal filter based on the work of Géry Casiez, Nicolas and Daniel Vogel. The original research paper describing the algorithm can be found in the ACM digital library (paywalled) and further information, as well as other implementations, are available on the original author's website.

Example

use one_euro_rs::OneEuroFilter;

// Set up the filter.
let frequency = 120.0;
let cutoff_min = 1.0;
let cutoff_d = 1.0;
let beta = 1.0;

let mut one_euro = OneEuroFilter::new(frequency, cutoff_min, cutoff_d, beta);

// Process some values.
one_euro.filter(1.0);
one_euro.filter(1.1);
one_euro.filter(0.9);
one_euro.filter(99999.9);
one_euro.filter(1.01);
one_euro.filter(1.04);
one_euro.filter(0.00);

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Dependencies

~155KB