wavegen

wavegen is a wavefrom generator made with 🦀

Refer to documentation for usage examples.

How to use it?

1) Define a waveform with sampling frequency and function components

rust let wf = Waveform::<f64>::with_components(200.0, vec![sine!(100, 10), dc_bias!(20)]);

  1. Turn it into an iterator and sample

rust let some_samples: Vec<f64> = wf.into_iter().take(200).collect();

Show me some examples!

Sine plot

Superposed sines plot

Sawtooth plot

Sine and sawtooth superposed

Square wave

Something funky

All above examples are generated with simple program found in examples/plot.rs. Run cargo run --example plot to generate them yourself.

no_std?

Yes. This crate requires no standard library features, and uses the no_std declaration.