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

Public Member Functions

 fftfb_interface_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 Default values are set and MHA configuration variables registered into the parser. More...
 
void prepare (mhaconfig_t &)
 Prepare all variables for processing. More...
 
void release ()
 
mha_spec_tprocess (mha_spec_t *)
 
mha_wave_tprocess (mha_wave_t *)
 
- Public Member Functions inherited from MHAPlugin::plugin_t< fftfb_plug_t >
 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 ()
 
- Public Member Functions inherited from MHAOvlFilter::overlap_save_filterbank_t::vars_t
 vars_t (MHAParser::parser_t &p)
 
- Public Member Functions inherited from MHAOvlFilter::fftfb_vars_t
 fftfb_vars_t (MHAParser::parser_t &p)
 construct a set of openMHA configuration language variables suitable for configuring the FFT-based overlapping filterbank. More...
 

Private Member Functions

void update_cfg ()
 

Private Attributes

MHAParser::bool_t return_imag
 
MHAEvents::patchbay_t< fftfb_interface_tpatchbay
 
MHA_AC::int_t nchannels
 
std::string algo
 
bool prepared
 
unsigned int nbands
 

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...
 
- Public Attributes inherited from MHAOvlFilter::overlap_save_filterbank_t::vars_t
MHAParser::int_t fftlen
 
MHAParser::kw_t phasemodel
 
MHAParser::window_t irswnd
 
- Public Attributes inherited from MHAOvlFilter::fftfb_vars_t
scale_var_t fscale
 Frequency scale type (lin/bark/log/erb). More...
 
scale_var_t ovltype
 Filter shape (rect/lin/hann). More...
 
MHAParser::float_t plateau
 relative plateau width. More...
 
MHAParser::kw_t ftype
 Flag to decide wether edge or center frequencies are used. More...
 
fscale_t f
 Frequency. More...
 
MHAParser::bool_t normalize
 Normalize sum of channels. More...
 
MHAParser::bool_t fail_on_nonmonotonic
 Fail if frequency entries are non-monotonic (otherwise sort) More...
 
MHAParser::bool_t fail_on_unique_bins
 Fail if center frequencies share the same FFT bin. More...
 
MHAParser::bool_t flag_allow_empty_bands
 Allow that frequency bands contain only zeros. More...
 
MHAParser::vfloat_mon_t cf
 Final center frequencies in Hz. More...
 
MHAParser::vfloat_mon_t ef
 Final edge frequencies in Hz. More...
 
MHAParser::vfloat_mon_t cLTASS
 Bandwidth correction for LTASS noise (level of 0 dB RMS LTASS noise) More...
 
MHAParser::mfloat_mon_t shapes
 
- 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< fftfb_plug_t >
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...
 

Constructor & Destructor Documentation

◆ fftfb_interface_t()

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

Default values are set and MHA configuration variables registered into the parser.

Parameters
acalgorithm communication handle
thchain name
alalgorithm name

Member Function Documentation

◆ prepare()

void fftfilterbank::fftfb_interface_t::prepare ( mhaconfig_t tf)
virtual

Prepare all variables for processing.

In this function, all variables are initialised and the filter shapes for each band are calculated. The filter shapes $W(f)$ are defined as

\[ W(f) = W(T(S(f))) = W(x),\quad x = T(S(f))=T(\hat f), \]

$W(x)$ beeing a symmetric window function in the interval $[-1,1]$ and $S(f)$ the transformation from the linear scale to the given frequency scale (see functions in FreqScaleFun). The function $T(\hat f)$ transforms the frequency range between the center frequencies $[\hat f_{k-1},\hat f_k]$ and $[\hat f_k,\hat f_{k+1}]$ into the interval $[-1,0]$ and $[0,1]$, respectively. This function is realised by the function linscale().

Parameters
tfChannel configuration

Implements MHAPlugin::plugin_t< fftfb_plug_t >.

◆ release()

void fftfilterbank::fftfb_interface_t::release ( void  )
virtual

◆ process() [1/2]

mha_spec_t * fftfilterbank::fftfb_interface_t::process ( mha_spec_t s)

◆ process() [2/2]

mha_wave_t * fftfilterbank::fftfb_interface_t::process ( mha_wave_t s)

◆ update_cfg()

void fftfilterbank::fftfb_interface_t::update_cfg ( void  )
private

Member Data Documentation

◆ return_imag

MHAParser::bool_t fftfilterbank::fftfb_interface_t::return_imag
private

◆ patchbay

MHAEvents::patchbay_t<fftfb_interface_t> fftfilterbank::fftfb_interface_t::patchbay
private

◆ nchannels

MHA_AC::int_t fftfilterbank::fftfb_interface_t::nchannels
private

◆ algo

std::string fftfilterbank::fftfb_interface_t::algo
private

◆ prepared

bool fftfilterbank::fftfb_interface_t::prepared
private

◆ nbands

unsigned int fftfilterbank::fftfb_interface_t::nbands
private

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