-
HINTERGRUND DER ERFINDUNG
-
Das Gebiet der Erfindung
-
Diese Erfindung bezieht sich allgemein
auf Kommunikationssysteme mit einem gespreizten Spektrum und insbesondere
auf eine mit niedriger (Verlust-)Leistung arbeitende Signalverarbeitungsarchitektur
sowie auf ein Verfahren für
Empfänger
mit einem gespreizten Spektrum.
-
Beschreibung
des technischen Hintergrundes
-
Eine mit einem gespreizten Spektrum
arbeitende Kommunikation ist vorteilhaft für Fernmeldeanwendungen, die
in einem lauten Umfeld eine hohe Zuverlässigkeit erfordern. Oft besteht
das dominierende Geräusch
in einer entweder absichtlich oder versehentlich von Menschen verursachten
Störung. In
einer besonderen Anwendung kann das Kommunikationsumfeld mancherlei
potentielle Reflektoren aufweisen, die Anlaß für eine schwere Mehrwege- bzw.
Echostörung
geben. Eine solche Mehrwegestörung
deutet in typischen Fällen
hin auf tiefe Nullen in der Form von frequenzselektivem Schwund
bzw. Fading. Eine mittels eines gespreizten Spektrums vor sich gehende
Kommunikation ist eine hervorragende Gegenmaßnahme für diese Schwierigkeiten.
-
Es gibt verschiedene Typen von Systemen mit
gespreiztem Spektrum unter Einschluß von Spreizspektrumsystemen
mit direkter Sequenz, von Frequenzsprungsystemen, von Zeitsprungsystemen, von
mittels Pulsfrequenz modulierten (oder Zirp-) Systemen sowie von
verschiedenen Mischformen. Von diesen Systemen stellen die Systeme
mit einem Direktsequenz-Spreizspektrum (DSSS) sowie die Frequenzsprungsysteme
die vielleicht in weiterem Umfang ausgeführten Systeme dar. Die folgende Diskussion
ist auf binäre
DSSS Systeme gerichtet.
-
Bei einer binären DSSS Übertragung wird ein breitbandiges
Trägersignal
von einem schmalbandigen Nachrichtensignal moduliert. Der breitbandige
Träger
wird in typischen Fällen erzeugt,
indem man einen Einzelfrequenzträger
zweiphasig moduliert unter Einsatz einer binären Pseudo-Zufallsrausch (P/N)-Codesequenz.
Der P/N Code wird oft erzeugt unter Benutzung eines oder mehrerer
Schieberegister von hoher Geschwindigkeit, von denen jedes eine
Modulo-2-Rückkopplung
entsprechend einem primitiven bzw. Ausgangspolynom aufweist. Der so
erzeugte hochschnelle P/N Code wird sodann an einen abgeglichenen
Modulator (Multiplizierer) angelegt, dessen anderes Eingangssignal
der schmalbandige Träger
ist. Das Ausgangssignal von dem abgeglichenen Modulator ist ein
häufig
als "Breitbandträger" bezeichnetes breitbandiges
Signal. Um Daten zu übertragen,
wird der breitbandige Träger
zweiphasig moduliert von einem binären Nachrichtendatenstrom.
Die Nachrichtendatenrate ist gewöhnlich
viel niedriger als die P/N Codesymbol- oder "Chip"-Rate bzw.
Geschwindigkeit, und die Daten sowie Codechipkanten sind gewöhnlich synchronisiert.
Die Fähigkeit
der DSSS Technik zum Unterdrücken
von Störungen
ist direkt proportional zu dem Verhältnis der Code Chiprate zur
Datenrate. In vielen Anwendungen gibt es Tausende von Codechips
pro Nachrichtenbit.
-
Ein DSSS Signal kann empfangen werden, indem
man zunächst
das Signal nach unten ins Basisband verschiebt, und zwar indem man
es mit einer lokal erzeugten Nachbildung bzw. Replika des ursprünglichen
schmalbandigen Trägers
(z. B. von einem richtig abgestimmten lokalen Oszillator) multipliziert.
Wenn die Frequenz (sowie Phase) der Trägernachbildung dieselbe ist
wie die von dem empfangenen originalen schmalbandigen Träger, dann
wird das Ausgangssignal des Multiplizierers ein bipolarer "Breitbanddaten"-Strom sein, der
das Produkt des bipolaren P/N Codes und der Nachrichtendatensequenzen
ist. Der P/N Code wird sodann entfernt, indem man den Breitbanddatenstrom
multipliziert mit einer lokal erzeugten Nachbildung des P/N Codes, die
zeitlich mit dem empfangenen P/N Code ausgerichtet ist. Dies ist
der Einengungs- bzw. Entspreizungsprozeß und liefert den ursprünglichen
Nachrichtendatenstrom am Ausgang des Multiplizierers.
-
Im Entspreizungsprozeß für die Daten
wird das breitbandige Datenleistungspektrum rückfokussiert in die ursprüngliche
schmalere Datenbandbreite, wobei man den Datenleistungspegel deutlich über das
Hintergrundsrauschen in dieser Bandbreite anhebt. Das Ausmaß, um das
der Leistungspegel angehoben wird, ist die sogenannte Bearbeitungsverstärkung und
ist direkt proportional zu dem Verhältnis aus der Coderate zu der
Datenrate. Darüber
hinaus wird jegliche empfangene schmalbandige Störung durch die Code-Nachbilungsmodulation
gespreizt, und dies reduziert in großem Maße den Störleistungspegel in dem Datenband.
-
Eine oftmals schwierige, mit dem
DSSS Signalempfang in Verbindung stehende Aufgabe besteht darin,
die Trägernachbildung
mit sowohl der richtigen Sequenz als auch Phase zu erzeugen und
die P/N Codenachbildung bei der richtigen Geschwindigkeit und mit
der richtigen zeitlichen Ausrichtung (Versatz) zu erzeugen. In vielen
DSSS Fernmeldesystemen sind a priori die notwendige Trägerfrequenz,
die Trägerphase
sowie der P/N Codeversatz am Empfänger nicht bekannt, und diese
Parameter müssen
bestimmt werden, indem man verschiedene Werte versucht, bis ein
starkes Signal an dem Datenfilterausgang beobachtet wird. Dies ist
bekannt als der Such- oder Gewinnungs- bzw. Akqisitionsprozeß, und man sagt,
ein DSSS Signal ist gewonnen, wenn die richtige Frequenz, Phase
und Codeversetzung bestimmt worden ist.
-
Bei vielen DSSS Anwendungen liegen
die DSSS Signalpegel deutlich unterhalb von den Hintergrundrausch-
und/oder Störpegeln
und sind solange nicht feststellbar, bis sie in passender Weise entspreizt
und tiefpassgefiltert sind. Wenn das empfangene Signal-zu-Rauschverhältnis bzw.
der Störspannungsabstand
(SNR) sehr klein ist, muß das
Filter sehr schmal sein, um die für die Signalfeststellung und
-gewinnung notwendige Bearbeitungsverstärkung zu erzielen. Weil ein
schmalbandiges Filter eine lange Integrationsperiode erfordert,
muß das
Ergebnis aus der Multiplikation von vielen empfangenen P/N Codeabtastungen
bzw. Samples mit den entsprechenden Nachbildungs- bzw. Replika- P/N-Codesamples
angesammelt werden, bevor die Detektionsentscheidung getroffen werden
kann. Diese Multiplikation sowie Akkumulation ist eine Kreuzkorrelation
zwischen den empfangenen sowie den Replika P/N Codesequenzen, und
die Sequenzen müssen
unter Umständen
für kleine
SNR Signale lang sein.
-
Der Einsatz des DSSS Verfahrens ermöglicht es
Mehrfachnutzern, denselben Breitbandkanal unter Verwendung der Codeteilungs-
Mehrfachzugriffstechnik (CDMA code-division multiple access) miteinander
zu teilen. Bei dieser Technik benutzt jeder Sender einen unterschiedlichen
P/N Code, so daß die
Kreuzkorrelation zwischen verschiedenen Codes im wesentlichen Null
ergibt. Ein Empfänger selektiert
und detektiert ein bestimmtes übertragenes Signal,
indem es den entsprechenden P/N Code wählt und den Suchvorgang für die Akquisiti on
ausführt.
In einigen Fällen
ist nicht bekannt, welcher Sender gerade überträgt, und der Suchvorgang für die Akquisition
muß eine
Prüfung
der verschiedenen P/N Codes von einer bekannten Liste einschließen. Wenn viele
verschiedene Codes, Codeversetzungen und Trägerfrequenzen untersucht werden
müssen
und der SNR klein ist, kann die Akquisitionsaufgabe sowohl zeit-
als auch energieaufwendig sein. Ein bedeutender Aspekt der vorliegenden
Erfindung liegt in der Verringerung der Zeit sowie der Energie,
die bei dem DSSS Signalgewinnungsvorgang verbraucht wird.
-
Eine Beschreibung von mit Direktsequenztypen
sowie anderen Typen arbeitenden Fernmeldesystemen mit einem gespreizten
Spektrum kann zum Beispiel gefunden werden in Spread Spectrum Systems,
3. Ausgabe, von Robert C. Dixon, im Verlag John Wiley & Sons (1994),
sowie in Spread Spectrum Communications, Bd.II, von M. K. Simon
et al, in Computer Science Press (1985). Eine Beschreibung von CDMA
Techniken läßt sich
zum Beispiel finden in CDMA Principles of Spread Spectrum Communication,
von Andrew J. Viterbi, Addison-Wesley
(1995).
-
Die weitverbreiteten und allgegenwärtigen Signale
des Globalen Positionierungssystems stellen eine wichtige Anwendung
der DSSS Kommunikation dar. In den letzten Jahren sind Satelliten
des Navstar Globalen Positionierungssystems (GPS) in Erdumlaufbahnen
von mittlerer Höhe
in sechs Umlaufebenen gestartet worden, von denen jeder um 55° gegen den Äquator geneigt
ist. Die gesamte GPS Satellitenkonstellation weist einundzwanzig
Satelliten und verschiedene Ersatzsysteme auf. Von diesen Satelliten übertragene
Signale erlauben es einem Empfänger nahe
am Boden, exakt die Zeit und seine eigene Position zu bestimmen.
Jeder Satellit sendet Daten aus, die eine präzise Kenntnis der Satellitenposition
bieten, und erlaubt die Messung der Distanz von dem jeweiligen Satelliten
zu der Antenne des Beutzerempfängers.
Mit Hilfe dieser Information von wenigstens vier GPS Satelliten
kann der Nutzer seine eigene Position, die Geschwindigkeit und die
Zeitparameter durch bekannte Triangulationstechniken (d. h. die Navigations-
bzw. Ortungslösung)
berechnen. In typischen Fällen
sind sieben, jedoch mindestens vier Satelliten von einem Benutzer
irgendwo auf oder nahe der Erdoberfläche zu beobachten, wenn der
Nutzerempfänger
einen nach unten sehr nahe an den Horizont reichenden ungehinderten
Blick auf den Himmel hat. Jeder Satellit sendet Signale auf zwei
als L1 (1575,42 MHz) und L2 (1227,6 MHz) bekannten Frequenzen aus,
und alle Satelliten teilen sich diese Frequenzen, indem sie die
früher
beschriebenen CDMA DSSS Techniken benutzen.
-
Insbesondere sendet jeder Satellit
ein einzelnes DSSS Signal von hoher Auflösung auf der Frequenz L2 sowie
dasselbe Signal zuzüglich
eines anderen DSSS Signals von geringerer Auflösung auf der Frequenz L1. Das
DSSS Signal mit geringer Auflösung
enthält
einen P/N Code mit einer 1,023 MHz Stückelungs- bzw. Chippingrate
sowie einer 1,0 ms Wiederholperiode, und eine Nachrichtendatensequenz
(die NAV Daten) mit einer Rate von 50 Bits pro Sekunde. Das DSSS
Signal mit hoher Auflösung
verwendet einen P/N Code mit einer 10,23 MHz Chippingrate sowie
einer Wiederholperiode von länger
als einer Woche. Derselbe NAV Datenstrom wird in allen DSSS Signalen
von einem gegebenen Satelliten benutzt. Die NAV Meldung von einem
gegebenen Satelliten enthält
die GPS Signalübertragungszeit,
Gestirns(Positions-)daten für
den betreffenden Satelliten, Kalender- bzw. sog. Almanachdaten (eine
Gestirnstafel mit reduzierter Genauigkeit) für alle Satelliten in der Konstellation
sowie ein Übergabewort, das
benutzt wird in Verbindung mit dem Übergang von der Codeverfolgung
bei niedriger Auflösung
zur hohen Auflösung.
Die Codes für
niedrige und hohe Auflösung
sind bekannt als die Kurs/Akquisitions- (C/A) bzw. präzisen (P)
Codes.
-
Nach der Akquisition ermöglicht die
Versetzung (offset) von jedem Code zusammen mit der Signalübertragungszeit
von den NAV Daten es einem Empfänger,
die Entfernung zwischen dem entsprechenden Satelliten und dem Nutzer
zu bestimmten. Durch Einbeziehen sowohl des P Codes als auch des sich
wiederholenden C/A Codes in das übertragene Signal
wird eine schnellere hierarchische Akquisition des P Codes möglich gemacht,
und es kann ein globaler Navigationsdienst mit zwei Ebenen bzw.
Pegeln vorgesehen werden. Der P Code kann die Positionen liefern,
die bis auf ungefähr
3 Meter exakt sind, während
der C/A Code Genauigkeiten in der Größenordnung von 30 Metern ergibt.
In typischen Fällen
ist der Service mit der geringen Auflösung uneingeschränkt, während der
Service mit der hohen Auflösung
durch Verschlüsselung
oder anderweitige Kontrolle der Kenntnis des hochauflösenden P/N
Codes auf das Militär
beschränkt
ist.
-
In einem typischen militärischen
Empfänger wird
als erstes der C/A Code gewonnen. Dann wird das Übergabewort von dem NAV Datenstrom
gelesen. Das Übergabewort
spezifiziert die ungefähre Versetzung
des P Codes relativ zur GPS Zeit ( wie sie in dem Zeitstempel bzw.
der Zeitmarke übertragen wird),
und seine Benutzung wird die Anzahl von verschiedenen Codeversetzungen,
die während
der P Codegewinnung durchsucht werden müssen, drastisch reduzieren.
Die Gewinnung des C/A Codes ist wesentlich einfacher als die direkte
Gewinnung des P Codes, weil sich der C/A Code alle 1,0 ms wiederholt und
deshalb nur 1023 verschiedene Codeversetzungen zu durchsuchen sind
(zweimal dieser Wert, wenn die Suche in den üblichen Halb-Chip-Schritten
durchgeführt
wird).
-
Empfangene GPS Signale werden gewöhnlich in
ihrer Frequenz von den nominalen L1 und L2 Trägerfrequenzen verschoben, weil
sich die GPS Satelliten in der Umlaufbahn mit einigen Kilometern
pro Sekunde bewegen, was zu einer erheblichen Dopplerverschiebung
führt.
Die Satellitenflugbahnen sind gewöhnlich von vornherein bekannt,
und die Doppler-verschobenen Trägerfrequenzen
sind deshalb vorhersagbar, wenn die Position des GPS Empfängers bekannt
ist. Leider ist die Empfängerposition nicht
von vornherein bekannt, und es gibt oft einen wesentlichen örtlichen
Oszillatorfehler bei billigen Empfängern. Die sich daraus ergebende
Unsicherheit hinsichtlich der empfangenen Trägerfrequenz (d. h. der benötigten Replika-Trägerfrequenz)
kann groß sein
(z. B. ±7,5
kHz), und dieser Frequenzbereich muß ggf. während des Vorgangs der GPS
Signalgewinnung durchsucht werden. Die Frequenz- oder Dopplersuche
wird gewöhnlich
durchgeführt,
indem man die Kreuzkorrelation von dem empfangenen Sample und den örtlichen
Replika- P/N Sequenzen für
verschiedene örtliche
Oszillator (Trägerreplika-) Frequenzen
wiederholt. Der Abstand zwischen den Frequenzschritten wird klein
genug gemacht, um ein Verfehlen des Signals zu vermeiden, wenn lange
Integrationszeiten (schmale Filterbandbreiten) für die Kreuzkorrelation benutzt
werden. Lange Integrationszeiten verwässern die Detektion von Signalen
mit geringem SNR. In typischen zivilen GPS Anwendungen werden 1,0
Millisekunden betragende Kreuzkorrelationsintegrationen benutzt
(ein einzelner C/A Codezyklus), was eine äquivalente Doppler-Filterbandbreite
von ungefähr
500 Hz ergibt. Ein ±7,5
kHz betragender Frequenzbereich kann mit dreißig 500Hz Schritten durchsucht
werden. Die GPS Akquisition hat sodann eine Suche hinsichtlich des
Satellitencodes, der Codeversetzung und Dopplerfrequenz zur Folge.
-
Eine Hauptsteuerstation (MCS) sowie
eine Anzahl von Monitorstationen enthalten den Steuerungsteil von
dem GPS System. Die Monitorstationen verfolgen passiv alle GPS Satelliten
im Sichtfeld, sammeln Meßdaten
sowie Satellitenzeitdaten von jedem Satellit. Diese Information
wird an die MCS weitergeleitet, wo die künftigen Bahndaten (ephemeris) sowie
Zeitabweichungen des Satelliten vorhergesagt werden. Auf den neuesten
Stand gebrachte Bahn- und Zeitdaten werden hochgeladen zu jedem
Satellit für
die Rückübertragung
in jeder Satelliten-NAV-Meldung.
-
Im Betrieb führt ein typischer GPS Empfänger für jedes
der mindestens vier Satellitensignale folgendes aus:
- 1) akquiriert bzw. gewinnt das DSSS Signal,
- 2) synchronisiert mit dem NAV Datenstrom und liest die Satelli-ten-Zeitmarke,
die Zeitkorrektur, die ionosphärische
Verzö-gerung
sowie die Gestirnsdaten,
- 3) berechnet die Satellitenposition aus den Gestirnsdaten,
- 4) liest seine eigene Empfängerzeit,
um die mit dem Empfang der Zeitmarkenphase im Zusammenhang stehende
Empfängerzeit
zu bestimmen, und
- 5) schätzt
die Signallaufzeit ab, indem er den Zeitmarkenwert von der zugehörigen Empfängerzeit subtrahiert.
-
Diese Zeitdifferenz wird mit der
Lichtgeschwindigkeit multipliziert, um eine abgeschätzte Entfernung
zu dem Satelliten zu erhalten. Wenn der GPS Receiver eine Uhr hätte, die
perfekt mit den Uhren der Satelliten synchronisiert wäre, (oder
wenn der Fehler bekannt wäre),
würden
nur drei solche Entfernungsabschätzungen
erforderlich sein, um den Empfänger
präzise
zu lokalisieren. Es gibt jedoch einen Uhrendefekt (einen sich langsam ändernden
Fehler) aufgrund der Tatsache, daß GPS Empfänger in typischen Fällen billige
Kristalltaktgeber benutzen, während
Satelliten mit Atomuhren ausgerüstet
sind. Dieser Uhrendefekt hat man verstanden und seine Auswirkung
wird durch Messen des Abstandes (der Laufzeit) von vier GPS Satelliten
beseitigt und durch Benutzung dieser Messungen in einem System von
vier Gleichungen mit vier Unbekannten (Empfänger x, y, und z sowie Zeit).
Für eine
allgemeine Information über
GPS wird der Leser verwiesen auf das Buch von Tom Logsdon mit dem
Titel The Navstar Global Positioning System, von Van Nostrand Reinhold
(1992).
-
Eine bevorzugte Anwendung der vorliegenden
Erfindung besteht in der Lokalisierung und Verfolgung von wertvollen
Objekten, wie zum Beispiel von Eisenbahnwaggons, von Schiffs- oder Frachtcontainern,
Lastwagen, Anhängern
und dergleichen unter Einsatz des GPS. Bei dieser Anwendung werden
die GPS Empfänger
gewöhnlich
aus Batterien mit Spannung versorgt, da eine unabhängige Energiequelle
im allgemeinen nicht vorhanden ist. Es ist von Vorteil, die Betriebsdauer
der Batterien zu erhöhen,
indem man die von dem GPS Empfänger
verbrauchte Energie verringert.
-
In einem typischen mit gespreiztem
Spektrum arbeitenden Empfänger
verbraucht der eingangsseitige Empfängerteil (d. h. die HF sowie
die ZF Elektronik) einen hohen Energiebetrag, solange er eingeschaltet
ist. Dies resultiert in einem hohen Energieverbrauch, wenn die Signalakquisition
und -synchronisation eine lange Zeit benötigt. Die meisten GPS Empfänger nach
dem Stand der Technik besitzen keine Signalspeicherung (memory)
und müssen die
empfangenen Signale in Echtzeit verarbeiten. Darüber hinaus benutzen sie entweder
eine sequentielle Suche oder suchen eine kleine Zahl von Satelliten/Codeversatz/Doppler
(SCD)-Gruppen (bins) gleichzeitig,
um die Signalakquisition zu erreichen. Derartige Empfänger müssen kontinuierlich
empfangen und jedes Satellitensignal verarbeiten, bis seine SCD-Gruppe identifiziert
ist und die notwendigen NAV Daten dekodiert sind. Bei einer sequentiellen Suche
ist der Energieverbrauch groß,
weil eine erhebliche Zeit verstrichen ist, bevor die mit jedem GPS Signal
in Verbindung stehende SCD Gruppe identifiziert ist. Alternativ
können
mehrfache SCD-Gruppen parallel durchsucht werden, um die verbrauchte
Zeit zu verringern, jedoch ist der Energieverbrauch immer noch hoch,
weil es sich bei den existierenden Verarbeitungsmethoden nicht um
Methoden mit sehr geringer (Verlust)Leistung handelt. Darüber hinaus
ist das Ausmaß der
Parallelität
bei existierenden Verarbeitungsverfahren auf Grund des hohen Maßes an beteiligten
Schaltungen sehr begrenzt.
-
Es kann eine zentrale Einrichtung
oder Station verwendet werden, um mehrere Wertobjekte (z. B. Waggons)
zu verfolgen. Jedes verfolgte Objekt führt einen GPS Empfänger mit
sich, der Daten von verschiedenen der sichtbaren GPS Satelliten
verarbeitet; eine exakte Positionsfeststellung wird jedoch nicht
in dem Empfänger
vorgenommen. Statt dessen wird lediglich eine teilweise Verarbeitung
in dem Empfänger
durchgeführt
und Zwischenergebnisse werden von dem Wertobjekt an die zentrale
Station gesendet. Diese Zwischenergebnisse erfordern keine Dekodierung
von Navigationsdaten oder anderen Daten aus den GPS Signalen. Dieses
System erlaubt somit, daß der
GPS Empfänger
und der Signalprozessor lediglich lange genug mit Energie versorgt werden,
um die Satellitensignale zu gewinnen (um die SCD Gruppen zu bestimmen).
In diesem System ist der vorherrschende Energieverbraucher der Akquisitionsprozeß, und die
GPS Empfänger
gebrauchte Energie für
jedes verfolgte Wertobjekt wird drastisch reduziert, wenn die Akquisitionszeit
für das
Signal sowie die Energie drastisch reduziert werden.
-
Das US Patent No. 5,420,593 für Niles
benutzt einen Speicher, um ein Intervall des empfangenen Signals
zu speichern, das viele GPS Satellitensignale enthält. Das
empfangene Signal wird abgetastet und bei einer Geschwindigkeit
in den Speicher geschrieben und sodann bei einer anderen schnelleren
Geschwindigkeit aus dem Speicher ausgelesen. Beim Lesen wird das
Signal digital verarbeitet, um die empfangenen GPS Satellitensignale
zu gewinnen und zu synchronisieren. Dies erlaubt eine kürzere verstreichende
Zeit für
die Akquisition der GPS Signale. Der Empfänger wird jedoch nicht unmittelbar nach
der Signalspeicherung ausgeschaltet, und es wird nicht eine Signalakquisition
mit geringer (Verlust)Leistung verwendet. Darüber hinaus wird kein wesentlich
verringerter Energieverbrauch erreicht.
-
Das US Patent No. 5,225,842 für Brown
beschreibt ein GPS basiertes zentralisiertes Verfolgungssystem für Wertobjekte,
das die Kosten von den GPS Empfängern
für jedes
verfolgte Wertobjekt verringert, indem es eine Berechnung der Navigationslösung auf
der Seite des Wertobjekts vermeidet. Jedes Wertobjekt führt einen
GPS Empfänger
mit sich, der das Signal von mehreren der sichtbaren GPS Satelliten
bearbeitet und das Verarbeitungsergebnis an die zentrale Station
weiterleitet, wo die genauen Navigationslösungen für das jeweilige Wertobjekt
berechnet werden. Dieses System verringert nicht wesentlich die
von dem GPS Empfänger
beim Wertobjekt verbrauchte Energie und verlängert nicht wesentlich die
Lebensdauer der Batterie des Wertobjekts oder reduziert die Zeit
zwischen den Wartungsdiensten zum Austausch der Batterien. Darüber hinaus
wird eine wenig Leistung brauchende Parallelkorrelation nicht angewendet.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine Aufgabe der vorliegenden Erfindung
ist es, eine Verarbeitungsarchitektur für ein Direktsequenz-Spreizspektrum-
(DSSS) Signal bereitzustellen, das es zuläßt, daß der Empfänger während des größten Teils
der Akquisitionsphase beim Empfang ausgeschaltet wird, und dadurch
es erlaubt, daß die Einschaltzeit
des zugeordneten Empfängereingangs deutlich
reduziert wird.
-
Es ist eine weitere Aufgabe der vorliegenden Erfindung,
eine Signalverarbeitungsarchitektur vorzusehen, die einen geringen
Energieverbrauch während
der Akquisitionsphase beim DSSS Signalempfang erlaubt.
-
Eine weitere Aufgabe der Erfindung
besteht darin, ein Parallel-Korrelationsverfahren mit geringem Leistungsverbrauch
anzugeben, das ohne weiteres mit den verfügbaren integrierten Schaltungsprozessen
hergestellt wird und wenig Energie zur Gewinnung der DSSS Signale
verbraucht.
-
Eine weitere Aufgabe der Erfindung
ist es, eine GPS Signalverarbeitungsarchitektur vorzusehen, die
es erlaubt, daß P/N
Code- und Doppler-Durchsuchungen (die mit dem Gewinnungsprozeß in Verbindung
stehen) mit einem standardmäßigen sequentiellen
Prozessor durchgeführt
werden (d. h. relativ langsam und mit kleinem Verarbeitungsaufwand),
ohne es zu erfordern, daß der
eingangsseitige Teil des Empfängers
während
des Durchsuchungsvorgangs eingeschaltet ist.
-
Eine noch weitere Aufgabe der Erfindung
besteht darin, eine GPS Signalverarbeitungsarchitektur anzugeben,
die nur wenig Energie zum Verfolgen eines Wertobjekts unter Einsatz
des GPS erfordert.
-
Noch eine weitere Aufgabe der Erfindung
ist es, eine Signalverarbeitungsarchitektur zu schaffen, die auf
dynamischem Wege kohärente
sowie nicht-kohärente
Integrationszeiten untereinander austauschen kann, wie es jeweils
für ein
bestimmtes empfangenes Signal-Rauschverhältnis bzw.
Störabstand
(SNR} benötigt
wird.
-
Eine noch weitere Aufgabe der Erfindung
ist es, eine geringe Empfängerausgangs-Abtastrate beim
Erzielen einer genauen Sub-Chip DSSS Signalgewinnungs-Zeitsteuerung
einzusetzen.
-
Noch eine weitere Aufgabe der Erfindung liegt
darin, eine GPS Signalverarbeitungsarchitektur zu schaffen, die
eine schnelle Gewinnung von GPS Satellitensignalen an den Tag legt.
-
Noch eine weitere Aufgabe der Erfindung
ist es, ein GPS Signalgewinnungsverfahren anzugeben, das eine schnelle
und mit geringer Energie vor sich gehende Signalgewinnung erlaubt,
selbst wenn der GPS Empfänger
einen preiswerten lokalen Oszillator benutzt, der ungenau sein kann.
-
Gemäss einem Aspekt der Erfindung
wird ein Verfahren zum Korrelieren von Signalabschnitten gemäss Anspruch
1 bereitgestellt. Ein hochschneller Parallelkorrelator mit geringer
Leistungsaufnahme kann während
der DSSS Signalgewinnung verwendet werden, um den Energieverbrauch
für die
Akquisition zu reduzieren. Der Energieverbrauch des Empfängers wird
weiterhin reduziert, weil die Zeit, während der der Empfänger im
Einschaltzustand sein muß,
auf Grund der Geschwindigkeit des Parallelkorrelators reduziert
wird.
-
Ein Zeitintervall der Empfängerausgangsdaten
kann abgetastet und in einem Speicher gespeichert werden, und sodann
wird der Empfänger
ausgeschaltet. Das Zeitintervall ist lang genug, um die Gewinnung
eines jeden der in den gespeicherten Empfängerausgangsdaten enthaltenen
empfangenen CDMA DSSS Signale zu erlauben. Die gespeicherten Empfängerausgangsdaten
werden so viele Male aus dem Speicher erneut abgespielt, wie es
erforderlich sein mag, um jedes gewünschte CDMA Signal zu gewinnen.
Um den mit der Verarbeitung verbundenen Energieverbrauch gering
zu halten, kann ein paralleler (teilweise analoger) Korrelator mit
geringer Leistung in dem Akquisitionsprozeß benutzt werden. Dieser Lösungsansatz
benutzt viel weniger Energie als existierende digitale Kreuzkorrelatoren.
-
Ein zentralisiertes GPS Verfolgungssystem, das
das Verfahren gemäß der Erfindung
verwendet, erlaubt es, daß die
verfolgten Wertobjekte nur eine sehr geringe Energie verbrauchen
und einen Empfänger
mit einem preiswerten lokalen Oszillator benutzen. Die Benutzung
eines parallelen Korrelators erlaubt es, daß der lokale Oszillator ungenau
ist, weil viele Frequenzen während
des Akquisitionsprozesses bei geringer Energieaufnahme ohne weiteres durchsucht
werden. Darüber
hinaus erlaubt die Anwendung des Parallelkorrelators, daß ein Empfang und
eine Demodulation der GPS NAV Daten vermieden wird, was ferner die
durchschnittliche Einschaltzeit des Empfängers verringert. Die Kalenderdaten (almanac)
werden nicht länger
benötigt,
um eine verringerte Satellitensuchzeit zu unterstützen, weil
der Parallelkorrelator schnell alle Satellitencodes durchsuchen
kann. Da die Navigationslösung
nicht bei den Verfolgungseinheiten gebraucht wird, ist lediglich eine
begrenzte und sehr wenig Leistung verbrauchende Verarbeitung nötig, wobei
die Navigationslösung
in einer zentralen Station gebildet wird.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die als neu angesehenen Merkmale
der Erfindung sind in den beigefügten
Ansprüchen
aufgeführt.
Die Erfindung kann jedoch zusammen mit weiteren Aufgaben und Vorteilen
davon am besten verstanden werden unter Bezugnahme auf die folgende Beschreibung
in Verbindung mit den begleitenden Zeichnungen, in denen zeigen:
-
1 ein
Blockschaltbild eines Fernverfolgungssystems gemäß der vorliegenden Erfindung;
-
2 ein
Blockschaltbild einer Verfolgungseinrichtung für ein zu verfolgendes Objekt
gemäß der vorliegenden
Erfindung;
-
3 ein
Blockschaltbild einer konventionellen sequentiellen Akquisitionsarchitektur;
-
4 ein
Blockschaltbild der sequentiellen Signalverarbeitungsarchitektur
gemäß einer
Ausführung
der Erfindung;
-
5 ein
Blockschaltbild von der parallelen Signalverarbeitungsarchitektur
gemäß einer
weiteren Ausführung
der Erfindung;
-
6 eine
Darstellung des parallelen Korrelationsprozesses zwischen den gespeicherten
Daten und den gleitenden Replika-Wellenformen;
-
7 ein
Blockschaltbild, welches eine Struktur für die Erzeugung der Replikasequenz
zeigt;
-
8 ein
Blockschaltbild, welches ein kurzes Segment von einer Ausführungsform
des Datenspeichers, des Replikaregisters sowie des parallelen Korrelators
zeigt, der das Replika-Erzeugungsverfahren von 7 benutzt;
-
9 ein
Blockschaltbild, das eine Ausführung
von einer Stufe des zwei Sequenzen umfassenden Parallelkorrelators
von 8 zeigt;
-
10 ein
Blockschaltbild, das ein Verfahren für die Erzeugung von separaten
Code und Doppler Replikasequenzen zeigt;
-
11 ein
Blockschaltbild, das eine Ausführungsform
des Datenspeichers, des Code-Replikaregisters,
des Doppler-Replikaregisters sowie des Parallelkorrelators zeigt,
der das Verfahren nach 10 für die Replika-Erzeugung
benutzt;
-
12 ein
Blockschaltbild, das eine Ausführung
von einer Stufe des drei Sequenzen umfassenden Parallellcorrelators
von 11 zeigt;
-
13 eine
schematische Darstellung, die die Prinzipien von dem differentiellen
Digital-Analog Umsetzer sowie von der Summierung gemäß einem Aspekt
der Erfindung zeigt;
-
14 ein
Diagramm, das die ohne Rauschen sowie die mit Rauschen auftretende
Autokorrelationskurve für
einen kurzen Abschnitt der 1,0 ms C/A Code P/N Sequenz im Bereich
der Korrelationsspitze zeigt;
-
15 ein
Blockschaltbild, das ein Akquisitionssystem mit voller I/Q Verarbeitung
basierend auf einem Parallelkorrelator mit niedrigem Energieverbrauch
zeigt, in dem der HF/ZF Abschnitt zwei Quadraturausgänge erzeugt;
-
16 ein
Blockschaltbild von einer Ausführung
eines quadrierenden A/D Umsetzers;
-
17 ein
Blockschaltbild von einer kombinierten Organisation von Datenspeicher,
Replika-Generation und Parallelkorrelator, welche die Anzahl der
Coderegisterverschiebungen pro Code/Dopplerkombination reduziert;
-
18 eine
schematische Darstellung einer Digital-Analog Umsetzerzelle mit
einem Multiplizierer mit drei Sequenzen;
-
19 eine
schematische Darstellung von einer Pingpong Datenspeicherorganisation;
-
20 eine
schematische Darstellung eines Parallelkorrelators mit Daten-Doppler-Vormultiplikation;
-
21 ein
Blockschaltbild eines vollen I-Q Prozessors mit Daten-Doppler-Vormultiplikation;
und
-
22 ein
Blockdiagramm eines vollen I-Q Prozessors mit komplexer Daten-Doppler-Vormultiplikation.
-
23 ist
ein Blockschaltbild für
das mit niedriger Energie erfolgende Register-Schreibverfahren, das ein Abtast- bzw.
Scanner-Schieberegister benutzt.
-
DETAILLIERTE
BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMEN DER ERFINDUNG
-
1 zeigt
mehrere GPS Satelliten 12, ein zu verfolgendes bzw. zu
ortendes Objekt (Wertgegenstand), zum Beispiel einen ein Ortungungsgerät 14 tragenden
Waggon, sowie eine Zentralstation 16. Wie früher beschrieben,
sendet jeder Satellit 12 ein Signal aus, das ein GPS Empfänger in
dem Verfolgungsgerät 14 benutzt,
um die Ausbreitungsverzögerung
(sowie die Verzögerungsrate,
wenn die Geschwindigkeit des Wertobjekts gewünscht ist) von dem Satellit
zu der Empfängerantenne
zu messen. Die Satellitensignale enthalten weiterhin die sich periodisch
wiederholenden NAV Daten, die für
die Bestimmung einer Navigationslösung aus den gemessenen Zeitverzögerungen
benötigt
werden. Wegen der niedrigen Rate (50 Bits pro Sekunde)
der NAV Raten in dem GPS Signal muß ein Empfänger über eine wesentliche Zeitperiode
(von einer bis hin zu mehreren Minuten) aktiv sein, wenn die NAV
Raten gesammelt werden sollen. Darüber hinaus ändern sich von einem speziellen
Satelliten dessen NAV Daten mit der Zeit, und die GPS MCS überwacht
diese Änderungen
und liefert nahezu stündliche
Aktualisierungen für
die NAV Daten. Um genaue Navigations- bzw. Ortungslösungen sicher
zu stellen, muß jedes auf
dem GPS basierte Navigationssystem NAV Daten benutzen, die nicht
mehr als etwa vier Stunden alt sind. Wenn die Positionen der Wertobjekte
häufiger als
alle vier Stunden überwacht
werden sollen, dann müssen
mindestens alle vier Stunden neue NAV Daten gesammelt werden. Die
Pflege der NAV Daten erfordert dann im Durchschnitt etwa 15 Sekunden
an Empfängerbetrieb
pro Stunde, und dies bringt eine signifikante Energieanforderung
mit sich, wenn das für jedes
verfolgte bzw. zu ortende Objekt getan wird.
-
In einem Aspekt der vorliegenden
Erfindung wird die Navigationslösung
in der zentralen Station anstatt in dem Objekt berechnet. Es werden
keine der NAV Daten in dem verfolgten Objekt benötigt. Lediglich Daten bezüglich der
Ausbreitungsverzögerung
des GPS Signals zwischen jedem Satellit und dem Objekt müssen in
dem Objekt gemessen werden, und diese Daten werden sodann an die
zentrale Station geschickt. Die NAV Daten können in der zentralen Station 16 bestimmt
werden, indem man dort einen standardmäßigen GPS Empfänger benutzt oder
indem man mit einem entsprechend angeordneten standardmäßigen GPS
Empfänger
kommuniziert. Falls gewünscht,
können
die NAV Daten oder die Navigationslösungen an die verfolgten Objekte
kommuniziert werden über
eine Kommunikationsverbindung mit höherer Geschwindigkeit, die
weniger Energie für den
Empfang in dem Objekt erfordert. Indem keine NAV Datendekodierung
in dem Objekt nötig
ist, wird die GPS Signalgewinnung zur hauptsächlichen GPS Verarbeitungsaufgabe
in dem Objekt, und die Machbarkeit des zentralisierten Verfolgungssystems
wird in großem
Maße verbessert
durch die mit niedriger Energie arbeitenden Akquisitionsverfahren
nach der Erfindung.
-
Wie in 2 gezeigt,
enthält
ein Verfolgungsgerät 14 eines
Waggons einen Empfänger 2, der
auf die von einer Antenne 5 empfangenen Signale von den
GPS Satelliten anspricht, einen Prozessor 3 sowie einen
Sender 4. Die empfangenen Signale werden im Prozessor 3 verarbei tet,
um Differenzen hinsichtlich der Ausbreitungszeiten unter den von den
GPS Satelliten empfangenen Signalen festzustellen und zu nutzen.
Indem man die Zeitdifferenzen nutzt, wird die Notwendigkeit der
Kenntnis von den GPS Signal-Zeitmarken beim Objekt gemildert, und eine
Datenstromdekodierung ist daher beim Objekt unnötig. Ohne die Notwendigkeit
für eine
GPS Datenstromdekodierung verringert sich der Empfängerprozeß auf die
Akquisition der GPS Signale und auf die Berechnung der relevanten
Zeitdifferenzen (sowie Dopplerfrequenz-Differenzen, wenn die Geschwindigkeiten
der Objekte zu bestimmen sind) aus den Akquisitionsergebnissen.
Die berechneten Zeitdifferenzen sowie die Daten, welche die mit
den Differenzen im Zusammenhang stehenden Satelliten identifizieren,
werden vom Sender 4 von einer Antenne 6 an die
zentrale Station übertragen.
Eine Beschreibung des zentralisierten Verfolgungssystems, in dem
die GPS Signalakquisition einen wichtigen Teil des für das Objekt
geltenden GPS Energiebudgets darstellt, findet sich in GB-A-2,301,725.
-
3 zeigt
eine konventionelle Architektur für eine serielle Akquisition
bzw. Signalgewinnung, die einen seriellen Korrelator benutzt. In
einem konventionellen GPS Empfänger
folgt auf die Signalakquisition die Träger-P/N Codesynchronisation
sowie NAV Datendemodulation, jedoch sind die Bausteine für diese
Prozesse nicht in 3 gezeigt.
Die Architektur für
. die Signalakquisition enthält
einen HF/ZF (Hochfrequenz/Zwischenfrequenz) Abschnitt 21 mit einer
Antenne 211 einem HF Verstärker 212, einem Mixer 213 und
einem lokalem Oszillator 214 sowie ein Tiefpassfilter 215,
das ein empfangenes und nach unten umgesetztes Signal an den Analog-Digital (A/D)
Umsetzer 22 liefert. Der A/D Umsetzer 22 tastet typischerweise
ab und setzt um bei einem ganzzahligen Vielfachen der Replika C/A
Code Chiprate und liefert eine digitale Sequenz an einem seriellen
digitalen Korrelator 23. Der Korrelator 23 errechnet
seriell das innere (Skalar-) Produkt von einer digitalisierten Empfängerausgangs-Untersequenz
vom A/D Umsetzer 22 und einer C/A Replikacode-Untersequenz,
die von einem Code/Doppler- (oder Replika-) Generator 24 stammt.
Das innere Produkt wird seriell gebildet, indem man zuerst die ersten
Terme der zwei Untersequenzen in einem Multiplizierer 231 multipliziert
und das Ergebnis in einem kohärenten
Akkumulator 232 speichert, indem man dann die zweiten Terme
der beiden Untersequenzen multipliziert und deren Produkt zu dem
kohärenten
Akkumulator 232 hinzu addiert usw. Das innere Produkt wird
in Echtzeit ausgeführt,
und zwar in dem Maße,
wie Terme von Untersequenzen vom A/D Umsetzer 22 verfügbar werden.
Konventionell erstrecken sich die Untersequenzen gewöhnlich über eine
einzelne Periode des sich wiederholenden C/A Codes Nachdem ein inneres Produkt
berechnet worden ist, enthält
der kohärente
Akkumulator ein Sample der Kreuzkorrelation von der empfangenen
Untersequenz mit einem C/A Codezyklus des Replikasignals, und zwar
für den
bestimmten C/A Code, die Codeversetzung sowie die Dopplerfrequenz,
wie sie von dem Replikagenerator erzeugt wurden. Der Arbeitsgang
für die
innere Produktbildung wird wiederholt mit mehreren folgenden Untersequenzen
vom A/D Umsetzer 22, wobei man dieselbe Subsequenz des
Replika C/A Codes benutzt. Die nachfolgenden inneren Produktergebnisse werden
sodann mittels eines Quadrierers 29 quadriert und in einem
nicht-kohärenten
Akkumulator 30 aufsummiert, was eine nicht-kohärente Integration der
kohärenten
bzw. zusammenhängenden
Bearbeitungsergebnisse liefert. Das Ausgangssignal des nichtkohärenten Akkumulators 30 wird
mittels eines Schwellenwertdetektors 31 untersucht, und
es wird ein Befehl "Signal
gewonnen" erzeugt,
wenn der Signalpegel im nicht-kohärenten Akkumulator 30 ausreichend
hoch ist. Wenn ein Signal gewonnen ist, überwacht eine Steuerung 27 den
zugehörigen
C/A Codeindex (Satellitenindex), die Codeversetzung sowie die Dopplerfrequenz
und weist den Code/Dopplergenerator 24 an, entweder zu
einem anderen C/A Code zu wechseln (für einen anderen GPS Satellit)
und eine weitere Suche zu beginnen, oder anzuhalten, wenn ausreichend
Satellitensignale gewonnen worden sind. Wenn ein Signal nicht gewonnen
wurde, nachdem die mehreren Untersequenzen vom A/D Umsetzer 22 verarbeitet
worden sind, weist die Steuerung 27 den Code/Dopplergenerator
24 an, zu wechseln auf einen anderen C/A Code, zu einer anderen
Codeversetzung oder zu einer anderen Dopplerfrequenz. Während jedes
Satellitensignal so gewonnen wird, liefert die Steuerung 27 den
zugehörigen
Codeindex, die Codeversetzung sowie die Dopplerfrequenz an die (nicht
gezeigten) Einrichtungen für die
GPS Signalsynchronisation und NAV Datenverarbeitung.
-
Es müssen Vorkehrungen zum Suchen
aller machbaren C/A Codes, Codeversetzungen und Dopplerfrequenzen
vorgesehen werden. Die Steuerung 27 wählt den gewünschten C/A Code sowie die Codeversetzung
aus durch Befehle an einen Satelliten-Codegenerator 243 und
an einen Versatzgenerator 244 aus. Der Versatzgenerator 244 sorgt
für eine Zeitversetzung
der erzeugten Codenachbildung (Replika) vom Satelliten-Codegenerator 244 und
zwar relativ zu dem Bitstrom vom A/D Umsetzer 22. Ein Doppler
I/Q Generator 242 erzeugt eine digitale Darstellung der
Sinuskurve, welche die Kombination aus der Dopplerverschiebung und
dem von der Steuerung 27 angenommenen Frequenzfehler des
lokalen Oszillators repräsentiert.
Das Replikasignal wird von einem Multiplizierer 241 erzeugt
als das Produkt von dieser Sinuskurve und der C/A Codenachbildung bzw.
Replika. Um die Feststellung des GPS Signals sicherzustellen, muß der HF/ZF
Abschnitt 21 sowohl ein In-Phase(I)- als auch ein Quadratur(Q-
Ausgangssignal (in 3 nicht
gezeigt) erzeugen, und die beiden Signale müssen für die Signalgewinnung verarbeitet
werden. Darüber
hinaus muß jedes
der I und Q HF/ZF Ausgangssignale prozessiert werden mit den für I und
Q vorgesehenen sinusförmigen Dopplerkomponenten,
wie das für
Fachleute auf dem GPS Gebiet bekannt ist.
-
Der in 3 gezeigte
konventionelle Lösungsansatz
erfordert, daß die
Empfängerausgangsdaten
vom HF/ZF Abschnitt 21 so früh verarbeitet werden, wie sie
verfügbar
sind, und die Verarbeitung ist abhängig von der Coderate in dem
empfangenen Signal. Die Architektur eines verbesserten Prozessors
für die
sequentielle Signalgewinnung gemäß einem
Ausführungsbeispiel
der Erfindung ist in 4 gezeigt.
Die Architektur ist ähnlich
zu der von 3 mit der
Ausnahme, daß ein
Signalspeicher 33 hinzugefügt ist und daß die Leistung
für den
HF/ZF Abschnitt 21 nun von der Steuerung 35 kontrolliert
wird. Das von dem HF/ZF Abschnitt 21 gelieferte GPS Signal
wird vom A/D Umsetzer 22 in ein digitales Format umgesetzt,
die A/D Abtastrate kann jedoch jetzt auf ein kleines nicht-ganzzahliges
Vielfaches der C/A Coderate eingestellt werden. Der Speicher 33 speichert
von dem Eingangssignal eine für
die Signalgewinnung ausreichende Länge und gestattet es, den HF/ZF
Abschnitt nach der Speicherung abzuschalten. Der Akquisitions- bzw.
Gewinnungsvorgang schreitet sodann voran mit Lesen und möglicherweise
erneutem Lesen der in dem Speicher gespeicherten Daten. Der Energieverbrauch
wird dadurch erheblich verringert, weil der HF/ZF Abschnitt 21 signifikant
Energie verbraucht. Darüber
hinaus wird die Akquisitionsverarbeitung nicht mehr länger abhängig sein
von der Coderate des empfangenen Signals, wie das bei dem Stand
der Technik angemerkt worden ist. Die nicht-ganzzahlige Eingangs-
A/D Abtastrate erlaubt es dem Akquisitionsprozessor, genaue Zeitdifferenzen
der GPS Signalausbreitung (benötigt
für die
Bestimmung der Lokalisierungslösung)
zu bestimmen, während
man eine viel niedrigere Abtastrate benutzt. Wenn weiterhin der
eingangsseitige SNR (Störabstand)
nicht zu gering ist, oder wenn die Genauigkeitserfordernisse nicht
zu hoch sind, erlaubt es die kleine nichtganzzahlige Abtastrate,
die Zeitdifferenzen mit genügender
Genauigkeit zu bestimmen, so daß die
normalerweise benötigten
konventionellen Verfahren für
die Träger-
und P/N Codesynchronisation vermieden werden können (z. B. die kostspielige
(Costas) phasengesperrte Schleife für die Trägerverfolgung sowie die gemäß früh-spät verzögerungsgesperrte
Schleife für
die Codeverfolgung).
-
Ein Vorteil der Speicherung des empfangenen
Signalsegments in dem Speicher und des erneuten Auslesens des Speichers
nach Bedarf, um verschiedene SCD Gruppen (bins) zu bearbeiten liegt darin,
daß der
Korrelationsprozeß über einen
Zeitraum stattfinden kann ohne einen Genauigkeitsverlust bei der
Signalgewinnung auf Grund einer Instabilität oder Ungenauigkeit des örtlichen
Oszillators. Wenn weiterhin das gespeicherte Signal ebenfalls benutzt
wird, um die für
die Navigationslösung
benötigten
Zeitverzögerungen
abzuleiten, besteht keine Notwendigkeit zur Aufrechterhaltung einer
genauen Zeitsteuerung (timing) zwischen den Gewinnungs- und Verfolgungsphasen
beim GPS Empfang. Für
Anwendungen, bei denen die Navigationsgleichung nicht unmittelbar
nach der Messung benötigt
wird (z. B. bei der Objektverfolgung) kann ein GPS Empfänger mit
sehr geringer Leistung aufgebaut werden, indem man einen eine sehr
geringe Leistung brauchenden Integrationsprozeß für den sequentiellen Korrelator
(und andere Schaltungen) in Kombination mit einem Datenspeicher
von geringem Leistungsverbrauch benutzt. In der Industrie werden
eine sehr geringe Leistung benötigende
hochintegrierte Schaltungsprozesse entwickelt (z. B. ein 1,5 V,
0,35 Mikrometer, komplementärer
Metall-Oxid-Halbleiter- oder CMOS Prozeß).
-
Beim GPS System ist, wie bei den
meisten DSSS Systemen, der Störabstand
SNR vor der Signalverarbeitung sehr gering, und es muß eine erhebliche
Periode des empfangenen Signals prozessiert werden, um die hohe
SNR Korrelationsspitze zu erhalten, die für eine zuverlässige Signalfeststellung mittels
des Schwellenwertdetektors 31 gebraucht wird. Für normale
zivile GPS Anwendungen müssen ungefähr 20 ms
des Signals von dem HF/ZF Abschnitt 21 gespeichert und
prozessiert werden. Um die Speichergröße klein zu halten, wird das
Signal vom HF/ZF Abschnitt 21 mit einer niedrigen Rate
abgetastet und es wird lediglich auf wenige Stufen bzw. Pegel (levels)
quantisiert. Für
zivile Anwendungen erreichen konventionelle GPS Empfänger in
typischen Fällen
eine GPS Ortsbestimmungs- (Positions-) Genauigkeit von 30 Metern.
GPS Ortsbestimmungen mit dieser Genauigkeit können berechnet werden aus den
Signalcodeversetzungen, die mit einem Fehler von weniger als einem
Zehntel eines C/A Codechips gemessen werden. Die Signalcodeversetzung
wird gemessen, indem man die mit der Kreuzkorrelationsspitze in
Verbindung stehende Codeversetzung des Replikasignals aufzeichnet.
In einer Ausführungsform
der Erfindung wird eine Folge von Ergebnissen aus dem nicht-kohärenten Akkumulator 30 erzeugt,
um die Replikacodeversetzung zu vergrößern, während man den Codeindex und
die Dopplerfrequenz konstant hält.
Wenn ein großes Korrelationsergebnis
beobachtet wird, wird ein Interpolationsalgorithmus auf die Folge
von Ergebnissen angewendet, und die mit der Korrelationsspitze in
Verbindung stehende Codeversetzung wird abgeschätzt. Eine Genauigkeit der Codeversetzung
von einem Zehntel eines Codechips wird erreicht, während man
das Signal bei ungefähr
der doppelten C/A Code Chiprate abtastet. Einige konventionelle
GPS Empfänger
erreichen nicht die gewünschte
Genauigkeit von einem Zehntel Chip während der Signalgewinnung;
statt dessen machen einige das so während der Codesynchronisation,
indem sie das Signal bei der zweifachen C/A Code Chiprate abtasten
und die Abtastphase als Teil der verzögerungsgesperrten Schleife
für früher-später einschalten.
Alternativ erreichen andere konventionelle GPS Empfänger eine
Genauigkeit des Timings von einem Zehntel Chip, indem sie das Signal
beim Zehnfachen der C/A Code Chiprate abtasten und die Codeversetzung
in ein-zehntel Chipschritten aufzeichnen, was die größte Korrelationsspitze
ergibt. Eine reduzierte Abtastrate erfordert weniger Speicher und
geringere Prozessiergeschwindigkeiten.
-
Der SNR am Eingang zum A/D Umsetzer 22 liegt
deutlich unterhalb von Null, so daß man wenig Signalverlust erleidet,
wenn der A/D Umsetzer gerade mal drei entsprechend gewählte Darstellungspegel
benutzt. Jedes Sample kann in geeigneter Weise in einem Vorzeichen-Größenformat
unter Benutzung von lediglich zwei Datenbits codiert werden. Um
die Signalfeststellung sicherzustellen, müssen I und Q HF/ZF Ausgangssignale
erzeugt, gespeichert und prozessiert werden (nur ein HF/ZF Kanal
ist in den 3 und 4 gezeigt). Der Gebrauch
von drei oder mehr Darstellungspegeln kann eine erhebliche Widerstandsfähigkeit
gegen eine Störung
durch Nicht GPS Signale bieten, wie das für Fachleute auf dem GPS Gebiet
bekannt ist. Es ist jedoch ein kleinerer Datenspeicher erforderlich,
wenn lediglich zwei Darstellungspegel (ein Bit) für die I
und Q Signale benutzt werden, und dies weist einen Kostenvorteil
bei einigen Anwendungen auf. In einer Ausführungsform der Erfindung werden
die HF/ZF Ausgangssignale I und Q digitalisiert sowie gleichzeitig
gespeichert, und die Datenspeicherlänge ist ausreichend, um die
gesamte zür
Erzielung der Akquisition benötigte
Datensequenz (z. B. 20 ms) zu halten. Mit 1023 C/A Codechips
pro Millisekunde und indem beide HF/ZF Signale I und Q bei etwa
zwei Samples pro Codechip mit zwei Bits pro Sample abgetastet werden,
sind ungefähr
170.000 Speicherbits für
das 20 ms betragende Signalsegment erforderlich. Der Einfachheit
halber können
die I und Q Daten angesehen werden als gespeichert in separaten
I und Q Speichern. Wenn die geforderten Daten abgetastet, umgesetzt und
gespeichert worden sind, kann der Empfänger ausgeschaltet und die
aufgezeichneten Daten können
prozessiert werden.
-
Bei dem sequentiellen Verfahren werden
die gespeicherten Daten einmal während
des Korrelationsprozesses für
jede Kombination von Code, Codeversetzung und Dopplerverschiebung
erneut abgespielt (gelesen) In dem System von 4 wird die Folge von gespeicherten digitalen
Datensamples jeweils einzeln aus dem Speicher 33 gelesen.
Jedes Sample der Sequenz aus dem Speicher 33 wird mit dem
entsprechenden Sample der Sequenz aus dem Code/Dopplergenerator 24 im
Multiplizierer 231 multipliziert, und das Ergebnis wird
im kohärenten
Akkumulator 232 angesammelt. Die Folge oder das Datensegment
aus dem Code/Doppler- oder Replikagenerator ist für einen
bestimmten Code, eine bestimmte Codeversetzung sowie Dopplerfrequenz
im Test ausgebildet. Die Länge
der so prozessierten Speichersequenz ist die kohärente Integrationslänge und ist
in typischen Fällen
gewählt
als ein voller Zyklus des C/A Codes, der 1,0 Millisekunden (ms)
beträgt. Auf
diese Weise werden mehrere (z. B. zwanzig) benachbarte 1,0 ms Speicherdatensegmente
prozessiert, ohne die Replikasequenz zu verändern. Nachdem jedes 1,0 ms
betragende Segment prozessiert ist, repräsentiert der im kohärenten Akkumulator 232 gespeicherte
Wert die Kreuzkorrelation zwischen den 1,0 ms betragenden Replika-
und Datensegmenten (Sequenzen). Dieser Wert wird mittels des Quadrierers 29 quadriert
und auf den nicht-kohärenten
Akkumulator 30 aufaddiert. Bevor das erste 1,0 ms betragende
Segment für
ein gegebenes Replikasignal prozessiert wird, wird der nicht-kohärente Akkumulator 30 auf
Null zurückgesetzt,
so daß das
endgültige
akkumulierte Ergebnis das gesamte Korrelationsergebnis repräsentiert
für den
jeweiligen Code, die Codeversetzung sowie die Dopplerfrequenz, wie
sie von dem Replikasignal spezifiziert werden. In gleicher Weise
wird der kohärente
Akkumulator zurückgesetzt,
bevor jedes 1,0 ms betragende Segment prozessiert wird. Der Schwellenwertdetektor 31 überwacht
das Korrelationsergebnis und produziert ein Signal "Signal gewonnen", wenn das Ergebnis
größer ist
als ein spezifizierter Stellenwert. Auf den Empfang eines Signals "Signal gewonnen" hin führt die Steuerung 35 eine
einfache Spitzenwertsuche sowie einen Interpolationsalgorithmus
(nachfolgend beschrieben) durch, um die beste Abschätzung für die mit
dem gegebenen Codeindex sowie mit der gerade untersuchten Dopplerfrequenz
im Zusammenhang stehende Codeversetzung zu finden. Die Steuerung 35 wählt sodann
eine andere Kombination aus Code, Codeversetzung und Dopplerfrequenz
aus und gibt Befehl an den Replikagenerator, das Replikasignal zu ändern, um
diesen Wechsel wiederzugeben. Der Signalgewinnungspro zeß wird für mehrfache
Replikasignale entsprechend den zu suchenden Codes, Codeversetzungen
und Dopplerfrequenzen wiederholt und wird angehalten, wenn die gewünschte Anzahl
von GPS Signalen (verschiedenen C/A Codes) gewonnen worden ist.
Die Steuerung 35 erzeugt sodann als ein Ausgangssignal
die Code-Indizes, die abgeschätzten
Versetzungen und Dopplerfrequenzen, die den gewonnenen Signalen
zugeordnet sind.
-
Die I und Q Speicherdaten können sequentiell
verarbeitet werden (z. B. zunächst
alle I Daten, dann alle Q Daten), indem man einen digitalen Korrelator 23,
wie in 4 gezeigt, benutzt.
Alternativ können
die I und Q Speicherdaten gleichzeitig unter Einsatz getrennter
digitaler Korrelatoren verarbeitet werden. Um die Signalgewinnung
sicherzustellen, muß in
jedem Fall die I und Q Doppler-Verarbeitung für beide I und Q Speicherdaten
durchgeführt
werden. Es gibt somit vier I-Q Kombinationen und diese können sequentiell
prozessiert werden mit einem einzigen digitalen Korrelator, oder
gleichzeitig mit mehrfachen Korrelatoren. In einem sequentiellen
Verfahren wird das Korrelationsergebnis für die volle Speicherdatensequenz
mit einem gegebenen Replika-Codeindex, einer gegebenen Codeversetzung
und Dopplerfrequenz wie folgt berechnet: Zuerst werden die kohärenten und
nicht-kohärenten
Akkumulatoren auf Null zurückgesetzt.
Dann werden die I Speicherdaten mit dem I Doppler-Replika prozessiert,
und das Korrelationsergebnis wird im kohärenten Akkumulator gesammelt.
Dann werden Q Speicherdaten mit dem Q Doppler-Replika prozessiert,
und das Korrelationsergebnis wird weiterhin in dem kohärenten Akkumulator
angesammelt. Das gesamte Ergebnis der kohärenten Akkumulation wird sodann
mittels des Quadrierers 29 quadriert und dem nicht-kohärenten Akkumulator 30 hinzugefügt. Der
kohärente
Akkumulator wird dann zurückgesetzt.
Als nächstes
werden die Q Speicherdaten prozessiert mit dem I Doppler-Replika,
und das Korrelationsergebnis wird in dem kohärenten Akkumulator gesammelt;
sodann werden die I Speicherdaten mit dem Q Doppler-Replika prozessiert,
und das Korrelationsergebnis wird invertiert (mit –1 multipliziert)
und weiterhin in dem kohärenten
Akkumulator angesammelt. Das gesamte Ergebnis der kohärenten Akkumulation
wird sodann mittels des Quadrierers 29 quadriert und dem
nicht-kohärenten Akkumulator 30 hinzugefügt. Dieser
Prozeß wird
für jedes
1,0 ms betragende Speicherdatensegment wiederholt, ohne den nicht-kohärenten Akkumulator zwischen
den Segmenten zurückzusetzen,
und erfordert zwei volle Lesezyklen sowohl für die I als auch für die Q
Speicherdaten. Es können
die Akquisitionszeit und Energie reduziert werden, indem man separate
I und Q Dopplergeneratoren 242, Multiplizierer 241 und
digitale Korrelatoren 23 verwendet, um alle vier I-Q Kombinationen
gleichzeitig zu verarbeiten.
-
In einer praktischen Ausführung enthält der Code/Dopplergenerator 24 den
Doppler I/Q Generator 242, den Satelliten/Codegenerator 243,
den Versatzgenerator 242 sowie den Multiplizierer 241,
wie in Figur gezeigt. Der Doppler I/Q Generator 242 erzeugt
eine digitale Sequenzdarstellung von einer Sinus- oder Kosinuskurve
bei der gewünschten
Frequenz in Bezug auf die Abtastrate und kann zum Beispiel implementiert
werden mit einen Nur-Lesespeicher
(ROM), der von einem Adresszähler
betrieben wird. Die Frequenz und Phase (I oder Q der Sinuskurve
kann ausgewählt
werden durch Steuerung der Reihenfolge, in der die gespeicherten
Sinuskurvensamples gelesen werden (z. B. mittels Adressendezimierung
bzw. mittels Ausvrahl der Startadresse). Andere digitale Sinusgeneratoren
sind für
Fachleute auf dem Gebiet ebenfalls bekannt. Für die GPS C/A Codes kann eine
gut bekannte Maschine benutzt werden, um die C/A Codebits in der
richtigen Reihenfolge zu erzeugen. Die Doppler-Sinus- sowie C/A Codewerte werden mittels
des Multiplizierers 241 multipliziert, um das Replikasignal
zu liefern. Es ist Vorkehrung getroffen zum Suchen aller machbaren
Codeversetzungen mittels einer Zeitverschiebung der gespeicherten
Codenachbildung vom Satelliten-Codegenerator 243 unter
Benutzung des Versatzgenerators 244. Mit dem Aufbau der
Zustandsmaschine des Satelliten-Codegenerators 243 wird
eine bestimmte Codeversetzung bewirkt, indem man die Zustandsmaschine
voreinstellt auf den zugehörigen
Zustand, bevor man den Korrelationsprozeß startet. Die den unterschiedlichen
Codeversetzungen entsprechenden anfänglichen Zustände können in
einem ROM gespeichert und mittels eines einfachen binären Adresszählers indexiert
werden.
-
In der Praxis wird die Akquisitionssuche
bequem durchgeführt,
indem man zunächst
einen Code und eine Dopplerfrequenz auswählt, und sodann durch verschiedene
Codeversetzungen schaltet. Darin wird die Dopplerfrequenz geändert und
die verschiedenen Codeversetzungen werden erneut untersucht. Der
nicht-kohärente
Akkumulator 30 kann implementiert werden als ein Array
bzw. Feld von Akkumulatoren, jeweils einer für jeden Kandidaten einer Codeversetzung
in einer Sequenz von benachbarten Versetzungen. Diese Organisation
des Akkumulators erlaubt es, die Ergebnisse für nebeneinander liegende Versetzungen
gleichzeitig zu untersuchen, so daß ein Interpolatsionalgorithmus
angewendet werden kann, um den Subchip-Versetzungswert zu finden, der
mit der aktuellen Ergebnisspitze in Verbindung steht.
-
Wenn ein sequentieller Algorithmus
für die Interpolation
benutzt wird, kann der Spitzenwert für die Versetzung interpoliert
werden, während
man lediglich ein einzelnes Akkumulatorelement benutzt.
-
Die gesamte Akquisitionszeit läßt sich
verringern, indem man viele Codeversetzungen gleichzeitig prozessiert.
Zum Beispiel können
mehrere digitale Korrelatoren 23 benutzt werden, die jeder
mit einer unterschiedlich verzögerten
Version des Replikasignals betrieben werden. Die verschiedenen Verzögerungen
können
mit einer angezapften und mit dem Ausgang des Code/Dopplergenerators 24 gekoppelten
Verzögerungsleitung
implementiert werden. Die verschiedenen Abgriffe können dann
jeweils einen separaten seriellen digitalen Korrelator 23 betreiben, und
die Ergebnisse von jedem Korrelator können separat quadriert und
in zugeordneten Elementen eines nicht-kohärenten Akkumulatorfeldes angesammelt werden.
-
Eine alternative Architektur gemäß einem weiteren
Aspekt der Erfindung eines GPS Empfängers, die sowohl einen geringen
Leistungsverbrauch als auch eine schnelle Signalgewinnung bietet,
ist in 5 gezeigt. Die
Akquisitionsarchitektur ist ähnlich zu
der von 4 mit der Ausnahme,
daß der
serielle digitale Korrelator, die seriellen Doppler- sowie P/N Codegeneratoren
und seriell gelesene Speicher nun ersetzt sind durch einen parallelen
Korrelator 36, parallele Doppler- und P/N Codegeneratoren 37 bzw. einen
parallelen Lesespeicher 33. Ein Aspekt der Erfindung ist
ein Verfahren zum massiven parallelen analogen Aufsummieren in dem
parallelen Korrelator. Die analoge Summierung in Kombination mit
der massiv parallelen Organisation des Speichers, des Replika-Generators
sowie der Korrelatorelemente sorgt für die drastischen Zeit- und
Energiereduzierungen in den Korrelationsprozessen. Das analoge Summierungsergebnis
wird umgewandelt in eine digitale Form mittels des A/D Umsetzers 38,
der kombiniert werden kann mit dem Quadrierer 29, wie nachfolgend
beschrieben. Die parallele Architektur nutzt ferner den Vorteil
der konventionellen, wenig Energie verbrauchenden komplementären Metall-Oxid-Halbleiter
(CMOS) integrierten Schaltkreistechnologie aus, um einen geringen
Energieverbrauch zu erreichen. Der Energieverbrauch in CMOS Schaltungen
wird bestimmt vom Laden und Entladen der mit den Schaltungsknoten
zusammenhängenden Kapazitäten; es
wird wenig Energie gebraucht an Knoten, deren Spannungen statisch
(unveränderlich) sind
oder deren Kapazität
klein ist. Mit dieser Erfindung werden die Doppler- und P/N Code-Replikageneratoren
und Register, der Datenspeicher sowie der parallele Korrelator im
Sinne einer Minimierung der Anzahl von CMOS Knoten organisiert,
die während des
Korrelationsprozesses geladen und entladen werden.
-
6 illustriert
das Konzept für
die parallele Korrelation und zeigt Kurvenverläufe für den Fall, bei dem die empfangenen
und nachgebildeten (Replika-) Signale keine Dopplerverschiebung
aufweisen. Digitalisierte Signaldaten werden sequentiell in den
Datenspeicher geschrieben, so wie sie vom HF/ZF Abschnitt 21 und
vom A/D Umsetzer 22 verfügbar werden. Der Datenspeicher 33 ist
für eine
massive Parallelausgabe organisiert, so daß am Ausgang gleichzeitig eine
lange Datensequenz verfügbar
ist. Weiterhin wird ein Schieberegister 1004 mit dem gewählten Replikasignal
geladen und ist organisiert für
eine massive parallele Ausgabe mit derselben Länge wie der von dem Datenspeicher.
Ein Sample von der Kreuzkorrelation (d. h. dem inneren Produkt)
zwischen der parallelen Datensequenz und der parallelen Replikasequenz
für eine
gegebene Dopplerfrequenz, Codeversetzung sowie Codeindex wird auf einmal
mittels des parallelen Korrelators 1000 erzeugt. Im parallelen
Korrelator 1000 wird jedes Element der Speicherdatensequenz
mit dem entsprechenden Element der Replikasequenz multipliziert, indem
man einen entsprechenden Multiplizierer in einem Feld von Multiplizierern
benutzt. Die Ausgangssignale der Multiplizierer werden gleichzeitig
aufsummiert, um das kohärente
Bearbeitungsergebnis am Ausgang des Korrelators zu bilden. Das kohärente Bearbeitungsergebnis
für eine
benachbarte Codeversetzung wird erzeugt, indem man das Replikaregister
um einen Schritt verschiebt, während
man die Speicherdaten stationär
hält. Alternativ
kann das Replikasignal stationär
gehalten werden, während
die Speicherdaten verschoben werden.
-
In einer interessanten Ausführung der
Erfindung sind die Daten am Parallelausgang und die Replikasequenzen 1,0 ms
lang und erstrecken sich über einen
einzelnen Zyklus des C/A Codes. Die Datensequenz wird erzeugt von
dem HF/ZF Ausgangssignal, indem man bei der Geschwindigkeit von
etwa zwei Samples pro C/A Codechip abtastet und mit einem A/D Umsetzer
unter Verwendung eines Zwei-Bit Vorzeichen-Grössenformats in drei Pegel bzw.
Ebenen digitalisiert. Diese Abtastrate sowie Anzahl von Ebenen vermeidet
Fehlzuordnungen, geht einer wesentlichen Verschlechterung des SNR
(Störabstands) aus
dem Wege, wenn die A/D Schwellenwertpegel passend gewählt sind,
und liefert Sequenzlängen
in der Größenordnung
von 2100 Samples. Das Vorzeichen-Größenformat erlaubt es, einen
einfachen Multiplizierer in dem oben beschriebenen Multipliziererfeld
zu benutzen. Es sind andere attraktive Datendarstellungen, Abtastraten
und Sequenzlängen
am Parallelausgang möglich,
wie das für
Fachleute auf dem Gebiet ersichtlich ist.
-
7 zeigt
ein Verfahren für
die Erzeugung der Replikasequenz mit Parallelausgang. In einem Code/Dopplergenerator 1008 erzeugt
ein C/A Codegenerator 1001 die gewünschte C/A Codesequenz, und
ein digitalisierter Sinusgenerator 1002 erzeugt die digitalisierte
Sinuskurvensequenz mit der gewünschten
Phase sowie Dopplerfrequenz. Ein Multiplizierer 1003 multipliziert
sequentiell den Code und die Sinuskurvensequenzen, die von dem Code/ Dopplergenerator 1008 geliefert
werden, um die Replikasequenz zu erzeugen, und diese Sequenz wird verschoben
in ein Code/Doppler- (Replika-) Register 1004 mit parallelen
Ausgängen.
-
Die Replikasequenz wird vorzugsweise
dargestellt im Drei-Pegel (Zwei-Bit) Vorzeichen-Grössenformat
oder in einem Zwei-Pegel (Ein-Bit) Vorzeichenformat, da diese Formate
die Komplexität
und den Energieverbrauch des parallelen Korrelators im Hinblick
auf ein Format, das mehr Bits benutzt, verringern. Mit nur drei
oder weniger Pegeln wird die Dopplerkomponente in der Replikasequenz
einen hohen harmonischen Gehalt aufweisen, und diese Harmonischen
können
fälschlich
mit einem Eingangssignal korrelieren. Dieses Problem kann verhindert
werden, indem man die HF/ZF Frequenz des lokalen Oszillators derart
wählt,
daß das
HF/ZF Ausgangssignal gegenüber
der Nullfrequenz wesentlich versetzt ist. Indem man die Versetzung
groß genug wählt, werden
die Harmonischen von allen resultierenden notwendigen Doppler-Replikafrequenzen deutlich
oberhalb von der höchsten
Doppler-Replikafequenz liegen. Das Problem mit den Harmonischen ist
Fachleuten auf dem Gebiet des Designs von Superheterodynempfängern bekannt.
Falls gewünscht können die
harmonischen Pegel des Doppler/Replikasignals verringert werden,
indem man mehr Bits in der Doppler- und Replikasequenzdarstellung
benutzt sowie mehr Bits pro Sample in dem Replikaregister. Dies
wird jedoch den Energieverbrauch und die Komplexität (Größe) für die Implementation
der Signalgewinnung erhöhen.
-
8 zeigt
ein kurzes Segment einer Ausführung
des Datenspeichers 33, des Replika-Schieberegisters 1004 sowie
des parallelen Korrelators 1000, welche Ausführung das
Verfahren zur Replikaerzeugung von 7 benutzt.
Sowohl die Daten- als auch die Replikasequenzen benutzen eine Zwei-Bit Vorzeichen-Grössendarstellung,
und da die Reihen von Elementen in jedem der Speicher 33,
der Schieberegister 1004 sowie der Korrelatoren 1000 zueinander
in säulenförmiger Art
ausgerichtet sind, können
die Bits für
das Vorzeichen (S) und die Grösse (M)
der entsprechenden Samples von den zwei Sequenzen in jeder Säule bequem
in einen entsprechenden Multiplizierer 1200 eingespeist
werden. Mit Eingangswerten für
Vorzeichen und Grösse
von beispielsweise entweder –1,
0, oder 1 von den zwei Eingangssequenzen erzeugt jeder Multiplizierer 1200 entweder –1, 0, oder
1 als ein Ausgangssignal. Ein separater Digital-Analogumsetzer 1300 wandelt
jedes digitale Ausgangssignal des Multiplizierers in eine analoge
Form um. Alle Ausgangssignale der D/A Umsetzer werden aufsummiert,
indem man sie an einen gemeinsamen Ausgang liefert, der das analoge
Korrelationsergebnis darstellt. Die analoge Summierung wird praktisch
implementiert, indem man eine Ladungssummierung benutzt, es sind
jedoch alternative analoge Summierungsformen ebenfalls möglich. Diese
Summierungsmethode ist räumlich
effizient, erfordert sehr wenig Energie, verlangt nicht nach irgendeinem
analogen Speicher und ist sehr schnell. Ein weiterer Vorteil dieser
parallelen Korrelatorarchitektur besteht darin, daß die Code- und
Dopplersequenzen programmierbar sind, was es einem einzelnen Korrelator
erlaubt, schnell über
viele Codeindizes, Versetzungen und Dopplerfrequenzen in dem Akquisitionsprozeß zu suchen.
-
9 zeigt
eine Ausführung
von einer Stufe des parallelen Korrelators für zwei Sequenzen nach B. Der Multiplizierer 1200 erzeugt
Ausgangsbits für
Vorzeichen und Grösse,
welche die Schalter 1400 und 1500 im D/A Umsetzer 1300 steuern.
Die Schalter verbinden ein Ende von einem ladungssummierenden Kondensator 1100 entweder
mit einer positiven oder mit einer negativen Bezugsspannungsschiene
oder mit einer Ausgangsbezugspannungsschiene (z. B. Masse). Die
Summe wird gebildet mittels einer zweistufigen Prozedur. Zuerst
wird die Leitung für
die Ladungsrücksetzung
auf den unteren Pegel gesetzt, was einen Ladungsrücksetzschalter 1600 schließt und den
Schalter 1400 in jeder parallelen Korrelatorstufe dazu
bringt, den zugehörigen Kondensator
mit der Ausgangsbezugsspannungschiene (Masse in 9) zu verbinden. Dies entlädt alle
Kondensatoren. Dann wird die Leitung für die Ladungsrücksetzung
auf den oberen Pegelwert gesetzt, was den Ladungsrücksetzschalter 1600 öffnet und
es erlaubt, daß die
Daten- und Replikawerte in jeder parallelen Korrelatorstufe die
zugeordneten Vorzeichen- und Grössenschalter 1500 bzw. 1400 steuern.
Dieser zweistufige Vorgang stellt sicher, daß über die Zeit keine Überschußladung
auf den Kondensatoren für
die Ladungssummierung anwächst. Es
ist vorteilhaft, daß dieser
parallele Korrelator in nur geringe Kosten verlangenden digitalen
Prozessen implementiert werden kann, indem man zum Beispiel Metall-Metall-"Überkreuzungs-" Kondensatoren und
binäre
elektronische Schalter benutzt. Schließlich ist es vorteilhaft, daß die Ladungssummierung über mehrere
integrierte Schaltungen erweitert werden kann, indem man einfach
die Summierungsleitungen weiter erstreckt.
-
10 zeigt
ein weiteres Verfahren für
die Erzeugung des Replikasignals. Bei diesem Verfahren werden die
Code- und Doppler-Replikasequenzen in separaten Registern mit Parallel-Ausgängen gespeichert.
Der C/A Codegenerator 1001 von dem Code/Dopplergenerator 1010 erzeugt
die gewünschte C/A
Codesequenz, und diese Sequenz wird in ein Code-Replikaregister 1005 verschoben.
In gleicher Weise erzeugt ein digitalisierter Sinuskurvengenerator 1002 des
Code/Dopplergenerators 1010 die digitalisierte Sinuskurvensequenz
mit der gewünschten Phase
sowie Dopplersequenz, und diese Sequenz wird in das Doppler/-Replikaregister 1006 verschoben.
-
11 zeigt
eine Ausführung
des Datenspeichers 33, des Code-Replikaregisters 1005,
des Doppler-Replikaregisters 1006 sowie des parallelen Korrelators 1000,
welche Ausführung
das Verfahren zur Replikaerzeugung von 10 benutzt. Es werden ein separates Coderegister 1005 sowie
Dopplerregister 1006 benutzt, was separate Speicherdaten-, Code-
und Dopplersequenzen liefert. Es werden Bitstellen für das Vorzeichen
(S) und die Grösse
(M) der entsprechenden Samples von den drei Sequenzen in die entsprechenden
Multiplizierer 1201 eingespeist. Mit Eingangswerten für Vorzeichen-Grösse von
z. B. –1,
0 oder 1 von den Daten- und
Dopplersequenzen sowie –1
oder 1 von den Codesequenzen erzeugt jeder Multiplizierer 1201 entweder
eine –1,
eine 0 oder eine 1 als ein Ausgangssignal. Die Ausgangssignale der
verschiedenen Multiplizierer werden alle gleichzeitig aufsummiert,
indem man eine analoge Summierung anwendet, wie das vorher für den parallelen Korrelator
mit zwei Sequenzen beschrieben wurde.
-
12 zeigt
eine Ausführung
von einer Stufe des parallelen Korrelators für drei Sequenzen nach 11. Die gezeigte Korrelatorstufe
ist ähnlich
zu der des parallelen Korrelators mit zwei Sequenzen nach 9 mit Ausnahme dessen, daß der Multiplizierer
ein extra Exklusiv-ODER-Glied 1205 besitzt, um es dem separaten
Coderegisterbit zu erlauben, auf das Vorzeichen des Multiplikationsergebnisses Einfluß zu nehmen.
-
Die parallelen Korrelatoren mit zwei
und drei Sequenzen nach den 8 und 11 können verallgemeinert werden
auf Parallelkorrelatoren mit vielfachen Sequenzen. In Bezug auf
den Korrelator mit zwei Sequenzen hatte der Korrelator mit drei
Sequenzen eine der Kreuzkorrelationssequenzen (die Nachbildung bzw.
Replika) in zwei separate Sequenzen zerlegt. Diese Zerlegung läßt sich
anwenden sowohl auf die Daten- als auch auf die Replikasequenzen
im allgemeinen, um einen Parallelkorrelator mit mehrfachen Sequenzen
oder eine Skalarproduktmaschine vorzusehen.
-
Eine analoge "differentielle" Aufsummierung in dem Parallelkorrelator
kann eine geringere Rauschanfälligkeit
sowie andere Vorteile aufweisen. 13 zeigt
eine praktische Konfiguration für
eine differentielle Aufsummierung. In jeder Stufe des parallelen
Korrelators werden zwei D/A Umsetzer parallel von denselben, das
Vorzeichen und die Grösse betreffenden
Ausgangssignalen aus dem zugehörigen
Multiplizierer betrieben. Ein Umsetzer wird als positiv bezeichnet
und sein Kondensator verbindet mit einer positiven Summierungsleitung,
und der andere Umsetzer wird als negativ bezeichnet und sein Kondensator
verbindet mit der negativen Summierungsleitung. Die in jedem Umsetzer
gezeigten Schalter werden als elektronische Schalter ausgeführt, was
auf dem Fachgebiet wohl bekannt ist. Die beiden Umsetzer arbeiten
in identischer Weise mit der Ausnahme, daß der Vorzeichenschalter 1500 in dem
negativen Umsetzer in der umgekehrten Richtung eine Verbindung herstellt
im Vergleich zu dem Vorzeichenschalter im positiven Umsetzer. Bei
dem differentiellen Verfahren muß die Differenz zwischen den
positiven und negativen Summierungsergebnissen genommen werden,
um das endgültige
kohärente
Korrelationsergebnis zu bestimmen. Dies kann durchgeführt werden,
indem man beispielsweise einen linearen Hochgeschwindigkeitsverstärker oder einen
Differenzverstärker
mit geschalteten Kondensatoren benutzt, wie das für Fachleute
auf dem Gebiet bekannt ist. Alternativ können die positiven und negativen
Summierungsergebnisse separat A/D umgesetzt und dann ihre Differenz
digital berechnet werden, und zwar vor der Quadrierung sowie der nicht-kohärenten Akkumulierung.
-
Das mit drei Sequenzen arbeitende
parallele Korrelationsverfahren von 11 braucht
weniger Leistung als das mit zwei Sequenzen arbeitende Verfahren
von 8, weil nur das
1-Bit tiefe Coderegister verschoben zu werden braucht, wenn man
die Korrelationsergebnisse für
anschließende
Codeversetzungen entwickelt; die Sequenz in dem separaten Dopplerregister
kann festgehalten werden. Das Verschieben eines Registers, das zwei
Bitstellen tief ist, verbraucht ungefähr doppelt so viel Leistung
wie ein Schieberegister, das ein Bit tief ist. Weil das Verschieben
eines Registers ein bestimmender Energieverbraucher bei dem Lösungsansatz
der parallelen Korrelation darstellt, ist das mit drei Sequenzen
arbeitende Verfahren vorteilhaft. Auf der anderen Seite benutzt
das Verfahren mit zwei Sequenzen weniger Schieberegisterelemente
(Bits) und weniger Exklusiv-ODER-Glieder in den Multiplizierern
und ist daher von kleinerer Ausführung.
Der Unterschied hinsichtlich der Implementationsgrösse verringert
sich in dem Maße,
wie die Anzahl von Bitstellen der Doppler-Replika-Darstellung vergrößert wird.
-
Die in den 9 und 12 gezeigten
D/A Umsetzer wenden Serienschalter an zur Ladungssteuerung der Ladungssummierungs-Kondensatoren. Eine
alternative Ausführung
für den
Multiplizierer sowie den Analogumsetzer (D/A) ist für den Fall
von drei Sequenzen in 18 gezeigt.
Ein Vorteil dieser Ausführung
besteht darin, daß digitale
Logikfunktionen direkt die Kondensatoren für die Ladungssummierung betreiben
und eine Serienverbindung von Schaltern nicht benötigt wird.
Diese Multiplizierer-D/A Kombination wird ohne weiteres in einem
standardmäßigen digitalen
CMOS Prozeß implementiert.
Die Kondensatoren 1101 und 1102 sind von im wesentlichen
demselben Wert und sorgen zusammen für eine D/A Umsetzung mit drei
Pegeln, zum Beispiel mit –1,
0 und +1. Der –1
Pegel wird aufgerufen, indem man beide Kondensatoren auf das untere
Potential (digitale Masse) führt,
der +1 Pegel wird aufgerufen, indem man beide Kondensatoren auf
das obere Potential (digital Vdd) führt und der 0 Pegel wird aufgerufen,
indem man einen Kondensator nach oben zieht, während man den anderen nach
unten zieht. In einem Multiplizierer 2001 multiplizieren
das Exklusiv-NOR-Glied 1210 sowie
das UND-Glied 1211 die Zwei-Bit Daten- und Dopplerwerte,
um das Vorzeichen-Grössen-Produkt
zu bilden. Das Exklusiv-NOR-Glied 1212 wandelt dann das
Zwei-Bit-Produkt um in A und B Signale, welche die beiden Kondensatoren
in entweder derselben oder in verschiedenen Richtungen laden. Schließlich multiplizieren die
Exklusiv-NOR-Glieder 1213 die
A und B Signale mit dem binären
Codewert, während
die NOR-Glieder 1214 für Massepotential
an den Kondensatoren sorgen, um diese während der Rücksetzphase zu entladen.
-
Für
eine gegebene Länge
des gespeicherten GPS Signals gibt es einen Kompromiß zwischen
der Länge
der kohärenten
und nicht-kohärenten
Bearbeitung. Wenn die Länge
der kohärenten
Korrelation vergrößert wird,
wird der SNR (Störabstand)
von jedem kohärenten
Bearbei tungsergebnis vergrößert, es
nimmt aber die Anzahl der für
eine Quadrierung und nichtkohärente
Akkumulation (Integration) verfügbaren
kohärenten
Bearbeitungsergebnisse ab. Für
Fachleute auf dem Gebiet ist es bekannt, daß der SNR sich um 10 dB pro
Dekade an kohärenter
Bearbeitungslängenzunahme
verbessert, daß er
aber nur um etwa 5 dB pro Dekade an nicht-kohärenter Bearbeitungslänge zunimmt.
Somit wird der SNR bei der Vor-Detektion für eine gegebene Speicherdatenlänge maximiert,
indem man eine lange kohärente
Korrelation durchführt.
Eine unvorhersehbare Empfängerbewegung
oder ein Zittern (jitter) des lokalen Oszillators wird jedoch die
machbare Länge
für die
kohärente
Bearbeitung begrenzen. Weiterhin gilt, daß, wenn die kohärente Korrelationslänge vergrößert wird,
die Bandbreite der Dopplergruppen (bins) verringert wird, und dies
führt zu
mehr Dopplergruppen, die durchsucht werden müssen. Die Architekturen nach
den 4 und 5 erlauben in einfacher Weise
einen dynamischen Eintausch der kohärenten und nicht-kohärenten Bearbeitungslänge durch
Steuerung des Replikagenerators, durch Rücksetzen der kohärenten und
nichtkohärenten
Akkumulatoren und durch Umgehen der Quadrierfunktionen.
-
Es ist gewöhnlich zutreffend, daß der für eine zuverlässige Detektion
benötigte
SNR bei der Vor-Detektion kleiner ist als der für eine genaue Feststellung
der Korrelationsspitze (d. h. für
die Interpolation) benötigte
SNR. Es können
somit die Akquisitionszeit und Energie minimiert werden, wenn man kürzere kohärente Korrelationen
benutzt (und somit über
weniger Dopplergruppen sucht, die so breit sind, wie es die Einschränkungen
hinsichtlich der Detektionszuverlässigkeit erlauben werden) bis
eine Korrelationsfeststellung beobachtet wird, und indem man dann
erneut die Daten mit längerer
kohärenter
Korrelation prozessiert unter Verwendung von Codeversetzungen und
Dopplerverschiebungen nahe den Werten, die den Detektionsfall ergaben,
um den SNR zu vergrößern und
eine überlegene
Codeversetzungsinterpolation zu leisten. Die Architekturen nach
den 4 und 5 erlauben diesen zweistufigen
Prozeß in einfacher
Weise.
-
14 zeigt
einen Ausschnitt der Kurvenform für die rauschfreie Autokorrelation
für eine
1,0 ms C/A Code P/N Wellenform (nicht abgetastet). Der Wert der
Autokorrelation liegt sehr nahe bei Null für alle Versetzungen von größer als
einer Chipweite und stellt eine Dreiecksfunktion (der Versetzung)
für Versetzungen
zwischen –1
und +1 der Chipweite dar. Nach einem anderen Aspekt der Erfindung
wird eine genaue Zeitabschätzung
für eine
Sub-Chip Korrelationsspitze erreicht, ohne daß man Abtastraten benutzt,
die wesentlich größer als zweimal
die C/A Chiprate sind, und zwar indem man eine Abtastrate verwendet,
die ein nicht ganzzahliges Vielfaches der C/A Chiprate ist. Mit
einer ganzzahligen Anzahl N von Samples pro C/A Codechip bleibt
der Samplewert der Autokorrelation mit diskreter Zeit im wesentlichen konstant über eine
Zeitversetzungsvariation des Eingangssignals von 1/N einer C/A Codechipperiode, wenn
die Empfängerbandbreite
wesentlich breiter als die GPS Signalbandbreite ist. Dies stellt
eine Form einer Quantisierung dar und ergibt einen erheblichen Quantisierungsfehler,
wenn N nicht groß ist.
Zum Beispiel würde
eine Genauigkeit für
die Messung einer Versetzung von einem Zehntel eines C/A Codechips eine
Abtastrate von N = 10 mal der C/A Code Chiprate erfordern. Mit einer
stärker
begrenzten Empfängerbandbreite
variiert der Samplewert der Autokorrelation mit der Zeitversetzung
des Eingangssignals, jedoch nicht notwendigerweise linear mit der
Eingangsversetzung. Wenn eine nicht-ganzzahlige Vielfach-Samplerate benutzt
wird, dann gehen die Abtastvorgänge
voraus oder rollen in eine Chiprelative Position, wenn eine Folge
von Signal C/A Codechips abgetastet wird. Dieses Vorausgehen erlaubt
es, daß der
berechnete Autokorrelationswert sich im wesentlichen linear mit
der Zeitverschiebung des Eingangssignals ändert und zwar mit viel kleineren
Zeitverschiebungen. Obwohl die obige Erörterung auf die Autokorrelation
des binären
C/A Codes gerichtet war, ist die Abtast-Präzessionsmethode allgemein anwendbar
auf Mehrfachpegelsignale.
-
Mit einem Replika-Codeindex sowie
einer Dopplerfrequenz, die dem eines lauten bzw. rauschbehafteten
Eingangssignals gleicht, wird der serielle oder parallele Korrelator
rauschbehaftete Samples der gezeigten Autokorrelationsfunktion berechnen. Indem
man die Signalabtastrate so wählt,
daß es eine
geradzahlige Anzahl von Samples (z. B. 2183) pro 1,0 ms C/A Codeperiode
gibt, werden Korrelationsergebnisse von zum Beispiel zwanzig aufeinander
folgenden 1,0 ms Datenspeichersequenzen (welche dieselbe Replika-Codeversetzung
benutzen) zwanzig rauschbehaftete Samples von demselben Punkt auf
der Kurvenform der C/A Code Autokorrelation ergeben. Während der
Signalgewinnung gleichen die Replika-Dopplerfrequenz und -Phase selten genau
denen des Signals, so daß eine
Quadrierung des Ergebnisses der kohärenten Korrelation notwendig
ist, um ein positives Korrelationsergebnis zu garantieren. 14 zeigt weiterhin typische
Abtastpunkte (x) der quadrierten 1,0 ms kohärenten Korrelation, die für mehrere
Codeversetzungen in der Nähe
derjenigen des empfangenen Signals berechnet wurden, sowie mit Codeindex
und Dopplerfrequenz sowie Phase, die denen des Eingangssignals gleichen.
Indem man die quadrierten Samples von derselben Codeversetzung mittelt,
wird ein Schätzwert
mit geringerem Rauschen von dem entsprechenden Autokorrelationswert
erzeugt. Typische gemittelte Autokorrelationssamples sind ebenfalls
in der Figur gezeigt. Dieses Mitteln stellt die sogenannte nicht-kohärente Akkumulation
dar. Die Phase des Abtastgitters, im Verhältnis zu der Dreiecksfunktion, hängt ab von
der Phase der empfangenen Kurvenform relativ zu dem eingangsseitigen
A/D Abtasttakt.
-
In der Kurvendarstellung von 14 ist die Zeit für die Spitze
der Autokorrelation ein Parameter von Interesse, und diese Spitzenzeit
befindet sich gewöhnlich
nicht auf dem Abtastgitter. Unter Benutzung jedoch der gemittelten
Autokorrelationswerte um die Spitzenzeit herum kann die Spitzenzeit
durch Interpolation abgeschätzt
werden. Es sind für
Fachleute auf dem Gebiet verschiedene Interpolationsmethoden bekannt,
jedoch betrifft eine Methode die Anordnung der gemittelten Autokorrelationssamples
entsprechend einer Rangfolge mit zunehmender Codeversetzung sowie
ein danach erfolgendes Suchen nach den beiden größten benachbarten Einträgen. Der
linke Eintrag (der frühere)
und sein linker Nachbar (Punkte B bzw. A in der Figur) definieren
zusammen eine Linie, während
der rechte Eintrag und sein rechter Nachbar (Punkte C bzw. D in
der Figur) zusammen eine andere Linie definieren. Diese beiden Linien
schneiden sich irgendwo zwischen den beiden ursprünglichen
Endpunkten (A und D in der Figur), wenn der SNR groß genug
ist, und die mit diesem Schnittpunkt in Verbindung stehende Zeit
ist die abgeschätzte
Spitzenzeit der Korrelation. Diese Methode erfordert die Lösung von
zwei Simultangleichungen, kann benutzt werden mit entweder den seriellen oder
den parallelen Korrelatormethoden und würde berechnet werden von der
in 4 oder 5 gezeigten Steuerung 35.
-
15 zeigt
ein auf einem parallelen Korrelator mit geringer Verlustleistung
basierendes Akquisitionssystem mit voller I/Q Verarbeitung, in dem
der (nicht gezeigte) HF/ZF Abschnitt zwei Quadratur-Ausgangssignale
erzeugt, die an die eingangseitigen A/D Umsetzer 22 und 56 geführt werden.
Die Steuerung 35 versorgt den HF/ZF Abschnitt sowie die
eingangsseitigen A/D Umsetzer 700 und 701 mit Energie.
Der A/D Umsetzer 56 erzeugt abgetastete I Daten, die in
dem I Datenspeicher gespeichert werden, während der A/D Umsetzer 22 abgetastete
Q Daten erzeugt, die in dem Q Datenspeicher gespeichert werden.
-
In einer Ausführung des Systems tasten die eingangsseitigen
A/D Umsetzer die I und Q Eingangssignale periodisch mit ungefähr 2,183
Millionen Samples pro Sekunde ab, was 2183 Samples pro C/A Codezyklus
und ungefähr
2,1 Samples pro C/A Codechip ergibt. Die Samples werden in 3 Pegeln bzw.
Ebenen quantisiert und benutzen eine Zwei-Bit Vorzeichenbit-Grössendarstellung,
wie zuvor beschrieben. Die I und Q Datenspeicher sind jeder groß genug,
um das gesamte für
die Signalgewinnung benötigte
Datensegment zu speichern. Für
nicht-militärischen
Gebrauch sind dies gewöhnlich
20 ms. Nach dem 20 ms (2183 × 20
Samples) von I und Q Daten gespeichert worden sind, wird die Energie
von dem HF/ZF Abschnitt und von den eingangsseitigen A/D Umsetzern
weggenommen, und es wird die Akquisitionsverarbeitung begonnen.
Die I und Q Datenspeicher sind jeder organisiert als zwanzig Reihen
von 2183 Zwei-Bit Samples mit 2183 gleichzeitigen Ausgängen (eine
volle Reihe). Es werden vier separate parallele Korrelatoren mit
drei Sequenzen benutzt, die mit II, IQ, QI und QQ bezeichnet sind.
Zusammen bilden diese einen komplexen parallelen Korrelator 70.
Die parallelen Korrelatoren benutzen jeder Sequenzlängen von
2183 Samples bzw. Abtastungen. Der I Datenspeicher betreibt die
II und IQ Korrelatoren, während
der Q Datenspeicher die QI und QQ Korrelatoren betreibt. Weiterhin
betreibt das I Dopplerregister die II und QI Korrelatoren, während. das
Q Dopplerregister die IQ und QQ Korrelatoren betreibt. Die Rangordnung
der Datenverarbeitung ist so eingestellt, daß alle gewünschten Replika Codeversetzungen
für einen
gegebenen Replika-Codeindex sowie für eine gegebene Dopplerfrequenz
untersucht werden, bevor der Codeindex oder die Dopplerfrequenz
geändert
wird. Darüber
hinaus werden alle gewünschten
Codeversetzungen für
eine gegebene Reihe von gespeicherten I und Q Daten prozessiert, bevor
die Reihe gewechselt wird. Dies wird mit höchster Wahrscheinlichkeit den
Energieverbrauch für
das kombinierte Lesen des Speichers und Verschieben des Coderegisters
minimieren. Es sind andere Speicherreihen-, Codeindex- und Dopplerfrequenz-Verarbeitungsrangfolgen
ebenfalls möglich, und
die Rangfolge kann zur Minimierung des Energieverbrauchs gewählt werden.
Die II und QQ kohärenten
Verarbeitungsergebnisse werden aufsummiert, um II + QQ zu bilden,
indem man die zugeordneten Summierungsleitungen verbindet, und die
QI und QQ kohärenten
Verarbeitungsergebnisse werden aufsummiert, indem man deren zugeordnete Summierungsleitungen
verbindet. Für
eine richtige I-Q Verarbeitung müssen
entweder das QI oder das IQ Ergebnis invertiert werden, und dies
kann erreicht werden, indem man z. B. die Richtung von allen Vorzeichenschaltern
in allen analogen Umsetzern von dem gewählten parallelen Korrelator
umkehrt. In dieser Ausführungsform
wird IQ – QI
gebildet.
-
Bei GPS Signalen ist der SNR (Störabstand) von
jedem II + QQ und IQ – QI
Signal in typischen Fällen
0 bis 4 dB. Diese Signale werden mit nur wenigen Pegeln (z. B. –1, 0, 1)
ausreichend repräsentiert
und werden mittels der A/D Umsetzer 700 und 701 in
eine digitale Form umgesetzt, und werden dann separat mittels der
Quadrierer 702 und 703 quadriert. Die quadrierten
Signale werden mittels des digitalen Addierers 46 aufsummiert
und im Akkumulator 44 gespeichert. Der Akkumulator 44 besitzt
eine jedem Kandidaten einer Codeversetzung zugeordnete separate
Speicherposition, und es werden in der zugeordneten Speicherposition
die Korrelationsergebnisse für
jede Codeversetzung mit verschiedenen empfangenen Datensegmenten
akkumuliert.
-
16 zeigt
eine Ausführung
eines quadrierenden A/D Flash-Umsetzers der die A/D- und Quadrierfunktionen
kombiniert. Hier entscheiden zwei Vergleicher 61 und 62,
ob der analoge Wert oberhalb, unterhalb oder zwischen den beiden
Schwellenwerten liegt, die den analogen Darstellungspegeln –1, 0, +1
zugeordnet sind. Eine Logikeinheit 63 bildet sodann den
gemeinsamen Ausgangszustand der Vergleicher ab auf den entsprechenden
quadrierten digitalen Wert. Falls gewünscht, wird dieser quadrierende
Flash-Umsetzer in einfacher Weise erweitert auf mehr als drei Darstellungspegel,
indem man mehr Vergleicher und Schwellenwertspannungen hinzufügt.
-
Die Abtastraten, gespeicherten Sequenzlängen und
gleichzeitigen Speicherausgangslängen können so
gewählt
werden, daß sie
am besten für
die GPS Anwendung passen. Durch Speichern des gesamten für die Signalgewinnung
benötigten
Datensegmentes, zum Beispiel, kann der HF/ZF Abschnitt nach der
kürzest-möglichen
Zeit (entsprechend dem Empfangen des benötigten Datensegments) abgeschaltet
werden. Der gespeicherte Datensatz kann sodann für die Verarbeitung aller SCD
Gruppen bei der Akquisitionssuche benutzt werden. Alternativ kann
ein kürzerer
Speicher benutzt werden auf Kosten dessen, daß man den HF/ZF Abschnitt über eine längere Zeit
eingeschaltet halten muß.
Beispielsweise benutzt eine weitere attraktive Ausführung eine "Pingpong" Speicherorganisation
und ist in 19 dargestellt.
Hier sind die I und Q Datenspeicher 192 bzw. 194 jeder
nur 2,0 ms lang und organisiert als zwei 1,0 ms Reihen mit parallelem
Ausgang (z. B. 2183 Samples in jeder Reihe, wie zuvor).
In beiden I und Q Datenkanälen
wird auf eine Datenreihe parallel zugegriffen für eine parallele Korrelation,
während die
andere Datenreihe mit digitalisierten von dem HF/ZF Abschnitt ankommen den
Daten geschrieben wird. Die gesamten I und Q Datensequenzlängen werden
jede prozessiert in 1,0 ms Segmenten. Der gesamte 20 ms Datensatz
wird sodann für
eine einzelne SCD Gruppe in etwa 20 ms prozessiert. Weil die gesamte
Datensequenz nicht gespeichert war, muß der HF/ZF Abschnitt mit Energie
beaufschlagt werden und eine weitere vollständige Sequenz erzeugen, wenn
eine weitere SCD Gruppe getestet werden soll. Im Durchschnitt vergrößert dies
die Zeit, während
der der HF/ZF Abschnitt während
der Signalgewinnung unter Spannung gehalten werden muß. Die Verringerung
hinsichtlich der Speichergröße kann
jedoch drastisch sein. Bei einigen Anwendungen (z. B. bei militärischen
Empfängern
unter starken Störbedingungen)
ist der GPS SNR (Störabstand)
sehr klein und die für
die Akquisition benötigte Datensequenzlänge kann
so lang werden, daß eine Speicherung
der gesamten Sequenz undurchführbar ist.
Unter solchen Umständen
ist die Architektur der Pingpong Akquisition von Vorteil.
-
In einigen Anwendungen wird es vorteilhaft sein,
die Grösse
der Datenspeicher weiter zu verringern. Mittels der (Pingpong) Speicherorganisation mit
zwei Segmenten kann ein langer kontinuierlicher Strom von Empfängerausgangsdaten
prozessiert werden. Auf Kosten einer längeren Zeit für die Akquisition
können
die zwei Segmente umfassenden I und Q Datenspeicher 192 und 194 (19) zu Einzelelement-Speichern
reduziert werden, indem man einen der 1,0 ms Abschnitte von jedem
Speicher eliminiert. Mit dieser Verringerung werden zeitlich benachbarte 1,0
ms Empfängerausgangs-Segmente
nicht prozessiert. Statt dessen wird nur jedes zweite 1,0 ms Segment
im Speicher erfaßt
und prozessiert, und dies verlängert
die für
die Bearbeitung einer gegebenen Anzahl von empfangenen Signalelementen
verstrichene Zeit.
-
Um die Speichergrösse sowie die Komplexität des parallelen
Korrelators noch weiter zu reduzieren, können die Länge des parallelen Korrelators
sowie die zugeordneten Register und Speichersegmente alle kleiner
gemacht werden als die gewünschte kohärente Bearbeitungslänge. Die
gewünschte
kohärente
Bearbeitungslänge
kann erreicht werden, indem man mehrfache kürzere Datensegmente prozessiert
und in kohärenter
Weise deren Ergebnisse kombiniert bzw. zusammenfaßt. Es kann
zum Beispiel eine 1,0 ms betragende kohärente Bearbeitungslänge erzielt
werden, indem man einen einzelnen 0,5 ms langen parallelen Korrelator
auf zwei benachbarte 0,5 ms Datensegmente anwendet und deren Ergebnisse
nach der A/D Umsetzung in digitaler Weise addiert. Es sind verschiedene
Kombinationen aus Korrelatorlänge,
kohärenter
Bearbeitungslänge, der
Anzahl von Speichersegmenten sowie der Suchbreite für die Codeversetzung
möglich.
-
Wenn die Kosten, die Grösse sowie
die Verlustleistung eines standardmäßigen Speichers mit seriellem
Eingang und seriellem Ausgang (SISO) ausreichend niedrig sind, kann
es vorteilhaft sein, die gesamten notwendigen I und Q Datensequenzen
in einem solchen Speicher zu speichern, den HF/ZF Empfängerabschnitt
abzuschalten und diesen Speicher in Kombination mit den Pingpong-
oder Einzelsegment-Speicherarchitekturen für die Untersuchung aller gewünschten
SCD Gruppen zu benutzen. Die gesamten I und Q Datensequenzen werden
einmal für
jede geprüfte
SCD Gruppe aus dem SISO Speicher gelesen, und dieser Lesevorgang
wird Energie verbrauchen. Da jedoch der HF/ZF Abschnitt ausgeschaltet
ist, wird der Systemenergieverbrauch reduziert, wenn die Verlustleistung
eines SISO Speichers relativ zu der des HF/ZF Empfängerabschnitts
ausreichend niedrig ist. Es sind andere gespeicherte Sequenzlängen, gleichzeitige
Speicherausgangslängen sowie
Abtastraten ebenfalls von Interesse.
-
In den Ausführungen der parallelen Korrelatoren
mit zwei oder drei Sequenzen nach den 8 und 11 wird das Produkt aus den
zugeordneten Daten und den Replikasamples in paralleler Weise innerhalb
des Korrelators gebildet. Dies erlaubt es, verschiedene Dopplergruppen
für die
Akquisition zu testen, ohne neue empfangene Daten sammeln zu müssen. 20 zeigt eine alternative
Ausführung
von einer Stufe eines parallelen Korrelators sowie des zugeordneten
parallelen Speichers, bei der die Daten und Dopplersamples zusammen
mittels des Multiplizierers 2001 vor der Speicherung in
dem parallelen Speicher 2002 multipliziert werden. Dies
ist vorteilhaft, weil die Multiplizierer in dem parallelen Korrelator
auf diese Weise vereinfacht sind. Jeder Korrelator-Multiplizierer
multipliziert nun sein zugehöriges gespeichertes
Sample mit gerade einmal einem einzelnen zugeordneten Codebit. Der
kombinierte Multiplizierer und D/A Umsetzer für diese Korrelatorausführung ist ähnlich zu
dem in 18 gezeigten
mit der Ausnahme, daß der
Daten-Dopplermultiplizierer sowie der A-B Signalumsetzer, welcher
Exklusiv-NOR-Glieder 1210 und 1212 sowie das UND-Glied 1211 enthält, aus
dem Korrelator herausgenommen und vor den Datenspeicher gesetzt
ist. Die abgetrennten Eingänge
an die Exklusiv-NOR-Glieder 1213 sind mit den Datenspeicherausgängen gekoppelt.
Mit dieser Ausführung
müssen
neue Daten gespeichert werden, wenn eine andere Dopplergruppe für die Akquisition
zu prüfen
ist, jedoch stellt dies bei einigen Anwendungen keinen Nachteil
dar.
-
Der in 20 gezeigte
kombinierte parallele Korrelator sowie parallele Speicher können in
vorteilhafter Weise benutzt werden, um eine vereinfachte volle I-Q
prozessierende GPS Akquisitionsmaschine zu bilden. In der in 19 dargestellten vollen
I-Q Akquisitionsmaschine gibt es vier separate parallele Korrelatoren,
die gekoppelt sind mit den Registern (Parallelspeicher) für Daten
I und Q sowie Doppler I und Q sowie mit dem parallelen Coderegister.
Eine alternative volle I-Q Ausführung,
welche die einfachere Korrelator- und
Speicherorganisation von 20 benutzt,
ist in 21 gezeigt. In
dieser Ausführung
halten die vier parallelen Daten-Dopplerspeicher die Daten-Doppler-Produktsequenzen
II, QQ, IQ bzw. QI. Jeder parallele Speicher kann als Pingpong- oder
als Einzelsegment-Speicher organisiert sein, wie zuvor beschrieben.
Es gibt keine separate Daten- und Dopplerspeicherung. Jeder parallele
Speicher ist verbunden mit einem zugeordneten parallelen Korrelator,
und jeder parallele Korrelator ist weiterhin verbunden mit dem einzelnen
Parallelcode-Register.
Die verringerten Zwischenverbindungen zwischen den Speichersektionen
und den Korrelatorsektionen erlauben es, daß diese Ausführung des
vollen I-Q Prozessors einen einfacheren (d. h. kleineren und weniger
teuren) integrierten Schaltungsaufbau hat.
-
Die Komplexität der Ausführung von 21 kann noch weiter verringert werden,
wenn man die II + QQ Addition sowie die QI – IQ Subtraktion vor der Datenspeicherung
ausführt.
Vor der Speicherung können
die Ausgangssignale der Addition sowie Subtraktion oft mit nur geringer
SNR Verschlechterung gerundet oder auf zwei Bits abgeschnitten werden. Wie
in 22 gezeigt, sind
dann nur zwei Daten-Dopplerspeicher (einer für II + QQ Daten, der andere
für QI-IQ Daten), zwei parallele
Korrelatoren sowie ein Coderegister nötig. Jeder Daten-Dopplerspeicher
kann als ein Pingpong oder Einzelelementspeicher organisiert sein,
wie das vorher beschrieben wurde. Andere Organisationen für den parallelen Korrelator,
den parallelen Speicher sowie die Sequenzmultiplikationen sind ebenfalls
möglich
und vorteilhaft.
-
17 zeigt
eine kombinierte Organisation bzw. Anordnung für den Datenspeicher, die Replikaerzeugung
und den parallelen Korrelator (für
eben diesen II Korrelationsprozeß), welche Organisation die
Anzahl der Coderegister-Verschiebungen auf 2183 Verschiebungen pro
Code/Doppler-Kombination verringert und welche Organisation die
Notwendigkeit irgendeines RAM für
die nicht-kohärente
Akkumulation eliminiert. Der Kompromiß besteht darin, daß der Eingangspeicher
nun segmentiert werden muß,
um zu erlauben, auf alle gespeicherten Daten gleichzeitig zuzugreifen.
Diese Daten werden in 1,0 ms Blöcken
an separate parallele Korrelatoren angelegt. Diese parallelen Korrelatoren
werden alle von denselben Code und Doppler-Replikas betrieben, und
sie erzeugen gemeinsam (in einem vollen Codezyklus) die zwanzig
separaten 1,0 ms Korrelationssequenzen, die vorher zeitlich sequentiell
akkumuliert worden sind. Separate quadrierende A/D Umsetzer wandeln
die analogen Korrelationssequenzen um in eine digitale Form, wobei
ein Addiererbaum 80 die akkumulierte Korrelationssequenz
bildet. Der RAM für
die Akkumulation kann vollständig
vermieden werden, wenn man die Spitzenwertsuche und den Interpolationsprozeß auf die
akkumulierte Korrelationssequenz anwendet, so wie sie gerade erzeugt
wird. In dieser Anordnung treiben die Code- und Dopplerregister
nun zwanzig Lasten, wo sie vorher eine antrieben, was einiges von
der Energieverringerung aufheben kann.
-
Wenn der parallele Korrelator verwendet wird
mit Daten- und Replikaregistern für den Fall mit zwei Sequenzen,
oder mit Daten-, Doppler- und Coderegistern für den Fall mit drei Sequenzen,
ist es vorteilhaft, die beim Laden (Schreiben) der verschiedenen
Register gebrauchte Energie zu minimieren. Nach einem weiteren Aspekt
der vorliegenden Erfindung wird das Laden der verschiedenen Register
zu einer eine geringe Energie verbrauchenden Betriebsweise gemacht,
indem man ein Abtast- bzw. Scanner-Schieberegister zur Bestimmung
benutzt, welche Daten-, Doppler- und Coderegisterstufen in jedem Zeitpunkt
zu schreiben sind. 23 zeigt
ein Scanner-Schieberegister 304 in Kombination mit dem
Datenregister 300, dem Dopplerregister 301 sowie
dem Coderegister 302 für
den Fall mit drei Sequenzen. In einem Betriebsverfahren kommen die
Samples sequentiell für
jede der digitalen Daten-, Doppler- und Codesequenzen an und die
Abtastraten sind dieselben. In dem Maße, wie die Samples für jede entsprechende
Sequenz ankommen, werden sie in entsprechende sequentielle Positionen
in ihren entsprechenden Registern eingeschrieben. Synchron mit den
ankommenden Samples wird eine einzelne logische 1 längs des
binären
Scannerregisters verschoben, was den Schreibvorgang der ankommenden
Samples in entsprechende sequentielle Positionen der entsprechenden
Register ermöglicht.
Die Schreiboperation braucht sehr wenig Energie, weil nur zwei benachbarte
Positionen des Scannerregisters ihren gespeicherten Wert bei jeder
Verschiebung austauschen und keines der entsprechenden Register
während der
Schreiboperation gerade verschiebt.
-
Obwohl die beschriebene Erfindung
anwendbar ist auf die GPS C/A Signalgewinnung, kann sie gleichermaßen benutzt
werden, um sowohl die zum direkten Gewinnen des militärischen
P(Y) GPS Signals erforderliche Zeit als auch Energie drastisch zu
verringern, ohne zuerst die C/A Signale zu gewinnen. Indem man die
Satellitencode-Generatorkomponente des Code/Dopplergenerators in
den 4 oder 5 ändert, um den P(Y) Code statt
des C/A Code zu erzeugen, werden die hier beschriebenen Verfahren
und Architekturen anwendbar auf den P(Y) Fall.