GPS-Signalverarbeitung Software ersetzt den Basisbandprozessor
Moderne Prozessoren sind leistungsstark genug, GPS-Signale in Echtzeit zu dekodieren. Dies ermöglicht äußerst flexible softwarebasierte GPS-Empfänger, die die Signalverarbeitung der GPS-Signale im Basisband nicht mit Hardware, sondern durch Software realisieren.
Anbieter zum Thema
Das Global Positioning System, kurz GPS genannt, besteht aus 24 Satelliten auch „Space Vehicels“ (SV) genannt, einer Ground-Control Station und dem Endgerät (Empfänger). Jeder dieser SVs kann aufgrund seines PRN-Codes (Pseudorandom Noise) eindeutig indentifiziert werden. Die zivilen GPS- und Galileo-Applikationen nutzen den so genannten L1-Träger bei 1575,42 MHz.
Ein GPS-Empfänger benötigt eine „Sichtverbindung“ zu mindestens vier Satelliten, um eine Position zuverlässig zu bestimmen. Dabei sind zwei Vorgänge wichtig: Zum einen das Empfangen des GPS-Signals, Acquisition genannt. Da die geometrische Position und die Zeitinformation des Empfängers und der Satelliten sich ständig ändert, muß das Signal nachverfolgt werden. Der zweite Vorgang ist die Nachverfolgung, Tracking genannt.
Beide Vorgänge sind sehr komplex und werden bei herkömmlichen GPS-Empfängern mithilfe von Hardware realisiert, oft einem speziellen ASIC. Ein Software-GPS-Empfänger bildet diese Blöcke mit Softwareroutinen nach.
Dies hat verschiedene Vorteile: Durch die vereinfachte Hardwarearchitektur kann dieser Empfänger kleiner, kostengünstiger und leistungsfähiger gestaltet werden.
Sehr flexibel beim Modifizieren von Einstellungen
Softwarebasierte GPS-Empfänger sind zudem sehr flexibel beim Modifizieren von Einstellungen und Implementieren neuer Applikationen: So können z. B. die Zwischenfrequenz des Empfängers verändert oder nachträgliche Optimierungen ohne Neuentwicklung der Hardware durchgeführt werden.
Desweiteren kann die Software mit diversen Programmiersprachen, wie C/C++ oder MATLAB geschrieben, und auf unterschiedliche Betriebssysteme (Embedded OS, PC, Linux und DSP-Plattformen) portiert werden.
Unter dem Strich bietet ein Software-GPS-Empfänger Entwicklern die größte Flexibilität für Anwendung in Mobiltelefonen, PDAs oder vergleichbarer Plattformen.
Keine zusätzlichen Kosten für ein Basisband-ASIC
Die CPUs aktueller Laptop-PCs besitzen genug Leistung für eine Dekodierung von GPS-Soignalen in Echtzeit. Daher kann einem IC wie dem GPS-Front-End MAX2769 kann ein kostengünstiger GPS-Empfänger für Laptops als USB-Dongle oder PCIe-Minicard (PCI Express) verwirklicht werden.
Die mit dem GPS-Empfänger empfangenen Rohdaten werden an den PC-Host übertragen, der das Basisbandsignal mit Software-Hilfe dekodiert. Damit fallen keine zusätzlichen Kosten für ein Basisband-ASIC an wie bei herkömmlichen GPS-Empfängern.
Außerdem können Entwickler mit dem Empfängerbaustein MAX2769 einen Empfänger konstruieren, der sowohl GPS- als auch GALILEO-Signale verarbeitet.
Die Schaltungsblöcke LNA, Mischer und ADC sind integriert
Der Funkempfänger eines softwarebasierten GPS-Empfängers verstärkt zuerst das empfangene GPS-Signal mithilfe eines rauscharmen Vorverstärkers (LNA) und mischt das Signal in eine Zwischenfrequenz (ZF) von ca. 4 MHz herunter (Bild 1).

Diese Frequenzumsetzung wird durch die Mischung des Funksignals am Eingang mit einem Lokaloszillator mithilfe von ein oder zwei Mischern bewerkstelligt. Das so erhaltene analoge Signal wird in der Zwischenfrequenzebene mit einem Analog-Digitalwandler (ADC) digitalisiert.
Die gesamten Schaltungsblöcke (LNA, Mischer und ADC) sind im MAX2769 integriert. Dabei verfügt der Baustein über zwei rauscharme Vorverstärker für unterschiedliche Antennentechnologien.
Bei passiven Antennen sollte der Verstärker mit einer extrem niedrigen Rauschzahl von 0,9 dB, 19 dB Verstärkung und einen IP3 von -1 dBm benutzt werden. Der Verstärker für aktive Antennen besitzt mit 1,5 dB eine etwas höhere Rauschzahl und einen höheren IP3, bei verringerter Verstärkung und Stromaufnahme.
Das Signal lässt sich mit unterschiedlichen Filterkurven bewerten
Die Stromaufnahme bei 2,8 V beträgt zwischen 13 mA und 18 mA, je nach Konfiguration. Das Empfangssignal kann bei Bedarf hinter dem Vorverstärker nochmals mit einem externen Filter zusätzlich gefiltert werden.
Das Empfangssignal wird mit einem 20-bit Sigma-Delta Fractional-N-Synthesizer und einem 15-bit-Integer-Divider direkt heruntergemischt. So kann eine beliebige Zwischenfrequenz von 0 MHz bis 12 MHz erreicht werden. Zusätzlich lässt sich das Signal mit unterschiedlichen Filterkurven bewerten, die z.B. für GALILEO notwendig sind.
Die Verstärkung vom Empfängereingang bis zum ZF-Ausgang kann automatisch geregelt werden. Die AGC besitzt einen Regelumfang zwischen 60 dB und 115 dB, bei einer Systemrauschzahl von 1,4 dB. Damit erreicht man mit einem handelsüblichen „SoftGPS“-Softwarepaket eine Empfindlichkeit von –143 dBm (acquisition) und –154 dBm (tracking).
Referenzdesign für einen USB-Dongle
Die Signale am ZF-Ausgang können wahlweise auf ein analoges, CMOS oder differentielles Interface angepasst werden. Der Ausgang des internen ADCs liefert wahlweise ein 1-Bit-, 2-Bit- oder 3-Bit-Signal.
Der integrierte Referenzoszillator kann sowohl mit einem Quarz oder mit einem TCXO (Temperaturkompensierten Quarzoszillator) im Frequenzbereich zwischen 8 MHz und 44 MHz betrieben werden.

Bild 2 zeigt ein Referenzdesign für einen USB-Dongle, basierend auf dem Baustein MAX2769. Der USB-Controller von Cypress Semiconductors arbeitet mit einer Referenzfrequenz von 24 MHz. Ein einziger LDO (MAX8510) wird zur Gleichspannungsregelung benötigt.
Mit einer digitalen SPI-(3-Draht)-Schnittstelle werden die Register des MAX2769 programmiert. Alternativ dazu kann das System mit festverdrahteten, programmierten Einstellungen ohne Benutzung einer SPI-Schnittstelle betrieben werden.
integrierte passive Antenne kann durch aktive externe Antenne ersetzt werden
Der Baustein verfügt über eine Schnittstelle zur Spannungsversorgung einer aktiven Antenne. Um die USB-Anforderungen einzuhalten, wird im Ruhezustand die Stromversorgung der Antenne abgeschaltet.
Weiterhin kann der Baustein MAX2769 je nach Stromaufnahme der Antenne automatisch zwischen LNA1 und LNA2 umschalten. Dies ist hilfreich bei Anwendungen, bei denen die integrierte passive Antenne durch eine empfindlichere aktive externe Antenne ersetzt werden kann: Der Entwickler muss dazu nur den Anschluß für die externe Antenne mit dem LNA2 verbinden und den internen Antennenanschluß mit LNA1. Sobald die externe Antenne eingesteckt wird, registriert MAX2769 den Stromfluß und schaltet automatisch zwischen LNA1 und LNA2 um.
Fast identisches Design für USB als auch PCIe-Mini-Cards
Für Laptop-Anwendungen können Entwickler zwischen einem Design als USB-Dongle oder einem Design mit einem PCIe-Mini-Card-Stecker wählen. In letzterem Fall kann der Funkempfänger auf einer PCIe-Mini-Card implementiert und diese Karte wiederum in einen PC integriert werden.
Die Schnittstelle der PCIe-Mini-Card umfasst einen USB-Port, daher ist das Design für USB als auch PCIe-Mini-Cards fast identisch. Der Unterschied besteht im Powermanagement, das für die PCIe-Unterstützung benötigt wird, und in den unterschiedlichen Versorgungsspannungen (3,3 V für PCIe und 5 V für externe USB-Schnittstellen).
Das Blockschaltbild des USB-Dongles in Bild 1 zeigt eine einfache Lösung, die nur einen MAX2769, einen Zähler und einen USB-Schnittstellen-Controller benötigt, um das GPS-Signal zu empfangen und zu digitalisieren.
Software stellt virtuellen COM-Port bereit
Der digitalisierte ZF-Datenstrom wird mithilfe einer standardisierten USB-2.0-Schnittstelle an den Host-PC übetragen. Die Software auf dem Host-PC übernimmt die komplette Funktionalität des Basisbands und berechnet aus dem digitalen Datenstrom die aktuelle Position und nimmt anschließend das Nachführen des Satellitensignals vor. Die aktuelle Position wird auf dem Laptopdisplay dargestellt.
Darüber hinaus stellt die Software einen virtuellen COM-Port als so genanntes Generic Interface zur Verfügung. Damit können Verbindungen zu Navigations- und andere positionsbezogene Dienste hergestellt werden.
Die meisten Softwareanbieter für GPS-Applikationen bieten eine NMEA-0183-konforme Schnittstelle an und arbeiten unter Windows XP bzw. Vista. Die Software sollte zudem weiterhin in der Lage sein, zusätzlich zur Verfügung gestellte „Assistance Data“ verarbeiten zu können, unabhängig davon, ob diese über eine genormte oder propriätäre Schnittstelle zur Verfügung gestellt werden.
Hochleistungsprozessor und ausreichende Speicherkapazität erforderlich
Die Realisierung eines Software-GPS-Empfängers benötigt einen Hochleistungsprozessor und einen gewissen Speicherplatz. Realisiert man z.B. den Software-GPS-Empfänger auf einem 1-GHz-Pentium-M-System, so beträgt die durchschnittliche Prozessorlast beim Tracking ungefähr 6%; bei einem Pentium-Core-Duo-Prozessor mit 2,18 GHz beträgt die Prozessorlast typischerweise weniger als 5%, wenn jede Sekunde eine neue Position bestimmt wird. Optimiert man die Algorithmen weiter, so kann die Prozessorlast unter 2% gedrückt werden.
Ein GPS-Empfänger basierend auf einem Software-GPS-Ansatz liefert ein hohes Maß an Flexibilität und vereinfacht die Entwicklung diverser Anwendungen. Der Empfängerbaustein MAX2769 unterstützt diesen Ansatz insofern optimal, da er eine hohe Flexibilität bei der Frequenzplanung bietet. Dies bietet auch Vorteile bei der Entwicklung von GPS-Empfängern mit traditioneller Hardwarearchitektur.
David Weber ist Strategic Applications Engineer bei Maxim Integrated Products, Kalifornien
(ID:254066)