protected:
virtual bool configure( const std::string & nodeName, SGPropertyNode_ptr configNode) = 0;
public:
+ virtual ~DigitalFilterImplementation() {}
DigitalFilterImplementation();
virtual void initialize( double output ) {}
virtual double compute( double dt, double input ) = 0;
double NoiseSpikeFilterImplementation::compute( double dt, double input )
{
double delta = input - _output_1;
- if( delta == 0.0 ) return input; // trivial
+ if( fabs(delta) <= SGLimitsd::min() ) return input; // trivial
double maxChange = _rateOfChangeInput.get_value() * dt;
const PeriodicalValue * periodical = _digitalFilter->getPeriodicalValue();