Domanda

Recentemente ho conosciuto circa un file nella directory gps.conf /system/etc/. Sembra che i valori di tweaking NTP_SERVER ai server NTP più vicino alla posizione solita migliora TTFF.

La lettura del codice sorgente nella classe LocationProvider, sembra che in fase di avvio, il tempo viene recuperato dal server NTP e "iniettato" nei calcoli. Per quanto ne so ogni sat GPS ha un preciso orologio atomico, e ognuno nella costellazione è sincronizzato con il cosiddetto "tempo GPS". Una volta che il ricevitore ha 4 o più satelliti, risolve (da un metodo) un'equazione dove ci sono quattro incognite: x, y, z, b; dove (x, y, z) è la posizione del ricevitore, e b è la differenza di tempo tra l'orologio interno ricevitore e il (corretto) tempo GPS. Una volta che ha una correzione di una, l'orologio ricevitore è sincronizzato con l'ora esatta. (Si prega di correggermi se sbaglio).

Finora, ho alcune domande per quanto riguarda il modo in cui funziona l'iniezione di tempo NTP:

  1. Il tempo GPS è di circa TAI (International Atomic Time) più un offset. Queste due tempi non dipendono dalla rotazione della Terra, tuttavia UTC fa. Dato che i server NTP tornano ora UTC, è possibile dedurre Tempo GPS dal tempo UTC?
  2. In che modo il recupero di tempo NTP da un server più vicino di migliorare la "qualità" del tempo GPS approssimazione?
  3. Supponendo che abbiamo un valore di GPS tempo iniziale (dedotto dal tempo NTP in qualche modo), che cosa è l'iniezione circa? È questo valore temporale preso come corretto per risolvere l'equazione solo con x, y, z come incognite? Se è così, allora la prima correzione è anche solo un'approssimazione, non è vero?
  4. Come fa una prima approssimazione di qualità superiore per il tempo GPS migliorare TTFF? E 'perché con un tempo di qualità inferiore NTP le prime correzioni sono considerati non accettabili e scartati?
  5. non avendo un approssimativo aiuto posizione iniziale recupero della prossima corretta correzione (come ascoltare solo a un sottoinsieme di satelliti)?
È stato utile?

Soluzione

Bene scouting un po 'di wikipedia e alcune altre fonti, mi permetta di avere un paio di guessses.

  1. Sì, è possibile dedurre il tempo GPS da ora UTC. Devi solo conoscere l'offset, che viene trasmesso ogni 15 secondi e le modifiche una volta in circa 18 mesi. Fonte: Wikipedia

  2. NTP non ti dà il tempo esatto. Misura il messaggio di tempo arriva dal client al server e il tempo di risposta arriva dal server al client. Questi tempi sono poi utilizzati per calcolare il ritardo della connessione. Che viene poi utilizzato come una compensazione per il tempo ricevuto. Questo funziona per percorsi simmetrici. Se i percorsi sono asimmetrica, c'è un errore. Quindi più vicino al server, abbassare la possibilità e il livello di asimmetria, abbassare così l'errore. Fonte: Wikipedia nuovo

  3. segnale

    NTP non viene utilizzato direttamente per ottenere la correzione GPS. Ma per una correzione accurata è necessario orologi molto precisi. Stiamo parlando nanosecondi qui. satelliti GPS fanno trasmissione tempo GPS corrente, ma anche mentre viaggia alla velocità della luce, c'è un certo ritardo. ricevitore GPS non ha modo di sapere qual è il ritardo è, quindi deve approssimare da diversi segnali ricevuti. Con ogni trasmissione ha ricevuto l'orologio ottiene più precisa. Così il momento migliore si ha all'inizio, i segnali di tempo meno si deve ricevere per avere un orologio preciso. Fonte: Wikipedia

  4. Bene praticamente spiegato nel 3. -. L'errore di clock inferiore i meno segnali necessari per approssimare l'ora esatta

  5. Sono poco indovinando qui, ma avendo posizione approssimativa può aiutare a meglio approssimare la distanza dal satellite e quindi il ritardo. (Non sono sicuro se questo è davvero usato.)

Spero che fa almeno un po 'di senso; -)

Altri suggerimenti

La mia risposta si concentrerà più sul lato NTP della tua domanda. Per il GPS, ho studiato questo documento PDF menzionato in un commento da mirabilos.

In base a tale documento, per avvio a caldo di ricevitore GPS, è necessario conoscere il tempo entro 20 anni, la posizione all'interno di 100 km, la velocità all'interno di 25 m / s ed i dati dell'almanacco al massimo poche settimane di vita. Hai ancora bisogno di scaricare i dati ephemiride da ciascun satellite, che dura da 30 secondi a 3 minuti in base al tipo ricevitore GPS.

hot start , è necessario anche i dati Ephemeride (esse sono valide per 4 ore). Sono anche disponibili tramite A-GPS (vedi sotto).

protocollo NTP utilizza una gerarchia di server che iniziano con la fonte originale di tempo - GPS, l'orologio atomico, ... Questo è chiamato strato-0 fonte. server NTP direttamente collegato a questa fonte è chiamato strato-1. Server utilizzando questo come il suo server a monte è strato-2 e così via. È necessario uno speciale hardware sintonizzati per ottenere meno di 1 ms di errore anche per stratum-1 server (a causa di CPU interrupt latenze, latenze della porta seriale, cambiamenti oscillatore temperatura).

Con HW normale sulla rete normale (non satura collegamento DSL, per esempio) è possibile ottenere circa 10 ms precisione. Per esempio NTP piscina considera abbastanza i suoi server valido e buona se hanno tempo preciso entro 100 ms. La precisione del tempo da NTP non dipende dalla posizione geografica tra l'utente e il server NTP, ma più su strato, qualità di quel server e fino a che punto il server si basa sulla topologia di rete.

telefoni Android di solito conoscono il tempo entro almeno 1 secondo accuratezza. Sia attraverso la sincronizzazione tempo periodico tramite rete GSM o connessione dati (WiFi o cellulare) è disponibile, anche tramite NTP.

Per l'applicazione menzionata FasterGPS - cambiare il server NTP al migliore non sarà aiuterà ad avere più veloce TTFF. Per questo si avrebbe bisogno di avere il tempo con precisione all'interno di nanosecondi, che non è possibile tramite NTP. Solo il chip GPS è di per sé in grado di tenere traccia del tempo con quella precisione. Ciò che aiuta su Android ad avere più veloce TTFF è:

  • Hai già buon tempo nel '20 sul vostro telefono Android
  • Avere possition approssimativa sia via WiFi o dalla rete GSM (nel raggio di pochi km sulla base di torri di trasmissione)
  • A-GPS - viene scaricato nuova copia di almanacco e effemeridi per tutti i satelliti GPS via internet, quindi non c'è bisogno di scaricarlo dai satelliti GPS (che impiega 30 secondi per effemeridi e 15 minuti per almanacco). Con A-GPS, è possibile utilizzare hot iniziare e hanno TTFF meno di 10 secondi.

Ian è proprio nel suo commento che le risposte hanno a che fare con il modo in un ricevitore GPS funziona realmente. Il ricevitore arriverà più rapidamente a una soluzione se si ha una stima più accurata della distorsione dell'orologio del ricevitore. Molti ricevitori implementare una soluzione iterativa che si basa su una stima iniziale di posizione e l'orologio polarizzazione del ricevitore. Se queste stime sono già vicino al vero valore, quindi saranno necessari meno iterazioni. Questa è solo una parte del motivo che TTFF sarà inferiore. Ci sono altri fattori importanti come bene. Se la posizione iniziale e la stima del tempo sono buone, allora il processo di ricerca per acquisire i segnali satellitari vorrà molto meno tempo perché il ricevitore può calcolare quali satelliti devono essere visibili e può anche stimare lo spostamento approssimata Doppler sperimentata da ciascuno dei segnali relativi al sistema di riferimento del ricevitore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top