Cum se determină locația rețelei celulare (id de celule)

Există numeroase moduri de a determina locația, cum ar fi navigația prin satelit (GPS), localizarea prin intermediul rețelelor WiFi wireless și peste rețelele celulare.

În acest post, am încercat să verificăm cât de bine funcționează tehnologia de poziționare pe comunicațiile mobile din orașul Minsk (cu condiția să fie utilizate doar bazele de date deschise ale coordonatelor emițătoarelor GSM).


Cum se determină locația rețelei celulare (id de celule)

După cum este indicat în pagina ID de celule. Bazele de date deschise cu coordonatele transmițătoarelor celulare nu sunt atât de multe. De exemplu, acesta este OpenCellID.org. care conține 2.611.805 de transmițători (1.302 dintre ei în Belarus) și openbmap.org, care conțin 695.294 emițători.

Mai jos este o captură de ecran cu transmițătorii desemnați în partea de vest a Minskului. După cum puteți vedea, numărul de stații de bază nu este zero, ceea ce încurajează optimismul și un posibil rezultat pozitiv al experimentului.

Acum, hai să trecem la întrebarea cum să folosiți această bază de date. Există două opțiuni: utilizați serviciul de traducere ID-uri în coordonatele furnizate de site-ul OpenCellID.org. sau efectuați o căutare locală. În cazul nostru, metoda locală este preferabilă, deoarece vom merge pe un traseu de 13 kilometri, iar lucrul prin web va fi lent și ineficient. În consecință, trebuie să descărcați baza de date pe laptop. Acest lucru se poate face prin descărcarea fișierului cell_towers.csv.gz de la downloads.opencellid.org.

Cum se determină locația rețelei celulare (id de celule)

Baza de date este un tabel în formatul CSV descris mai jos:

Cum se determină locația rețelei celulare (id de celule)

Suntem interesați de următorii parametri:

  • - codul țării;
  • - codul operatorului;
  • - codul zonal;
  • - identificatorul transmițătorului;
  • - longitudinea transmițătorului;
  • Latitudinea emițătorului.

Cu baza de date totul este clar, acum puteți trece la definiția ID-ului celulei.

Toate modulele celulare suportă următoarele comenzi: AT + CREG, AT + COPS (stația de bază de difuzare), AT + CSQ (nivelul semnalului de la stația de bază). Unele module vă permit să aflați, pe lângă emițătorul de serviciu, și cele vecine, adică monitorizează stațiile de bază folosind comenzile AT ^ SMONC pentru Siemens și AT + CCINFO pentru Simcom. Am avut un modul SIMCom SIM5215E.

Cum se determină locația rețelei celulare (id de celule)

În consecință, am folosit comanda AT + CCINFO, formatul său fiind prezentat mai jos.

Cum se determină locația rețelei celulare (id de celule)

Cum se determină locația rețelei celulare (id de celule)

Suntem interesați de următorii parametri:

  • - indicatorul transmițătorului de serviciu;
  • - indicatorul transmițătorului vecin;
  • - codul țării;
  • - codul operatorului;
  • - codul zonal;
  • - identificatorul transmițătorului;
  • - puterea semnalului recepționat în dBm.

După conectarea modulului celular la laptop, avem următorul jurnal:

Cum se determină locația rețelei celulare (id de celule)

Lucrări de monitorizare - puteți merge.

Traseul a fost stabilit în partea de vest a Minskului de-a lungul străzii. Matusevich, bulevardul Pushkin, st. Ponomarenko Str. Sharangovic Str. Maxim Garetsky, st. Lobanka Str. Kuntsevshchina Str. Matusevich.

Jurnalul a fost înregistrat cu un interval de 1 secundă. Realizând transformarea IDC în coordonate, s-a dovedit că apelurile 6498 la baza de date OpenCellID au fost eficiente, iar apelurile 3351 nu au găsit nici o corespondență în baza de date. Ie rata de hit pentru Minsk este de aproximativ 66%.

Figura de mai jos arată toate emițătoarele care au fost întâlnite în jurnal și au fost în baza de date.

După cum puteți vedea, într-un moment am fost serviți de un transmițător, situat în spatele intersecției de trafic la intersecția dintre ul. Pritytsky și MKAD. Cel mai probabil, aceasta este o stație de bază suburbană, care deservește abonații la câțiva kilometri distanță, ceea ce duce la erori semnificative în determinarea locației ID-ului celulei.

Din moment ce simbolul SIM5215E nostru arată în orice moment nu numai emițătorul de servire, dar și nivelurile vecine și de semnal de la acestea, vom încerca să calculam coordonatele dispozitivului pe baza tuturor datelor disponibile la un moment dat.

Vom calcula coordonatele abonatului ca medie ponderată a coordonatelor emițătorilor:
Latitude = Sumă (w [n] * Latitudine [n]) / Sumă (w [n])
Longitudine = Sumă (w [n] * Longitudine [n]) / Sumă (w [n])

După cum se știe din teoria propagării undelor radio, atenuarea unui semnal radio în vid este proporțională cu pătratul distanței de la emițător la receptor. Ie Atunci când ștergeți de 10 ori (de exemplu, de la 1 km la 10 km) semnalul va fi de 100 de ori mai slab, adică va fi redus cu 20 dB la putere. În consecință, greutatea fiecărui termen este definită ca:
w [n] = 10 ^ (RSSI_in_dBm [n] / 20)

Aici am presupus că puterea tuturor emițătoarelor este aceeași, această presupunere este eronată. Dar din cauza lipsei de informații cu privire la puterea emițătorului stației de bază, este necesar să se facă presupuneri brute.

Ca rezultat, obținem o imagine mai detaliată a locațiilor.

Ca urmare, ruta sa dovedit a fi bine marcată, cu excepția ejecției către intersecția de la Moscova, din cauza motivului descris anterior. În plus, cu timpul va fi completat baza de date a coordonatelor, care ar trebui, de asemenea, să îmbunătățească acuratețea și disponibilitatea tehnologiei de localizare pentru ID-ul celulei.

Articole similare