我有一个以恒定时间间隔生成的数据信号。这是一个真实世界的测量,因此在其值中表现出一些噪音(它波动大约 + 或 - 20 个单位)。噪音相当一致。
我以固定的时间间隔获取测量值,并将其存储在样本数据的滚动缓冲区中(通过计算机完成)。此滚动缓冲区是位于列表中位置 (0,1,2,3,4,5... -> n) 的值列表。一旦到达此列表中的第 n 个位置,我的缓冲区就会翻转并覆盖第 0 个列表位置的值,然后覆盖第 1 个列表位置的值,依此类推,直到第 n 个值被覆盖(然后再次翻转)。始终跟踪最新的数据点值(因此我始终知道我将数据写入到的值列表中的位置)。这个数据缓冲过程一遍又一遍地重复。我使用滚动样本数据来计算移动平均值和标准偏差。
现在解决我的问题。信号有可能以 3 种状态存在,在任何时间 t1 以恒定速率增加或以恒定速率减小或保持恒定。增加或减少可能会在我的列表中的任何时候突然发生,并将持续到 t1 之后的某个时间 t2。
我想以合理的统计确定性检测信号是增加、减少还是保持恒定(在典型噪声曲线内)。什么样的算法会有效地注意到这一点?