Module sparse_fft

Module sparse_fft 

Source
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

§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