Expand description
Sparse Fast Fourier Transform Implementation
This module provides implementations of Sparse FFT algorithms, which are efficient for signals that have a sparse representation in the frequency domain. These algorithms can achieve sub-linear runtime when the signal has only a few significant frequency components.
§Module Organization
config
- Configuration types and enums for sparse FFTalgorithms
- Core sparse FFT algorithm implementationswindowing
- Window function utilitiesestimation
- Sparsity estimation methodsreconstruction
- Spectrum reconstruction utilities
§Examples
use scirs2_fft::sparse_fft::{sparse_fft, SparseFFTConfig, SparsityEstimationMethod};
// Create a sparse signal
let signal = vec![1.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.25, 0.0];
// Compute sparse FFT with 4 components
let result = sparse_fft(&signal, 4, None, None).unwrap();
println!("Found {} sparse components", result.values.len());
Re-exports§
pub use algorithms::SparseFFT;
pub use algorithms::SparseFFTResult;
pub use config::SparseFFTAlgorithm;
pub use config::SparseFFTConfig;
pub use config::SparsityEstimationMethod;
pub use config::WindowFunction;
pub use algorithms::adaptive_sparse_fft;
pub use algorithms::frequency_pruning_sparse_fft;
pub use algorithms::sparse_fft;
pub use algorithms::sparse_fft2;
pub use algorithms::sparse_fftn;
pub use algorithms::spectral_flatness_sparse_fft;
pub use reconstruction::reconstruct_filtered;
pub use reconstruction::reconstruct_high_resolution;
pub use reconstruction::reconstruct_spectrum;
pub use reconstruction::reconstruct_time_domain;
pub use config::try_as_complex;
Modules§
- algorithms
- Core sparse FFT algorithm implementations
- config
- Configuration types and utilities for Sparse FFT algorithms
- estimation
- Sparsity estimation methods for Sparse FFT
- reconstruction
- Spectrum reconstruction utilities for Sparse FFT
- windowing
- Window function implementations for Sparse FFT