a floating median filter to filter floating point data such as analog inputs
Fork of filter by
filter.h@1:9ce370b360ba, 2015-04-01 (annotated)
- Committer:
- joe4465
- Date:
- Wed Apr 01 11:18:55 2015 +0000
- Revision:
- 1:9ce370b360ba
- Parent:
- 0:46a72e790df8
...
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
networker | 0:46a72e790df8 | 1 | #ifndef FILTER_H |
networker | 0:46a72e790df8 | 2 | #define FILTER_H |
networker | 0:46a72e790df8 | 3 | |
joe4465 | 1:9ce370b360ba | 4 | class filter |
joe4465 | 1:9ce370b360ba | 5 | { |
joe4465 | 1:9ce370b360ba | 6 | private: |
networker | 0:46a72e790df8 | 7 | int N; |
joe4465 | 1:9ce370b360ba | 8 | double *val; |
networker | 0:46a72e790df8 | 9 | bool *big; |
networker | 0:46a72e790df8 | 10 | int med, i; |
joe4465 | 1:9ce370b360ba | 11 | double median; |
networker | 0:46a72e790df8 | 12 | int findmax(); |
networker | 0:46a72e790df8 | 13 | int findmin(); |
joe4465 | 1:9ce370b360ba | 14 | |
joe4465 | 1:9ce370b360ba | 15 | public: |
joe4465 | 1:9ce370b360ba | 16 | filter(int window = 3); //every window >= 1 is allowed but the behaviour for even window sizes is not well defined |
joe4465 | 1:9ce370b360ba | 17 | double process(double); |
joe4465 | 1:9ce370b360ba | 18 | double getMedian(); |
networker | 0:46a72e790df8 | 19 | }; |
networker | 0:46a72e790df8 | 20 | |
networker | 0:46a72e790df8 | 21 | #endif |