Как ваш смартфон понимает, сколько шагов вы сделали за день? А как узнает, что это были именно шаги, а, например, не бег? Учитывает ли длину шага, подъемы по лестнице и многое другое? Рассказываем, как работает шагомер в современных смартфонах и почему при одинаковых исходных данных у двух устройств могут различаться показания.
Для того, чтобы в смартфоне можно было использовать какой-никакой шагомер, нужно, чтобы в нем был хотя бы акселерометр. Благо, он есть у большинства современных гаджетов, даже недорогих. Если в вашем устройстве присутствует функция поворота экрана, то акселерометр в наличии. Акселерометр представляет собой датчик, который определяет ускорение объекта, то есть отслеживает, движется смартфон или нет. Когда вы идете, акселерометр реагирует на изменение ускорения, эти данные получает программа-шагомер и подсчитывает шаги на их основе.
Но более точными измерения будут, если положение смартфона в пространстве тоже отслеживается — за это отвечает гироскоп. Именно с его помощью процессор «понимает», делаете вы шаги или просто достали смартфон, чтобы переключить трек или расплатиться в магазине. Также гироскоп помогает распознать, когда вы переходите на бег.
Данные, собранные с гироскопа и акселерометра, будут давать гораздо более точный результат, чем просто информация с акселерометра. Поэтому в смартфонах с гироскопом шагомер точнее.
Итак, вы идете по улице, а смартфон лежит в кармане. Он перемещается вверх-вниз вместе с вашими шагами. Амплитуду и частоту этих движений фиксирует акселерометр, именно поэтому он и понимает длину ваших шагов. Ненужные колебания отсеиваются на программном уровне, чтобы не вводить датчики в заблуждение, нужные — учитываются. Если вы вытаскиваете смартфон из кармана, но при этом стоите, гироскоп не засчитает это за шаги. То же самое относится к поездке в транспорте — у колебаний будут другие ритм и амплитуда.
Считается, что лучшая точность у шагомера будет, когда смартфон лежит в кармане брюк, а не в сумке или, например, на шейном шнурке. Так на его показания не будут влиять движения рук и верхней части туловища. Еще точность показаний зависит от рельефа местности — наиболее точные данные вы получите на асфальтированной ровной дорожке или на стадионе (погрешность 3–10%). На итоговые данные также влияют пониженный заряд аккумулятора, несоблюдение температурного режима (слишком холодно или слишком жарко), посторонние действия при ходьбе.
Конечно, от качества самих датчиков точность тоже зависит — с дешевыми комплектующими погрешность может достигать 30%. Поэтому бюджетный смартфон с одним лишь акселерометром и простым ПО для подсчета шагов может дать совсем другие результаты, чем более дорогой девайс с гироскопом и приложением с продвинутыми алгоритмами при одинаковых прочих условиях.