Fråga:
Varför hittar smartphone GPS sin position mycket snabbare än en GPS-modul?
Anthropomorphous Dodecahedron
2017-08-06 19:40:47 UTC
view on stackexchange narkive permalink

När jag använder arduino GPS-modulen tar det vanligtvis några minuter innan den börjar skicka data.Och det verkar som att det vanligtvis är fallet med alla GPS-moduler eftersom de behöver "lyssna" på satelliterna under en tid.Men när jag använder mina telefons interna GPS hittar den sin position på några sekunder.Varför är det?

Svar med ett ord: "A-GPS"
Det är inte ett ord - det är en fyra ords akronym!
@Transistor Tja, om du vill bli pedantisk är A-GPS inte en akronym, utan en initialism.;)
@DavidCAdams: Du har rätt!Jag slog upp dem båda.Jag hade aldrig insett att en akronym uttalas (eller borde åtminstone, antar jag, vara uttalbar) som ett ord.De saker jag har lärt mig på EE.SE!
@DavidCAdams Och under alla dessa år har jag gått NASA-vägen för att uttala A-GPS som "aggps", och nu säger du att jag inte kan göra det längre?De saker du lär dig på EE.SE!
@MichaelKjörling Jag också, tills jag började få roliga utseende på möten;)
Utöver vad som nämns nedan - går båda körningarna från en stående start ... dvs från uppstart (efter att ha varit avstängd i 5 minuter) till a) första fix b) 10m fix? Jag tycker att min gamla Garmin Gecko gör båda snabbare än min Samsung Galaxy.
Sex svar:
Jack B
2017-08-06 20:21:59 UTC
view on stackexchange narkive permalink

Det finns flera saker som påverkar tiden att först fixa (TTFX) .

  1. Skaffa almanack och efemeris. Dessa två saker skiljer sig tekniskt sett lite från varandra, men för våra ändamål behandlar vi dem som samma. De är platserna för satelliterna, och du behöver veta var de är för att kunna räkna ut din egen position. Varje satellit sänder hela partiet ungefär var 12: e minut. Så från en helt kall start med en enkanalsmottagare och en anständig signal kommer TTFX att vara minst 12 minuter. Du kan påskynda saker genom att:

    • Nedladdning från internet istället - i allmänhet ett bra val för telefoner. Nedladdning av almanack och efemreris på detta sätt kallas MSB Assisted GPS.
    • Att komma ihåg almanaken från förra gången (den är bra i många veckor) och bara ladda ner efemeren.
    • Att ha mer än en mottagningskanal i enheten så att du kan lyssna på mer än en satellit samtidigt. Sändningarna är förskjutna för att detta ska fungera, och med viss försiktighet kan du använda efemeren utan en almanack som sparar mycket tid. De allra flesta moduler på marknaden idag har flera kanaler, så det skulle vara sällsynt att hitta en som fortfarande behöver 12 minuter.
  2. Identifiera satelliter. Du måste lyssna på minst tre satelliter, helst fler, för att få en bra fix, men varje mottagare (känd som korrelatorer) kan bara ställas in på en i taget. Om du vet ungefär var du är, vilken tid det är och redan har en almanack, kan du gissa vilka satelliter du kan se. Telefoner tenderar att veta ungefär var de är från att känna igen wifi- eller Bluetooth-signaler, att veta vilket celltorn de använder och andra källor. De får regelbundet mycket exakta tidsuppdateringar också, så de kan vanligtvis gå direkt till rätt satellit. Både telefoner och större moduler kommer också ihåg när och var de senast användes, och använder det för att börja från.

  3. Antal korrelatorer. På grund av GPS-signalernas mycket låga signal-till-brus behöver du en speciell bit hårdvara för att ta emot dem. Vissa mottagare har bara en och behöver rotera runt satelliterna. Andra har mer och kan lyssna på mer på en gång. Så även om du redan har almanak / efemerer och vet ungefär var du är, kommer fler korrelatorer fortfarande att hjälpa dig att fixa snabbare. Du kanske tror att mer alltid är bättre, men mer ökar kostnaden och energiförbrukningen. Vissa telefoner och moduler har mer än andra.

  4. Signal och antenner. Korrelatorerna kommer att göra sitt jobb snabbare om du har ett bra signal-brus som går in i dem. Mycket dåliga signaler kanske inte fungerar alls. En bra antenndesign, förstärkare, himmelvy och bra PCB-layout kan göra hela skillnaden. Vissa moduler kan fungera OK ur lådan och mycket bättre med en antenn inkopplad.

  5. Antal användbara satelliter. Det finns faktiskt två stora konstellationer av satelliter där uppe, GPS (drivs av USA) och GLONASS (drivs av Ryssland). Det finns också fler under uppbyggnad: Galileo (EU) och BeiDou-2 (Kina) och vissa med lokal täckning som Indiens NAVIC eller BeiDou-1. En mottagare som kan arbeta med satelliter från mer än en konstellation har fler satelliter att välja mellan och kommer att få en snabbare och mer exakt fix.

  6. Korrelatorernas kvalitet. Nya hårdvarudesigner är bättre än gamla och kommer att kunna plocka ut fragment av GPS-meddelandet i en bullrig signal bättre. Ett annat trick telefoner kan göra är att fånga fragment av signaler och skicka dem över internet till en server med en mycket bra mjukvarukorrelator, och komplettera almanack / efemera att undersöka. Detta kallas MSA Assisted GPS.

  7. Vissa telefoner (och till och med några moduler) kan också använda några lite luriga knep för att undvika eller dölja en lång TTFX.Eftersom de är på hela tiden kan de slå på GPS kort utan att berätta för användaren för att hålla platsen och kortvariga ungefär uppdaterade.Andra kan visa en ny position medan de fortfarande väntar på en riktig fix - vilket ser ut som en bra TTFX för det mesta, men ser dåligt ut om det visar sig att positionen är mycket fel.

Punkt 1 ovan är det som gör mest skillnad, och är vanligtvis det viktigaste som skiljer sig mellan basmoduler, mer avancerade moduler och telefoner.De andra gör vanligtvis en mindre skillnad, men det kan faktiskt bli en mycket komplicerad sak.Om du vill läsa mer är "GPS-tid till första fix" den term du vill söka efter.

På punkt 2: Förutom WiFi kan telefonen också få en ungefärlig plats baserat på den eller de mobila basstationerna den är i kontakt med.
En enhet kan också "cacha" de senast kända positionsdata, använda den omedelbart och justera den när riktiga data kommer in. Min mobiltelefon gör det med sin GPS.
Förutom mobilnätverket har ett antal leverantörer (inklusive Google) byggt upp databaser över de fysiska platserna för WiFi-åtkomstpunkter, vilket gör att de kan hitta en enhets plats överraskande noggrant.Min billiga Android-surfplatta har varken GPS eller mobilåtkomst, men Google Maps verkar alltid veta exakt var jag är, så länge jag är ansluten till en WAP.Jag misstänker att de får platserna för WAP: erna genom en invers process - härleds från platserna för anslutna telefoner och andra enheter som har GPS.
@rdtsc: Sportsklockor med GNSS verkar göra det också.
@rdtsc: Arduino-modulen gör förmodligen samma sak (förutsatt att den har en reservkraftkälla - supercap eller batteri), så det förklarar inte skillnaden.
Moderna mobiltelefoner har också en tendens att köra GPS hela tiden med ett långsamt uppdateringsintervall, och när appar börjar begära plats ökar den frekvensen - vilket ger en snabbare start utan att det faktiskt är en snabb start.
Många telefoner har idag till och med en barometer för att påskynda den tiden det tar att få en platsfix.http://www.popsci.com/gadgets/article/2011-10/so-um-why-does-new-google-phone-have-barometer-it Något om att känna till din höjd möjliggör en mer exakt fix med färresatelliter.
@Brad: Ja, det är en del av "vet ungefär var du är" från Jacks punkt 2.GPS lokaliserar dig i princip i 4D-rymdtid;telefonen känner i allmänhet till tiden ganska exakt (från mobilnätet och / eller NTP via Internet) och den kan uppskatta sin position 2D-position (med triangulering av celltorn, närliggande nätverk etc.).En barometer skulle ge den saknade 4: e dimensionen.
@DaveTweed: enligt uppgift, Google börjar till och med bygga Bluetooth-databaser nu.Det är verkligen meningsfullt: t.ex.min Bluetooth-anslutning till mitt stereoanläggning har ett användbart räckvidd på cirka 10 meter, det kan antagligen upptäckas i ytterligare 10 meter.Det ger en mycket högre upplösning än WiFi.Tricket är då att filtrera bort de verkligt stillastående ... men "filtrera ut" är i grunden Googles kärnkompetens hur som helst.
Ditt påstående att minsta TTFF utan föregående information är 12 minuter är fel.Det är i bästa fall 35 sekunder, i värsta fall 1 minut och 10 sekunder, förutsatt god signal.Det minsta databehovet för en fix sänds var 35: e sekund.
@fluffy Jag har aldrig känt att barometer kan användas för att hjälpa till med GPS-fix.Jag har alltid använt den för väderprognoser eller ibland för att få höjden
@ ゼ ー ロ Varje bild är 35 sekunder, men den fullständiga almanaken är uppdelad på 25 bilder och tar 12-13 minuter att sända.Det är sant att du kan få en fix från efemerdata utan almanaken, men du behöver almanaken för 1) mycket gammal hårdvara, 2) korrekt korrigering från GPS-tid till UTC och 3) jonosfärisk fördröjningskorrigering på viss hårdvara.
@ ゼ ー ロ Dessutom tror jag att alternativet 35 sekunder från kallt behöver en kanal per satellit, eftersom du behöver flykt för varje och det tar 35 sekunder att få ett fullständigt navigeringsmeddelande.Och jag sa uttryckligen en enkanalsmottagare.
@alphabetter, rdtsc, & fluffy, Bra poäng alla, jag har redigerat dem till svaret om den nu ganska långa kommentartråden någonsin försvinner.
@JörgWMittag Att veta tid "ganska exakt" är inte tillräckligt bra.Om du är borta med ett millisekund är det lika bra som att vara borta med 300 km (eller mer)
@JackB Kontrollera datablad för vissa GPS-mottagare.De flesta kan spåra flera kanaler samtidigt (dvs. flera satelliter) och ange sin minsta TTFF från kyla i 35 sekunder eftersom det är allt de behöver för att fastställa position.Tro mig, jag har byggt flera produkter med GPS-mottagare och ingen permanent reservkraft, och det tar inget sätt att ta 12 minuter för att få den första lösningen.Faktum är att vår testspecifikation säger att längre än 3 minuter är ett misslyckande.
@ ゼ ー ロ Ummm.Jag var väldigt tydlig att 12 minuter var för en enkanalsmottagare.Jag sa också att flerkanalsmottagare är snabbare.De flesta moderna mottagare är flerkanaliga, men jag har verkligen några äldre enkanalskanaler - och de tar hela 12 minuter.Och om du har en enda kanal och vill ha korrigering av jonosfärisk fördröjning, finns det inget sätt att få det snabbare än att full almanack kan erhållas.Det faktum att du använder flerkanaliga moduler och behöver en 3-minuters TTFX betyder inte att den andra typen inte finns.Men jag kommer att uppdatera svaret för att säga att den gamla typen är sällsynt.
Dessutom: smartphones använder numera vanligtvis inte bara GPS utan GLONASS också, vilket också kan hjälpa eftersom det finns fler satelliter att hämta data från
@SztupY Bra poäng, jag kommer också att redigera det.
@alphabetter Är inte detta en integrerad del av 3G, att varje basstation kommer att sända sin egen position för just detta syfte, eller får jag felinformation?
@fluffy Jag stänger ofta av min GPS (all platsinformation) manuellt och kan inte säga att det gör stor skillnad för TTFF.Men det är möjligt att jag använder det tillräckligt ofta för att det alltid har en uppdaterad efemeris och / eller en datasignal
@JackB Enhörda handhållna Garmins var flerkanaliga år sedan (min gamla etrex stöder 12).Detta hjälpte mycket om efemeren måste laddas ner, till synes mycket mindre, om den inte hade använts på flera månader och behövde almanaken
Om punkt 2: Om jag inte tar fel krävs minst * fyra * satelliter för att lösa platsekvationen, eftersom tiden också är en okänd variabel.Mycket bra sammanfattning annars!
alex.forencich
2017-08-06 19:54:12 UTC
view on stackexchange narkive permalink

Mobiloperativsystemet laddar ner GPS-almanackdata (satellitflykt och statusinformation) över internet via mobilnätet och laddar det i GPS-modulen mycket snabbare än vad som krävs för att ladda ner det från GPS-satelliterna direkt på50 bps (ja, det är 50 bitar per sekund, GPS är ganska gammal teknik optimerad för drift vid mycket låg SNR), vilket påskyndar tiden för första fixningen.Detta kallas Assisted GPS.Det har sannolikt också en mycket exakt inledande tidsreferens från cellmodemet (celltornen är vanligtvis tidssynkroniserade via GPS) samt möjligen en grov platsuppskattning från cellmodemet.Allt detta kombinerat minskar drastiskt mängden sökning som mottagaren måste göra - den vet vilka satelliter den ska kunna se, så den letar bara efter dem och den behöver inte vänta tills satelliterna sänderhela meddelandet.

Så det tar i princip ut "synkronisering" ur processen.GPS-modulen söker efter satelliten med hjälp av data som skickas via satelliten, eller hur?
Det tar inte bort det från processen, det accelererar det genom att ge GPS-mottagaren en bra uppskattning att börja med.
De 50 bps är inte bara för att GPS är gammal.Det är en integrerad del av hur GPS-mottagare kan upptäcka den extremt svaga signalen och hur alla GPS-satelliter kan sända på en enda frekvens men ändå tas emot oberoende.Massor av komplicerade saker pågår i en GPS-mottagare.
Det beror också på att GPS vid tidpunkten för planeringen antogs vara så hemlig att signalen inte fick synas.Överför för mycket data och det är mycket svårare att gömma sig i buller.
@TomTom: Nej, sekretessen för GPS uppnåddes aldrig av dunkelhet.Du kanske tänker på Selective Availability (SA), men det var ett avsiktligt positioneringsfel.
@TomTom: GPS-spridningen var inte avsedd att dölja signalerna.Det har den effekten för enkla RF-mottagare, men det var inte poängen.Spridningsspektrumstekniken ger dig två saker: drift med extremt låga signal / brusförhållanden och en viss immunitet mot störningar.Ganska mycket alla och hans bror vet (och visste långt tillbaka när) vilken frekvens GPS använder.Ingen mening med att dölja det som redan är känt.Att inte (lätt) fastna var dock ett stort plus.Det finns GPS-störningar (nu) men då var det mycket svårare att göra.
Spridningsspektrumstekniken möjliggör också CDMA - alla satelliter sänder på samma frekvens, men med olika koder.Koderna från de enskilda satelliterna separeras sedan med korrelatorer.
Jörg W Mittag
2017-08-07 10:05:33 UTC
view on stackexchange narkive permalink

De andra svaren har redan förklarat "hur" och "varför", så allt som finns kvar för mig är "vad": det heter A-GPS (assisterad GPS, iblandkallas även accelererad eller förstärkt GPS).

Med andra ord: anledningen till att en telefons GPS fungerar snabbare än en "GPSs GPS" är att telefonen inte använder "GPS", den använder aGPS.

David Richerby
2017-08-06 22:10:51 UTC
view on stackexchange narkive permalink

En del av svaret här är att mobiltelefonens GPS inte bara är GPS.Cell använder också annan information för geolokalisering, såsom triangulering av mobiltelefontorn och synligheten av wifi-nätverk.Till exempel har den icke-cellulära versionen av iPad Air inte egentlig GPS men vet fortfarande var du befinner dig i bebyggda områden med hjälp av dessa tekniker.

Frågan handlade specifikt om hur GPS fungerar.Mobiltelefoner kan inte triangulera från mobiltelefontorn eftersom det inte finns någon platsinformation tillgänglig från dem.
@Transistor Frågan jämför fristående GPS med mobiltelefon GPS och frågetiteln frågar specifikt hur mobiltelefoner gör GPS snabbare än fristående GPS-enheter.Och Wikipedia säger att [mobiltelefoner _do_ använder torn triangulering] (https://en.wikipedia.org/wiki/Mobile_phone_tracking#Handset- based) för att bestämma plats.Jag är inte säker på varför du säger att det inte finns någon platsinformation tillgänglig: visst, tornet meddelar inte sin plats men vägar meddelar inte heller deras plats: din telefon har en karta lagrad i en databas.
@Transistor: mobiltelefonen utför inte trianguleringen.Nätverksleverantören gör det.
@JörgWMittag: Beror på nätverket AFAICT.Moderna nätverk tillhandahåller lokaliseringstjänster som en del av Enhanced 911 / E112.
@DavidRicherby: Tack för länken.Jag läste igenom den två gånger men allt jag kan se är att telefonens plats är känd för * nätverket * - inte för telefonen.Vad har jag missat?
@Transistor Den första meningen säger att det kan göras med programvara i telefonen.Men då talar det om att programvaran kontinuerligt skickar data till operatören så jag är inte längre säker på exakt vad den pratar om.[Jörgs svar] (https://electronics.stackexchange.com/a/322679/46719) verkar säga vad jag försökte säga, men med rätt terminologi
Jag läste upp det också.Återigen, det är på nätverkssidan.Jag har ingen expertis på detta - bara nyfiken.Självklart måste nätverken övervaka relativa signalstyrkor för att optimera växlingen från ett torn till ett annat men det kräver inte specifikt platskunskap.Jag kan förstå att räddningstjänster kan använda platskunskap när den har lagts till.Den saknade biten kan vara att den här informationen är tillgänglig för andra markbaserade informationsservrar som via WiFi eller GSM-data kan överföra den till telefonen.
BowlOfRed
2017-08-09 12:31:33 UTC
view on stackexchange narkive permalink

Ville bara lägga lite mer detaljer i vad som händer när de äldre mottagarna väntar på data. Med andra ord, varför är den almanaken (och den ihågkomna positionen) så användbar?

GPS-signalerna är mycket svaga. Med tanke på avståndet är signalen långt under bullergolvet när den når jorden. Du skulle aldrig upptäcka satelliten direkt om du bara tittade på en scansökning med rätt frekvens.

Hur mottagaren får information är att jämföra den inkommande signalen med ett specifikt mönster (via en FFT-korrelation). Om det korrekta mönstret används, så korrelerar korrelationen och data kan ses.

För att en enkel, gammal mottagare ska komma till den här punkten krävs två saker från enhetens korrelator: frekvensen för meddelandet från satelliten och meddelandets fas (raderar mönstren). Om något av dessa är felaktigt är korrelationen misslyckad och ingenting upptäcks. Satelliternas rörelser innebär att den mottagna signalen utsätts för relativt stora Doppler-skift.

Med en almanack på plats och en god uppfattning om den aktuella platsen och tiden kan mottagaren uppskatta de relativa rörelserna för satellit och mottagare för att ta bort större delen av Doppler-förskjutningen och komma något nära frekvensen. Det betyder att korrelatorn vanligtvis kan komma med en träff bara genom att prova olika faser för signalmönstret. Denna fas-rymdsökning kan göras på några sekunder.

Om almanaken saknas, eller om det inte finns någon uppskattning av aktuell plats och tid, måste systemet prova olika faser och olika frekvenser för att få data från varje satellit. Nu när vi måste söka i två olika dimensioner kan det ta några minuter för till och med ett flerkanalssystem att "hitta" tre satelliter med brute force.

Moderna chipset kan använda sig av ytterligare signaler och massor av parallella komparatorer för att påskynda sökningen, även utan att A-GPS är närvarande.Jag misstänker att chipset du får på en Arduino-sköld förmodligen är äldre / billigare och inte kommer att använda dessa nyare funktioner.

Adam Davis
2017-08-08 20:41:13 UTC
view on stackexchange narkive permalink

I USA krävde FCC mobiltelefonoperatörer att kunna identifiera en uppringares plats när de ringer räddningstjänster inom 300 meter inom 6 minuter från det första telefonsamtalet senast den 11 september 2012.

Detta fasades in gradvis under de föregående åren, och kravet har skärpts i både avstånd och tid till platsrapport under de senare åren.

Mobiltelefonföretagen kunde inte garantera detta i avlägsna områden där endast ett eller två mobiltorn var i kontakt med mobiltelefonen eller i stadsmiljöer där reflektioner och byggnadstäthet förhindrade plats även när telefonen hade flera torn den kunde motta. GPS-chips kunde inte tillhandahålla detta inom den tidsram som krävs med tillräckligt låg effekt för att mobiltelefonen fortfarande skulle vara kommersiellt livskraftig (vid den tidpunkt då kravet infördes. Chipsets är nu mycket mer effektiva och snabbare, delvis på grund av kravet att varje telefon innehåller en del eller hela GPS-chipset). GPS-chipsets var dessutom mycket dyra i förhållande till de andra telefonkomponenterna.

Så de skapade några olika konkurrerande system som alla faller under monikern "AGPS" för Assisted GPS.

Tekniken som går bakom dessa olika AGPS-system skiljer sig åt, ibland mycket.

De billigaste cellulära AGPS-systemen spelar in flera millisekunder av GPS RF-signalen, skickar den till AGPS-servern som sedan, med kännedom om telefonens ungefärliga plats, kan använda GPS-kodavsnittet för att bestämma en mycket mer exakt position. Dessa telefoner kan inte få GPS-koordinater utan en bra mobilanslutning.

Vissa har fullständiga GPS-chipsets, men låter telefonen förse dem med almanack och efemeris - två bitar av information som gör det möjligt för chipset att få en fix inom några sekunder - varefter den använder sina normala metoder för att producera positionsresultat. Med tiden kan dessa telefoner få position oberoende av deras nätverk.

De flesta GPS-kretsuppsättningar låter dig ladda information om efemerer och almanack i dem, så om din arduino-enhet har en internetanslutning och du har tillgång till en AGPS-server kan du påskynda din GPS-fix på liknande sätt.Men för de flesta projekt kan du helt enkelt lägga till ett litiummyntcellsbatteri på höger stift på GPS-mottagaren för att hålla den sista uppdateringen av almanack och efemeris, och eftersom förändringarna är små över korta tidsperioder påskyndar detta kraftigt den första fixen eftersomså länge enheten inte har flyttat tusentals mil och slås på med några dagars mellanrum.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...