Показать сообщение отдельно
Старый 29.08.2011, 23:26   #2
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Фильтрация данных

нужен 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. Причина: тэги
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
.Squid (30.08.2011), Lestar (29.08.2011), moka (31.08.2011), SBJoker (30.08.2011)