Infinite Impulse Response (IIR) filter. This filter can either be used as a low pass or high pass filter. It is based on a Critically Damped, 2 poles filter (considering that it is better avoid overshooting even at the cost of a gentler falloff). It is possible to use it as a Low Pass (LP) or High Pass (HP)
The cutoff period (defined as the frequency at a -3dB gain) is given in seconds as argument. The phase is removed by bidirectional filtering, ie. running the filter twice, first backward and then forward (this also squares the amplitude response). But it is possible to disable this bidirectional filtering by adding the "single_pass" argument.
To know more: http://unicorn.us.com/trading/allpolefilters.html and http://www.dspguide.com/ch19/4.htm.
#include <ProcIIR.h>
Public Member Functions | |
ProcIIR (const std::vector< std::string > &vec_args, const std::string &name) | |
virtual void | process (const unsigned int ¶m, const std::vector< MeteoData > &ivec, std::vector< MeteoData > &ovec) |
![]() | |
virtual | ~ProcessingBlock () |
std::string | getName () const |
const ProcessingProperties & | getProperties () const |
const std::string | toString () const |
Additional Inherited Members | |
![]() | |
ProcessingBlock (const std::string &name) | |
protected constructor only to be called by children More... | |
void | convert_args (const size_t &min_nargs, const size_t &max_nargs, const std::vector< std::string > &vec_args, std::vector< double > &dbl_args) const |
![]() | |
static bool | is_soft (std::vector< std::string > &vec_args) |
static void | readCorrections (const std::string &filter, const std::string &filename, const char &c_type, const double &init, std::vector< double > &corrections) |
![]() | |
ProcessingProperties | properties |
const std::string | block_name |
![]() | |
static const double | soil_albedo = .23 |
static const double | snow_albedo = .85 |
static const double | snow_thresh = .1 |
parametrize the albedo from HS More... | |
mio::ProcIIR::ProcIIR | ( | const std::vector< std::string > & | vec_args, |
const std::string & | name | ||
) |
|
virtual |
Implements mio::ProcessingBlock.