inkl Line Sensor

Dependencies:   mbed

Fork of Roboshark_V2 by Roboshark

Committer:
ahlervin
Date:
Thu Apr 26 05:58:07 2018 +0000
Revision:
5:e715d157ced5
Parent:
0:6d0671ae4648
bug fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jacqueline 0:6d0671ae4648 1 /*
Jacqueline 0:6d0671ae4648 2 * LowpassFilter.h
Jacqueline 0:6d0671ae4648 3 * Copyright (c) 2018, ZHAW
Jacqueline 0:6d0671ae4648 4 * All rights reserved.
Jacqueline 0:6d0671ae4648 5 */
Jacqueline 0:6d0671ae4648 6
Jacqueline 0:6d0671ae4648 7 #ifndef LOWPASS_FILTER_H_
Jacqueline 0:6d0671ae4648 8 #define LOWPASS_FILTER_H_
Jacqueline 0:6d0671ae4648 9
Jacqueline 0:6d0671ae4648 10 #include <cstdlib>
Jacqueline 0:6d0671ae4648 11
Jacqueline 0:6d0671ae4648 12 /**
Jacqueline 0:6d0671ae4648 13 * This class implements a time-discrete 2nd order lowpass filter for a series of data values.
Jacqueline 0:6d0671ae4648 14 * This filter can typically be used within a periodic task that takes measurements that need
Jacqueline 0:6d0671ae4648 15 * to be filtered, like speed or position values.
Jacqueline 0:6d0671ae4648 16 */
Jacqueline 0:6d0671ae4648 17 class LowpassFilter {
Jacqueline 0:6d0671ae4648 18
Jacqueline 0:6d0671ae4648 19 public:
Jacqueline 0:6d0671ae4648 20
Jacqueline 0:6d0671ae4648 21 LowpassFilter();
Jacqueline 0:6d0671ae4648 22 virtual ~LowpassFilter();
Jacqueline 0:6d0671ae4648 23 void reset();
Jacqueline 0:6d0671ae4648 24 void reset(float value);
Jacqueline 0:6d0671ae4648 25 void setPeriod(float period);
Jacqueline 0:6d0671ae4648 26 void setFrequency(float frequency);
Jacqueline 0:6d0671ae4648 27 float getFrequency();
Jacqueline 0:6d0671ae4648 28 float filter(float value);
Jacqueline 0:6d0671ae4648 29
Jacqueline 0:6d0671ae4648 30 private:
Jacqueline 0:6d0671ae4648 31
Jacqueline 0:6d0671ae4648 32 float period;
Jacqueline 0:6d0671ae4648 33 float frequency;
Jacqueline 0:6d0671ae4648 34 float a11, a12, a21, a22, b1, b2;
Jacqueline 0:6d0671ae4648 35 float x1, x2;
Jacqueline 0:6d0671ae4648 36 };
Jacqueline 0:6d0671ae4648 37
Jacqueline 0:6d0671ae4648 38 #endif /* LOWPASS_FILTER_H_ */
Jacqueline 0:6d0671ae4648 39
Jacqueline 0:6d0671ae4648 40