我正在尝试构建一个心率监视器,我打算围绕它编写一个移动应用程序。目前,我正在收到我的应用程序中的数据。以下是数据的示例:
然而,我真的希望能够通过某种高通滤波器去除脉动曲线下的静态元素。目前,我有以下代码:
//HIGH PASS
//Fetch the next measurement item
j = float.Parse(Encoding.Default.GetString(e.Characteristic.Value));
counter++;
total += j;
if (counter % 5 == 0)
{
avg = total / counter;
total = 0;
counter = 0;
}
if (j < h || h > avg && h >= 0)
{
h = j;
}
else if (h <= 0) //Initially h is 0
{
h = j;
}
float g = j-(h-5); //This is the output
此外,对于每5个数据点,放置一个新的平均值。主要是不断检查过滤器是否设置过高。(我每秒大约有6个数据点)
我可以补充一点
h=avg;