代码之家  ›  专栏  ›  技术社区  ›  Jeppe Christensen

心率数据的实时滤波

  •  0
  • Jeppe Christensen  · 技术社区  · 7 年前

    我正在尝试构建一个心率监视器,我打算围绕它编写一个移动应用程序。目前,我正在收到我的应用程序中的数据。以下是数据的示例:

    enter image description here

    然而,我真的希望能够通过某种高通滤波器去除脉动曲线下的静态元素。目前,我有以下代码:

    //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;

    0 回复  |  直到 7 年前