Открыть сервисСервис

Как смартфон считает шаги

Подсчёт шагов смартфоном — это процесс определения числа шагов пользователя с помощью датчиков и алгоритмов обработки данных, встроенных в мобильное устройство. Основу работы составляет акселерометр — микромеханический сенсор (MEMS), измеряющий ускорение по трём осям. Дополнительно могут использоваться гироскоп, барометр, GPS и данные шагомера (pedometer-процессора), а также алгоритмы машинного обучения.

Основа измерения: акселерометр

Акселерометр в смартфоне — это кристалл кремния размером около 1–2 мм, в котором подвижная масса закреплена на пружинах. При движении тела масса смещается относительно корпуса, изменяя ёмкость конденсатора; контроллер преобразует это изменение в числовое значение ускорения. Современные акселерометры (например, LIS3DH от STMicroelectronics, MPU-6050 от InvenSense) измеряют ускорение с точностью до долей g (где g ≈ 9,81 м/с²) и способны фиксировать изменения с частотой 25–400 Гц.

В покое акселерометр измеряет ускорение свободного падения, поэтому показание вдоль вертикальной оси равно примерно 1g. При ходьбе тело человека совершает характерные вертикальные и горизонтальные колебания с частотой около 1–2 Гц (60–120 шагов в минуту). Акселерометр регистрирует эти колебания как периодическое изменение вектора ускорения.

Алгоритмы обработки сигнала

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

  1. Фильтрация шумов. Сырой сигнал пропускается через фильтры нижних частот (например, фильтр Баттерворта), убирая высокочастотные вибрации и дрожание руки.
  2. Вычисление амплитуды ускорения. Вместо трёх отдельных осей рассчитывается результирующая величина: $a = \sqrt{a_x^2 + a_y^2 + a_z^2}$. Это делает расчёт независимым от ориентации телефона.
  3. Детектирование пиков. Алгоритм ищет локальные максимы сигнала, превышающие порог (обычно 0,3–1,0g), и подсчитывает каждый пик как шаг. Более продвинутые методы используют нулевые пересечения, автокорреляцию или преобразование Фурье для определения частоты шагов.
  4. Проверка паттерна. Система анализирует интервалы между пиками: у человека шаги регулярны, а случайные толчки — нет. Шаги с нерегулярным интервалом отбрасываются.

Программные обработчики в ОС

В Android подсчётом шагов занимается подсистема Step Counter (TYPE_STEP_COUNTER) и Step Detector (TYPE_STEP_DETECTOR), доступные через API сенсоров. Важная особенность: подсчёт выполняется не приложением, а прошивкой датчика или системным процессором, работающим в фоне. Это позволяет считать шаги, даже когда экран выключен, и почти не расходовать батарею. Счётчик сбрасывается только при перезагрузке устройства.

В iOS аналогичную функцию выполняет фреймворк Core Motion с сопроцессором движения (M7, M8, M9 и далее), который отделён от основного процессора и обрабатывает данные датчиков в режиме низкого энергопотребления.

Дополнительные сенсоры

Для повышения точности применяются:

  • Барометр — определяет изменение атмосферного давления при подъёме/спуске по лестнице, что позволяет отличить ходьбу по горизонтали от подъёма и оценивать «этажи».
  • Гироскоп — измеряет угловую скорость и помогает отличить шаги от вибраций транспорта.
  • GPS — по пройденной дистанции и средней длине шага (около 0,7 м) можно косвенно оценить число шагов и уточнить калорийность.
  • Датчик естественного распознавания жестов (на чипах Qualcomm) — определяет, что пользователь именно идёт, а не едет.

Точность и ограничения

Погрешность бытовых шагомеров обычно составляет 5–15 % при обычной ходьбе. На результат влияют:

  • положение телефона (карман, рука, сумка) — в руке на уровне груди колебания слабее, чем в кармане;
  • стиль ходьбы (короткие шаги, ковыляние, бег);
  • вибрация транспорта — главный источник ложных срабатываний, частично отсекается анализом регулярности;
  • индивидуальная длина шага — для точного расчёта дистанции в настройках указывают рост и вес.

Применение

Подсчёт шагов встроён в стандартные приложения здоровья (Google Fit, Apple Здоровье, Samsung Health), используется в фитнес-браслетах (например, Xiaomi Mi Band, Fitbit), а также применяется для мотивационных механик — «шагомерных» челленджей и пошаговой наградной программы СберСпасибо.

Интересные факты

  • Первый коммерческий шагомер для кармана — Yamasa Digi-Walker SW-200 — поступил в продажу в Японии в 1965 году и был механическим.
  • Исследования показывают, что для получения пользы для здоровья достаточно 7000–10000 шагов в день, хотя «норма в 10000 шагов» изначально была маркетинговым приёмом.
  • Некоторые приложения оценивают не только шаги, но и тип активности (ходьба, бег, подъём по лестнице) по характерной частоте колебаний акселерометра.

Источники

  • Документация Android для сенсоров TYPE_STEP_COUNTER и TYPE_STEP_DETECTOR
  • Apple Developer Documentation: Core Motion Framework
  • Статьи STMicroelectronics и InvenSense о MEMS-акселерометрах
  • Научные публикации по обработке сигнала акселерометра для определения физической активности
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru