previous next Up Title Contents

AnExperiment Module


The CalcQValue_ExpAnalysis(...) Routine

Syntax
double CalcQValue_ExpAnalysis( EarObjectPtr (*RunModel)(void), BOOLN (*SetStimulusFreq)(double), double centreFreq, double variationFromCF, double dBDownDiff, double initialFreqIncrement, double accuracy, double calcOffset);


Description
This function calculates the Q-Value, dBDownDiff dB down from the data EarObject's input signal. The function probes frequencies around the centre frequency centreFreq (Hz), using the fraction variation variationFromCF: ranging from -(variationFromCF * centreFreq) to +(variationFromCF * centreFreq), matching first the low frequency at dBDownDiff dB down and then the high frequency. For each intensity calculation the first calcOffset (s) of the input signal is ignored. The probing starts using an initial frequency increment of initialFreqIncrement (Hz), which is gradually reduced to the specified accuracy (Hz).

The function is passed the function, RunModel as an argument, which describes the collection of simulation processes required and returns a pointer to the final process' EarObject from which the Q-value will be calculated. The function SetStimulusFreq which sets the stimulus frequency for the model is also passed as an argument.



Returns
the respective Q-value.


Example(s)
Tests/Models/Basilar M/QvsFrequency.c - see The Hair Cell Process Modules.

The FindThresholdIntensity_ExpAnalysis(...) Routine

Syntax
double FindThresholdIntensity_ExpAnalysis( EarObjectPtr (*RunModel)(void), BOOLN (*SetIntensity)(double), double targetThreshold, double targetAccuracy, double calcOffset, BOOLN *firstPass );


Description
This general routine calculates the threshold intensity of model, starting from an initial 'guess' intensity. It returns the respective stimulus intensity that produces the targetThresold (dB SPL) intensity, with an accuracy of targetAccuracy (dB). During intensity calculations the first calcOffset (s) of the input signal is ignored. It works only on a single channel. A boolean variable, firstPass is passed to the function and must be set to TRUE for the very first value calculated.

The function is passed the function, RunModel as an argument, which describes the collection of simulation processes required and returns a pointer to the final process' EarObject from which the Q-value will be calculated. The function SetIntensity which sets the stimulus intensity for the model is also passed as an argument.



Returns
the threshold intensity (dB SPL)


Example(s)
Tests/Models/Basilar M/TuningCurve.c - see The Basilar Membrane Process Modules.

The FindThresholdIntensity_ExpAnalysis_Slow (...) Routine

Syntax
double FindThresholdIntensity_ExpAnalysis_Slow( EarObjectPtr (*RunModel)(void), BOOLN (*SetIntensity)(double), double targetThreshold, double targetAccuracy, double calcOffset, double initialDeltaIntensity );


Description
This general routine calculates the threshold intensity of model, starting from an initial 'guess' intensity, using a slower algorithm. It returns the respective stimulus intensity that produces the targetThresold (dB SPL) intensity, with an accuracy of targetAccuracy (dB). During intensity calculations the first calcOffset (s) of the input signal is ignored. It works only on a single channel

The function is passed the function, RunModel as an argument, which describes the collection of simulation processes required and returns a pointer to the final process' EarObject from which the Q-value will be calculated. The function SetIntensity which sets the stimulus intensity for the model is also passed as an argument.



Returns
the threshold intensity (dB SPL)


Example(s)
(Can be used in place of Error! Reference source not found..)


previous next Up Title Contents