THE AUDITORY MODELING TOOLBOX

Applies to version: 1.6.0

View the code

Go to function

barumerli2024_itdlateral
FrAMBI agent performing ITD-based lateralization

Usage:

[agent, options] = barumerli2024_itdlateral();
[agent, options] = barumerli2024_itdlateral(options);

Input parameters:

options Optional structure representing the FrAMBI options.

Output parameters:

agent

Structure representing the FrAMBI agent. See the general description of FrAMBI for more details. In addition, the following agent-specific fields are created:

  • name: String describing the agent. Default: 'ITD-based Lateralization'.
  • model: Structure defining the functionality of agent by storing functions handles in fields initialize, observe, infer, act, and respond.
  • state.beliefs: Prior beliefs on the sound-source lateral direction. If set to a number (in degrees), the inference will be the average between the belief and the posterior. Default: Empty vector, meaning no prior.
  • state.parameters: Parameter structure as in frambi_parameters with:
    • lateral_gain: The lateral gain (i.e., the slope of the response-target function). Default: 1, meaning a perfect lateralization without any under- or over shooting.
    • itd_uncertainty: The ITD uncertainty (i.e., the ITD standard deviation in the processing, in s). Default: 20 \(\mu s\).
options

Structure representing the FrAMBI options with the following agent-specific fields:

  • agent.angles: Sound-source angles (in degrees) used for the interpolation to infer the lateralization based on ITDs. Set to linearly spaced 15 angles from -90 to +90 degrees.
  • agent.itds: ITDs (in s) calculated according to Woodworth (1954) based on agent.angles for a head radius of 7 cm and sound speed of 340 m/s.

Description:

barumerli2024_itdlateral(..) returns a structure describing an agent performing ITD-based lateralization. It also creates FrAMBI options (or updates them, if provided as input).

This agent follows the structure required by frambi_simulate. Specifically, barumerli2024_itdlateral(..) defines the following functionality linked with local functions:

  • model.initialize is linked with local_initialize, which sets the head direction to 0 degrees (i.e., front). The head direction is not considered, but it makes sense to have the head looking to the front when localizing a sound source.
  • model.observe is linked with local_observe, which calculates the ITD in the observed binaural signal from the environment. The observed ITD is subject to the lateral_gain and the itd_uncertainty.
  • model.infer is linked with local_infer, which infers the source lateral angle based on the observed ITD. The posterior is based on the precomputed ITD-angle relation stored in options.agent.angles and options.agent.itd. If belief is set to an angle, the inference is calculated as the average between the belief (i.e., the prior) and the posterior. Otherwise the inference is just the posterior.
  • model.act is linked with local_act, in which it acts by setting:
    • head to state.head, which, unless modified will be looking at front.
    • hand to state.belief, which is the infered sourceangle.
  • model.respond is linked with local_respond, which responses with the action of the hand, which is the infered lateral angle of the sound source (in degrees).

References:

R. Barumerli and P. Majdak. FrAMBI: A Software Framework for Auditory Modeling Based on Bayesian Inference. under review at Neuroinformatics, 2024.

R. S. Woodworth and H. Schlosberg. Experimental psychology, Rev. ed. Holt, Oxford, England, 1954.