The Open Master Hearing Aid (openMHA)  openMHA
Open community platform for hearing aid algorithm research
rohBeam::rohBeam Class Reference
Inheritance diagram for rohBeam::rohBeam:
Inheritance graph

Public Member Functions

 rohBeam (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 
 ~rohBeam ()
 
mha_spec_tprocess (mha_spec_t *)
 
void prepare (mhaconfig_t &)
 
void release (void)
 
- Public Member Functions inherited from MHAPlugin::plugin_t< rohConfig >
 plugin_t (const std::string &, MHA_AC::algo_comm_t &)
 Constructor of plugin template base class. More...
 
virtual ~plugin_t ()
 Destructor of plugin template base class. More...
 
void prepare_ (mhaconfig_t &)
 
void release_ ()
 
bool is_prepared () const
 Flag, if the prepare method is successfully called (or currently evaluated) More...
 
mhaconfig_t input_cfg () const
 Current input channel configuration. More...
 
mhaconfig_t output_cfg () const
 Current output channel configuration. More...
 
- Public Member Functions inherited from MHAParser::parser_t
 parser_t (const std::string &help_text="")
 Construct detached node to be used in the configuration tree. More...
 
 ~parser_t ()
 
void insert_item (const std::string &, base_t *)
 Register a parser item into this sub-parser. More...
 
void remove_item (const std::string &)
 Remove an item by name. More...
 
void force_remove_item (const std::string &)
 Remove an item by name. More...
 
void remove_item (const base_t *)
 Remove an item by address. More...
 
- Public Member Functions inherited from MHAParser::base_t
 base_t (const std::string &)
 Constructor for base class of all parser nodes. More...
 
 base_t (const base_t &)
 Copy constructor for base_t. More...
 
base_toperator= (const base_t &)=default
 
 base_t (base_t &&)=delete
 
base_toperator= (base_t &&)=delete
 
virtual ~base_t ()
 
virtual std::string parse (const std::string &)
 Causes this node to process a command in the openMHA configuration language. More...
 
virtual void parse (const char *, char *, unsigned int)
 This function parses a command and writes the parsing result into a C character array. More...
 
virtual void parse (const std::vector< std::string > &, std::vector< std::string > &)
 
virtual std::string query_perm (const std::string &)
 
virtual std::string query_range (const std::string &)
 
std::string query_version (const std::string &)
 
std::string query_id (const std::string &)
 
std::string query_subst (const std::string &)
 
std::string query_addsubst (const std::string &)
 
std::string query_help (const std::string &)
 
std::string query_cmds (const std::string &)
 
void set_node_id (const std::string &)
 Set the identification string of this parser node. More...
 
void set_help (const std::string &)
 Set the help comment of a variable or parser. More...
 
void add_parent_on_insert (parser_t *, std::string)
 
void rm_parent_on_remove (parser_t *)
 
const std::string & fullname () const
 Return the full dot-separated path name of this parser node in the openMHA configuration tree. More...
 
- Public Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
 config_t ()
 
 ~config_t ()
 

Private Types

typedef const Eigen::MatrixXf(rohBeam::* noiseFuncPtr) (float)
 

Private Member Functions

void update_cfg ()
 
float compute_head_model_T (float)
 
float compute_head_model_alpha (float)
 
Eigen::MatrixXcf * compute_head_model_mat (float src_az_degrees)
 
MHASignal::matrix_tcompute_delaycomp_vec (Eigen::MatrixXcf *headModel)
 
std::vector< Eigen::MatrixXcf > * noise_integrate_hrtf ()
 
Eigen::VectorXcf solve_MVDR (Eigen::VectorXcf propVec, Eigen::MatrixXcf noiseM)
 
const Eigen::MatrixXf compute_uncorr (float w)
 
const Eigen::MatrixXf compute_diff2D (float)
 
const Eigen::MatrixXf compute_diff3D (float)
 
MHASignal::matrix_tcompute_beamW (Eigen::MatrixXcf *)
 
float compute_wng (Eigen::VectorXcf freqRes, Eigen::VectorXcf propVec)
 
void export_beam_design (const MHASignal::matrix_t &beamW, const Eigen::MatrixXcf &headModel)
 
noiseFuncPtr get_noise_model_func (void)
 
void on_model_param_valuechanged ()
 

Private Attributes

MHAParser::kw_t prop_type
 
MHAParser::string_t sampled_hrir_path
 
MHAParser::float_t source_azimuth_degrees
 
MHAParser::vfloat_t mic_azimuth_degrees_vec
 
MHAParser::float_t head_model_sphere_radius_cm
 
MHAParser::mfloat_t intermic_distance_cm
 
MHAParser::kw_t noise_field_model
 
MHAParser::bool_t enable_adaptive_beam
 
MHAParser::kw_t binaural_type
 
MHAParser::float_t diag_loading_mu
 
MHAParser::bool_t enable_export
 
MHAParser::bool_t enable_wng_optimization
 
MHAParser::float_t tau_postfilter_ms
 
MHAParser::float_t tau_blocking_XkXi_ms
 
MHAParser::float_t tau_blocking_XkY_ms
 
MHAEvents::patchbay_t< rohBeampatchbay
 
bool prepared
 
MHA_AC::spectrum_tbeamExport
 
MHA_AC::waveform_tnoiseModelExport
 
MHA_AC::spectrum_tpropExport
 

Additional Inherited Members

- Public Attributes inherited from MHAParser::base_t
MHAEvents::emitter_t writeaccess
 Event emitted on write access. More...
 
MHAEvents::emitter_t valuechanged
 Event emitted if the value has changed. More...
 
MHAEvents::emitter_t readaccess
 Event emitted on read access. More...
 
MHAEvents::emitter_t prereadaccess
 Event emitted on read access, before the data field is accessed. More...
 
- Protected Member Functions inherited from MHAParser::parser_t
std::string op_subparse (expression_t &)
 
std::string op_setval (expression_t &)
 
std::string op_query (expression_t &)
 
std::string query_type (const std::string &)
 
std::string query_dump (const std::string &)
 
std::string query_entries (const std::string &)
 
std::string query_readfile (const std::string &)
 
std::string query_savefile (const std::string &)
 
std::string query_savefile_compact (const std::string &)
 
std::string query_savemons (const std::string &)
 
std::string query_val (const std::string &)
 
std::string query_listids (const std::string &)
 
void set_id_string (const std::string &)
 
bool has_entry (const std::string &)
 
- Protected Member Functions inherited from MHAParser::base_t
void activate_query (const std::string &, query_t)
 
void notify ()
 
- Protected Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * poll_config ()
 Receive the latest run time configuration. More...
 
runtime_cfg_t * peek_config () const
 Receive the latest run time configuration without changing the configuration pointer. More...
 
void push_config (runtime_cfg_t *ncfg)
 Push a new run time configuration into the configuration fifo. More...
 
void cleanup_unused_cfg ()
 To be called by the push_config() for housekeeping. More...
 
void remove_all_cfg ()
 To be called on Plugin destruction, will delete all runtime configuration list nodes and objects regardless of their in_use flag. More...
 
- Protected Attributes inherited from MHAPlugin::plugin_t< rohConfig >
mhaconfig_t tftype
 Member for storage of plugin interface configuration. More...
 
MHA_AC::algo_comm_tac
 AC handle of the chain. More...
 
- Protected Attributes inherited from MHAParser::base_t
query_map_t queries
 
bool data_is_initialized
 
- Protected Attributes inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * cfg
 Pointer to the runtime configuration currently used by the signal processing thread. More...
 

Member Typedef Documentation

◆ noiseFuncPtr

typedef const Eigen::MatrixXf(rohBeam::* rohBeam::rohBeam::noiseFuncPtr) (float)
private

Constructor & Destructor Documentation

◆ rohBeam()

rohBeam::rohBeam::rohBeam ( MHA_AC::algo_comm_t iac,
const std::string &  configured_name 
)

◆ ~rohBeam()

rohBeam::rohBeam::~rohBeam ( )

Member Function Documentation

◆ process()

mha_spec_t* rohBeam::rohBeam::process ( mha_spec_t )

◆ prepare()

void rohBeam::rohBeam::prepare ( mhaconfig_t )
virtual

◆ release()

void rohBeam::rohBeam::release ( void  )
inlinevirtual

Reimplemented from MHAPlugin::plugin_t< rohConfig >.

◆ update_cfg()

void rohBeam::rohBeam::update_cfg ( )
private

◆ compute_head_model_T()

float rohBeam::rohBeam::compute_head_model_T ( float  )
private

◆ compute_head_model_alpha()

float rohBeam::rohBeam::compute_head_model_alpha ( float  )
private

◆ compute_head_model_mat()

Eigen::MatrixXcf* rohBeam::rohBeam::compute_head_model_mat ( float  src_az_degrees)
private

◆ compute_delaycomp_vec()

MHASignal::matrix_t* rohBeam::rohBeam::compute_delaycomp_vec ( Eigen::MatrixXcf *  headModel)
private

◆ noise_integrate_hrtf()

std::vector<Eigen::MatrixXcf>* rohBeam::rohBeam::noise_integrate_hrtf ( )
private

◆ solve_MVDR()

Eigen::VectorXcf rohBeam::rohBeam::solve_MVDR ( Eigen::VectorXcf  propVec,
Eigen::MatrixXcf  noiseM 
)
private

◆ compute_uncorr()

const Eigen::MatrixXf rohBeam::rohBeam::compute_uncorr ( float  w)
private

◆ compute_diff2D()

const Eigen::MatrixXf rohBeam::rohBeam::compute_diff2D ( float  )
private

◆ compute_diff3D()

const Eigen::MatrixXf rohBeam::rohBeam::compute_diff3D ( float  )
private

◆ compute_beamW()

MHASignal::matrix_t* rohBeam::rohBeam::compute_beamW ( Eigen::MatrixXcf *  )
private

◆ compute_wng()

float rohBeam::rohBeam::compute_wng ( Eigen::VectorXcf  freqRes,
Eigen::VectorXcf  propVec 
)
private

◆ export_beam_design()

void rohBeam::rohBeam::export_beam_design ( const MHASignal::matrix_t beamW,
const Eigen::MatrixXcf &  headModel 
)
private

◆ get_noise_model_func()

noiseFuncPtr rohBeam::rohBeam::get_noise_model_func ( void  )
private

◆ on_model_param_valuechanged()

void rohBeam::rohBeam::on_model_param_valuechanged ( )
private

Member Data Documentation

◆ prop_type

MHAParser::kw_t rohBeam::rohBeam::prop_type
private

◆ sampled_hrir_path

MHAParser::string_t rohBeam::rohBeam::sampled_hrir_path
private

◆ source_azimuth_degrees

MHAParser::float_t rohBeam::rohBeam::source_azimuth_degrees
private

◆ mic_azimuth_degrees_vec

MHAParser::vfloat_t rohBeam::rohBeam::mic_azimuth_degrees_vec
private

◆ head_model_sphere_radius_cm

MHAParser::float_t rohBeam::rohBeam::head_model_sphere_radius_cm
private

◆ intermic_distance_cm

MHAParser::mfloat_t rohBeam::rohBeam::intermic_distance_cm
private

◆ noise_field_model

MHAParser::kw_t rohBeam::rohBeam::noise_field_model
private

◆ enable_adaptive_beam

MHAParser::bool_t rohBeam::rohBeam::enable_adaptive_beam
private

◆ binaural_type

MHAParser::kw_t rohBeam::rohBeam::binaural_type
private

◆ diag_loading_mu

MHAParser::float_t rohBeam::rohBeam::diag_loading_mu
private

◆ enable_export

MHAParser::bool_t rohBeam::rohBeam::enable_export
private

◆ enable_wng_optimization

MHAParser::bool_t rohBeam::rohBeam::enable_wng_optimization
private

◆ tau_postfilter_ms

MHAParser::float_t rohBeam::rohBeam::tau_postfilter_ms
private

◆ tau_blocking_XkXi_ms

MHAParser::float_t rohBeam::rohBeam::tau_blocking_XkXi_ms
private

◆ tau_blocking_XkY_ms

MHAParser::float_t rohBeam::rohBeam::tau_blocking_XkY_ms
private

◆ patchbay

MHAEvents::patchbay_t<rohBeam> rohBeam::rohBeam::patchbay
private

◆ prepared

bool rohBeam::rohBeam::prepared
private

◆ beamExport

MHA_AC::spectrum_t* rohBeam::rohBeam::beamExport
private

◆ noiseModelExport

MHA_AC::waveform_t* rohBeam::rohBeam::noiseModelExport
private

◆ propExport

MHA_AC::spectrum_t* rohBeam::rohBeam::propExport
private

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