これは開発版のドキュメントである. 内容は次のリリースまでに変更される可能性がある. 最新のリリース版は 0.6.x を参照.
radiation_pressure
srcradiation_pressure は変調波形に放射圧補正を適用する. sine などで計算した波形に対して補正をかける.
音響放射圧は音圧の 2 乗に比例する.
sine などが指定するのは音圧の振幅なので, 放射圧を目的の波形に合わせたい場合は各サンプルの平方根を取る必要がある.
radiation_pressure はこの補正を行う.
各サンプル
radiation_pressure(&src, &mut dst);radiation_pressure(src, dst)Modulation.RadiationPressure(src, dst);radiation_pressure
Section titled “radiation_pressure”| 引数 | 型 | 説明 |
|---|---|---|
src |
&[u8] |
補正前の変調波形 |
dst |
&mut Vec<u8> |
補正後の波形を書き出すバッファ |
in-placeに書き換える radiation_pressure_inplace もある.
Example
Section titled “Example”use autd3_rs::units::Hz;use autd3_rs_modulation::{SineOption, radiation_pressure, sine};
let mut src = Vec::new();sine(150 * Hz, &SineOption::default(), &mut src)?;
let mut dst = Vec::new();
radiation_pressure(&src, &mut dst);from autd3.units import Hzfrom autd3_modulation import SineOption, modulation_buffer, radiation_pressure, sine
src = modulation_buffer()sine(150 * Hz, SineOption(), src)
dst = modulation_buffer()
radiation_pressure(src, dst)using AUTD3;using static AUTD3.Units;
var src = Modulation.ModulationBuffer();Modulation.Sine(150 * Hz, new SineOption(), src);
var dst = Modulation.ModulationBuffer();
Modulation.RadiationPressure(src, dst);