Как отличить ускорения движения от колебаний и шума в iphone

Привет всем на stackru.

УКОРОЧЕННАЯ ВЕРСИЯ:)

Мне нужно использовать (x,y,z) значения ускорения, связанные только с движением iPhone. Просто чтобы быть ясно, подумайте об окружающей среде, как автомобиль. Акселерометр iPhone очень чувствительный. Если я записываю значения ускорения с частотой 100 Гц, существует так много значений, связанных с шумом, вибрациями автомобиля и другими векторами ускорения, которые не направлены подобно движению iPhone (например, колебания демпферов вызывают векторы ускорения, направленные вдоль оси z).

Другими словами, мне нужно отфильтровать обнаружение ускорений таким образом, чтобы можно было изолировать ускорения, направление которых совпадает (с определенным смещением) от направления движения.

ГЛУБИННЫЕ СООБРАЖЕНИЯ:'(

Очевидно, что я мог бы зафиксировать положение iphone так, чтобы его ось y перекрывала направление движения (в предыдущей автомобильной среде это означает фиксацию оси iphone y параллельно переднему направлению). Проблема в том, что мне нужно разрешить относительные моменты iphone. Я не могу исправить положение iphone.

Прежде всего, я проанализировал значения, вызванные шумом и колебаниями, и выяснил, что их величина часто очень выше, чем обычные ускорения автомобиля. Фильтрация величины является хорошей идеей для облегчения проблемы, но это не решение: с одной стороны, многие нежелательные шумовые ускорения не фильтруются, поскольку их величина попадает в диапазон, с другой стороны, многие требуемые ускорения движения фильтруются, потому что они выходят за пределы спектр.

На iPhone 3GS я могу использовать магнитометр для измерения направления относительно магнитного севера. Я мог бы использовать это, чтобы найти направление движения, но проблема все еще существует: значение MagnheHeading всегда измеряется относительно верхней части устройства. Таким образом, iPhone должен быть зафиксирован вдоль переднего направления.

Я не могу думать ни о каком другом решении. Идеи? Спасибо!

1 ответ

В SDK есть образец с именем "AccelerometerGraph", который имеет фильтрацию верхних частот. Вы смотрели на это?

Другие вопросы по тегам