The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
Runtime configuration class for generating an electrodogram from an audio signal, using a stimulation strategy similar to a typical CIS (continuous interleaved sampling) coding strategy with 12 channels. More...
Public Member Functions | |
Ci_simulation_cis_cfg (std::vector< mha_real_t > weights, mha_real_t compression_coefficient, mha_real_t base_level, mha_real_t saturation_level, std::vector< mha_real_t > threshold_level, std::vector< mha_real_t > maximum_comfortable_level, std::vector< int > disabled_electrodes, unsigned int stimulation_order, std::default_random_engine random_number_generator, Ci_simulation_cis *Ci_simulation_cis) | |
Constructor of the runtime configuration class. More... | |
~Ci_simulation_cis_cfg () | |
Destructor of the runtime configuration class. More... | |
mha_wave_t * | process (mha_wave_t *signal, Ci_simulation_cis *Ci_simulation_cis, MHA_AC::waveform_t *electrodogram_ac) |
Process function of the runtime configuration class (main signal processing function). More... | |
Private Attributes | |
std::vector< mha_real_t > | weights_cfg |
Vector containing the weights for the analysis filterbank bands. More... | |
mha_real_t | compression_coefficient_cfg |
Compression coefficient of the loudness growth function. More... | |
mha_real_t | base_level_cfg |
Base level of the input (acoustic) dynamic range. More... | |
mha_real_t | saturation_level_cfg |
Saturation level of the input (acoustic) dynamic range. More... | |
std::vector< mha_real_t > | threshold_level_cfg |
Vector containing the threshold level of the output (electric) dynamic range for each electrode. More... | |
std::vector< mha_real_t > | maximum_comfortable_level_cfg |
Vector containing the maximum comfortable level of the output (electric) dynamicrange for each electrode. More... | |
std::vector< int > | disabled_electrodes_cfg |
Vector containing the indices of any disabled electrodes. More... | |
unsigned int | stimulation_order_cfg |
Electrode stimulation order. More... | |
std::default_random_engine | random_number_generator_cfg |
Random number generator for randomization of stimulation order. More... | |
MHASignal::waveform_t * | signal_out |
Pointer to the current output signal fragment. More... | |
Runtime configuration class for generating an electrodogram from an audio signal, using a stimulation strategy similar to a typical CIS (continuous interleaved sampling) coding strategy with 12 channels.
Ci_simulation_cis_cfg::Ci_simulation_cis_cfg | ( | std::vector< mha_real_t > | weights, |
mha_real_t | compression_coefficient, | ||
mha_real_t | base_level, | ||
mha_real_t | saturation_level, | ||
std::vector< mha_real_t > | threshold_level, | ||
std::vector< mha_real_t > | maximum_comfortable_level, | ||
std::vector< int > | disabled_electrodes, | ||
unsigned int | stimulation_order, | ||
std::default_random_engine | random_number_generator, | ||
Ci_simulation_cis * | Ci_simulation_cis | ||
) |
Constructor of the runtime configuration class.
weights | Vector containing the weights for the analysis filterbank bands |
compression_coefficient | Compression coefficient of the loudness growth function |
base_level | Base level of the input (acoustic) dynamic range / Pa |
saturation_level | Saturation level of the input (acoustic) dynamic range / Pa |
threshold_level | Vector containing the threshold level of the output (electric) dynamic range for each electrode / cu |
maximum_comfortable_level | Vector containing the maximum comfortable level of the output (electric) dynamicrange for each electrode / cu |
disabled_electrodes | Vector containing the indices of any disabled electrodes |
stimulation_order | Electrode stimulation order |
random_number_generator | Random number generator for randomization of stimulation order |
Ci_simulation_cis | Pointer to the current instance of the plugin interface class |
Ci_simulation_cis_cfg::~Ci_simulation_cis_cfg | ( | ) |
Destructor of the runtime configuration class.
mha_wave_t * Ci_simulation_cis_cfg::process | ( | mha_wave_t * | signal, |
Ci_simulation_cis * | Ci_simulation_cis, | ||
MHA_AC::waveform_t * | electrodogram_ac | ||
) |
Process function of the runtime configuration class (main signal processing function).
It takes an input signal fragment as well as the real and imaginary outputs of a gammatone filterbank with m bands as a parameter, resulting in a total of 1 + m * 2 input signal channels. It returns the input signal fragment unchanged; the purpose of the function is to compute the AC variable electrodogram_ac from the gammatone filterbank output for further processing in the plugin chain
signal | Pointer to the current input signal fragment + gammatone filterbank output |
Ci_simulation_cis | Pointer to the current instance of the plugin interface class |
electrodogram_ac | AC variable containing a pointer to the electrodogram |
|
private |
Vector containing the weights for the analysis filterbank bands.
|
private |
Compression coefficient of the loudness growth function.
|
private |
Base level of the input (acoustic) dynamic range.
|
private |
Saturation level of the input (acoustic) dynamic range.
|
private |
Vector containing the threshold level of the output (electric) dynamic range for each electrode.
|
private |
Vector containing the maximum comfortable level of the output (electric) dynamicrange for each electrode.
|
private |
Vector containing the indices of any disabled electrodes.
|
private |
Electrode stimulation order.
|
private |
Random number generator for randomization of stimulation order.
|
private |
Pointer to the current output signal fragment.