Expand description
§embedded-dsp
A #![no_std] Rust digital signal processing library for microcontrollers, embedded systems, and real-time signal processing applications.
§Overview
embedded-dsp provides zero-allocation digital signal processing algorithms:
- Basic Math: Elementwise addition, subtraction, multiplication, dot product, scale, shift, clip, logic ops.
- Complex Math: Complex vector addition, multiplication, magnitude, magnitude squared, conjugate, dot product.
- Fast Math: Trigonometric (sin, cos, atan2), square root, division, log, exp.
- Statistics: Mean, variance, standard deviation, RMS, power, min/max, entropy, Kullback-Leibler, LogSumExp.
- Support: Vector copy, fill, type conversions (Q7, Q15, Q31, F32), sort, barycenter, weighted sum.
- Matrix: Matrix addition, subtraction, multiplication, scale, transpose, Gauss-Jordan inverse.
- Filtering: FIR, Biquad IIR Direct Form I, LMS adaptive filters, Convolution, Correlation.
- Transform: In-place Complex FFT (CFFT), Real FFT (RFFT), DCT-IV, Bit reversal.
- Controller: PID motor controller, Clarke transform, Park transform, Inverse Clarke/Park.
- Interpolation: Linear, Bilinear, Cubic spline interpolation.
- Quaternion: Norm, normalization, product, conjugate, inverse, rotation matrix conversion.
- Window: Hanning, Hamming, Blackman, Bartlett, Welch, Flat-top window generators.
- Distance: Euclidean, Cosine, Chebyshev, Manhattan, Minkowski, Jaccard, Hamming, Canberra, Bray-Curtis.
- Bayes: Gaussian Naive Bayes classifier.
- SVM: Support Vector Machine classifier with Linear, Polynomial, RBF, and Sigmoid kernels.
Re-exports§
pub use basic_math::*;pub use bayes::*;pub use complex_math::*;pub use controller::*;pub use distance::*;pub use fast_math::*;pub use filtering::*;pub use interpolation::*;pub use math::*;pub use matrix::*;pub use quaternion::*;pub use statistics::*;pub use support::*;pub use svm::*;pub use transform::*;pub use types::*;pub use window::*;
Modules§
- basic_
math - Basic math operations (absolute value, addition, subtraction, multiplication, dot product, negation, offset, scale, shift, clip, logic ops).
- bayes
- Gaussian Naive Bayes Classifier.
- complex_
math - controller
- Controller functions (PID motor control, Clarke transform, Park transform, Inverse Clarke, Inverse Park).
- distance
- Distance metrics between vectors (Euclidean, Cosine, Chebyshev, Manhattan, Minkowski, Jaccard, Hamming, Canberra, Bray-Curtis).
- fast_
math - Fast math functions (sin, cos, sin_cos, sqrt, vsqrt, divide, log, exp, atan2).
- filtering
- Digital filtering functions (FIR, Biquad IIR Direct Form I & II, LMS Adaptive Filter, Convolution, Correlation).
- interpolation
- Interpolation functions (Linear, Bilinear, Spline).
- math
- Unified math abstraction providing floating-point mathematical operations using
libminno_stdenvironments orstdmath when available. - matrix
- Matrix operations (addition, subtraction, multiplication, scale, transpose, inverse, complex matrix multiplication).
- quaternion
- Quaternion math functions (norm, normalize, product, conjugate, inverse, rotation matrix conversion).
- statistics
- Statistics functions (mean, variance, standard deviation, RMS, power, min, max, absmax, absmin, entropy, Kullback-Leibler, LogSumExp).
- support
- Support functions (copy, fill, format conversions q7/q15/q31/f32, sort, barycenter, weighted sum).
- svm
- Support Vector Machine (SVM) Classifier (Linear, Polynomial, RBF, Sigmoid kernels).
- transform
- Fast Fourier Transform (FFT), Real FFT (RFFT), Discrete Cosine Transform (DCT-IV), and Bit Reversal functions.
- types
- Data types, status codes, complex structures, and fixed-point helper types.
- window
- Window functions (Hanning, Hamming, Blackman, Bartlett, Welch, Flat-top window generators).