Гладкая из ряда данных - PullRequest
       25

Гладкая из ряда данных

1 голос
/ 16 февраля 2012

Мне нужно сгладить лучше этот вид графика, я уже использовал скользящее среднее (10 баллов), чтобы получить этот график, но он еще не идеален. Я хочу удалить все эти маленькие пики, вызванные шумом, мне нужно рассмотреть только большие, потому что я считаю количество ударов от датчика. (т.е.: в первые 30 секунд у меня должен быть только один пик вместо нескольких последовательных маленьких пиков)

Я подумал об использовании кубического сплайна, но его непросто реализовать на C, и это займет почти 1-2 недели работы.

Есть ли более простой метод / алгоритм, чтобы использовать для этого достижения? Я работаю над этим проектом для среды iOS (iPhone).

занятой кот http://img15.imageshack.us/img15/1929/schermata022455973alle1o.png

1 Ответ

2 голосов
/ 16 февраля 2012

Ответ на ваш вопрос во многом зависит от базовых данных.Является ли неровность данных действительно «шумом» или это действительно неровные данные.

Стратегии, которые вы можете попробовать:

  • Окна данных и взять медиану / среднее значение в каждом окне - таким образом, каждое окно равно 50 (от вашей оси x)
  • выборка данных
  • Нелинейная аппроксимация кривой наименьших квадратов (для этого вам, вероятно, придется использовать библиотеку C ++, вот версия с открытым исходным кодом, которую вы могли бы портировать http://www.ics.forth.gr/~lourakis/levmar/)
  • какой-то видНаивное сглаживание по Безье должно быть довольно простым.

Все эти методы имеют разветвления, и ни у одного нет проблем. Удачи.

...