Crate scirs2_signal

Crate scirs2_signal 

Source
Expand description

§SciRS2 Signal - Digital Signal Processing

scirs2-signal provides comprehensive signal processing capabilities modeled after SciPy’s signal module, offering filtering, spectral analysis, wavelet transforms, system identification, and time-frequency analysis with SIMD acceleration and parallel processing.

§🎯 Key Features

  • SciPy Compatibility: Drop-in replacement for scipy.signal functions
  • Digital Filters: FIR, IIR, Butterworth, Chebyshev, elliptic, Bessel
  • Spectral Analysis: FFT-based PSD, spectrograms, Lomb-Scargle periodograms
  • Wavelet Transforms: DWT, CWT, dual-tree complex wavelets, 2D transforms
  • Convolution: Fast 1D/2D convolution with SIMD and parallel support
  • LTI Systems: Transfer functions, state-space, frequency response
  • Advanced Methods: EMD, Hilbert transform, system identification

§📦 Module Overview

SciRS2 ModuleSciPy EquivalentDescription
filterscipy.signal.butter, cheby1Digital filter design (FIR/IIR)
convolvescipy.signal.convolve1D/2D convolution and correlation
spectralscipy.signal.periodogramPower spectral density, spectrograms
dwtpywt.dwtDiscrete wavelet transform
waveletspywt.cwtContinuous wavelet transform
windowscipy.signal.get_windowWindow functions (Hann, Hamming, etc.)
ltiscipy.signal.TransferFunctionLTI system representation
lombscarglescipy.signal.lombscargleLomb-Scargle periodogram

§🚀 Quick Start

[dependencies]
scirs2-signal = "0.1.0-rc.4"
use scirs2_signal::{convolve, filter, spectral};

// Convolution
let signal = vec![1.0, 2.0, 3.0];
let kernel = vec![0.25, 0.5, 0.25];
let filtered = convolve(&signal, &kernel, "same").unwrap();

§🔒 Version: 0.1.0-rc.4 (December 21, 2025)

Re-exports§

pub use error::SignalError;
pub use error::SignalResult;
pub use convolve::convolve;
pub use convolve::convolve_simd_ultra;
pub use convolve::correlate;
pub use convolve_parallel::parallel_convolve1d;
pub use convolve_parallel::parallel_convolve_simd_ultra;
pub use measurements::peak_to_peak;
pub use measurements::peak_to_rms;
pub use measurements::rms;
pub use measurements::snr;
pub use measurements::thd;
pub use filter::analyze_filter;
pub use filter::butter;
pub use filter::filtfilt;
pub use filter::firwin;
pub use filter::FilterType;
pub use lti::design_tf;
pub use lti::impulse_response;
pub use lti::lsim;
pub use lti::step_response;
pub use lti::TransferFunction;
pub use spectral::get_window_simd_ultra;
pub use spectral::periodogram;
pub use spectral::spectrogram;
pub use spectral::stft;
pub use spectral::welch;
pub use dwt::dwt_decompose;
pub use dwt::dwt_reconstruct;
pub use dwt::wavedec;
pub use dwt::waverec;
pub use dwt::DecompositionResult;
pub use dwt::Wavelet;
pub use dwt::WaveletFilters;
pub use wavelets::complex_morlet;
pub use wavelets::cwt;
pub use wavelets::morlet;
pub use wavelets::ricker;
pub use wavelets::scalogram;
pub use parametric::ar_spectrum;
pub use parametric::burg_method;
pub use parametric::yule_walker;
pub use parametric_advanced_enhanced::adaptive_ar_spectral_estimation;
pub use parametric_advanced_enhanced::advanced_enhanced_arma;
pub use parametric_advanced_enhanced::high_resolution_spectral_estimation;
pub use parametric_advanced_enhanced::multitaper_parametric_estimation;
pub use parametric_advanced_enhanced::robust_parametric_spectral_estimation;
pub use parametric_advanced_enhanced::AdaptiveARConfig;
pub use parametric_advanced_enhanced::AdvancedEnhancedConfig;
pub use parametric_advanced_enhanced::HighResolutionConfig;
pub use parametric_advanced_enhanced::MultitaperParametricConfig;
pub use parametric_advanced_enhanced::RobustParametricConfig;
pub use swt::iswt;
pub use swt::swt;
pub use swt::swt_decompose_simd_pipelined;
pub use tv::tv_denoise_1d;
pub use tv::tv_denoise_2d;
pub use waveforms::chirp;
pub use waveforms::sawtooth;
pub use waveforms::square;

Modules§

convolve
convolve_parallel
denoise_enhanced
Enhanced wavelet denoising with advanced thresholding methods
dwt
dwt2d_enhanced
Enhanced 2D Discrete Wavelet Transform (DWT) Module
dwt2d_super_refined
Advanced-refined 2D wavelet transforms with memory efficiency and adaptive basis selection
emd
error
filter
hilbert
lombscargle
lombscargle_enhanced
lombscargle_scipy_validation
Comprehensive Lomb-Scargle validation against SciPy reference implementation
lti
measurements
median
parametric
Parametric spectral estimation methods
parametric_advanced
parametric_advanced_enhanced
Advanced-enhanced parametric spectral estimation with SIMD acceleration
simd_advanced
Advanced SIMD-optimized signal processing operations
spectral
spline
swt
sysid
tv
utils
waveforms
wavelets
window
Window Functions for Signal Processing