The Open Master Hearing Aid (openMHA)  openMHA
Open community platform for hearing aid algorithm research
Ci_simulation_cis_cfg Class Reference

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_tprocess (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_tweights_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_tthreshold_level_cfg
 Vector containing the threshold level of the output (electric) dynamic range for each electrode. More...
 
std::vector< mha_real_tmaximum_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_tsignal_out
 Pointer to the current output signal fragment. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Ci_simulation_cis_cfg()

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.

Parameters
weightsVector containing the weights for the analysis filterbank bands
compression_coefficientCompression coefficient of the loudness growth function
base_levelBase level of the input (acoustic) dynamic range / Pa
saturation_levelSaturation level of the input (acoustic) dynamic range / Pa
threshold_levelVector containing the threshold level of the output (electric) dynamic range for each electrode / cu
maximum_comfortable_levelVector containing the maximum comfortable level of the output (electric) dynamicrange for each electrode / cu
disabled_electrodesVector containing the indices of any disabled electrodes
stimulation_orderElectrode stimulation order
random_number_generatorRandom number generator for randomization of stimulation order
Ci_simulation_cisPointer to the current instance of the plugin interface class

◆ ~Ci_simulation_cis_cfg()

Ci_simulation_cis_cfg::~Ci_simulation_cis_cfg ( )

Destructor of the runtime configuration class.

Member Function Documentation

◆ process()

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

Parameters
signalPointer to the current input signal fragment + gammatone filterbank output
Ci_simulation_cisPointer to the current instance of the plugin interface class
electrodogram_acAC variable containing a pointer to the electrodogram
Returns
Pointer to the (unchanged) output signal fragment

Member Data Documentation

◆ weights_cfg

std::vector<mha_real_t> Ci_simulation_cis_cfg::weights_cfg
private

Vector containing the weights for the analysis filterbank bands.

◆ compression_coefficient_cfg

mha_real_t Ci_simulation_cis_cfg::compression_coefficient_cfg
private

Compression coefficient of the loudness growth function.

◆ base_level_cfg

mha_real_t Ci_simulation_cis_cfg::base_level_cfg
private

Base level of the input (acoustic) dynamic range.

◆ saturation_level_cfg

mha_real_t Ci_simulation_cis_cfg::saturation_level_cfg
private

Saturation level of the input (acoustic) dynamic range.

◆ threshold_level_cfg

std::vector<mha_real_t> Ci_simulation_cis_cfg::threshold_level_cfg
private

Vector containing the threshold level of the output (electric) dynamic range for each electrode.

◆ maximum_comfortable_level_cfg

std::vector<mha_real_t> Ci_simulation_cis_cfg::maximum_comfortable_level_cfg
private

Vector containing the maximum comfortable level of the output (electric) dynamicrange for each electrode.

◆ disabled_electrodes_cfg

std::vector<int> Ci_simulation_cis_cfg::disabled_electrodes_cfg
private

Vector containing the indices of any disabled electrodes.

◆ stimulation_order_cfg

unsigned int Ci_simulation_cis_cfg::stimulation_order_cfg
private

Electrode stimulation order.

◆ random_number_generator_cfg

std::default_random_engine Ci_simulation_cis_cfg::random_number_generator_cfg
private

Random number generator for randomization of stimulation order.

◆ signal_out

MHASignal::waveform_t* Ci_simulation_cis_cfg::signal_out
private

Pointer to the current output signal fragment.


The documentation for this class was generated from the following files: