THE AUDITORY MODELING TOOLBOX

Applies to version: 1.6.0

View the code

Go to function

king2019
Nonlinear filterbank (based on a broken-stick) including modulation filterbank

Usage:

outsig = king2019(insig, fs, basef)
[outsig, fc, mfc, step] = king2019(insig, fs, basef, ...)

Input parameters:

insig Column vector with the acoustic signal. Size: time.
fs Sampling rate (in Hz).
basef Base frequency (in Hz) of the analysis.

Output parameters:

outsig Output signal. Size: (time x numfc x nummfc).
fc Column vector with the center frequencies (in Hz) of the filterbank. Size: numfc.
mfc Column vector with the Center frequencies (in Hz) of the modulation filterbank. Size: nummfc.
step

Structure containing the following intermediate model outputs:

  • gtone_response: Response of the Gammatone filterbank.
  • compressed_response: Response of the nonlinear filterbank applied after the linear Gammatone filterbank.
  • ihc: Output of the inner-hair cell processing.
  • a_adapt_HP: a coefficients of the high-pass filter of the adaptation stage.
  • b_adapt_HP: b coefficients of the high-pass filter of the adaptation stage.
  • adapted_response: Response of the adaptation stage.
  • a_mfb: a coefficients of the modulation filterbank.
  • b_mfb: b coefficients of the modulation filterbank.
  • E_mod: Direct response of the modulation filterbank.
  • fmc: Center frequencies (in Hz) of the modulation filterbank.
  • subfs: The actual sampling frequency (in Hz) of the model.

Description:

king2019(insig, fs, basef) computes the internal representation around the frequency basef of the signal insig sampled with a frequency of fs Hz. outsig is a matrix of size [length fc mfc].

[outsig, fc, mfc, step]=king2019(...) additionally returns the centre frequencies fc of the filter bank, the center frequencies mfc of the modulation filterbank, and a structure step containing the intermediate model outputs.

king2019(insig, fs, basef, ...) takes the many optional key-value pairs which are specified in arg_king2019.

The model consists of the following stages:

  1. A Gammatone filterbank with a 1-ERB spacing of the filters.
  2. A compression (exponential or broken-stick) applied to each individual output of the Gammatone filter. This stage requires the correct calibration level set by the flag 'dboffset', dboffset because the flag 'compression_knee_dB' is referenced to dboffset. Default is dboffset of 100. Other values will change the compression level. If *insig is using the AMT level reference, dboffset needs to be set to 94 dB.
  3. An envelope extraction done by half-wave rectification followed by low-pass filtering set to 1500 Hz.
  4. A simplified adaptation simulated as a first-order high-pass filter.
  5. A modulation filterbank.

See King et al (2019) for more details.

References:

A. King, L. Varnet, and C. Lorenzi. Accounting for masking of frequency modulation by amplitude modulation with the modulation filter-bank concept. The Journal of the Acoustical Society of America, 145(2277), 2019.