itd = itdestimator(sofa); itd = itdestimator(sofa, method, ..); [itd, toa, IACC] = itdestimator(..) itd = itdestimator(signal, 'fs', fs, ..);
sofa | Impulse responses (IRs) as a SOFA structure using the SingleFreeFieldHRIR convention. The ITDs will be estimated for each IR in sofa.Data.IR. |
signal | Deprecated. Binaural signal. Size: (emitter x receiver x time). The ITDs between the two receivers will estimated, for each emitter separately. |
fs | Deprecated. Sampling rate (in Hz). Required, if signal provided. Ignored, if sofa provided. |
itd | Interaural time difference (in s). |
toa | Detected time of arriving (in s). Size: (emitter x receiver). |
IACC | Interaural cross-correlation (IACC) coefficient Available only in methods 'MaxIACCr', 'MaxIACCe', 'CenIACCr', 'CenIACCe', 'CenIACC2e'. |
itdestimator estimates the interaural time differences (ITDs) from a binaural signal. The estimation is done between the first receiver (i.e., the left ear) and the second receiver (i.e., the right ear). Several estimaton methods can be used:
'Threshold' | Differences between the time each IR crosses a threshold below its peak. For more details, see Andreopoulou and Katz (2017). Default. |
'Cen_e2' | Time difference between the two centroids calculated on the envelopes. For more details, see Andreopoulou and Katz (2017). |
'MaxIACCr' | Delay of the peak of the IACC calculated on the raw IRs. For more details, see Andreopoulou and Katz (2017). |
'MaxIACCe' | Delay of the peak of the IACC calculated on the envelopes. For more details, see Andreopoulou and Katz (2017). |
'CenIACCr' | Delay of the centroid of the IACC calculated on the raw IRs. For more details, see Andreopoulou and Katz (2017). |
'CenIACCe' | Delay of the centroid of the IACC calculated on the envelopes. For more details, see Andreopoulou and Katz (2017). |
'CenIACC2e' | Delay of the centroid of the squared IACC calculated on the envelopes For more details, see Andreopoulou and Katz (2017). |
'PhminXcor' | Interaural difference between the TOAs each calculated as the delay of the peak of the cross correlation between the raw and minumum-phase version of the IR. For more details, see Andreopoulou and Katz (2017). |
'IRGD' | Time difference between the average group delays For more details, see Andreopoulou and Katz (2017). |
'pausch2022' | As 'MaxIACCr', but applied on badnpass-filtered and then 5-times upsampled IRs. For more details, see Pausch et al. (2022). |
itdestimator also accepts the following optional flags:
'debug' | Output more information about the calculations. |
'lp' | Use lowpass filtered IRs for the calculations. Default. Does not apply in 'pausch2022', which uses bandpass filtered IRs. |
'bb' | Do not apply any filtering to the IRs. Does not apply in 'pausch2022', which uses bandpass filtered IRs. |
'fp' | Applies to 'Threshold' only: Use findpeak() to find the peak in each IR. |
'hp' | Applies to 'Threshold' only: Use max() to find the peak in each IR. Default. |
itdestimator also takes the following optional key-value pairs:
'threshlvl',thr | Applies to 'Threshold' only: Threshold level (in dB). Default: -10 dB. |
'butterpoly',n | In 'pausch2022': The order of the band-pass Butterworth filter. In other methods: The order of the low-pass Butterworth filter. n must be between 2 and 10. Default is 10. |
'upper_cutfreq',fu | Applies to 'lp' only: Lowpass cutoff frequency (in Hz). Default: 3000 Hz. |
'lower_cutfreq',fl | Applies to 'IRGD' and 'paush2022' only: Highpass cutoff frequency (in Hz). Default: 1000 Hz. |
SOFA Toolbox from http://sourceforge.net/projects/sofacoustics
This is an example of ITD calculation for an HRTF set:
Obj = amt_load('baumgartner2017','hrtf b_nh15.sofa'); toa_diff = itdestimator(Obj,'MaxIACCe','lp','upper_cutfreq',3000)
With these settings, the estimator uses the MaxIAACe method and applies a lowpass with a cutoff frequency of 3 kHz.
The output Obj is structured as in Obj.Data.IR input. To select, for example, only data on the horizontal plane data:
plane_idx = find( Obj.SourcePosition(:,2) == 0 ); plane_angle = Obj.SourcePosition(plane_idx,1);
A. Andreopoulou and B. F. G. Katz. Identification of perceptually relevant methods of inter-aural time difference estimation. The Journal of the Acoustical Society of America, 142(2):588--598, 08 2017. [ DOI ]
F. Pausch, S. Doma, and J. Fels. Hybrid multi-harmonic model for the prediction of interaural time differences in individual behind-the-ear hearing-aid-related transfer functions. Acta Acust., 6:34, 2022. [ DOI ]