DE60308691T2 - Verfahren und vorrichtung zur durchführung einer signalkorrelation in mehreren auflösungen, zur mehrwegestörungsverminderung - Google Patents

Verfahren und vorrichtung zur durchführung einer signalkorrelation in mehreren auflösungen, zur mehrwegestörungsverminderung Download PDF

Info

Publication number
DE60308691T2
DE60308691T2 DE60308691T DE60308691T DE60308691T2 DE 60308691 T2 DE60308691 T2 DE 60308691T2 DE 60308691 T DE60308691 T DE 60308691T DE 60308691 T DE60308691 T DE 60308691T DE 60308691 T2 DE60308691 T2 DE 60308691T2
Authority
DE
Germany
Prior art keywords
code
correlation response
correlation
signal
slope
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60308691T
Other languages
English (en)
Other versions
DE60308691D1 (de
Inventor
Charles San Jose ABRAHAM
L. Donald Wyckoff FUCHS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Global Locate Inc
Original Assignee
Global Locate Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Global Locate Inc filed Critical Global Locate Inc
Application granted granted Critical
Publication of DE60308691D1 publication Critical patent/DE60308691D1/de
Publication of DE60308691T2 publication Critical patent/DE60308691T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S1/00Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/04Details
    • G01S1/045Receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/22Multipath-related issues
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/23Testing, monitoring, correcting or calibrating of receiver elements
    • G01S19/235Calibration of receiver components
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/254Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to Doppler shift of satellite signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/256Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to timing, e.g. time of week, code phase, timing offset
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/70751Synchronisation aspects with code phase acquisition using partial detection
    • H04B1/70752Partial correlation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/70757Synchronisation aspects with code phase acquisition with increased resolution, i.e. higher than half a chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/7077Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/709Correlator structure
    • H04B1/7095Sliding correlator type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/709Correlator structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70715Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features

Description

  • TECHNISCHER HINTERGRUND DER ERFINDUNG Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Signalkorrelatoren für digitale Signalempfänger und insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung für das Durchführen einer Signalkorrelation in beispielsweise einem Empfänger eines Satellitennavigationssystems (GPS).
  • Beschreibung des relevanten Standes der Technik
  • Der Prozeß des Messens eines Satellitennavigationssignals (GPS) beginnt mit dem Prozeß des Suchens nach dem GPS-Signal in einer verrauschten Umgebung durch Versuchen einer Reihe von Korrelationen des ankommenden Signals gegenüber einem bekannten, pseudozufälligen Rauschcode (PRN). Der Suchprozeß kann lange anhalten, da sowohl die exakte Frequenz des Signals als auch die Laufzeit unbekannt sind. Um das Signal zu finden, führen Empfänger traditionell eine zweidimensionale Suche durch, wobei sie jede mögliche Laufzeit bei jeder möglichen Frequenz überprüfen. Um nach dem Vorhandensein eines Signals bei einer bestimmten Frequenz und einer bestimmten Laufzeit zu suchen, wird der Empfänger auf die Frequenz eingestellt und das ankommende Signal wird mit dem bekannten PRN-Code korreliert, der um eine bestimmte Zeit, die der Ankunftszeit entspricht, verzögert wird. Falls kein Signal erfaßt wird, setzt die Suche mit der nächsten möglichen Laufzeit fort und nachdem alle möglichen Laufzeiten überprüft wurden, wird mit der nächstmöglichen Frequenz fortgesetzt. Jede individuelle Korrelation wird über eine oder mehrere Millisekunden durchgeführt, um eine ausreichende Signalmittelung zu erlauben, um das Signal vom Rauschen zu unterscheiden. Da viele tausend Frequenzen und Laufzeiten überprüft werden, kann der Gesamterfassungsprozeß einige Dutzend Sekunden einnehmen.
  • Vor kurzem sind neue Anwendungen der GPS-Technologie in Funkgeräten aufgekommen, z.B. die Verwendung von GPS in Mobiltelefonen, um eine Notfallortungsmöglichkeit bereitzustellen. In diesen Anwendungen ist die schnelle Signalerfassung in nur wenigen Sekunden erforderlich. Des weiteren erfordern diese Anwendungen einen GPS-Empfänger, der für den Betrieb in rauhen Signalumgebungen und im Inneren von Gebäuden, wo GPS-Signalniveaus stark abgeschwächt werden, ausgelegt ist. Das Erfassen von abgeschwächten Signalen erfordert es, daß jede Korrelation über eine relativ lange Zeitperiode durchgeführt wird. Beispielsweise kann die Integration über ein paar Sekunden durchgeführt werden, im Gegensatz zu der 1 bis 10 Millisekundenperiode, die in traditionellen GPS-Empfängern verwendet wird. Der zweidimensionale sequentielle Suchprozeß, der von traditionellen Empfängern eingesetzt wird, wird bei solch langen Integrationszeiten unpraktisch, da die Gesamtsuchzeit sich um einen Faktor 100 oder mehr erhöht.
  • Um den Suchprozeß zu beschleunigen, führen GPS-Konstrukteure zusätzliche Korrelatoren zu dem Empfänger hinzu, so daß mehrere mögliche Laufzeiten gleichzeitig überprüft werden können. Typischerweise erfordert jeder Korrelator, der hinzugefügt wird, einen getrennten Codemischer und Signalsammler. Für ein gegebenes Empfindlichkeitsniveau verringert dies die Suchzeiten im Verhältnis zu der Anzahl der Korrelatoren. Um die Empfindlichkeit und die Erfassungszeit zu erhalten, die in Mobiltelefonanwendungen erfordert werden, müßte das Design tausende Korrelatoren beinhalten. Eine solche Hinzufügung ist typischerweise zu komplex und teuer für eine Vorrichtung der Verbraucherklasse.
  • Beispielsweise beschreibt das US-Patent Nr. 5,901,171, ausgestellt am 4. Mai 1999, eine Dreifach-Multiplex-Technik, die es erlaubt, daß ein einzelner, zeitlich gemeinsam genutzter Verarbeitungsblock verwendet wird, um bis zu 20 Korrelationen auf jedem der 12 Kanäle gleichzeitig durchzuführen. Dies bietet eine Verbesserung der Leistung im Vergleich zu Konstruktionen mit einem einzelnen Korrelator, da Blöcke von 20 möglichen Laufzeiten gleichzeitig überprüft werden. Eine Gesamtsignalsuche über den gesamten Bereich von Laufzeitunsicherheiten erfordert die Verwendung des Blocks aus 20 Korrelatoren annäherungsweise 100 mal hintereinander, um 2046 Verzögerungen zu überprüfen. Somit, falls eine Erfassung in wenigen Sekunden durchgeführt werden muß, wird die Integrationszeit auf einige zehn Millisekunden beschränkt. Dies ist nicht ausreichend, um die Empfindlichkeit zu erzielen, die für GPS-Anwendungen im Inneren von Gebäuden benötigt wird.
  • Um den Suchprozeß weiter zu verbessern, beinhalten andere GPS-Empfängerarchitekturen eine Verarbeitung, die in der Lage ist, eine Faltung zwischen dem einkommenden Signal und dem bekannten PRM-Code zu erzeugen. Dies ist äquivalent zum Bereitstellen eines vollständigen Satzes von Korrelatoren, der alle Laufzeitmöglichkeiten über eine volle C/A-Codeepoche (1023 Chips) abdeckt, und das US-Patent 5,663,734, ausgegeben am 2. September 1997, beschreibt schnelle Fouriertransformationsbasierte Softwaretechniken (FFT), um effizient die notwendigen Korrelationsergebnisse unter Verwendung von Softwarealgorithmen zu erzeugen. Dieser Ansatz ist nicht für alle Anwendungen geeignet, da ein programmierbarer, digitaler Signalprozessor (DSP) benötigt wird, um die FFT-Software ablaufen zu lassen, und ein großer Speicher wird benötigt, um unverarbeitete Signalabfragen zu speichern. Weiterhin kann dieser Ansatz eine große Verarbeitungsverzögerung aufgrund der Softwareberechnungen und aufgrund der Tatsache, daß die Softwareverarbeitung nur startet, nachdem eine vollständige Momentaufnahme des Signals gespeichert ist. In vielen Anwendungen wird eine Echtzeitverarbeitungslösung bevorzugt, vorzugsweise eine, die keine extensive Softwareverarbeitung beinhaltet. Lyusin et al., "Fast Acquisition by Matched Filter Techniques for GPS/GLONASS Receivers", Seiten 307 bis 315, beschreibt Hardwareansätze, um die Faltung in Echtzeit durchzuführen unter Verwendung von angepaßten Filtern mit 1023 Abgriffen. Der angepaßte Filter besteht aus Schieberegistern, die groß genug sind, um eine volle C/A-Codeepoche aufzunehmen, sowie eine breite 1023-Vektormultiplizierer und -addierereinheit, die das innere Produkt zwischen einer vollen Epoche des Signals und dem C/A-Code erzeugt.
  • Der Schaltkreis ist komplex in Bezug auf die Randbedingungen von Low Cost-Endabnehmergeräten, wie z.B. Mobiltelefonen. Andere Ansätze mit angepaßten Filtern, wie sie z.B. in militärisch genutzten Empfängern für die P-Code-Erfassung verwendet werden, beinhalten ebenso große Vektormulitplizierer.
  • Es besteht somit die Notwendigkeit für einen verbesserten, einfachen und kostengünstigen GPS-Verarbeitungsblock, der in der Lage ist, einen gesamten Zeitraum des Signals und der C/A-Codes zu verarbeiten. Solch eine Vorrichtung muß aus relativ einfacher Hardware aufgebaut und dennoch in der Lage sein, eine vollständige Faltung oder viele parallele Korrelationen durchzuführen, vorzugsweise ohne einen großen Vektormultiplizierer.
  • Der relevante Stand der Technik beinhaltet die veröffentlichte europäische Patentanmeldung EP 1167993 mit dem Titel "A Method for Measuring Distance and Position using Spread Spectrum Signals, and an Equipment using the Method". In diesem System und Prozeß wird ein erstes Grenzniveau oberhalb eines Rauschniveaus (2. Grenze) festgelegt. Ein Referenzzeitpunkt wird als der Punkt erfaßt, der dem ersten Grenzwert-Zeitwert am nächsten, jedoch vor diesem liegt. Danach wird die Zeit von dem Referenzzeitpunkt um einen vorbestimmten Offset-Wert verzögert, um bei einem frühesten Peak der Korrelationsantwort anzukommen.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist ein Verfahren und eine Vorrichtung für das Abschwächen von Mehrpfad-Interferenz in einem digitalen Signalkorrelator. Die vorliegende Erfindung bildet Werte, die für die Größe oder die Leistung einer Korrelationsantwort zwischen einem digitalen Signal und einem pseudozufälligen Referenzcode repräsentativ sind. Die vorliegende Erfindung wählt dann einen frühesten Peak in der Korrelationsantwort aus, um eine Laufzeit zu berech nen. In einer Ausführungsform wählt die vorliegende Erfindung den frühesten Peak in der Korrelationsantwort aus, durch Bestimmen einer Mehrzahl von Maxima der Korrelationsantwort. Die vorliegende Erfindung wählt dann das früheste Maximum in der Mehrzahl von Maxima als den frühesten Korrelationspeak aus.
  • In einer anderen Ausführungsform berechnet die vorliegende Erfindung die Steigung einer ansteigenden Flanke der Korrelationsantwort. Die vorliegende Erfindung empfängt ebenso das mittlere Rauschniveau der Korrelationsantwort. Die Erfindung verwendet den Schnittpunkt der Steigung und des mittleren Rauschniveaus, um den frühesten Korrelationspeak in der Korrelationsantwort zu bestimmen.
  • KURZE BESCHREIBUNG DER FIGUREN
  • So daß die Art und Weise, in der die oben erwähnten Merkmale der vorliegenden Erfindung erzielt werden, im Detail verstanden werden können, wird eine detailliertere Beschreibung der Erfindung, die oben zusammengefaßt wurde, durch Bezugnahme auf die Ausführungsformen hiervon, die in den angefügten Zeichnungen dargestellt sind, gegeben.
  • Es sei jedoch bemerkt, daß die angefügten Zeichnungen nur typische Ausführungsformen dieser Erfindung darstellen und nicht als schutzbereichsbeschränkend angesehen werden, da die Erfindung auch andere, gleich effektive Ausführungsformen zuläßt.
  • 1 zeigt ein Blockdiagramm eines GPS-Empfängers, der die vorliegende Erfindung umfaßt,
  • 2 zeigt ein Beispiel von Wellenformen, die durch die Erfindung von 1 erzeugt werden,
  • 3 zeigt Details einer Wellenform mit aufsummierter Größe der 2,
  • 4 zeigt ein detailliertes Blockdiagramm einer Ausführungsform des Faltungsprozessors des die Faltungsergebnisse verarbeitenden Schaltkreises,
  • 5 stellt ein Flußdiagramm eines Betriebsverfahrens der Erfindung von 1 dar,
  • 6 stellt graphisch ein vereinfachtes Beispiel der Berechnung einer vollen Faltung in der traditionellen Art und Weise dar,
  • 7 steht graphisch dar, wie die volle Faltung von 6 unter Verwendung der Erfindung durchgeführt wird,
  • 8 stellt eine Ausführungsform einer Code-Nachschlagvorrichtung dar, die für die Verwendung mit der Erfindung von 1 geeignet ist,
  • 9 stellt eine Ausführungsform eines zweidimensionalen Code-Schieberegisters dar, das für die Verwendung in einer alternativen Ausführungsform der Erfindung von 1 geeignet ist,
  • 10 zeigt ein Blockdiagramm eines GPS-Empfängers, der eine alternative Ausführungsform der Erfindung aufweist,
  • 11 zeigt Details einer Wellenform mit aufsummierter Größe im Hochauflösungsmodus,
  • 12 zeigt eine Ausführungsform einer Code-Nachschlagvorrichtung, die für die Verwendung mit der Erfindung von 10 geeignet ist,
  • 13 stellt ein Flußdiagramm eines Betriebsverfahrens der Erfindung von 10 dar,
  • 14A bis B zeigen die Details der Korrelationsantworten, die von Mehrpfadsignalen beeinflußt werden,
  • 15 stellt ein Flußdiagramm dar, das ein Verfahren zum Abschwächen der Mehr- bzw. Multipfadinterferenz in einem digitalen Signalkorrelator zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 stellt ein Blockdiagramm eines Satellitennavigationsempfängers (GPS) 100 dar, der die vorliegende Erfindung verwirklicht. Die Verwendung eines GPS-Empfängers als Plattform, in der die Erfindung aufgenommen ist, bildet eine Anwendung der Erfindung. Andere Plattformen, die Signalkorrelation erfordern, können die vorliegende Erfindung verwenden.
  • Signale (wie z.B. GPS-Signale) werden von einer Antenne 101 empfangen. Ein RF/IF-Wandler (Hochfrequenz in mittlere Frequenz-Wandler) 102 filtert, verstärkt und frequenzverschiebt das Signal für die Digitalisierung durch einen Analog-Digital-Wandler (A/D) 103. Die Elemente 101, 102 und 103 sind im wesentlichen gleich den Elementen, die in einem konventionellen GPS-Empfänger verwendet werden.
  • Die Ausgabe des A/D 103 ist mit einem Satz von Verarbeitungskanälen 1041 , 1042 ... 104n (wobei n eine ganze Zahl ist) verbunden, der in der digitalen Logik implementiert ist. Jeder Verarbeitungskanal 104 kann verwendet werden, um das Signal von einem bestimmten GPS-Satelliten zu verarbeiten. Das Signal in einem bestimmten Kanal wird digital durch einen Tuner 105 eingestellt, und zwar angetrieben durch einen numerisch gesteuerten Oszillator (NCO) 106. Der Tuner 105 dient zwei Zwecken. Als erstes wird die IF-Frequenz-Komponente, die nach der RF/IF-Umwandlung verbleibt, entfernt. Zweitens wird die Satellitendopplerfrequenzverschiebung, die aus der Satellitenbewegung, der Benutzerbewegung und Referenzfrequenzfehlern herrührt, entfernt. Die Ausgabe von dem Tuner ist ein Basisbandsignal, das aus einer In-Phasen-Komponente (I) und einer Quadraturkomponente (Q) besteht. Der Tuner 105 und der Träger NCO 106 sind im wesentlichen denjenigen gleich, die in konventionellen GPS-Empfänger-Aufbauten verwendet werden.
  • Ein Dezimierungsschaltkreis 107 verarbeitet die Ausgabe des Tuners 105. Die Ausgabe des Dezimierungsschaltkreises 107 ist eine Reihe von komplexen Signalabfragen mit I- und Q- Komponenten, die mit einer präzise getakteten Geschwindigkeit ausgegeben wird, um an die Zeiteinstellung des Eingangssignals zu passen. In einer Ausführungsform der Erfindung ist die Deximierungsoperation ein einfacher Vorsummierer, der alle einkommenden Signalabfragen über des Periode einer Ausgabeabfrage summiert. Ein numerisch gesteuerter Oszillator (NCO) 108 wird verwendet, um den Abtastprozeß zu takten. Falls beispielsweise P = 2, wird der Code NCO 108 eingestellt, um eine Frequenz von (2 × fs) zu erzeugen, wobei fs das für die Dopplerverschiebung eingestellte f0 ist (die C/A-Code Chippingrate des GPS-Signals). Der NCO stellt sich auf die Dopplerverschiebung ein, basierend auf einer externen Eingabe von Firmwarebefehlen. Da die Dopplerverschiebung für jeden Satellit anders ist, wird ein separater Code NCO 108 und ein Dezimierungsschaltkreis 107 für jeden Kanal 1041 benötigt. Es sei bemerkt, daß es keine Anforderung gibt, daß die eingehende Abtastrate ein ganzzahliges Vielfaches von fs ist, da der Code NCO 108 in der Lage ist, eine willkürliche Frequenz zu erzeugen. Falls der Dezimierungsschaltkreis 107 ein Vorsummierer ist, wird die Anzahl von summierten Abfragen typischerweise zwischen zwei Werten hin- und herschalten, so daß über eine längere Zeit die korrekte Abtastzeit beibehalten wird. Falls beispielsweise die ankommende Abtastrate 10 MHz beträgt und die gewünschte Abtastrate 2046 MHz beträgt, wird der Vorsummierer entweder 4 oder 5 Abtastungen hinzufügen, so daß im Durchschnitt die gewünschte Abtastrate beibehalten wird.
  • Der Dezimierungsschaltkreis 107 kann ebenso einen Quantisierer (nicht gezeigt) an seinem Ausgang beinhalten, um die Anzahl von Bits in den Signalkomponenten vor der weiteren Verarbeitung zu reduzieren. In einer Ausführungsform der Erfindung wird die 2-Bit-Quantisierung verwendet.
  • Die Signalabfragen von dem Dezimierungsschaltkreis 107 werden mit einem Faltungsprozessor 109 verbunden. Der Faltungsprozessor 109 erzeugt Ergebnisse, die in Signalspeichern mit wahlfreiem Zugriff (RAMs) 110a und 110b abgelegt werden. Genauer gesagt halten diese RAMs 110a und 110b einen komplexen Vektor, der die gesamte oder einen Teil der vollen Faltung zwischen dem Eingangssignal und einem Referenz-PN-Code (z.B. ein GPS-C/A-Code) durchführt. Das Faltungsergebnis wird einen Peak haben an Punkten, die einer hohen Korrelation zwischen dem Signal und der Referenz (der PN-Code) entsprechen. Wie später erörtert wird, wird der relative Ort dieser Peaks für verschiedene Satellitensignale verwendet, um schlußendlich die Positionsinformation zu berechnen.
  • Der Faltungsprozessor 109 und die Signal-RAMs 110a und 110b sammeln die Faltungsergebnisse für mehrere Zeiträume des GPS-Signals, die sich nominell mit 1 Millisekunden-Intervallen wiederholen. Falls beispielsweise 10 Millisekunden des Signals verarbeitet sind, sind die Werte im RAM 110a und 110b die Summe von 10 Korrelationsergebnissen, die jeweils über einen Zeitraum gewonnen wurden. Alle individuellen Korrelationen sollten eine ähnliche Charakteristik haben, da die Taktung der Dezimierungsoperation sicherstellt, daß die Abfragen zum selben relativen Moment innerhalb jedes Zeitraums aufgenommen werden. Das Aufsummieren ähnlicher Ergebnisse von individuellen Korrelationen verbessert das Signal-Rausch-Verhältnis und erhöht die Fähigkeit des Empfängers, schwache Signale zu erfassen. Diese Verarbeitung kann als kohärente Integration bezeichnet werden und kann, wie erörtert werden wird, mit der Größenintegration kombiniert werden, um Korrelationsergebnisse zu erzielen, die über eine Zeitperiode von bis zu mehreren Sekunden Bemittelt werden.
  • Die Zeitlänge, während der das kohärente Integrationsintervall durchgeführt wird, wird durch verschiedene Faktoren beschränkt, einschließlich der nichtkompensierten Dopplerverschiebung, der GPS-Signalnavigationsdatenbits und der Phasenverschiebungen, die durch die Bewegung des Empfängers 100 induziert werden. Diese Faktoren fügen langsame, jedoch sichtbare Zufallsphasenvariationen in das Signal ein. Über viele Millisekunden verursachen diese Phasenveränderungen destruktive Interferenz, die den Zweck der kohärenten Integration annuliert.
  • Daher führt der Receiver 100, um lange Mittelungsintervalle zu erzielen, einen zweiten Schritt der Größenakkumulation durch. Genauer gesagt werden die Signale, die in den Signal-RAMs 110a und 110b gespeichert sind, periodisch an einen komplexen Normalisierer 111 ausgegeben, der einen komplexen Größenwert des komplexen Faltungsvektors erzeugt. Die komplexen Größenwerte werden von einem Addierer 112 aufsummiert und im Größenwert-RAM 113 gespeichert. Jedes Mal, wenn die komplexe Größe des Signals berechnet wird, werden die Signal-RAMs 110a und 110b gelöscht, um zu gestatten, daß eine andere kohärente Integration durchgeführt wird. Der Prozeß wird fortgesetzt, bis die gewünschte Anzahl von Größenakkumulationen beendet ist. Falls beispielsweise das kohärente Mittelungsintervall 10 Millisekunden beträgt und 200 Größenwertakkumulationen gewünscht sind, wird der Gesamtprozeß über 2 Sekunden ablaufen.
  • Nach dem Faltungsprozeß enthält der Größen-RAM 113 einen Vektor, der die komplexe Größe des Faltungsergebnis enthält und integriert ist, um das Signal-Rausch-Verhältnis zu verbessern. Wie unten erläutert wird, wird dieser Vektor weiter durch Softwarealgorithmen verarbeitet, die von der CPU 114 ausgeführt werden, um Pseudobereichsdaten zu erzeugen, die verwendet werden, um die Position des Empfängers zu erhalten. Es soll erwähnt werden, daß die CPU-Berechnungsbelastung für diese Schritte eher gering ist, verglichen mit konventionellen GPS-Empfängern oder einem FFT-basierten Korrelator. In dieser Implementierung werden die rechenintensiven Aufgaben der Korrelation und Integration vor der Softwareverarbeitung beendet.
  • 2 stellt Wellenformen 201I, 201Q und 202 dar, die von den Komponenten von 1 erzeugt wurden. Die Wellenformen 201I, 201Q und 202 sind Auftragungen der Signalstärke (Achse 208) über den Codechips (Achse 210). Die Wellenformen stellen die Ausgabe des Faltungsprozessors 109 während der kohärenten Integration und der Größenintegration dar. Aus Gründen der Klarheit sind nur 9 Millisekunden der Signalverarbeitungszeit gezeigt, die aus drei Größenakkumulationen besteht, jeweils basierend auf drei kohärenten Integrationen. In dem Beispiel ist P = 2, so daß es 2046 Signalabfragen pro kohärenter Integration gibt. Die Wellenformen 201I und 201Q sind die Ausgaben des Faltungsprozessors 109, wobei 201I die I-Komponente der Ausgabe ist und 201Q die Q-Komponente ist. Jeder Block aus 2046 Abfragen ist ein volles Faltungsergebnis, das in Echtzeit durch den Faltungsprozessor 109 aus den 2046 Signalabfragen, die während des Intervalls verarbeitet wurden, erzeugt wurde. Das Faltungsergebnis enthält Rauschen, außer in der Nähe eines einzelnen Peaks (angezeigt durch die Referenzzahlen 206I und 206Q), der der Laufzeit des Signals entspricht. Das Signal wiederholt sich in jedem Zeitraum, so daß der Peak alle 2046 Abfragen erneut erscheint. Über die ersten drei Zyklen werden die Korrelationsergebnisse in dem RAM 110a und 110b gesammelt durch Aufsummieren von Werten bei der entsprechenden Laufzeit von jedem Zeitraum. (Beispielsweise werden die Werte zur Ausgangszeit 4 mit den Werten zur Ausgangszeit 2050 und 4096 summiert.) Der Korrelationspeak tritt immer bei derselben Laufzeitverschiebung auf und die Größe des Peaks vergrößert sich mit der Akkumulation, und zwar verdreifacht er sich grob über den drei Zeiträumen. Das Rauschniveau erhöht sich ebenso, wächst jedoch nur wie die Quadratwurzel aus 3, da die Rauschkorrelation von Zeitraum zu Zeitraum nicht korreliert ist. Das Signal-Rausch-Verhältnis verbessert sich während des Akkumulationsprozesses, und zwar grob um die Quadratwurzel aus 3. Die Wellenform 201Q stellt denselben Signalakkumulationsprozeß dar, der im Quadraturkanal auftritt.
  • Beginnend mit dem vierten Zyklus des Signals werden die Signal-RAMs 110a und 110b auf Null gelöscht und der Signal-Akkumulationsprozeß beginnt erneut. Die Wellenformen 201I und 201Q zeigen die Korrelationen kumuliert und dreimal ausgegeben während der neunfachen Signalzeitdauer.
  • Am Ende des kohärenten Mittelungsintervalls wird die Größe des akkumulierten Signals berechnet und in das Größen-RAM 113 summiert. Das Signal im Größen-RAM 113 ist als Wellenform 202 gezeigt. Im Beispiel wird die Wellenform 202 dreimal aktualisiert entsprechend der Vollendung jeder kohärenten Integration. Die Peaks werden identifiziert durch die Bezugszahlen 2121 , 2122 , 2123 und Rauschen wird durch die Bezugszahl 214 identifiziert. Wie man sieht, erhöht sich das Signal-Rausch-Verhältnis mit jeder Größenakkumulation, was die Fähigkeit des Systems, den Peak, welcher der Laufzeit entspricht, zu identifizieren, weiter bessert.
  • Es sei erwähnt, daß in dem Beispiel die komplexe Phase des Signals über die neun Zeitdauern variiert. Genauer gesagt war das Signal ursprünglich in sowohl dem I- als auch dem Q-Kanal vorhanden, hat sich jedoch im letzten Zeitraum gedreht, so daß das Signal im I-Kanal stark war und im Q-Kanal nahezu abwesend war. Wie oben erwähnt, verursachen eine nicht perfekte Dopplerverschiebungseinstellung und andere Effekte diese Drehung. Über viele Zeiträume würde die Phase sich durch viele Zyklen drehen, was zur Auslöschung des Signals führt, wenn es aufsummiert wird. Aus diesem Grund akkumuliert der erfindungsgemäße Empfänger kohärent nur über ein kurzes Intervall und verläßt sich auf die Größenakkumulation (nicht kohärent) für die Langzeitmittelung. Die Größenwerte sind unabhängig von der Phase und können über einige Sekunden erfolgreich integriert werden.
  • 3 stellt die akkumulierte Größenwellenform 202 detaillierter dar. Die Auftragung 300 zeigt die Größe der Faltung in der Nähe eines Peaks 2123 , der der Laufzeit des Signals entspricht. Die Punkte auf der Code-Chip-Achse 210 sind mit einem Intervall voneinander beabstandet, das gleich der C/A-Code-Chip-Länge geteilt durch P ist, wobei P das Verhältnis der Signalab tastrate zu f0, der C/A-Code-Chipping-Rate ist. Im Beispiel ist P = 2, so daß die Punkte mit einem halben Chipintervall näherungsweise 500 ns voneinander beabstandet sind. (Dieser Zeitabstand entspricht einem Bereichsunterschied von 150 m). Um Pseudobereichsmessungen in der Größenordnung von 10 m oder besser zu erzielen, werden die Faltungsergebnisse weiterverarbeitet, typischerweise in der CPU 114, um die Positionsinformation zu erzeugen. Es gibt zahllose Interpolationstechniken, die verwendet werden können, um die wahre Zeitverzögerung abzuschätzen unter Verwendung der diskreten Korrelationswerte, die von dem Faltungsprozeß bereitgestellt werden. Eine Ausführungsform verwendet eine Kleinste-Quadrate-Schätztechnik, um Parameter eines Signals zu identifizieren, das am besten die gemessenen verrauschten Daten anpaßt. Die Idealantwort eines Signals ist die Größe der Autokorrelation des Signals. Es kann leicht gezeigt werden, daß diese Wellenform die Form eines aufrechten Dreiecks 302 hat. Die Breite der Dreiecksbasis beträgt exakt 2 C/A-Codechips oder 4 Punkte des Faltungsergebnisses (für den P = 2-Fall). Die Höhe 304 der Basis des Dreiecks ist die Größe des Rauschens in der Faltung für Laufzeiten, die nicht dem Signal entsprechen. Die Größe dieses Rauschens kann aus den Daten abgeschätzt oder vorberechnet werden, basierend auf Designparametern wie z.B. dem Verstärkungsrauschmaß, der Kabel- und Filterverluste und der Systemtemperatur. Der Peak 305 des Dreiecks und das Zentrum 306 des Dreiecks sind Unbekannte, die der Signalgröße und der Laufzeit entsprechen. Das Kleinste-Quadrate-Verfahren kann verwendet werden, um diese zwei Parameter abzuschätzen, so daß sie die Rauschdatenpunkte an ein Dreieck mit einem gegebenen Peak und Zentrum anpassen.
  • 4 stellt ein detailliertes Blockdiagramm des Faltungsprozessors 109 (sowie den faltungsergebnisverarbeiteten Schaltkreis 400) dar und zeigt insbesondere, wie eine volle Faltung erzeugt wird durch die wiederholte Verwendung eines kleinen Schaltkreisblockes. Der Betrieb des Schaltkreises in dieser Ausführungsform kann am besten unter gleichzeitigem Bezug auf 4, auf ein Flußdiagramm von 5, das den Betrieb des Prozessors 109 von 4 darstellt, und durch Vergleich der einfachen Beispiele von 6 und 7 verstanden werden.
  • Signale von dem Dezimierungsschaltkreis 107 sind mit den Schieberegistern 401a und 401b, die I- bzw. Q-Komponente handhaben, verbunden. Jedes Schieberegister 401a und 401b ist von der Länge P × K, wobei P die gewünschte Anzahl von Abfragen pro C/A-Codechip ist und K als ein Designparameter ausgewählt wird. Wie erläutert werden wird, ist K ein Faktor von 1023. Um die Diskussion zu vereinfachen, konzentriert sich der Rest der Diskussion auf eine bestimmte Ausführung mit P = 2 (die Abfragen sind um ½ Chip voneinander entfernt) und K = 33. Dies bedeutet, daß das Vorrücken des Signals durch das Schieberegister die Notwendigkeit für einen Schaltkreis, um das Signal doppelt zu puffern, eliminiert, was die Kosten und die Komplexität der Implementierung reduziert.
  • Die Signale schreiten durch die Schieberegister 401a und 401b mit der Geschwindigkeit von 2f0 fort, wie von dem Code NCO getaktet. Die Signale bleiben am Ort in den Schieberegistern für viele Taktzyklen, so daß eine Reihe von Teilkorrelationsoperationen durchgeführt werden können. Genauer gesagt werden insgesamt M-Teilkorrelationen durchgeführt, wobei in diesem Beispiel M = 1023/K oder 31 ist. Jede Teilkorrelation besteht aus einer schnellen Vektormultiplikations- und Additionsoperation zwischen den Inhalten von jedem Signalschieberegister und einem Segment des Codes, welche P × K (z.B. 66) Codeabfragen enthält. Die schnelle Vektormultiplikation und -addition findet in den Schaltkreisen 402a und 402b statt. Die Schaltkreise 402a und 402b weisen die Multiplizierer 410a bzw. 410b und die Summierer 412a bzw. 412b auf. Der Betrieb besteht aus dem Multiplizieren jedes der 66 Signalabfragen in den Signalregistern 401a oder 401b mit 66 Codeabfragen (gebildet durch Erweitern der 33 Codeabfragen mit dem Codeerweiterer 409) und Summieren der Ergebnisse in den Summierern 412a und 412b. Die Operation wird gleichzeitig und in den I- und Q-Kanälen getrennt durchgeführt. Mathematisch gesprochen wird diese Operation als ein Skalarprodukt bezeichnet, das definiert ist als
    Figure 00110001
  • Das Ergebnis der Vektormultiplikation und -addition kann erneut quantisiert werden, um die Zahlen in einem kleinen Bereich zu halten, um einen Überlauf der RAMs 404a und 404b zu vermeiden. Zur Vereinfachung ist der Quantisierer nicht gezeigt. In einer Ausführungsform erfolgt die Requantisierung mit 2 Bits der Auflösung.
  • Die Ergebnisse der Vektormultiplikation und -addition werden von den Addierern 403a und 403b akkumuliert und von dem Faltungsergebnisse verarbeitenden Schaltkreis 400 verarbeitet. Der Schaltkreis 400 weist Signal-RAM 110a, 110b, den komplexen Normalisierer 111, den Addierer 112 und den Größen-RAM 113 auf. Der Akkumulationsprozeß besteht aus dem Lesen der gegenwärtigen Werte für eine bestimmte Laufzeit aus dem RAM 110a und 110b, dem Addieren der gerade berechneten Teilkorrelationen und das Zurückschreiben der Summen in die RAMs 110a und 110b. Durch korrektes Kombinieren der Teilkorrelationen, die einer bestimmten Laufzeit entsprechen, wird die Gesamtkorrelation für diese Laufzeit berechnet. Wie vorher beschrieben, wird der Prozeß während so vieler Zeitintervalle des Signalports fortgesetzt, wie es gewünscht wird, um das Signal-Rausch-Verhältnis zu verbessern. Die Addierer 403a und 403b dienen somit zwei Zwecken: der Kombination der Teilkorrelationen innerhalb einer Zeitdauer und der Akkumulation der Korrelationen über einige Zeitdauern.
  • Die Ausgänge von den Signal-RAMs 110a und 110b werden in dem komplexen Normalisierer 405 kombiniert, um die Größe des Signals zu bilden. Die I- und Q-Wellenformen in diesen RAMs 110a und 110b können als der Real- und Imaginärteil einer komplexen Wellenform gesehen werden. Das Bilden der Größe besteht aus dem Quadrieren jeder Komponente, dem Summieren der Ergebnisse und dem Bilden der Wurzel aus dem Ergebnis. Es gibt verschiedene Näherungen für die Größe, die verwendet werden können, um den Schaltkreis zu vereinfachen. In einer Ausführungsform wird die komplexe Größe genähert durch Bilden der Betragsgröße von I und Q unabhängig voneinander und Bestimmen des Größeren. Die Größe kann genähert werden durch die größere Magnitude und Addition der Hälfte der kleineren Magnitude.
  • Die Ergebnisse der Magnitudenoperation können skaliert werden, um die Werte in einem kleinen Bereich zu halten, um einen Überlauf des RAM 113 zu vermeiden. Aus Gründen der Einfachheit ist ein Skalierer nicht gezeigt. In einer Ausführungsform besteht das Skalieren aus dem Verschieben des Ergebnisses um 3 Bits (d.h. Teilen durch 8).
  • Es wäre ebenso möglich, Signalleistungen anstatt Signalgrößen zu akkumulieren. In diesem Fall wäre die Operation in 405 eine Leistungsabschätzung, typischerweise berechnet durch Bilden der Summe der Quadrate von I und Q. In diesem Fall müßten die Pseudobereichsbestimmungsalgorithmen, die in Bezug auf 3 beschrieben wurden, leicht modifiziert werden, um eine Anpassung an die Leistungswellenform im Gegensatz zu der Größenwellenform durchzuführen. Alternativ dazu könnten zusätzliche nichtlineare Operationen verwendet werden, um Werte zu erzeugen, die für die Größe oder Leistung von I und Q repräsentativ sind.
  • Die Ausgabe von dem komplexen Normalisierer 111 wird von dem Addierer 112 in den Größen-RAM 113 aufsummiert. Der Akkumulationsprozeß besteht aus dem Lesen des RAM 113 des gegenwärtigen Größenwertes für eine bestimmte Zeitverzögerung, Hinzufügen des gerade berechneten Größenergebnisses und Zurückschreiben der Summe in den RAM 113. Wie vorher erörtert, wird die Größenakkumulation für so viele Zyklen fortgesetzt, wie erforderlich sind, um eine Signal-Rausch-Verbesserung zu erzielen.
  • Die Vektormultiplizierer 402a und 402b führen M-Teilkorrelationen für jede Signalverschiebung durch. Ein Codenachschlagschaltkreis 408 erzeugt die Referenzcodeabfragen für jede Teilkorrelation. Das Nachschlagen wird durch zwei Nachschlagindizes gesteuert. Als erstes muß einer von 32 Codes ausgewählt werden. Diese Auswahl ist während des Faltungsprozesses konstant und wird durchgeführt, wenn der Verarbeitungskanal konfiguriert wird, um zu einem bestimmten Satellitensignal zu korrelieren. Der zweite Index ist ein Segmentindex zwischen 1 und M. Jeder C/A-Code besteht aus 1023 Chips, die in M sich nicht überlappende Segmente unterteilt sind, wobei jedes aus K benachbarten Codechips besteht. Der Nachschlagindex identifiziert, welches Codesegment benötigt wird. Die Ausgabe von dem Codenachschlagschaltkreis sind K Chips, die das Segment aufweisen. Der Auswahlprozeß wird gesteuert durch die Steuerungs- /Adreßlogik 414.
  • Der Codeerweiterer 409 nimmt K Chips eines Segmentes als Eingang und erweitert das Segment in K × P Codeabfragen. Die Erweiterungsoperation besteht aus dem Umwandeln jedes Codechips in P identische Codeabfragen. Die Ausgabe von dem Cadeerweiterer 409 bildet den Referenzcodeeingang für die Vektormultiplizierer 402a-b.
  • Im Beispiel besteht die Ausgabe des Codeerweiterers aus 66 Abfragen, die aus 33 einzelnen Werten besteht, wobei jeder einmal repliziert wurde.
  • Die Architektur, die in 4 gezeigt ist, erfordert einen Takt, der wesentlich schneller als die C/A-Coderate f0 ist. Wenn beispielsweise zwei Abfragen pro C/A-Codechip verwendet werden (P = 2) und K und M 33 bzw. 31 sind, erfordert das Erreichen der vollen Faltung 31 Teilkorrelationen für jede Verschiebung des Signalschieberegisters, welche mit einer Rate von 2 × f0 fortschreitet. Typischerweise werden zumindest zwei Taktzyklen benötigt, um die RAMs 110a und 110b auszulesen und zu beschreiben. Unter der Annahme von zwei Taktzyklen ist die minimale Taktrate, die erforderlich ist, um die volle Faltung zu erzielen: fclk = 2 × 31 × 2 × f0 = 2 × 31 × 2 × 1,023MHz ≈ 127 MHz
  • Diese Rate ist in modernen integrierten Schaltkreisen leicht zu erreichen.
  • Es soll erwähnt werden, daß die Erfindung ebenso verwendet werden könnte, um eine Untergruppe der vollen Faltung zu berechnen. In diesem Fall werden weniger als M Teilkorrelationen für jede Verschiebung des Signalschieberegisters durchgeführt. In diesem Fall wird der Gesamtbereich der Verzögerungen kleiner als P × 1023 sein, was eine volle Faltung ausmacht. Genauer gesagt, wenn M2 Teilkorrelationen durchgeführt werden, dann werden M2 mal K mal P Verzögerungswerte erzeugt. Die Taktrate des Prozessors wird durch das Verhältnis von M2 zu M reduziert. Weiterhin wird die Größe der RAMs um dieses Verhältnis ebenso reduziert. Diese Alternative kann somit in Systemen nützlich sein, die nicht die Rechen- oder Speicherressourcen haben, um die volle Faltung zu verarbeiten.
  • Eine andere Auswahl für K und M Ergebnis erlaubt es, weitere Designkompromisse zu machen, da jedoch die Primfaktoren von 1023 3, 11 und 31 sind, sind die Wahlmöglichkeiten für K und M beschränkt. Das Reduzieren von K ist wünschenswert, da dies die Größe der Schieberegister 401a und 401b und die Komplexität der Vektormultiplizierer 402a und 402b reduziert, jedoch ein größeres M und daher eine größere Taktrate erfordert. Die Wahlmöglichkeiten für K sind 3, 11, 31, 33, 93. Diese Wahlmöglichkeiten würden Taktraten von 1,39 GHz, 380 MHz, 135 MHz, 127 MHz bzw. 45 MHz erfordern (immer unter der Annahme P = 2 und 2 Taktzyklen pro Teilkorrelation). Basierend auf der zum Zeitpunkt der Demonstration verfügbaren Technologie, wurde die Auswahl K = 33 für eine Ausführungsform getroffen. Mit zukünftigen Technologien kann die Auswahl von K = 11 und einer Taktrate von 380 MHz realisierbar werden und würde zu einer weiteren Reduktion der Komplexität der Logik führen. Somit hat die Architektur das wünschenswerte Attribut des Unterstützens von optimierten Kompromissen zwischen der Geschwindigkeit der Komplexität der Logik.
  • Das Sequenzieren der Codesegmente wird von der Steuerlogik 414 gesteuert. Diese Steuerlogik identifiziert ebenso die korrekten Adressen der RAMs 110a, 110b und 113. Wie unten erläutert wird, werden die Teilkorrelationen in einer nicht-sequentiellen Ordnung erzeugt, wobei die Erzeugung von RAM-Adressen nicht trivial ist.
  • Der Betrieb der Schaltkreise von 4 kann ebenso unter Bezug auf das Flußdiagramm von 5 verstanden werden. Der Betrieb beginnt in Schritt 501 mit der Vorladung der Signalschieberegister 401a und 401b. An diesem Punkt kann der Faltungsprozeß beginnen. In Schritt 502 wird auf ein Codesegment für die bestimmte Teilkorrelation zugegriffen. In Schritt 503 wird das Codesegment um den Codeerweiterer erweitert, um P Abfragen pro C/A-Chip zu haben. Als nächstes werden in Schritt 504 der Verzögerungsindex und die entsprechenden RAM-Adressen berechnet. Der Verzögerungsindex zeigt an, welcher Punkt der vollen Faltung durch die Teilkorrelation aktualisiert werden wird. Wie sich aus dem in Verbindung mit 7 erörterten Beispiel ergibt, springt der Verzögerungsindex in einer nicht-linearen, jedoch deterministischen Art und Weise. Die Adreßberechnung ist eine Funktion der Anzahl von Signalverschiebungen und des Codesegments.
  • In Schritt 505 wird die Teilkorrelation berechnet unter Verwendung der Vektormultiplizierer 402a und 402b. In Schritt 506 wird das Ergebnis in den Signal-RAMs an dem Ort, der von dem Verzögerungsindex angezeigt wird, akkumuliert. Als nächstes wird in Schritt 507 eine Überprüfung durchgeführt, um zu bestimmen, ob die Verarbeitung das Ende des kohärenten Integrationsintervall erreicht hat. Falls nicht, kehrt das Verfahren zurück zu Schritt 502a und wiederholt die nächsten Schritte für das nächste Codesegment.
  • Wenn in Schritt 507 die Überprüfung anzeigt, daß die Teilkorrelationen vollständig für alle Codesegmente sind (z.B. 31 Teilkorrelationen), fährt das Verfahren mit Schritt 508 fort. In Schritt 508 werden die Signalregister 401a und 401b um eine Abfrage weitergeschoben.
  • Der Prozeß fährt dann mit Schritt 509 fort, wo eine Überprüfung durchgeführt wird, um zu sehen, ob die letzte Verschiebung auf das Ende des kohärenten Integrationsintervall trifft. Falls nicht, kehrt der Prozeß zurück zu dem Start in Schritt 502. Falls die Überprüfung das Ende des kohärenten Integrationsintervalls anzeigt, fährt das Verfahren dann mit Schritt 510 fort, wo die Signalgröße von dem komplexen Normalisierer 111 berechnet wird. Das Ergebnis wird unter Verwendung des Addierers 112 addiert und in dem Größen-RAM 113 gespeichert. Als nächstes wird in Schritt 511 eine Überprüfung durchgeführt, um zu bestimmen, ob alle Größenakkumulationen durchgeführt wurden. Falls dies der Fall ist, wird das Verfahren in Schritt 512 abgeschlossen. Falls nicht, fährt die Verarbeitung durch Durchführen der nächsten Teilkorrelation in Schritt 501 fort.
  • Die 6 und 7 zeigen mit einem vereinfachten Beispiel, wie die Erfindung die Teilkorrelationen verwendet, um ein volles Faltungsergebnis zu akkumulieren. Aus Gründen der Klarheit stellen diese Diagramme die Faltung eines sehr kurzen Codes mit der Länge 6 dar, im Gegensatz zu dem C/A-Code eines GPS-Signals der Länge 1023. Um das Beispiel weiter zu vereinfachen, wird eine Abfrage pro Codechip verwendet, d.h. P = 1. 6 zeigt die Faltung mittels eines üblichen Ansatzes mit angepaßter Filterung, und Figur zeigt die identische Faltung mit dem Verfahren der Kombination der Teilkorrelationen. Die Details von 7 sind hilfreich beim Verständnis der Gesamtfunktion der Erfindung. Beide Verfahren erzeugen identische Faltungsergebnisse.
  • 6 zeigt den Betrieb eines konventionellen angepaßten Filters für ein Signal der Länge 6. Die Funktion beginnt zu dem Zeitpunkt, der als Verschiebung (Shift) 0 bezeichnet ist. Zu diesem Zeitpunkt sind 6 aufeinanderfolgende Signalabfragen, die einen gesamten Signalzyklus aufweisen, im Signalschieberegister 601. Einzelne Abfragen sind mit Großbuchstaben A, B, C, D, E und F bezeichnet. Die Codeabfragen für den gesamten Code der Länge 6 werden im Referenzregister 602 gehalten und sind mit kleinen Indizes a, b, c, d, e und f bezeichnet. Zum Zeitpunkt des Shift 0 werden eine Vektormultiplikation und -addition durchgeführt, um das Korrelationsergebnis für den Shift 0 zu erzeugen. Jede Signalabfrage wird mit einer entsprechenden Codeabfrage multipliziert und die Ergebnisse werden summiert, um das Korrelationsergebnis 603 zu erzielen.
  • Als nächstes wird das Signalschieberegister 604 um eine Abfrage weitergeschoben, wie durch Shift 1 angezeigt. Das Signal ist periodisch, so daß die neue Abfrage, die an der linken Seite des Registers eingefügt wird, identisch zu derjenigen ist, die rechts aus dem Register geschoben wurde. Die verschobenen Inhalte des Registers 604 sind nun Abfragen mit den Indizes F, A, B, C, D und E. Der Code wird nicht verschoben. Die Vektormultiplikation und -addition führt nun zu einem Korrelationsergebnis 605 für Shift 1. Dieser Prozeß des Verschiebens (Shifting) wird für 5 zusätzliche Shifts durchgeführt, wobei an diesem Punkt alle 6 Korrelationsergebnisse, die die volle Faltung ausmachen, verfügbar sind.
  • 7 stellt dar, wie das selbe Faltungsergebnis über das Verfahren der Teilkorrelationen erhalten werden kann. Wie beschrieben, erfordert die Erfindung, daß der Code in M Segmente der Menge K zerlegt wird. In dem vereinfachten Beispiel von 7 wurde der Code der Länge 6 in 3 Segmente der Länge 2, d.h. K = 2 und M = 3, zerlegt. Die Operation beginnt zu dem Zeitpunkt, der als Shift 0 bezeichnet ist. Die Signalabfragen sind mit großen Indizes A und B bezeichnet. Die 6 Abfragen des Codes sind in den 3 Segmenten jeweils der Länge 2 enthalten. Das erste Codesegment 702 enthält 2 Codeabfragen, die mit kleinen Indizes a und b bezeichnet sind. Das Signal wird an seinem Platz für 3 Teilkorrelationsoperationen gehalten, was zu den Teilkorrelationsergebnissen 703a, 703b und 703c führt. Das erste Teilkorrelationsergebnis wird durch eine Vektormultiplikation und -addition zwischen den Inhalten des Signalregisters und dem ersten Codesegment (Segment 1) erzeugt. Das zweite und das dritte Ergebnis werden durch Vektormultiplikationen des Signalregisters mit dem zweiten bzw. dritten Codesegment erzeugt. Man beachte, daß das Signalregister während einer für die Durchführung aller 3 Vektormultiplikationen ausreichenden Zeit an seinem Platz gehalten wird und daß der Code während dieser Zeit nicht verschoben wird, anstatt daß andere Codesegmente ausgewählt werden.
  • Die Teilkorrelationsergebnisse werden im Speicher entsprechend der Signalpfade 705 aufsummiert. Beispielsweise wird bei Shift 0 die Teilkorrelation von dem ersten Codesegment in das Korrelationsergebnis 704 summiert. Die Teilkorrelation von dem zweiten Segment wird in das Korrelationsergebnis 706 für Shift 2 summiert. Die Teilkorrelation von dem dritten Segment trägt zudem Korrelationsergebnis 708 für Shift 4 bei.
  • Das Signal wird nach den drei Teilkorrelationen verschoben. Bei dieser Stufe, die als Shift 1 angezeigt ist, enthält das Signalregister die Abfragen F und A. Erneut werden drei Korrelationen mit denselben drei Codesegmenten wie vorher erzeugt. Die Ergebnisse von diesen Teilkorrelationen tragen zu den Korrelationsergebnissen 710, 712 bzw. 714 für die Shifts 1, 3 bzw. 5 bei. Der Prozeß setzt für 4 zusätzliche Signalverschiebungen fort, wobei zu diesem Zeitpunkt das volle Faltungsergebnis verfügbar ist. Wie man sieht, erfordert die Operation das Erzeugen von insgesamt 18 Teilkorrelationen, die zu den 6 vollen Ergebnissen, die die Faltung aufweisen, beitragen.
  • Die Architektur, die in 7 beschrieben ist, stellt zwei wichtige Eigenschaften der Erfindung dar. Erstens ist es offensichtlich, daß die volle Faltung unter Verwendung von nur einem Schieberegister und einer Vektormultiplikations- und -additionseinheit der Länge 2 für einen Code der Länge 6 erzeugt wurde. Dies erfordert weniger Schaltkreise als in 6, wo diese Elemente die Länge 6 haben. Zweitens wird in 7 auf die Codeabfragen in festen Segmenten zugegriffen, die für jede Verschiebung bzw. Shift die gleichen sind, und jedes Segment ist ein separater, sich nicht überlappender Abschnitt des Codes. Somit kann ein einfaches Nachschlage- oder Registerschema verwendet werden, um den Code den Vektormultiplizierern zur Verfügung zu stellen, wie weiter unter Bezug auf 8 und 9 erläutert wird. Diese Schemata erfordern weniger Schaltkreise als andere Architekturen, die beispielsweise größere Blöcke aus Codebits, die in einem komplexeren Satz von Permutationen verfügbar gemacht werden, erfordern. Die Erfindung eliminiert ebenso die Notwendigkeit, Codeerzeugungsschaltkreise bereitzustellen.
  • 8 zeigt ein Blockdiagramm einer Ausführungsform eines Codenachschlagschaltkreises 408. Die Tabelle 801 enthält gespeicherte Werte für alle 1023 Bits von jedem der 32 Codes, beispielsweise im Nur-Lese-Speicher (ROM) oder verdrahteter Logik. Die Tabelle 801 ist als 32 Untertabellen, eine für jeden Code, geordnet. Jede Untertabelle ist weiterhin geordnet in M Segmente der Länge K, wobei K × M = 1023 und K und M, wie vorher beschrieben, ausgewählt werden. Der Multiplexer 802 wählt einen bestimmten Code, basierend auf einem ausgewählten Wert, aus. Die Ausgabe des Multiplexers 802 ist eine bestimmte Untertabelle für den gewünschten Code. Der Multiplexer 803 wählt ein bestimmtes Segment, basierend auf einem Segmentauswahlwert zwischen 1 und M, aus. Die Ausgabe von 803 ist ein bestimmtes Codesegment 804 der Länge K, welches Codebits, die dem Codeerweiterer 409 bereitgestellt werden, enthält.
  • Es sei erwähnt, daß der Multiplexer 803 eine hohe Geschwindigkeit aufweisen muß, um zu erlauben, daß das Codesegment bei jeder Teilkorrelation, d.h. alle zwei Taktzyklen, verändert wird. Aus diesem Grund ist es notwendig, daß alle Codebits in Tabelle 801 vorgespeichert werden, im Gegensatz zum Erzeugen während der Übertragung in der traditionellen Art und Weise eines Codegenerators.
  • Die Schaltkreise von 8 sollen anschaulich sein. In der Praxis gibt es viele unterschiedliche Schaltkreisaufbauten, die funktional äquivalent sind. Insbesondere wird der Prozeß der Logiksynthese, die in modernen ASIC-Designs verwendet wird, zu einem bestimmten Muster aus Gates führen, die ein Verhalten erzielen, das äquivalent zu dem oben beschrieben ist, jedoch nicht notwendigerweise Multiplexer in der oben beschriebenen Weise verwenden.
  • 9 zeigt ein Blockdiagramm einer alternativen Ausführungsform eines Codenachschlagschaltkreises 408. Die 1023 Codebits, die zu einem bestimmten Code korrespondieren, werden in den 1023 doppeldirektionalen Schieberegistern 901, geordnet nach M Reihen der Länge K, gehalten. Die Schieberegister arbeiten in zwei Modi: ein Laufmodus und ein Beladungsmodus.
  • Im Laufmodus ist jedes Register 901 derart konfiguriert, daß es seine Abfrage in das Register oberhalb in der nächsten Reihe verschiebt, ausgenommen die oberste Registerreihe, die in die Bodenreihe der Register verschiebt. Die Schieberichtungen für den Laufmodus werden durch volle Pfeile innerhalb von 901 dargestellt. Durch das Takten aller Register werden die Codebitreihen zirkulieren, so daß zu jedem Zeitpunkt die obere Reihe eines von M Codesegmenten der Länge K enthält. Diese oberste Reihe von Bits wird dem Codeerweiterer 409 bereitgestellt. Die Register zirkulieren schnell, so daß ein anderes Codesegment für jede Teilkorrelation verfügbar ist.
  • Im Beladungsmodus wird jedes Register konfiguriert, um seine Abfrage zu dem nächsten Register in seine Reihe zu schieben, abgesehen von der letzten Registerspalte, die in die erste Registerspalte in der Reihe oberhalb verschoben wird. Die Schieberichtungen für den Beladungsmodus werden, durch gepunktete Pfeile in 901 angezeigt. Das links unten gezeigte Schieberegister 904 ist mit dem Codegenerator 902 verbunden. Der Codegenerator ist ein traditioneller Codegenerator, der in der Lage ist, sequentiell die 1023 Codebits eines bestimmten Codes, basierend auf einem ausgewählten Wert, zu erzeugen. Wenn der Codenachschlagschaltkreis für einen bestimmten Code konfiguriert ist, werden die Register in dem Beladungsmodus plaziert und der Generator wird verwendet, um die Bits des Codes zu erzeugen, die dann durch die Register getaktet werden. Nachdem alle Bits durchgetaktet wurden, residiert der Code in den Registern als M Segmente der Länge K. Der Schaltkreis ist dann bereit für die Verwendung im Laufmodus.
  • 10 stellt ein Blockdiagramm einer alternativen Ausführungsform eines GPS-Empfängers 1000 dar, der in der Lage ist, in mehreren Auflösungsmodi zu arbeiten. Der GPS-Empfänger 1000 hat einen Faltungsprozessor 1009, der entweder im Standardauflösungsmodus oder in einem Hochauflösungsmodus arbeitet. Darüber hinaus sind die digitalen Signalabfragen im Standardauflösungsmodus ½ eines C/A-Codechips zueinander beabstandet (d.h. P = 2). Die digitalen Signalabfragen im Hochauflösungsmodus sind 1/5 eines C/A-Codechips voneinander beabstandet (d.h. P = 5). Im Grunde genommen arbeiten der Code NCO 1008 und der Dezimie rungsschaltkreis 1007 bei einer Vielzahl von Abfrageraten. Fachleute können leicht andere Werte für den Abfrageabstand ableiten und verstehen, daß die Erfindung in mehr als zwei Auflösungsmodi arbeiten kann.
  • Die Ausführungsform von 10 hat ähnliche Komponenten wie die in 1 dargestellten. Die Komponenten mit derselben Referenzzahl wie die in 1 arbeiten wie oben in Bezug auf 1 beschrieben. Komponenten, wie z.B. der Dezimierungsschaltkreis 1007, der Code NCO 1008, der Faltungsprozessor 1009 und der Modiauswahlprozessor 1002 arbeiten wie unten beschrieben, um die Verwendung einer Mehrzahl von Auflösungsmodi zu erleichtern. 10 weist weiterhin einen Modiauswahlprozessor 1002 auf. Der Modiauswahlprozessor 1002 verarbeitet empfangene Signale, um zu bestimmen, ob der Verarbeitungskanal 1004 in dem Hoch- oder Standardauflösungsmodus arbeiten soll.
  • Wie mit der Ausführungsform, die in 1 gezeigt ist, stellt 2 Wellenformen dar, die von den Komponenten von 10 erzeugt wurden. Obgleich die Wellenformen, die in 2 dargestellt sind, einen Standardbetriebsmodus illustrieren, würde der Betrieb im Hochauflösungsmodus Wellenformen ähnlicher Form erzeugen. Genauer gesagt, falls im Hochauflösungsmodus B = 5, wäre die Gesamtzahl von Punkten in der vollen Faltung 5115 anstatt 2046. Wie jedoch ausführlicher unten beschrieben wird, wird nur ein Teil der Faltung im Hochauflösungsmodus erzeugt.
  • Es soll bemerkt werden, daß in der Standardauflösung (d.h. P = 2) die Kleinste-Quadrate-Abschätzung nur 4 Punkte über der Breite der Korrelation verwendet, wie durch die Breite 303 der Dreiecksbasis in 3 gezeigt. In Anwesenheit von Rauschen beschränkt dies die Genauigkeit des Kurvenanpaßprozesses. Darüber hinaus wird in vielen Fällen das Zentrum des Dreiecks (d.h. der Punkt der maximalen Korrelation) zwischen den beobachteten Korrelationswerten liegen. In dieser Situation ist die beobachtete Korrelation und somit das beobachtete Signal-Rausch-Verhältnis signifikant geringer als in dem Fall, in dem der Peak des Dreiecks sich nahe eines beobachteten Punktes befindet. Der Hochauflösungsmodus verbessert die Genauigkeit und das Signal-Rausch-Verhältnis durch Einschließen vieler eng benachbarter Punkte in dem Kleinste-Quadrate-Schätzprozeß.
  • Genauer gesagt zeigt 11 die Details einer aufsummierten Größenwellenform, wenn dieselbe Korrelation, wie in 2 gezeigt ist, im Hochauflösungsmodus verarbeitet wird. Der Graph 1100 zeigt die Größe der Faltung in der Nähe eines Peaks 2123 entsprechend der Laufzeit des im Hochauflösungsmodus verarbeiteten Signals. Punkte auf der Codechipachse 210 sind mit einem Intervall gleich der C/A-Codechiplänge, dividiert durch T, voneinander beabstan det, wobei P das Verhältnis der Signalabfragerate zu f0, der C/A-Codechippingrate, ist. Im Hochauflösungsbeispiel ist P = 5, so daß die Punkte mit 1/5 Chipintervallen oder näherungsweise 200 ns voneinander beabstandet sind. (Diese Zeitabstand entspricht einem Bereichsunterschied von näherungsweise 60 Metern). Um hochgenaue Pseudobereichsmessungen zu erzielen, wird die Ausgabe der Faltung weiterverarbeitet, typischerweise in der CPU 114.
  • Wie bei der Standardauflösungsverarbeitung gibt es zahlreiche Interpolationstechniken, die verwendet werden, um die wahre Laufzeit abzuschätzen, unter Verwendung von diskreten Korrelationswerten, die von der Faltung bereitgestellt werden. Eine Ausführungsform verwendet eine Kleinste-Quadrate-Abschätztechnik, um Parameter eines Signals zu identifizieren, die am besten an die Rauschdaten passen. Die Korrelationsantwort nimmt die Form eines aufrecht stehenden Dreiecks 1102 an. Die Breite 1103 des Dreiecks 1102 beträgt exakt 2 C/A-Codechips, was zu 11 Abfragepunkten (für den P = 5-Fall) korrespondiert. Die Höhe 1104 der Basis des Dreiecks 1102 ist die Größe des Rauschens in der Faltung für Laufzeiten, die dem Signal nicht entsprechen. Die Größe dieses Rauschens kann aus den Daten abgeschätzt werden oder vorberechnet werden, basierend auf Designparametern, wie z.B. der Größe des Verstärkerrauschens, Kabel- und Filterverlusten und der Systemtemperatur. Der Peak 1105 des Dreiecks 1102 und das Zentrum 1106 sind Unbekannte entsprechend der Signalgröße und der Laufzeit. Das Kleinste-Quadrate-Verfahren kann verwendet werden, um diese zwei Parameter abzuschätzen, so daß die verrauschten Datenpunkte einem Dreieck mit einem bestimmten Peak und einem Zentrum angepaßt werden können.
  • Ein Vorteil des Hochauflösungsmodus gegenüber dem Standardauflösungsmodus ist der, daß die ansteigende Dreieckskorrelationsantwort bei mehr als doppelt so vielen Punkten abgefragt wird. Wie vom Fachmann verstanden wird, hängt die Genauigkeit des Anpaßprozesses von der Anzahl von Werten ab, die in der Abschätzung verwendet wurden. Weiterhin wird das Verhältnis des Peaks des Dreiecks zur Basis des Dreiecks im Hochauflösungsmodus erhöht. Dies zeigt eine Verbesserung des Signal-Rausch-Verhältnisses an, teilweise aufgrund der Korrelationspunkte, die nahe des Punktes der maximalen Korrelation verfügbar sind. Somit kann der Hochauflösungsmodus verwendet werden, um zuverlässig Korrelationspeaks zu identifizieren und zu messen, die im Standardmodus nicht richtig unterscheidbar sind. Dies kann sehr vorteilhaft sein, wenn Niedrigenergiesignale verarbeitet werden, wie z.B. diejenigen Signale, die in Gebäuden von GPS-Satelliten empfangen werden.
  • Wie weiter in Bezug auf 12 beschrieben wird, werden die beiden Betriebsmodi erreicht durch dynamisches Verändern der Werte der Parameter P, K und M, um die gewünschte Auflösung zu erhalten. In einer Ausführungsform ist P = 2 (d.h. zwei Abfragen pro C/A-Codechip) im Standardmodus und P = 5 (d.h. fünf Abfragen pro C/A-Codechip) im Hochauflösungsmodus. Die komplettierten Korrelationspunkte haben Abstände von 1/P Chips, so daß damit klar ist, daß je größer der Wert von P ist, umso feiner die Auflösung ist. Wie oben erörtert, wird K als ein Designparameter ausgewählt und ist ein Teiler von 1023. Zur Vereinfachung fokussiert sich der Rest der Diskussion auf eine bestimmte Ausführungsform, in der P = 2 und K = 33 im Standardmodus und P = 5 und K = 11 im Hochauflösungsmodus ist.
  • 12 stellt ein Blockdiagramm einer anderen Ausführungsform eines Faltungsprozesses 1009 dar, der für den Betrieb der Erfindung in mehreren Auflösungsmodi geeignet ist. Aus Gründen der Einfachheit ist nur der I-Kanal der Verarbeitung gezeigt, es ist jedoch klar, daß der Q-Kanal identische Verarbeitungselemente aufweist. In der vorliegenden Ausführungsform weist der Faltungsprozessor 1009 ein Schieberegister 1201, einen Vektormultiplizierschaltkreis 1202, einen Addierer 1203, einen Codeerweiterer 1209 und eine Codenachschlagtabelle 1208 auf. Der Codeerweiterer 1209 weist weiterhin einen Standardcodeerweiterer 1204 und einen Hochauflösungscodeerweiterer 1205 auf. Das I-Signal von dem Dezimierungsschaltkreis 1007 ist mit dem Schieberegister 1201 verbunden. Das Schieberegister 1201 hat eine variable Länge, da der Wert von P × K sich in Bezug auf den Standardmodus und den Hochauflösungsmodus verändert. Genauer gesagt muß das Schieberegister 1201 66 Abfragen im Standardmodus und 55 Abfragen im Hochauflösungsmodus aufnehmen. Das Schieberegister 1201 weist somit 66 Elemente auf, um beide Längen zu unterstützen. Im Hochauflösungsmodus sind die letzten 11 Elemente deaktiviert.
  • Die Signale laufen durch das Schieberegister 1201 mit der Geschwindigkeit von Pf0 voran, wie durch den NCO 1008 für entweder den Standardmodus oder den Hochauflösungsmodus getaktet. Die Signale bleiben für viele Taktzyklen am Platz, so daß eine Reihe von Teilkorrelationsoperationen durchgeführt werden können. Genauer gesagt werden insgesamt M Teilkorrelationen durchgeführt, wobei M = 1023/K. Für das vorliegende Beispiel ist im Standardmodus M = 31 und im Hochauflösungsmodus M = 93. Jede Teilkorrelation besteht aus einer schnellen Vektormultiplikations- und -additionsoperation zwischen den Inhalten des Schieberegisters 1201 und einem Segment des Codes, das P × K Codeabfragen enthält. Die Operation wird über den Vektormultiplizierer 1202 durchgeführt, der einen Multiplizierer 1210 und einen Summierer 1212 aufweist. Ähnlich dem Shiftregister 1201 ist der Vektormultiplizierer 1202 von variabler Länge, um sowohl Standard- als auch Hochauflösungsbetriebsmodi zu unterstützen.
  • Die Korrelationsoperation besteht aus dem Multiplizieren jeder der P × K Signalabfragen im Schieberegister 1201 mit P × K Codeabfragen (gebildet durch Erweitern der Codeabfragen mit dem Codeerweiterer 1209) und Summieren der Ergebnisse im Summierer 1212. Wie oben erör tert, wird diese Operation mathematisch als Skalarprodukt oder inneres Produkt bezeichnet. Die Ergebnisse der Vektormultiplikation und -addition werden durch den Addierer 1203 akkumuliert und von den faltungsergebnisverarbeitenden Schaltkreisen 400 in der gleichen Weise wie oben in Bezug auf 4 verarbeitet.
  • Die Codenachschlagtabelle 1208 erzeugt die Referenzcodeabfragen für jede Teilkorrelation und ist organisiert, um Codesegmente für sowohl den Standard- als auch den Hochauflösungsmodus zu liefern. Als erstes muß der Code aus einem von 32 Codes ausgewählt werden. Diese Auswahl ist über den Faltungsprozeß konstant und wird durchgeführt, wenn der Verarbeitungskanal konfiguriert wird, um zu einem bestimmten Satellitensignal zu korrelieren. Der zweite Index ist ein Segmentindex zwischen 1 und M. Im vorliegenden Beispiel ist die Anzahl von Abfragen pro Segment 33 im Standardmodus und 11 im Hochauflösungsmodus. Um beide Modi zu unterstützen, weist die Codenachschlagtabelle 1208 93 Segmente 1207 von 11 Chips auf. Die 93 Segmente 1207 sind weiter in 3 Blöcken 1206a–c von jeweils 31 Segmenten angeordnet. Die Ausgabe von jeder Gruppe 1206a–c (ein 11-Chip-Segment) ist mit dem Codeerweiterer 1209 verbunden.
  • Im Standardmodus wird jedes Ausgabesegment jeder Gruppe 1206a–c kombiniert, um ein breites Segment mit 33 Chips zu bilden. Genauer gesagt wird eine Segmentauswahl zwischen 1 und 31 durchgeführt. Die Segmentauswahl und die Codeauswahl werden verwendet, um 3 Segmente 1207 von 11 Abfragen von den Gruppen 1206a–c zu multiplexen. Die Segmente 1207 werden verkettet, um ein 33 Abfragen breites Segment zu bilden, welches der Eingang zu dem Standardcodeerweiterer 1204 ist. Im Hochauflösungsmodus läuft die Segmentauswahl von 1 bis 93. Nur eines der Segmente 1207 wird aus den Gruppen 1206a–c ausgewählt. Die 11 Abfragesegmente 1207 sind dann mit dem Hochauflösungscodeerweiterer 1205 verbunden.
  • Im Standardmodus ist der Standardcodeerweiterer 1204 aktiv, der die 33 Abfragen langen Codesegmente auf 66 Abfragen erweitert. Im Hochauflösungsmodus ist der Hochauflösungscodeerweiterer 1205 aktiv, der die 11 Abfragecodesegmente auf 55 Abfragen erweitert. Obgleich der Codeerweiterer 1209 einen Standardcodeerweiterer 1204 und einen Hochauflösungscodeerweiterer 1205 aufweisend gezeigt ist, versteht es sich für den Fachmann, daß sie funktional in einen einzelnen Codeerweiterer 1209 kombiniert sein könnten.
  • Die Taktraten verändern sich zwischen dem Standard- und dem Hochauflösungsmodus. Beispielsweise unterstützt im Standardmodus, wie in Bezug auf 4 erörtert, eine Taktrate von näherungsweise 127 MHz das Durchführen einer vollen Faltung in Echtzeit für den Fall, wo P, K und M 2, 33 bzw. 31 sind und zwei Taktzyklen werden pro RAM-Zyklus benötigt. In der vorlie genden Ausführungsform sind die Hochauflösungsmodusparameter P, K und M 5, 11 bzw. 93. Somit beträgt die Taktrate zur Erzeugung der vollen Faltung: fclk = 5 × 93 × 2f0 = 5 × 93 × 2 × 1,023MHz ≈ 952MHz
  • Da diese Rate in moderner integrierter Schaltkreislogik schwierig zu erzielen ist und da die Größe der RAMs von 2046 Abfragen auf 5115 Abfragen anwachsen würde, kann es wünschenswert sein, weniger als die volle Faltung zu erzeugen, wenn im Hochauflösungsmodus gearbeitet wird, um die Kosten und die Komplexität des Faltungsprozessors 109 zu reduzieren.
  • Daher wird in einer Ausführungsform weniger als die volle Faltung im Hochauflösungsmodus berechnet, und zwar durch Reduzieren der Anzahl von Teilkorrelationen, die für jeden Shift der Eingangssignale durchgeführt wird. Wie unten in Bezug auf 13 erläutert wird, werden die Teilkorrelationen so ausgewählt, daß Punkte der Korrelation für eine spezifische Region von Interesse innerhalb der vollen Faltung erzeugt werden. In dieser alternativen Ausführungsform ist die erforderliche Taktrate: fclk' = 5 × L × 2 × f0,wobei L eine Zahl kleiner als M ist und die Anzahl von Teilkorrelationen pro Eingangszyklusshift repräsentiert. Somit ist die Gesamtzahl von Korrelationspunkten, die erzeugt wird, P × K × L. Beispielsweise in einer Ausführungsform L = 12 und P × K × L = 660 oder etwa 1/8 eines C/A-Codezeitraums. In diesem Beispiel beträgt die erforderliche Taktrate: fclk = 5 × 12 × 2 × 1,023 MHz ≈ 123 MHzein Wert, der mit der Taktrate im Standardmodus vergleichbar ist.
  • Da nur eine Untergruppe der vollen Faltung erzeugt wird, ist es notwendig, einen interessierenden Abschnitt, der den Signalpeak enthält, auszuwählen. 13 stellt ein Flußdiagramm eines Betriebsverfahrens 1300 der Erfindung für das Berechnen mehrerer Korrelationsauflösungen dar. Das Verfahren 1300 beginnt in Schritt 1302. In Schritt 1304 werden Prüfungen durchgeführt, um zu bestimmen, ob ausreichende externe Hilfsinformation existiert, die die direkte Verwendung des Hochauflösungsmodus ermöglicht. Diese Hilfsinformation könnte verschiedene Formen annehmen, einschließlich abgeschätzter Pseudobereiche für interessierende Satelliten und eine Abschätzung der lokalen Taktabweichung. Falls die Hilfsinformation ausreichend genau ist, geht das Verfahren in Schritt 1310 in den Hochauflösungsmodus über. Häufig ist jedoch die lokale Taktverschiebung unbekannt. Beispielsweise können abgeschätzte Pseudobereiche von gespeicherten Ephemeriden und einer zuletzt bekannten Empfängerposition verfügbar sein, aber, solange der Empfänger nicht die präzise Zeit hält oder extern synchronisiert wird, wird die lokale Taktverschiebung unbekannt sein. Falls es nicht genügend externe Hilfsinformation gibt, werden Pseudobereichsmessungen im Standardmodus in Schritt 1306 durchgeführt. In Schritt 1306 wird eine volle Faltung erhalten unter Verwendung einer Standardauflösung. Nachdem eine oder mehrere Messungen im Standardmodus durchgeführt wurden, wird die lokale Zeitverschiebung in Schritt 1308 abgeschätzt. Dieser Schritt beinhaltet optional eine Abschätzung des Zeitmarkenfehlers. Das Verfahren 1300 geht dann in den Hochauflösungsmodus in Schritt 1310 über. An diesem Punkt können die Signalverzögerungen an eine Mehrzahl von Fenstern gebunden sein, die die Korrelationspeaks in der Standardauflösung einschließen, was in Schritt 1312 berechnet wird. Nachdem die Bereichsfenster berechnet sind, macht das Verfahren 1300 Pseudobereichsmessungen im Hochauflösungsmodus (d.h. unter Verwendung der Hochauflösungskorrelationspeaks) in Schritt 1314. Das Verfahren 1300 endet in Schritt 1316.
  • Das Verfahren 1300 erlaubt es, den Hochauflösungsmodus mit Vorteil zu verwenden, ungeachtet der Beschränkung, daß nur eine Teilfaltung berechnet wird. Solange zumindest ein Satellit im Standardmodus erfaßt wird, kann der Hochauflösungsmodus aufgerufen werden. Im Hochauflösungsmodus wird die Empfindlichkeit der Korrelationsverarbeitung verbessert, was es erlaubt, zusätzliche Satelliten zu erfassen. Weiterhin, wie oben beschrieben, wird die Genauigkeit aller Messungen im Hochauflösungsmodus verbessert.
  • In einer anderen Ausführungsform schwächt die vorliegende Erfindung Mehrpfadinterterenz in dem empfangenen Satellitensignal während der Signalkorrelationen ab. Im allgemeinen wird die Dreieckskorrelationsantwort, die in den 3 und 11 gezeigt wird, verzerrt werden, wenn das empfangene Signal Mehrpfadinterferenz enthält. 14 zeigt Korrelationsantworten ähnlich der von 11, jedoch durch Mehrpfadinterferenz beeinflußt. Insbesondere zeigt 14A eine akkumulierte Größe einer Korrelationsantwort 1406, wo das direkte Satellitensignal stärker als ein reflektiertes Satellitensignal (d.h. ein Mehrpfadsignal) ist. 14B zeigt eine aufsummierte Größe einer Korrelationsantwort 1408, wo das direkte Satellitensignal schwächer als ein reflektiertes Satellitensignal ist. In den 14A und 14B stellt die Achse 1402 die Signalstärke dar und die Achse 1404 stellt die Abfragennummer dar.
  • Wie in den 14A und 14B gezeigt, sind die Punkte auf der Abfrageachse 1404 mit einem Intervall gleich der C/A-Codechiplänge geteilt durch P voneinander beabstandet, wobei P das Verhältnis der Signalabfragerate zu f0, der C/A-Codechippingrate, ist. In dem Hochauflösungsbeispiel ist P = 5, so daß die Punkte mit 1/5 Chipintervallen oder um näherungsweise 200 ns (näherungsweise 60 Meter Bereichsdifferenz) voneinander beabstandet sind. Das Vorhandensein einer Mehrpfadinterferenz in dem empfangenen Satellitensignal verursacht die Bildung von zwei oder mehreren Peaks in der Korrelationsantwort. Wenn ein direktes Signal von einem Satellit empfangen wird, wird der erste Peak 1410 der Korrelation zwischen dem wiederhergestellten PRN-Code vom direkten Signal und dem erzeugten Nachbildungscode entsprechen. Der zweite Peak 1412 entspricht der Korrelation zwischen einem wiederhergestellten PRN-Code von einer Reflexion des Satellitensignals und des erzeugten Nachbildungscodes. Das reflektierte Signal kommt später als das direkte Signal an und somit liegt der zweite Korrelationspeak 1412 zeitlich hinter dem ersten Korrelationspeak 1410.
  • In 14A hat der erste Korrelationspeak 1410 eine größere Magnitude als der zweite Korrelationspeak 1412. Das heißt, das direkte Signal ist stärker als das reflektierte Signal. 14B ist 14A ähnlich, mit der Ausnahme, daß der erste Korrelationspeak 1410 eine kleinere Magnitude als der zweite Korrelationspeak 1412 hat. Somit ist in 14B das direkte Signal schwächer als das reflektierte Signal.
  • Wie sich aus den 14A und 14B ergibt, muß die Korrelationsantwort, die am besten an die Daten paßt, nicht notwendigerweise die Form eines Dreiecks haben. In den meisten Fällen wird ein Versuch, ein Dreieck an die Korrelationsfunktionen 1406 und 1408 anzupassen, zu einem Zentrum führen, das nicht mit der richtigen Laufzeit übereinstimmt. Das heißt, das Zentrum des Dreiecks wird gegenüber dem wahren Zentrum, das durch die gestrichelte Linie 1414 angezeigt wird, verschoben sein. Die gestrichelte Linie 1414 entspricht dem Korrelationspeak 1410 des direkten Satellitensignals und zeigt somit die korrekte Laufzeit an. Weiterhin gelingt es auch konventionellen Tracking-Korrelatoren, wie z.B. Früh-Spät-Korrelatoren (E-L), nicht, sich der korrekten Laufzeit anzunähern aufgrund des zweiten Korrelationspeaks 1412.
  • Wie unten beschrieben, schwächt die vorliegende Erfindung den Effekt der Mehrpfadinterferenz ab durch Erhalten einer ausreichenden Anzahl von Abfragen, um die gesamte Form der verzerrten Korrelationsantwort anzunähern. Ist die gesamte Form der Korrelationsantwort gegeben, kann die Erfindung das erste Maximum in der Korrelationsantwort lokalisieren, um den korrekten Korrelationspeak zu bestimmen. Das Einsetzen einer großen Anzahl von Abfragen erlaubt es der Erfindung, für das Bestimmen der korrekten Laufzeit und der Signalgröße eine offene Regelkreisabschätzung zu verwenden, was die Notwendigkeit eines Korrelators mit geschlossener Schleife, wie z.B. eines E-L-Korrelators, beseitigt. Zusätzlich arbeitet der Algorithmus auf der akkumulierten Magnitude oder Leistung der Korrelationsantwort (die Magnitude ist die Quadratwurzel der Leistung). Dies erlaubt den Betrieb bei viel geringeren Signal-Rausch-Verhältnissen, als es mit konventionellen kohärenten Korrelatoren möglich wäre. Somit erlaubt die vorliegende Erfindung genaue Erfindung genaue Korrelationen in schwachen Signalumgebungen mit vielen Multipfadsignalen, so wie man sie in städtischen Umgebungen antrifft.
  • 15 stellt ein Flußdiagramm dar, das ein Verfahren 1500 für das Abschwächen von Mehrpfadinterferenz in einem digitalen Signalkorrelator zeigt. Das Verfahren 1500 kann am besten verstanden werden unter gleichzeitigem Bezug auf 14. Das Verfahren 1500 kann als Software implementiert sein, die von der CPU 114 (1) ausgeführt wird. Das Verfahren 1500 beginnt in Schritt 1502 und fährt mit Schritt 1506 fort, wo das empfangene Satellitensignal im Hochauflösungsmodus verarbeitet wird. Wie oben beschrieben, entspricht der Hochauflösungsmodus 1/5 Chipintervallen oder 200 ns Abfrageabstand. In einer anderen Ausführungsform kann ein "Super"-Hochauflösungsmodus eingesetzt werden mit 1/10 Chipintervallen oder einem 100 ns Abfrageabstand. Fachleute verstehen, daß andere Werte für P für den Hochauflösungsmodus verwendet werden können.
  • Alternativ kann das empfangene Satellitensignal bei einer ersten Auflösung (z.B. ½ Chipintervallen) verarbeitet werden und dann bei einer zweiten, höheren Auflösung (z.B. 1/5 Chipintervalle) verarbeitet werden, wenn der Empfänger einen Bereich betritt, in dem es Mehrpfadinterferenz gibt. Solche Mehrpfadinterferenz kann beim optionalen Schritt 1504 vor der Hochauflösungsverarbeitung in Schritt 1506 erfaßt werden. Falls Mehrpfadinterferenz nicht erfaßt wird, kann der Standard-Peak-Messungsprozeß verwendet werden, wie oben in Bezug auf 3 beschrieben. Falls Mehrpfadinterferenz erfaßt wird, setzt das Verfahren mit Schritt 1506 fort.
  • In einer Ausführungsform kann die CPU 114 erfassen, daß eine Korrelationsantwort von Mehrpfadsignalen bewirkt wurde durch Messen der Steigung der ansteigenden Flanke 1416 der Korrelationsantwort und der Steigung der abfallenden Flanke 1418 der Korrelationsantwort. Falls die Winkel dieser Steigungen nicht im wesentlichen symmetrisch sind, wird die Korrelationsantwort von Mehrpfadsignalen beeinflußt. Mehrpfadsignale von unterschiedlicher Amplitude und Laufzeit führen zu einer signifikant geringeren abfallenden Steigung als die ansteigende Steigung (oder signifikant schneller, falls der reflektierte Pfad entgegengesetzt zur Phase ist).
  • In einer anderen Ausführungsform kann die CPU 114 erfassen, daß die Korrelationsantwort von Mehrpfadsignalen beeinflußt wurde durch Messen der Breite der Korrelationsantwort. Das heißt, die CPU 114 kann den Abstand zwischen dem Schnittpunkt der ansteigenden Flanke 1416 mit einem mittleren Rauschniveau 1420 und dem Schnittpunkt der abfallenden Flanke 1418 mit dem mittleren Rauschniveau 1420 messen. Falls dieser Abstand größer oder viel schmaler als zwei C/A-Chips ist, ist die Korrelationsantwort wahrscheinlich von Mehrpfadsignalen beeinflußt.
  • Das mittlere Rauschniveau kann entweder als Teil der Verarbeitung der Korrelationsantwort berechnet werden oder das mittlere Rauschniveau kann a priori abgeschätzt werden (z.B. abgeschätzt basierend auf Einstellungen, wie die Größe der Mittelung).
  • In noch einer anderen Ausführungsform wird eine Mehrzahl von Verarbeitungskanälen 104 mit einem einzelnen Satellitensignal verwendet, wobei die Taktung der Korrelationen gestapelt ist, um hohe Auflösungen zu erzielen. In jedem Fall ist der Ausgang des Prozesses von Schritt 1506 eine Korrelationsantwort, die im Hochauflösungsmodus erzeugt wurde.
  • In Schritt 1508 werden die Werte, die die Magnitude der Korrelationsantwort repräsentieren, gebildet. In Schritt 1510 wählt die CPU 114 den frühesten Peak in der Korrelationsantwort als den korrekten Peak aus. Das Verfahren 1500 endet in Schritt 1512.
  • In einer Ausführungsform wählt die CPU 114 den frühesten Peak durch Bestimmen der Maxima für die Korrelationsfunktion aus. Wie hier verwendet, bedeutet der Begriff "Maxima" sowohl lokale als auch absolute Maximalpunkte auf der Korrelationsfunktion. Im Hochauflösungsmodus (z.B. P = 5) enthält die Korrelationsfunktion genug Abfragen, um die gesamte Form anzunähern. Bei gegebener Gesamtform der Korrelationsantwort kann die CPU 114 zwischen dem Korrelationspeak, der aus dem direkten Signal herrührt, und den Korrelationspeaks, die von reflektierten Signalen herrühren, unterscheiden. In einer Ausführungsform bestimmt die CPU 114 die Maxima der Korrelationsantwort unter Verwendung der Differentialanalyse. Genauer gesagt berechnet die CPU 114 die erste und zweite Ableitung der Korrelationsantwort und löst die Maxima in einer bekannten Art und Weise auf. Beispielsweise sind in Bezug auf die Korrelationsantworten, die in den 14A und 14B gezeigt sind, die Punkte 1410 und 1412 hiervon Maxima. Die CPU 114 analysiert die berechneten Maxima der Korrelationsantwort, um zu bestimmen, welches der Maxima das zeitlich erstliegendste ist. Wie oben beschrieben, ist der früheste Peak der Korrelationspeak, der dem direkten Satellitensignal entspricht. Somit ist der früheste berechnete Maximalpunkt auf der Korrelationsantwort der Korrelationspeak entsprechend dem direkten Satellitensignal und ist somit der korrekte Korrelationspeak. Bei gegebenem korrekten Korrelationspeak bestimmt die CPU 114 die korrekte Laufzeit und Größe.
  • In alternativen Ausführungsformen kann die CPU 114 die folgenden Algorithmen verwenden, um den frühesten Peak in der Korrelationsantwort auszuwählen. Die folgenden Algorithmen berücksichtigen die Tatsache, daß die Breite der Korrelationsantwort größer als eine Standardkorrelationsantwort ist, und zwar um eine Größe gleich der direkten Peakverzögerung und der reflektierten Peakverzögerung.
  • In einem Algorithmus kann die CPU 114 mehrere Peaks erfassen durch Suchen nach "Dips" bzw. Senken in der Korrelationsantwort (d.h. Abfragen, in denen die Leistung sich vor der Maximalleistung nicht kontinuierlich erhöht). Jede Senke stellt ein lokales oder absolutes Minimum dar und zeigt mehrere Peaks in der Korrelationsantwort an. Das Maximum, das vor der ersten Senke (d.h. das früheste Maximum) auftritt, ist der korrekte Peak in der Korrelationsantwort und ist damit die korrekte Messung der Laufzeit.
  • In einem anderen Algorithmus kann die CPU 114 die Steigung der Korrelationsantwort auf der ansteigenden Flanke 1416 bestimmen. Der wahre Korrelationspeak ist ein Chip von dem Schnittpunkt dieser Steigung mit dem mittleren Rauschniveau 1420 des Korrelationsvektors entfernt. Dies erlaubt die Auswahl der korrekten Laufzeit in Situationen, in denen die obigen Algorithmen nicht mehrere Peaks erfassen könne aufgrund der Nähe des reflektierten Peaks oder aufgrund der Anwesenheit von mehreren reflektierten Peaks.
  • Während das Vorhergehende auf die bevorzugte Ausführungsform der vorliegenden Erfindung gerichtet ist, können andere und weitere Ausführungsformen der Erfindung abgeleitet werden, ohne den Grundschutzbereich hiervon zu verlassen, und der Schutzbereich wird durch die Ansprüche, die folgen, bestimmt.

Claims (12)

  1. Verfahren zum Abschwächen von Mehrpfadinterferenzen in einem digitalen Signalkorrelator, das aufweist: Bilden von Werten, welche die Größe oder die Stärke einer Korrelationsantwort zwischen einem digitalen Signal und einem pseudo-zufälligen Referenzcode repräsentieren (1508), und Auswählen eines frühesten Peaks in der Korrelationsantwort, um eine Zeitverzögerung zu berechnen, wobei der Auswahlschritt aufweist (1510): Berechnen einer Steigung der Korrelationsantwort an einer ansteigenden Flanke hiervon, Bereitstellen eines mittleren Rauschniveaus der Korrelationsantwort, Berechnen des Schnittpunktes zwischen der Steigung und dem mittleren Rauschniveaus und Verwenden des Schnittpunktes, um den frühesten Peak bzw. den frühesten Scheitelwert zu bestimmen.
  2. Verfahren nach Anspruch 1, das weiterhin aufweist: Bestimmen, ob die Korrelationsantwort durch eine oder mehrere Mehrpfadsignale beeinflußt wird (1504).
  3. Verfahren nach Anspruch 2, bei dem der Schritt des Bestimmens, ob die Korrelationsantwort von ein oder mehreren Mehrpfadsignalen beeinflußt wird, aufweist: Berechnen einer ersten Steigung der Korrelationsantwort an einer ansteigenden Flanke hiervon, Berechnen einer zweiten Steigung der Korrelationsantwort an einer abfallenden Flanke hiervon und Vergleichen der ersten Steigung mit der zweiten Steigung.
  4. Verfahren nach Anspruch 2, bei dem der Schritt des Bestimmens, ob die Korrelationsantwort von ein oder mehreren Mehrpfadsignalen beeinflußt wird, aufweist: Berechnen eines ersten Schnittpunktes einer ansteigenden Flanke der Korrelationsantwort mit einem mittleren Rauschniveau der Korrelationsantwort, Berechnen eines zweiten Schnittpunktes einer abfallenden Flanke der Korrelationsantwort mit dem mittleren Rauschniveau der Korrelationsantwort und Berechnen der Breite zwischen dem ersten Schnittpunkt und dem zweiten Schnittpunkt.
  5. Verfahren nach Anspruch 1, bei dem der Bildungsschritt aufweist: Abfragen des digitalen Signals, um einen Satz von digitalen Signalabfragen mit einem ausgewählten Abfrageabstand zu erzeugen, und Korrelieren des Satzes von digitalen Signalabfragen mit dem Zufallsreferenzcode, um die Korrelationsantwort zu erzeugen.
  6. Verfahren nach Anspruch 5, bei dem der Korrelationsschritt aufweist: (a) Aufteilen des Pseudo-Zufallsreferenzcodes in eine Mehrzahl von Codesegmenten, (b) Auswählen eines Codesegmentes, (c) Bilden eines Skalarproduktes zwischen dem ausgewählten Codesegment und dem Satz von digitalen Signalabfragen, um eine partielle Korrelation zu erzeugen, (d) Wiederholen der Schritte (b) und (c), um eine Mehrzahl von partiellen Korrelationen zu erzeugen, und (e) Summieren der Mehrzahl von partiellen Korrelationen, um die Korrelationsantwort zu erzeugen.
  7. Verfahren nach Anspruch 6, bei dem der Pseudo-Zufallsreferenzcode ein C/A-Code des globalen Positionsbestimmungssystems (GPS) ist.
  8. Verfahren nach Anspruch 7, bei dem der Pseudo-Zufallsreferenzcode erzeugt wird durch Erweitern eines Codesegmentes durch Wiederholen eines C/A-Codebits auf eine ganzzahlige Anzahl von Abfragen.
  9. Vorrichtung für das Abschwächen von Mehrpfadinterferenz in einem digitalen Signalkorrelator, die aufweist: eine Einrichtung für das Bilden von Werten, die eine Größe oder eine Stärke einer Korrelationsantwort zwischen einem digitalen Signal und einem Pseudo-Zufallsreferenzcode repräsentieren, und eine Einrichtung für das Auswählen eines frühesten Scheitelwerts bzw. Peaks in der Korrelationsantwort, um eine Zeitverzögerung zu berechnen, dadurch gekennzeichnet, daß die Einrichtung für das Auswählen aufweist: eine Einrichtung für das Berechnen einer Steigung der Korrelationsantwort auf einer ansteigenden Flanke hiervon, eine Einrichtung für das Bereitstellen eines mittleren Rauschniveaus der Korrelationsantwort, eine Einrichtung für das Berechnen des Schnittpunktes der Steigung und des mittleren Rauschniveaus, und eine Einrichtung für das Verwenden des Schnittpunktes, um den frühesten Peak zu bestimmen.
  10. Vorrichtung nach Anspruch 9, die weiterhin aufweist: eine Einrichtung für das Bestimmen, ob die Korrelationsantwort von einem oder mehreren Mehrpfadsignalen beeinflußt wird.
  11. Vorrichtung nach Anspruch 10, wobei die Einrichtung für das Bestimmen, ob die Korrelationsantwort von einem oder mehreren Mehrpfadsignalen beeinflußt wird, aufweist: eine Einrichtung für das Berechnen einer ersten Steigung der Korrelationsantwort auf einer ansteigenden Flanke hiervon, eine Einrichtung für das Berechnen einer zweiten Steigung der Korrelationsantwort auf einer abfallenden Flanke hiervon, und eine Einrichtung für das Vergleichen der ersten Steigung mit der zweiten Steigung.
  12. Vorrichtung nach Anspruch 10, bei der die Einreichung für das Bestimmen, ob die Korrelationsantwort durch ein oder mehrere Mehrpfadsignale beeinflußt wird, aufweist: eine Einrichtung für das Berechnen eines ersten Schnittpunktes einer ansteigenden Flanke der Korrelationsantwort mit einem mittleren Rauschniveau der Korrelationsantwort, eine Einrichtung für das Berechnen eines zweiten Schnittpunktes einer abfallenden Flanke der Korrelationsantwort mit dem mittleren Rauschniveau der Korrelationsantwort, und eine Einrichtung für das Berechnen der Breite zwischen dem ersten Schnittpunkt und dem zweiten Schnittpunkt.
DE60308691T 2002-08-13 2003-08-06 Verfahren und vorrichtung zur durchführung einer signalkorrelation in mehreren auflösungen, zur mehrwegestörungsverminderung Expired - Lifetime DE60308691T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/218,110 US7006556B2 (en) 2001-05-18 2002-08-13 Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
PCT/US2003/024611 WO2004015444A1 (en) 2002-08-13 2003-08-06 Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference
US218110 2005-09-01

Publications (2)

Publication Number Publication Date
DE60308691D1 DE60308691D1 (de) 2006-11-09
DE60308691T2 true DE60308691T2 (de) 2007-06-28

Family

ID=31714494

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60308691T Expired - Lifetime DE60308691T2 (de) 2002-08-13 2003-08-06 Verfahren und vorrichtung zur durchführung einer signalkorrelation in mehreren auflösungen, zur mehrwegestörungsverminderung

Country Status (8)

Country Link
US (3) US7006556B2 (de)
EP (1) EP1529224B1 (de)
JP (1) JP2005535880A (de)
KR (1) KR100958088B1 (de)
AT (1) ATE341005T1 (de)
AU (1) AU2003261406A1 (de)
DE (1) DE60308691T2 (de)
WO (1) WO2004015444A1 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729412B2 (en) * 2001-10-29 2010-06-01 Qualcomm Incorporated Parameter estimator with dynamically variable integration time
US7308022B2 (en) * 2001-11-01 2007-12-11 Rick Roland R Parameter estimator configured to distinguish between peaks and sidelobes of correlation function
US7558534B2 (en) 2001-11-02 2009-07-07 Qualcomm Incorporated Reliability metrics for parameter estimates which account for cumulative error
US7065064B2 (en) * 2001-12-20 2006-06-20 Interdigital Technology Corporation Cell search using peak quality factors
US7756421B2 (en) * 2002-10-03 2010-07-13 Ciena Corporation Electrical domain compensation of non-linear effects in an optical communications system
AU2002368401A1 (en) * 2002-12-02 2004-06-23 Nokia Corporation Determination of the position of a pulse peak
US7672404B2 (en) 2003-05-19 2010-03-02 Broadcom Corporation Method and apparatus for reducing the time required to acquire a GPS signal
TWI230518B (en) * 2003-11-05 2005-04-01 Prolific Technology Inc Global positioning satellite and correlating circuit thereof
FR2866711A1 (fr) * 2004-02-25 2005-08-26 Soisic Estimation de la distance separant deux stations d'un systeme de communication a etalement de spectre par sequence directe
US7876738B2 (en) * 2004-03-02 2011-01-25 Nokia Corporation Preventing an incorrect synchronization between a received code-modulated signal and a replica code
GB2420953B (en) * 2004-12-16 2008-12-03 Fujitsu Ltd Symbol timing estimation in communication systems
US7453961B1 (en) 2005-01-11 2008-11-18 Itt Manufacturing Enterprises, Inc. Methods and apparatus for detection of signal timing
US7471238B2 (en) * 2005-11-01 2008-12-30 The Aerospace Corporation Multitarget tracking antispoofing receiver
JP4274173B2 (ja) * 2005-12-15 2009-06-03 セイコーエプソン株式会社 測位装置、測位方法及びプログラム
US8340159B2 (en) 2006-01-27 2012-12-25 Thomson Licensing Method and apparatus for multiresolution / multipath searcher
US8170085B2 (en) * 2006-03-09 2012-05-01 CSR Technology Holdings Inc. Multipath error estimation in satellite navigation receivers
US7570206B2 (en) * 2006-03-23 2009-08-04 Seiko Epson Corporation Positioning device, positioning control method, positioning control program, and computer-readable recording medium having positioning control program recorded thereon
JP4632310B2 (ja) * 2006-03-27 2011-02-16 日本無線株式会社 衛星航法受信装置
FR2904498B1 (fr) * 2006-07-31 2010-05-07 Cit Alcatel Recepteur de navigation spatial a fonctionnement assiste par des informations de navigation
CN101197590B (zh) * 2006-12-04 2011-08-17 海能达通信股份有限公司 一种在无线通信中实现位同步数字化的方法及其系统
FR2918765B1 (fr) * 2007-07-09 2009-10-02 Sagem Electronique Sa Procede de determination d'une erreur d'asservissement dans une boucle de poursuite d'un code pseudo-aleatoire.
US7899126B2 (en) * 2007-07-27 2011-03-01 Mediatek Inc. Signal receiver and method for estimating residual doppler frequencies of signals thereof
US7800536B2 (en) * 2007-10-11 2010-09-21 Mediatek, Inc. Signal acquisition/tracking method and correlator for the same
CN101843029B (zh) 2007-11-02 2013-01-09 诺瓦特公司 用于经由网络分发精确时间和频率的系统和方法
CA2705335C (en) * 2007-11-13 2015-06-30 Novatel Inc. System for determining position over a network
EP2066040A1 (de) * 2007-11-27 2009-06-03 Nemerix SA GNSS-Empfänger mit Mehrwegkompensation
JP5726530B2 (ja) * 2007-12-05 2015-06-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated 全地球ナビゲーション受信機
EP2291675B1 (de) 2008-05-22 2017-11-22 NovAtel Inc. Gnss-empfänger mit verwendung von opportunitätssignalen und hilfsinformationen zur minimierung der zeit bis zur ersten positionserkennung
US8022869B2 (en) * 2008-05-29 2011-09-20 Qualcomm Incorporated Apparatus and method for cross-correlation spur mitigation
US7924224B2 (en) * 2008-08-15 2011-04-12 Trueposition, Inc. Variable coherence integration for the location of weak signals
US8412093B2 (en) * 2008-10-22 2013-04-02 Mediatek Inc. Receiver applying channel selection filter for receiving satellite signal and receiving method thereof
US8392424B2 (en) * 2010-08-24 2013-03-05 Mitsubishi Electric Research Laboratories, Inc. Method for hierarchical signal quantization and hashing
GB2494150B (en) 2011-08-31 2015-11-04 Samsung Electronics Co Ltd Multipath mitigation in positioning systems
US8922430B2 (en) 2011-12-22 2014-12-30 Trueposition, Inc. Optimization of variable coherence integration for the location of weak signals
KR102065666B1 (ko) 2012-12-12 2020-02-11 삼성전자 주식회사 위성 항법 시스템의 신호 추적 방법, 신호 추적 장치 및 이를 포함하는 위성신호 수신기
US9197285B2 (en) * 2012-12-20 2015-11-24 Deere & Company Methods and apparatus for ameliorating signal reception
CN104181553A (zh) * 2013-05-24 2014-12-03 凹凸电子(武汉)有限公司 伪距误差估算方法和系统
FR3012622B1 (fr) * 2013-10-31 2019-08-09 Thales Procede de detection d'interferences dans un signal de radio-navigation par satellite
FR3012620A1 (fr) * 2013-10-31 2015-05-01 Thales Sa Procede de detection d'interferences dans un signal de radio-navigation par satellite par detection d'une deformation de la fonction de correlation
KR101652083B1 (ko) * 2015-04-09 2016-08-29 한국항공대학교산학협력단 지그비 기반 신호 도달 시간 추정 방법 및 장치
CN104765046A (zh) * 2015-04-27 2015-07-08 成都振芯科技股份有限公司 北斗地基导航网络地面监测站接收机与伪卫星多路径抑制方法
CN105119648B (zh) * 2015-07-09 2019-01-22 交通信息通信技术研究发展中心 一种北斗地基导航网络运管系统
EP3315991A1 (de) * 2016-10-28 2018-05-02 Fraunhofer Gesellschaft zur Förderung der Angewand Ankunftszeitmessungen
CN107490705B (zh) * 2016-11-21 2020-03-06 上海卫星工程研究所 标准化大中型卫星低频有线信号调理装置
US10725183B2 (en) 2018-02-22 2020-07-28 Samsung Electronics Co., Ltd GNSS multipath mitigation via pattern recognition
US11137502B2 (en) * 2018-05-29 2021-10-05 Star Ally International Limited Method and system for signal detection including positioning signals
KR102609093B1 (ko) * 2018-10-26 2023-12-04 삼성전자주식회사 Gnss 신호의 다중 경로 상태를 검출하는 방법 및 이를 지원하는 전자 장치
KR20220017264A (ko) 2020-08-04 2022-02-11 삼성전자주식회사 Gnss에 기초한 이동체의 이동 위치 보정 방법 및 장치.

Family Cites Families (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2016760B (en) 1978-02-02 1982-02-24 Plessey Co Ltd Correlators
FR2436722A1 (fr) 1978-09-21 1980-04-18 Teleplastics Ind Sa Dispositif de bouchage a auto-orientation du bouchon
US4445118A (en) * 1981-05-22 1984-04-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Navigation system and method
US4426712A (en) * 1981-05-22 1984-01-17 Massachusetts Institute Of Technology Correlation system for global position receiver
US4894662A (en) 1982-03-01 1990-01-16 Western Atlas International, Inc. Method and system for determining position on a moving platform, such as a ship, using signals from GPS satellites
FR2525055A1 (fr) * 1982-04-09 1983-10-14 Trt Telecom Radio Electr Procede de correction de frequence de la porteuse locale dans le recepteur d'un systeme de transmission de donnees et recepteur utilisant ce procede
US4578678A (en) * 1983-11-14 1986-03-25 The United States Of America As Represented By The United States National Aeronautics And Space Administration High dynamic global positioning system receiver
US4660164A (en) * 1983-12-05 1987-04-21 The United States Of America As Represented By The Secretary Of The Navy Multiplexed digital correlator
US4785463A (en) * 1985-09-03 1988-11-15 Motorola, Inc. Digital global positioning system receiver
US4751512A (en) 1986-01-21 1988-06-14 Oceanonics, Inc. Differential navigation system for remote mobile users
US4811362A (en) * 1987-06-15 1989-03-07 Motorola, Inc. Low power digital receiver
US4894842A (en) 1987-10-15 1990-01-16 The Charles Stark Draper Laboratory, Inc. Precorrelation digital spread spectrum receiver
US4884208A (en) 1988-05-16 1989-11-28 Equipment Tracking Network, Inc. System for continuously establishing and indicating the location of a movable object
US5987058A (en) * 1988-11-02 1999-11-16 Axonn Corporation Wireless alarm system
FR2650456A1 (fr) * 1989-07-28 1991-02-01 Trt Telecom Radio Electr Procede de synchronisation par correlation
US5187805A (en) 1989-10-02 1993-02-16 Motorola, Inc. Telemetry, tracking and control for satellite cellular communication systems
CH679718A5 (de) 1989-10-19 1992-03-31 Ascom Zelcom Ag
AU639308B2 (en) 1990-03-09 1993-07-22 Sigtec Navigation Pty Ltd G p s receiver
US5117232A (en) * 1990-06-04 1992-05-26 Raytheon Company Global system positioning receiver
US5185610A (en) * 1990-08-20 1993-02-09 Texas Instruments Incorporated GPS system and method for deriving pointing or attitude from a single GPS receiver
US5101416A (en) 1990-11-28 1992-03-31 Novatel Comunications Ltd. Multi-channel digital receiver for global positioning system
US5390207A (en) * 1990-11-28 1995-02-14 Novatel Communications Ltd. Pseudorandom noise ranging receiver which compensates for multipath distortion by dynamically adjusting the time delay spacing between early and late correlators
US5148452A (en) * 1990-12-31 1992-09-15 Motorola, Inc. Global positioning system digital receiver
US5199050A (en) * 1991-04-05 1993-03-30 Trw Inc. Pseudorandom (PN) signal synchronization circuit and related method
DE4114058C2 (de) 1991-04-30 2003-11-27 Sel Alcatel Ag Mehrkanalempfänger für bandgespreizte Signale
US5225842A (en) 1991-05-09 1993-07-06 Navsys Corporation Vehicle tracking system employing global positioning system (gps) satellites
US5175557A (en) 1991-07-18 1992-12-29 Motorola, Inc. Two channel global positioning system receiver
US5153598A (en) * 1991-09-26 1992-10-06 Alves Jr Daniel F Global Positioning System telecommand link
JPH0590904A (ja) * 1991-09-27 1993-04-09 Nec Corp 制御信号発生回路
US5216961A (en) * 1991-11-08 1993-06-08 Gray Stephen B Book index notch cutter
US5379224A (en) * 1991-11-29 1995-01-03 Navsys Corporation GPS tracking system
DE4241882A1 (de) * 1991-12-13 1993-06-17 Clarion Co Ltd
US5414729A (en) * 1992-01-24 1995-05-09 Novatel Communications Ltd. Pseudorandom noise ranging receiver which compensates for multipath distortion by making use of multiple correlator time delay spacing
US5323164A (en) 1992-03-16 1994-06-21 Pioneer Electronic Corporation Satellite radio wave capturing method for a global positioning system (GPS) receiver
US5579338A (en) * 1992-06-29 1996-11-26 Mitsubishi Denki Kabushiki Kaisha Spread spectrum receiver using partial correlations
US5237587A (en) * 1992-11-20 1993-08-17 Magnavox Electronic Systems Company Pseudo-noise modem and related digital correlation method
US5350410A (en) 1992-11-23 1994-09-27 Siemens Pacesetter, Inc. Autocapture system for implantable pulse generator
US5365450A (en) 1992-12-17 1994-11-15 Stanford Telecommunications, Inc. Hybrid GPS/data line unit for rapid, precise, and robust position determination
US5420592A (en) 1993-04-05 1995-05-30 Radix Technologies, Inc. Separated GPS sensor and processing system for remote GPS sensing and centralized ground station processing for remote mobile position and velocity determinations
GB2277853A (en) * 1993-05-07 1994-11-09 Roke Manor Research Signal compression signals
DE4318368C1 (de) * 1993-05-28 1994-07-14 Siemens Ag Verfahren zum Gewinnen eines einen Ausfall der Synchronisation zwischen einer Pseudozufallssignalfolge eines Senders und einer Referenz-Pseudozufallssignalfolge eines Empfängers anzeigenden Signals
US5402347A (en) 1993-07-22 1995-03-28 Trimble Navigation Limited Satellite search methods for improving time to first fix in a GPS receiver
US5615232A (en) 1993-11-24 1997-03-25 Novatel Communications Ltd. Method of estimating a line of sight signal propagation time using a reduced-multipath correlation function
US5477458A (en) * 1994-01-03 1995-12-19 Trimble Navigation Limited Network for carrier phase differential GPS corrections
KR970005598B1 (ko) * 1994-06-29 1997-04-18 삼성전자 주식회사 대역확산통신방식의 비동기 디지탈 수신장치
US5748891A (en) 1994-07-22 1998-05-05 Aether Wire & Location Spread spectrum localizers
DE69533540T2 (de) * 1994-07-29 2005-11-17 Qualcomm, Inc., San Diego Verfahren und gerät zum ausführen der kodeerfassung in einem cdma übertragungssystem
US5610940A (en) * 1994-09-09 1997-03-11 Omnipoint Corporation Method and apparatus for noncoherent reception and correlation of a continous phase modulated signal
US5594453A (en) * 1994-11-01 1997-01-14 Trimble Navigation, Ltd GPS receiver having a rapid acquisition of GPS satellite signals
US5600670A (en) 1994-12-21 1997-02-04 Trimble Navigation, Ltd. Dynamic channel allocation for GPS receivers
JP2605648B2 (ja) 1994-12-22 1997-04-30 日本電気株式会社 Ss受信機における逆拡散符号位相検出装置
US5579014A (en) * 1995-01-20 1996-11-26 General Electric Company Parallel correlator for global positioning system receiver
US5694416A (en) * 1995-02-24 1997-12-02 Radix Technologies, Inc. Direct sequence spread spectrum receiver and antenna array for the simultaneous formation of a beam on a signal source and a null on an interfering jammer
US6023489A (en) * 1995-05-24 2000-02-08 Leica Geosystems Inc. Method and apparatus for code synchronization in a global positioning system receiver
US5627855A (en) 1995-05-25 1997-05-06 Golden Bridge Technology, Inc. Programmable two-part matched filter for spread spectrum
US5600328A (en) * 1995-06-21 1997-02-04 Matsushita Electric Industrial Co., Ltd. Demodulator circuit in global positioning system receiver
US5736960A (en) 1995-09-19 1998-04-07 Northrop Grumman Corporation Atomic clock augmented global positioning system receivers and global positioning system incorporating same
US5726659A (en) * 1995-09-21 1998-03-10 Stanford University Multipath calibration in GPS pseudorange measurements
US6208290B1 (en) 1996-03-08 2001-03-27 Snaptrack, Inc. GPS receiver utilizing a communication link
US5884214A (en) * 1996-09-06 1999-03-16 Snaptrack, Inc. GPS receiver and method for processing GPS signals
US6133871A (en) * 1995-10-09 2000-10-17 Snaptrack, Inc. GPS receiver having power management
WO1997014055A1 (en) 1995-10-09 1997-04-17 Snaptrack, Inc. Method and apparatus for determining the location of an object which may have an obstructed view of the sky
US5841396A (en) 1996-03-08 1998-11-24 Snaptrack, Inc. GPS receiver utilizing a communication link
DE69625496T2 (de) * 1995-10-09 2003-10-30 Snaptrack Inc Gps-empfänger und verfahren zur verarbeitung von gps-signalen
US5825327A (en) 1996-03-08 1998-10-20 Snaptrack, Inc. GPS receivers and garments containing GPS receivers and methods for using these GPS receivers
US6002363A (en) 1996-03-08 1999-12-14 Snaptrack, Inc. Combined GPS positioning system and communications system utilizing shared circuitry
US5831574A (en) 1996-03-08 1998-11-03 Snaptrack, Inc. Method and apparatus for determining the location of an object which may have an obstructed view of the sky
JPH09148980A (ja) * 1995-11-22 1997-06-06 Sony Corp パイロット信号検出方法、パイロット信号検出装置及び移動局受信装置
US5945944A (en) 1996-03-08 1999-08-31 Snaptrack, Inc. Method and apparatus for determining time for GPS receivers
US6133874A (en) * 1996-03-08 2000-10-17 Snaptrack, Inc. Method and apparatus for acquiring satellite positioning system signals
US5897605A (en) * 1996-03-15 1999-04-27 Sirf Technology, Inc. Spread spectrum receiver with fast signal reacquisition
US6125325A (en) 1996-04-25 2000-09-26 Sirf Technology, Inc. GPS receiver with cross-track hold
US5901171A (en) * 1996-03-15 1999-05-04 Sirf Technology, Inc. Triple multiplexing spread spectrum receiver
US6393046B1 (en) * 1996-04-25 2002-05-21 Sirf Technology, Inc. Spread spectrum receiver with multi-bit correlator
US6252863B1 (en) * 1996-04-09 2001-06-26 Trimble Navigation Limited Multipath compensation for pseudorange signals
US6047017A (en) * 1996-04-25 2000-04-04 Cahn; Charles R. Spread spectrum receiver with multi-path cancellation
US5907578A (en) * 1996-05-20 1999-05-25 Trimble Navigation Weighted carrier phase multipath reduction
US6034635A (en) * 1996-06-06 2000-03-07 Gilhousen; Klein S. Method for using only two base stations for determining the position of a mobile subscriber in a CDMA cellular telephone system
US5859612A (en) * 1996-06-06 1999-01-12 Qualcomm Incorporated Method for using an antenna with a rotating beam for determining the position of a mobile subscriber in a CDMA cellular telephone system
US6028537A (en) 1996-06-14 2000-02-22 Prince Corporation Vehicle communication and remote control system
US5828694A (en) * 1996-07-01 1998-10-27 Trimble Navigation Limited Determination of multipath tracking error
US6151353A (en) * 1996-07-12 2000-11-21 General Electric Company Pre-acquisition frequency offset removal in a GPS receiver
US6118808A (en) * 1996-07-12 2000-09-12 General Electric Company GPS receiver with efficient signal acquisition
US5896304A (en) * 1996-07-12 1999-04-20 General Electric Company Low power parallel correlator for measuring correlation between digital signal segments
KR100197352B1 (ko) * 1996-07-31 1999-06-15 이계철 기준 정합여파기를 이용한 병렬포착시스템
US5781543A (en) * 1996-08-29 1998-07-14 Qualcomm Incorporated Power-efficient acquisition of a CDMA pilot signal
US5945948A (en) * 1996-09-03 1999-08-31 Motorola, Inc. Method and apparatus for location finding in a communication system
JPH1079941A (ja) * 1996-09-05 1998-03-24 Fujitsu Ltd 画像処理装置
US6185427B1 (en) 1996-09-06 2001-02-06 Snaptrack, Inc. Distributed satellite position system processing and application network
US5808582A (en) * 1996-09-13 1998-09-15 Litton Consulting Group, Inc. Global positioning system receiver with improved multipath signal rejection
US5798732A (en) 1996-09-19 1998-08-25 Trimble Navigation Limited GPS receiver having a fast time to first fix
US5901183A (en) * 1996-09-25 1999-05-04 Magellan Corporation Signal correlation technique for a receiver of a spread spectrum signal including a pseudo-random noise code that reduces errors when a multipath signal is present
US6256337B1 (en) * 1996-11-21 2001-07-03 Dsp Group, Inc. Rapid acquisition of PN synchronization in a direct-sequence spread-spectrum digital communications system
US5899857A (en) 1997-01-07 1999-05-04 Wilk; Peter J. Medical treatment method with scanner input
US5893044A (en) 1997-01-21 1999-04-06 Motorola Inc. Real time clock apparatus for fast acquisition or GPS signals
US6377209B1 (en) * 1997-02-03 2002-04-23 Snaptrack, Inc. Method and apparatus for satellite positioning system (SPS) time measurement
US6215442B1 (en) 1997-02-03 2001-04-10 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system
US5812087A (en) * 1997-02-03 1998-09-22 Snaptrack, Inc. Method and apparatus for satellite positioning system based time measurement
US6289041B1 (en) * 1997-02-11 2001-09-11 Snaptrack, Inc. Fast Acquisition, high sensitivity GPS receiver
US5768319A (en) * 1997-02-18 1998-06-16 Motorola, Inc. GPS data collection in high noise-to-signal ratio environments
US5877723A (en) 1997-03-05 1999-03-02 Caterpillar Inc. System and method for determining an operating point
US5864315A (en) * 1997-04-07 1999-01-26 General Electric Company Very low power high accuracy time and frequency circuits in GPS based tracking units
US6215441B1 (en) 1997-04-15 2001-04-10 Snaptrack, Inc. Satellite positioning reference system and method
US6411254B1 (en) 1997-04-15 2002-06-25 Snaptrack, Inc. Satellite positioning reference system and method
US6137847A (en) * 1997-05-02 2000-10-24 Lsi Logic Corporation Demodulating digital video broadcast signals
US5999561A (en) 1997-05-20 1999-12-07 Sanconix, Inc. Direct sequence spread spectrum method, computer-based product, apparatus and system tolerant to frequency reference offset
US5920278A (en) * 1997-05-28 1999-07-06 Gregory D. Gibbons Method and apparatus for identifying, locating, tracking, or communicating with remote objects
US6324473B1 (en) 1997-08-04 2001-11-27 Trimble Navigation Limited Method and apparatus for collecting, processing and distributing differential global positioning system information using the internet
US5909471A (en) * 1997-08-08 1999-06-01 Arraycomm, Inc. Method and system for rapid initial control signal detection in a wireless communications system
US5952947A (en) * 1997-09-09 1999-09-14 Raytheon Company Flexible and programmable delta-sigma analog signal converter
US5872774A (en) * 1997-09-19 1999-02-16 Qualcomm Incorporated Mobile station assisted timing synchronization in a CDMA communication system
US6307840B1 (en) * 1997-09-19 2001-10-23 Qualcomm Incorporated Mobile station assisted timing synchronization in CDMA communication system
US6005899A (en) 1997-09-29 1999-12-21 Ericsson, Inc. Method for efficiently computing sequence correlations
US6070078A (en) 1997-10-15 2000-05-30 Ericsson Inc. Reduced global positioning system receiver code shift search space for a cellular telephone system
US5963264A (en) * 1997-10-30 1999-10-05 Echostar Engineering Corporation Selecting a digital television program and the control of a non-attached recording device
US5931893A (en) * 1997-11-11 1999-08-03 Ericsson, Inc. Efficient correlation over a sliding window
DK0924532T3 (da) 1997-11-19 2006-07-17 Imec Vzw Fremgangsmåde og apparat til modtagelse af GPS/GLONASS-signaler
US6084544A (en) 1997-12-18 2000-07-04 Ericsson Inc. Method for determining the location of a GPS receiver using an estimated reference time
US6252629B1 (en) * 1997-12-26 2001-06-26 Matsushita Electric Industrial Co., Ltd. Timer-recording controller for controlling a timer-recording apparatus used to record a broadcast audio signal, a broadcast video signal, or a broadcast data signal
US5949364A (en) * 1998-01-06 1999-09-07 The United States Of America As Represented By The Administration Of The National Aeronautics And Space Administration Method and system for producing images of an object
US6075987A (en) 1998-02-27 2000-06-13 Ericsson Inc. Stand alone global positioning system (GPS) and method with high sensitivity
US6298083B1 (en) * 1998-03-16 2001-10-02 Trimble Navigation Limited Power savings technique for a positioning system receiver
US6433739B1 (en) 1998-03-17 2002-08-13 Qualcomm, Incorporated Method and apparatus for synchronizing base stations using remote synchronizing stations
US6081229A (en) 1998-03-17 2000-06-27 Qualcomm Incorporated System and method for determining the position of a wireless CDMA transceiver
US5999124A (en) 1998-04-22 1999-12-07 Snaptrack, Inc, Satellite positioning system augmentation with wireless communication signals
US6061018A (en) 1998-05-05 2000-05-09 Snaptrack, Inc. Method and system for using altitude information in a satellite positioning system
US6252543B1 (en) * 1998-05-28 2001-06-26 Ericsson Inc. Location system combining ranging measurements from GPS and cellular networks
US6208291B1 (en) * 1998-05-29 2001-03-27 Snaptrack, Inc. Highly parallel GPS correlator system and method
US6236354B1 (en) * 1998-07-02 2001-05-22 Snaptrack, Inc. Reducing satellite signal interference in a global positioning system receiver
US6313786B1 (en) * 1998-07-02 2001-11-06 Snaptrack, Inc. Method and apparatus for measurement processing of satellite positioning system (SPS) signals
US6282248B1 (en) * 1998-07-14 2001-08-28 Agere Systems Guardian Corp. Variable baud rate demodulator
US5957982A (en) 1998-08-18 1999-09-28 Trw Inc. Method and system for space navigation
JP3695732B2 (ja) * 1998-09-02 2005-09-14 富士通株式会社 Cdma受信装置のサーチ装置
US6327473B1 (en) 1998-09-08 2001-12-04 Qualcomm Incorporated Method and apparatus for increasing the sensitivity of a global positioning satellite receiver
US6181911B1 (en) 1998-09-09 2001-01-30 Qualcomm Incorporated Simplified receiver with rotator for performing position location
US6211820B1 (en) * 1998-09-09 2001-04-03 Qualcomm Incorporated Call maintainance during position location
US6208292B1 (en) * 1998-09-09 2001-03-27 Qualcomm Incorporated Position location with low tolerance oscillator
US6324227B1 (en) * 1998-09-09 2001-11-27 Qualcomm Incorporated Receiver for performing position location with efficient rotator
US6693953B2 (en) * 1998-09-30 2004-02-17 Skyworks Solutions, Inc. Adaptive wireless communication receiver
US6538600B1 (en) 1998-10-16 2003-03-25 Lucent Technologies Inc. Wireless assisted GPS using a reference location
AU3280299A (en) * 1998-11-11 2000-05-29 Samsung Electronics Co., Ltd. Receiver for pseudo-noise signals from satellite radio-navigation systems
US6157891A (en) 1998-11-16 2000-12-05 Lin; Ching-Fang Positioning and ground proximity warning method and system thereof for vehicle
US6121923A (en) * 1999-02-19 2000-09-19 Motorola, Inc. Fixed site and satellite data-aided GPS signal acquisition method and system
US6370208B1 (en) * 1999-02-26 2002-04-09 Industrial Technical Research Institute Correlator for CDMA applications
WO2000052863A1 (fr) * 1999-03-01 2000-09-08 Fujitsu Limited Recepteur amrc
US6577271B1 (en) 1999-03-30 2003-06-10 Sirf Technology, Inc Signal detector employing coherent integration
US6304216B1 (en) 1999-03-30 2001-10-16 Conexant Systems, Inc. Signal detector employing correlation analysis of non-uniform and disjoint sample segments
US6363108B1 (en) 1999-03-31 2002-03-26 Qualcomm Inc. Programmable matched filter searcher
GB2348755B (en) 1999-04-01 2001-03-07 Wireless Systems Int Ltd Signal processing
US6453237B1 (en) 1999-04-23 2002-09-17 Global Locate, Inc. Method and apparatus for locating and providing services to mobile devices
US6704348B2 (en) 2001-05-18 2004-03-09 Global Locate, Inc. Method and apparatus for computing signal correlation at multiple resolutions
US6606346B2 (en) 2001-05-18 2003-08-12 Global Locate, Inc. Method and apparatus for computing signal correlation
US6829534B2 (en) 1999-04-23 2004-12-07 Global Locate, Inc. Method and apparatus for performing timing synchronization
US6411892B1 (en) 2000-07-13 2002-06-25 Global Locate, Inc. Method and apparatus for locating mobile receivers using a wide area reference network for propagating ephemeris
JP2000310673A (ja) 1999-04-26 2000-11-07 Matsushita Electric Ind Co Ltd Gps受信機
US6091959A (en) 1999-06-02 2000-07-18 Motorola, Inc. Method and apparatus in a two-way wireless communication system for location-based message transmission
AU5601800A (en) 1999-08-09 2001-03-05 Motorola, Inc. Adaptive delay lock loop tracking
US6292132B1 (en) * 1999-08-13 2001-09-18 Daimlerchrysler Ag System and method for improved accuracy in locating and maintaining positions using GPS
US6191731B1 (en) 1999-08-25 2001-02-20 Trimble Navigation Limited GPS receiver having a fast time to first fix
US6278403B1 (en) 1999-09-17 2001-08-21 Sirf Technology, Inc. Autonomous hardwired tracking loop coprocessor for GPS and WAAS receiver
KR100733997B1 (ko) 1999-10-20 2007-06-29 소니 가부시끼 가이샤 범지구 측위시스템의 신호수신장치 및 휴대무선단말장치
WO2001039698A1 (en) 1999-12-01 2001-06-07 Board Of Trustees Of The Leland Stanford Junior University Multipath and tracking error reduction method for spread-spectrum receivers
US6438702B1 (en) 1999-12-21 2002-08-20 Telcordia Technologies, Inc. Method for providing a precise network time service
US6285316B1 (en) 2000-06-02 2001-09-04 Cellguide Ltd. Locating a mobile unit using signals from both mobile beacons and stationary beacons
US6501420B2 (en) 2000-02-24 2002-12-31 Koninklijke Philips Electronics N.V. Mobile cellular telephone comprising a GPS receiver
US6658048B1 (en) 2000-04-07 2003-12-02 Nokia Mobile Phones, Ltd. Global positioning system code phase detector with multipath compensation and method for reducing multipath components associated with a received signal
US6407699B1 (en) * 2000-04-14 2002-06-18 Chun Yang Method and device for rapidly extracting time and frequency parameters from high dynamic direct sequence spread spectrum radio signals under interference
US6922546B1 (en) 2000-05-03 2005-07-26 Lucent Technologies Inc. GPS signal acquisition based on frequency-domain and time-domain processing
US6642884B2 (en) 2000-05-08 2003-11-04 Sigtec Navigation Pty Ltd. Satellite-based positioning system receiver for weak signal operation
US6804290B1 (en) * 2000-05-26 2004-10-12 Motorola, Inc. Method of acquiring signal code phases and geographic positioning receiver
GB0013148D0 (en) 2000-05-31 2000-07-19 Koninkl Philips Electronics Nv A method of despreading GPS stread spectrum signals
US6323804B1 (en) 2000-06-06 2001-11-27 Motorola, Inc. Method and apparatus for GPS time determination
JP3673700B2 (ja) 2000-06-27 2005-07-20 株式会社日立製作所 スペクトル拡散信号を用いた測距及び位置測定方法、その方法を行う装置
US7236883B2 (en) 2000-08-14 2007-06-26 Sirf Technology, Inc. Aiding in a satellite positioning system
US6618670B1 (en) 2000-09-15 2003-09-09 Sirf Technology, Inc. Resolving time ambiguity in GPS using over-determined navigation solution
EP1325349A1 (de) 2000-09-20 2003-07-09 Koninklijke Philips Electronics N.V. Verfahren zur ortsbestimmung einer mobilen einheit
US6934317B1 (en) * 2000-10-11 2005-08-23 Ericsson Inc. Systems and methods for communicating spread spectrum signals using variable signal constellations
US6560534B2 (en) 2001-06-06 2003-05-06 Global Locate, Inc. Method and apparatus for distributing satellite tracking information
US6542820B2 (en) 2001-06-06 2003-04-01 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information
US6427122B1 (en) * 2000-12-23 2002-07-30 American Gnc Corporation Positioning and data integrating method and system thereof
GB0102881D0 (en) 2001-02-06 2001-03-21 Koninkl Philips Electronics Nv A method of despreading GPS signals
CN1325927C (zh) 2001-02-06 2007-07-11 皇家菲利浦电子有限公司 解扩gps信号的方法
US6473030B1 (en) 2001-02-28 2002-10-29 Seiko Epson Corporation Infrastructure-aiding for satellite navigation receiver and method
US6819707B2 (en) * 2001-05-18 2004-11-16 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
US7567636B2 (en) 2001-05-18 2009-07-28 Global Locate, Inc. Method and apparatus for performing signal correlation using historical correlation data
US20020190898A1 (en) 2001-06-14 2002-12-19 Global Locate Inc. Method and apparatus for creating and distributing satellite orbit and clock data
US6888849B2 (en) * 2001-06-15 2005-05-03 Lucent Technologies Inc. Method for evaluating capacity utilization of a terminus in a communication system
US6433726B1 (en) * 2001-06-22 2002-08-13 Koninklijke Philips Electronics N.V. Fractional decimation filter using oversampled data
GB0117883D0 (en) 2001-07-21 2001-09-12 Koninkl Philips Electronics Nv Method and apparatus for estimating gps time
US6651000B2 (en) 2001-07-25 2003-11-18 Global Locate, Inc. Method and apparatus for generating and distributing satellite tracking information in a compact format
US6775319B2 (en) 2001-08-16 2004-08-10 Motorola, Inc. Spread spectrum receiver architectures and methods therefor
US6748202B2 (en) 2001-12-12 2004-06-08 Nokia Corporation Method, apparatus and system for synchronizing a cellular communication system to GPS time
US6573799B1 (en) 2001-12-12 2003-06-03 Nokia Corporation Clock system and corresponding method for providing a clock time accounting for systematic error
JP3858985B2 (ja) 2002-03-20 2006-12-20 日本電気株式会社 スペクトル拡散通信システムのパスダイバーシチ受信装置及び方法
US7239271B1 (en) 2002-08-15 2007-07-03 Sirf Technology, Inc. Partial almanac collection system
US20050202829A1 (en) 2004-03-01 2005-09-15 Texas Instruments Incorporated Satellite positioning system receiver utilizing time-aiding information from an independent source
US7263592B2 (en) * 2004-03-29 2007-08-28 International Business Machines Corporation Method for completely lock-free user-level dynamic memory allocation
US8238489B2 (en) 2008-02-19 2012-08-07 Core Logic, Inc. Apparatus and method for processing signal using single correlator
KR101073408B1 (ko) 2008-03-07 2011-10-17 주식회사 코아로직 위성 신호 추적기의 상관 장치 및 그 방법

Also Published As

Publication number Publication date
EP1529224B1 (de) 2006-09-27
AU2003261406A1 (en) 2004-02-25
US20100098136A1 (en) 2010-04-22
JP2005535880A (ja) 2005-11-24
EP1529224A1 (de) 2005-05-11
DE60308691D1 (de) 2006-11-09
ATE341005T1 (de) 2006-10-15
US20030072356A1 (en) 2003-04-17
KR20050054917A (ko) 2005-06-10
US7006556B2 (en) 2006-02-28
US8411726B2 (en) 2013-04-02
WO2004015444A1 (en) 2004-02-19
US20060114970A1 (en) 2006-06-01
KR100958088B1 (ko) 2010-05-14
US7672358B2 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
DE60308691T2 (de) Verfahren und vorrichtung zur durchführung einer signalkorrelation in mehreren auflösungen, zur mehrwegestörungsverminderung
DE602004013356T2 (de) Verfahren und vorrichtung zur durchführung einer signalkorrelation unter verwendung vorgeschichtlicher korrelationsdaten
DE69834235T2 (de) Verfahren und Vorrichtung zum Empfang von GPS/GLONASS-Signalen
DE69723078T2 (de) Verfahren zum effektiven abtasten in einem korrelator
DE69731200T2 (de) Erfassung in einem gps-empfänger
DE69720722T2 (de) Leistungseffizienter empfänger
DE69629724T3 (de) Kombiniertes gps und kommunikations-system mit geteilten schaltkreisen
DE4233222C2 (de) Meßsystem (Channel Sounder) zur Untersuchung von Mobilfunkkanälen
EP1284050B1 (de) Verfahren un vorrichtung zur kodephasennachführung
DE69729736T2 (de) Signalkorrelationsverfahren für spreizspektrumempfänger zur reduzierung von mehrwegfehlern
DE60036010T2 (de) System zur signalerfassung für einen spreizspektrumempfänger
US20070160121A1 (en) Method and apparatus for performing signal correlation
KR20040008182A (ko) 신호 상관관계를 계산하기 위한 방법 및 장치
EP1405430A2 (de) Verfahren und vorrichtung zur berechnung der signalkorrelation mit mehreren auflösungen
DE102019125502A1 (de) Radar-Vorrichtung und Zielbestimmungsverfahren
DE69720723T2 (de) Verfahren zur vermeidung von harmonischen dopplerkopien in einem gps-empfänger
DE112009001606T5 (de) Verfahren und Vorrichtung zum Lindern der Effekte von CW-Interferenz über Post-Korrelations-Verarbeitung in einem GPS-Empfänger
DE60303185T2 (de) Verfahren, System und elektronisches Gerät zur Synchronisation eines Empfängers
DE60220046T2 (de) Integrierter Schaltkreis zur GPS Kodeerfassung
DE60308829T2 (de) Gps-empfängervorrichtung und empfangsverfahren
DE60314654T2 (de) Verarbeitung eines spreizspektrumsignals
DE112020001327T5 (de) Radar-Vorrichtung
DE602004010175T2 (de) Satellitendaten-erfassungsverfahren
DE102007003796B4 (de) Verfahren und Vorrichtung für das Bestimmen von Grenzen von Informationselementen
DE60029832T2 (de) Empfänger für ein spreizspektrumsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH, GRAF VON STOSCH, JEHLE PATENTANWALTSGESELLS

8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M