mercoledì 4 novembre 2015

Validazione MTK3339 (2)

Continuando il discorso del precedente post, e' stata fatta un prova mettendo l'antenna in misura su un tetto per un periodo di circa 9 ore (dalle 21:36 alle 06:39 del giorno successivo) per un totale di circa 24400 misure

Il sensore era attivato per cicli di 10 minuti e poi spento per 1 minuto (non avendo batteria tampone l'MTK3339 di fatto era costretto ad un riavvio a freddo ogni 10 minuti)

Delle misure 

19997 dati sono stati ricevuti con Fix Quality = 1
4393   dati sono stati ricevuti con Fix Quality = 2 (DGPS WAAS)

455     misure con visibilita' di 11 satelliti
3585   misure con visibilita' di 10 satelliti 
5039   misure con visibilita' di 09 satelliti
10067 misure con visibilita' di 08 satelliti
4597   misure con visibilita' di 07 satelliti
645     misure con visibilita' di 06 satelliti



E' abbastanza evidente che la nuvola dei punti e' molto sparpagliato in particolare nell'asse NE-SW

Mediando pero' la nuvola dei punti le misure diventano decisamente piu' ordinate



Organizzando invece i dati in blocchi da 10 minuti (circa 580 misure, come detto ogni 10 minuti il GPS veniva spento e resettato) i dati medi peggiorano nettamente come dispersione



Quindi la misura dipende fortemente dal numero di dati che contribuiscono alla media e sembra essere molto meno influenzata dal numero di satelliti osservati

Mettendo insieme tutte le misure (plottate con Octave visto che 22.000 punti su Google Earth non vengono gestiti) il risultato e' il seguente



Ovviamente il dato in quota e' quello peggiore e non e' di nessun utilizzo pratico (se non una valutazione indicativa della quota)


La quota media e' stimata in 177.1 +/- 6.5 m
Dividendo in funzione del numero di satelliti acquisiti la quota media e' di

07 satelliti : 179.1 +/- 5.5 m
08 satelliti : 174.3 +/- 5.5 m
09 satelliti : 179.6 +/- 5.2 m
10 satelliti : 181.7 +/- 7.8 m
11 satelliti : 183.8 +/- 0.1 m

Il sistema GPS era collegato ad una trasmittente Xbee ed una batteria Lipo per l'alimentazione
La trasmissione radio ha inviato 24400 stringhe di dati con sole 6 stringhe malformattate e quindi scartate

Con cicli di 10 minuti di misura (GPS e XBee accesi) ed un minuto di pausa (GPS e Xbee spenti) il consumo della batteria e' stato sostanzialmente costante su valori di circa 0.03 V/ora.
Il limite a cui il sistema entra in crisi e' indicativamente posto a 3.6 V



4 commenti:

  1. Il numero dei satelliti e relativamente importante, è importante anche la loro geometria. E' meglio avere 4 satelliti ai 4 angoli del cielo, una piramide dove il ricevitore è al vertice, che 6 allienati in una direzione. Di solito i ricevitori forniscono un parametro che stima la bontà della geometria.
    Interrompere e riprendere la ricezione, come hai già visto, non è una buona idea se vuoi ottenere misure sempre più precise. La continuità è importante perché migliora la stima dei possibili errori fra cui la differenza di orario tra il satellite e il ricevitore.
    La quota è uno dei punti dolenti del GPS e quello soggetto agli errori maggiori. Il sistema però calcola la quota sull'ellissoide WGS84 e non sul geoide anche se alcuni ricevitori hanno un geoide semplificato con cui compensano la differenza che può arrivare a diverse decine di metri. Alcuni ricevitori includono un altimetro con sensore di pressione.
    Le antenne dei ricevitori economici sono inoltre affette maggiormente dal multipath, cioè oltre al segnale del satellite diretto ricevono anche i segnali riflessi che ovviamente hanno percorso una lunghezza maggiore. Forse utilizzando uno schermo metallico per bloccare i segnali riflessi dal basso la precisione migliora.

    RispondiElimina
  2. Prima di tutto grazie per la risposta
    Sto facendo delle prove per capire quale e' l'antenna GPS che a costi "ragionevoli" possa dare delle prestazioni buone senza andare nel campo delle acquisizioni in fase ed in pseudorange....sto cercando di mettere su qualcosa di poco costoso (dell'ordine dei 100-150 euro) che sia in grado di essere autonomo dal punto di vista dell'alimentazione e della trasmissione dati
    Ho provato antenne degli e-commerce cinesi e sono veramente pessime e sono in attesa di una UBlox
    So gia', a priori, che non posso scendere sotto al paio di metri sulla precisione del punto con un ricevitore L1 ed i soli dati NMEA. Considerando che l'MTK3339 costa una quarantina di euro diciamo che puo' considerarsi una soluzione interessante (in attesa di passare al livello superiore quando mi entrano un po' di soldi)
    Il problema della quota WGS84 lo conosco a mie spese perche' in dottorato avevo dei dati telerilevati (da aereo con lidar) in cui la quota della linea di costa di Rimini era a 40 m slm ...;>
    Se posso approfittare vorrei chiedere una cosa : sapendo che la trattazione della media guassiana e' una brutale approssimazione per i dati GPS (visto che il dato si muove lungo tracciati e non in modo casuale attorno ad un valore medio) esiste un sistema di trattamento dati (non postprocessing in senso stretto) che permetta di ripulire i dati NMEA degli outlier??? (tutto quello che ho trovato,vedi filtri Kalman e Recursive Least Square e' idoneo solo per acquisizioni L1+L2).
    Saluti e grazie di nuovo

    RispondiElimina
  3. Purtroppo in passato ho usato solo ricevitori a doppia frequenza, con uso di effemeridi ricalcolate e altre raffinatezze, mai ricevitori monofrequenza.
    Niente NMEA ma solo fasi in file RINEX. I calcoli però riguardavano delle baseline e non dei singoli punti. Sempre postprocessing.
    Tempo fa lessi che da alcuni rivevitori economici della Garmin era possibile tirare fuori i dati di fase attraverso la seriale (ma non l'USB di cui erano dotati) ma non ho mai provato. Magari è una funzione presente in qualche altro ricevitore economico anche se penso che l'abbiano rimossa.
    Attualmente uso il gps in maniera del tutto amatoriale ma la tecnologia in campo geodetico è andata avanti. Oltre ad utilizzare anche i Glonass, quelli cinesi e i recenti Galileo, sono arrivati da un po' di anni a effettuare posizionamenti con una frequenza sotto l'Hertz e a rilevare gli spostamenti durante un terremoto, come fossero dei sismografi.
    Tornando al tuo problema forse potresti andare a guardare i codici dei multirotori (o droni o quadricotteri quando hanno 4 rotori) in quanto queli più professionali hanno il ritorno a casa in caso di perdita del segnale del radiocomando o su comando remoto e, per farlo, devono tornare con una certa precisione. Ma forse tali algoritmi fanno anche uso dei dati delle IMU.
    Altro non mi viene in mente, per adesso.

    RispondiElimina
  4. Si, posso confermare che i vecchi Garmin (prodotti tipo nel 1998-2000) possono fare postprocessing (era una funzione non documentata da Garmin)
    due esempi sono
    http://debiaonoldcomputers.blogspot.it/2015/11/garmin-gps-v-e-raw-data.html
    http://debiaonoldcomputers.blogspot.it/2015/10/garmin-12-xl-e-gps-differenziale.html
    ci sono anche alcuni moduli moderni che permettono l'acquisizione di dati raw ma non li mai utilizzati

    Il modulo che uso io, ovvero l'MTK3339, ha una frequenza massima di campionamento di 10 Hz ma io lo uso in modo tradizionale ad 1 Hz

    grazie in ogni caso per l'aiuto

    RispondiElimina

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...