Ответ: Фильтрация данных
нужен low-pass filter (отрезает высокие частоты и оставляет низкие)
В основном, используются два фильтра — высокочастотный (high-pass) и низкочастотный (low-pass). Эти фильтры можно использовать для отсеивания эффектов «дрожания»,
медленных поворотов и т.д.
Низкочастотный фильтр используется для нахождения ориентации устройства, высокочастотный — для определения тряски.
Самый простой низкочастотный фильтр реализует следующий код:
#define FILTERFACTOR 0.1
value = (newAcceleration * FILTERFACTOR) + (previousValue * (1.0 - FILTERFACTOR));
previousValue = value;
Самый простой высокочастотный фильтр реализует следующий код:
#define FILTERFACTOR 0.1
value = newAcceleration - (newAcceleration * FILTERFACTOR) + (previousValue * (1.0 - FILTERFACTOR));
previousValue = value;
|
взято отсюда: http://habrahabr.ru/blogs/macosxdev/65148/
Последний раз редактировалось ffinder, 29.08.2011 в 23:27.
Причина: тэги
|