DE69230543T2 - Vielkanal- und Suchprozessor für GPS - Google Patents
Vielkanal- und Suchprozessor für GPSInfo
- Publication number
- DE69230543T2 DE69230543T2 DE69230543T DE69230543T DE69230543T2 DE 69230543 T2 DE69230543 T2 DE 69230543T2 DE 69230543 T DE69230543 T DE 69230543T DE 69230543 T DE69230543 T DE 69230543T DE 69230543 T2 DE69230543 T2 DE 69230543T2
- Authority
- DE
- Germany
- Prior art keywords
- code
- circuit
- signal
- phase
- accumulator
- 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 - Fee Related
Links
- 230000010354 integration Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 230000000979 retarding effect Effects 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 239000000523 sample Substances 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000003111 delayed effect Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 101100422771 Caenorhabditis elegans sup-9 gene Proteins 0.000 description 3
- 239000000969 carrier Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000003775 Density Functional Theory Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000012723 sample buffer Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/21—Interference related issues ; Issues related to cross-correlation, spoofing or other methods of denial of service
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/32—Multimode operation in a single same satellite system, e.g. GPS L1/L2
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B2201/00—Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
- H04B2201/69—Orthogonal indexing scheme relating to spread spectrum techniques in general
- H04B2201/707—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
- H04B2201/70715—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Description
- Diese Erfindung bezieht sich auf die globale Positionssignalisierung und insbesondere auf eine Einrichtung, die für ein Satelliten-Navigationssystem einen Mehrkanal-Suchbetrieb einrichtet.
- Das Navstar-Satelliten-Navigationssystem (GPS = Global Positioning System) wird zur Bestimmung der genauen geographischen Position (d. h. der geographischen Breite, Länge und Höhe), der absoluten Geschwindigkeit sowie der exakten Zeit verwendet. Die Navigationseinrichtung muß die Position, die Geschwindigkeit und die Zeit durch Bestimmung des Abstands und der relativen Geschwindigkeit in bezug auf eine Reihe von Satelliten berechnen. Die Geschwindigkeit des Empfängers wird aus der Doppler-Frequenzverschiebung der von den Satelliten übertragenen Signale berechnet. Der Abstand wird Reichweite genannt, während die Dopplerverschiebung die Radialgeschwindigkeit liefert.
- Ein GPS-Empfänger muß Signale empfangen, die von einem ungefähr 11000 Meilen entfernten Satelliten erzeugt werden. Ein GPS- Satellit überträgt ein Streuspektrumsignal mit ungefähr 6 Watt. Satellit und Empfänger müssen deshalb Streuspektrumtechniken anwenden, um das Signal vom Rauschen zu unterscheiden. "Streuspektrum" bedeutet, daß sich die Frequenz oder die momentane Phase des übertragenen Signals als Funktion der Zeit ändert. Mit Hilfe von Korrelationstechniken kann der Empfänger das vom Satelliten kommende Streuspektrumsignal durch Schätzung eines Abbildes des Signals verfolgen. Eine präzise Anpassung des Satelliten-Streuspektrums erzeugt eine potentielle Signalverarbeitungsverstärkung von bis zu 53 Dezibel. Die Anwendung von Streuspektrumtechniken ist erforderlich, um 6 Watt an Energie zu empfangen, die aus 11000 Meilen Entfernung übertragen wurde. Bei der Antenne liegt das GPS-Signal ungefähr 20 dE unter dem kosmischen Umgebungsrauschen.
- Herkömmliche digitale GPS-Empfänger, beispielsweise der Empfänger, der in IEEE PLANS'90: Position Location and Navigation Symposium Record - 1990 - Las Vegas, NV, USA, 20.-23. März 1990, Seiten 286-292, G. B. FRANK u. a., offenbart ist, führten Signalverarbeitungsfunktionen im Analogbereich aus, wodurch viele teure diskrete Komponenten erforderlich waren, wovon einige abgestimmt werden mußten, um die Schaltungsanordnung anzupassen. Ein üblicher Kosten-Leistungs-Kompromiß betrafdas Multiplexieren oder Sequenzialisieren eines oder zweier Kanäle.
- Durch Digitalisieren des GPS-Signals in der ZF-Endstufe und Durchführen aller Kanal-Signalverarbeitungsfunktionen in digitaler Weise mittels eines preiswerten CMOS-IC wurden das Leistungsvermögen eines GPS-Empfängers stark verbessert und seine Kosten reduziert. Ein solches System ist in der kürzlich eingereichten gleichzeitig anhängigen Patentanmeldung mit dem Titel "System and Method for a Digital Navigation Satellite Receiver", die hiermit durch Literaturhinweis eingefügt ist, offenbart.
- Obwohl der IC dem GPS-Empfänger wesentliche Vorteile bringt, bereitet er dennoch in seiner Herstellung, nämlich darin, preiswert zu sein und wenig Leistung zu verbrauchen, einige Probleme. Das Digitalisieren des GPS-Signals in der ZF-Endstufe erfordert den hochfrequenten Betrieb einer Signalverarbeitungseinrichtung, nämlich bei 40 bis 60 Megahertz für ein GPS-Zweiseitenbandsignal. Merkmale einer GPS-Signalverarbeitungseinrichtung, die die Leistungsfähigkeit in aggressiven Umgebungen verbessern, umfassen die Integration von eine vollständige Nullzone aufweisenden Signalen, das Anti-Spoofing, Mehrfachkorrelatoren und einen Suchprozessor für die schnelle Erfassung.
- Wenn alle diese Merkmale in einem Chip kombiniert sind, ist es sehr schwer, Ziele für den Leistungsbedarf des Bausteins zu setzen und die Gatezahl des Bausteins zu minimieren, um seine Kosten zu minimieken. Zusätzlich zu den Kosten des IC gibt es eine endliche Grenze für die Anzahl der Gates, die auf dem IC verwirklicht werden können, wodurch der Entwurf einer Schaltung, die auf einen einzelnen IC paßt, erschwert wird.
- EP-A-0 251 156 offenbart einen GPS-Empfänger mit einem herkömmlichen Funkfrequenzteil und einem eigenen digitalen Signalverarbeitungskanal für jedes der mehreren Satellitensignale, die von, dem Empfänger gleichzeitig empfangen und zur Berechnung der Position, der Geschwindigkeit oder der gewünschten Empfängerparameter verarbeitet werden. Der Funkfrequenzteil empfängt und verarbeitet beide Standard-Satellitensignale auf den unterschiedlichen L1- und L2-Frequenzträgern, um Signale für den Mehrkanal-Digitalteil zu liefern, aus denen die relative Phase der Träger jedes einzelnen der mehreren Satelliten bestimmt werden kann.
- GB-A-2 153 177 offenbart einen Empfänger für ein Navstar- Satelliten-Navigationssystem einschließlich der Verstärkung und Abwärtswandlung auf null von Frequenzen, um Signale zu erzeugen, die um 90º phasenverschoben sind. Analog-Digital- Umsetzer sind vorgesehen, um die um 90º phasenverschobenen Signale einzeln zu digitalisieren, während der Empfänger außerdem lokale digitale Codeerzeugungsmittel und Mittel, um die um 90º phasenverschobenen Signale mit denselben lokal erzeugten Codes einzeln zu korrelieren, enthält. Kanal-Signalverarbeitungsmittel sind vorgesehen, an die die Ausgänge der Korrelationsmittel gelegt werden, wobei die Verarbeitungsmittel so ausgebildet sind, daß sie den Code und die Trägerverfolgung des Empfängers steuern. Korrekturmittel, um die in den Verarbeitungsmitteln erzeugten Signale zu überwachen, sind vorgesehen, um eine Phasendrehung des Basisbandsignal-Wechselstromzeigers zu bewirken, den die um 90º phasenverschobenen Signale aufweisen, um in der Empfängerschleife die Doppler- Verfolgung auszuführen. Der Empfänger enthält digitale Daten speichermittel, die mit Daten in Form von Nachschlagtabellen, die Kombinationen der Signaleingangsbedingungen enthalten, belegt werden, Mittel, um den digitalisierten, um 90º phasenverschobenen Signale Adreßteilsignale zuzuordnen, Mittel, um zusätzliche Adreßsignale für die Speichermittel zu erzeugen, und Mittel, um als Antwort auf die Steuersignale zum Bewirken der Phasendrehungskorrektur unter Zugriff auf die Speichermittel gemäß der Adreßsignale, um ein Ausgangssignal für die Signalverarbeitungsmittel zu erzeugen, zusätzliche Adreßsignale für die Speichermittel zu erzeugen.
- Die vorliegende Erfindung sieht eine Schaltung zur digitalen Signalverarbeitung (DSP) für die Verwendung in einem GPS- Empfänger vor, wobei die DPS-Schaltung auf einer einzigen integrierten Schaltung wenigstens einen Signalverarbeitungskanal umfaßt, der Schaltungsmittel umfaßt, die ein Code-Signal von einem GPS-Satelliten verarbeitet, dadurch gekennzeichnet, daß
- darüber hinaus eine Y-Code-Erzeugungsschaltungsanordnung auf der einzigen integrierten Schaltung vorgesehen ist;
- wobei der wenigstens eine Signalverarbeitungskanal Schaltungsmittel, die wenigstens ein Signal aus der aus einem gültigen P-Code-Signal und einem gültigen Y-Code-Signal von wenigstens einem GPS-Satelliten bestehenden Gruppe verarbeiten, und eine Vielzahl von Korrelatoren umfaßt;
- ein Suchprozessor zur schnellen Signalerfassung und ein Modul zur diskreten Fouriertransformation (DFT) für die Umwandlung von Integrationsabtastwerten von Korrelatoren in eine Vielzahl von Frequenz-Bins von Abtastdaten vorgesehen sind, wobei der Suchprozessor so ausgebildet ist, daß er zwischen den Frequenz-Bins interpoliert, um eine Vielzahl zusätzlicher Bins zu erzeugen.
- Alle obenerwähnten Hochleistungsmerkmale konnten in einem einzigen IC, der kurz beschrieben wird, integriert werden, wobei der IC zwei komplette GPS-Signalverarbeitungskanäle und einen Suchprozessor für die schnelle Erfassung enthält.
- Um diesen Hochleistungsanforderungen zu genügen, wurde eine spezielle Addierer/Akkumulator-Architektur zur schnellen Abtastwertintegration, die mit Vollnullzonen-Störungsbeseitigungstechniken kompatibel ist, entworfen. Eine ähnliche Architektur reduziert außerdem die Gatezahl in den digitalen Träger- und Codetaktoszillatoren.
- Außerdem wurde eine Architektur für Korrelatoren entworfen, die den Leistungsbedarf und die Gatezahl wesentlich reduziert. Diese Architektur unterstützt ebenfalls die vollständige Nullzone und ein Merkmal, das als "Nachbarkorrelator-Vorsummierung" bezeichnet wird.
- Schließlich wurde eine digitale Oszillatorarchitektur implementiert, die bei einem mit der hohen Frequenz zwischen 40 und 60 Megahertz synchronen Betrieb den Hauptanteil der Schaltungsanordnung bei einem Achtel dieser Frequenz taktet, wodurch der Leistungsbedarf gesenkt wird.
- Demgemäß ist ein technischer Vorteil des IC der, daß ein Addierer/Akkumulator vorgesehen ist, der die vollständige Nullzone unterstützt und den Leistungsbedarf wesentlich reduziert.
- Ein weiterer technischer Vorteil des IC besteht darin, daß eine GPS-Empfängerschaltung zum Bereitstellen eines digitalen Oszillators einen Addierer/Akkumulator mit geringer Gatezahl verwendet wird.
- Ein weiterer technischer Vorteil des IC besteht darin, daß ein hochgenauer digitaler Oszillator mit geringem Leistungsbedarf vorgesehen ist, dessen Ausgangssignal mit einem sehr schnellen Takt synchron ist.
- Ein weiterer technischer Vorteil des IC besteht darin, daß ein kompletter autonomer Suchprozessor, der einen Achtpunkt-DFT- und Tong-Erkennungsalgorithmus ausführt, enthalten ist, der einen einzelnen Kanal oder beide Kanäle während Suchvorgängen steuern kann.
- Ein weiterer technischer Vorteil des IC besteht darin, daß er zwei Kanäle umfaßt, wovon jeder L1- oder L2-P- oder Y-Codes und
- - C/A-Codes gleichzeitig verfolgen kann, und daß die Y-Code- Erzeugungsfunktion im IC enthalten ist.
- Ein besseres Verständnis der vorliegenden Erfindung kann durch Bezugnahme auf die genaue Beschreibung und auf die einzelnen Ansprüche erlangt werden, wenn diese im Zusammenhang mit der begleitenden Zeichnung gesehen werden, in der gleiche Bezugszeichen gleiche Merkmale angeben, wobei in der Zeichnung:
- die Fig. 1 und 2 Blockschaltbilder des Systems zeigen,
- Fig. 3 einen digitalen Addierer/Akkumulator-Oszillator im Stand der Technik zeigt,
- Fig. 4 die für den Codetakterzeuger ergriffene Lösung zeigt, die Fig. 5, 6 und 7 Zustandsdiagramme des Codetakterzeugers zeigen,
- Fig. 8 den Betrieb der Zustandsmaschine im Zusammenhang mit dem Frequenzplan zeigt,
- Fig. 8A die drei höchstwertigen Bits des Phasenworts als Funktion von S zeigt,
- Fig. 9 die operationelle Leistung des Codetakterzeugers hervorhebt,
- Fig. 10 ein Blockschaltbild des Trägererzeugers zeigt,
- Fig. 11 das Zustandsdiagramm des Trägererzeugers zeigt,
- Fig. 12 die operationelle Leistung des Trägererzeugers hervorhebt, ·
- Fig. 13 die frequenzabhängige Phasenvorgabe (phase bias) zeigt,
- Fig. 14 die dreißig größten Phaseneinstellgenauigkeitsanomalien zeigt,
- die Fig. 15, 16 und 17 die Phaseneinstellgenauigkeitsanomalien des Codetakterzeugers zeigen,
- die Fig. 18 und 19 den Phasenbereich jedes Zustands des Codetakterzeugers zeigen,
- Fig. 20 das Gleiche für den Trägererzeuger zeigt,
- Fig. 21 die nichtorthogonalen Achsen für den Trägererzeuger zeigt,
- Fig. 22 die Phaseneinstellgenauigkeitsanomalien des Trägererzeugers zeigt,
- Fig. 23 den Stand der Technik für einen 6-Bit-Addierer/Akkumulator zeigt,
- Fig. 24 ein Blockschaltbild des speziellen Addierers/Akkumulators zeigt,
- die Fig. 25 bis 28 zeigen, wie ein spezieller Addierer/Akkumulator aufgebaut ist,
- Fig. 29 ein Blockschaltbild des dazwischengeschalteten Korrelatormoduls zeigt,
- die Fig. 30 und 31 die für diesen Addierer/Akkumulator erforderlichen Impulserzeuger zeigt,
- die Fig. 32 bis 35 gültige Eingaben für diesen Addie rer/Akkumulator aufzeigen,
- Fig. 36 eine spezielle Zelle zeigt, die geschaffen wurde, um eine ausgeglichene Anstiegs- und Abfallzeit zu erzielen,
- Fig. 37 die spezielle Addierer/Akkumulator-Zelle zeigt,
- Fig. 38 einen 4-Bit-Addierer/Akkumulator mit Übertrag zeigt, die Fig. 39a und 39b den Addierer/Akkumulator mit Signalspeichern zeigt,
- Fig. 40 ein Blockschaltbild des nachgelagerten Korrelatormoduls zeigt,
- Fig. 41 zeigt, wie die acht komplexen Addierer/Akkumulatoren aufgebaut sind,
- Fig. 42 zeigt, wie der Impulscodierer arbeitet,
- Fig. 43 eine detaillierte Schaltung des Abtastwertakkumulators zeigt,
- Fig. 44 die Nachbarkorrelator-Vorsummierung beschreibt,
- Fig. 45 die Leistung ohne Korrelator-Vorsummierung zeigt und
- Fig. 46 die Leistung bei Korrelator-Vorsummierung zeigt.
- Der P-Code-Kanal auf einem Chip (PCOAC) der vorliegenden Erfindung ist eine integrierte Schaltung mit einem Zweikanal- GPS-Signalprozessor. Ein 95-Stifte-Keramik-Stiftgitter-Array (PGA) enthält das 348/300-Transistor-CMOS-Gate-Array. Die Hauptmerkmale umfassen: zwei unabhängige GPS-Kanäle, einen Suchprozessor für eine verbesserte Erfassungszeit, einen eingebetteten Y-Code-Erzeuger, die Systemsynchronisations steuerung und eine 16-Bit-Prozessorschnittstelle.
- Fig. 1 zeigt ein Blockschaltbild des PCOAC 10. Nicht benutzte Funktionen können ausgeschaltet werden, um einen hohen Gräd an Leistungsreserve für Anwendungen zu ermöglichen, in denen der Leistungsbedarf und/oder die Wärmeabstrahlung von Bedeutung ist.
- Jeder Kanal der Schaltung 10 ist eine dedizierte Signalverarbeitungsschaltung, die den Code und den Träger eines GPS- Signals demoduliert und eine Vorauserkennungsintegration ausführt. Jeder Kanal enthält einen Codetakterzeuger 103 (104), einen P- und C/A-Code-Erzeuger 105 (106), einen L1/L2- Trägererzeuger 109 (110), acht Korrelatoren 111, 113, 115, 117 (112, 114, 116, 118) und einen Rauschmesser 119 (120). Für jeden der acht Korrelatoren kann zwischen einem C/A-Code- Betrieb und einem P-Code-Betrieb gewählt werden. Ein beiden Kanälen gemeinsamer Y-Code-Erzeuger 108 erzeugt den Y-Code º unabhängig für beide Kanäle.
- Der Suchprozessor 123 und die diskrete Fouriertransformation (DFT) 124 verbessern die Signalerfassungseigenschaften. Die DFT unterteilt die Abtastwertintegrationsdaten in sieben Frequenz- Bins. Der Suchprozessor 123 interpoliert zwischen diesen sieben Frequenz-Bins, um sechs zusätzliche Frequenz-Bins zu erhalten, womit insgesamt dreizehn Frequenz-Bins pro Korrelator erzeugt werden. Der Suchprozessor führt einen Tong- Erfassungsalgorithmus über alle acht Korrelatoren für jedes der dreizehn Frequenz-Bins aus, was zu einer gleichzeitigen Suche von 104 Such-Bins pro Kanal führt.
- Der PCOAC 10 unterstützt drei Frequenzpläne, nämlich den Betrieb bei 57,7920 MHz, 40,9216 MHz und 40,9200 MHz. Verschiedene programmierbare Takte/Unterbrechungen 130 sind vorgesehen, um den Hauptprozessor auf den PCOAC-Betrieb zu synchronisieren. Verschiedene Unterbrechungsschemata wurden entworfen, um zwischen der Systemleistung, den Prozessordurchsatzanforderungen und dem Umfang der Software einen Kompromiß zu finden.
- Es wird eine Standard-16-Bit-Prozessorschnittstelle 131 eingesetzt. Um den Schreib/Lese-Overhead für den PCOAC zu minimieren, werden die Abtastwerte zwischengespeichert 121 (122), wobei das Speicherabbild so ausgebildet ist, daß während den normalen Verfolgungsvorgängen zur Aktualisierung des Kanals lediglich ein Verschieben von Blöcken erforderlich ist.
- Fig. 2 ist ein Blockschaltbild der allerwichtigsten Module, die die elektrische Seite des Kanals A (11) des PCOAC 10 bestimmen:
- Das Basisbandmodul 130 erzeugt verschiedene globale Takte zur Systemsynchronisation;
- das Kanalsynchronisationsmodul 101 erzeugt sämtliche für einen einzelnen Kanal spezifischen Takte und Synchronisationsimpulse;
- das Codeerzeugungsmodul 21 enthält einen programmierbaren Codetakterzeuger, P-Code- und C/A-Code-Erzeuger/Einsteller und eine P-Code- und C/A-Code-Zustandsvorziehung und -verzögerung;
- das Y-Code-Modul 108 wandelt für beide Kanäle gleichzeitig, selbst während des Vorziehens des Zustands den P-Code in einen Y-Code um;
- das vorgelagerte Korrelatormodul 210 stellt die L1- oder L2- Trägererzeugung, einen Trägermischer, ein P-Code und C/A-Code- Verzögerungs-Schieberegister (zur Erzeugung von acht Codephasen), Codemischer, eine Datenlöschung und die Rauschmesser-Signalauswahl bereit;
- das dazwischengeschaltete Korrelatormodul 202 verwirklicht die erste Stufe der Abtastwertintegration für acht komplexe Korrelatoren und einen Rauschmesser;
- das nachgelagerte Korrelatormodul 203 verwirklicht die letzte Stufe der Abtastwertintegration und führt außerdem die Rausch messung zur Unterstützung der Suche und der Verfolgung aus (einmal pro Kanal);
- der I-RAM 204 und der Q-RAM 205 sind zwei 64 · 16-Bit-RAM mit 3 Anschlüssen pro Kanal zur Abtastwertintegrationspeicherung oder zum Halten von Zwischenwerten für die DFT-Berechnung;
- das DFT-Modul 124 (DFT = diskrete Fouriertransformation) 124 wandelt die Integrationsabtastwerte aller Korrelatoren beider Kanäle in sieben Frequenz-Bins von Abtastdaten für Suchvorgänge um;
- das Suchprozessormodul 206 interpoliert aus den vom DFT-Modul gelieferten Frequenz-Bins sechs zusätzliche Frequenz-Bins, führt die Tong-Erfassung über alle dreizehn Daten-Frequenz-Bins aus und verzögert den Codezustand, bis ein Signal gefunden wird;
- der Suchprozessor-RAM 207 ist ein 64 · 16-Bit-RAM mit drei Anschlüssen, die vom Suchprozessor während der Suche oder Zwischenspeicherung der Rauschmeßwerte während der Verfolgung als Halteregister für aktive Tong-Zählwerte verwendet werden;
- das Prozessorschnittstellenmodul 131 verwirklicht die Adreßdecodierung zur Erzeugung interner Lese- und Schreibhinweissignale, die Steuerung der Integrationsabtastwert-Zwischenspeicherung, einen programmierbaren Ringoszillator zur Prüfung und verschiedene andere Funktionen.
- Um kurz abzuschweifen, zum Empfangen von Streuspektrumsignalen wie etwa in einem GPS-Empfänger ist es erforderlich, das von der Signalquelle (d. h. dem Satelliten) erzeugte Signal sehr genau abzugleichen. In einem GPS sind zwei genau steuerbare digitale Oszillatoren pro Kanal, einer zum Abgleichen der Codefrequenz (nominell 10,23 MHz) und einer zum Abgleichen des endgültigen ZF-Trägers (je nach Empfängerkonfiguration zwischen 10,1 und 15,1 MHz), erforderlich. Um die Nyquist-Abtastkriterien zu erfüllen, tastet der PCOAC die Eingangssignale bei über 40 MHz (je nachdem, welcher Frequenzplan im Empfänger implementiert ist, bis zu 57,792 MHz) ab.
- Fig. 3 zeigt den einfachsten Weg (Stand der Technik) zur Implementierung eines hochgenauen digitalen Oszillators, dessen Ausgabe mit einem schnellen Takt synchron ist. Die Schaltung verwendet einen ladbaren Addierer/Akkumulator 303, 304 und 305, die je nach Erfordernissen als Pipeline betrieben werden (überlappende Verarbeitung). Diese Lösung wurde in einem einzigen C/A-Kanal auf einem zuvor entwickelten Chip angewandt.
- Da diese Einrichtung Eingangssignale bei lediglich 12,799 MHz abtastete, wurde mehr Wert auf die Gatezahl als auf den Leistungsbedarf gelegt. Wenn auf dem PCOAC jedoch ein Addierer/Akkumulator mit der angemessenen Genauigkeit (32 Bits) bei 57,792 MHz betrieben wird, benötigt dieser 150 mW an Leistung. Da auf dem PCOAC vier solcher Addierer/Akkumulatoren (zwei pro Kanal) erforderlich sind, wäre die von diesen digitalen Oszillatoren benötigte Leistung 600 mW.
- Bei Anwendung einer innovativen Niedrigleistungslösung verbraucht jeder digitale Oszillator im PCOAC im Mittel nur 43 mW bei 57,792 MHz mit einer Ersparnis von insgesamt 428 mW pro PCOAC oder insgesamt 1,3 W in einem Sechskanalempfänger. Anders als die Lösung eines digitalen Oszillators mit Addierer/Akkumulator begrenzt diese Lösung die Ausgangsfrequenz des digitalen Oszillators auf einen beschränkten Bereich um die Mittenfrequenz. Je schmaler dieser Bereich ist, desto mehr Leistung kann gespart werden. Außerdem erfordert diese Lösung etwas mehr Gates als die herkömmliche Lösung (ungefähr 5 bis 30 Prozent, je nach Anzahl der Bits für die Genauigkeit und anderen Entwurfsmerkmalen).
- Wie in den Fig. 4 und 10 gezeigt wird, wird diese Lösung im PCOAC für den Codetakterzeuger 103 (Fig. 4) und den Trägererzeuger 109 (Fig. 10) angewandt. Diese Lösung wird aus Gründen der Vereinfachung der Schaltung zum Teil näherungsweise verwirklicht; wodurch bestimmte Phasengenauigkeitsanomalien verursacht werden. Außerdem erzeugt der Trägererzeuger zwei um 90º verschobene 2-Bit-Ausgangssignale. Diese 2-Bit-Ausgangssignale führen zu zusätzlichen Phasengenauigkeitsanomalien.
- Der in Fig. 4 gezeigte Codetakterzeuger 130 ist so beschaffen, daß er einen P-Code-Takt mit einer Nennfrequenz von 10,2300 MHz erzeugt. Die Phase und die Frequenz des P-Code-Takts sind über die Prozessorschnittstelle 131 (Fig. 1) und die Signal- Bitspeicher 3904, 3905, 409 programmierbar.
- Fig. 9 zeigt den Frequenzbereich, die Frequenzgenauigkeit und die Phasengenauigkeit für die drei Referenztaktfrequenzen des PCOAC 10.
- Das Codetaktausgangssignal wird erzeugt, indem der Referenztakt durch einen programmierbaren nicht ganzzahligen Divisor geteilt wird. Beispielsweise wird im 57,792-MHz-Plan der Referenztakt durch 5,649266862 geteilt, um einen Codetakt mit einer Frequenz von 10,23 MHz zu erzeugen. Um den Leistungsbedarf zu minimieren, ist der Codetakterzeuger so entworfen, daß er mit minimalem Schaltungsaufwand bei der Referenztaktfrequenz arbeitet. Der größte Teil der Codetakterzeuger-Schaltungsanordnung wird bei einem Achtel der Referenztaktfrequenz betrieben. Der Gewinn durch den geringen Leistungsbedarf führt bei bestimmten Frequenzen zu einem Abstrich in der Güte der Phasengenauigkeit.
- Die Zustandsmaschine 408, die bei der Referenztaktfrequenz arbeitet, erzeugt das endgültige Codetaktausgangssignal. Sie teilt den Referenztakt im Zeitmittel durch den gewünschten Divisor. Mit jeder aktiven Flanke des Referenztakts zieht die Zustandsmaschine die Phase des Codetakts um eine festgelegte Gradzahl vor. Ein Eingang der Zustandsmaschine für den Übertrag modifiziert die Gradzahl, um die der Codetakt mit einer gegebenen aktiven Referenztaktflanke vorgezogen wird.
- Fig. 8 zeigt für jeden der drei Frequenzpläne die Gradzahl, um die die Codetaktphase mit jedem Referenztakt vorgezogen wird, und die Gradzahl als Folge eines Übertrags. Diese Zustandsmaschine wird ferner in den Fig. 5, 6 und 7 jeweils für den 57,792-MI-12-Plan, den 40,9216-MHz-Plan und den 40,9200-MHz-Plan gezeigt. Die jeder Referenztaktperiode und jedem Übertrag zugeordnete Phasenvoreilung und die Häufigkeit der Überträge bestimmt die mittlere Frequenz des Codetaktausgangssignals.
- Zurück zu Fig. 4 (oder Fig. 10), der 32-Bit-Addierer/Akkumulator 3901 bestimmt die Häufigkeit der Übertragseingabe in die Zustandsmaschine. Der 32-Bit-Addierer/Akkumulator wird alle acht Referenztaktteinmal getaktet. Jedesmal, wenn er getaktet wird,, wird ein vom Hauptprozessor geliefertes Frequenzwort zu dem im Akkumulator gehaltenen Wert addiert.
- Jedesmal, wenn der Akkumulator überläuft, wird ein Übertragssignal an die Zustandsmaschine erzeugt. Somit wird die Häufigkeit der Überträge wie folgt berechnet:
- (1) FÜbertrag = Fref/8 · FW/2³²,
- wobei FÜbertrag die Häufigkeit der Überträge ist, Fref die Referenztaktfrequenz ist und FW das vom Hauptprozessor gelieferte 32-Bit-Frequenzwort ist. º
- Die mittlere Frequenz des Codetaktausgangssignals wird wie folgt berechnet:
- wobei PAref die Phasenvoreilung pro Referenztakt ist und PAÜbertrag die Phasenvoreilung pro Übertrag ist (siehe Fig. 8). Das Auflösen dieser Gleichung nach dem Frequenzwort (FW) ergibt die folgenden Gleichung:
- Die Übertragsverzögerungsschaltung 407 verbessert die momentane Phasenauflösung und verkleinert die frequenzabhängige Phasenvorgabe. Jeder Übertrag wird um eine Anzahl von Referenztakten gegenüber dem Zeitpunkt, in dem der Addierer/Akkumulator überläuft, verzögert, die davon abhängt, um wieviel der Addierer/Akkumulator überläuft. Idealerweise sollte der Übertrag verzögert werden um:
- (4) DÜbertrag = INT (8 · (1 - AW/FW)),
- wobei AW der Wert des Worts in dem Akkumulator, wenn er überläuft, ist und DÜbertrag die Anzahl der Referenztakte zur Verzögerung des Übertrags ist. Dies Lösung bewirkt, daß ein Übertrag acht Referenztakte später auftritt, als er in einem herkömmlichen digitalen Oszillator mit Addierer/Akkumulator auftreten würde. Diese Lösung entspricht der idealen Leistung eines digitalen Oszillators, dessen Addierer/Akkumulator mit der Referenztaktfrequenz betrieben wird, verbraucht jedoch weniger Leistung, da sein Addierer/Akkumulator bei einem Achtel der Referenztaktfrequenz arbeitet.
- Ein Implementieren der obenbeschriebenen Übertragsverzögerung wäre schwierig, und deshalb wird eine Näherung verwirklicht. Die näherungsweise Einrichtung verzögert den Übertrag gemäß der folgenden Gleichung:
- (5) DÜbertrag = 8 - INT (AW/2²&sup9;),
- wobei DÜbertrag die Anzahl der Referenztakte ist, um die der Übertrag verzögert wird. Der Grund dafür, daß diese Näherung für den gesamten Bereich des Frequenzworts nicht genau ist, liegt darin, daß der im Akkumulator verbliebene Wert nach einem Übertrag nie größer ist als das Frequenzwort, wodurch der Bereich der Referenztaktperioden, um die der Übertrag verzögert wird, begrenzt ist.
- Wenn sich das Frequenzwort null nähert, ist die Übertragsverzögerung stets acht; jedoch erfolgen die Überträge seltener, und die Phasenvorgabe nähert sich deshalb null. Wenn sich das Frequenzwort 232-1 nähert, erfolgen die Überträge häufiger, jedoch nähert sich die Übertragsverzögerung der korrekten Anzahl von Referenztaktperioden. Dies wird durch Substituieren von 232 für FW in der Gleichung, die den idealen Übertragsverzögerungsalgorithmus zeigt, wie folgt nachgewiesen:
- (6) DÜbertrag = INT (8 · (1 - AW/2³²))
- = INT (8 - AW/2²&sup9;)
- = 8 - INT (AW/2²&sup9;)
- Die durch Approximierung der Übertragsverzögerung bewirkte Phasenvorgabe als Funktion des Frequenzworts ist gegeben durch:
- wobei PBcda die Phasenvorgabe als Ergebnis der Übertragsverzögerungsapproximierung ist. Fig. 13 stellt diese Vorgabe dar.
- Diese Phasenvorgabe verschlechtert die Leistung der geregelten Verfolgung nicht. Jedoch kann es notwendig sein, das Messen der absoluten Phase eines Signals (beispielsweise, um eine Präzisionszeitmarke zu erzeugen) oder das Messen der relativen Phase zwischen zwei Signalen in Betracht zu ziehen, wenn die Differenz zwischen ihren Dopplern groß ist.
- Um die anfängliche Phase des Codetakts einzustellen, liefert der Hauptprozessor den anfänglichen Zustand der Zustandsmaschine und den anfänglichen Wert der dreizehn höchstwertigen Bits des Akkumulators. Die restlichen neunzehn Bits des Akkumulators werden auf null gesetzt, wenn eine neue Codephase einwirkt.
- Da die Zustandsmaschine entweder sechs oder acht diskrete Zustände besitzt, repräsentiert jeder Zustand einen Phasenbereich. Da der Zustand 1002 der Zustand ist, in dem das Takt ausgangssignal von null auf eins wechselt, repräsentiert dieser Zustand eine mittlere Phase von null Grad. Der Phasenbereich, den dieser Zustand repräsentiert, geht von -30 bis +30 Grad für den 57,792-MHz-Plan und von -22,5 bis +22,5 Grad für die 40,9216- und 40,9200-MHz-Pläne.
- Die Fig. 18 und 19 zeigen den Phasenbereich jedes Zustands jeweils für den 57,792-MHz-Plan und die 40,9216- und 40,9200- MHz-Pläne. Mit anderen Worten, die momentane Phase ist abhängig vom Zustand, den die Zustandsmaschine einnimmt, und vom Wert, der im Akkumulator gehalten wird. Unter der Annahme, daß der im Akkumulator gehaltene mittlere Wert 231 (die Hälfte des Maximalwerts) ist, wird die Phase durch die folgende Gleichung ausgedrückt:
- wobei Pcdclk die Codetaktphase ist, NS die Anzahl der Zustände in der Zustandsmaschine ist, S der Zustand der Zustandsmaschine ist und AW der Wert des Worts im Akkumulator zu einem beliebigen Zeitpunkt ist. S = 0 ist als derjenige Zustand definiert, bei dem der Codetakt auf Hochpegel geht, während alle übrigen Zustände gegen den Uhrzeigersinn aufsteigend numeriert werden (siehe Fig. 5, 6 und 7).
- Für eine gewünschte Phase kann das vom Hauptprozessor gelieferte Phasenwort aus den folgenden Gleichungen berechnet werden. Der Anfangszustand der Zustandsmaschine, S. wird mit Hilfe der folgenden Gleichung berechnet:
- wobei NS die Anzahl der Zustände in der Zustandsmaschine ist, Pcdclk die gewünschte Codetaktphase (die positiv sein muß) ist und S der Zustand ist, mit der die Zustandsmaschine initialisiert werden muß. Nach der Berechnung von S wird AW mit Hilfe der folgenden Gleichung berechnet:
- wobei PAÜbertrag die Phasenvoreilung pro Übertrag ist (siehe Fig. 8) und AW der Wert ist, mit dem der Addierer/Akkumulator initialisiert werden muß. In dieser Gleichung wird acht hinzugezählt, um den Wert des Ausdrucks auf einen positiven Wert zu bringen, bevor das Modulo gebildet wird. Das Phasenwort, das der Hauptprozessor ausgeben muß, hängt vom Anfangszustand der Zustandsmaschine, S. und vom Anfangszustand des Addierers/Akkumulators, AW, ab. Die drei höchstwertigen Bits des Phasenworts bestimmen den Anfangszustand der Zustandsmaschine.
- Fig. 8A zeigt den Wert der drei höchstwertigen Bits des Phasenworts in Abhängigkeit von S für sämtliche Einstellungen. Dieser wird direkt aus den Fig. 5, 6 und 7, die die Zuordnungen von Zuständen an die Zustandsmaschine für jeden Frequenzplan zeigen, hergeleitet. Die dreizehn niedrigstwertigen Bits des Phasenworts bestimmen den Anfangszustand der dreizehn höchstwertigen Bits des Addierers/Akkumulators; die restlichen Akkumulatorbits werden auf null gesetzt. Die folgende Gleichung zeigt den Wert der dreizehn niedrigstwertigen Bits des Phasenworts als Funktion von AW:
- Ein direkterer Weg zur Berechnung des Phasenworts beruht in der Anwendung einer einfachen Gleichung und in der anschließenden. Modifikation des Ergebnisses entsprechend den Bedürfnissen. Die Gleichung lautet:
- Danach wird das Ergebnis wie folgt modifiziert:
- - Wenn PAÜbertrag < 0, dann PW = PW EXOR 8191 (invertiere die 13 niedrigstwertigen Bits)
- - Wenn NS = 6 und PW ≥ 24576, dann PW = PW + 8192
- Dies ergibt das endgültige vom Hauptprozessor auszugebende Phasenwort.
- Während der Entwicklung dieser Erfindung stellte sich das Problem heraus, daß die Phase nicht immer endgültig einstellbar war. Es treten Phasengenauigkeitsanomalien auf, die von der Frequenz abhängen, auf die der digitale Oszillator eingestellt ist. Eine Schilderung dieses Problems folgt.
- Die mittlere Phase des Codetakts wird unter der Annahme berechnet, daß der mittlere Wert des Addierers/Akkumulators während einer Abtastwertintegrationsperiode die Hälfte des maximal möglichen Werts beträgt (eine vorläufige Annahme). Dies stimmt nicht in allen Fällen. Die Codetaktphase wird mit Hilfe der folgenden Gleichung für alle Fälle aktuell berechnet:
- wobei AA der mittlere Wert des Addierers/Akkumulators für eine Abtastwertintegrationsperiode ist.
- Der mittlere Wert des Addierers/Akkumulators für eine Abtastwertintegrationsperiode ist vom Frequenzwort und dem Anfangszustand des Addierers/Akkumulators abhängig und wird mit Hilfe der folgenden Gleichung berechnet:
- wobei N die Anzahl der Zeitpunkte ist, in denen der Addierer/Akkumulator in einer Abtastwertintegrationsperiode inkrementiert wird.
- Für die meisten Frequenzworte liegt der Addierer/Akkumulator- Mittelwert, da N nach unendlich geht, sehr nahe bei 2³¹ und wird durch den Addierer/Akkumulator-Anfangswert (AW) nicht beeinflußt. Jedoch führen spezifische Frequenzworte dazu, daß der Addierer/Akkumulator-Mittelwert von dem Addierer/Akkumulator-Anfangswert abhängt. Wenn dies eintritt, tritt eine Phasengenauigkeitsanomalie auf.
- Die Frequenzworte, die eine Phasengenauigkeitsanomalie hervorrufen, und der Grad, mit dem diese verursacht wird, können wie folgt bestimmt werden:
- 1) So weit wie mögliches Auflösen des folgenden Bruchs:
- (15) n/d = FW/2³²
- wobei n der Dividend des gekürzten Bruchs ist und d der Divisor des gekürzten Bruchs ist.
- 2) Die Phasengenauigkeit wird durch die folgende Gleichung berechnet:
- wobei PStby die Phasengenauigkeit ist und NS die Anzahl der Zustände in der Zustandsmaschine ist.
- Wenn das Frequenzwort beispielsweise null (n = 0 und d = 1) ist, behält der Addierer/Akkumulator seinen Anfangszustand für die gesamte Abtastwertintegrationsperiode, und somit AA = AW. Wenn AW für AA in der Gleichung 14 substituiert wird, dann ist die Codetaktphase nicht mehr vom Addierer/Akkumulator-Anfangswerts, sondern nur noch vom Anfangszustand der Zustandsmaschine abhängig. Dies führt zu einer Phasengenauigkeitsanomalie, die, wenn das Frequenzwort null ist, keine Phasengenauigkeit mit einer feineren Auflösung als 360 geteilt durch die Anzahl der Zustände in der Zustandsmaschine erlaubt (45º für die 40,9200- und 40,9216-MHz-Pläne und 60º für den 57,792-MHz-Plan).
- Andere Frequenzworte führen zu einer endlichen Anzahl geradzahliger diskreter Addierer/Akkumulator-Werte. Wenn das Frequenzwort beispielsweise 231 (n = 1 und d = 2) ist, dann ist der im Addierer/Akkumulator gehaltene Wert stets einer der beiden Werte:
- (17) AW oder MOD (AW + 2³¹, 2³²)
- In diesem Fall ist der Mittelwert des Addierers/Akkumulators:
- Folglich tritt eine weitere Phasengenauigkeitsanomalie auf, wenn das Frequenzwort 231 ist, mit der Phasengenauigkeit:
- (22,5º für die 40,9200- und 40,9216-MHz-Pläne und 30º für den 57,792-MHz-Plan).
- Fig. 14 zeigt die Phasengenauigkeit für alle Werte von d, die eine Phasengenauigkeit von 2 Grad oder mehr ergeben.
- Die Fig. 15, 16 und 17 zeichnen diese Phasengenauigkeitsanomalien auf, wobei der normale Betriebsbereich des Codetakterzeugers für den 57,792-MHz-Plan, den 40,9216-MHz-Plan bzw. den 40,9200-MHz-Plan darüber angeordnet ist. Werte von d, die keine Vielfache von 2 sind, sind nicht exakt erzielbar; da jedoch die Abtastwertintegrationsperiode nicht unendlich ist, sind Werte für d, die keine Vielfache von 2 sind, effektiv erzielbar.
- In Fig. 10 erzeugt der Trägererzeuger 109 eine gleichphasige (I) und eine um 90º phasenverschobene Kopie des L1- oder L2- Zwischenfrequenz-(ZF)-Trägersignals. Das als Träger bezeichnete Ausgangssignal des Trägererzeugers wird synchron mit dem Referenztakt erzeugt. Die gleichphasigen (I) und um 90º phasenverschobenen Anteile des Trägers sind jeweils zwei Bits. Die Phase und die Frequenz des Trägers sind über den Hauptprozessor programmierbar.
- Fig. 12 zeigt den Frequenzbereich, die Frequenzgenauigkeit und die Phasengenauigkeit für die drei durch den PCOAC unterstützten Referenztaktfrequenzen.
- Der Träger wird unter Anwendung desselben Prinzips, wie es zur Erzeugung des Codetakts angewandt wird, erzeugt. Die Zustandsmaschine für den Trägererzeuger arbeitet unter Anwendung desselben Prinzips wie bei der Codetakterzeuger-Zustandsmaschine. Die Zuordnung der Zustände für den Trägererzeuger ist für alle drei vom PCOAC unterstützten Frequenzpläne dieselbe. Die Trägerphase eilt pro Referenztakt um 90º und entweder um +45º oder -45º pro Addierer/Akkumulator-Übertrag vor. Die 45º- Phasenvorziehung oder Verzögerung pro Übertrag (PAÜbertrag) wird durch ein H/L-Frequenzsteuerbit gesteuert.
- Fig. 11 zeigt das komplexe Trägerausgangssignal in Abhängigkeit vom Zustand. Es ist anzumerken, daß die Zustandsmaschine für jeden Zustand für jeden Anteil des komplexen Trägers eine 2- Bit-Zahl erzeugt. Diese zwei Bits können -2, -1, +1 oder +2 sein. Der Hauptprozessor kann ein Bit setzen, das die Ausgabe auf +1 und -1 scharf begrenzt. Der phasenverschobene Träger eilt dem gleichphasigen Träger um 90º nach.
- Der Addierer/Akkumulator für den Trägererzeuger ist genau derselbe wie für den Trägererzeuger.
- Die Mittenfrequenz des Trägerausgangssignal wird wie folgt berechnet:
- wobei FTräger die Mittenfrequenz des Trägers ist, Fref die Referenztaktfrequenz ist, FW das vom Hauptprozessor gelieferte 32-Bit-Frequenzwort ist und PAÜbertrag die Phasenvoreilung pro Übertrag (+45º oder -45º) ist.
- Die Übertragsverzögerungsschaltung für den Trägererzeuger ist dieselbe wie diejenige für den Codetakterzeuger. Die durch diese Verzögerungsschaltung bewirkte frequenzabhängige Phasenvorgabe wird in gleicher Weise wie für den Codetakterzeuger berechnet. Die Trägerphase wird in der gleichen Weise wie die Codetaktphase gesteuert.
- Die Zustandsmaschine besitzt acht Zustände. Jeder Zustand repräsentiert einen Phasenbereich von 45 Grad. Der Zustand 000 weist eine mittlere Phase von 22,5 Grad auf. Der Phasenbereich, den er repräsentiert, geht von 0 bis +45 Grad. Fig. 20 zeigt den Phasenbereich für jeden Zustand. Unter der Annahme, daß der im Akkumulator gehaltene mittlere Wert 231 ist (die Hälfte des maximalen Werts), läßt sich die Trägerphase durch folgende Gleichung ausdrücken:
- wobei PTräger die Trägerphase ist, S der Zustand der Zustandsmaschine ist, wie er in Fig. 11 definiert wird, und AW der momentane Inhalt des Addierers/Akkumulators ist.
- Der Hauptprozessor bestimmt den Anfangszustand der Zustandsmaschine und die dreizehn höchstwertigen Bits des Akkumulators. Für eine gewünschte Phase kann das Phasenwort aus den folgenden Gleichungen berechnet werden. Der Anfangswert der Zustandsmaschine, S. wird berechnet, indem zuerst die folgende Gleichung angdwandt wird:
- wobei PTräger die gewünschte Trägerphase ist und S der Zustand ist, mit dem die Zustandsmaschine zu initialisieren ist, wie er in Fig. 11 definiert wird. Nach der Berechnung von S wird AW mit Hilfe der folgenden Gleichung berechnet:
- wobei PAÜbertrag die Phasenvoreilung pro Addierer/Akkumulator- Übertrag (-45 oder +45 Grad) ist und AW der Wert ist, mit dem der Addierer/Akkumulator zu initialisieren ist. In dieser Gleichung wird acht hinzugezählt, um den Wert des Ausdrucks auf einen positiven Wert zu bringen, bevor das Modulo gebildet wird. Das Phasenwort, das der Hauptprozessor ausgeben muß, hängt vom Anfangszustand der Zustandsmaschine, S. und vom Anfangszustand des Addierers/Akkumulators, AW, ab. Die drei höchstwertigen Bits des Phasenworts bestimmen den Anfangszustand der Zustandsmaschine. Die dreizehn niedrigstwertigen Bits des Phasenworts bestimmen die dreizehn höchstwertigen Bits des Addierers/Akkumulators; die restlichen Akkumulatorbits werden auf null gesetzt. Die folgende Gleichung zeigt das Phasenwort als Funktion von AW:
- Ein direkterer Weg zur Berechnung des Phasenworts beruht in der Anwendung einer einfachen Gleichung und in der anschließenden Modifikation des Ergebnisses entsprechend den Bedürfnissen. Für PTräger von 0º bis 360º ausschließlich lautet die Gleichung:
- (25) PW = 2¹&sup6; · pTräger/360
- Danach wird das Ergebnis wie folgt modifiziert:
- Wenn PAÜbertrag < 0, dann PW = PW EXOR 8191 (invertiere die 13 niedrigstwertigen Bits)
- Es gibt zwei Faktoren, die zu Trägerphasengenauigkeitsanomalien beitragen, nämlich die Addierer/Akkumulator-Übertragsverzögerungsschaltung und der nicht gleichmäßige Abstand der Zustände aufgrund dessen, daß es vier Ausgangspegel gibt. Die von der Übertragsverzögerungsschaltung herrührenden Phasengenauigkeitsanomalien wurden oben beschrieben. Im folgenden werden nur die aus dem nicht gleichmäßigen Abstand der Zustände resultierenden Phasengenauigkeitsanomalien beschrieben.
- Die Trägererzeuger-Zustandsmaschine besitzt acht Zustände. Idealerweise wären diese Zustände gleichmäßig um 45º beabstandet. Da der Trägererzeuger jedoch vier Ausgangspegel (-2, -1, +1 und +2) besitzt, sind die Zustände ungleichmäßig beabstandet.
- Fig. 21 zeigt den idealen Abstand gegenüber dem wirklichen mit vier Ausgangspegeln erzielten Abstand. Wie aus der Figur ersichtlich ist, liegen vier Zustände in einer Gruppe orthogonaler Achsen, während die anderen vier Zustände in einer anderen Gruppe orthogonaler Achsen liegen. Jede Gruppe von Achsen besitzt eine zugehörige Phasenvorgabe in bezug auf den Idealfall. Die den Zuständen 0002, 0102, 1002 und 1102 zugehörige Phasenvorgabe beträgt 4,065 Grad, während die den Zuständen 0012, 0112, 1012 und 1112 zugehörige Phasenvorgabe -4,065 Grad beträgt. Es ist anzumerken, daß die Ausgaben effektiv gleichmäßig beabstandet sind, wenn die Träger-Scharfbegrenzung eingeschaltet ist, so daß das Hervorrufen dieser Phasengenauigkeitsanomalie abgeschwächt wird.
- Für die meisten Einstellungen verbringt die Zustandsmaschine während einer Integrationsperiode ungefähr die Hälfte der Zeit in jeder Gruppe von Achsen, weshalb die Vorgaben aufgehoben werden. Jedoch bewirken manche Einstellungen, daß die Zustandsmaschine eine wesentlich längere Zeit in einer Gruppe orthogonaler Achsen als in der anderen verbleibt. Die mit einer Einstellung verbundene Phasenvorgabe wird mit Hilfe der folgenden Gleichung berechnet:
- (26) PVorgabe = Pe · 8,130 - 4,065,
- wobei PVorgabe die Phase ist und Pe der Anteil der Zeit in Prozent ist, den die Zustandsmaschine während einer Integrationsperiode in einem geradzahligen Zustand (0002, 0102, 1002 und 1102) verweilt. Diese Phasenvorgabe ruft, wenn sie nicht kompensiert wird, eine Phasengenauigkeitsanomalie hervor.
- Frequenzen, die Phasengenauigkeitsanomalien verursachen, sind diejenigen, die bewirken, daß die Zustandsmaschine einen wesentlich unterschiedlichen Prozentanteil der Zeit in einer Gruppe orthogonaler Achsen als in der anderen verweilt. Die Trägererzeuger-Zustandsmaschine wechselt die Gruppe von Achsen, in der sie verweilt, nur dann, wenn der Addierer/Akkumulator überläuft. Somit sind die Frequenzworte, die diese Art von Phasengenauigkeitsanomalien hervorrufen, diejenigen, die bewirken, daß der Addierer/Akkumulator während einer ungeraden Zahl von Takten geradzahlige Male überläuft. Zum Beispiel, wenn der Addierer/Akkumulator alle fünf Takte zweimal überläuft, dann befindet sich die Zustandsmaschine während zwei von fünf Takten (40 Prozent der Zeit) in einer der Gruppe von Achsen und während drei von fünf Takten (60 Prozent der Zeit) in der anderen Gruppe von Achsen. Dies führt zu einer Phasenvorgabe von +/-0,813 Grad oder einer Phasengenauigkeitsanomalie von 1,626 Grad. Nur zwei Frequenzworte bewirken, daß diese Art einer Phasengenauigkeitsanomalie über 2 Grad liegt. Ein Frequenzwort von null bewirkt eine Phasengenauigkeitsanomalie von 4,07 Grad, während ein Frequenzwort von 2/3 · 232 eine Phasengenauigkeitsanomalie von 2,71 Grad bewirkt.
- Fig. 22 zeigt alle Phasengenauigkeitsanomalien, die mehr als 2 Grad betragen, für den Trägererzeuger als Funktion des Frequenzworts. Im oberen Abschnitt dieser Graphik ist der normale Betriebsbereich des Trägererzeugers für jede Betriebsart dargestellt.
- Von dieser entwickelten Lösung kann jedes System profitieren, bei dem der Leistungsverbrauch von Wichtigkeit ist und ein hochgenauer digitaler Oszillator erforderlich ist, dessen Ausgangssignal mit einem schnellen Takt synchron sein muß. Je mehr Bits für die Genauigkeit erforderlich sind und je höher die Frequenz des Referenztakts ist, desto größer ist die Leistungsersparnis gegenüber einer herkömmlichen Lösung eines digitalen Oszillators mit Addierer/Akkumulator.
- Fig. 29 zeigt ein Blockschaltbild eines dazwischengeschalteten Korrelatormoduls 202 (Fig. 2). Jeder der acht komplexen Korrelatoren pro Kanal im PCOAC enthält vier 6-Bit-Addierer/Akkumulatoren, zwei für die Gleichphasenakkumulationsfunktion und zwei für die 90º-Phasenverschiebungsakkumulation. Die Addierer/Akkumulatoren arbeiten paarweise, einer zur Akkumulation positiver Werte und einer zur Akkumulation negativer Werte. Zusätzlich zu den pro Kanal für die acht Korrelatoren erforderlichen 32 Addierern/Akkumulatoren sind pro Kanal zwei Addierer/Akkumulatoren erforderlich, um den Rauschmesser zu unterstützen, was insgesamt 68 Addierer/Akkumulatoren auf dem Chip, der mit bis zu 57,792 MHz betrieben wird, macht. Dadurch steigt die Verlustleistung an. Durch Anwendung asynchroner Entwurfstechniken umfaßt einer dieser Addierer/Akkumulatoren weniger als 60 Gates und verbraucht weniger als 7 mW. Ein herkömmlicher Ripple-Addierer mit einem 6-Bit-Register umfaßt ungefähr 90 Gates und verbraucht ungefähr 25 mW.
- Fig. 23 zeigt das Blockschaltbild eines herkömmlichen Addierers/Akkumulators, während Fig. 24 das Blockschaltbild des speziell entwickelten Addierers/Akkumulators zeigt. Bei 68 Addierern/Akkumulatoren bedeutet dies eine Differenz von angenähert 2.000 Gates und bei einem System mit sechs kompletten L1- und L2-Kanälen eine Differenz von ungefähr 6,8 W. Dennoch wird der PCOAC einer Umwandlung unterzogen, die weiter unten besprochen wird. Dieser Addierer/Akkumulator ist die wichtigste von vielen Entwurfsinnovationen, die den PCOAC möglich gemacht haben.
- Die Implementierung eines dazwischengeschalteten Korrelatormoduls 202 (Fig. 2) erfordert die Entwicklung von drei anwendungsspezifischen Makrozellen, die in Form einer Hardware- Makrofunktion kombiniert sind, die ICORR genannt wird. Diese drei anwendungsspezifischen Makrozellen sind:
- - der BIADD6, der obenerwähnte 6-Bit-Addierer/Akkumulator (nur Vielfache von 2)
- - der PULGENA, ein Impulserzeuger zur Ansteuerung der zwei BIADD6 für die Rauschmessungen, und
- - der PULGENB, ein Impulserzeuger zur Ansteuerung einer Gruppe aus sechzehn BIADD6, die vier Korrelatoren zugeordnet sind.
- Der BIADD6 ist ein 6-Bit-Addierer/Akkumulator, der für den Niedrigleistungsbetrieb und den Einsatz einer minimalen Anzahl von Gates entwickelt wurde. Er wurde unter Verwendung eines Ripple-Zählers 2402 mit einem booleschen Exklusiv-ODER zwischen jeder Stufe 2401 implementiert (Fig. 24).
- Fig. 25 zeigt einen Standard-6-Bit-Ripple-Zähler mit direktem Löscheingang. Fig. 26 zeigt denselben Ripple-Zähler mit einem Exklusiv-ODER mit Transfergatter 2603, 2605, 2607, 2609, 2611 zwischen jeder Stufe 2502, 2503, 2504, 2505, 2506, 2507, wobei die Eingabedaten über einen Impulseingang 2601, 2602, 2604, 2606, 2608, 2610 eingetastet werden.
- Fig. 27 zeigt das Gleiche wie Fig. 26, jedoch sind die Exklusiv-ODER mit Transfergatter durch boolesche Exklusiv-ODER 2702 und 2708 ersetzt. Diese Exklusiv-ODER werden verwendet, um in jede Stufe des Ripple-Zählers einen Impuls einzugeben. Die booleschen Exlusiv-ODER sind erforderlich, weil die verfügbaren Exlusiv-ODER mit Transfergatter einen Störimpuls erzeugen, der den Betrieb der Schaltung beeinflußt. Der Inhalt des Ripple-Zählers ist der akkumulierte Wert. Wenn der Takteingang eines der T-Flipflops, die den Ripple-Zähler enrthalten, angesteuert wird, wird der Wert 2n zum akkumulierten Wert hinzugezählt, wobei n (0 bis 5) angibt, welcher Flipflopeingang angesteuert wurde.
- Fig. 28 zeigt die endgültige Implementierung der BIADD6-Makrozelle. Die Zählvorgänge (Ripples) starten abhängig vom Zustand des vorhergehenden Flipflops mit einer der Flanken eines eingegebenen Impulses. Der kritischste Zählvorgang durch den BIADD6 erfolgt dann, wenn der BIADD6 eine 1111102 enthält und eine 2 gefolgt von einer 32 addiert werden. Wenn dies eintritt, wird das zweite Flipflop mit der abfallenden Flanke des ersten eingegebenen Impulses getaktet, während das sechste Flipflop mit der ansteigenden Flanke des zweiten eingegebenen Impulses getaktet wird. Deshalb muß der BIADD6 während der Zeit, in der der Impuls auf Tiefpegel ist (die wesentlich kleiner als eine Referenztaktperiode ist), vom zweiten Flipflop zum letzten Flipflop durchzählen. Um mehr Spielraum zu geben, werden Flipflops, die mit der negativen Flanke getaktet werden, verwendet, wobei die Impulseingabe in die letzte Stufe 2807 verzögert wird, um einem kritischen Zählvorgang mehr Zeit zuzuteilen. Außerdem wird ein Impulserzeuger verwendet, um einen kurzen Impuls mit ansteigender Flanke zu liefern, der ebenfalls mehr Zeit für den kritischen Zählvorgang schafft. Die beiden Impulserzeuger sind PULGENA und PULGENB.
- Der PULGENA ist eine anwendungsspezifische Makrozelle, die so beschaffen ist, daß sie kurze Impulse mit ansteigender Flanke für die zwei dem Rauschmesser zugeteilten BIADD6-Zellen liefert. Fig. 31 zeigt die anwendungsspezifische PULGENA-Zelle. Der Impulserzeuger arbeitet durch UND-Verknüpfung 3106 und 3107 des Referenztakts mit einer verzögerten und invertierten Version des Referenztakts 3103, 3104 und 3105 und mit dem Vorzeichenbit für den nächsten Rauschdaten-Abtastwert. Der PULGENA hat zwei Vorzeichenbits, eines, das aktiv P1 ist, und eines das aktiv L ist. Er besitzt außerdem einen Aus-Eingang, der den verzögerten Referenztakt auf L bringt, wodurch die Impulsausgänge maskiert werden. Ein großes Maß an SPICE-Simulation ist erforderlich, um sicherzustellen, daß die Breite des erzeugten Impulses nicht so schmal ist, daß sie vom BIADD6 nicht erkannt wird, jedoch stets schmal genug ist, um den kritischsten Zählvorgang durch den BIADD6 zu gewährleisten.
- Der PULGENB ist eine anwendungsspezifische Makrozelle, die so beschaffen ist, daß sie kurze Impulse mit ansteigender Flanke für sechzehn BIADD6-Zellen, die einer Gruppe von fünf Korrelatoren zugeteilt sind, liefert. Fig. 30 zeigt die PULGENB-Zelle. Zur Leistungsersparnis wird ein Impulserzeuger für sämtliche sechzehn BIADD6 verwendet. Der PULGENB wurde unter Anwendung desselben Prinzips wie beim PULGENA entworfen.
- Die Architektur der anwendungsspezifischen BIADD6-Zelle erfordert, daß bestimmte Eingänge, nämlich nur Vielfache von 2, verwendet werden.
- Fig. 32 listet die gültigen Eingänge des BIADD6 für alle Anwendungen auf.
- Fig. 33 zeigt ein Beispiel dafür, wie zwei BIADD6-Zellen verwendet werden, um gemeinsam die Hochfrequenzintegration auszuführen.
- Fig. 37 zeigt die Eingänge, die stets ungültig sind und dazu führen würden, daß der BIADD6 in einer unvorhersehbaren Weise arbeiten würde.
- Schließlich zeigt Fig. 35 die Eingänge, die abhängig von den Werten, die bereits in der BIADD6-Schaltung enthalten sind, bestimmte Ergebnisse erzeugen können. Diese Eingangswerte führen zu bestimmten Ergebnissen, wenn die folgenden zwei Kriterien erfüllt sind. Zwei benachbarte Bits des Addierers/Akkumulators dürfen während derselben Referenztaktperiode nicht addiert werden, und das einem gerade addierten Bit benachbarte niedrigwertigere Bit darf während derselben Referenztaktperiode keinen Übertrag ergeben.
- Durch geringfügige Modifikation der BIADD6-Zelle ist es möglich, einen Addierer/Akkumulator zu bilden, der nicht nur auf das Addieren von Vielfachen von 2 beschränkt ist. Zu diesem Zweck muß das Exklusiv-ODER boolescher Logik eine ausgewogene Anstiegs- und Abfallzeit besitzen, während der gesamte Akkumulator ausreichend Zeit haben muß, um zwischen den Taktflanken (sowohl die ansteigenden als auch die abfallenden Flanken sind aktiv) einzuschwingen.
- Am Ausgang dieser Exklusiv-ODER boolescher Logik treten asynchrone Impulse auf, wenn die Eingangsdaten für das Exklusiv- ODER eingetaktet werden, während das vorhergehende Flipflop einen Übertrag ergibt. Eine ausgewogene Anstiegs- und Abfallzeit des Exklusiv-ODER stellt sicher, daß dieser Impuls die Mindestanforderung für die Impulsbreite für den Flipflop erfüllt. Fig. 36 zeigt das Transistormodell des booleschen Exklusiv-ODER, das in einem zuvor experimentell entwickelten ASIC verwendet wird. Zwei P-Transistoren sind parallelgeschaltet, um die N-Transistoren in Gegentakt zu bringen. Die für den PCOAC angewandte Technologie umfaßt P- und N-Transistoren in Gegentakt, weshalb der PCOAC nur vier P-Transistoren enthält.
- Fig. 37 zeigt die für den PCOAC speziell entwickelte Addierer/Akkumulator-Zelle. Sie verwendet 2-zu-1-Multiplexer 3702 und ordnet dem Addierer/Akkumulator zwei Anschlüsse zu. Würde in ähnlicher Weise ein N-zu-1-Multiplexer verwendet, würde sich der Betrieb der Addierer/Akkumulator-Zelle auf N Anschlüsse erweitern.
- Fig. 38 zeigt, wie diese Zellen miteinander verbunden sind, so daß sie einen 4-Bit-Addierer/Akkumulator ergeben. Um das Maß an Zuverlässigkeit zu erhöhen, sind zwischen den Stufen 3701 Verzögerungen 3802, 3803 und 3804 eingebaut. Die Flipflops 3808, 3809, 3810 werden verwendet, um den Übertrag zwischen den Addierer/Akkumulator-Stufen in einer Pipeline überzuleiten.
- Fig. 39 zeigt einen 32-Bit-Addierer/Akkumulator, der durch Zusammenschalten von 4-Bit-Addierern/Akkumulatoren als Pipeline aufgebaut ist. Zurück zu Fig. 38, nach jeder vollständigen Addition wird das höchstwertige Bit 11 eines 4-Bit-Addierers/Akkumulators in das Register 3808 eingetaktet. Der für diesen Vorgang benutzte Takt 12 wird als Übertragstakt bezeichnet. Das Bit wird danach mit der entgegengesetzten Flanke des Übertragstakts in ein weiteres Register getaktet. Eine verzögerte Version des Übertragstakts 13 taktet dieses Bit ein drittes Mal ein, um es zum Übertragseingang des niedrigstwertigen Bits der, nächsten Stufe genau nach dem Beginn der Addition in dieser Stufe weiterzuleiten. Es muß eine verzögerte Version des Übergangstakts verwendet werden, um sicherzustellen, daß der Übertrag nicht zu früh eingegeben wird, wodurch die Mindestanforderung für die Impulsbreite für den höchstwertigen T-Flipflop verletzt würde.
- Dieser 32-Bit-Addierer/Akkumulator 3901 wird im PCOAC viermal, einmal pro Codetakterzeuger (Fig. 4) und einmal pro Trägererzeuger, eingesetzt. Zusätzlich verwendet ein nicht Pipelineartig aufgebauter Addierer/Akkumulator die spezielle Addierer/Akkumulator-Zelle 3701 (Fig. 37) zur Implementierung eines Teils der Suchprozessorschaltungsanordnung 206 (Fig. 2). Diese Addierer/Akkumulator-Konfiguration spart gegenüber einem herkömmlichen Addierer/Akkumulator Gates.
- Im folgenden wird die im nachgelagerten Korrelatormodul 203 aus Fig. 2 enthaltene Schaltungsanordnung besprochen. Zur Durchführung einer Vorauserkennungsintegration im nachgelagerten Korrelatormodul ist es Stand der Technik, synchrone Vor- Rückwärts-Zähler zu verwenden. In einer vorhergehenden Entwicklung wurde festgestellt, daß Ripple-Zähler verwendet werden könnten, die entweder 1 dazuzählen oder gar nicht zählen. Für jeden Korrelator würden zwei Ripple-Zähler, einer für die Gleichphasenintegration und einer für die 90º-Phasenverschiebungsintegration verwendet werden. Ein allen Korrelatoren in einem Kanal gemeinsamer separater Zähler wäre enthal ten gewesen, um zu verfolgen, wieviele Referenztakte während einer Integrationsperiode verwendet werden. Am Ende einer Integration wäre die Anzahl der Referenztakte oder die akkumulierte Vorgabe von diesem letzten, für jeden Gleichphasen- und 90º-Phasenverschiebungsintegratoren gesammelten Wert subtrahiert worden.
- Diese Schaltung mußte aus zwei Gründen modifiziert werden. Der erste Grund ist der, daß die Schaltung die vollständige Nullzone unterstützen sollte, was bedeutet, daß der Wert im Chip des demodulierten Signals nicht nur +1 oder -1 ist, sondern mehreren möglichen Eingangswerten entspricht. Zweitens wird die Nachbarkorrelator-Vorsummierung durchgeführt, um die Suche zu unterstützen, wodurch die Signal-Geräusch-Lücken zwischen den Korrelatoren beseitigt werden.
- Fig. 40 zeigt ein Blockschaltbild des nachgelagerten Korrelatormoduls 203 aus Fig. 2. Die obenerwähnten Probleme sind im Abtastwertakkumulator 4101 aus Fig. 41 gelöst. Die Überträge vom dazwischengeschalteten Korrelatormodul gehen in die Abtastwertakkumulatoren, werden unmittelbar durch 8 geteilt, 4107 und 4108, und anschließend neu getaktet, 4109, 4110, wobei eine Flankenerfassung durchgeführt wird, 4111 und 4112. Das erneute Takten erfolgt vor der Flankenerfassung, um die Gefahr zu verringern, daß ein metastabiler Zustand den endgültigen akkumuklierten Wert beeinflussen könnte. Die Impulse vom Ausgang des Flankendetektors werden codiert, 4113.
- Fig. 42 zeigt die Umsetzung der Überträge vom dazwischengeschalteten Korrelator in die Form, in die die Impulse codiert werden. Diese Impulse werden in einer Weise codiert, daß mit jedem Takt eine Vorgabe von 1 addiert wird. Die Ausgabe des Impulscodierers ist entweder nichts, ein Impuls mit dem Wert 1 oder ein Impuls mit dem Wert 2. Diese Impulse gehen in einen 22-Bit-Ripple Zähler 4114 ein, dessen erste Stufe die obenerwähnte Addierer/Akkumulator-Technik anwendet, so daß eine 1 oder eine 2 addiert werden kann. Ein separater Bezugswertakkumulator 4106 ist enthalten, der die Referenztakte verfolgt oder verfolgt, wie oft der +1-Wert addiert wird. Am Ende jeder Integration wählt ein 22-Bit-16-zu-1-Multiplexer 4104 jeden akkumulierten Wert aus und subtrahiert davon die Vorgabe mit Hilfe des Addierers 4105. Diese Werte werden in den I- und Q- RAM 204 und 205 aus Fig. 2 gespeichert. Fig. 43 zeigt die genaue Schaltungsanordnung, die zum Aufbau eines Abtastwertackumulators, wie er oben beschrieben wurde, erforderlich ist. Für Suchanwendungen verwendet der oben und auch in der obenerwähnten gleichzeitig anhängigen Patentanmeldung mit dem Titel "System and Method for a Digital Navigation Satellite Receiver" beschriebene Suchprozessor zur Suche des Signals sämtliche Korrelatoren.
- Fig. 45 zeigt den relativen Signal-Geräusch-Abstand als Funktion des Codefehlers bzw. wie dieser davon abhängt, wie weit das ankommende Signal von dem in dem Chip in einem bestimmten Korrelator erzeugten Signal entfernt ist. Wie aus dieser Figur ersichtlich ist, tritt zwischen allen Korrelatoren, die um 0,5 Chips voneinander beabstandet sind, eine Lücke im 2,5-dB- Signal-Geräusch-Abstand auf. Um diese Lücke zu beseitigen, werden benachbarte Korrelatorwerte gemeinsam addiert, Fig. 44. Dieser Prozeß wird als Nachbarkorrelator-Vorsummierung bezeichnet. Er wird Vorsummierung genannt, weil er während der Vorauserkennungsintegration stattfindet. Der Addierer/Akkumulator unterstützt diesen Prozeß, wie in Fig. 43 gezeigt wird.
- Fig. 46 zeigt die Ergebnisse der Nachbarkorrelator-Vorsummierung. Wie zu erkennen ist, entsteht ein geringer 1,25-dB- Verlust, jedoch treten keine Lücken im Signal-Geräusch-Abstand auf. Der Abtastwert-Akkumulator bzw. die Abtastwert-Schaltung führt dies durch, indem, wie in Fig. 43 gezeigt wird, die codierten Impulse des benachbarten Korrelators erfaßt werden und ihrerseits an den 22-Bit-Akkumulator 4114 angelegt werden. Während dies geschieht, muß der Korrelator-Controller den Bezugswertakkumulator 4106 aus Fig. 41 mit dem Zweifachen seiner normalen Rate takten, wie im unteren Abschnitt von Fig. 41 angeführt wird.
Claims (12)
1. Schaltung zur digitalen Signalverarbeitung (DSP) für
die Verwendung in einem GPS-Empfänger (GPS = Global Positioning
System), wobei die DSP-Schaltung auf einer einzigen
integrierten Schaltung (IC) wenigstens einen Signalverarbeitungskanal
(A, B) umfaßt, der Schaltungsmittel (105, 115) umfaßt, die ein
Code-Signal vol einem GPS-Satelliten verarbeiten,
dadurch gekennzeichnet, daß
darüber hinaus eine Y-Code-Erzeugungsschaltungsanordnung
(108) auf der einzigen integrierten Schaltung vorgesehen ist;
wobei der wenigstens eine Signalverarbeitungskanal (A, B)
Schaltungsmittel (105, 115), die wenigstens ein Signal aus der
aus einem gültigen P-Code-Signal und einem gültigen Y-Code-
Signal von wenigstens einem GPS-Satelliten bestehenden Gruppe
verarbeiten, und eine Vielzahl von Korrelatoren (111-118)
umfaßt;
ein Suchprozessor zur schnellen Signalerfassung und ein
Modul (124) zur diskreten Fouriertransformation (DFT) für die
Umwandlung von Integrationsabtastwerten von den Korrelatoren in
eine Vielzahl von Frequenz-Bins von Abtastdaten vorgesehen
sind, wobei der Suchprozessor so ausgebildet ist, daß er
zwischen den Frequenz-Bins interpoliert, um eine Vielzahl
zusätzlicher Bins zu erzeugen.
2. Schaltung nach Anspruch 1, bei der der Suchprozessor
einen Tong-Erkennungsalgorithmus implementiert.
3. Schaltung nach einem der vorhergehenden Ansprüche mit
mehreren L1/L2-P(Y)- und C/A-Code-Kanälen.
4. Schaltung nach Anspruch 3, die darüber hinaus eine
Schaltungsanordnung umfaßt, die die C/A- und P(Y)-Codes
gleichzeitig verfolgt.
5. Schaltung nach Anspruch 3, die darüber hinaus eine
Schaltungsanordnung zur selektiven Verarbeitung von P-Code oder
Y-Code umfaßt.
6. Schaltung nach Anspruch 3, bei der die Y-Code-
Erzeugungsschaltungsanordnung einen einzigen Y-Code-Erzeuger
umfaßt, den die gesamten mehreren Kanälen gemeinsam besitzen.
7. Schaltung nach Anspruch 3, die darüber hinaus eine
Schaltungsanordnung zur selektiven Verarbeitung des L1-Signals
oder des L2-Signals umfaßt.
8. Schaltung nach Anspruch 3, die darüber hinaus eine
Schaltungsanordnung zur Unterstützung von eine vollständige
Nullzone aufweisenden Signaleingaben umfaßt.
9. Schaltung nach Anspruch 3, die darüber hinaus
einen digitalen Oszillator umfaßt, der einen Trägertakt
oder einen Codetakt synchron zu einem
Hochfrequenzreferenztaktgeber liefert.
10. Schaltung nach Anspruch 3, die darüber hinaus
einen Addierer/Akkumulator hauptsächlich für das
Akkumulieren nur binärer Vielfacher umfaßt, der ·
Pulsinjektoren umfaßt, die mit einem asynchronen Zähler
zusammenarbeiten, um den Leistungsbedarf und die Gatezahl zu
vermindern.
11. Schaltung nach Anspruch 3, die darüber hinaus
eine Korrelatoranordnung, die asynchrone Zähler zur
Vorauserkennungsintegration und zur Bezugswertakkumulierung
verwendet; und einen Addierer zur Subtraktion des Bezugswerts
umfaßt.
12. Schaltung nach Anspruch 2 und 3 mit
zwei P(Y)- und C/A-Code-Kanälen;
Unterstützungsschaltungsmitteln zum Verarbeiten von eine
Nullzone aufweisenden Signalen; und bei der die Kanäle jeweils
einen Trägererzeuger;
einen Codetakterzeuger;
einen P-Code-Erzeuger;
einen C/A-Code-Erzeuger;
acht Vorauserkennungsintegrationsakkumulatoren; und
einen Rauschmesser umfassen;
wobei der, Suchprozessor
eine Schaltung zur diskreten Fouriertransformation;
erste Schaltungsmittel zur Durchführung einer Frequenz-
Bin-Interpolation;
zweite Schaltungsmittel zur Implementierung einer
Robertson-Approximierung für eine Hüllkurvenberechnung;
dritte Schaltungsmittel zur Implementierung eines Tong-
Erkennungsalgorithmusses für die Bestimmung, ob ein Signal
vorliegt;
einen Schwellenberechner, der die Messungen von dem
Rauschmesser verwendet;
vierte Schaltungsmittel zur Berechnung einer zweiten
Suchschwelle für die interpolierten Frequenz-Bins;
fünfte Schaltungsmittel zum Vorziehen oder Verzögern des
Code-Zustands je nach den Erfordernissen während der Suche;
einen Störungszähler, der die Tong-Erkennungsiterationen
für einen speziellen Code-Zustand zählt und entweder einen
neuen Code-Zustand erzwingt oder die Suche anhält; und
einen Trefferzähler umfaßt, der die mit einer
spezifizierten Anzahl an DFT-Zyklen verbundenen Treffer zählt und den
aktuellsten Wert meldet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66396891A | 1991-02-28 | 1991-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69230543D1 DE69230543D1 (de) | 2000-02-17 |
DE69230543T2 true DE69230543T2 (de) | 2000-08-10 |
Family
ID=24663952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69230543T Expired - Fee Related DE69230543T2 (de) | 1991-02-28 | 1992-02-28 | Vielkanal- und Suchprozessor für GPS |
Country Status (3)
Country | Link |
---|---|
US (1) | US5535237A (de) |
EP (1) | EP0501828B1 (de) |
DE (1) | DE69230543T2 (de) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2698966B1 (fr) * | 1992-12-04 | 1995-03-03 | Rech Const Electro Et | Procédé de radionavigation et système de gestion de flotte de véhicules. |
US6118807A (en) * | 1994-12-23 | 2000-09-12 | Intermec Ip Corp. | Methodology for received signal enhancement utilizing delay diversity processing |
US6393046B1 (en) | 1996-04-25 | 2002-05-21 | Sirf Technology, Inc. | Spread spectrum receiver with multi-bit correlator |
US6125325A (en) | 1996-04-25 | 2000-09-26 | Sirf Technology, Inc. | GPS receiver with cross-track hold |
DE69714581T2 (de) * | 1996-04-25 | 2003-04-17 | Sirf Technology, Inc. | Spreizspektrumempfänger mit multibitkorrelation |
US5943363A (en) * | 1996-07-17 | 1999-08-24 | Stanford Telecommunications, Inc. | Digital spread spectrum GPS navigation receiver |
US6192430B1 (en) * | 1997-02-28 | 2001-02-20 | Texas Instruments Incorporated | Innovative dual-channel serial interface circuit scheme |
US6249542B1 (en) | 1997-03-28 | 2001-06-19 | Sirf Technology, Inc. | Multipath processing for GPS receivers |
US6014080A (en) * | 1998-10-28 | 2000-01-11 | Pro Tech Monitoring, Inc. | Body worn active and passive tracking device |
JP3523026B2 (ja) | 1997-09-04 | 2004-04-26 | 三菱電機株式会社 | 画像信号処理装置 |
JPH11142501A (ja) * | 1997-11-13 | 1999-05-28 | Sokkia Co Ltd | Gps受信機 |
EP0924532B1 (de) * | 1997-11-19 | 2006-04-19 | IMEC vzw | Verfahren und Vorrichtung zum Empfang von GPS/GLONASS-Signalen |
US6323805B1 (en) * | 1998-09-09 | 2001-11-27 | Qualcomm, Inc. | Data boundary aware base station assisted position location |
US6137433A (en) * | 1999-03-18 | 2000-10-24 | The United States Of America As Represented By The Secretary Of Commerce | Scatterometer with adaptable spatial resolution |
US6683923B1 (en) | 1999-04-16 | 2004-01-27 | Bd Systems, Inc. | Method and apparatus for detecting and tracking coded signals in a noisy background environment |
US6441601B1 (en) * | 1999-11-12 | 2002-08-27 | Itt Manufacturing Enterprises, Inc. | Phase meter using a permuter |
US6252545B1 (en) * | 2000-02-04 | 2001-06-26 | Lucent Technologies Inc. | Enhancement of signal-detection capability of GPS systems |
US7173957B2 (en) * | 2000-03-13 | 2007-02-06 | Pri Research & Development Corp. | Efficient epoch processing in multichannel global positioning system signal receiver |
US7184461B2 (en) * | 2000-03-13 | 2007-02-27 | Pri Research & Development Corp. | High speed precision pseudo random noise shift control for fast multiple channel global positioning system signal re-tracking |
US6965631B2 (en) * | 2000-03-13 | 2005-11-15 | Pri Research & Development Corp. | Low power passive correlators for multichannel global positioning system signal receiver |
US6369753B1 (en) * | 2000-08-22 | 2002-04-09 | Motorola, Inc. | Host-independent monolithic integrated circuit for RF downconversion and digital signal processing of GPS signals |
US7180970B1 (en) * | 2001-03-02 | 2007-02-20 | Southwest Research Institute | Automatic link establishment using external synchronization |
US6947880B2 (en) * | 2002-04-23 | 2005-09-20 | Motorola, Inc. | Method for improving accuracy of a velocity model |
FR2843638B1 (fr) * | 2002-08-13 | 2004-10-22 | Thales Sa | Recepteur de positionnement par satellite avec correction d'erreurs d'inter-correlation |
US7197089B2 (en) * | 2002-08-30 | 2007-03-27 | Rf Micro Devices, Inc. | Frequency plan for GPS receiver |
US7099406B2 (en) * | 2002-08-30 | 2006-08-29 | Rf Micro Devices, Inc. | Alias sampling for IF-to-baseband conversion in a GPS receiver |
US20040043745A1 (en) * | 2002-08-30 | 2004-03-04 | Richard Najarian | Integrated GPS receiver architecture |
EP1558944A4 (de) * | 2002-10-04 | 2008-10-22 | Sigtec Navigation Pty Ltd | Verbesserung an einem satellitengest tztenpositionsbestimmungssystem |
US6778135B2 (en) * | 2002-11-18 | 2004-08-17 | Rf Micro Devices, Inc. | GPS Receiver |
US6825802B2 (en) * | 2002-11-18 | 2004-11-30 | Andreas Warloe | Avoiding interference to a GPS receiver from wireless transmissions by time multiplexing GPS reception |
US6806827B2 (en) * | 2002-11-18 | 2004-10-19 | Rf Micro Devices, Inc. | Using FFT engines to process decorrelated GPS signals to establish frequencies of received signals |
US7065629B2 (en) * | 2002-11-18 | 2006-06-20 | Rf Micro Devices, Inc. | Address translation logic for use in a GPS receiver |
US20040095272A1 (en) * | 2002-11-18 | 2004-05-20 | Rf Micro Devices, Inc. | Saving power in a GPS receiver by controlling domain clocking |
US7551132B2 (en) * | 2004-07-02 | 2009-06-23 | Nemerix Sa | GPS receiver with fast acquisition time |
WO2006003673A1 (en) * | 2004-07-05 | 2006-01-12 | Accord Software & Systems Pvt. Ltd. | Low gate count sequential multitap correlator |
EP1688755A1 (de) * | 2005-02-04 | 2006-08-09 | Nemerix SA | Vermeidung von Verlusten in Zwischenfrequenzen bei der FFT in GPS Empfängern |
US7428259B2 (en) * | 2005-05-06 | 2008-09-23 | Sirf Technology Holdings, Inc. | Efficient and flexible GPS receiver baseband architecture |
US7630430B2 (en) | 2005-07-25 | 2009-12-08 | Mstar Semiconductor, Inc. | Method and apparatus for accelerating correlation processing of GPS signal |
US7729457B2 (en) * | 2005-07-25 | 2010-06-01 | Mstar Semiconductor, Inc. | Method of weak signal acquisition and associated apparatus |
US7477674B2 (en) * | 2005-11-14 | 2009-01-13 | The Boeing Company | High-gain solid-state laser |
US7612714B2 (en) * | 2006-03-28 | 2009-11-03 | Mediatek Inc. | Satellite search method |
US7671796B2 (en) * | 2006-03-28 | 2010-03-02 | Mediatek Inc. | Satellite search method |
US8249616B2 (en) * | 2007-08-23 | 2012-08-21 | Texas Instruments Incorporated | Satellite (GPS) assisted clock apparatus, circuits, systems and processes for cellular terminals on asynchronous networks |
CN103675855B (zh) * | 2013-11-29 | 2015-11-04 | 航天恒星科技有限公司 | 一种基于码周末尾时刻l1ca引导的gps-p码生成方法 |
KR101564828B1 (ko) * | 2014-01-20 | 2015-10-30 | 한국과학기술원 | 도플러 주파수가 있는 미약한 대역확산 신호의 초고속 신호 획득 및 추적을 위한 신호 처리 방법 및 그 장치 |
US9899798B2 (en) | 2015-08-03 | 2018-02-20 | University Of Central Florida Research Foundation, Inc. | Apparatus and method for suppressing parasitic lasing and applications thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
GB2153177B (en) * | 1984-01-19 | 1987-06-03 | Standard Telephones Cables Ltd | Digital navstar receiver |
US4928106A (en) * | 1988-07-14 | 1990-05-22 | Ashtech Telesis, Inc. | Global positioning system receiver with improved radio frequency and digital processing |
US5108334A (en) * | 1989-06-01 | 1992-04-28 | Trimble Navigation, Ltd. | Dual down conversion GPS receiver with single local oscillator |
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 |
JP2873872B2 (ja) * | 1990-09-06 | 1999-03-24 | 株式会社ソキア | Gpsにおけるc/aコード除去形周波数ダイバーシティ相関受信方式 |
-
1992
- 1992-02-28 DE DE69230543T patent/DE69230543T2/de not_active Expired - Fee Related
- 1992-02-28 EP EP92301740A patent/EP0501828B1/de not_active Expired - Lifetime
-
1994
- 1994-02-04 US US08/192,210 patent/US5535237A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69230543D1 (de) | 2000-02-17 |
EP0501828A1 (de) | 1992-09-02 |
US5535237A (en) | 1996-07-09 |
EP0501828B1 (de) | 2000-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69230543T2 (de) | Vielkanal- und Suchprozessor für GPS | |
DE69834235T2 (de) | Verfahren und Vorrichtung zum Empfang von GPS/GLONASS-Signalen | |
DE69222970T2 (de) | L1/L2-Code-Frequenzband für Global-Positioning-System-Receiver | |
DE69121066T2 (de) | Digitaler Vielkanal-Empfänger für GPS | |
DE69229417T2 (de) | Digitaler Navigationssatellitenempfänger | |
US4278978A (en) | Baseband signal combiner for large aperture antenna array | |
DE69720722T2 (de) | Leistungseffizienter empfänger | |
DE69932536T2 (de) | Multitakt-angepasster filter für mehrwege-signalempfang | |
DE69220281T2 (de) | Digitales Verarbeitungsverfahren für GPS-Empfänger | |
DE69616950T2 (de) | Verfahren und Schaltkreis zum Empfang von Satellitenpositionssignalen mit Eliminierung von Mehrwegsignalen | |
US5963601A (en) | Variable suppression of multipath signal effects | |
DE60013662T2 (de) | Empfängereichungsverfahren für GLONASS | |
DE69327119T2 (de) | Empfänger für pseudozufällige Rauschsignale, der Vielwegverzerrungen durch dynamisches Einstellen der Zeitverzögerung zwischen frühen und späten Korrelatoren kompensiert | |
DE60035456T2 (de) | System mit einstellbarer ADU-Taktphase | |
DE69618305T2 (de) | Breitbandempfänger zur Messung des Abstandes mittels Pseudozufallssignalen | |
KR20010102972A (ko) | 순차적-포착, 다-대역, 다-채널, 정합 필터 | |
DE69919729T2 (de) | Empfänger zur positionsbestimmung mit effizientem phasendrehglied | |
DE69637296T2 (de) | Detektion und ortung von stromleckfehlern und detektion von schwindungen | |
DE60220046T2 (de) | Integrierter Schaltkreis zur GPS Kodeerfassung | |
DE69904760T2 (de) | Analoger taktmodul | |
DE69517604T2 (de) | Zeitgeber mit mehreren kohärenten synchronisierten takten | |
DE60308829T2 (de) | Gps-empfängervorrichtung und empfangsverfahren | |
EP1030186B1 (de) | GPS-Navigationssystem für Raumfahrtanwendungen | |
DE69129132T2 (de) | GPS-Empfänger | |
DE69614636T2 (de) | Schneller Multiplizierer zur Multiplikation eines digitalen Signals mit einem periodischen Signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |