[output] = bruce2018(stim,fsstim, fc); [output,info] = bruce2018(stim, fsstim, fc, varargin);
stim | Pressure waveform of stimulus (timeseries) |
fsstim | Sampling frequency of stimulus |
fc | Frequency vector containing the CFs. Use logspace(log10(flow), log10(fhigh),numCF) to replicate the results from bruce et al. (2018) |
output | a struct containing the various modelstage outputs |
The struct output contains:
cohcs actually used COHCs in the simulations (see cohc below)
cihcs actually used CIHCs in the simulations (see ihc below)
sponts ?
tabss ?
trels ?
neurogram_ft (fine-timing) neurogram calculated from the synapse output [time CFs]
t_ft time axis of neurogram_ft (s)
neurogram_mr average of spike count in each PSTH bin [time CF]
t_mr time axis of neurogram_mr (s)
neurogram_Sout synapse output [time CF]
t_Sout time axis of neurogram_Sout (s)
fc used CFs (Hz)
if the flag 'outputPerCF' is specified (default), additional variables are attached:
psth_ft fine-timing PSTH [time CF]
meanrate average spiking rate (spikes/s) [time CF]
varrate variance of the spiking rate (spikes/s) [time CF]
If the flag 'outputPerSynapse' is specified, psth_ft, meanrate, and varrate are output but they have the dimensions [time CF Syn] with Syn being the number of synapses.
Additionally:
synout the output of a synapse [time CF Syn]
spont ???
tabs ???
trel ???
info a struct containing the parameter settings applied
bruce2018(...) returns modeled responses of multiple AN fibers tuned to various characteristic frequencies characterstic frequencies evenly spaced along a logarithmic scale.
Please cite the references below if you use this model.
This function takes the following optional key/value pairs:
'numsponts',numsponts | |
Overall numbers of fibers (???THIS IS REDUNDANT) | |
'ag_fs',ag_fs | Frequencies at which the audiogram should be evaluated |
'ag_db',ag_db | Hearing loss [dB] at the frequencies 'ag_fs'. 'ag_db' needs to have the same dimension as 'ag_fs' |
'cohcs',cohcs | OHC scaling factors: 1 denotes normal OHC function (default); 0 denotes complete OHC dysfunction. Can be a vector of dimension [1, numCF] or a scalar |
'cihcs',cihcs | IHC scaling factors: 1 denotes normal IHC function (default); 0 denotes complete IHC dysfunction. Can be a vector of dimension [1, numCF] or a scalar |
'numL',nl | number of low-spontaneous rate nerve fibres |
'lossL',lls | percentage of nerve fibre loss [0...1] 0...no fibres there, 1...all fibres there (healthy) |
'numM',nm | number of medium-spontaneous rate nerve fibres |
'lossM',lms | percentage of nerve fibre loss [0...1] 0...no fibres there, 1...all fibres there (healthy) |
'numH',nh | number of high-spontaneous rate nerve fibres |
'lossH',lhs | percentage of nerve fibre loss [0...1] 0...no fibres there, 1...all fibres there (healthy) |
'psthbinwidth_mr',psthbw | |
mean-rate binwidth [s] | |
'windur_ft',winft | fine-timing neurogram window length |
'windur_mr',winmr | mean-rate neurogram window length |
'nrep',nrep | Number of repetitions for the mean rate, rate variance & psth calculation. Default is 1. |
'reptime',rt | length of one repetition of the stimuli with pause. Default is 1.2 * stimuli length. |
'fsmod',fsmod | Model sampling rate. It is possible to run the model at a range of fsmod between 100 kHz and 500 kHz. Default value is 200 kHz for cats and 100 kHz for humans. |
bruce2018 accepts the following flags:
'fitaudiogram' | Derive the cihc and cohc values from an audiogram (Default: off) |
'human' | Use model parameters for humans. This is the default. |
'cat' | Use model parameters for cats. |
'fixedFGn' | Fractional Gaussian noise will be the same in every simulation. This is the default. |
'varFGn' | Fractional Gaussian noise will be different in every simulation. |
'approxPL' | Use approxiate implementation of the power-law functions. This is the default. |
'actualPL' | Use actual implementation of the power-law functions. |
'outputPerSynapse' | If activated, tor each nerve fibre, the synapse output is written to the output struct. This can considerably slow down the calculations. |
'bruce2018' comprises of 4 modelstages. They can be parametrized as follows:
'numsponts',numsponts | |
if this parameter is passed and not zero, no auditory nerve population is generated. the parameters 'sponts' , 'tabss' and 'trels' can be fully customized. They can take arbitrary values and dimensions. No checks on their validity are conducted. This is convenient for simulating the behavior of a specific fiber type. |
If 'numsponts' is not passed to Bruce, the number of fibers is calculated as the sum of fibers with low-, medium, and high spontaneous firing rate. An AN population is generated for each characteristic frequency. The vector of characteristic frequencies can be passed directly via 'fcs'.
'fitaudiogram' :
The other two modelstages 'bruce2018_innerhaircells' and 'bruce2018_synapse' are always active. '_innerhaircells' is called for each element in 'fcs' (each characteristic frequency), and '_synapse' is called for each nerve fiber. Per default and for execution speed, only results from outside of the nerve fiber loop are written to the struct 'output'. To retrieve results per fiber, set the flag 'ouputPerSynapse'. The actual parameters used in bruce2018 are output to the 'info' struct.
I. C. Bruce, Y. Erfani, and M. S. R. Zilany. A phenomenological model of the synapse between the inner hair cell and auditory nerve: Implications of limited neurotransmitter release sites. Hearing Research, 360:40--54, 2018. [ http ]