![]() |
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.