A pancserteszt folytatódik – ezúttal még mélyebbre ásunk...
A dolgok további boncolgatásához muszáj kicsit jobban beleásni magunkat abba, hogy hogyan működik a GPS úgy általában. A GPS hálózat műholdjai úgy keringenek a fejünk felett, hogy a világ bármely pontján, az idő bármely pillanatában legalább négy műhold legyen látható a horizont felett. Ez a négy műhold már segít nekünk egy elvben három dimenziós koordináta kiszámításában, bár ennek a magasság összetevője eléggé érzékeny pont, és az tényleg durva különbségeket tud mutatni, most inkább ne is foglalkozzunk vele.
A GPS lényege nagyon leegyszerűsítve az, hogy minden műhold egy egymással nagyon pontosan összehangolt atomórát tartalmaz, és ők ennek az órának a jelét sugározzák felénk. A GPS vevő pedig érzékeli a műholdról a rádióhullám terjedési sebességével haladó jelek beérkezését, és abból hogy melyik műholdról milyen késleltetéssel érkezett meg a jel, ki lehet számolni az adott műhold tőlünk való távolságát; ha pedig ismerjük a műholdak helyzetét (ez megint egy külön téma, de tegyük fel, hogy ismerjük), akkor három ismert műholdból két-, négy műholdból három dimenziós koordinátát lehet kiszámolni. Elvben. Egy minden irányban sík horizonttal határolt területen, a puszta közepén, szép tiszta időben, egy tökéletes vevővel.
A gyakorlatban van néhány tényező ami bonyolítja a helyzetet:
- A műholdak órájának egymáshoz képesti pontosságát, illetve azt hogy mennyire pontosan tartózkodnak tényleg ott, ahol tartózkodniuk kell, hagyjuk a rendszert üzemeltető kollégákra és tekintsük pontosnak.
- A rádióhullám terjedési sebessége vákuumban ismert és állandó, párás levegőben, vulkáni hamun keresztül, stb. változó. Ez megint egy olyan téma, amire léteznek pontosító megoldások (differenciális GPS vagy DGPS névre hallgatnak), ezek használata növelheti a jel pontosságát – a telefonokban és szerintem futóórákban sem nagyon találhatók meg, tehát ezzel sem kell foglalkoznunk.
- A rádióhullám hajlamos visszaverődni tereptárgyakról. Ez két okból fontos: ha pl. egy hegy kitakarja a műholdat, akkor annak a jelét a vevő akár egyáltalán nem is érzékelheti; ha viszont egy visszaverődő jelet fog el, akkor ott a rádióhullám által megtett út hossza a a műholdunk valós távolságánál hosszabb, ergo rontja a kiszámított pozíció minőségét. A GPS chipek viszonylag komoly méréseket és számításokat végeznek annak érdekében, hogy a direkt és visszaverődő jeleket meg tudják különböztetni egymástól (például jelerősség, fáziskésés felismerése) segítségével, és kompenzálni tudják azok hatását. Itt már számít az, hogy a GPS chip mennyire kifinomult és érzékeny, ez pedig egyenes arányosságban van az árával (meg persze a gyártó e téren szerzett tapasztalatával).
- Bár a műholdakban nagyon pontos atomóra ketyeg, a zsebünkben lévő telefonban, a kezünkre csatolt GPS vevőben nem. Márpedig egy közel fénysebességgel haladó rádióhullám méréséhez nem árt a pontosság: elég néhány millisecundumnyi pontatlanság és máris a Duna túlsó partján találjuk magunkat. Ehhez hozzá jön még az a késleltetés, ami abból fakad hogy egy telefon nem csak a GPS alkalmazást, hanem sok minden mást is futtat egyidőben – ergo egyáltalán nem biztos hogy olyan pontosan tud mérni, mint egy erre a célra optimalizált eszköz. Megintcsak – pontosabb, erősebb, érzékenyebb hardver = pontosabb pozíció = magasabb ár.
Többek között a fentiek miatt eleve megkülönböztetnek polgári és katonai/légiközlekedési minőségi besorolású GPS eszközöket – pedig mindegyik ugyanazon műholdak jeleit érzékeli, de a velük elérhető mérési pontosság körülbelül egy nagyságrendnyi különbségű. A katonai eszközök egyébként még egyéb segéd jeleket is használnak amihez „földi halandó" nem fér hozzá. A polgári GPS-ek (még mindig csak a GPS chipről és nem a telefonon vagy órán futó alkalmazásról beszélünk) pedig különböző, részben titkos megoldásokat használnak arra, hogy egy viszonylag pontos pozíciót tudjanak generálni. Ez a valóságban ritkán lesz 10 méter alatti pontosságú – az, hogy az elmozdulás során mégsem kacskaringózunk, az ugyancsak a GPS chip saját kis intelligenciájának köszönhető, amivel az eltéréseket ügyesen, láthatatlanul egyensúlyozza ki.
Van még egy érdekes dolog. A GPS chip a pillanatnyi sebességet nem mozgás közben, a két ismert pozíció és elmozdulás ismeretében számolja ki, hanem a rádióhullámok ún. doppler hatásának méréséből. Az elmozdulás iránya (angolul heading, azaz „merre áll az orrunk") is hasonló trükkökkel készül. A vevő a pozícióval együtt ezt az információt is átadja az alkalmazásnak, aki ebből különböző következtetéseket vonhat le – például, észreveheti hogy kanyarodunk (valójában akkorra már legalább egy másodperc eltelt a kanyar óta) és mondjuk sűrűbben naplózhatja a koordinátákat. Ugyanakkor, ez az információ akár félrevezető is lehet, hiszen a fordulás tényéről csak később értesülünk.
Ebből talán már látható, hogy miért veszíti el a fonalat a GPS, ha túl kis ívben túl nagy fordulót teszünk. A GPS élete állandó találgatás, melynek során megpróbálja szétválasztani a valóságot a zavartól. Minél lassabban haladunk, annál nagyobb lesz ez a „jel-zaj viszony", annál nehezebb pontosan mérni. Ha pedig arra számít, hogy ha eddig észak fele haladtunk, mi pedig hirtelen irányt váltunk, akkor kell kis idő, amíg rájön a turpisságra.
Ez tehát a rendelkezésünkre álló technológia, ami közel sem nevezhető mértani pontosságúnak. Adott időnként kapunk egy kiszámított koordinátát, a megtett utat pedig a koordinátákat összekötő szakaszok hozzának összeadásával számíthatjuk ki. Könnyen belátható, hogy a pontatlan koordináták miért okozhatnak a mért útban nagyon is észrevehető különbségeket.
A különféle alkalmazások (és most ide értjük a céleszközöket is), a fenti adathalmazt dolgozzák fel, elemezgetik, optimalizálgatják, szemezgetik.
A mentett adat
A teszt szempontjából talán érdekes információ, hogy a közvetlen mérési eredmények magukból az alkalmazásokból érkeznek, az elemzést viszont értelemszerűen az alkalmazások weboldaláról elmentett, kiexportált GPX (vagy TCX) formátumú adaton végeztem. Végső soron ugyanazt nézzük, de tudni kell, hogy a kiexportált GPX adatban már nem feltétlenül vannak benne azok az esetleges extra információk, amik a weboldalnak a saját alkalmazásával kommunikálva esetleg még megvoltak. Ha például a Nike+ a lépésszámlálót és a telefon elmozdulásérzékelőjét is használja a szumma végösszegek kiszámításához, mi viszont csak a kiexportált térképadatból számolunk, egyáltalán nem biztos hogy ugyanazt az eredményt fogjuk kapni. Többek között ez az oka annak is, hogy egy kiexportált Garminos futás visszaimportálása során lehet, hogy kicsit eltérő eredményeket fogunk kapni. A másik dolog, hogy mindegyik alkalmazás a feltöltött térképeken még optimalizál, más lehet a mintavételezési módszerük, satöbbi – ezért egyáltalán nem meglepő ha az egyik helyről szerzett, másik alkalmazásba importált GPX naplóból kiszámított eredmények nem fognak pontosan egyezni.
A TCX formátum egyébként annyiban is különbözik a GPX-től, hogy előbbiben szerepelnek az úgynevezett „szumma" értékek, amit egy külső alkalmazás közvetlenül használni tud, és nem kell a GPX útvonal újraszámolásával újra előállítania azt.
A mérési gyakoriság
Rendelkezésünkre áll tehát az alkalmazásokból kimentett GPX fájl, ami többé-kevésbé hűen tükrözi azt az útvonalat, ami a végső statisztikában látható számokat eredményezte. Először is, elvben (figyelj, kulcsszó!) minél gyakrabban mérünk, annál pontosabb lesz az eredmény.
Az átlagos GPS vevők körülbelül másodpercenként produkálnak egy-egy újraszámított pozíciót. Ez az érték nagyjából hasonló az okostelefonokon is, bár ott a telefon általános leterheltségétől függően (főleg korábbi, gyengébb hardverrel rendelkező modelleken) ez az érték felmehet kettő-négy másodpercre is. Ha megnézzük az alkalmazásokból exportált GPX fájlban az időbélyegeket, az alábbi frissítési gyakoriságot látjuk (szigorúan tudománytalan itt-ott belenézős alapon):
Ebből az látszik, hogy (legalábbis a GPX tanúsága alapján) a nagy átlag nagyjából 4-9 másodpercenként tárolja el a pozíciót. Az egyetlen látványos kivétel a SportsTracker, ahol minden másodpercre megvan az adat – ebből elsőre azt a következtetést vonnánk le, hogy emiatt ő a legpontosabb, de ne siessünk ennyire. Egy biztos, ha a SportsTracker megteheti, elvileg a többi iPhone-on futó alkalmazás is rögzíthetne másodpercenként, de valamiért nem teszik. Az különösen elgondolkodtató, hogy a Garmin viszont biztosan megtehetné, lévén céleszköz, de az sem teszi.
(Azért visszautalnék arra, hogy a szummák számításához az alkalmazások vagy akár az óra nyugodtan felhasználhatja a másodpercenkénti adatokat, még akkor is ha azokat nem tárolják a GPX naplóban. Azonban ha teszik is, nagyon ügyesen teszik, mert nem esnek bele abba a hibába, amibe a SportsTracker igen, de erre még visszatérünk.)
Most pedig vegyük elő újra a mérési eredményeinket:
Ha azt nézzük hogy a (talán nem nagyon torz) műholdképen kézzel felrajzolt útvonal és a GPS által mért útvonalak hossza kevesebb mint 1%-ban különbözik, a fentiek fényében tulajdonképpen már maga egyfajta szenzáció. Hihetetlen ez a technika – de vajon mi okozza a különbségeket?
Először is, nézzük meg az út, valamint a Garmin és az iPhone alkalmazások által rögzített útvonalak viszonyát. Mi a lehetőségekhez képest egyenesen futottunk az út melletti járdán (ekkora nagyításnál a műholdkép maga el lehet csúszva, tehát inkább az út egyenességét és geometriáját érdemes figyelni):
Mint egy kettős DNS spirál, tekergőzik a piros (Nike+GPS), sötétkék (Runkeeper), zöld (Endomondo) és narancs (SportsTracker) egymás körül, az egész pedig a Garmin (világoskék) körül. A színes pöttyök az alkalmazások által rögzített pozíciókat jelzik, bár sajnos néha kitakarják egymást.
Maga a környék egyébként egy 1-2 szintes kertes házakkal övezett útszakasz, és ami ebből az ábrából mindenekelőtt látszik (és nagyjából mindenhol igaz is volt az útvonalon), az az, hogy a Garmin milyen szépen követte az út egyenes vonalát, míg az iPhone szenvedett és jobbra-balra kilengett. Pedig nem is ittunk futás előtt. Ez ugye egy pont a Garminnak, nyilván a telefonon futó alkalmazások emiatt szépen túlmérik a távolságot. Ez így önmagában meg is magyarázza azt, hogy miért volt a Garmin mérési eredménye a telefonosokhoz képest szignifikánsan alacsonyabb.
SportsTracker: a pontosság átka
Ha ráközelítünk egy-egy szakaszra, nagyjából hasonlót látunk:
Érdemes megfigyelni a Runkeeper sötétkékje alól ki-kikandikáló narancssárga SportsTracker nyomvonalat. Mivel a SportsTracker másodpercenként rögzít, pontosabban követi le az iPhone GPS hibáit. Ez a kétélű fegyver: egy sokkal jobb GPS vevő (esetleg szimplán GPS-barátabb körülmények) esetén a SportsTracker nyerhetett volna, hiszen pontosabban számol – azonban mindkét mérés során az derült ki, hogy ez a pontosság éppenhogy pontatlansághoz vezet.
Míg egy-egy egyenesebb szakaszon a többi alkalmazás nagyjából egyenesen követi az útvonalat, a SportsTracker folyamatosan kacskaringózik, és szorgalmasan gyűjti a hamis métereket. Ez az eltérés olyan látványos, hogy simán összejön belőle az a plusz két százalék eltérés, amit a SportsTracker a többiekhez képest produkált.
Endomondo: a kör négyszögesítése
Jóval kisebb arányban ugyan, de a következő alkalmazás ami eltért a közös átlagtól, az Endomondo volt, ami leheletnyivel kevesebbet számolt mint a Nike+GPS/Runkeeper páros. Ennek is megvan az oka, figyeljük meg a fenti és alábbi képeken a világoszöld útvonalat:
Ami szembetűnő, az az, hogy az Endomondo a kanyarokat általában még a többi iPhone-os alkalmazásnál is rosszabbul viseli. Mintha folyamatosan nem lenne szerencséje szegénynek, rendszeresen ő az, aki legjobban levágja a sarkokat – ezzel magyarázható az Endomondo által mért minimálisan ugyan, de alacsonyabb távolság.
RunKeeper és Nike+GPS: papírforma
A két nap logjait elnézegetve az tűnik még fel, hogy a sötétkék Runkeeper és a piros Nike+GPS az esetek nagyon nagy százalékában szinte tökéletesen ugyanazt az útvonalat követik (ezért nem is nagyon látszik az ábrákon a piros sáv, a sötétkék alatt bújkál). Ha megnézzük fentebb a körforgalmas képet, a Garmin világoskék sávjával leginkább a sötétkék RunKeeper és a Nike+GPS halad párhuzamosan, ergo nekem ezek azok az alkalmazások amelyeknek a legtöbbet sikerült kihozni az iPhone-ból. Itt még egyszer megjegyezném hogy a Nike+GPS-sel nem használtam a lépésszámlálót, ami lehet hogy picit finomítana a Nike+GPS eredményén, de csakis a szummán, és nem az útvonalon.
Kanyarvétel
Végül, egy utolsó képen még megmutatnám azt, hogy hogyan veszik be az alkalmazások az egyik, derékszögnél picit élesebb kanyart. Az eddigiek mellé felsorakozott még két útvonal, a pink Andi telefonján futó SportsTracker, a lila pedig az ugyanott futó Runkeeper logja:
Itt is szépen látszik a sokkal gyakoribb narancssárga (és pink) pozíció; az az érdekes hogy a felső kanyar pont egy olyan hely, ahol a SportsTracker adja a legpontosabb eredményt, kár, hogy egyenesben nem teljesít ilyen jól szegény. Az útgeometriát legjobban követő útvonal ezután a világoskék Garmin, majd jönnek szépen sorban a többiek, az Endomondo természetesen itt is a legnagyobb levágásokat eszközli a kanyarban :-)
Nekem szemet szúrt az is, hogy a Garmin például szemmel láthatóan variál a mentett pozíciók távolságával. Az embernek szinte az az érzése támad, hogy amikor kell, gyakrabban rögzít, amikor nem, akkor pedig ritkábban.
Konklúzió
A teszt kapcsán engem leginkább az érdekelt, hogy hogyan viszonyul az iPhone és rajta futó alkalmazások pontossága egy spéci Garmin futóórához, valamint azok együttesen a valósághoz. Nem volt szó az alkalmazások egyéb fontos funkcióiról, a támogató weboldalak szolgáltatásairól, csakis arról, hogy mit mér, mennyire pontos, milyen eredményt produkál. Előbbiekről talán érdemes lesz egyszer külön írni. Az is okozhatott volna szignifikánsan eltérő eredményt egyébként, ha ugyanezt a tesztet valamelyik Android alapú okostelefonnal végezzük el.
Ha csak a GPS pontosságot nézzük, valószínűleg a Garmin áll legközelebb a valósághoz, de azt gondolom, hogy az a korábban említett bizonyos 1% nem olyan sok, hogy a mobiltelefonos alkalmazásokat csak emiatt sutba vágjuk. A SportsTracker túl jó akar lenni, de túllő a célon és a legrosszabb eredményt produkálja, talán ez az egyetlen, amit én, ezen a környéken biztosan nem fogok használni. A többi esetében könnyen lehet hogy a minimális pontosság-különbség miatt inkább egyéb egyéni szempontok döntenek majd.
Az, hogy imádom az új órámat, ettől teljesen független dolog ;-)