Working Maveric

Committer:
mettrque
Date:
Tue Apr 04 15:18:23 2017 +0000
Revision:
0:bdca5e4773dd
First Erfolgreich

Who changed what in which revision?

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