Larus glider flight sensor system 3.9.2024
Software-In-The-Loop test and validation system
Loading...
Searching...
No Matches
boxcar_averager.h
Go to the documentation of this file.
1/*
2 * boxcar_averager.h
3 *
4 * Created on: May 17, 2023
5 * Author: schaefer
6 */
7
8#ifndef GENERIC_ALGORITHMS_BOXCAR_AVERAGER_H_
9#define GENERIC_ALGORITHMS_BOXCAR_AVERAGER_H_
10
12template <class data_t, unsigned length> class boxcar_averager
13{
14public:
16 :storage{0},
17 ptr(storage)
18 {};
19 data_t respond( const data_t &right)
20 {
21 *ptr=right;
22
23 ++ptr;
24 if( ptr >= storage + length)
25 ptr=storage;
26
27 data_t average = {0};
28 for(unsigned i=0; i<length; ++i)
29 average += storage[i];
30
31 return average / length;
32 }
33private:
34 data_t storage[length];
35 data_t * ptr;
36};
37
38
39
40#endif /* GENERIC_ALGORITHMS_BOXCAR_AVERAGER_H_ */
FIR averager using a rectangle window.
data_t respond(const data_t &right)