radiation_pressure
srcradiation_pressure は変調波形に放射圧補正を適用する. sine などで計算した波形を in-place に書き換える.
音響放射圧は音圧の 2 乗に比例する.
sine などが指定するのは音圧の振幅なので, 放射圧を目的の波形に合わせたい場合は各サンプルの平方根を取る必要がある.
radiation_pressure はこの補正を行う.
各サンプル
radiation_pressure(&mut buffer);radiation_pressure(buffer)Modulation.RadiationPressure(buffer);radiation_pressure
Section titled “radiation_pressure”| 引数 | 型 | 説明 |
|---|---|---|
samples |
&mut [u8] |
補正する変調波形 |
Example
Section titled “Example”use autd3_rs::units::Hz;use autd3_rs::value::SamplingConfig;use autd3_rs_modulation::{SineOption, modulation_buffer, radiation_pressure, sine};
let mut buffer = modulation_buffer();sine(150 * Hz, &SineOption::default(), SamplingConfig::FREQ_4K, &mut buffer)?;
radiation_pressure(&mut buffer);from autd3.units import Hzfrom autd3.value import SamplingConfigfrom autd3_modulation import SineOption, modulation_buffer, radiation_pressure, sine
buffer = modulation_buffer()sine(150 * Hz, SineOption(), SamplingConfig.FREQ_4K, buffer)
radiation_pressure(buffer)using AUTD3;using static AUTD3.Units;
var buffer = Modulation.ModulationBuffer();Modulation.Sine(150 * Hz, new SineOption(), SamplingConfig.Freq4k, buffer);
Modulation.RadiationPressure(buffer);