出力音圧の制御
focus などの Pattern には出力強度を 8 bit で制御する intensity パラメータがある.
例えば, 以下のコードでは, この強度を最大値の約半分に設定している.
let mut patterns = geometry.pattern_buffer();autd3_rs_pattern::focus( &geometry, target, wavelength, &autd3_rs_pattern::FocusOption { intensity: Intensity(0x80), ..Default::default() }, &mut patterns,);patterns = geometry.pattern_buffer()pattern.focus( geometry, target, wavelength, pattern.FocusOption(intensity=Intensity(0x80)), patterns,)var patterns = geometry.PatternBuffer();Pattern.Focus( geometry, target, wavelength, new FocusOption(intensity: new Intensity(0x80)), patterns);AUTD3 は出力音圧を PWM で制御しており, デフォルトでは intensity パラメータと出力音圧がおおよそ線形に比例するように変換される.
振動子の個体差などにより厳密な線形性は保証されないが, intensity に対して出力音圧は単調増加すると考えてよい.
PWM やパルス幅への変換式, およびその変更方法の詳細は Pulse Width と出力音圧 を参照されたい.
Modulationによる調整
Section titled “Modulationによる調整”Modulation はPatternのintensityパラメータを時間的に変調することで作用する.
したがって, 実際のintensityとしては, Pattern 等で指定するintensityパラメータにModulation による変調データ (8 bit) をかけ合わせ 255 で割った値が使用される.