spacial median filter rejecting abnormal signals.

Dependents:   medianFilterTest WIPV

MEDIAN_FILTER.cpp

Committer:
adam_z
Date:
2016-04-22
Revision:
1:a46f56a22432
Parent:
0:4487376ead1c

File content as of revision 1:a46f56a22432:

#include "mbed.h"
#include <algorithm>
#include "MEDIAN_FILTER.h"


MedianFilter::MedianFilter(int windowSize):windowSize_(windowSize)
{
    
}
float MedianFilter::MedianValue(float data)
{
    int i;
    for(i=0; i<windowSize_-1; i++) {
        array[i] = array[i+1];
    }
    array[windowSize_-1] = data;
    
    int j=0;
    float x[windowSize_];
    for(j=0;j<windowSize_;j++) x[j] = array[j];
    sort(x, x + windowSize_ - 1);
    
    return(x[windowSize_/2]);           // return median value
    
}