-
Die
Erfindung betrifft einen GPS-Empfänger und ein zugehöriges Signalverarbeitungsverfahren
für GPS-Signale
zur Positionsbestimmung.
-
Ein
Empfänger
eines globalen Positionsbestimmungssystems (GPS) bestimmt seine
Position durch Berechnung von Abständen und relativen Signalankunftszeiten
von gleichzeitig von einer Anzahl von GPS-Satelliten ausgesandten Signalen. Diese
Satelliten übertragen
als Teil ihrer Nachricht sowohl Satellitenpositionsdaten einschließlich eines
pseudozufälligen
Codes als auch Daten über
Taktungsverhältnisse.
-
Durch
Benutzen des empfangenen pseudozufälligen Codes kann der GPS-Empfänger Pseudobereiche
von verschiedenen GPS-Satelliten bestimmen und die Position des
Empfängers
durch Verwenden dieser Pseudobereiche und Satellitentaktzeiten und
der Daten über
Taktungsverhältnisse
berechnen. Die Pseudobereiche sind Zeitverzögerungswerte, welche zwischen
empfangenen Signalen von jedem Satelliten und einem lokalen Taktsignal
gemessen werden. Gewöhnlich
werden GPS-Signale
von vier oder mehr Satelliten empfangen. Die Satellitendaten über die
Taktungsverhältnisse
und Signaturdaten werden aus den GPS-Signalen extrahiert, wenn ein Satellit
aufgespürt
ist und verfolgt wird. Das Aufspüren
von GPS-Signalen kann bis zu mehreren Sekunden dauern und muss mit
einem ausreichend stark empfangenen Signal durchgeführt werden,
um niedrige Fehlerraten zu erreichen.
-
Die
GPS-Signale umfassen eine hohe Rate von sich wiederholenden Signalen,
die als pseudozufällige (PN-)Codes
bezeichnet werden. Die für
zivile Anwendungen verfügbaren
Codes werden C/A-Codes (Groberfassungs-Codes) genannt und haben
eine binäre
Phasenumkehrrate oder eine Fragmentierungsrate („Chippingrate") von 1,023MHz und
eine Wiederholrate von 1023 Fragmenten für eine Codeperiode von einer
Millisekunde. Die Codesequenzen gehören zu einer Familie, die als
Goldcodes bekannt sind, und jeder GPS-Satellit strahlt ein Signal
mit einem charakteristischen Goldcode aus.
-
Die
meisten GPS-Empfänger
benutzen Korrelationsverfahren, um die Pseudobereiche zu berechnen. Ein
Korrelator multipliziert das empfangene Signal mit einer im lokalen
Speicher gespeicherten Nachbildung des zugehörigen Goldcodes und integriert
dann das Produkt, um einen Korrelations- oder Abtastwert zu erhalten,
der als Anzeige des Vorhandenseins des Satellitensignals benutzt
werden kann. Durch sequentielles Einstellen der relativen Zeitbeziehungen
der gespeicherten Nachbildung relativ zum empfangenen Signal und durch
Beobachten der Korrelationsausgabe kann der Empfänger die Zeitverzögerung zwischen
dem empfangenen Signal und einem lokalen Taktsignal bestimmen. Die
anfängliche
Bestimmung der Anwesenheit eines solchen Ausgabesignals wird als „Aufspürung" bezeichnet. Nach
der Aufspürung
gelangt der Prozess in die Verfolgungsphase, in welcher die Zeitbeziehungen
der lokalen Referenz in kleinen Werten eingestellt werden, um eine
hohe Korrelationsausgabe aufrechtzuerhalten.
-
Globale
satellitengestützte
Positionsbestimmungssysteme benutzen eine Vielzahl von Satelliten
(Konstellation), um gleichzeitig Signale zu einem Empfänger zu übertragen,
die eine Positionsbestimmung des Empfängers durch Messung von Zeitdifferenzen
zwischen den Ankunftszeiten dieser Vielzahl von Signalen ermöglichen.
Allgemein beeinflussen sich Signale der verschiedenen Satelliten
nicht wesentlich untereinander, da sie verschiedene pseudozufällig verteilte
Codes benutzen, die nahezu senkrecht zueinander sind. Diese niedrigen
Beeinflussungsbedingungen sind von ähnlichen Leistungspegeln (Amplituden)
der empfangenen Signale abhängig.
-
Um
die Aufspür-
bzw. Erfassungszeit zu verkleinern, benutzt ein GPS-Empfänger mehrere
Kanäle,
um Signale zu verarbeiten, die von mehreren Satelliten kommen können. Jeder
Kanal umfasst Mehrfachkorrelationsabgriffe zur Nutzung bei den Korrelationsvorgängen. Typischerweise
werden die von jedem Korrelationsabgriff empfangenen Daten in einem
Speicher gespeichert. Die gespeicherten Daten werden verarbeitet
und korreliert. Die Speichergröße ist proportional
zur Anzahl der Kanäle
und Abgriffe. Um die Erfassungszeit zu verkleinern, sind Speicher
mit ausreichender Kapazität
und Geschwindigkeit erforderlich. Mit der Zunahme eines Speicherkomponentenverhältnisses
im GPS-Empfänger
wird es jedoch schwieriger, den GPS-Empfänger zu verkleinern.
-
1 zeigt ein Blockschaltbild
eines herkömmlichen
GPS-Empfängers
mit einer Antenne 1, einem Abwärtswandler 2, einem
lokalen Oszillator 3, einem A/D-Wandler 4, Empfangskanälen 5,
einem Empfangsprozessor 6, einem Navigationsprozessor 7 und
einer Benutzerschnittstelle 8. Im Betrieb empfängt die
Antenne 1 drahtlos von einer Satellitenkonstellation übertragene
Signale. Der Abwärtswandler 2 wandelt
die von der Antenne 1 empfangenen Hochfrequenzsignale durch
Mischen der Signale mit einem lokalen Oszillatorsignal, das vom
lokalen Oszillator 3 erzeugt wird, in Signale mit niedrigerer
Zwischenfrequenz (IF) um. Der A/D-Wandler 4 wandelt das
analoge IF-Signal in digitale Signale um, die durch die Empfangskanäle 5 verarbeitet
werden. Die von den Empfangskanälen 5 empfangenen
IF-Signale werden von den Empfangskanälen 5, dem Empfangsprozessor 6 und
dem Navigationsprozessor 7 verarbeitet. Die Empfangskanäle 5 umfassen
eine Anzahl N von Kanälen,
die vom Hersteller festgelegt werden können. Die Hauptfunktionen des
Empfangsprozessors 6 umfassen das Erzeugen einer Mehrzahl
von Pseudobereichen für
jeden Satelliten und Durchführen
des Korrelationsvorgangs mit den phasengleichen Daten I und den
quadraturphasenverschobenen Daten Q eines jeden Kanals. Der Navigationsprozessor 7 setzt
einen Positionswert durch Benutzen von verschiedenen Pseudobereichen
für verschiedene
Satelliten. Die Benutzerschnittstelle 8 wird zur Darstellung
der Positionsdaten benutzt.
-
2 zeigt ein Blockschaltbild
eines der N Kanäle
der Empfangskanäle 5 aus 1. Das digitale IF-Signal,
das vom A/D-Wandler 4 aus 1 empfangen
wird, wird in Gleichphasen-/Quadraturphasenmultiplizierer 10 eingegeben,
wobei die IF-Signale mit Signalen multipliziert werden, die durch
eine phasengleiche Sinusabbildung 11 und eine Quadraturphasen-Cosinusabbildung 12 oder
eine Quadraturphasen-Sinusabbildung 11 und eine phasengleiche
Cosinusabbildung 12 erzeugt werden, die ihrerseits von
einem numerischen Codeoszillator (NCO) 19 erzeugt werden,
speziell einem Träger-NCO.
Die Ausgaben der Gleichphasen-/Quadraturphasenmultiplizierer 10 sind
phasengleiche IF-Signale, die mit der Phase der Sinusabbildung 11 korrespondieren,
und Quadraturphasen-IF-Signale, die mit der Phase der Cosinusabbildung 12 korrespondieren, oder
die Ausgaben der Gleichphasen-/Quadraturphasenmultiplizierer 10 sind
Quadraturphasen-IF-Signale, die mit der Phase der Sinusabbildung 11 korrespondieren,
und phasengleiche IF-Signale, die mit der Phase der Cosinusabbildung 12 korrespondieren.
Der Empfangsprozessor 6 erzeugt den numerischen Code zum Steuern
des NCO 19 zur Erzeugung einer Dopplerfrequenz. Der Empfangsprozessor 6 erzeugt
zudem eine Taktsteuersignaleingabe für einen Code-NCO 18 zum
koppelnden Einbinden eines PN-Codegenerators 16. Der PN-Codegenerator 16 erzeugt
pseudozufällige
(PN-)Codes, welche den Satelliten zugeordnet sind. Die PN-Codes
werden durch Codeschieber 17 verschoben und an eine Mehrzahl
von Korrelatorschaltungen 13 ausgegeben. Die Korrelatorschaltungen 13 führen eine
Korrelation durch, welche die phasenverschobenen PN-Codes mit I-
und Q-Daten vergleichen, die sie von den Gleichphasen-/Quadraturphasenmultiplizierer 10 empfangen.
Die korrelierten I- und Q-Daten von den Korrelatorschaltungen 13 werden
an einen Integrierer 14 ausgegeben, in dem die korrelierten
I- und Q-Werte integriert
werden. Die integrierten Werte, die auch als Abtastwerte bezeichnet
werden, werden in einem Speicher 15 gespeichert. Typischerweise
speichert jeder der N Kanäle
der Empfangskanäle 5 alle
vom Integrierer 14 abgetasteten Werte für eine vorgegebene Zeitspanne im
Speicher 15, beispielsweise eine Millisekunde für jeden
Abgriff. Nach dem Sammeln einer vorbestimmten Anzahl von Abtastwerten,
werden die abgetasteten Werte an eine FFT-Einheit 20 übertragen,
welche eine schnelle Fourier-Transformation (FFT) durchführt, um
zu bestimmen, ob für
diesen Abgriff ein Spitzenwert (Korrelation) vorliegt. Wird ein
Spitzenwert gefunden, dann extrahiert der Empfangsprozessor die
Frequenz- und Codewertinformation vom Abgriff, um die Pseudobereiche
für Erfassung
zu berechnen.
-
Wird
festgestellt, dass kein Spitzenwert im abgetasteten Abgriff existiert,
dann wird die Abtastung, die Korrelation und der FFT-Vorgang für jeden
Abgriff wiederholt, bis der Abgriff mit dem Spitzenwert lokalisiert
ist.
-
Aus
dieser Vorgehensweise wird deutlich, dass eine große Datenmenge
im Empfangsspeicher 15 gespeichert werden muss. Daher ist
ein Speicher mit einer ausreichenden Kapazität erforderlich. Zudem ist wegen
der Notwendigkeit, zur Verarbeitung auf Speicherdaten zugreifen
zu müssen,
die Speicherzugriffszeit ein wichtiger Faktor, der die Erfas sungsgeschwindigkeit
und damit die Leistung des Empfängers
beeinflusst.
-
Es
ist Aufgabe der Erfindung, einen GPS-Empfänger zur Verfügung zu
stellen, welcher die genannten Schwierigkeiten wenigstens teilweise
vermeidet, und ein zugehöriges
Signalverarbeitungsverfahren für GPS-Signale zur Positionsbestimmung
anzugeben.
-
Die
Erfindung löst
diese Aufgabe durch einen GPS-Empfänger mit den Merkmalen des
Patentanspruchs 1 sowie durch ein Signalverarbeitungsverfahren mit
den Merkmalen des Patentanspruchs 13 und durch einen Programmspeicher
mit den Merkmalen des Patentanspruchs 22.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte,
herkömmliche
Ausführungsbeispiel
sind in den Zeichnungen dargestellt. Es zeigen:
-
1 ein Blockschaltbild eines
herkömmlichen
GPS-Empfängers,
-
2 ein Blockschaltbild eines
von N Kanälen
in Empfangskanälen
aus 1,
-
3 ein Blockschaltbild eines
erfindungsgemäßen GPS-Empfängers,
-
4 ein Blockschaltbild eines
Ausführungsbeispiels
eines Filters aus 3,
-
5 ein Blockschaltbild eines
weiteren Ausführungsbeispiels
des Filters aus 3,
-
6 ein Blockschaltbild eines
anderen Ausführungsbeispiels
des Filters aus 3,
-
7 eine grafische Darstellung
von 16 Sätzen
abgetasteter I-Werte und Q-Werte aus einer Tabelle I,
-
8 eine grafische Darstellung
von 16 Sätzen
abgetasteter I-Werte und Q-Werte aus einer Tabelle II,
-
9 ein Flussdiagramm eines
erfindungsgemäßen Signalverarbeitungsverfahrens
für GPS-Signale,
-
10 ein Flussdiagramm eines
weiteren erfindungsgemäßen Signalverarbeitungsverfahrens
für GPS-Signale,
-
11 ein Flussdiagramm eines
anderen erfindungsgemäßen Signalverarbeitungsverfahrens
für GPS-Signale
und
-
12 eine grafische Darstellung
von Bruchteils-Variationswerten aus Tabellen I bis III für einen
Abgriff ohne Spitzenwert (Tabelle I) und einen Abgriff mit Spitzenwert
(Tabelle III).
-
3 zeigt ein Blockschaltbild
eines Ausführungsbeispiels
eines erfindungsgemäßen GPS-Empfängers, wobei
gleiche oder funktionell entsprechende Elemente in den verschiedenen
Figuren mit gleichen Bezugszeichen versehen sind und wiederholte
Erläuterungen
derselben unterbleiben können.
Die Komponenten des Empfängers
aus 3 führen bis
auf einen Filter 30 die gleichen Funktionen wie die im
Zusammenhang mit 2 beschriebenen
Komponenten aus. Der Fitter 30 ist so ausgeführt, dass
er die abgetasteten I-Werte und Q-Werte empfängt, die vom Integrierer 14 ausgegeben
werden. Gemäß wenigstens
einer Ausführungsform
der Erfindung modifiziert der Filter 30 die abgetasteten
Werte I und Q so, dass ein reduzierter Datensatz aus den abgetasteten
Werten zum Speichern im Speicher 15 ausgewählt wird.
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung extrahiert der Filter 30 die
Korrelationscharakteristiken der abgetasteten Werte I und Q und
speichert selektiv die Werte I und Q oder modifizierten Werte I
und Q basierend auf einem Screeningverfahren. Die abgetasteten I-Werte
und Q-Werte eines Abgriffs, von dem festgestellt wurde, dass er
keinen Spitzenwert hat, werden verworfen und nicht im Speicher gespeichert.
Die Verarbeitung der gespeicherten Daten durch die FFT-Einheit 20,
um das Vorliegen eines Abgriffs mit Spitzenwert zu bestimmen, ist wegen
des reduzierten Datensatzes effizienter und die Kapazitätsanforderungen
des Speichers 15 sind ebenfalls reduziert, wodurch der
Energieverbrauch und die Abmessungen des Speichers 15 reduziert
werden.
-
4 zeigt ein Blockschaltbild
eines Ausführungsbeispiels
des Filters 30 aus 3.
Die abgetasteten Werte I und Q, die vom Integrierer 14 ausgegeben
werden, werden in ein Verzögerungselementpaar 23, 24 und
in Vorzeichenbitkomparatoren 25, 26 eingegeben.
Zur beispielhaften Darstellung der Erfindung sind für die abgetasteten
Werte I und Q eine Größe von 16
Bit, für
die Abtastdauer eine Millisekunde und für jeden Abtastrahmen 16 Abtastwerte
gewählt.
Es kann aber auch eine andere Bitanzahl, eine andere Abtastdauer
und ein anderer Abtastrahmen im Sinne der Erfindung gewählt werden.
Wie aus 4 ersichtlich
ist, werden jeweils 16 Datenbits, welche die abgetasteten Werte
I und Q repräsentieren
plus ein Vorzeichenbit in einen der n Abgriffe des Filters 30 eingegeben.
Die Schaltung von Abgriff 0 ist in 4 dargestellt.
Das Vorzeichenbit wird in das Verzögerungselement 23 eingegeben,
welches das Vorzeichenbit um eine Taktsignalperiode verzögert, bevor
es in den Vorzeichenbitkomparator 25 eingegeben wird. Der
Vorzeichenbitkompa rator 25 erleichtert den Vergleich der
Vorzeichenwerte der vorher abgetasteten I-Daten mit den aktuell
abgetasteten I-Daten. Er gibt einen logischen Wert „0" aus, was eine positive
Zahl bedeutet, wenn das aktuelle Vorzeichenbit sich vom vorherigen
Vorzeichenbit unterscheidet. Das Verzögerungselement 24 und
der Vorzeichenbitkomparator 26 führen die oben beschriebenen
Funktionen für
die abgetasteten Q-Daten durch. Dadurch werden die abgetasteten
I-Daten und Q-Daten in ihrem Vorzeichen bzw. ihrer Richtung in Abhängigkeit
von der Zeitrichtung der abgetasteten Daten modifiziert. Die modifizierten
I-Daten und Q-Daten werden in einen Akkumulator 27 eingegeben,
welcher die modifizierten I-Daten
und Q-Daten einschließlich
ihrer Vorzeichenbits addiert. Die akkumulierten Daten sind „Variationsdaten".
-
Gemäß der Erfindung
werden die 16 Variationsdaten, die aus den modifizierten I-Werten
und Q-Werten akkumuliert werden, zum Speichern in den Speicher 15 ausgegeben.
Die gespeicherten Daten werden dann durch die FFT-Einheit 20 zur
Durchführung
einer Fouriertransformation benutzt, um zu bestimmen, ob in diesem
Abgriff ein aktueller Spitzenwert existiert. Die Vorzeichenbitkomparatoren 25 und 26 werden
vorzugsweise durch Benutzung einer Exklusiv-NOR-Funktion (XNOR-Funktion) implementiert.
Die Vorzeichenbitkomparatoren können
auch als Exklusiv-ODER-Funktion (XOR-Funktion) implementiert werden,
wobei in einer solchen Ausführungsform
das Vergleichsergebnis in einem negativen Wert resultiert, d.h.
in einem logischen Wert „1". Wenn bei Verwendung
der XNOR-Funktion der aktuelle Abtastwert und der vorherige Abtastwert
das gleiche Vorzeichen haben oder bei Verwendung der XOR-Funktion
der aktuelle Abtastwert und der vorherige Abtastwert unterschiedliche
Vorzeichen haben, dann wird die Anzahl der logischen Werte „1" gezählt. Bildet
sich für
diesen Abgriff kein Spitzenwert, dann wird der oben beschriebene
Prozess für
den nächsten
Abgriff durchgeführt.
-
5 zeigt ein Blockschaltbild
eines weiteren Ausführungsbeispiels
des Filters 30 aus 3.
Wie aus 5 ersichtlich
ist, wird immer dann, wenn ein negativer Wert aus der Akkumulation
der modifizierten Werte I und Q im Akkumulator 27 entsteht,
ein logisches Signal mit dem Wert „1" an einen Zähler 28 ausgegeben, der
den Zählerstand
für diesen
Abgriff erhöht.
Der Zähler 28 wird
zu Beginn des Datenabtastvorgangs für jeden Abgriff auf null zurückgesetzt.
Nach Abschluss eines Abtastrahmens, z.B. nach 16 Abtastwerten, wird
der letzte Zählerstand
in einer Logikschaltung 29 mit einem eingestellten Schwellwert
verglichen. Übersteigt
der Zählerstand
den eingestellten Schwellwert, beispielsweise 12 von 16, dann werden
die Daten aus dem Abgriff 0 als potentieller Spitzenwert betrachtet.
In einem solchen Fall werden die abgetasteten Werte I und Q des
betroffenen Abgriffs über
einen Multiplexer 32 im Speicher 15 gespeichert.
Die gespeicherten Daten werden dann von der FFT-Einheit 20 und
dem Empfangsprozessor 6 verarbeitet, um zu bestimmen, ob
in diesem Abgriff ein Spitzenwert vorliegt. Übersteigt der Zählerstand
keines der Abgriffe den eingestellten Schwellwert, dann werden die
abgetasteten Werte I und Q, die modifizierten Daten I und Q und
die Variationsdaten nicht im Speicher 15 gespeichert. Diese
Daten können
verworfen werden.
-
6 zeigt ein Blockschaltbild
eines anderen Ausführungsbeispiels
des Filters 30 aus 3.
Wie aus 6 ersichtlich
ist, werden bei der Anzeige eines Zählerstandes, welcher den eingestellten
Schwellwert übersteigt,
was durch die Logikschaltung 29 bestimmt wird, die vom
Akkumulator 27 ausgegebenen Variationsdaten über den
Multiplexer 32 zum Speichern an den Speicher 15 statt
der abgetasteten Werte I und Q ausgegeben. Gemäß diesem Ausführungsbeispiel
werden die Variationsdaten des Abgriffs mit dem potentiellen Spitzenwert
gespeichert und durch die FFT-Einheit 20 und den Empfangsprozessor 6 weiterverarbeitet.
Dadurch ist der im Speicher 15 gespeicherte Datensatz weiter
reduziert im Vergleich zu dem Datensatz der abgetasteten Werte I
und Q, die vom Integrierer 14 ausgegeben werden.
-
Tabelle
I listet beispielhaft Daten, die von einem Abgriff empfangen und
vom Filter
30 gemäß einer Ausführungsform
der Erfindung weiterverarbeitet werden
Tabelle
I: Tabelle zur Erzeugung von Variationswerten für den Fall, dass kein Spitzenwert
im Abgriff existiert.
-
In
Tabelle 1 sind 16 Abtastwerte der abgetasteten Werte I und Q, die
vom Integrierer 14 ausgegeben und vom Filter 30 empfangen
werden, in den Spalten I und Q dargestellt. Die modifizierten Werte
I und Q sind jeweils in den Spalten I' und Q' dargestellt. Wie daraus ersichtlich
ist, wird das Vorzeichen von jedem Abtastwert einem positiven Wert
zugeordnet, wenn ein Wechsel im Vorzeichen zwischen einem aktuellen
Abtastwert und einem vorherigen Abtastwert für I und Q vorliegt. Die Werte
I und Q werden durch das Verzögerungselement 23 und
den Vorzeichenkomparator 25 für die abgetasteten I-Werte
und durch das Verzögerungselement 24 und
den Vorzeichenkomparator 26 für die abgetasteten Q-Werte
modifiziert. Die modifizierten Werte I' und Q' werden vom Akkumulator 27 zur
Ausgabe der Variationswerte addiert. Die Summe ist in Tabelle I
als Spalte I' +
Q' bezeichnet. Der
Summiervorgang im Akkumulator 27 addiert die Werte I' und Q' unter Berücksichtigung der
Vorzeichenwerte von I' und
Q'. Für jedes
Auftreten eines negativen Ausgabewertes vom Akkumulator 27 wird
ein Übergang
zum Zähler 28 übertragen,
welcher den Zählerstand
erhöht.
Wie aus der Zählerstandsspalte aus
Tabelle I ersichtlich ist, ist der Zählerstand für die Daten dieses Abgriffs
gleich sieben aus einem Rahmen mit sechzehn Abtastwerten. Dies bedeutet,
dass sieben negative Werte für
die Summierung der modifizierten Werte I' und Q' vorhanden sind. Tabelle I zeigt Daten
für einen
Abgriff ohne Spitzenwert.
-
Ein
Fachmann erkennt, dass für
die Existenz eines Spitzenwertes in einem Abgriff die abgetasteten Werte
I und Q in zwei Anhäufungen
erscheinen, eine für
die abgetasteten I-Werte und eine für die abgetasteten Q-Werte. 7 zeigt sowohl abgetastete
I-Werte als auch abgetastete Q-Werte, die in unterschiedliche Richtungen
um die Null-Achse schwingen. Der Fachmann, der die Darstellung aus 7 betrachtet, erkennt, dass der
betreffende Abgriff keinen Spitzenwert hat.
-
Gemäß Ausführungsformen
der Erfindung und wie aus Tabelle I ersichtlich ist, ist der Zählerstand
ein Maß für die Anzahl
von Richtungsänderungen
der abgetasteten Werte I und Q bezüglich der Nullachse. Daher kann
aus dem Zählerstand
von sieben aus sechzehn, ein Datensatz konstruiert werden, der Datenpunkte
aufweist, die in unterschiedliche Richtungen um die Nullachse schwingen
und keine Häufung
entfernt von der Nullachse bilden. Aus dem Zählerstand sieben aus sechzehn
kann der Abgriff als einer ohne Spitzenwert verworfen werden.
Tabelle
II
-
Tabelle
II zeigt abgetastete Werte I und Q von einem Abgriff mit einem Spitzenwert.
Wie aus Tabelle II ersichtlich ist, häufen sich abgetastete Werte
I und Q größtenteils
in der gleichen Richtung über
die 16 Abtastwerte. Es ist ebenfalls ersichtlich, dass die modifizierten
abgetasteten Werte I' und
Q', die vom Filter
z.B. aus 4 modifiziert
werden, im Wesentlichen negatives Vorzeichen über alle sechzehn Abtastwerte
hinweg haben, was eine kleine oder geringe Richtungsänderung
der Abtastwerte I und Q anzeigt. Deshalb resultiert die Ausgabe
(I' + Q') des Akkumulators 27 in
einem größeren negativen
Wert, der deutlich über
der Nullachse angehäuft
ist. Da jeder Variationswert (I' +
Q') negativ ist,
zählt der
Zähler
sechzehn Mal, was in einem Zählerstand
von sechzehn resultiert. Dies wird als Abgriff mit einem Spitzenwert
erkannt. 8 zeigt eine
Darstellung der in Tabelle II gelisteten Abtastwerte I und Q. Wie
aus 8 ersichtlich ist,
ergeben sich zwei Anhäufungen von
Daten, eine für
die Abtastwerte I und eine für
die Abtastwerte Q.
-
Gemäß einer
Ausführungsform
der Erfindung werden zur Bestimmung, ob ein Spitzenwert in einem bestimmten
Abgriff vorliegt, die Variationswerte (I' + Q')
im Speicher 15 gespeichert und die gespeicherten Variationswerte
in der FFT-Einheit 20 verarbeitet, um nach einem existierenden
Spitzenwert zu suchen. Die Existenz eines Spitzenwertes kann aus
den von der FFT-Einheit 20 transformierten Variationswerten
bestimmt werden, die mit einem vorbestimmten Wert verglichen werden,
der die Existenz eines Spitzenwertes definiert. Wird ein Spitzenwert
für den
aktuellen Abgriff bestimmt, dann werden die Frequenz, die Codewerte
und Phasenoffsets von den Abtastwerten I und Q extrahiert und Pseudobereiche
berechnet.
-
Um
alternativ den Datensatz weiter zu reduzieren, werden die Abtastdaten
I und Q vor der Filterung und der Verarbeitung durch den Filter 30 und
die FFT-Einheit 20 durch eine Multiplikation mit einem
Bruchteil, wie beispielsweise ½, ¼ usw.,
weiter reduziert. Der zugehörige,
nicht darge stellte Multiplizierer kann als Teil des Filters 30 ausgeführt oder
zwischen dem Integrierer 14 und dem Filter 30 eingeschleift
sein.
-
9 zeigt ein Flussdiagramm
für Daten,
die von einem Abgriff empfangen werden, um einen Spitzenwert zu
bestimmen, gemäß einer
Ausführungsform
der Erfindung. Wie aus 9 ersichtlich
ist, empfängt der
erfindungsgemäße Empfänger im
Schritt 71 Werte I und Q an einem Abgriff. Im Schritt 72 werden
N Abtastwerte von integrierten Korrelationswerten, d.h. abgetastete
Werte, an den Filter 30 ausgegeben. Gemäß dem dargestellten Ausführungsbeispiel
ist N gleich 16 und die Integrationsdauer beträgt 1 Millisekunde. Im Schritt 73 werden
die abgetasteten Wert I und Q im Filter 30 empfangen. Die
Abtastwerte I und Q werden im Schritt 74 modifiziert, um
einen positiven Wert anzunehmen, wenn ein Vorzeichenwechsel zwischen
dem vorherigen Abtastwert und dem aktuellen Abtastwert vorliegt,
und einen negativen Wert, wenn kein Vorzeichenwechsel vorliegt.
Im Schritt 75 werden die modifizierten Werte I und Q durch
den Akkumulator 27 addiert. Nach Erreichen von N Abtastwerten
im Schritt 76 für
die Wertepaare I und Q werden die akkumulierten modifizierten Werte
I und Q, d.h. die Variationswerte, im Schritt 77 im Speicher 15 gespeichert.
Die gespeicherten Daten werden im Schritt 78 von der FFT-Einheit 20 verarbeitet
und der FFT-transformierte Wert wird im Schritt 79 mit einem
vorgegebenen Schwellwert verglichen, um zu bestimmen, ob der maximale
Wert ein Spitzenwert ist. Dann werden im Schritt 80 die
Werte I und Q gespeichert, wenn der Wert für den Phasenoffset des Code-NCO 18 maximal
ist. Nach der Bestimmung im Schritt 81, dass ein Spitzenwert
existiert, berechnet der Navigationsprozessor 7 im Schritt 83 Pseudobereiche,
einen Phasenoffset usw. Existiert kein Spitzenwert im Schritt 81, dann
kehrt der Prozess über
den Schritt 82, in dem eine nächste Suchfrequenz und ein
nächster
Codeverzögerungswert
bestimmt werden, zum Schritt 71 zurück.
-
Gemäß einer
anderen Ausführungsform
der Erfindung werden der Zählerstand
des Zählers 28 aus 5 und die in den Tabelle
I und II dargestellten Zählerstände benutzt,
um die Existenz eines Spitzenwerts im korrespondierenden Abgriff
zu bestimmen. Existiert am Abgriff ein Spitzenwert, dann ist der
Zählerstand nahe
an der Anzahl der Abtastwerte und der empfangenen abgetasteten Werte
I und Q. Im dargestellten Ausführungsbeispiel
sollte der Zählerstand
eines Abgriffs mit einem Spitzenwert nahe beim Wert sechzehn liegen. Daher
kann beispielsweise ein Schwellwert von vierzehn gesetzt werden,
und wenn der Zählerstand
diesen Schwellwert von vierzehn erreicht oder übersteigt, kann darauf geschlossen
werden, dass im aktuellen Abgriff ein Spitzenwert vorliegt. Gemäß diesem
Ausführungsbeispiel
werden die abgetasteten Werte I und Q zur Weiterverarbeitung im
Speicher 15 gespeichert. Die abgetasteten Werte I und Q
von Abgriffen, deren Zählerstände den
Schwellwert nicht erreicht oder überschritten
haben, werden dahingehend interpretiert, dass kein Spitzenwert vorliegt,
und die korrespondierenden Abtastwerte I und Q werden nicht im Speicher 15 gespeichert.
Diese Abtastwerte I und Q werden nicht für den Erfassungsvorgang benutzt,
sondern verworfen.
-
10 zeigt ein beispielhaftes
Flussdiagramm für
diese Ausführungsform.
Wie aus 10 ersichtlich ist,
empfängt
der Empfänger
im Schritt 91 Werte I und Q an einem Abgriff. Im Schritt 92 werden
N Abtastwerte von integrierten Korrelationswerten, d.h. abgetastete
Werte, an den Filter 30 ausgegeben. Im Schritt 93 werden die
abgetastete Werte I und Q im Filter 30 empfangen. Die Abtastwerte
I und Q werden im Schritt 94 modifiziert, um einen positiven
Wert anzunehmen, wenn ein Vorzeichenwechsel zwischen dem vorherigen
Abtastwert und dem aktuellen Abtastwert vorliegt, und einen negativen
Wert anzunehmen, wenn dies nicht der Fall ist. Im Schritt 95 werden
die modifizierten Werte I und Q durch den Akkumulator 27 addiert.
Nach Erreichen von N Abtastwertepaaren I und Q im Schritt 96 wird
der Zählerstand
im Schritt 97 durch die Logikschaltung 29 mit einem
eingestellten Schwellwert verglichen. Entspricht oder übersteigt
der Zählerstand
den eingestellten Schwellwert, dann wird der betreffende Abgriff
als Abgriff mit einem potentiellen Spitzenwert betrachtet. In einem
solchen Fall werden die abgetasteten Werte I und Q im Schritt 98 im
Speicher 15 gespeichert. Die gespeicherten Daten werden
im Schritt 99 von der FFT-Einheit 20 verarbeitet
und die FFT-transformierten Werte werden im Schritt 100 mit
einem vorgegebenen Schwellwert verglichen, um zu bestimmen, ob am
Abgriff ein Spitzenwert vorliegt. Nach der Bestimmung im Schritt 110,
dass ein Spitzenwert existiert, werden im Schritt 120 weitere
Verarbeitungsprozesse durchgeführt
und Pseudobereiche, ein Phasenoffset usw. berechnet. Existiert kein
Spitzenwert im Schritt 110, dann kehrt der Prozess über den
Schritt 130, in dem eine nächste Suchfrequenz und ein
nächster
Codeverzögerungswert
bestimmt werden, zum Schritt 91 zurück.
-
11 zeigt ein beispielhaftes
Flussdiagramm einer anderen Ausführungsform
der Erfindung. Wie aus 11 ersichtlich
ist, empfängt
der Empfänger
in diesem Ausführungsbeispiel
im Schritt 211 Werte I und Q an einem Abgriff. Im Schritt 212 werden
N Abtastwerte von integrierten Korrelationswerten, d.h. abgetastete Werte,
an den Filter 30 ausgegeben. Gemäß dem dargestellten Ausführungsbeispiel
ist N gleich 16 und die Integrationsdauer beträgt 1 Millisekunde. Im Schritt 213 werden
die abgetasteten Werte I und Q im Filter 30 empfangen.
Die Abtastwerte I und Q werden im Schritt 214 modifiziert,
um einen positiven Wert anzunehmen, wenn ein Vorzeichenwechsel zwischen
dem vorherigen Abtastwert und dem aktuellen Abtastwert vorliegt,
und andernfalls einen negativen Wert anzunehmen. Im Schritt 215 werden
die modifizierten Werte I und Q durch den Akkumulator 27 addiert.
Nach Erreichen von N Abtastwerten im Schritt 216 für die Wertepaare
I und Q wird der Zählerstand
im Schritt 217 durch die Logikschaltung 29 mit
einem eingestellten Schwellwert verglichen. Entspricht oder übersteigt
der Zählerstand
den eingestellten Schwellwert, dann wird der fragliche Abgriff als
Abgriff mit einem potentiellen Spitzenwert betrachtet. In einem
solchen Fall werden die abgetasteten Werte I und Q im Schritt 218 im
Speicher 15 gespeichert. Die gespeicherten Daten werden
im Schritt 219 von der FFT-Einheit 20 verarbeitet und
die FFT-transformierten Werte werden im Schritt 220 mit
einem vorgegebenen Schwellwert verglichen, um zu bestimmen, ob am
Abgriff ein Spitzenwert vorliegt. Dann werden die Werte I und Q
im Schritt 221 gespeichert, wenn der Wert des Phasenoffsets
des Code-NCO 18 einen Maximalwert hat. Nach der Bestimmung
im Schritt 222, dass ein Spitzenwert existiert, werden
im Schritt 223 weitere Verarbeitungsprozesse durchgeführt und
Pseudobereiche, ein Phasenoffset usw. berechnet. Existiert kein
Spitzenwert im Schritt 222, dann kehrt der Prozess über den
Schritt 224, in dem eine nächste Suchfrequenz und ein
nächster
Codeverzögerungswert
bestimmt werden, zum Schritt 211 zurück.
-
Gemäß einer
alternativen Ausführungsform
der Erfindung werden der Filter 30 und der Zähler 28 benutzt,
wie oben beschrieben ist, und der Zählerstand wird benutzt, um
die Existenz eines potentiellen Spitzenwertes am betreffenden Abgriff
zu bestimmen. Nach der Bestimmung, dass der Abgriff einen potentiellen
Spitzenwert aufweist, werden statt der abgetasteten Werte I und
Q, wie bei der vorherigen Ausführungsform,
die Variationswerte (I' +
Q') im Speicher 15 gespeichert.
Die gespeicherten Daten werden dann in der FFT-Einheit 20 verarbeitet,
um zu bestimmen, ob ein Spitzenwert am Abgriff existiert. Gemäß diesem
Ausführungsbeispiel werden
die abgetasteten Werte I und Q und die Variationswerte (I' + Q') der Abgriffe, zu
denen kein Spitzenwert ermittelt wurde, nicht im Filter 15 gespeichert
und nicht weiterverarbeitet. Der Speicher 15 ist z.B. ein
Halbleiterspeicher, vorzugsweise ein SRAM- oder DRAM-Baustein.
-
Um
den im Speicher
15 zu speichernden Datensatz weiter zu
reduzieren, können
die abgetasteten Werte I und Q mit einem Bruchteil, wie z.B. ½, ¼ usw.,
multipliziert werden, bevor sie vom Filter
30 verarbeitet werden.
Die zugehörige,
nicht dargestellte Multiplizier-/Verschiebeschaltung kann implementiert
werden, bevor die Werte in den Akkumulator
27 aus
4 eingegeben werden. Tabelle
III zeigt die abgetasteten Werte I und Q, die mit einem Bruchteil
modifizierten Werte I'/2
und Q'/2, die Variationswerte
(I'/2 + Q'/2) und die Zählerstände eines
Abgriffs mit einem Spitzenwert.
Tabelle
III
-
12 zeigt grafisch Kennlinien
der Bruchteils-Variationswerte, die aus den Werten der Tabellen
I bis III für
einen Abgriff ohne Spitzenwert (Tabelle I) und einen Abgriff mit
Spitzenwert (Tabelle III) extrahiert sind. Wie aus 12 ersichtlich ist, tendiert ein Abgriff
mit Spitzenwert zu einer Anhäufung,
die weit von der Nullachse entfernt ist, während der Abgriff ohne Spitzenwert
zu Werten tendiert, die in unterschiedlichen Richtungen um die Nullachse
schwingen.
-
Der
Fachmann erkennt, dass der Filter, obwohl die Ausführungsbeispiele
des Filters der Erfindung mit Schaltungsbauteilen dargestellt sind,
auch als Software implementiert werden kann oder als Speicherbaustein mit
Programmcodes, die von einem Prozessor abgearbeitet werden, wobei
mit der Abarbeitung der Programmcodes die oben beschriebenen Filterfunktionen
implementiert werden. Der Speicherbaustein ist vorzugsweise als
Flash-Speicher oder als ROM-Baustein ausgeführt.