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.signalfunctions - 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 Module | SciPy Equivalent | Description |
|---|---|---|
filter | scipy.signal.butter, cheby1 | Digital filter design (FIR/IIR) |
convolve | scipy.signal.convolve | 1D/2D convolution and correlation |
spectral | scipy.signal.periodogram | Power spectral density, spectrograms |
dwt | pywt.dwt | Discrete wavelet transform |
wavelets | pywt.cwt | Continuous wavelet transform |
window | scipy.signal.get_window | Window functions (Hann, Hamming, etc.) |
lti | scipy.signal.TransferFunction | LTI system representation |
lombscargle | scipy.signal.lombscargle | Lomb-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