#filter #dft #goertzel #accurate #single-frequency #filter-based

goertzel-filter

Implementation of Goertzel filter-based single-frequency DFT. Accurate to 0.1%.

3 unstable releases

Uses old Rust 2015

0.2.0 Oct 13, 2016
0.1.1 Oct 8, 2016
0.1.0 Oct 8, 2016

#13 in #dft

MPL-2.0 license

11KB
74 lines

goertzel

cargo badge

Rust implementation of the Goertzel filter.

The Goertzel filter is faster than the FFT for a small range of frequencies of interest.

interface

  • pub fn filter_naive(input: &Vec<f64>, linear_freq: f64) -> Vec<Complex<f64>>

    Just applies the filter equations and gives you the complete output.

  • pub fn dft(input: &Vec<f64>, linear_freq: f64) -> Complex<f64>

    Computes the associated (closest) DFT term to a given linear frequency.

  • pub fn dft_power(input: &Vec<f64>, linear_freq: f64) -> f64

    Computes the power of the signal at a given DFT bin.

TODO

Dependencies

~240KB