GPS Signal und Interpolation

Fragen zu GPS-Empfängern und alles was damit zu tun hat.

Moderator: Roland

Antworten
Aleks

GPS Signal und Interpolation

Beitrag von Aleks » 02.04.2007 - 11:22

Tach die Damen und Herren,

nach nun vielem hin und her habe ich mich dazu entschlossen euch mal um ein wenig Hilfe zu fragen.

Zuallerst möchte ich mein Problem ein wenig beschreiben.
Ich programmiere derzeit einen Mikrocontroller mit welchem ich GPS Daten von einem GPS Empfänger (SIRF III) empfange und auswerte.
Ziel des Ganzen ist eine relativ genaue Position zu erhalten und die damit resultierenden Abweichungen abzufangen und zu korrigieren.

Erstes Teilproblem ist dass wenn die GPS Maus faul herumliegt, das Signal auf meiner Anzeige wild herumspringt. Damit kommt das Thema Interpolation auf. Hat da jemand von euch einen guten Tip welche Methode da die Beste ist?

Nächstes Teilproblem ist dass die GPS Maus sowohl Daten rausballert als auch Daten aufnehmen kann. Prima Sache... Ich mich gleich mal auf die Suche gemacht und diverse Codes gefunden mit welchen ich das WAAS/EGNOS aktivieren kann. *thumbs up* Nur wie erkenn ich das an den NMEA-Codes?

Im Moment quäle ich mich mit der Genauigkeit und relativen Abweichung herum und wäre für jeden Tip äußerst dankbar.

@Roland: Danke für die eMail. Es war wirklich der letzte Punkt bei der Anmeldung. Wer lesen kann is klar im Vorteil :D

Greetz
Aleks

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 02.04.2007 - 18:50

Hallo Aleks,

damit Schwung reinkommt:

Im NMEA-Datensatz $GPGGA gibt es eine Stelle, die den DGPS-Empfang anzeigt
GGA - essential fix data which provide 3D location and accuracy data.

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Where:
GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
1 Fix quality: 0 = invalid
1 = GPS fix (SPS)
2 = DGPS fix
3 = PPS fix
4 = Real Time Kinematic
5 = Float RTK
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode
8 = Simulation mode
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Meters, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84
ellipsoid
(empty field) time in seconds since last DGPS update
(empty field) DGPS station ID number
*47 the checksum data, always begins with *
Bei den Filter-Algorithmen halte ich mich vorerst bedeckt. Eine Idee, die mir kommt: vergleich mal mit einem Online-GPS-Monitor, z.B. dem von JMZ (Sorry, der scheint hier etwas geeigneter als Michaels)
http://martina.tlab.ch/gps/actual.php?sensorId=1

Grüße Roland

Benutzeravatar
Jörn Weber
Beiträge: 789
Registriert: 03.02.2007 - 16:11
Wohnort: Jena

Re: GPS Signal und Interpolation

Beitrag von Jörn Weber » 02.04.2007 - 20:34

Hallo Aleks,
Aleks hat geschrieben:Tach die Damen und Herren,

nach nun vielem hin und her habe ich mich dazu entschlossen euch mal um ein wenig Hilfe zu fragen.
Dann solltest Du vielleicht den Zweck deines Geräte schreiben, damit man dir gezielter helfen kann.
Zuallerst möchte ich mein Problem ein wenig beschreiben.
Ich programmiere derzeit einen Mikrocontroller mit welchem ich GPS Daten von einem GPS Empfänger (SIRF III) empfange und auswerte.
Ziel des Ganzen ist eine relativ genaue Position zu erhalten und die damit resultierenden Abweichungen abzufangen und zu korrigieren.
Ok. Zu welchem Zweck und mit welcher Genauigkeit benötigst Du die Position?
Erstes Teilproblem ist dass wenn die GPS Maus faul herumliegt, das Signal auf meiner Anzeige wild herumspringt. Damit kommt das Thema Interpolation auf. Hat da jemand von euch einen guten Tip welche Methode da die Beste ist?
Das Problem ist relativ einfach zu lösen. Schalte mit SiRFDemo den Static Navigation Mode des SiRF Chipsatz ein. Dann hüpft die die Position im Stand nicht mehr, weil der Chipsatz dann nur noch Positions-Daten herausläst, wenn sich die Maus entsprechend der Doppler-Messung auch tatsächlich bewegt. Das Springen der Position kannst Du nicht mit einem mathematischen Mittelwert-Verfahren anhand der NMEA-Daten herrausrechnen, weil dir dazu die Echtzeitdaten für die Phase des Trägersignales usw. fehlen. Einzig via SiRF-Binary-Protokoll könntest du diese Daten aus dem Chipsatz ziehen, um sie dann anhand von Korrekturdaten im Nachhinein mit mathematischen Filtern, z.B. ein modifizierter Kalman-Filter, zu korrigieren. Aber auch hierfür benötigst du dann historische Korrekturdaten (RINEX-Daten). Allerdings habe ich selber mit der Offline-Lösung noch keine Erfahrungen.

http://www.ngs.noaa.gov/CORS/Rinex2.html
Nächstes Teilproblem ist dass die GPS Maus sowohl Daten rausballert als auch Daten aufnehmen kann. Prima Sache... Ich mich gleich mal auf die Suche gemacht und diverse Codes gefunden mit welchen ich das WAAS/EGNOS aktivieren kann. *thumbs up* Nur wie erkenn ich das an den NMEA-Codes?
Zur Fix-Quality hat dir Roland schon etwas geschrieben.
Im Moment quäle ich mich mit der Genauigkeit und relativen Abweichung herum und wäre für jeden Tip äußerst dankbar.
Du benötigst DGPS-Daten um die Störfaktoren des GPS-Empfangs durch die den SIRF3-Chipsatz eleminieren zu lassen. Die DGPS-Daten enthalten Informationen zu den exakten Bahndaten der Satelliten und zu den durch die Ionosphäre veruraschten Abweichungen. Mit diesen DGPS-Daten ist dann der Chipsatz in der Lage die Position in Echtzeit mittels diverser Filter zu korrigieren. Diese Daten kannst Du entweder per EGNOS von den SBAS-Satelliten direkt empfangen oder separt, ggf. auch über einen zweiten UART, in den Chipsatz via RTCM-Protokoll einspeisen. Kernproblem ist hierbei die Beschaffung der Korrekturdaten via Internet. Dazu gibt es das NTrip (Networked Transport of RTCM via Internet Protocol) Protokoll. Leider ist mir keinen ordentliche kostenfrei Quelle bekannt. Die Landesvermessungsämter wollen für die Nutzung dieser, auch als SAPOS-Dienst bezeichnetet, Daten Geld haben.

http://igs.ifag.de/index_ntrip.htm

Ich habe am letzten Wochenende mit dieser Lösung auf Basis von Garmin-Empfänger gespielt.

http://www.wsrcc.com/wolfgang/gps/dgps-ip.html

Ein weiteres Problem ist die termische Stabilität der internen Zeitbasis des Chipsatzes. Diese darf wärend eines Messzyklusses nicht schwanken. Darüber habe ich mir allerdings noch keine Gedanken gemacht.

Wenn Du mit zwei GPS-Empfängern hochgenaue Streckenmessungen durchführen willst, musst du Dir noch zusätzlich Gedanken darüber machen wie du die Zeitbasis und die Phase der Satellitensignale in Echtzeit synchronisieren willst. Prinzipell kann man mit einer Streckenmessung via GPS von zwei exakt beakannten trigiometrischen Punkten aus eine Position genauer bestimmen, als direkt mit dem GPS selber.

Gruss Joern Weber

Aleks

Beitrag von Aleks » 03.04.2007 - 14:10

@Roland: Die GPS Signal Quality hab ich auch gefunden, nur bleibt die immer 1. :(

@Jörn: Aaaaalso... Es geht darum das ich ein Objekt habe welches umherfährt. Wenn ich dann mein System aktivieren soll der Mikrocontroller die derzeitige Position festhalten und alle weiteren Abweichungen abfangen und das Objekt wieder an seinen ursprünglichen Ort zurückbringen.

So ähnlich wie ein Gyrostabilisator beim Hubschraubääär. ;)

SiRFDemo hab ich mir schon gezogen nur kann ich da leider nichtmal ins SiRF Protocol wechseln weil der mir dann die Baudrate auf 57600 hochzieht, mein Microcontroller auf 4800 läuft.

DGPS ist mir auch schon mehreremale ins Auge gesprungen aber ich hab leider keinen weiteren UART mehr frei.

Jetzt hab ich im Internet gefunden das ich der Maus ja auch was sagen kann. Nur leider reagiert das Ding nicht...
Muss ich den Befehl jede Sekunde an die Maus senden oder nur einmal?

Ich stehe hier echt wie der Ochs vor'm Berg :(
Desweiteren kommt mir der Anschein das meine Maus nur auf halbe Kraft läuft. NARF!!!

Greetz
Aleks

Benutzeravatar
Jörn Weber
Beiträge: 789
Registriert: 03.02.2007 - 16:11
Wohnort: Jena

Beitrag von Jörn Weber » 03.04.2007 - 21:18

Hallo Aleks,
@Jörn: Aaaaalso... Es geht darum das ich ein Objekt habe welches umherfährt. Wenn ich dann mein System aktivieren soll der Mikrocontroller die derzeitige Position festhalten und alle weiteren Abweichungen abfangen und das Objekt wieder an seinen ursprünglichen Ort zurückbringen.

So ähnlich wie ein Gyrostabilisator beim Hubschraubääär. ;)
Nicht so ähnlich sondern genau so. <duck>Koppele doch Gyro und SiRF-Chipsatz. </duck>
SiRFDemo hab ich mir schon gezogen nur kann ich da leider nichtmal ins SiRF Protocol wechseln weil der mir dann die Baudrate auf 57600 hochzieht, mein Microcontroller auf 4800 läuft.
Es sollte ausreichen den SiRF-Chipsatz einmalig über einen provisorischen Konfigurationsausgang und serieller PC-Schnittstelle mit SiRFDemo umzustellen. Willst Du ein professionelles gerät bauen, benötigst Du eine eigene interne Firmware für den SiRF3-Chipsatz.
Jetzt hab ich im Internet gefunden das ich der Maus ja auch was sagen kann. Nur leider reagiert das Ding nicht...
Muss ich den Befehl jede Sekunde an die Maus senden oder nur einmal?
Der SiRF3-Chipsatz mit interner Standard-Firmware lässt sich via NMEA-Protokoll nicht viel sagen. Garmins-Phasetrack12 sind da gefügiger.
Selbst mit SiRF-Binary Protokoll und interner Standard-Firmware lassen sich nicht alle Optionen des SiRF3 aktivieren. So interessieren scheinbar dem Sirf3 mit Standard-Firmware die an Ihn gesendeten RTCM-Befehle selbst dann nicht im geringsten, wenn man die Datenquelle für DGPS mit SiRFDemo von SBAS auf eine externe Quelle umgeschaltet hat. Es scheinen in der Standard-Firmware keine Verarbeitungsroutinen dafür enthalten zu sein.
Ich stehe hier echt wie der Ochs vor'm Berg :(
Desweiteren kommt mir der Anschein das meine Maus nur auf halbe Kraft läuft. NARF!!!
Korrekt. Der Preis eines GPS-Gerätes ergibt kaum aus der Hardware, sondern vielmehr aus dem Know How in Form von Software drum herrum.

Gruss Joern Weber

Aleks

Beitrag von Aleks » 11.04.2007 - 08:57

Servus Jörn,
Koppele doch Gyro und SiRF-Chipsatz.
Klingt nach einer feinen Sache nur leider ist mein Objekt ein Schiff. Und bei starkem Wellengang wird da wohl der Gyro durchdrehen ^^

Prinzipiell aber ne Spitzenidee um leichte Abweichungen aufzunehmen und dadurch gleich die Position zu korrigieren. ;)

Na ja... zurück zum Thema
Es sollte ausreichen den SiRF-Chipsatz einmalig über einen provisorischen Konfigurationsausgang und serieller PC-Schnittstelle mit SiRFDemo umzustellen.
Das habe ich letzte Woche hinbekommen nur leider hat die Maus dann angefangen wilde binäre Daten auszugeben. Mit Mühe und Not konnte ich das wieder auf NMEA umstellen.

Sag mir jetzt bitte nicht das SiRF besser ist als NMEA.
*auf das 120 seiten ebook über SiRF schiel* :(

Greetz
Aleks

Benutzeravatar
Jörn Weber
Beiträge: 789
Registriert: 03.02.2007 - 16:11
Wohnort: Jena

Beitrag von Jörn Weber » 11.04.2007 - 19:59

Aleks hat geschrieben:Servus Jörn,
Koppele doch Gyro und SiRF-Chipsatz.
Klingt nach einer feinen Sache nur leider ist mein Objekt ein Schiff. Und bei starkem Wellengang wird da wohl der Gyro durchdrehen ^^
Nein, wenn du ihn kardanisch aufhänst bleibt er lagestabil. Es ist das Prinzip des Kreiselkompass.
Es sollte ausreichen den SiRF-Chipsatz einmalig über einen provisorischen Konfigurationsausgang und serieller PC-Schnittstelle mit SiRFDemo umzustellen.
Das habe ich letzte Woche hinbekommen nur leider hat die Maus dann angefangen wilde binäre Daten auszugeben. Mit Mühe und Not konnte ich das wieder auf NMEA umstellen.

Du solltest die Maus ja auch nadem du sie konfiguriert hast, ja auch wieder auf NMEA zurückschalten. SiRF-Binary ist nur zur Konfiguration erforderlich.
Sag mir jetzt bitte nicht das SiRF besser ist als NMEA.
*auf das 120 seiten ebook über SiRF schiel* :(
SiRF-Binary kann bei der in den Wald- und Wiesen-Mäusen vorhandenen internen Firmware mehr als NMEA. Mit geeigneter Firmware könnte man auch NMEA beliebig erweitern. Aber bessere interne Firmware für die SiRFStar dürfte richtig Geld kosten. Du musst halt nehmen was beschaffbar ist und versuchen es durch Improvisation optimal zu nutzen.

Momentan bekomme ich mit einen Garmin-PhaseTrack12, aka Geko 201, eine Positionsgenauikeit von 2 Meter in der Lage in Echtzeit hin. Bessere Werte scheitern immer noch daran, das ich keine Echtzeit-Korrekturdaten für den Ionosspärenfehler beschaffen kann. Die Bahndaten der Satelliten und die Phasendaten beschaffe ich mir zur Zeit bei einem Test-Server des BKG in Frankfurt via NTrip. Für den Ionospären-Fehler suche ich immer noch einen freien Server, der auch noch möglichst in meiner Nähe stehen sollte, da der Ionospärenfehler je nach Region unterschiedlich ist.

Gruss Joern Weber

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 12.04.2007 - 20:51

Hallo Jörn,
Bessere Werte scheitern immer noch daran, das ich keine Echtzeit-Korrekturdaten für den Ionosspärenfehler beschaffen kann.
Also wer keine Probleme hat ...
Ich fand tatsächlich bei mir auf dem Rechner einen Link
http://www.kn.nz.dlr.de/swippa/
über den man nach Anmelden Daten, vielleicht auch nur Karten, über den Elektronen-Kontent erhält.

War für mich wg. relativ passender Selbsteinschätzung nie relevant.
Obwohl ich da mal einen Bericht gelesen habe ... da sah die Ionosphärenschichtung und der Strahlverlauf aus wie "Optik - Brechungsindex - 1.Stunde" *hüstel*

Grüße Roland

Benutzeravatar
Roland
Beiträge: 2055
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Beitrag von Roland » 26.04.2007 - 21:25

Hallo Jörn,

hast Du bei der Ionosphären-Korrektur schon etwas erreicht.
Also ich traue mir das nicht zu (noch nicht :wink: )

Aber an ein paar Ergebnissen wär' ich schon interessiert.

Grüße Roland

(Bin dann mal kurz weg ...)

Benutzeravatar
Jörn Weber
Beiträge: 789
Registriert: 03.02.2007 - 16:11
Wohnort: Jena

Beitrag von Jörn Weber » 27.04.2007 - 07:41

Hallo Roland,

Roland hat geschrieben:
hast Du bei der Ionosphären-Korrektur schon etwas erreicht.
Also ich traue mir das nicht zu (noch nicht :wink: )

Aber an ein paar Ergebnissen wär' ich schon interessiert.
Nei, bisher kann ich nur die Bahnkorrekturdaten per DGPS verarbeiten. Ich muss momentan Prioritäten bezüglich Zeit setzen. Und mir ist es momentan wichtiger einem Russland-Fahrer das know how für die Navigation dort zu verschaffen.

Gruss Joern Weber

Antworten