Нужно больше места, чем комментарий ;-) iOS извлекает все данные в радианах, и если ваши другие вычисления верны, я подумал, что это может быть угол, измеренный в радианах.
В целом, ваш подход кажется нормальным: возьмите угловую скорость каждого сигнала, умножьте ее на дельту времени, и у вас будет угловая дельта для этого таймфрейма. Затем сложите все ваши углы, и результат должен быть пройденным расстоянием как угол в радианах. Угол фи является интегралом от угловой скорости омега за прошедшее время, и выполнение численного интегрирования с правилом трапеции (то есть, как описано) подходит для данных гироскопа (не для акселерометра).
В общем, я бы рекомендовал использовать метку времени, передаваемую движением ядра, вместо определенного периода (1/5), как это рекомендовано Apple, поскольку данные о движении устройства часто доставляются с меньшей частотой, чем ожидалось (см. Что является официальной максимальной частотой обновления данных гироскопа iPhone 4 и методом или Push для движения ядра и частоты данных акселерометра / гироскопа .
Кроме того, вы должны использовать более высокую частоту, чтобы избежать ошибок в вашей числовой интеграции.
[Обновление в разделе комментариев:]
Если вы заинтересованы в интеграции с помощью расширенного правила Симпсона, я рекомендую следующие документы: (только на немецком языке, стр. 173 и далее) и Расширение формул Ньютона-Кота . Пример кода в виде извлеченного фрагмента, взятого из существующего проекта, можно найти здесь: DevicePosition.m Обратите внимание, что он может не скомпилироваться, никаких гарантий, как есть, ... вы знаете это с других сайтов ;-)
Бесплатное приложение, отображающее вход датчика в виде графиков для iPhone: Монитор датчика