これは開発版のドキュメントである. 内容は次のリリースまでに変更される可能性がある. 最新のリリース版は 0.6.x を参照.
SamplingConfig
SamplingConfig は Modulation や STM のサンプリング周波数を表す.
サンプリング周波数は超音波周波数 (40 kHz) を整数で分周した値でなければならない.
SamplingConfig::new(NonZeroU16::new(10).unwrap());SamplingConfig::new(4. * kHz);SamplingConfig::new(Duration::from_micros(250));SamplingConfig::new(Nearest(4. * kHz));SamplingConfig::new(Nearest(Duration::from_micros(250)));SamplingConfig(10)SamplingConfig(4.0 * kHz)SamplingConfig(Duration.from_micros(250))SamplingConfig(Nearest(4.0 * kHz))SamplingConfig(Nearest(Duration.from_micros(250)))new SamplingConfig(10);new SamplingConfig(4.0f * kHz);new SamplingConfig(TimeSpan.FromMicroseconds(250));new SamplingConfig(Nearest(4.0f * kHz));new SamplingConfig(Nearest(TimeSpan.FromMicroseconds(250)));SamplingConfig::new は NonZeroU16 / Freq<f32> / Duration / Nearest<Freq<f32>> / Nearest<Duration> を受け取る.
上記はいずれも 4 kHz (分周比 10) を表し, 互いに等価.
SamplingConfig は次のいずれかとして指定できる. 内部では最終的に分周比 (u16) へ変換される.
| 指定方法 | 型 |
|---|---|
| 分周比 | NonZeroU16 |
| 周波数 | Freq<f32> |
| 周期 | Duration |
分周比
周波数・周期で指定した場合, それが 40 kHz を割り切れない (整数の分周比にならない) とエラーになる.
割り切れない値を最も近い分周比へ丸めたいときは周波数/周期を Nearest でラップする.
よく使う定数はあらかじめ用意されている.
| 定数 | サンプリング周波数 | 分周比 |
|---|---|---|
FREQ_40K |
40 kHz | 1 |
FREQ_4K |
4 kHz | 10 |