我知道这可能是一个非常基本的问题,但我这样做是一种爱好,我找不到解决这个问题的方法。基本上我试图从我从加速度计读取的数据中消除一些噪音。这就是我想要实现的(取自 Total Variation Denoising (An MM algorithm)):
我在为加速度计数据选择正确的过滤器中阅读了Total Variaton Denoising 将满足我的需求。因此,我阅读了Wikipedia - 来自 Wikipedia 的 Total Variation Denoising文章,我认为我必须使用以下方程式之一:
但我不明白如何将其应用于我的信号。假设我有一组 x,y 点,如上图所示,我如何将方程应用于该数据?我实现了一些简单的低通和高通滤波器,如下所示:
gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
但这可能太复杂了,我不知道从哪里开始或如何开始。我想用 Java 或 C 实现这个,所以 Matlab 不是一个选项(我已经看到很多 MatLab 实现这个)。我将不胜感激任何帮助引导我朝着正确的方向前进!