Applies to version: 0.10.0

View the code

Go to function

VERHULST2012 - Process a signal with the cochlear model by Verhulst et. al. 2012


output = verhulst2012(insig,fs,fc,spl,normalizeRMS,subject,irregularities,sheraPo)

Input parameters

sign the input signal to be processed. Each column is processed in parallel, so it is possible to run several simulation in parallel
fs sampling rate
fc list of frequencies specifying the probe positions on the basilar membrane, or 'all' to probe all 1000 cochlear sections
spl array of the sound pressure levels that correspond to value 1 of the correspondent input signal
normalizeRms arry to control the normalization of each signal. With value 1 normalize the energy of the signal, so the relative spl value correspond to the rms of the signal (default 0)
subject the subject number controls the cochlear irregulatiries (default 1)
irregularities array that enable (1) or disable (0) irregularities and nonlinearities for each simulation (default 1)

Output parameters

V velocity of the basilar membrane sections V(time,section,channel)
Y displacement of the basilar membrane sections Y(time,section,channel)
E sound pressure at the middle ear
CF center frequencies of the probed basiliar membrane sections

This function computes the basilar membrane displacement and the velocity of the movement at different positions employing a faster implementation of the nonlinear time-domain model of cochlea by Verhulsts, Dau, Shera 2012, through the method described in Alto? et al. 2014

The processing is implemented as follows:

  1. the input signal is resampled to the 96 kHz sampling rate employed in the cochlea model
  2. the list of frequencies in fc are converted in to probe positions in a manner that the frequencies are divided evenly into low and high frequency categories.
  3. the signals are processed in parallel
  4. the values obtained are resampled back to the original sampling rate

Requirements and installation:

  1. Python >2.6 is required with numpy and scipi packages. On Linux, use sudo apt-get install python-scipy python-numpy
  2. Compiled files with a C-compiler, e.g. gcc. In amtbase/src/verhulst start make (Linux) or make.bat (Windows)
  3. On linux, when problems with GFORTRAN lib appear, try sudo ln -sf /usr/lib64/ /mymatlabroot/sys/os/glnxa64/ (mymatlabroot is usually /usr/local/MATLAB/version

AUTHOR: Alessandro Altoe'


S. Verhulst, T. Dau, and C. A. Shera. Nonlinear time-domain cochlear model for transient stimulation and human otoacoustic emission. J. Acoust. Soc. Am., 132(6):3842 -- 3848, 2012.

A. Altoè, S. Verhulst, and V. Pulkki. Transmission line cochlear models: improved accuracy and efficiency. J. Acoust. Soc. Am., 136(EL302), 2014.