next up previous
Next: Additional functions Up: HUTear Matlab Toolbox version Previous: Profile description examples


Structure of the profile description

The struct model has five main fields where the elements of an auditory model are defined. Any of these fields may be omitted. If model is an empty struct, an input signal passes AudMod unchanged. Currently, there is only one global parameter, model.fs, which defines the sampling rate used in all computational elements of the system. The parameter model.ds, which appears in the Profile_Plack98 above, is not functional in the current version of HUTear. All ready-made profile files also have several text fields, e.g., and which have no meaning in AudMod but are informational when working with the struct in Matlab's workspace.

The five main fields are

model.outmid Outer and middle ear model, e.g., a fixed filter
model.cochlea Cochlear filtering, e.g., a gammatone filterbank
model.haircell mechanical-to-neural transduction, e.g., an inner hair cell model
model.neural Neural processing, e.g., model for neural adaptation
model.pp Post-processing, e.g., scaling or mapping to a decibel scale

All main fields have several sub-fields.

Structure of model.outmid

This field is responsible for modeling of the outer and middle ear. Currently, two alternative sub-fields can be defined.
If this field is defined as
it is assumed that this stage is modeled using a fixed linear filter. AudMod loads in the file named filename.mat and uses the obtained filter coefficients to filter the signal using the following Matlab command signal=filter(a,b,signal);. It is important that the names of the forward and backward filter coefficients are a and b. Typically, the filter coefficients can be designed using Make_OEM function which is introduced later in this document.

Using Make_OEM it is also possible to design frequency-warped outer and middle ear filters. To utilize this feature, one have to download WarpTB package which is a set of routines for frequency-warped signal processing.

Alternatively (you cannot use both),
means that outer and middle ear filtering is replaced by another Matlab function (filename.m) which has the following form:

Structure of model.cochlea

In hearing, frequency analysis is performed in cochlea which is placed in the inner ear. There are several approached for modeling the performance of this organ. In the current version of this package, cochlea is typically modeled using so called gammatone filterbank. There are three alternative sub-field systems available and one additional (optional) field. The number of frequency channels at this phase typically determines also the number of channels at the output of AudMod.

If there is a field
AudMod uses Gammatone function which contains the design and implementation of a gammatone filterbank. The parameters of this filterbank are transmitted in the sub-fields of This is used in all ready-made profiles. However, it may be computationally inefficient because it also contains the design of the filterbank. The design parameters for Gammatone function are introduced later in this document.
In using a gammatone filterbank model for cochlear filtering it is suggested to design a filterbank using Make_GTbank routine (see below) in advance, store the filter coefficients into a .mat-file, and then define the cochlea field in the following way:
where filename is a .mat file containing the coefficients of the filters as row vectors in matrices f and b.
means that the cochlear processing is replaced by another Matlab function (filename.m) which has the following form:
This might implement, e.g., a transmission line model of the cochlea.
It is possible to add a time-varying asymmetric compensation filterbank to the output channels a cochlear model. This is based a model introduced by Irino and Patterson [6]. The function is activated if the field

Structure of model.haircell

There are three different approaches to implement the mechanical-to-neural transduction which is the function of the inner haircells on basilar membrane.
In many auditory models, this phase is implemented as a rectify-compress-filter system. This function is activated in AudMod if the following field exists:
There are three sub-fields defined:
model.haircell.rcf.r defines the type of rectification. There are three alternatives: 'full', 'half', and 'no', implementing full-wave rectification, half-wave rectification, or no rectification, respectively.
model.haircell.rcf.c defines the compression function that is applied to the rectified channel signals. Currently, there are two alternatives: model.haircell.rcf.c='Plack98' which implements a nonlinear compression function introduced in [2] and model.haircell.rcf.c=c which implements a classical compression rule y=xc for all sample values. Typically, c=0.7.
model.haircell.rcf.f has currently two alternatives. If model.haircell.rcf.f='1kHz' the channel signals are filtered using a lowpass filter with a cut-off frequency at 1 kHz (for a sampling rate given in model.fs). Alternatively, model.haircell.rcf.f='tw20' causes the rectified and compressed channel signals to be filtered using a first order integrator with a time constant of 20 ms.
If field model.haircell.ihc exists, AudMod uses Meddis's inner haircell and synapse model, see, e.g., [5]. By default, Meddis's parameter set for medium spontaneous rate fibres. It is also possible to define other parameter sets in an additional field model.haircell.ihc.params. This is given as a parameter vector and its structure becomes clear by comparing [7] with the source file Meddis_network91M.c. In future versions of this package there are going to be automatic functions for the design of different parameter sets for Meddis's model. In addition, if model.haircell.ihc.refractory exists, the outputs of the IHC model are processed using a model for neural refractoriness [5].
As in other main fields it is possible to use
to specify an alternative function which is used to model mechanical-to-neural transduction.
In some cases it is convenient to threshold the channel signal at this phase, e.g., to get rid of negative or zero values. If model.haircell.threshold=b, all signal values below b are changed to b.

Structure of model.neural

There is currently implementation for four different neural adaptation models in the package. There is only one sub-field which may have the following values:
model.neural.function='Meddis91'; AudMod uses Meddis's model [5] for neural refractoriness. This is the same element which also appears if model.haircell.refractory exists.
model.neural.function='Plack98' This is an efficient implementation of a temporal window model of neural adaptation introruced in [2].
model.neural.function='Dau96' This uses a nonlinear adaptation network introduced in [3]. If this model is chosen, one must also set model.neural.Dau.thr to some small positive value.
model.neural.function='Karjalainen96' This implements a nonlinear adaptation network which was introduced in [4].
As in all other main fields
can be used to define a new model for this stage.

Structure of model.pp

Currently, there are two alternatives.
model.pp.mapping='decibel' causes the output values of the previous stages to be mapped to the decibel scale.
model.pp.mapping='filename' is essentially the same as the function sub-field in other main fields.

next up previous
Next: Additional functions Up: HUTear Matlab Toolbox version Previous: Profile description examples
Aki Harma