6. Hatékony lokalizációs szolgáltatások 87
6.4. A konzisztencia alapú becslő hatékony számítása
6.4.3. Véletlenítéssel gyorsított lokalizációs algoritmus
Látható, hogy a (6.13) egyenletrendszer által előállított becslő még akkor is igen kevéssé megbízható, ha a mérések helyesek. Nagy számú ötöst kiértékelve azonban az előállított becslések között helyesek is találhatók, tehát elegendően nagy számú ötöst megvizsgálva biztosítható legalább egy helyes pozícióbecslő. Ebben a szakaszban arra fogok becslést adni, hogy korrekt méréseket feltételezve hány iteráció szükséges egy helyes becslés előál-lításához, illetve ezt felhasználva arra is, hogy adott számú helyes, illetve hibás mérést adó szenzor esetén hány próbálkozásra, tehát a konzisztenciafüggvénynek hány véletlenszerű-en választott ötösből képezett pozícióbecslőn való kiértékelésére van szükség legalább egy
0 20000 40000 60000 80000 100000 120000 140000
0 2 4 6 8 10 12 14 16 18 20
gyakoriság
hiba (m)
6.9. ábra.A kezdő pozícióbecslők hibájának eloszlása a (6.13) egyenletrendszer használatával, valós mérések alapján. A teszt során csak a legfeljebb 0,5 m hibával rendelkező mé-réseket használtam fel.
helyes pozícióbecslés előállításához. Az optimális pozícióbecslés előállítására egy algorit-must javaslok, aminek bemenő paraméterei a kívánt találati valószínűség, a szenzorok száma, illetve a helyes mérést adó szenzorok becsült száma. Az algoritmus képes a helye-sen működő szenzorok számára vonatkozó becslés futás közbeni korrekciójára.
Jelöljük a véletlenszerűen kiválasztott ötösök számátK-val. A következőkben egy olyan módszert fogok bemutatni, amivel egy bizonyos garantált találati valószínűség mellettK értéke meghatározható.
Jelöljük a k-adik ötöst Qk-val és a Qk alapján a (6.13) egyenletrendszer segítségével becsült pozíciót Lk-val (1 ≤ k ≤ K). Egy szenzort megbízhatónak nevezünk, ha a w ablakméret felénél kisebb mérési hibát mutat,Qk-t pedig akkor nevezzükmegbízhatónak, ha a benne szereplő 5 szenzor mindegyike megbízható. Lk-t akkor nevezzük helyesnek, ha a becslés hibába egy bizonyos δ küszöb alatt van. Definiáljuk annak valószínűségét, hogy a (6.13) egyenletrendszer megbízható mérések alapján helyes becslőt eredményez:
P∗ =P(Lk helyes|Qk megbízható) (6.14) Jelölje Phit annak valószínűségét, hogy a K becsült pozíció közül legalább egy he-lyes. Célunk egy olyan, elegendően magas K választása, ami magas Phit-et eredmé-nyez. A következőkben a Phit és K között fennálló összefüggést fogom levezetni. Ha P+=P(Qk megbízható|Lk helyes), akkor
P(Lk helyes)P+ =P(Qk megbízható)P∗ (6.15) Ha a megbízható szenzorok száma n, akkor
6 Hatékony lokalizációs szolgáltatások
A (6.15) és (6.16), valamintP+≤1alapján a következő egyenlőtlenség teljesül:
P(Lk helyes)≥
Tehát annak valószínűsége, hogyKötösből legalább egy esetben helyes pozícióbecslést kapunk, a következő:
Ha Phit tervparaméter, akkor K-ra a következő felső korlát számítható:
K = log(1−Phit)
Ahogy a 6.8. ábrán is látható, P∗ erősen függ a szenzorok, illetve a forrás elhelyezke-désétől (az ábrán látható példában a középső forráspozícióban P∗ jelentősen nagyobb, mint a másik két estben), illetve a mérési hibákΓeloszlásától.P∗ becslésére a következő, szimuláció-alapú megközelítést alkalmaztam.
counter←0 repeatE times
Válasszunk az ismert pozíciójú szenzorok közül véletlenszerűen egy Qötöst, illetve a keresési tér bármely pontján egy Lforrást.
Számítsuk ki a τi pontos mérési adatokat aQ ötösre, illetve az L forrásra, majd adjunk a mérésekhezei,Γeloszlással rendelkező zajt, így a ti (1≤i≤5) zajos mérésekhez jutva.
Számítsuk ki az Lk pozícióbecslőt a (6.13) egyenletrendszert használva.
if |Lk−L|< δthen counter ←counter+ 1 P∗=counter/E
A szenzorok mérési hibájánakΓeloszlása specifikáció (ha elérhető), vagy teszt mérések alapján határozható meg.Γmeghatározását előzőleg gyűjtött mérési adatok alapján vé-geztem. A hiba eloszlása a 6.10. ábrán látható. A 3 méternél nagyobb hibákat a vizsgálat során nem vettem figyelembe.
Hogy ellenőrizzem a Phit ésK között fennálló összefüggést, a következő kísérletet vé-geztem. Egy bizonyos eseményhez tartozó mérésekbőlKvéletlenszerű ötöst választottam
0
6.10. ábra. A szenzorok mérési hibájának eloszlása.
ki, majd minden esetben kiszámítottam az ötösből számított pozíció hibáját. Azokban az esetekben, amikor a hiba aδ= 0,5 m küszöb alatt volt, acounterK számlálót növeltem.
K értékét 100 és 10000 között változtattam, minden esetben 1000 kísérletet végezve. A kísérlet során kapottPhit(tehát a counterK K) értékek a 6.11. ábrán láthatók,K függvényé-ben ábrázolva, három különböző esetfüggvényé-ben. Az ábrán az egyes görbékhez tartozó, (6.19) egyenlet alapján számítottPhit(K)függvények is szerepelnek. A számításhozP∗ =0,0048 értéket használtam, a fentebb bevezetett szimuláció alapú módszer alapján, a 6.10. áb-rán látható hibaeloszlást[−0,5 m; 0,5 m]közé szűkítve, illetve a kísérleteknél is használt δ= 0,5 m küszöbértéket használva. A három görbepárhoz tartozóN (a mérésben szerep-lő szenzorok száma), illetven(a megbízható szenzorok konzisztencia-függvény alapján, a posteriori kiszámolt száma) 23 és 20, 27 és 21, illetve 30 és 20 voltak. Az ábrán világosan látható az elméleti, illetve a gyakorlati görbék jó egyezése.
Az imént bemutatott módszerre épülő gyorsított lokalizáció folyamatábrája a 6.12.
ábrán látható.
• Az 1. lépésben a bemenő paraméterek beállítása történik. N a rendelkezésre álló mérések száma,Phit(K)egy 1-hez közeli tervparaméter,n(a megbízható szenzorok száma) pedig csupán egy becslés. Az n paraméter kezdeti meghatározása például előzetes mérések alapján történhet, az algoritmus ezt a számot adaptív módon helyesbíti.
• A2. lépésben K kezdeti értékének kiszámítása történik.
• A 3. lépésben K pozícióbecslő kiszámítása, majd mindegyik pontban a konzisz-tenciafüggvény kiértékelése történik. A legjobb becslés Lest, c(Lest) konzisztencia értékkel.
6 Hatékony lokalizációs szolgáltatások
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 2500 5000 7500 10000
Phit
K
N = 23, n = 20
N = 27, n = 21
N = 30, n = 20
6.11. ábra. A Phit elméleti (folytonos görbék), illetve mért (szaggatott görbék) értéke három különböző mérési beállításra (vékony, normál, illetve vastag vonalak),K értékének függvényében.
• Ha a megbízható szenzorok számára tettnbecslés nem volt túl magas, tehát tény-legesen volt legalább n megbízható szenzor, akkor a folyamat a 4. lépésben véget ér.
• Ha a legnagyobb megtalált konzisztencia érték kisebb, mintn, akkor az algoritmus az 5. lépésben nértékétc(Lest)-re csökkenti.
• Majd a6. lépésben egy új (magasabb)K′ érték kerül kiszámításra
• A pozícióbecslő a8. lépésben az újabbK′−Kötösre is kiszámításra kerül, majd az algoritmus az új pontok konzisztenciáját is kiértékeli. Az algoritmus aK′ pozíció közül a legmagasabb konzisztenciafüggvénnyel rendelkezőt választja mint pozíció-becslő.
Az véletlenítéssel gyorsított lokalizációs algoritmus C nyelven történt implementá-ciója, illetve a futtatáshoz szükséges bemenő adatok az [S6] linken érhetők el.
6.12. ábra. A véletlenítéssel gyorsított lokalizációs algoritmus folyamatábrája
6 Hatékony lokalizációs szolgáltatások
6.2. táblázat.Az 5 lövés esetén mért számítási idő az eredeti, illetve a véletlenített algoritmussal Lövés Eredeti algoritmus Véletlenített algoritmus Gyorsulás
sorszáma Tcomp Ncf Tcomp Tinit Tcf Ncf
A pozícióbecslő hatékonyságát a becsült pozíciók átlagos négyzetes hibájának a Cramér-Rao korláttal (CRLB) való összevetésével vizsgáltam. A számításokat a [95] és a [96]
alapján végeztem.
CRLB(x, y, z) =trace(F−1), (6.20) aholFa Fisher-féle információs mátrix:
F= 1
Az összehasonlításhoz 9 tesztpontot vettem fel a keresési térben, ezeket a 6.13. ábrán 45 fokos szögben álló négyzetekkel jelöltem. Az egyes pontok különböző lefedettségű területeken helyezkednek el. A tesztpontokban a CRLB-t a (6.20)-(6.24) egyenleteknek megfelelően számítottam ki, az átlagos négyzetes hibát pedig az egyes pontokban 100-100 mérés átlagolásával nyertem. A felhasznált szimulációs adatok előállításához ei helyén 0 várható értékűσ= 0,3 m szórású normál eloszlású zajt használtam, az ablak szélességét pedig w = 0,4m-re választottam. A kapott eredményeket a 6.3. táblázat foglalja össze.