The iPod controller that I submitted for the mbed challenge
Dependencies: mbed Motordriver PID
filter/filter.h@0:371773dd3dd1, 2011-05-04 (annotated)
- Committer:
- networker
- Date:
- Wed May 04 15:41:13 2011 +0000
- Revision:
- 0:371773dd3dd1
first publication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
networker | 0:371773dd3dd1 | 1 | #ifndef FILTER_H |
networker | 0:371773dd3dd1 | 2 | #define FILTER_H |
networker | 0:371773dd3dd1 | 3 | |
networker | 0:371773dd3dd1 | 4 | class filter { |
networker | 0:371773dd3dd1 | 5 | public: |
networker | 0:371773dd3dd1 | 6 | virtual float process(float in) { |
networker | 0:371773dd3dd1 | 7 | return in; |
networker | 0:371773dd3dd1 | 8 | } |
networker | 0:371773dd3dd1 | 9 | }; |
networker | 0:371773dd3dd1 | 10 | |
networker | 0:371773dd3dd1 | 11 | class medianFilter: public filter { |
networker | 0:371773dd3dd1 | 12 | int N; |
networker | 0:371773dd3dd1 | 13 | float *val; |
networker | 0:371773dd3dd1 | 14 | bool *big; |
networker | 0:371773dd3dd1 | 15 | int med, i; |
networker | 0:371773dd3dd1 | 16 | float median; |
networker | 0:371773dd3dd1 | 17 | int findmax(); |
networker | 0:371773dd3dd1 | 18 | int findmin(); |
networker | 0:371773dd3dd1 | 19 | public: |
networker | 0:371773dd3dd1 | 20 | medianFilter(int window = 3); //every window >= 1 is allowed but the behaviour for even window sizes is not well defined |
networker | 0:371773dd3dd1 | 21 | virtual float process(float); |
networker | 0:371773dd3dd1 | 22 | }; |
networker | 0:371773dd3dd1 | 23 | |
networker | 0:371773dd3dd1 | 24 | #endif |