コンテンツにスキップ

radiation_pressure

src

radiation_pressure は変調波形に放射圧補正を適用する. sine などで計算した波形に対して補正をかける.

音響放射圧は音圧の 2 乗に比例する. sine などが指定するのは音圧の振幅なので, 放射圧を目的の波形に合わせたい場合は各サンプルの平方根を取る必要がある. radiation_pressure はこの補正を行う.

各サンプル は次式で書き換えられる.

radiation_pressure(&src, &mut dst);
引数 説明
src &[u8] 補正前の変調波形
dst &mut Vec<u8> 補正後の波形を書き出すバッファ

in-placeに書き換える radiation_pressure_inplace もある.

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);