CLAM::ThreeBandFilter Class Reference

Amplifies the spectrum magnitude to different gain for each of three bands. More...

#include <3BandFilter.hxx>

List of all members.

Public Member Functions

const char * GetClassName () const
 Override it in every subclass and retur the name of that class.
 ThreeBandFilter ()
 ~ThreeBandFilter ()
bool ConcreteConfigure (const ProcessingConfig &config)
 Configuration method interface.
bool Do (const Frame &in, Frame &out)
bool Do (const Spectrum &in, Spectrum &out)
bool Do ()
 Supervised mode execution method (using ports).

Detailed Description

Amplifies the spectrum magnitude to different gain for each of three bands.

Cutoff frequencies are normalized in the interval 0,1 which maps into the full spectral range of the input spectrum. It applies one spectral bin transitions to avoid Gibbs effect.

Parameters:
[in] In Spectrum [Port] Input spectrum
[out] Out Spectrum [Port] Output spectrum
[in] LowCutoff [Control] Normalized frequency that separes the first and second bands.
[in] HighCutoff [Control] Normalized frequency that separes the second and third bands. [0..1]
[in] LowGain [Control] Gain in dB's for the first band.
[in] MidGain [Control] Gain in dB's for the second band.
[in] HighGain [Control] Gain in dB's for the third band.

Definition at line 50 of file 3BandFilter.hxx.


Constructor & Destructor Documentation

CLAM::ThreeBandFilter::ThreeBandFilter (  )  [inline]

Definition at line 66 of file 3BandFilter.hxx.

References CLAM::Processing::Configure().

CLAM::ThreeBandFilter::~ThreeBandFilter (  )  [inline]

Definition at line 78 of file 3BandFilter.hxx.


Member Function Documentation

bool CLAM::ThreeBandFilter::ConcreteConfigure ( const ProcessingConfig  )  [inline, virtual]

Configuration method interface.

The Processing base class forces all the concrete classes derived from it to implement this method, which must actually perform the specific configuration tasks.

Note that the user can not call this method directly. He will use Configure instead. The argument is expected to be an object of the necesary concrete configuration class.

Parameters:
Reference to the configuration object.
Returns:
false if the object is not yet fully configured. (For example, if some important configuration attribute such as number of ports was set to zero in the config object)

true if the processing object is left in a consistent state, and can be executed.

Exceptions:
This method must throw a bad_cast exception if the argument is not an object of the expected configuration class.

Reimplemented from CLAM::Processing.

Definition at line 80 of file 3BandFilter.hxx.

References CLAM::InControl< ControlDataType >::DoControl(), and CLAM::InControlBase::SetBounds().

bool CLAM::ThreeBandFilter::Do (  )  [inline, virtual]

Supervised mode execution method (using ports).

Returns:
A boolean telling whether it has been output

Implements CLAM::Processing.

Definition at line 107 of file 3BandFilter.hxx.

References CLAM::InPort< Token >::Consume(), CLAM::OutPort< Token >::GetData(), CLAM::InPort< Token >::GetData(), and CLAM::OutPort< Token >::Produce().

Referenced by Do().

bool CLAM::ThreeBandFilter::Do ( const Spectrum in,
Spectrum out 
) [virtual]

Implements CLAM::FrameTransformationTmpl< Spectrum >.

Definition at line 36 of file 3BandFilter.cxx.

bool CLAM::ThreeBandFilter::Do ( const Frame in,
Frame out 
) [inline, virtual]

Implements CLAM::FrameTransformation.

Definition at line 99 of file 3BandFilter.hxx.

References Do().

const char* CLAM::ThreeBandFilter::GetClassName (  )  const [inline, virtual]

Override it in every subclass and retur the name of that class.

Implements CLAM::Processing.

Definition at line 61 of file 3BandFilter.hxx.


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.3