Mobil ilovalarda pedometr: bu nima, qanday ishlaydi va qayerda qo'llaniladi

Muallif: IT Sectr Nashr etilgan: 2026-03-25 O'qish vaqti: 8 daq

Pedometr (qadam hisoblagich) mobil ilovalarda — bu akselerometr va giroskop ma'lumotlari asosida foydalanuvchi qadamlarini hisoblaydigan dasturiy-apparat mexanizmidir. Zamonaviy smartfonlar aniq yurish, yugurish va boshqa jismoniy faoliyat turlarini aniqlash uchun sensorlar bilan birgalikda mashina o'rganish algoritmlaridan foydalanadi. Apple HealthKit Documentation, 2025 ma'lumotlariga ko'ra, zamonaviy qurilmalarda qadam hisoblash aniqligi normal yurish vaqtida 95–97% ga etadi.

Asosiy ma'lumotlar

  • Pedometr (qadam hisoblagich) — akselerometr, giroskop va mashina o'rganish algoritmlari ma'lumotlarini tahlil qilish asosida qadamlarni hisoblash funksiyasi.
  • Zamonaviy qadam hisoblagich algoritmlari yurish, yugurish va zinapoyaga chiqishni farqlay oladi, foydalanuvchi faoliyat turini avtomatik aniqlaydi.
  • Qadamlarni hisoblash uchun asosiy sensor — har bir qadamda uch o'q bo'ylab tezlanishni qayd etuvchi akselerometr.
  • iOS da dasturchilar qadam hisoblagichga Core Motion dan CMPedometer orqali, Android da — TYPE_STEP_COUNTER bilan Sensor API orqali kirishadi.
  • Qadam hisoblash aniqligi qurilma joylashgan joyga bog'liq: qadam hisoblagich smartfon shim cho'ntagida yoki kamarda olib yurilganda aniqroq ishlaydi.

Mobil ilovada qadam hisoblagich nima?

Qadam hisoblagich (pedometr) mobil ilovalarda — bu smartfonning ichki harakat sensorlaridan keladigan ma'lumotlar asosida foydalanuvchining qadam sonini aniqlaydigan funksiyadir. O'tmishdagi mexanik qadam hisoblagichlardan farqli o'laroq, mobil pedometr aniq lokomotsiyalarni hisoblash uchun mikroelektromexanik sensorlar (MEMS) va raqamli signalga ishlov berish algoritmlaridan foydalanadi. Zamonaviy tatbiqlar nafaqat qadamlarni hisoblaydi, balki faoliyatni tasniflaydi: yurish, yugurish, zinapoyaga chiqish.

Qadam hisoblagichning mobil qurilmalarga integratsiyasi 2013 yilda iPhone 5s da minimal energiya sarfi bilan sensorlardan uzluksiz ma'lumot to'plovchi M7 harakat koprotsessorining paydo bo'lishi tufayli mumkin bo'ldi. Bugungi kunda barcha zamonaviy smartfonlar sensor hub darajasida — asosiy protsessorni uyg'otmasdan inertial sensor ma'lumotlarini qayta ishlaydigan maxsus chip darajasida qadam hisoblash uchun apparat qo'llab-quvvatlashga ega.

Smartfonda qadam hisoblash qanday ishlaydi

Smartfonda qadam hisoblash qurilmaning uchta perpendikulyar o'q (X, Y, Z) bo'ylab tezlanishini o'lchaydigan akselerometr signallarini tahlil qilishga asoslangan. Yurish paytida har bir qadam xarakterli tezlanish naqshini yaratadi: avval oyoq ko'tarilganda yuqoriga cho'qqi, keyin qo'nishda pastga cho'qqi. Qadam chastotasi (kadans) yurish uchun 100–130 qadam/min, yugurish uchun 150–180 qadam/min, tezlanish amplitudasi esa 2–6 m/s² ni tashkil qiladi.

Akselerometr signalini qayta ishlash

Akselerometrdan kelayotgan xom signal shovqin va yuqori chastotali xalaqitlarni o'z ichiga oladi, shuning uchun qayta ishlashning birinchi bosqichi 3–5 Hz kesish chastotasi bilan past o'tkazuvchan filtr (low-pass filter) dir. Filtrdan so'ng qurilma yo'nalishidan qat'iy nazar harakat bilan bog'liq tezlanishni ajratib oluvchi tezlanish vektori hisoblanadi: a = sqrt(x² + y² + z²). Keyin algoritm signalda mahalliy maksimallarni aniqlaydi — har bir maksimum bitta qadamga to'g'ri keladi.

Soxta ishga tushishlarni kamaytirish uchun (masalan, transportda silkinish paytida) qo'shimcha mezonlar qo'llaniladi: minimal qadam amplitudasi (odatda >1,2 m/s²), qadamlar orasidagi minimal interval (yurish uchun 300–400 ms) va avtokorrelyatsiya orqali signalning davriyligini tekshirish. Cho'qqilar orasidagi vaqt intervallari notartib bo'lsa, ketma-ketlik tasodifiy harakatlar sifatida belgilanadi va qadam sifatida hisoblanmaydi.

Akselerometr orqali qadamlarni aniqlash

Asosiy qadam aniqlash algoritmi chegaraviy aniqlash usulidan foydalanadi: tizim akselerometr signali belgilangan chegaradan oshib, keyin tinchlik darajasiga qaytgan paytlarni qidiradi. Har bir bunday hodisa potentsial qadam hisoblanadi. Ikki yondashuv mavjud: cho'qqi aniqlash (peak detection) va nol kesishmasi (zero-crossing). Cho'qqi aniqlash signalning maksimallarini qayd etadi, zero-crossing esa — signalning o'rtacha qiymatdan o'tish paytlarini, bu esa qadam amplitudasiga kamroq bog'liq.

Chegara usullari va adaptiv algoritmlar

Zamonaviy qadam hisoblash algoritmlari foydalanuvchining yurish uslubiga avtomatik moslashadigan adaptiv chegaradan foydalanadi. Tizim oxirgi 2–3 soniya davomida signal dispersiyasini tahlil qiladi va dinamik chegarani koeffitsientga ko'paytirilgan o'rtacha kvadratik og'ish (RMS) sifatida hisoblaydi. Bu faoliyat turlari o'rtasida o'zaro kalibrlashsiz ham sekin sayr, ham baquvvat yugurish paytida qadamlarni to'g'ri hisoblashga imkon beradi.

Qadam hisoblash algoritmlari va mashina o'rganishi

Qadam hisoblagichning zamonaviy tatbiqlari nafaqat cho'qqi aniqlashdan, balki harakat naqshlarini tasniflash uchun mashina o'rganishidan ham foydalanadi. Neyron tarmoq modellari turli stsenariylardan real harakatlarning minglab soatlik yozuvlari asosida o'qitiladi: tekis yuzada yurish, zinapoyaga chiqish, yugurish, transportda sayohat. Kirish xususiyatlari akselerometr va giroskopning vaqt qatorlari, chiqish esa — joriy signal segmentining inson lokomotsiyasiga mos kelish ehtimoli.

Faoliyatni tasniflash uchun neyron tarmoq modellari

Google Activity Recognition tadqiqoti ma'lumotlariga ko'ra, konvolyutsion neyron tarmoqlarga (CNN) asoslangan modellar test ma'lumotlar to'plamlarida yurishni tanib olishda 98% aniqlikka erishadi. Apple qurilmalarida 100 mingdan ortiq ko'ngillilarning ma'lumotlari asosida o'qitilgan Activity Classification modeli bilan Core ML ishlatiladi. Optimallashtirilgan modellar to'g'ridan-to'g'ri qurilmada ishlaydi (on-device inference), bu zudlik bilan qayta ishlashni va foydalanuvchi maxfiyligini saqlashni ta'minlaydi.

swift
import CoreMotion

class PedometerObserver {
    private let pedometer = CMPedometer()

    func startTracking() {
        guard CMPedometer.isStepCountingAvailable() else { return }
        
        pedometer.startUpdates(from: Date()) { data, error in
            guard let data = data else { return }
            
            let steps = data.numberOfSteps.intValue
            let distance = data.distance?.doubleValue
            let floorsAscended = data.floorsAscended?.intValue
            
            // UI ni qadamlar soni bilan yangilash
            DispatchQueue.main.async {
                // self.stepsLabel.text = "\(steps) qadam"
            }
        }
    }

    func stopTracking() {
        pedometer.stopUpdates()
    }
}

iOS va Android da qadam hisoblagich: API va imkoniyatlar

iOS da qadam hisoblagichga kirish uchun Core Motion freymvorkidan CMPedometer sinfi ishlatiladi. CMPedometer nafaqat qadam sonini, balki bosib o'tilgan masofani, qavatlar sonini (ko'tarilishlarni), yurish sur'atini va faoliyat vaqtini ham taqdim etadi. Ma'lumotlar real vaqtda (startUpdates) ham, o'tmishdagi istalgan davr uchun (queryPedometerData) ham mavjud. Harakat koprotsessori (M seriyasi) sensor ma'lumotlarini apparat darajasida qayta ishlaydi, bu dasturiy qayta ishlashga nisbatan energiya sarfini 80% kamaytiradi.

Android da qadam hisoblagich bilan ishlash ikkita apparat sensori orqali amalga oshiriladi: TYPE_STEP_COUNTER (yuklashdan boshlab kumulyativ qadam hisoblagichi) va TYPE_STEP_DETECTOR (har bir qadamda hodisa generatsiyasi). TYPE_STEP_COUNTER kalibrlashni talab qilmaydi va protsessor energiyasini sarf qilmaydi — ma'lumotlar sensor hub darajasida apparat tomonidan yangilanadi. Kun davomida to'plangan qadam statistikasiga kirish uchun DataType.TYPE_STEP_COUNT_DELTA yozuvi bilan Google Fit API ishlatiladi.

kotlin
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager

class StepCounter(
    private val sensorManager: SensorManager
) : SensorEventListener {

    private var totalSteps = 0
    private var previousSteps = -1

    fun startListening() {
        val sensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
        sensor?.let {
            sensorManager.registerListener(this, it, SensorManager.SENSOR_DELAY_NORMAL)
        }
    }

    override fun onSensorChanged(event: SensorEvent) {
        if (previousSteps < 0) {
            previousSteps = event.values[0].toInt()
        }
        val currentSteps = event.values[0].toInt()
        totalSteps = currentSteps - previousSteps
    }

    fun getStepCount(): Int = totalSteps

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}

Mobil qadam hisoblagichning aniqligi va cheklovlari

Qadam hisoblagichning aniqligi bir necha omillarga bog'liq: smartfonning joylashuvi (qo'lda, cho'ntakda yoki sumkada), faoliyat turi (yurish, yugurish, zinapoyaga chiqish) va sensorlar sifati. Smartfon shim cho'ntagida olib yurilganda aniqlik 93–97%, sumka yoki ryukzakda 70–85% gacha tushadi. Foydalanuvchining yurish uslubi ham aniqlikka ta'sir qiladi: mayda qadamli yurish kichik tezlanish amplitudasi bilan o'lchovli yurishga qaraganda ko'proq xato beradi.

Mobil qadam hisoblagichlarning asosiy cheklovlari quyidagilardir: juda sekin harakatda (<1,5 km/soat) qadamlarni hisoblay olmaslik, transportda sayohatdan soxta ishga tushishlar, past tezlikdagi yugurishda (yengil yugurish) aniqlikning pasayishi va suhbat vaqtida imo-ishoralarning ta'siri. Xatolarni minimallashtirish uchun zamonaviy ilovalar sensorlar kombinatsiyasidan (akselerometr + giroskop + barometr) va artefaktlarni chiqarib tashlash uchun mashina o'rganishidan foydalanadi. Barometr, masalan, zinapoyaga chiqish va balandlik o'zgarishini aniqlashga yordam beradi, liftdagi soxta qadamlarni istisno qiladi.

Tez-tez so'raladigan savollar

Telefonda qadam hisoblagich qanday ishlaydi?

Qadam hisoblagich telefonda har bir qadamda tezlanishni qayd etuvchi akselerometrdan foydalanadi. Algoritm uch o'q bo'ylab tezlanish cho'qqilarini tahlil qiladi, shovqinni filtrlaydi va qadam sonini aniqlaydi. Zamonaviy modellar aniqlikni oshirish va faoliyatni tasniflash uchun giroskop va mashina o'rganishidan ham foydalanadi.

Smartfonda qadam hisoblagich qanchalik aniq?

Smartfonni shim cho'ntagida olib yurganda aniqlik oddiy yurishda 95–97% ga etadi. Sumka yoki ryukzakda aniqlik 70–85% gacha tushadi. Aniqlikka yurish uslubi va sirt turi ham ta'sir qiladi — notekis relyef 10–15% gacha xatolikka olib kelishi mumkin.

Qadam hisoblagich internetsiz ishlay oladimi?

Ha, qadam hisoblagich internetga ulanmasdan to'liq avtonom ishlaydi. Barcha hisob-kitoblar ichki sensorlardan foydalangan holda qurilmada amalga oshiriladi. Internet faqat fitnes ilovalarining bulut xizmatlari bilan ma'lumotlarni sinxronlash yoki marshrut xaritasini ko'rsatish uchun kerak bo'lishi mumkin.

Nima uchun qadam hisoblagich turli ilovalarda turlicha raqamlarni ko'rsatadi?

Turli ilovalar sensor ma'lumotlarini qayta ishlash uchun turli algoritmlar, qadam aniqlash chegaralari va filtrlash usullaridan foydalanadi. Ba'zi ilovalar qadamlarni xom akselerometr ma'lumotlari asosida hisoblaydi, boshqalari — tizim API lari (TYPE_STEP_COUNTER) orqali, va hisoblashlardagi farq 10–15% gacha yetishi mumkin.

Android ilovasida qadam hisoblagichga qanday kirish mumkin?

Android da qadam hisoblagichga kirish uchun Sensor API orqali TYPE_STEP_COUNTER sensoridan foydalaning — u qurilma oxirgi qayta yuklanganidan boshlab kumulyativ qadam sonini taqdim etadi. Muayyan bir kun uchun qadamlarga kirish uchun TYPE_STEP_COUNT_DELTA ma'lumot turi bilan Google Fit API ni integratsiya qiling.

Xulosa

  • Pedometr (qadam hisoblagich) — MEMS akselerometr va mashina o'rganish algoritmlari ma'lumotlari asosida qadam sonini aniqlaydigan mobil qurilma funksiyasi.
  • Qadam hisoblashning asosiy usuli — akselerometr signalida cho'qqi aniqlash va nol kesishmasi, so'ngra artefaktlarni filtrlash va adaptiv chegara.
  • Zamonaviy tatbiqlar 98% gacha aniqlik bilan yurish, yugurish va zinapoyaga chiqishni tasniflash uchun konvolyutsion neyron tarmoqlardan foydalanadi.
  • iOS da qadam hisoblagichga kirish CMPedometer (Core Motion) orqali, Android da — TYPE_STEP_COUNTER va Google Fit API orqali amalga oshiriladi.
  • Sensor hub darajasida apparat qadam hisoblash asosiy protsessorni uyg'otmaydi, dasturiy qayta ishlashga nisbatan 80% kam energiya sarflaydi.
  • Qadam hisoblagichning aniqligi qurilma joylashgan joyga bog'liq: shim cho'ntagida — 97% gacha, sumkada — 70–85%. Notekis relyef va sekin yurish ham aniqlikni kamaytiradi.
  • Xatolarni minimallashtirish uchun sensor kombinatsiyasi qo'llaniladi: akselerometr + giroskop + barometr, bu transportda sayohat paytida soxta qadamlarni chiqarib tashlash va zinapoyaga chiqishni aniqlash imkonini beradi.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing