View Full Version : Trilaterazione, Triangolazione? Come?
Rubberick
25-08-2011, 16:18
Salve a tutti :)
Ho un dump dei seguenti dati da un rilevatore...
lat, long, altezza in m dal livello del mare, potenza in dBm, accuratezza GPS in m
ho un totale di N rilevazioni (o comunque un numero maggiore di 4)
50.51658, 30.15646, 64 m, -98 dBm, 4 m
51.64780, 31.51650, 72 m, -53 dBm, 12 m
50.85165, 30.94054, 80 m, -80 dBm, 45 m
50.91010, 30.40564, 15 m, -75 dBm, 3 m
50.74700, 30.51560, 12 m, -100 dBm, 35 m
50.23150, 30.08060, 78 m, -120 dBm, 15 m
nota bene: ho messo valori a cavolo non so nemmeno dove portino queste lat/lon... e' solo per rendere visivamente il problema
quello che vorrei fare è localizzare approssimativamente la posizione della trasmittente sfruttando tutti i dati che ho
una prima risoluzione del problema per ora potrebbe trascurare la questione dell'accuratezza, consideriamola sempre uguale di 1m
vorrei sviluppare un programmino per farlo ma prima ancora di mettere mano all'informatica sono preso tra matematica e fisica
non mi sono mai cimentato su un problema di questo tipo e pensavo di usare la triangolazione ma cercando in giro ho letto che dovrei usare la trilaterazione perchè non ho angoli ma eventualmente dei lati
la voce in italiano è minuscola quindi posto quella inglese:
http://en.wikipedia.org/wiki/Trilateration
da quanto sembra scritto a naso dovrebbe fare al caso mio ma non so come implementarla... inoltre da quanto sembra devo fare dei sistemi lineari...
mi sembra di capire che sia na sorta di intersezione di 3 sfere pardon circonferenze
tuttavia io ho N misurazioni e non 3
xD come cavolo devo fare?
anche solo matematicamente... poi vedo io come sbrigarmela in programmazione ma mi serve la risoluzione fisico/matematica del problema
Rubberick
25-08-2011, 16:25
un primo passo l'ho fatto, ovvero dato che li parla di sfere o circonferenze ci vuole un raggio
il raggio lo calcolo grazie alla potenza in dBm con il free loss path ed alcune correzioni mie ipotizzando un po' di attenuazione
lat, long, altezza in m dal livello del mare, raggio (derivato dalla potenza in dBm grazie al free loss path), accuratezza GPS in m
50.51658, 30.15646, 64 m, 100 m, 4 m
51.64780, 31.51650, 72 m, 20 m, 12 m
50.85165, 30.94054, 80 m, 60 m, 45 m
50.91010, 30.40564, 15 m, 77 m, 3 m
50.74700, 30.51560, 12 m, 150 m, 35 m
50.23150, 30.08060, 78 m, 240 m, 15 m
ecco fatto ora ho x,y,z quindi il centro della rilevazione e il raggio derivato dalla potenza
che faccio? :D
Xalexalex
25-08-2011, 18:21
Risolvi un sistema sovradeterminato: minimi quadrati?
Xalexalex
25-08-2011, 18:30
Questo puo' interessarti =D
http://www.dsto.defence.gov.au/publications/scientific_record.php?record=4559
Rubberick
25-08-2011, 22:14
:eek: ancora whitepapers? vi prego basta non ne posso piùùùù! :D
addirittura del governo usa, lol
in quel whitepaper c'e' di tutto, sorgenti in movimento, analisi del tempo intercorso tra invio e ricezione, questione del "rumore" che poi non ho capito nemmeno quale sarebbe in questo momento..
io ho delle rilevazioni gia' fatte, non devo farne... e mi sembra che quel whitepaper sia + orientato verso la rilevazione
mi scuso ma sono un pò fuori forma con la matematica, mi servirebbe un hint o qualche passaggio matematico di un algoritmo da poi provare a portare in forma di programmazione
di references cosi' astratte ne ho trovate parecchie e sono tutte bene o male simili... di algoritmi spiegati a formule c'e' ben poca roba, giusto la trilaterazione di wikipedia sulla voce inglese (e non ho capito nemmeno se debbo usare quella o altro), di codice o funzioni in un qualsiasi linguaggio di programmazione nemmeno a parlarne..
c'e' nessuno che ha studiato sta roba anche for fun e sa dirmi direttamente quale algoritmo o + o - che passaggi seguire? la proviamo a buildare insieme..
non ho problemi a documentarmi sulla programmazione è la parte matematica che mi risulta un pò sconosciuta
Xalexalex
25-08-2011, 22:21
:eek: ancora whitepapers? vi prego basta non ne posso piùùùù! :D
addirittura del governo usa, lol
in quel whitepaper c'e' di tutto, sorgenti in movimento, analisi del tempo intercorso tra invio e ricezione, questione del "rumore" che poi non ho capito nemmeno quale sarebbe in questo momento..
io ho delle rilevazioni gia' fatte, non devo farne... e mi sembra che quel whitepaper sia + orientato verso la rilevazione
mi scuso ma sono un pò fuori forma con la matematica, mi servirebbe un hint o qualche passaggio matematico di un algoritmo da poi provare a portare in forma di programmazione
di references cosi' astratte ne ho trovate parecchie e sono tutte bene o male simili... di algoritmi spiegati a formule c'e' ben poca roba, giusto la trilaterazione di wikipedia sulla voce inglese (e non ho capito nemmeno se debbo usare quella o altro), di codice o funzioni in un qualsiasi linguaggio di programmazione nemmeno a parlarne..
c'e' nessuno che ha studiato sta roba anche for fun e sa dirmi direttamente quale algoritmo o + o - che passaggi seguire? la proviamo a buildare insieme..
non ho problemi a documentarmi sulla programmazione è la parte matematica che mi risulta un pò sconosciuta
Se ho tempo ci penso un attimo. In che linguaggio programmi?
Rubberick
25-08-2011, 23:28
lo starei scrivendo in php
volendo poi da li fare il porting in c++ o java risulta relativamente semplice...
l'unico problema è che forse php non ha a disposizione (mi pare) funzioni pratiche per risolvere grosse matrici come farebbe un matlab per la risoluzione di sistemi lineari
per questo vorrei capire di che entita' matematiche ci troviamo davanti
se si tratta di qualche potenza, radice e sommatoria è + leggera come cosa... roba + complessa tocca vedere come gestirla..
sarebbe triste smattare per vedere di portare la risoluzione completa di sistemi lineari in php per poi scoprire che non serve xD
per i sistemi ho visto gente che si faceva a mano il metodo della sostituzione e li convertiva in 3-4 passaggi in fila statici... che vanno bene fintanto che le equazioni sono 3
ma se ho N righe di un sistemone lineare grosso come una casa non posso farmi la sostituzione su carta e poi riportare i passaggi come codice ^^
Rubberick
28-08-2011, 13:46
uppino, qualche idea su come fare? io sto vedendo un pò quello che posso fare con le librerie matematiche in php ^^
Rubberick
05-09-2011, 12:45
uppino xD il vostro aiuto e' finito nel dimenticatoio? :| io mi sono documentato abbastanza sulle librerie
La latitudine la longitudine e l'altezza ti forniscono le coordinate (x,y,z) della sfera. L'errore è considerato rispetto a tale centro? O rispetto ad ogni coordinata? Comunque puoi considerare il risultato finale non affetto da alcun errore ed utilizzare la formula generale della propagazione degli errori. Ma qual è il raggio della sfera? Perché faccio un po' fatica a figurarmelo. Perché alla fine hai n sfere in R^3 e la soluzione al problema è data dalla generalizzazione del problema delle tre sfere.
Rubberick
15-09-2011, 16:35
io ho latitudine, longitudine e altezza...
l'errore e' considerato rispetto al centro...
ma comunque ho gia' detto tralasciamo l'errore dell'accuratezza gps e immaginiamo sia tutto perfetto
ho tante belle sfere con i loro centri e il cui raggio l'ho ottenuto mediante la formula di caduta del campo su percorso libero
tante righe del tipo
x,y,z e raggio
che me ne faccio? le interseco? me le faccio abbrustolite con l'aglio o e' meglio buttarle insieme al sugo con le melanzane? xD
non so che fare matematicamente parlando
io ho latitudine, longitudine e altezza...
l'errore e' considerato rispetto al centro...
ma comunque ho gia' detto tralasciamo l'errore dell'accuratezza gps e immaginiamo sia tutto perfetto
ho tante belle sfere con i loro centri e il cui raggio l'ho ottenuto mediante la formula di caduta del campo su percorso libero
tante righe del tipo
x,y,z e raggio
che me ne faccio? le interseco? me le faccio abbrustolite con l'aglio o e' meglio buttarle insieme al sugo con le melanzane? xD
non so che fare matematicamente parlando
aspe,
tu hai un dump di un ricevitore gps un ricevitore gps ti dà già il risultato della trilaterazione ( viene svolta dal ricevitore) comunque la posizione dei satelliti dovresti averla direttamente nelle sentenze GSV del protocollo NMEA
Rubberick
18-09-2011, 01:25
le rilevazioni che sto facendo sono sia celle gsm/3g sia reti wifi
inoltre si presuppone che io usi e faccia un elaborazione dei dati che ho su un database gia' pronto in un secondo momento... non mi metto a sniffare le sentenze GSV come dici tu durante la rilevazione
questo algoritmo lo vorrei usare per raffinare quelle che sono le rilevazioni che ho in questo database...
per quanto riguarda la distanza dal ricevitore visto che si parla di frequenze diverse:
- ho usato per il gsm un generico 1800Mhz + veritiero x una buona parte degli operatori
- ho usato i 2400 Mhz per le reti WiFi
quindi devo fare una trilaterazione basandomi sui valori che ho :)
le rilevazioni che sto facendo sono sia celle gsm/3g sia reti wifi
inoltre si presuppone che io usi e faccia un elaborazione dei dati che ho su un database gia' pronto in un secondo momento... non mi metto a sniffare le sentenze GSV come dici tu durante la rilevazione
questo algoritmo lo vorrei usare per raffinare quelle che sono le rilevazioni che ho in questo database...
per quanto riguarda la distanza dal ricevitore visto che si parla di frequenze diverse:
- ho usato per il gsm un generico 1800Mhz + veritiero x una buona parte degli operatori
- ho usato i 2400 Mhz per le reti WiFi
quindi devo fare una trilaterazione basandomi sui valori che ho :)
devi spiegarmi cosa c'entra la frequenza con la determinazione della distanza. ma sai almeno quali sono le tecniche e le tecnologie possibili per effetturare misure di distanza mediante onde radio?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.