convolution-dsp

Crates.ioconvolution-dsp
lib.rsconvolution-dsp
version0.3.0
sourcesrc
created_at2024-07-10 00:23:49.779783
updated_at2024-10-12 10:38:22.999
description1-dimensional convolution library intended for use in DSP applications.
homepage
repositoryhttps://github.com/dankirkham/convolution-dsp
max_upload_size
id1297650
size599,375
Dan Kirkham (dankirkham)

documentation

https://docs.rs/convolution-dsp

README

convolution-dsp

1-dimensional convolution library for Rust intended for use in DSP applications. Uses the overlap-add FFT method.

Planned features

  • Input signal
    • ☑ Complex32 signals
    • ☐ f32 signals
  • Filter kernels
    • ☑ f32 filter kernels
    • ☐ Complex32 filter kernels
  • ☐ Use realfft when signal and kernel are both f32
  • ☑ f64 support
  • ☐ Fallbacks to non-fft convolution when it is faster
  • ☑ Full or same length output mode, similar to numpy/scipy
  • ☐ Threading
  • ☐ Minimize memory allocations
  • ☐ Faster than numpy/scipy
  • ☐ Re-export num_complex?

References

Stephen W. Smith, Ph.D., The Scientist and Engineer's Guide to Digital Signal Processing, Chapter 18.

Commit count: 4

cargo fmt