Kosaka Lab
/
median-filter
for time series data ver. 1
median.cpp@0:ad8c8186c0c2, 2013-12-18 (annotated)
- Committer:
- kosakaLab
- Date:
- Wed Dec 18 11:15:24 2013 +0000
- Revision:
- 0:ad8c8186c0c2
median filter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kosakaLab | 0:ad8c8186c0c2 | 1 | #include "mbed.h" |
kosakaLab | 0:ad8c8186c0c2 | 2 | #include <algorithm> |
kosakaLab | 0:ad8c8186c0c2 | 3 | #include "median.h" |
kosakaLab | 0:ad8c8186c0c2 | 4 | float data[N_MEDIAN]; |
kosakaLab | 0:ad8c8186c0c2 | 5 | |
kosakaLab | 0:ad8c8186c0c2 | 6 | float median(float data[]){ |
kosakaLab | 0:ad8c8186c0c2 | 7 | float x[N_MEDIAN]; |
kosakaLab | 0:ad8c8186c0c2 | 8 | int i; |
kosakaLab | 0:ad8c8186c0c2 | 9 | |
kosakaLab | 0:ad8c8186c0c2 | 10 | for(i=0;i<N_MEDIAN;i++) x[i]=data[i]; |
kosakaLab | 0:ad8c8186c0c2 | 11 | sort(x, x + N_MEDIAN); // ソートする。 |
kosakaLab | 0:ad8c8186c0c2 | 12 | #if 0 |
kosakaLab | 0:ad8c8186c0c2 | 13 | printf(" *%d* ",N_MEDIAN/2+1); |
kosakaLab | 0:ad8c8186c0c2 | 14 | for(i=0;i<N_MEDIAN;i++){ |
kosakaLab | 0:ad8c8186c0c2 | 15 | printf("%3.1f,",x[i]); |
kosakaLab | 0:ad8c8186c0c2 | 16 | } |
kosakaLab | 0:ad8c8186c0c2 | 17 | #endif |
kosakaLab | 0:ad8c8186c0c2 | 18 | return(x[N_MEDIAN/2]); // return median value |
kosakaLab | 0:ad8c8186c0c2 | 19 | } |