7个不稳定版本 (3个破坏性更改)
0.4.1 | 2023年1月2日 |
---|---|
0.4.0 | 2022年12月29日 |
0.3.0 | 2022年12月9日 |
0.2.2 | 2022年7月22日 |
0.1.0 | 2022年6月29日 |
#452 in 数学
每月201次下载
180KB
484 行
wavegen
wavegen
是用🦀制作的波形生成器
如何使用它?
- 将
wavegen
添加到您的项目
[dependencies]
wavegen = "0.4"
或者,使用no_std版本(需要自定义全局分配器)
[dependencies]
wavegen = { version = "0.4", default-features = false, features = ["libm"] }
- 定义具有采样频率和函数组件的波形
let waveform = wf!(f64, 200., sine!(frequency: 100., amplitude: 10.), dc_bias!(20.));
- 将其转换为迭代器并进行采样
let some_samples: Vec<f64> = waveform.iter().take(200).collect();
有关更全面的用法示例,请参阅文档。
给我一些示例!
交互式演示
在https://wavegen-demo.netlify.app查看演示
绘制图表
- 简单的正弦波
- 两个叠加的相移正弦波
- “现实生活”示例:300Hz正弦信号与50Hz干扰噪声
- 锯齿波
- 正弦波和锯齿波的叠加
- 方波
- 具有不同频率的正弦波、方波和锯齿波的叠加
以上所有示例均使用examples/plot.rs
中的简单程序生成。运行cargo run --example plot
自行生成。
MSRV
最低支持的Rust版本是1.60
。
类似Crates
- Waver,这是本Crates的灵感来源
破坏性更改
0.2
- 宏注解方式的破坏性更改,从
frequency = n
更改为frequency: n
0.4
Waveform::get_sample_rate
重命名为Waveform::sample_rate
,现在返回一个借用值,符合rust API规范。Waveform::get_components_len
已删除。该功能可以通过新的getterWaveform::components
实现。