The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
signal processing class for waveform data (based on mha_wave_t) More...
Public Member Functions | |
waveform_t (const unsigned int &frames, const unsigned int &channels) | |
constructor of waveform_t More... | |
waveform_t (const mhaconfig_t &cf) | |
Constructor to create a waveform from plugin configuration. More... | |
waveform_t (const mha_wave_t &src) | |
Copy contructor for mha_wave_t source. More... | |
waveform_t (const MHASignal::waveform_t &src) | |
Copy contructor. More... | |
waveform_t (const std::vector< mha_real_t > &src) | |
Copy contructor for std::vector<mha_real_t> source. More... | |
virtual | ~waveform_t (void) |
std::vector< mha_real_t > | flatten () const |
operator std::vector< mha_real_t > () const | |
void | operator= (const mha_real_t &v) |
mha_real_t & | operator[] (unsigned int k) |
const mha_real_t & | operator[] (unsigned int k) const |
mha_real_t & | value (unsigned int t, unsigned int ch) |
Element accessor. More... | |
mha_real_t & | operator() (unsigned int t, unsigned int ch) |
Element accessor. More... | |
const mha_real_t & | value (unsigned int t, unsigned int ch) const |
Constant element accessor. More... | |
const mha_real_t & | operator() (unsigned int t, unsigned int ch) const |
Constant element accessor. More... | |
mha_real_t | sum (const unsigned int &a, const unsigned int &b) |
sum of all elements between [a,b) in all channels More... | |
mha_real_t | sum (const unsigned int &a, const unsigned int &b, const unsigned int &ch) |
sum of all elements between [a,b) in channel ch More... | |
mha_real_t | sum () |
sum of all elements More... | |
mha_real_t | sumsqr () |
sum of square of all elements More... | |
mha_real_t | sum_channel (const unsigned int &) |
return sum of all elements in one channel More... | |
void | assign (const unsigned int &k, const unsigned int &ch, const mha_real_t &val) |
set frame "k" in channel "ch" to value "val" More... | |
void | assign (const mha_real_t &) |
set all elements to value More... | |
void | assign_frame (const unsigned int &k, const mha_real_t &val) |
assign value "val" to frame k in all channels More... | |
void | assign_channel (const unsigned int &c, const mha_real_t &val) |
assign value "val" to channel ch in all frames More... | |
void | copy (const std::vector< mha_real_t > &v) |
void | copy (const mha_wave_t &) |
copy data from source into current waveform More... | |
void | copy (const mha_wave_t *) |
void | copy_channel (const mha_wave_t &, unsigned int, unsigned int) |
Copy one channel of a given waveform signal to a target channel. More... | |
void | copy_from_at (unsigned int, unsigned int, const mha_wave_t &, unsigned int) |
Copy part of the source signal into part of this waveform object. More... | |
void | export_to (mha_wave_t &) |
copy data into allocated mha_wave_t structure More... | |
void | limit (const mha_real_t &min, const mha_real_t &max) |
limit target to range [min,max] More... | |
void | power (const waveform_t &) |
transform waveform signal (in Pa) to squared signal (in W/m^2) More... | |
void | powspec (const mha_spec_t &) |
get the power spectrum (in W/m^2) from a complex spectrum More... | |
void | scale (const unsigned int &a, const unsigned int &b, const unsigned int &ch, const mha_real_t &val) |
scale section [a,b) in channel "ch" by "val" More... | |
void | scale (const unsigned int &k, const unsigned int &ch, const mha_real_t &val) |
scale one element More... | |
void | scale_channel (const unsigned int &, const mha_real_t &) |
scale one channel of target with a scalar More... | |
void | scale_frame (const unsigned int &, const mha_real_t &) |
unsigned int | get_size () const |
Additional Inherited Members | |
Public Attributes inherited from mha_wave_t | |
mha_real_t * | buf |
signal buffer More... | |
unsigned int | num_channels |
number of channels More... | |
unsigned int | num_frames |
number of frames in each channel More... | |
mha_channel_info_t * | channel_info |
detailed channel description More... | |
signal processing class for waveform data (based on mha_wave_t)
waveform_t::waveform_t | ( | const unsigned int & | frames, |
const unsigned int & | channels | ||
) |
constructor of waveform_t
Allocates buffer memory and initializes values to zero.
frames | number of frames in each channel |
channels | number of channels |
|
explicit |
Constructor to create a waveform from plugin configuration.
cf | Plugin configuration |
|
explicit |
Copy contructor for mha_wave_t source.
waveform_t::waveform_t | ( | const MHASignal::waveform_t & | src | ) |
Copy contructor.
waveform_t::waveform_t | ( | const std::vector< mha_real_t > & | src | ) |
Copy contructor for std::vector<mha_real_t> source.
A waveform structure with a single channel is created, the length is equal to the number of elements in the source vector.
|
virtual |
Reimplemented in MHA_AC::waveform_t.
std::vector< mha_real_t > waveform_t::flatten | ( | ) | const |
|
explicit |
|
inline |
|
inline |
|
inline |
|
inline |
Element accessor.
t | Frame number |
ch | Channel number |
|
inline |
Element accessor.
t | Frame number |
ch | Channel number |
|
inline |
Constant element accessor.
t | Frame number |
ch | Channel number |
|
inline |
Constant element accessor.
t | Frame number |
ch | Channel number |
mha_real_t waveform_t::sum | ( | const unsigned int & | a, |
const unsigned int & | b | ||
) |
sum of all elements between [a,b) in all channels
a | starting frame |
b | end frame (excluded) |
mha_real_t waveform_t::sum | ( | const unsigned int & | a, |
const unsigned int & | b, | ||
const unsigned int & | ch | ||
) |
sum of all elements between [a,b) in channel ch
a | starting frame |
b | end frame (exluded) |
ch | channel number |
mha_real_t waveform_t::sum | ( | ) |
sum of all elements
mha_real_t waveform_t::sumsqr | ( | ) |
sum of square of all elements
mha_real_t waveform_t::sum_channel | ( | const unsigned int & | ch | ) |
return sum of all elements in one channel
ch | channel number |
void waveform_t::assign | ( | const unsigned int & | k, |
const unsigned int & | ch, | ||
const mha_real_t & | val | ||
) |
set frame "k" in channel "ch" to value "val"
k | frame number |
ch | channel number |
val | new value |
void waveform_t::assign | ( | const mha_real_t & | val | ) |
set all elements to value
val | new value |
void waveform_t::assign_frame | ( | const unsigned int & | k, |
const mha_real_t & | val | ||
) |
assign value "val" to frame k in all channels
k | frame number |
val | new value |
void waveform_t::assign_channel | ( | const unsigned int & | ch, |
const mha_real_t & | val | ||
) |
assign value "val" to channel ch in all frames
ch | channel number |
val | new value |
void waveform_t::copy | ( | const std::vector< mha_real_t > & | v | ) |
void waveform_t::copy | ( | const mha_wave_t & | src | ) |
copy data from source into current waveform
src | input data (need to be same size as target) |
void waveform_t::copy | ( | const mha_wave_t * | src | ) |
void waveform_t::copy_channel | ( | const mha_wave_t & | src, |
unsigned int | src_channel, | ||
unsigned int | dest_channel | ||
) |
Copy one channel of a given waveform signal to a target channel.
src | Input waveform signal |
src_channel | Channel in source signal |
dest_channel | Channel number in destination signal |
void waveform_t::copy_from_at | ( | unsigned int | to_pos, |
unsigned int | len, | ||
const mha_wave_t & | src, | ||
unsigned int | from_pos | ||
) |
Copy part of the source signal into part of this waveform object.
Source and target have to have the same number of channels.
to_pos | Offset in target |
len | Number of frames copied |
src | Source |
from_pos | Offset in source |
void waveform_t::export_to | ( | mha_wave_t & | dest | ) |
copy data into allocated mha_wave_t structure
dest | destination structure |
void waveform_t::limit | ( | const mha_real_t & | min, |
const mha_real_t & | max | ||
) |
limit target to range [min,max]
min | lower limit |
max | upper limit |
void waveform_t::power | ( | const waveform_t & | src | ) |
transform waveform signal (in Pa) to squared signal (in W/m^2)
src | linear waveform signal (in Pa) |
void waveform_t::powspec | ( | const mha_spec_t & | src | ) |
get the power spectrum (in W/m^2) from a complex spectrum
src | complex spectrum (normalized to Pa) |
void waveform_t::scale | ( | const unsigned int & | a, |
const unsigned int & | b, | ||
const unsigned int & | ch, | ||
const mha_real_t & | val | ||
) |
scale section [a,b) in channel "ch" by "val"
a | starting frame |
b | end frame (excluded) |
ch | channel number |
val | scale factor |
void waveform_t::scale | ( | const unsigned int & | k, |
const unsigned int & | ch, | ||
const mha_real_t & | val | ||
) |
scale one element
k | frame number |
ch | channel number |
val | scale factor |
void waveform_t::scale_channel | ( | const unsigned int & | ch, |
const mha_real_t & | src | ||
) |
scale one channel of target with a scalar
ch | channel number |
src | factor |
void waveform_t::scale_frame | ( | const unsigned int & | frame, |
const mha_real_t & | val | ||
) |
|
inline |