1

我需要更好地平滑这种情节,我已经使用移动平均线(10 分)来获得这个情节,但它还不完美。我想消除所有这些由噪声引起的小峰值,我只需要考虑较大的峰值,因为我正在计算传感器的节拍数。(即:在前 30 秒内,我应该只有一个峰,而不是几个连续的小峰)

我想使用三次样条,但在 C 中实现并不简单,而且需要将近 1-2 周的工作。

是否有更简单的方法/算法可用于此成就?我正在为 iOS (iPhone) 环境开发这个项目。

一只忙碌的猫 http://img15.imageshack.us/img15/1929/schermata022455973alle1o.png

4

1 回答 1

2

您的问题的答案在很大程度上取决于基础数据。数据的锯齿状是否真的是“噪音”,或者它真的是锯齿状的数据。

您可以尝试的策略:

  • 对数据进行窗口化并在每个窗口中取中值/平均值——所以每个窗口都是 50(从你的 x 轴开始)
  • 采样数据
  • 非线性最小二乘曲线拟合(您可能必须为此使用 C++ 库,这是一个开源版本,您可以移植http://www.ics.forth.gr/~lourakis/levmar/
  • 某种朴素的贝塞尔平滑应该很容易。

所有这些方法都有其后果,没有一个是没有问题的。祝你好运。

于 2012-02-16T13:29:44.307 回答