Crate spectrum_analyzer[−][src]
A simple and fast no_std
library to get the frequency spectrum of a digital signal
(e.g. audio) using FFT. It follows the KISS principle and consists of simple building
blocks/optional features.
In short, this is a convenient wrapper around an FFT implementation. You choose the implementation at compile time via Cargo features. As of version 0.4.0 this uses “microfft”-crate.
Modules
scaling | This module contains convenient public transform functions that you can use
as parameters in |
windows | Several window functions which you can apply before doing the FFT. For more information: |
Structs
FrequencySpectrum | Convenient wrapper around the processed FFT result which describes each frequency and
its value/amplitude in the analyzed slice of samples. It only consists of the frequencies
which were desired, e.g. specified via
|
Enums
FrequencyLimit | Can be used to specify a desired frequency limit. If you know that you only
need frequencies |
Functions
samples_fft_to_spectrum | Takes an array of samples (length must be a power of 2), e.g. 2048, applies an FFT (using the specified FFT implementation) on it and returns all frequencies with their volume/magnitude. |
Type Definitions
ComplexSpectrumScalingFunction | Describes the type for a function factory that generates a function that can scale/normalize
the data inside |
Frequency | A frequency. A convenient wrapper type around |
FrequencyValue | The value of a frequency in a frequency spectrum. Convenient wrapper around |
SimpleSpectrumScalingFunction | Definition of a simple function that gets applied on each frequency magnitude
in the spectrum. This is easier to write, especially for Rust beginners.
Everything that can be achieved with this, can also be achieved with parameter
|