yttria-math

Crates.ioyttria-math
lib.rsyttria-math
version0.1.0
sourcesrc
created_at2024-06-05 03:24:32.369419
updated_at2024-06-05 03:24:32.369419
descriptionA DSP math library tailored for use with the yttria set of libraries
homepage
repositoryhttps://github.com/yttria-rs/yttria-math
max_upload_size
id1262350
size61,060
Trevor (Trevader24135)

documentation

README

yttria-math

Yttria sets out to be an end-to-end wireless communications DSP library for developing custom and novel radio solutions, particularly regarding Software Defined Radios. Yttria-math is the subcrate of the Yttria framework responsible for the mathematical heavy lifting involved. Many of the functions of Yttria-math are directly analogous to those found in Numpy or Scipy, since those libraries are particularly well suited for the task.

One of the goals of this crate is to make DSP easy with as little extra consideration as possible. The result is that no custom structs have been made for the purpose of DSP, instead simply offering extension traits on any iterable that contains a number (so determined by the num crate), and is send + sync + copy + clone so that a lot of the heavy lifting can be done using rayon.

Why Yttria?

Yittrium Iron Garnets (YIGs) are a powerful technology that have been around for many years, but are becoming very powerful and highly relevant in miniaturized SDR applications due to their good filter characteristics and their extremely high agility. This project hopes to extend that power by making the software side as powerful and agile as the hardware is becoming.

Todo

  • Rayon accelerate all parallelizable mathematical operations
  • Parity relevant scipy / numpy operations
    • FFTs
    • PSDs
    • Windowing functions
    • Filters
      • FIR design
      • IIR design
    • Resampling
      • Decimation
      • Interpolation
    • Transforms
      • Hilbert
  • SIMD acceleration
    • SSE3
    • AVX256
    • NEON
    • RISC-V V1.0
Commit count: 7

cargo fmt