步进检测是解决此问题的正确方法吗?如果没有怎么办?

信息处理 信号分析 信号检测 移动平均线 位置
2022-01-29 21:31:59

我正在寻找一些关于从哪里开始阅读以及从哪里开始阅读以学习解决这个问题的建议。

我有一个动物在开阔地(只是一个笼子)中的位置坐标(x,y)的时间序列。我想检测动物停止或开始“行走”的时刻(即:从一个地方移动到另一个地方,而不是在同一个地方)。我认为这不会那么困难,但我发现解决它有些麻烦。

所以,我正在寻找信号平坦的时间,或者信号开始从平坦变化的时刻:

信号 细节 我想检测什么 我想检测什么

我认为这件事可能与步骤检测有关,但我不确定。为简单起见,我将从一个坐标开始。似乎步检测可能是我正在寻找的,但是:我的信号“基线”每次都会不同。动物会移动并停在其他地方,依此类推。湾。信号可能非常“嘈杂”,因为动物可以而且会在同一个地方移动很多(即:梳理毛发) c。这种变化可以是慢的,也可以是快的,我都需要。

首先,如果我可以只用一个坐标解决这个问题,我会很高兴,尽管我必须在两个坐标系中寻找这种变化。

所以,我的问题是:1.步检测是解决这个问题的好方法吗?如果没有,还有什么?2.对(x,y)坐标都这样做有什么建议吗?

提前致谢

编辑:我通过用相机获取头顶图像并跟踪连接到动物头部的 LED 来获得 (x,y) 坐标。跟踪是通过颜色过滤完成的。

EDIT2:数据的副本:

https://www.dropbox.com/s/oph33szu891rgrl/data_sample.txt

https://www.dropbox.com/s/idulfdr965eeh7i/data_sample.mat

数据格式为 (x,y,t)

EDIT3:我一直在尝试平滑数据,但这并不是我所期望的。我需要清理的不是高频,而是低振幅。我寻找的运动可以是快的,也可以是慢的,但幅度很大。在这里,带有 matlab 函数 smooth() 的信号示例请注意,我正在寻找绿色时刻,在平滑时会丢失

在此处输入图像描述

1个回答

首先,我将首先对您的位置数据应用平滑/平均过滤器。这将消除您静止运动中的大量噪音。

要回答您的第一个问题,步数检测是可行的方法,但这取决于您如何检测步数。在我看来,最好的方法是查看导数、速度,并检测非零速度的周期。如果您已经平滑了位置数据,这应该会导致动物在一段时间内朝一个方向移动,而不是来回移动。

这种方法使二维分析相当简单。一旦你计算了你的 x 和 y 速度,你可以将它们结合起来得到一个与方向无关的绝对速度。您可以使用相同的检测方法来查找运动周期,这应该会为您提供您正在寻找的答案。