Gps Velocità Media Mobile


Im sviluppare un'applicazione Android utilizzando il GPS. Id come implementare una funzione che visualizza la velocità media degli utenti sul 1515 minuti. Qualcosa come il carico della CPU su UNIX. Posso calcolare la media facilmente cumulando la distanza percorsa secondo per secondo e dividerlo per il tempo trascorso, ma non posso pensare ad un modo intelligente di calcolare la media mobile. Ovviamente posso ottenere id fatto mettendo la distanza tra l'ultima e la posizione corrente di un array ogni secondo durante l'eliminazione del valore più vecchio. Im che cerca un modo pulito di fare questo. chiesto 18 dicembre 11 alle 21:51 Sarà necessario memorizzare tutti i valori per l'intero arco di tempo, come già suggerito. Il motivo è che in qualche modo ha bisogno di dimenticare i contributi dei vecchi valori alla media mobile. Non puoi farlo esattamente se non sai che cosa questi valori in cui (vale a dire se non li memorizzano). Nel tuo caso, 1 valore ogni secondo per 15 minuti equivale a 15 60 900 punti di dati, che dovrebbero essere OK. Si noti che non è necessario eseguire una somma su l'intera matrice ogni volta che si aggiorna: È possibile calcolare il nuovo media mobile dal numero di punti di dati, il nuovo valore e il valore che si sta dimenticando in quel momento: Qui, n è il numero di punti di dati (900 nel tuo caso), xforget è il valore che si sta dimenticando e xnew è l'ultimo valore. È quindi cadere xforget dalla parte anteriore dell'array e memorizzare xnew alla fine. Invece di una serie che si potrebbe desiderare di utilizzare una coda implementata tramite una lista collegata. risposto 18 dicembre 11 alle 22:24 Ecco un modo per andare a questo proposito che è piuttosto semplice: se effettuate il campionamento posizione ogni secondo tenere 901 campioni in una coda, questo è un valore di 15 minuti (e 1 extra). La posizione 0 è la misura più recente, in modo efficace la posizione corrente. Per una velocità media negli ultimi minuti X: velocità è ora Unità di distanza al secondo, convertire in mph, o KPH o qualsiasi unità che devono. Differenti valori di X possono essere utilizzati per qualsiasi media tra 1 e 15 minuti. risposto 18 dicembre 11 alle 22:20 La vostra risposta 2017 Stack Exchange, Inci qui un dispositivo in grado di darmi le coordinate GPS. L'intervallo di tempo posso definire. Voglio usare per calcolare la velocità media durante la guida o in viaggio in auto. In realtà ho usato una formula orthodrome per calcolare la distanza tra due punti e poi diviso dal dato intervallo di tempo. Con l'attuazione Ho seguito questo termine. Purtroppo ho potuto trovare solo un link tedesco, ma penso che la formula dovrebbe essere comprensibile in tutte le lingue) Purtroppo, con questa formula e un intervallo di tempo di 1 secondo dà risultati molto impreciso. La velocità mentre si cammina è compresa tra 1 kmh e 20 kmh. Quindi mi chiedo se c'è un riferimento generale su come implementare il calcolo della distanza tra due coordinate GPS (ho trovato qualcosa di simile su SO) e particolarmente, che è il miglior intervallo di tempo per aggiornare le coordinate GPS chiesto 9 maggio 10 presso 00:27 I supponiamo che tu sei prove della camminando a velocità costante (penso 5 km orari è una normale velocità di piedi) durante la misurazione della posizione GPS una volta al secondo. La variazione che sei vedendo in velocità istantanea (la distanza tra ogni punto misurato diviso per 1 secondo) è sia a causa di variazione casuale nella posizione GPS misurata, altrimenti si arent prendendo le tue misure esattamente un secondo di distanza (o potrebbe essere entrambi questi cose). Im intenzione di assumere le vostre misure sono state prese esattamente un secondo di distanza. dispositivi GPS portatili sono molto meno accurati di quanto pubblicizzato. Mentre la sua spesso sostenuto che i dispositivi siano una precisione di 10 piedi. Della vera posizione, questo semplicemente isnt così. Il modo migliore per misurare e riferire la precisione di un dispositivo GPS è quello di lasciarlo in un luogo dove si possono vedere i satelliti e non essere piovuto, e registrare un paio di giorni di dati. È quindi possibile utilizzare Google Maps per tracciare i punti - Ive fatto questo intorno alla mia casa e in ufficio, che è un buon modo per dare un senso di scala. Ovviamente, se i dispositivi fossero perfettamente accurata, vedreste tutti i punti misurati in un punto. In alternativa, se il 10 ft. Cosa accuratezza fosse vero, si dovrebbe vedere tutti i punti in un piccolo gruppo all'interno di un cerchio del diametro di 20 ft.. Quello che si vede invece (con tutti i dispositivi GPS-enabled che abbia mai provato) è una combinazione di relativamente piccola dispersione posizionale (dell'ordine di alcune decine di piedi) che si verificano su una scala da pochi secondi, e un random walk-lungo termine della posizione media che potrebbe spostare 200 o 300 ft. nel corso di un giorno o due. Quando tracciato sopra la propria casa, per esempio, potrebbe apparire come il PDA si avvicinò alla casa vicini, poi dall'altra parte della strada, poi giù per la strada due case, di nuovo verso di te, ecc il tutto mentre jittering circa 5 o 10 piedi qui o ci piace è bevuto troppo caffè. GPS può essere più accurato di questo. Geometri usano dispositivi con molto più potente set di ricevitore (in modo da ottenere una lettura molto più accurata sui segnali satellitari), e li lasciano sul posto per giorni alla volta per misurazioni successive media. dispositivi palmari hanno chip ricevitore a basso costo e le antenne a basso costo e di avere a che fare con tutti i tipi di interferenza del segnale in ogni caso. La cosa migliore è quella di fare una media corrente per calcolare la velocità istantanea. Invece di dividere la distanza tra il punto corrente e il punto precedente di 1 secondo, prendere gli ultimi 5 distanze tra i punti e dividere per 5 secondi (o qualunque sia il numero di secondi si usa). L'importante non prendere solo la differenza tra il punto corrente e il punto 5 secondi fa e dividere questa distanza da 5, in quanto ciò perdere qualsiasi movimento non lineare. Aggiornamento: Ho notato in un commento che state usando un dispositivo Android. Fai a sapere se si è dotato di un ricevitore GPS molti (la maggior parte) dei dispositivi Android non, il che significa che il loro GPS non è la versione triangolare-on-the-satelliti del GPS, ma l'ipotesi-dove-I-am-based - on-the-segnale dal-cell-torri versione. Questo è molto meno preciso posizioni, come sono sicuro che si potrebbe dire dal snarkiness della mia descrizione. ) Ha risposto 9 maggio 10 in 01:09 Irregardless, come ho detto nella mia risposta il modo migliore per misurare una precisione device39s è lo lasciate registrare le sue coordinate GPS per un paio di giorni e poi tracciare tutti i punti. Vorrei davvero apprezzare se avete fatto queste cose con i tuoi due dispositivi e poi fatemi sapere che cosa i vostri risultati sono. ndash MusiGenesis 9 maggio 10 presso 2:15 Geometri solito prendono vantaggio dal fatto che il quotrandom walkquot hai descritto produce vettori errore molto simili per i dispositivi GPS che sono vicini l'uno all'altro, in modo che il vettore differenza tra due dei GPS è molto più preciso rispetto ai loro posizioni assolute. Una stazione base GPS in un punto noto vettore differenza produce errori nel range di 1-2 metri. ndash Rafa Dowgird 9 maggio 10 alle 12:32 i sistemi GPS può produrre velocità istantanea direttamente, senza interpolazione posizioni. Ho letto che la lettura della velocità è in realtà più accurata rispetto alla lettura della posizione. Cosa devicesystemOS stai usando Su Android, provare il metodo android. location. Location. getSpeed ​​() (insieme con hasSpeed ​​()) nell'implementazione LocationListener. la lettura della velocità può o non può essere più accurata rispetto alla lettura della posizione, ma you39re destra, si tratta di una misura diversa e non si basa semplicemente su calcoli utilizzando i measurments posizionali. ricevitori GPS utilizzano effettivamente le Doppler dei segnali satellitari per calcolare le velocità. ndash MusiGenesis 9 maggio 10 alla 11:53 ricerca su Google per SPEED la precisione del GPS, e si troveranno rapporti affermando che la velocità calcolata fuori posizione-vs-tempo è dieci volte peggio di un semplice utilizzando il parametro della velocità proveniente destra fuori dal ricevitore GPS . Il parametro di velocità non dipende precisione di posizione, ma viene calcolata dalla doppler (differenza speedfrequency) dal signals. GPS satellitari Determinazione della rotta e la velocità br Tom Clark, W3IWI primo - mi permetta di descrivere come il GPS posizione di misure ricevitore e la velocità . Le tracce che ricevitore (almeno) 4 satelliti GPS. I cicli di rilevamento DSP incorporati nel ricevitore devono agganciare due parti del segnale da ogni satellite - il codice CA 1.023 Mbs e la frequenza portante 1575,42 MHz. L'operazione di doppio DSP prevede due cicli di monitoraggio - un CLL (codice Locked Loop) per il codice di CA, e un PLL (Phase Locked Loop) monitoraggio del vettore. La CLL produce la temporizzazione del segnale GPS WRT (rispetto) ricevitori orologio interno - questo è normalmente espresso in unità di distanza chiamato un Pseudo-Range (PR) e comprende l'errore nei ricevitori orologio interno aggiunto al reale gamma geometrica del satellite. Allo stesso modo, il PLL misura il tasso fase della portante (ossia la frequenza satellitare evidente rispetto ai ricevitori oscillatore locale, generalmente derivata dallo stesso oscillatore a cristallo che viene usato come clock di temporizzazione) - Questo è chiamato il Pseudo-Range Rate (PRR) e comprende l'errore di frequenza del ricevitore lO ed il contributo dei Doppler associate a tutti i movimenti. Lo spostamento Doppler comprende la somma vettoriale dei satelliti 7 kmsec velocità orbitale più i 400 msec (all'equatore) velocità di rotazione della terra più i ricevitori movimenti (in una macchina in movimento, in ricevitori GPS primi, quattro PR da 4 satelliti è stato convertito in un 3-D (XYZ, LatLonHgt o altro) posizione più la calibrazione della distorsione di temporizzazione del ricevitore, e 4 PRRs stati convertiti in una velocità di 3-D più una misura dell'errore frequenza dell'oscillatore. ricevitori più moderne prendono tutti i dati PRPRR da tutti i satelliti N in vista per gli ultimi T secondi e alimenta i campioni 2NT PRPRR in un unico contenitore matematica nera (BB) (di solito un filtro di Kalman) per produrre una stima determinata eccessiva degli stessi parametri 8 . Quindi, in ricevitori moderni, questo BB sta usando sia la combinazione di PR passato presente e PRR da molti satelliti per migliorare la posizione, velocità Tempo (PVT) stima. dichiarazione Così Pauls sulla velocità è determinata dalla cambiamenti di posizione è sorta, parzialmente corretta , ma (quando si guardano le equazioni all'interno della BB), le frequenze Doppler apparenti misurate sono ancora più importanti. A parte 1: Parte di questa discussione ha chiesto circa le capacità di velocità dei vari ricevitori Garmin. Garmin ha avuto due tipi di ricevitore generici. Il primo, tra cui il GPS-20, GPS-38, GPS-45, GPS-45XL e l'originale GPS-II usato una CPU lenta per fare le funzioni di visualizzazione DSPBB. Il DSP ha sostenuto solo due canali di ricevitore, che sono stati in sequenza multiplexati tra i vari satelliti. Il guasto CPU cervello apparentemente non hanno abbastanza potenza per gestire una banda PRR più di quello associato alla velocità di 100 MPH, così questi ricevitori hanno un morsetto software che li rende inutili in aeroplani. I più recenti Garmin (GPS-25, GPS-48, GPS-12, GPS-12XL, GPS-II, il GPS-III ecc) che hanno molto più CPU potenza mio GPS-III utilizza un i386ex. Di conseguenza, Garmin è stata in grado di gestire fino a 12 satelliti contemporaneamente in DSP, il BB in grado di gestire velocità di linea, e il GPS-III supporta anche la mappatura ordinata masse highwaysland. Ora tornando al tutorial - permette di rispondere alla domanda di errore speedvelocity. Gli errori si ottiene in speedvelocity derivano da diverse fonti. Le due principali sono la precisione intrinseca del sistema GPS (il ricevitore più i satelliti GPS), e il rumore aggiunto dal Dods aggravamento chiamati Selective Availability (SA). Per guardare il primo di questi, permette di girare SA off e assumere che i satelliti GPS sono perfette. La lunghezza d'onda portante del segnale GPS è di 20 cm in modo con un SNR modesto, il PLL nel ricevitore può vedere (misura), la fase della portante di circa 1 cm (120 ° di un ciclo o 20 gradi di fase elettrica). Per semplicità, supponiamo che si misura per 1 secondo, così posso vedere 1 cmsec della velocità per un dato satellitare. Dal momento che noi non normalmente pensare in queste unità, 1 cmsec 36 metershour 0.023 mileshour. Per fattore nella geometria e il fatto che noi vediamo più satelliti, moltiplichiamo questo HDOP (per la velocità orizzontale) o VDOP (per la velocità) poiché HDOP è raramente 3, ciò significa che l'errore di velocità del sistema è raramente 0,07 mileshour. E si noti che il fatto che ci affidiamo alla velocità di fase della portante per determinare la velocità, stiamo misurando la frequenza portante relativa banda L (offset cioè Doppler) a 120 ° di un Hertz Vediamo ora SA. In sostanza, il DoD degrada le prestazioni delle orbitanti orologi atomici sui satelliti GPS mettendo programmabile linea barella nell'output del (10,23 MHz) orologio, e manipolati l'orologio con una magia sequenza pseudo-casuale che solo sanno . Le nostre misurazioni dilettanti hanno dimostrato che si masturbano la barella linea su un ampio spettro di scale temporali, che vanno da pochi secondi a 12 ore, ma che la media a lungo termine è zero. Su scale temporali più lunghi, le variazioni riguardano la temporizzazione dei segnali di clock che il GPS trasmette (come il codice 1.023 Mbs CA) così le nostre misure di PR sono rumorosi e vediamo la nostra posizione vagare apparente. Il Dipartimento della Difesa ha garantito che gli errori di posizione a causa di SA non superare i 100 metri (3-sigma, orizzontale) per la gamma di variazioni aggiungono, se visto con un numero ragionevole di satelliti (come con HDOP Questa pagina è stata modificata

Comments