Positionierung ist im Kern präzise Entfernungsmessung
Satellitenpositionierung läuft auf einen Satz hinaus: Wenn Sie wissen, wie weit Sie von mehreren Punkten mit bekannter Position entfernt sind, können Sie Ihre eigene Position bestimmen. Die Satelliten sind diese bekannten Referenzpunkte – 20.000 km über uns, die permanent ihre eigene Position und Zeit ausstrahlen.
Entfernung über Zeit messen
Satellitensignale breiten sich mit Lichtgeschwindigkeit aus. Jedes Signal ist mit einer präzisen Sendezeit „gestempelt“; der Empfänger erfasst die Ankunftszeit, und die Differenz Δt multipliziert mit der Lichtgeschwindigkeit c ergibt die Entfernung zwischen Satellit und Empfänger. Die Größenordnung ist beeindruckend: 1 Nanosekunde Zeitfehler ≈ 0,3 m Entfernungsfehler. Deshalb trägt jeder Satellit eine Atomuhr, die auf die Nanosekunde genau geht.
Um kostengünstig zu bleiben, verwenden Empfänger jedoch einen gewöhnlichen Quarztaktgeber mit einem unbekannten „Uhrenfehler“. Was wir tatsächlich messen, ist daher nicht die wahre Entfernung, sondern eine fehlerbehaftete „Pseudorange“ – ein Begriff, der der Schlüssel zu allem Folgenden ist.
Drei Sphären schneiden sich, vier Satelliten fixieren
Die Kenntnis Ihrer Entfernung zu einem Satelliten platziert Sie auf einer Kugelschale um ihn herum; bei zwei Satelliten treffen sich zwei Kugelschalen in einem Kreis; bei drei Satelliten treffen sich drei Kugelschalen in einem Punkt – das ist „Trilateration“. Warum also sagen Smartphones immer „mindestens 4 Satelliten erforderlich“? Weil zu den x-, y-, z-Koordinaten eine vierte Unbekannte hinzukommt: der Uhrenfehler des Empfängers. Vier Unbekannte erfordern mindestens vier Satelliten, die gemeinsam als ein Gleichungssystem gelöst werden. Je mehr Satelliten in Sicht, desto stabiler und genauer die Lösung.
Wo ist der Satellit gerade? — die Ephemeriden
Um einen Satelliten als Referenz zu nutzen, muss man zunächst genau wissen, wo er sich befindet. Jeder Satellit sendet einen Satz Ephemeriden-Parameter in seiner Navigationsnachricht – im Wesentlichen keplersche Bahnelemente plus eine Reihe von Störungskorrekturen. Setzt man sie in die Formeln ein, kann der Empfänger die 3D-Position und Geschwindigkeit des Satelliten zu jedem beliebigen Zeitpunkt berechnen. Ephemeriden „verfallen“ mit der Zeit und müssen daher kontinuierlich aufgefrischt werden.
Zeit ist die Seele des gesamten Systems
Das gesamte GNSS beruht auf einer gemeinsamen Zeitbasis (GPS-Zeit, BeiDou-Zeit, …). Satellitenuhren-Drift, relativistische Effekte, Hardware-Laufzeiten beim Senden und Empfangen – jede zeitliche Fehlausrichtung schlägt direkt in Meter von Positionsfehlern um. Im eigentlichen Sinne ist Positionierung in erster Linie ein Zeitproblem.
Was genau aus dem All gesendet wird
Das Signal eines Satelliten besteht eigentlich aus drei übereinandergelegten Schichten. Versteht man diese drei Schichten, versteht man, wo die „Zeitinformation für die Entfernungsmessung“ tatsächlich verborgen ist.
① Der Träger ist eine Sinuswelle im Multi-Gigahertz-Bereich, die das Signal zum Empfänger „trägt“. ② Der Entfernungsmesscode (PRN) ist eine öffentliche, pseudozufällige 0/1-Sequenz – wie der einzigartige „Fingerabdruck“ jedes Satelliten: Er ermöglicht es einem Empfänger, Satelliten auf derselben Frequenz zu unterscheiden (CDMA-Prinzip), und er trägt exakt die präzise Zeitinformation, die für die Entfernungsmessung genutzt wird. ③ Die Navigationsnachricht ist die langsamste Datenschicht und sendet Ephemeriden, Uhrenparameter, Satellitenzustand und mehr an den Empfänger.
Moderne Systeme senden zudem auf mehreren Frequenzen gleichzeitig (GPS L1/L2/L5, BeiDou B1/B2/B3, …). Multi-Konstellation, Multi-Band bringt nicht nur mehr Satelliten in Sicht und verbessert die Zuverlässigkeit bei Abschattung – eine Zweifrequenzkombination kann den Großteil des ionosphärischen Fehlers direkt eliminieren. Das ist die Grundlage hochpräziser Positionierung und genau der Grund, warum unser Simulator 48 Kanäle parallel über 1176–1610 MHz betreibt.
Was mit dem Signal auf dem Weg geschieht
Auf den 20.000 km vom Satelliten zum Empfänger wird das Signal Schicht für Schicht „abgewertet“. Um überzeugend zu simulieren und präzise zu positionieren, muss man jeden dieser Verluste einzeln modellieren – und genau das ist die Trennlinie zwischen einem ernsthaften Simulator und einem Spielzeug.
Zu den wesentlichen „Abzügen“ zählen: ionosphärische Verzögerung (stark abhängig von der Sonnenaktivität; üblicherweise mit dem 8-Parameter-Klobuchar-Modell korrigiert), troposphärische Verzögerung (abhängig von Satellitenelevation und Stationshöhe), relativistische Effekte (der Satellit bewegt sich schnell und befindet sich in einem schwächeren Gravitationsfeld, daher läuft seine Uhr schneller und muss korrigiert werden – inklusive eines Terms für die Bahnexzentrizität), Gruppenlaufzeit TGD/ISC (Hardware-Laufzeit-Bias zwischen Frequenzen), Mehrwegeausbreitung (an Gebäuden/Boden reflektierte Signale, die sich der direkten Welle überlagern) und Satellitenuhren-Bias (beschrieben durch ein a0/a1/a2-Polynom).
Genau deshalb bauen wir eine vollständige Kette von Dämpfungs- und Fehlermodellen ein – Klobuchar-Ionosphäre, elevationsabhängige Troposphäre, relativistische und Gruppenlaufzeit-Korrekturen, elevationsbasierte Leistungsdämpfung. Was herauskommt, ist daher kein „ideales Signal“, sondern eines, das dem realen Himmel nahekommt; erst dann bekommen die Tests, die Sie damit durchführen, echte Aussagekraft.
Den gesamten Himmel in Software nachbilden
Ein GNSS-Signalsimulator führt den früheren Ablauf „in umgekehrter Richtung“ aus: Ausgehend von einem Szenario (Zeit, Ort, Bewegungsbahn) berechnet er Position, Pseudorange und Doppler jedes Satelliten relativ zum Empfänger, synthetisiert das entsprechende HF-Signal und speist es in den Empfänger ein. Er befreit F&E und Tests von realem Wetter und realen Trajektorien – in einer gesetzmäßig geschlossenen Umgebung können Sie jedes Szenario auf Abruf reproduzieren: schwache Signale, hohe Dynamik, spezifische Konstellationskonfigurationen …
Dieser Weg begann nicht bei null. In der Open-Source-Community haben Projekte wie GPS-SDR-SIM und GNSS-SDR früh gezeigt, dass man „GNSS-Basisbandsignale mit einem Software-Defined Radio (SDR) erzeugen“ kann – typischerweise für eine einzelne Konstellation, eine einzelne Frequenz, wobei offline eine IQ-Datei generiert und anschließend abgespielt wird. Wir stehen auf dieser Arbeit, haben sie aber um eine weitere Größenordnung zu ingenieurtauglicher Nutzbarkeit vorangetrieben.
Erstens: Zuverlässigkeit. Der alte Ansatz mit Offline-Dateien taugt nicht für lange Tests. Wir haben eine Echtzeit-Signal-Engine entwickelt, die 24/7-Dauerbetrieb unterstützt – ohne Aussetzer, ohne akkumulierte Drift über lange Läufe – und damit Dauertests und unbeaufsichtigtes Monitoring endlich praktikabel macht.
Zweitens: Kosten. Hochwertige Signalquellen gehen schnell in den sechsstelligen Bereich. Wir haben auf Algorithmenebene stark optimiert, sodass die Engine mit kostengünstigen SDR-Geräten kompatibel ist und Laborqualität zu einem für normale Anwender erschwinglichen Preis ermöglicht – damit mehr Teams und Einzelpersonen sie tatsächlich nutzen können.
Drittens: Leistung. Im Vergleich zu Einzelsatelliten- und Einzelfrequenz-Prototypen bieten wir Multi-Konstellations- und Multi-Band-Parallelität über 48 Kanäle, die – zusammen mit den vollständigen Fehlermodellen des vorherigen Abschnitts und einer Aktualisierungsrate von 1 kHz – echte Verbesserungen bei Positionierungsgeschwindigkeit und -genauigkeit bringt, ausreichend für die Validierung hochdynamischer, hochpräziser Szenarien. Eine detailliertere Funktionsliste finden Sie in den Spezifikationen auf der Startseite.
Wie ein Empfänger eine Positionslösung erstellt
Die vorangegangenen Kapitel beschrieben die Positionsbestimmung aus Systemsicht; dieses Kapitel wechselt auf die Empfängerseite. Ein Empfänger durchläuft für eine Positionslösung typischerweise vier Stufen – Akquisition, Tracking, Demodulation und Berechnung –, die kontinuierlich im Millisekunden- bis Sekundenbereich ablaufen, wonach er fortlaufend Ergebnisse ausgibt.
Akquisition und Tracking
Nach dem Einschalten muss der Empfänger zunächst die Satellitensignale im Rauschen finden. Satelliten bewegen sich relativ zum Boden schnell, sodass ihr Träger eine deutliche Doppler-Verschiebung aufweist und der Entfernungsmesscode eine unbekannte Codephase trägt. Bei der Akquisition korreliert der Empfänger einen lokal replizierten Code mit dem eingehenden Signal über einen zweidimensionalen Suchraum aus „Doppler-Frequenz × Codephase“; wenn beide übereinstimmen und die Korrelation eine deutliche Spitze zeigt, gilt der Satellit als akquiriert. Anschließend geht er ins Tracking über: Eine Code-Tracking-Schleife (DLL) hält die Codephase ausgerichtet und eine Träger-Tracking-Schleife (PLL) hält die Trägerverriegelung aufrecht, sodass der Empfänger kontinuierlich und stabil Observablen aus dem Signal ausliest. Verliert eine der Schleifen die Verriegelung, ist eine erneute Akquisition erforderlich.
Demodulation, Berechnung und Time-to-First-Fix
Sobald das Tracking stabil ist, führt der Empfänger die Bit- und Rahmensynchronisation durch, demoduliert die Navigationsnachricht und gewinnt Parameter wie Ephemeriden und Uhrenfehler; daraus berechnet er die Position jedes Satelliten zu diesem Zeitpunkt, kombiniert dann die jeweiligen Pseudorange-Messungen und löst die Position, Geschwindigkeit und Zeit (PVT) des Empfängers mittels Kleinster-Quadrate-Schätzung oder eines Kalman-Filters. Die Zeit vom Einschalten bis zur ersten Koordinatenausgabe ist die Time-to-First-Fix (TTFF): Ein Kaltstart ohne Vorinformationen dauert meist einige zehn Sekunden, während ein Warmstart mit zwischengespeicherten Ephemeriden und einer ungefähren Position oft nur wenige Sekunden benötigt. Je mehr Satelliten in Sicht sind und je besser ihre Geometrie (je kleiner der PDOP), desto stabiler und genauer die Lösung.
Verbrauchergeräte wie Smartphones: Die App-Ebene kann nicht auf die Signaldetails zugreifen
Ein Punkt verdient besondere Betonung: Auf Verbrauchergeräten wie Smartphones werden Signalempfang, Heruntermischung, Akquisition, Tracking und Nachrichtendemodulation vollständig vom GNSS-Chip (oder den HF- und Basisband-Blöcken im SoC) zusammen mit den unteren OS-Schichten abgewickelt. Eine App kann in der Regel weder auf die rohen Messwerte noch auf den Signalverarbeitungsprozess zugreifen; sie erhält über den System-Standortdienst nur ein Endergebnis – einen Satz Breiten-/Längenkoordinaten mit einer Genauigkeitsschätzung. (Manche Plattformen bieten eine Schnittstelle zum Auslesen von Rohmessungen, doch diese ist weder auf jedem Gerät verfügbar noch frei von Systemberechtigungs- und Framework-Einschränkungen.)
Das erklärt auch, warum Positionierungstests auf Signal- oder Systemebene ansetzen sollten, statt Werte auf App-Ebene zu manipulieren: Der Simulator zielt auf den Chip selbst. Er spielt ausreichend realistische Satellitensignale am HF-Frontend ein, sodass die gesamte Kette Akquisition, Tracking und Lösung mit echter Logik durchführt und das Gerät die vorgegebene Position eigenständig berechnet – nur eine solche Validierung ist glaubwürdig, und nur sie kann das Verhalten unter realen Bedingungen wie schwachen Signalen, Mehrwegeausbreitung und hoher Dynamik abdecken.
Das Wie und das Warum kennen
Von einem schwachen Signalstrahl aus dem All bis zu einer stabilen Koordinate auf Ihrem Bildschirm – dazwischen liegen Schicht um Schicht Entfernungsmessung, Lösung, Zeitgebung und Fehlermodellierung, die zusammenwirken. Verstehen Sie die Prinzipien, dann sehen Sie klarer, wo ein guter Simulator Arbeit investieren muss; und genau entlang dieser drei Linien – Zuverlässigkeit, Kosten und Leistung – haben wir einen Open-Source-Prototyp zu einem Produkt verfeinert, das für ernsthafte Entwicklung taugt.
Um mehr über spezifische Fähigkeiten und Möglichkeiten der Zusammenarbeit zu erfahren, besuchen Sie die Produkt-Homepage oder nehmen Sie Kontakt auf.
AnyLocate-Spezifikationen
Eine Zusammenfassung der Kernspezifikationen unten; „✓“ bedeutet unterstützt, der Rest sind konkrete Werte. Vollständige Parameter entnehmen Sie dem mit der Software gelieferten Handbuch und Ihrer aktuellen Version.