Прежде чем изобретать колесо, я хотел бы узнать, может ли кто-нибудь поделиться кодом или советами для следующего:
Чтобы получить относительное положение iPhone, нужно
- Установите скорость чтения акселерометра
- Шум фильтрует реакцию акселерометра
- Преобразовать его в вектор
- Фильтр нижних частот - вектор для определения силы тяжести.
- Вычитайте гравитацию из необработанного показания, чтобы найти ускорение пользователя.
- Отфильтруйте пользователь, вызвавший ускорение, чтобы получить интересующие вас частоты (возможно, полоса пропускания в зависимости от приложения)
- Интегрировать, чтобы найти относительную скорость
- Интегрировать, чтобы найти позицию
Итак, я надеюсь, что люди уже написали несколько или все вышеперечисленное и могут предоставить советы или еще лучше код.
Несколько вопросов, на которые я не нашел ответа:
Какова частотная характеристика iPhone-акселерометра? Какие аппаратные фильтры существуют между акселерометром и аналого-цифровым преобразователем?
Какова самая быстрая скорость чтения, которую делегат акселерометра может быть вызван без дублирования значений чтения?
Различия в приведенном выше примере для разных телефонов?
Любые хорошие советы для проектирования фильтров, такие как частота среза для разделения силы тяжести и движения пользователя?
Любой код или советы для шагов интеграции? Любая причина для интеграции в систему координат cartesion, а не как векторный, так и наоборот?
Любые другие опыты, советы или информация, которые должны знать до внедрения?