Skip to content
This is the development version of the documentation. It may change before the next release. See 0.6.x for the latest release.

Silencer

When a focal point is moved quickly or AM modulation is applied, the phase and intensity data given to the transducers changes abruptly over time, appearing as audible noise.

AUTD3 has a Silencer feature that suppresses this noise by linearly interpolating changes in the phase and intensity data.

The Silencer is configured with SetSilencer.

For details, refer to the paper by Suzuki et al.1 An overview follows.

  • Amplitude-modulated ultrasound produces audible sound.
  • When driving an ultrasound transducer, a phase change causes amplitude fluctuation.
    • This therefore produces audible noise.
  • By linearly interpolating the phase change and varying it gradually, the amplitude fluctuation can be suppressed.
    • The noise can therefore be reduced.
  • The finer the interpolation, the smaller the noise.

The Silencer achieves silencing by linearly interpolating the change in phase and making it gradual. This is almost equivalent to passing the phase time series through a moving average filter, but differs in that it accounts for the phase data being periodic.

Let the ultrasound period be . That is, corresponds to and corresponds to . For the current phase and the target value , the Silencer updates as follows.

Here is the amount of update per step, and the update is performed every ultrasound period (25 µs). The figure below shows the phase change when the target value changes at . The smaller is, the more gradual the change becomes and the more strongly the noise is suppressed.

When the distance to the target exceeds , the reverse direction is closer, so interpolation proceeds in that direction. For example, when changing from to , is closer than .

Due to the nature of this implementation, the behavior may differ from a moving average filter. In terms of fidelity to the original time series, the moving average filter is correct, but because handling phase changes exceeding and making variable (variable filter length) is cumbersome, the current implementation is used.

Since amplitude fluctuation causes noise, applying an equivalent filter to the intensity parameter as well can suppress noise from AM. Unlike phase, intensity is not periodic, so for the current and the target value it is updated as follows.

There are two interpolation modes.

  • FixedCompletionTime: specifies the completion time so that the phase / intensity change completes within a fixed time.
    • The completion time must be an integer multiple of the ultrasound period (25 µs).
  • FixedUpdateRate: directly specifies the described above, keeping the rate of phase / intensity change constant across all transducers.

The default is FixedCompletionTime, set to a completion time of 0.25 ms for intensity and 1 ms for phase. Disabling the Silencer is equivalent to the phase / intensity change completing within one ultrasound period (25 µs).

In FixedCompletionTime mode, if the interpolation completion time becomes longer than the sampling period, the next data arrives before the target value is reached, so the change moves to the next target value before the interpolation completes. To prevent this, setting an interpolation completion time longer than the sampling period results in an error. For how to handle this error, refer to Tutorial / Silencing.

  1. Suzuki, Shun, et al. “Reducing amplitude fluctuation by gradual phase shift in midair ultrasound haptics.” IEEE transactions on haptics 13.1 (2020): 87-93.