Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 类锯齿时间序列的检测算法_Algorithm_Time_Statistics_Computation - Fatal编程技术网

Algorithm 类锯齿时间序列的检测算法

Algorithm 类锯齿时间序列的检测算法,algorithm,time,statistics,computation,Algorithm,Time,Statistics,Computation,您在这里看到的是一个人行走的垂直轴(或从头到脚的轴)上的加速度图。 我想实现一种可靠的方法来识别这种运动模式,并计算步数 正如我们可以立即注意到的,每一步都对应于平均值10-10.5 ms^2线附近的尖峰和下降 早些时候,我计划采用基于阈值检测的机制,但结果很差,因为存在一些变量: 如果人走得慢或快,图形将在时间轴上展开 如果一个人踩得更轻或更硬,那么尖峰和低谷分别会更小和更大 然而,在所有的情况下,这种模式仍然是相同的,即几乎每隔一段时间出现一次高峰和一次低谷 以合理的精度和计算时间检测此模

您在这里看到的是一个人行走的垂直轴(或从头到脚的轴)上的加速度图。

我想实现一种可靠的方法来识别这种运动模式,并计算步数

正如我们可以立即注意到的,每一步都对应于平均值10-10.5 ms^2线附近的尖峰和下降

早些时候,我计划采用基于阈值检测的机制,但结果很差,因为存在一些变量:

  • 如果人走得慢或快,图形将在时间轴上展开
  • 如果一个人踩得更轻或更硬,那么尖峰和低谷分别会更小和更大
  • 然而,在所有的情况下,这种模式仍然是相同的,即几乎每隔一段时间出现一次高峰和一次低谷


    以合理的精度和计算时间检测此模式的最佳合理算法是什么?别介意,它非常简单,我所要做的就是确定噪声阈值和基准电平或零电平,然后在其上运行峰值检测器

    以下是抽象过程

    • 基准面实时计算为最后30个样本的平均值
    • 高于基准面噪声阈值的值被视为正峰值
    • 低于基准噪声阈值的值被视为负峰值
    • 在约500ms的短间隔内检测到一对随后的正负尖峰被视为步骤

    通过适当的调整,精度为~98%,并且可以非常可靠地计算所采取的步数

    如果您在这里没有得到答案,请考虑继续询问。我将从峰值检测器开始。我将从自相关函数的FFT开始,以获得功率谱,然后找到峰值。几乎可以肯定,峰值频率将是您想要的。将峰值与平均功率进行比较,可以很好地估计峰值的可靠性。