for time series data ver. 1

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
kosakaLab
Date:
Wed Dec 18 11:15:24 2013 +0000
Commit message:
median filter

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
median.cpp Show annotated file Show diff for this revision Revisions of this file
median.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r ad8c8186c0c2 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Dec 18 11:15:24 2013 +0000
@@ -0,0 +1,22 @@
+#include "mbed.h"
+#include "median.h"
+
+int main() {
+    int i,j,k;
+    float x;
+//    float data[N_MEDIAN] = { 3.1, 3.5, 3.2, -2, 3 };    // 配列を用意する。
+
+    j=0;
+    for(k=0;k<20;k++){
+        x=sin((float)k*1)*1;//k//rand()/1e9-1;//k;
+        for(i=0;i<N_MEDIAN;i++){
+            printf("%3.1f, ",data[i]);
+        }
+    
+        /**** begin ****/
+        data[j]=x;    j+=1;  if(j==N_MEDIAN) j=0;   // x is input of median filter
+        printf("\tans= %3.1f\r\n",median(data));
+        /**** end ****/
+    }
+}
+
diff -r 000000000000 -r ad8c8186c0c2 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Dec 18 11:15:24 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f
\ No newline at end of file
diff -r 000000000000 -r ad8c8186c0c2 median.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/median.cpp	Wed Dec 18 11:15:24 2013 +0000
@@ -0,0 +1,19 @@
+#include "mbed.h"
+#include <algorithm>
+#include "median.h"
+float data[N_MEDIAN];
+
+float median(float data[]){
+    float x[N_MEDIAN];
+    int i;
+
+    for(i=0;i<N_MEDIAN;i++)    x[i]=data[i];
+    sort(x, x + N_MEDIAN);             // ソートする。
+#if 0
+printf(" *%d* ",N_MEDIAN/2+1);
+for(i=0;i<N_MEDIAN;i++){
+     printf("%3.1f,",x[i]);
+}
+#endif
+    return(x[N_MEDIAN/2]);           // return median value
+}
\ No newline at end of file
diff -r 000000000000 -r ad8c8186c0c2 median.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/median.h	Wed Dec 18 11:15:24 2013 +0000
@@ -0,0 +1,11 @@
+#ifndef __median_h
+#define __median_h
+
+
+#define N_MEDIAN    5   //>=3, odd number only
+
+extern float data[N_MEDIAN];
+extern float median(float data[]);
+
+
+#endif
\ No newline at end of file