-
HINTERGRUND
DER ERFINDUNG
-
Die Erfindung betrifft die Verwendung
von Code Division Multiple Access (CDMA, Code-Unterteilungs-Vielfach-Zugriff)
Kommunikationsverfahren in zellularen Funktelefonsystemen. Insbesondere
betrifft die Erfindung in Direct Sequence Spread Spectrum (DS-SS,
Direktsequenz-Spreizspektrum) oder "traditionelle" Direkt-Sequenz CDMA-Systemen verwendete
Empfänger.
-
CDMA oder Spreizspektrum-Kommunikation gibt
es seit den Tagen des zweiten Weltkriegs. Frühe Anwendungen waren vornehmlich
militärisch
ausgerichtet. Heute gibt es jedoch ein erhöhtes Interesse an einer Verwendung
von Spreizspektrum-Systemen in kommerziellen Anwendungen. Beispiele
enthalten digitalen Zellfunk, Landmobilfunk und persönliche Innen-
und Außen-Kommunikationsnetzwerke.
Ein kommerzieller Betrieb, der Zellulartelefonindustrie wächst weiter
und Nutzer fordern weiter flexible Datenübertragungsraten als eine Kerneigenschaft
in neueren Kommunikationssystemen.
-
CDMA ermöglicht es, dass Signale sich
sowohl hinsichtlich Zeit als auch Frequenz überlappen, wie in 1 veranschaulicht. Somit
nutzen alle CDMA-Signale das gleiche Frequenzspektrum. Sowohl im
Frequenz- als auch im Zeitbereich erscheinen Mehrfach-Zugriffssignale
als übereinander
liegend. In einem CDMA-System ist ein zu übertragender Informationsdatenstrom
(z. B. Sprache) einem Datenstrom mit viel höherer Bitrate aufgeprägt, als
Spreizkodesignal, Signatursequenz oder Codesequenz bekannt. Die
Signatursequenz, die ein zufälliges
Erscheinungsbild hat, kann durch einen Pseudo-Zufalls-Codegenerator
erzeugt werden, und in einem autorisierten Empfänger repliziert werden. Der
Informationsdatenstrom kann mit der Signatursequenz kombiniert werden,
indem die zwei Ströme
effektiv miteinander multipliziert werden. Ein Kombinieren der höher Bit-ratigen
Signaturfrequenz mit dem niedriger Bit-ratigen Informationsdatenstrom
wird kodieren oder spreizen des Informationsdatenstromsignals genannt.
Jedem Informationsdatenstrom oder Kanal ist ein eindeutiger Spreizcode
oder eine eindeutige Signatursequenz zugeordnet. Eine Vielzahl von
kodierten Informationssignalen wird moduliert und auf einer Funk-
oder Trägerwelle
als ein moduliertes Kompositsignal übermittelt. Ein jedes der kodierten
Signale überlappt
alle anderen kodierten Signale und auch rauschbezogene Signale,
sowohl hinsichtlich Frequenz als auch Zeit. Das modulierte Kompositsignal
einer Mehrzahl kodierter Signale wird an einem Empfänger empfangen
und wird in eine Basisbandfrequenz demoduliert. Das demodulierte Kompositsignal,
oder Basisbandsignal, kann auch als ein komplexes Signal bezeichnet
werden, da es typischerweise sowohl reale als auch imaginäre Komponenten
enthält.
Ein kodiertes Signal wird extrahiert und aus dem demodulierten Kompositsignal isoliert,
indem das kodierte Signal unter Verwendung der gleichen Signatursequenz,
die zur Erzeugung des kodierten Signals verwendet wurde, korreliert wird.
-
Typischerweise sind der Informationsdatenstrom
und die Signatursequenz binär,
wobei die Bits der Signatursequenz als "Chips" bekannt sind. In bekannten Direktsequenz-CDMA
oder Spreizspektrumsystemen, wird eine Signatursequenz mit N-Chips verwendet,
um ein Bit oder Datensymbol des Informationsdatenstroms zu repräsentieren.
Eine gesamte übertragene
N-Chip-Sequenz wird als ein übertragenes
Symbol bezeichnet.
-
Insbesondere veranschaulichen die 2 und 3, wie Informationssignale in einem CDMA-System
kodiert und dekodiert werden. Zwei unterschiedliche Datenströme (a) und
(d), werden grafisch in 2 veranschaulicht,
und stellen die über
zwei getrennte Kommunikationskanäle
als Signal 1 bzw. Signal 2 zu kommunizierende digitalisierte Information dar.
Signal 1 wird unter Verwendung einer eindeutigen Signatursequenz
mit einer hohen Bitrate moduliert, und wird dadurch kodiert, wie
es im Signaldiagramm (b) von 2 gezeigt
ist. Der Ausdruck "Bit" bezeichnet eine
Ziffer des Informationssignals. Der Ausdruck "Bit-Periode" bezeichnet die Zeitperiode zwischen
dem Beginn und dem Ende des Bitsignals. Demzufolge bezeichnet die
Chipperiode die Zeitperiode zwischen dem Beginn und dem Ende einer
Ziffer des hochratigen Signatursequenz-Signals. Die Bitperiode ist
viel größer als
die Chipperiode. Das Ergebnis dieser Modulation, was im wesentlichen
das Produkt der Signatursequenz und des Datenstroms ist, ist im
Signaldiagramm (c) von 2 gezeigt.
In boolscher Notation ist die Modulation zweier binärer Verlaufsformen
im wesentlichen eine Exklusiv-ODER-Operation. Eine ähnliche Serie von Operationen
wird für
Signal 2 durchgeführt,
wie in den Signaldiagrammen (d)–(f)
von 2 gezeigt. In der Praxis
können
jedoch natürlich
viel mehr als zwei kodierte Informationssignale über das für zellulare Telefonkommunikationen
verfügbare
Frequenzspektrum gespreizt werden.
-
Jedes kodierte Signal wird dazu verwendet, einen
RF-Träger
zu modulieren, unter Verwendung einer beliebigen Anzahl von Modulationsverfahren, wie
beispielsweise Quadrature Phase Shift Keying (QPSK = Quadraturphasenschiebeschlüsseln).
Jeder modulierte Träger
wird über
eine Luftschnittstelle übermittelt.
An einem Funkempfänger,
wie beispielsweise an einer zellularen Basisstation, werden alle modulierten
Trägersignale,
die einander in der zugewiesenen Frequenzbandbreite überlagern,
gemeinsam empfangen und im wesentlichen addiert, um ein Komposit
der modulierten Trägersignale,
oder ein Komposit-Übertragungssignal
zu bilden. Das Komposit von modulierten Trägersignalen wird in die geeignete
Basisbandfrequenz demoduliert, und das Ergebnis ist ein Komposit
oder eine Summe der individuell kodierten Signale. Beispielsweise
ist das Signaldiagramm (c) von 3 ein
Komposit oder eine Summe der individuell kodierten Signale der Signaldiagramme
(a) und (b) von 3, d.
h. ist ein Kompositbasisbandsignal. Das Kompositbasisbandsignal kann
phasengleiche und phasenverschobene Komponenten enthalten, d. h.
reale und imaginäre
Komponenten und kann auch als komplexes Basisbandsignal bezeichnet
werden.
-
Die ursprünglichen Datenströme können auf dem
Kompositbasisbandsignal extrahiert oder dekodiert werden. Beispielsweise
kann das Signal 1 durch ein Multiplizieren des Kompositbasisbandsignals
in dem Signaldiagramm (c) von 3 mit
der zur ursprünglichen
Kodierung von Signal 1 verwendeten eindeutigen Signatursequenz dekodiert
werden, wie in dem Signaldiagramm (d) von 3 gezeigt. Das sich ergebende Signal
wird analysiert um die Polarität
(hoch oder niedrig, +1 oder –1, "1" oder "0")
einer jeden Informationsbitperiode des Signals zu entscheiden.
-
Diese Entscheidungen können vorgenommen
werden, indem ein Mittel oder eine Mehrheitswahl der Chippolaritäten während einer
Bitperiode vorgenommen wird. Solche "Hard-Entscheidungs"-Prozesse sind akzeptabel,
solange keine Signalambiguität
vorliegt. Beispielsweise ist während der
ersten Bitperiode im Signaldiagramm (f) der mittlere Chipwert +0,67,
was sofort eine Bitpolarität
von +1 anzeigt. Ähnlich
ist während
der nachfolgenden Periode der mittlere Chipwert – 1,33. Als ein Ergebnis war
die Bitpolarität
am wahrscheinlichsten eine –1. Zuletzt
ist in der dritten Bitperiode das Mittel +0,80, was eine Bitpolarität von +1
anzeigt. Wann auch immer jedoch der Mittelwert null ist, schlägt der Mehrheitswahl-
oder Mittelungstest einer Bereitstellung eines akzeptablen Polaritätswerts
fehl.
-
In den meisten Fällen wird ein "Soft-Entscheidungs"-Durchführungsprozess dazu verwendet,
die Bitpolarität
zu bestimmen. Beispielsweise kann eine dem empfangenen Signal nach
einer Entspreizung proportionale analoge Spannung über die
Anzahl von Chipperioden in Entsprechung zu einem einzelnen Informationsbit
integriert werden. Das Vorzeichen oder die Polarität des Netto-Indikationsergebnisses
zeigt den Bitwert als eine +1 oder –1 an.
-
CDMA-Empfänger enthalten oft einen RAKE-Empfänger. In
Mobilkommunikationssystemen leiden zwischen Basis- und Mobilstationen übermittelte
Signale typischerweise eine Echoverzerrung oder Zeitdispersion,
die beispielsweise durch Signalreflexionen von großen Gebäuden oder
nahegelegenen Bergrücken
bewirkt werden. Eine Multipfad-Dispersion tritt auf, wenn ein Signal
nicht entlang eines Pfades sondern entlang vieler Pfade zu dem Empfänger verläuft, so
dass der Empfänger
viele Echos mit unterschiedlichen und zufällig veränderlichen Verzögerungen
und Amplituden hört.
Typischerweise "recht" ein Rake-Empfänger alle
Multipfad-Beiträge zusammen.
Ein CDMA Rake-Empfänger
detektiert individuell ein jedes Echosignal unter Verwendung eines
Korrelationsverfahrens, korrigiert unterschiedliche Zeitverzögerungen
und addiert die verfassten Echosignale algebraisch (mit dem gleichen
Vorzeichen).
-
Gleitkorrelatoren können im
Spreizspektrum oder CDMA Emfängern
verwendet werden, um den Korrelations/Extraktions-Vorgang durchzuführen, und
sind typischerweise dazu in der Lage, dieses relativ schnell durchzuführen. Insbesondere
kann ein herkömmlicher
Gleit-Korrelator das Basisbandsignal mit einem Abschnitt einer zur
Spreizung des Signals verwendeten Signatursequenz korrelieren. Der
Signatursequenzabschnitt ist auch als ein lokaler Codeabschnitt
bekannt, und wird mit einer der Chiprate entsprechenden Rate korreliert.
Die Chiprate ist das Inverse einer Zeitperiode eines Chips in der Signatursequenz,
so wie diese ausgesendet wurde. Gleitkorrelatoren werden manchmal
als angepasste Filter bezeichnet, da sie dazu verwendet werden können, eine Übereinstimmung
zwischen einem empfangenen und abgetasteten Basisbandsignal und
einem Abschnitt einer Signatursequenz zu suchen.
-
Gleitkorrelatoren können beispielsweise
in dem in 4 gezeigten
bekannten Spreizspektrumempfänger
verwendet werden, welcher eine Antenne 40 enthält, einen
Hochfrequenz-HF-Abschnitt 42, und
einen Basisbandprozessor 44. 5 zeigt
eine interne Konfiguration des Basisbandprozessors 44 von 4, wobei ein komplexes Basisbandsignal 50 in
einen Abtaster 52 eingegeben wird. Der Abtaster 52 tastet
das Basisbandsignal mit einer vorgegebenen Rate ab. Das Basisbandsignal
kann beispielsweise zweimal pro Chip abgetastet werden. Die Abtastwerte
werden einem RAKE-Empfänger 54 bereitgestellt,
einem Satz von Früh-Spät-Toren 58 und
einer Initial-Aquisitions- und Sucheinheit. Der RAKE-Empfänger 54 erfasst
das Signal, und die Früh-Spät-Tore 58 führen dem
RAKE-Empfänger eine
Multipfad-Verzögerungsschätzung zu.
Die Einheit 56 stellt eine Initialaquisition und Suchfunktionen bereit,
die typischerweise in einem Spreizspektrumempfänger notwendig sind. Eine Signatursequenz wird
normalerweise von Anfang bis zum Ende ausgeredet und dann wiederholt.
Die Signatursequenz kann unmoduliert sein, partiell moduliert oder
vollständig
mit Informationssymbolen moduliert sein, in Abhängigkeit davon, ob das System
nur Daten, Pilotsymbole, oder einen Pilotkanal aufweist. Eine Initialaquisition
bezeichnet einen Prozess zum allgemeinen Bestimmen, welcher Abschnitt
der Signatursequenz momentan ausgesendet wird. Im Gegensatz dazu bezeichnet
ein Suchen einen Prozess eines präzisen Bestimmens, welcher Abschnitt
der Signatursequenz momentan ausgesendet wird, so dass Daten von dem
ausgesendeten Signal extrahiert werden können. Ein Gleitkorrelator kann
beispielsweise in der Einheit 56 enthalten sein.
-
6 zeigt
ein Blockdiagramm eines bekannten Gleitkorrelators 600 mit
einer Verzögerungsleitung 604,
Verzögerungsabgriffen 606,
Multiplikationsabgriffen 608 und einem Summierer 610,
und einem Betragsquadrierer 612. Das Basisbandsignal wird
gleichmäßig mit
Abtastwerten 710 abgetastet, wobei ein jeder Chip 712 zweimal
abgetastet wird, wie in 7 gezeigt.
Die Basisbandabtastwerte 710 werden als ein Eingangssignal 602 den
Verzögerungsabgriffen 606 bereitgestellt.
Ein Signal ist gleichmäßig abgetastet,
wenn die Zeit zwischen Abtastwerten konstant ist. Die Serie von
Verzögerungsabgriffen 606 bildet
die Verzögerungsgleitung 604,
so dass die Verzögerungsleitung 604 im
Grunde genommen als ein (FIFO = first-in-first-out = zuerst hinein,
zuerst hinaus)-Register, bzw. Warteschleife dient. Da es zwei Abtastwerte
pro Chip gibt, bewegen sich die Abtastwege von einem Verzögerungsabgriff zum
nächsten
Verzögerungsabgriff
mit zweimal der Chiprate. Die in den Verzögerungsabgriffen 606 vorliegenden
Abtastwerte werden den Multiplikationsabgriffen 608 bereitgestellt,
wo sie mit Abgriffskoeffizienten multipliziert werden, die einen
zugewiesenen Spreizcode oder Signatursequenz eines Signals entsprechen,
aus dem Daten zu extrahieren sind. Die sich ergebenden Werte werden
dann in dem Summierer 610 addiert. Ein Ausgang des Summierers 610 wird
dem Betragsquadrierer 612 bereitgestellt, der eine Zahl
ausgibt, die das Quadrat eines Betrags des Ausgangs des Summierers 610 darstellt.
Der Ausgang des Betragsquadrierers 612 kann dazu verwendet
werden, ein Signal zu identifizieren und zu aquirieren, das mit
der zugewiesenen Signatursequenz verwendet wurde.
-
Trotz der vielen Vorteile, die durch
CDMA bereitgestellt werden, ist die Kapazität eines herkömmlichen
CDMA-Systems durch den Dekodierprozess begrenzt. Da viele unterschiedliche
Benutzerkommunikationen einander in Zeit und Frequenz überlappen,
ist die Aufgabe eines Korrelierens des richtigen Informationssignals
mit dem zugehörigen
Nutzer komplex.
-
Obwohl Gleitkorrelatoren relativ
schnell sind, sind sie aufwendig zu implementieren, da sie eine
relativ große
Anzahl von Toren auf einem Very Large Scale Integrated (VLSI) Chip
erfordern, und relativ große
Leistungsmengen verbrauchen. Demzufolge sind Gleitkorrelatoren mit
einem verbesserten Kosten-Nutzenverhältnis wünschenswert.
-
Aus der WO 96/41432 ist ein Empfänger für eine Aquisition
und Verriegelung eines Impulsfunksignals bekannt, eine einstellbare
Zeitbasis umfassend, um ein gleitendes periodisches Zeitvorgabesignal
mit einer einstellbaren Wiederholungsrate auszugeben, und einen
Dekodierzeitvorgabemodulator, um ein Dekodiersignal in Reaktion
auf das periodische Zeitvorgabesignal auszugeben. Das Impulsfunksignal
ist dem Dekodiersignalkreuz korreliert, um ein Basisbandsignal auszugeben.
Der Empfänger
integriert T Abtastwerte des Basisbandsignals und ein Schwellwertdetektor
verwendet die Integrationsergebnisse zur Erfassung von einer Kanalübereinstimmung.
Ein Empfängersteuerer
stoppt ein Gleiten der Zeitbasis, wenn eine Kanalübereinstimmung
erfasst wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
In Übereinstimmung mit einem beispielhaften
Ausführungsbeispiel
der Erfindung unterteilt ein flexibler Gleitkorrelator zur Verwendung
in einem Spreizspektrumempfänger
Basisbandsignalabtastwerte in unterschiedliche Gruppen, ordnet jeder Gruppe
einen anderen Abschnitt oder Anteil eines Spreizcode-Signatursequenz
zu, und kombiniert die Signalabtastwerte mit entsprechenden Werten
in dem Signatursequenzabschnitt. Die Gruppierungen und Signatursequenz-Abschnitte
können
während
eines Betriebs des Empfängers
geändert
werden, um die Leistungsfähigkeit
des Empfängers
unter unterschiedlichen oder veränderlichen
Bedingungen zu maximieren. Zusätzlich
können
die Abtast- und Signatursequenzwertkombinationen weiter auf unterschiedliche Art
und Weise kombiniert werden und die weiteren Kombinationen können während eines
Betriebs des Empfängers
geändert
werden. Der flexible Gleitkorrelator kann adaptiv während eines
Betriebs des Empfängers
konfiguriert werden, durch ein Ändern
der Gruppierung der Basisbandabtastwerte, der zur Verarbeitung einer
jeden Gruppe verwendeten Signatursequenzabschnitte, und der Kombination von
Gruppenverarbeitungsergebnissen. In Übereinstimmung mit einem weiteren
Gesichtspunkt der Erfindung kann das Basisbandsignal entweder gleichmäßig oder
nicht-gleichmäßig abgetastet
werden. Die Phase und Frequenz der Basisbandabtastung kann während eines
Betriebs des Empfängers
eingestellt werden, so dass Abtastwerte sehr nahe an der optimalen
Abtastposition aufgegriffen werden, an der Spitze einer Chip-Signalform
in dem Basisbandsignal.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Andere Aufgaben und Vorteile der
Erfindung werden sich dem Fachmann aus der folgenden detaillierten
Beschreibung von bevorzugten Ausführungsbeispielen ergeben, wenn
in Verbindung mit den begleitenden Zeichnungen gelesen. Entsprechende
Elemente in den Zeichnungen wurden mit entsprechenden Bezugszeichen
bezeichnet.
-
1 zeigt
eine Darstellung von Zugriffskanälen
unter Verwendung eines CDMA-Verfahrens;
-
2 zeigt
eine Serie von Diagrammen, die veranschaulichen, wie CDMA-Signale
erzeugt werden;
-
3 zeigt
eine Serie von Diagrammen zur Veranschaulichung, wie CDMA-Signale
dekodiert werden;
-
4 zeigt
ein allgemeines Blockdiagramm eines bekannten Spreizspektrumempfängers;
-
5 zeigt
ein Blockdiagramm einer internen Konfiguration des Spreizspektrumempfängers von 4;
-
6 zeigt
ein Blockdiagramm eines beispielsweise in dem Spreizspektrumempfänger von 4 und 5 verwendeten bekannten Gleitkorrelator;
-
7 zeigt
in einem Diagramm ein bekanntes gleichmäßiges Abtasten eines Basisbandsignals;
-
8a–8c zeigen Blockdiagramme
flexibler Gleitkorrelatoren in Übereinstimmung
mit beispielhaften Ausführungsformen
der Erfindung;
-
9 zeigt
in einem Diagramm eine nicht-gleichmäßige Abtastung eines Basisbandsignals
in Übereinstimmung
mit einer beispielhaften Ausführung
der Erfindung;
-
10 zeigt
in einem Flussdiagramm einen Betrieb eines flexiblen Gleitkorrelators
in Übereinstimmung
mit einer beispielhaften Ausführung
der Erfindung; und
-
11 zeigt
in einem Flußdiagramm
einen Abschnitt des Betriebs von 10 in
größerem Detail.
-
DETAILLIERTE
BESCHREIBUNG
-
8A zeigt
einen flexiblen Gleitkorrelator 800 in Übereinstimmung mit einer beispielhaften Ausführung der
Erfindung. Wie in 8A gezeigt, enthält der flexible
Gleitkorrelator 800 eine Verzögerungsleitung 804,
bestehend aus einer Vielzahl von Verzögerungsabgriffen 606,
die in Serie verbunden sind, um eine Schlage zu bilden. Abtastwerte
werden in die Verzögerungsleitung 804 über eine
Eingangsleitung 802 eingeführt. Ein jeder der Verzögerungsabgriffe 606 ist
mit einem der Vielzahl von Multiplikationsabgriffen 608 verbunden.
Die Multiplikationsabgriffe 608 sind in zwei Gruppen unterteilt,
und die kollektiven Ausgaben einer Gruppe werden einem ersten Summierer 813 zugeführt, und
die kollektiven Ausgaben der anderen Gruppe werden einem zweiten
Summierer 814 zugeführt.
Die Ausgaben der Summierer 813 und 814 werden
einem Prozessor 812 zugeführt, der variabel die Ausgaben
der Summierer 813 und 814 kombiniert, um Ausgaben 816 zu erzeugen,
wie beispielsweise a) X; b) Y; c) X + Y; d) |X + Y|2;
e) |X|2; d) |Y|2;
und e) |X|2 + |Y|2.
X und Y bezeichnen Signale mit sowohl Betrag und Phase und |X| und
|Y| bezeichnen so einen Betrag der Signale X und Y. Ein Prozessor 812 kann
programmierbar sein, dass er nur solche Ausgaben liefert, die zu
einem bestimmten Zeitpunkt erwünscht
sind. Beispielsweise kann der Prozessor 812 dazu konfiguriert
sein, alle möglichen
Ausgaben zu berechnen, und dann programmbezogen auszuwählen, welche
ausgesendet werden. Ein Schalter 844 ist ebenso in der
Verzögerungsleitung 804 zwischen
einer ersten Gruppe von Verzögerungsabgriffen
entsprechend dem Code A und einer zweiten Gruppe von Verzögerungsabgriffen,
entsprechend dem Code C, bereitgestellt. Der Schalter 844 kann
Werte von der ersten Gruppe von Verzögerungsabgriffen zu der zweiten
Gruppe von Verzögerungsabgriffen
führen,
oder kann Werte von der Eingangsleitung 802 direkt zu der
zweiten Gruppe von Verzögerungsabgriffen
liefern.
-
In Übereinstimmung mit einem Gesichtspunkt
der Erfindung können
Chipabtastwerte durch die Verzögerungsleitung 804 mit
der Abtastrate geführt
werden, wobei der Wert der Abtastrate gleich der Anzahl von Abtastwerten
pro Chip, multipliziert mit der Chiprate, ist.
-
Obwohl der flexible Gleitkorrelator 800 in 8A mit dem Multiplikationsabgriffen 608 gezeigt ist,
unterteilt in zwei Gruppen 809 und 811, können die
Multiplikationsabgriffe 608 alternativ in mehr als zwei
Gruppen mit entsprechenden Summierern und zusätzlichen Schaltern aufgeteilt
sein, oder können als
eine Gruppe organisiert sein. Zusätzlich können die Gruppen unterschiedlich
oder ähnlich
dimensioniert sein, in Übereinstimmung
mit individuellen Erfordernissen jeder Situation.
-
Obwohl der flexible Gleitkorrelator 800 in 8A mit einer Verzögerungsleitung 804 gezeigt ist,
kann die Verzögerungsleitungsfunktion
alternativ unter Verwendung eines zirkularen Puffers und inkrementierten
Adressen Implementiert werden, so dass leistungsintensive Datenübertragungen
vermieden werden.
-
Abschnitte oder Anteile einer oder
mehrerer Signatursequenzen, im folgenden als lokale Codeabschnitte
bezeichnet, können
ebenso verschiedentlich den Gruppen zugeordnet sein. Beispielsweise
kann eine Gruppe von Multiplikationsabgriffen Koeffizienten entsprechend
einem lokalen Codeabschnitt einer ersten Signatursequenz enthalten,
und eine weitere Gruppe von Multiplikationsabgriffen kann Koeffizienten
entsprechend einem lokalen Codeabschnitt einer zweiten Signatursequenz
enthalten. Alternativ können
Multiplikationsabgriffe von unterschiedlichen Gruppenkoeffizienten
entsprechend unterschiedlicher Codeabschnitte der gleichen Signatursequenz enthalten
und die Codeabschnitte können
aneinander angrenzend sein (d. h. benachbarte Abschnitte innerhalb
der Signatursequenz) oder nicht aneinander angrenzend. Ausgaben
der Summierer in Entsprechung zu den unterschiedlichen Gruppen von Multiplikationsabgriffen
können
ebenso verschiedentlich kombiniert werden.
-
Wenn es beispielsweise ein Ziel ist,
eine lange Signatursequenz zu identifizieren, oder eine Stelle innerhalb
einer langen Signatursequenz, kann ein flexibler Gleitkorrelator
mit zwei Gruppen von Multiplikationsabgriffen besonders nützlich sein.
Einer der zwei Gruppen kann ein Satz von Koeffizienten zugeordnet
sein, der einem ersten lokalen Codeabschnitt der Signatursequenz
entspricht, und der anderen Gruppe kann ein Satz von Koeffizienten
zugeordnet sein, der einen zweiten lokalen Codeabschnitt der Signatursequenz
entspricht, wobei der erste und zweite lokale Codeabschnitt als
nicht aneinander angrenzend gewählt
werden. In solch einem Fall wird einer der lokalen Codeabschnitte
zuerst erkannt werden und der andere lokale Codeabschnitt wird erkannt werden,
nachdem die die zwei lokalen Codeabschnitte trennenden Chips durch
die Verzögerungsleitung hindurchgetreten
sind. Demzufolge können
die zwei Erkennungen und die Verzögerung zwischen den Erkennungen
(entsprechend der Anzahl von die lokalen Codeabschnitten trennenden
Chips) gemeinsam verwendet werden, um die Signatursequenz zu identifizieren.
Die erste Erkennung kann weiter dazu verwendet werden, die Signatursequenz
vorläufig
zu identifizieren, und die Verzögerung
und die zweite Erkennung kann dazu verwendet werden, die vorläufige Identifikation
zu bestätigen.
-
Alternativ, wenn ein lokaler Codeabschnitt dazu
verwendet werden kann, die Signatursequenz zuverlässig zu
erkennen, dann ist nur eine Erkennung durch eine von den beiden
lokalen Codeabschnitten notwendig, und eine Zeitersparnis kann realisiert
werden. Falls beispielsweise die zwei lokalen Codeabschnitte äquidistant
innerhalb der Signatursequenz beabstandet sind, dann muss höchstens die
Hälfte
der Signatursequenz durch die Verzögerungsleitung hindurchtreten,
bevor eine Erkennung auftritt. Mit anderen Worten kann die Signatursequenz
in der Hälfte
der mittleren Zeit identifiziert werden, die anderen falls vor einer
Identifikation ablaufen würde,
falls der Gleitkorrelator eine Erkennung von beiden lokalen Codeabschnitten
und der Verzögerung
dazwischen erfordern würde,
oder falls der Gleitkorrelator Koeffizienten in entsprechend zu
nur einem lokalen Codeabschnitt enthalten würde. Der Fachmann wird erkennen,
dass dieses Konzept auch mit mehr als zwei Codeabschnitten implementiert werden
kann.
-
Der flexible Gleitkorrelator kann
ebenfalls in Situationen angewendet werden, in denen es wünschenswert
ist, kohärente
Korrelationslängen
kurz zu machen. Kurze kohärente
Korrelation ist eine Korrelation, bei der Werte kohärent kombiniert
werden, z. B. kohärent
addiert. Eine kohärente
Addition heißt, dass
Werte mit sowohl Betrag als auch Phase addiert werden, während eine
nicht-kohärente
Addition heißt,
dass Werte mit nur Betrag oder nur Betragsquadrat addiert werden.
Eine nicht-kohärente
Korrelation kann beispielsweise dann wünschenswert sein, wenn es einen
Frequenzfehler gibt, oder wenn ein Kommunikationskanal eine Phase
schnell verändert,
beispielsweise dann, wenn eine Mobilstation in einem Auto befindlich
ist, und sich das Auto in einem Bereich bewegt, in dem das Signal
unterschiedlich reflektiert wird, und die Signalpfadlänge sich ändert. In
dieser Situation können
Chipabtastwerte in einer einem großen lokalen Codeabschnitt entsprechenden
Serie eine Phase relativ zueinander von dem Beginn des Abschnitts
zum Ende des Abschnitts verändern.
Falls die Phasenänderung
ausreichend groß ist,
und die Abtastwerte kohärent
addiert werden, dann löschen
Abtastwerte vom Beginn des Abschnitts Abschnitte vom Ende des Abschnitts
aus, wodurch die Fähigkeit
des Gleitkorrekators reduziert wird, den lokalen Codeabschnitt zu
erkennen. Um dieses zu vermeiden, kann der flexible Gleitkorrelator dazu
angeordnet sein, dass der große
lokale Codeabschnitt in zwei benachbarte lokale Codeabschnitte aufgeteilt
ist, wobei Multiplikationsabgriffe und deren Koeffizienten und entsprechende
Summierer entsprechend gruppiert sind. Somit können Abtastwerte von dem Beginn
des großen
lokalen Codeabschnitts mit Koeffizienten in einer der Gruppe von
Multiplikationsabgriffen multipliziert werden und summiert werden,
und Abtastwerte von dem Endbereich des großen lokalen Codeabschnitts
können
entsprechend durch die andere Gruppe von Multiplikationsabgriffen verarbeitet
und summiert werden. Die zwei Summen können dann nicht kohärent addiert
werden, beispielsweise als |X|2 + |Y|2, wie in 8A gezeigt.
-
Falls eine herkömmliche Verwendung des flexiblen
Gleitkorrelators wünschenswert
ist, dann können
die Gruppen von Multiplikationsabgriffen organisiert sein, dass
sie benachbarten lokalen Codeabschnitten entsprechen, und die den
Gruppen entsprechenden Summen können
kohärent
addiert werden. Falls das Empfangssignal stark ist, dann kann eine
oder mehrere der Gruppen abgeschaltet werden, um einen Leistungsverbrauch
zu reduzieren.
-
In Übereinstimmung mit einem weiteren
Gesichtspunkt der Erfindung kann der flexible Gleitkorrelator auch
dazu ausgebildet sein, Chipabtastwerte durch die Verzögerungsleitung 804 mit
einer Rate eines in dem Spreitzspektrumempfänger bereitgestellten lokalen
Taktsignals zu leiten, anstelle mit der Abtastrate. Die lokale Taktrate
ist vorzugsweise größer als
die Abtastrate, so dass eine Korrelation schneller durchgeführt werden
kann. Die Chipabtastwerte können
Abtastwerte von einem vorhergehend empfangenen Abschnitt eines Sendesignals
sein, die in einem Puffer (nicht gezeigt) gespeichert sind, und
die dann der Verzögerungsleitung
mit der lokalen Taktrate bereitgestellt werden. Die Multiplikationsabgriffskoeffizienten
würden
nach jedem Vorbeilaufen der Chipabtastwerte geändert werden.
-
Diese Anordnung kann insbesondere
während
der anfänglichen
Akquisitionsphase nützlich sein,
wenn es das Ziel ist, schnell die Position eines Sendesignals in
einer Signatursequenz zu orten. Eine nach dem Empfang des Abschnitts
des Signals in Entsprechung zu dem gespeicherten Chipabtastwerten
abgelaufene Zeit wird notiert, und diese abgelaufene Zeit, zusammen
mit dem festgestellten Ort der Chipabtastwerte in der Signatursequenz,
bezeichnet einen momentanen Ort des Signals in der Signatursequenz.
Auf diese Weise kann der flexible Gleitkorrelator so verwendet werden,
den momentanen Ort eines Sendesignals in einer Signatursequenz zu
bestimmen und somit zu akquirieren.
-
Alternativ kann der momentane Ort
eines Sendesignals in einer Signatursequenz bestimmt werden, indem
eine Serie von Chipabtastwerten in der Verzögerungsleitung 804 stationär gehalten
wird, und indem eine Sequenz von Koeffizienten durch die Multiplikationsabgriffe
mit der lokalen Taktrate geführt werden.
Auf diese Weise funktionieren die Multiplikationsabgriffe auf eine
Art und Weise, die ähnlich
einem Schieberegister ist, durch das eine Sequenz hindurchtritt.
Die Sequenz von Koeffizienten entspricht mindestens einem Abschnitt
der gesuchten Signatursequenz, und kann der gesamten Signatursequenz entsprechen.
Die Koeffizienten können
durch die Multiplikationsabgriffe geführt werden, bis die Serie von
Chipabtastwerten, die in der Verzögerungsleitung 804 gehalten
wird, mit einem Abschnitt der Sequenz übereinstimmt. Falls keine Übereinstimmung aufgefunden
wurde, nachdem die gesamte Sequenz von Koeffizienten der Signatursequenz
durch die Multiplikationsabgriffe hindurchgeführt wurde, dann kann eine einer
anderen Signatursequenz entsprechende Abfolge von Koeffizienten
durch die Multiplikationsabgriffe hindurchgeführt werden. Alternativ können die
Multiplikationsabgriffe in eine Vielzahl von Gruppen aufgeteilt
sein und unterschiedliche Signatursequenzen können durch eine jede Gruppe
hindurchgeführt
werden, so dass die unterschiedlichen Sequenzen gleichzeitig geführt werden.
Ein Puffer (nicht gezeigt) kann weiter bereitgestellt sein, um die Koeffizienten
zu speichern, und um diese Multiplikationsabgriffe bereitzustellen.
-
Dieses Verfahren einer Verarbeitung
der Chipabtastwerte mit einer lokalen Taktrate anstelle der Chiprate
kann auch in dem Suchmodus angewendet werden. Beispielsweise kann
dieses Verfahren beim Suchmodus nützlich sein, wenn die Verzögerung relativ
groß ist,
beispielsweise dann, wenn eine Signalverzögerung in der Größenordnung
von plus oder minus 500 Chips in einer Signatursequenz vorliegt,
die ungefähr
32.000 Chips lang ist.
-
Ein hybrider Ansatz ist ebenso möglich, bei dem
Datenabtastwerte vorbeilaufen und mit multiplen Codes oder Signatursequenzen-Abschnitten
korreliert werden. Der hybride Ansatz ist insbesondere nützlich,
wenn die flexiblen Gleitkorrelatorgruppen die gleiche Länge aufweisen.
-
Beispielsweise kann der hybride Ansatz dazu
verwendet werden, die Verzögerungsleitungs-Speichererfordernisse
zu reduzieren, wie in 8B veranschaulicht.
Anstelle eines Speicherns von 2M Abtastwerten, wie in der Verzögerungsleitung 804,
werden in der Verzögerungsleitung 805 nur
M Abtastwerte gespeichert. Korrelationen mit dem C-Code werden parallel
mit Korrelationen mit dem A-Code durchgeführt. Die Korrelationen mit
dem C-Code werden in einem Speicher 852 gespeichert und
dann dem Prozessor 812 nach einer geeigneten Verzögerung zugeführt. Somit
führt der
Speicher 852 eine Verzögerungsfunktion
durch, und eine erforderliche Größe der Verzögerungsleitung
ist entsprechend reduziert. Zwei Codes A und C sind in 8B gezeigt, jedoch können mehr als zwei Codes verwendet
werden. Beispielsweise können
Multiplikationsabgriffe und Summierer für jeden Code bereitgestellt sein,
und Ausgaben der Summierer können
sowohl dem Prozessor 812 als auch dem Speicher 852 zugeführt werden.
-
In einem Extremfall ist die Verzögerungsleitung 805 vollständig entfernt,
und ein jeder Abtastwert, wenn er verfügbar wird, kann mit vielen
unterschiedlichen Codewerten multipliziert werden (z. B. einem jeden
Codewert in Entsprechung zu einem Koeffizienten in einem der Multiplikationsabgriffe 608) und
dem Speicher 852 für
eine spätere
Verwendung durch den Prozessor 812 und/oder direkt dem
Prozessor 812 für
eine unmittelbare Verwendung bereitgestellt werden. Multiple Abtastwerte
können
innerhalb des Prozessors in dem Extremfall summiert werden, und
in anderen Fällen,
sehr erwünscht.
In allen Fällen
können,
wenn ein Abtastwert verfügbar
wird, alle Produkte zwischen dem Abtastwert und allen möglichen
Codewerten berechnet werden, falls erwünscht. In den anderen Fällen als
der Extremfall, können
weiter alle Produkte zwischen Abtastwerten in der Verzögerungsleitung 805 und
allen möglichen Codewerten
ebenso berechnet werden, falls erwünscht. Zusätzlich können bestimmte Produkte für bestimmte
Summierer in Abhängigkeit
von der Codesequenz ausgewählt
werden. Typischerweise gibt es nur eine kleine Anzahl von Codewerten,
beispielsweise +1 und –1.
-
8B zeigt
eine parallele Korrelation der A- und C-Codes. Falls die lokale
Taktrate hoch genug ist, können
diese Korrelationen in Serie durchgeführt werden, indem die Multiplikationsangriffe
gemeinsam genutzt werden. Es werde beispielsweise angenommen, dass
die Basisbandabtastwerte in jeder halben Chipperiode getaktet sind.
Weiter wird angenommen, dass die lokale Verarbeitungstaktperiode
1/8 einer Chipperiode ist. Dann gibt es vier Taktperioden zur Verarbeitung
von Daten in der Verzögerungsleitung 805,
bevor ein neuer Abtastwert in die Verzögerungsleitung 805 eingefügt wird.
Somit können
zwei der Taktzyklen dazu verwendet werden, Daten in der Verzögerungsleitung 805 mit
Koeffizienten in den Multiplikationsabgriffen 608, die
dem Code A entsprechen, zu Multiplizieren, und das Ergebnis zu speichern. Dann
können
während
der verbleibenden zwei Taktzyklen Koeffizienten entsprechend Code
C in die Multiplikationsabgriffe 608 geladen werden, und
mit den Daten in der Verzögerungsleitung 805 multipliziert
werden, und die Ergebnisse können
gespeichert werden. Eine Zustandsmaschine (nicht gezeigt) kann dazu
verwendet werden, die Sequenz von Operationen zu steuern und zu
steuern, wo die Ergebnisse summiert und gespeichert werden.
-
Man betrachte ein spezielles Beispiel,
bei dem es wünschenswert
ist, eine Korrelation von 128 Chips Länge durch ein nicht-kohärentes Addieren von
zwei 64-Chipkorrelationen durchzuführen. Solche ein Beispiel kann
auf eine anfängliche
Akquisition einer Signatursequenz anwendbar sein. Der Code A würde den
ersten 64-Chips der Signatursequenz entsprechen und der Code C würde den
zweiten der 64-Chips der Signatursequenz entsprechen. Wenn die ersten
64-Chips in der Verzögerungsleitung 805 sind,
werden sie mit dem C-Code korreliert und die Ergebnisse werden gespeichert.
Dann, 64-Chips später, wenn
die zweiten 64-Chips der Signatursequenz in der Verzögerungsleitung 805 sind,
wird die gespeicherte C-Code-Korrelation
mit den ersten 64-Chips von dem Speicher 852 abgerufen,
betragsquadriert und zum Betragsquadrat der momentanten A-Code-Korrelation
mit den zweiten 64-Chips hinzuaddiert. Eine Zustandsmaschine (nicht
gezeigt) kann dazu verwendet werden, den Speicher 852 zur
Erzielung dieses Ergebnisses zu handhaben.
-
Eine weitere Form von Flexibilität liegt
darin, welche Datenabtastwerte durch die unterschiedlichen Gruppen
verarbeitet werden. Beispielsweise müssen die durch eine Gruppe
verarbeiteten Datenabtastwerte nicht immer zur nächsten Gruppe weitergeleitet
werden. Man betrachte das in 8C gezeigte
Ausführungsbeispiel.
Die Daten werden anfänglich
mit acht Abtastwerten pro Chip abgetastet. Die Abtastwerte werden
in Dezimatoren 840 und 842 eingegeben, die die
Daten unter-abtasten. Ein jeder der Dezmatoren 840 und 842 gibt
zwei von jeden acht ab von ihnen empfangenen Abtastwerten aus. Die
Dezimatoren 840 und 842 können ähnliche oder unterschiedliche
Abtastphasen mit Bezug aufeinander aufweisen. Der Dezimator 840 liefert
Daten zu einer ersten Gruppe 860, wohingegen der Dezimator 842 Daten
zu einem Schalter 844 liefert. Wenn der Schalter 844 gesteuert
wird, von dem Dezimator 844 abgetastete Daten auszugeben,
werden die Daten von dem Dezimator 842 zu der zweiten Gruppe 862 weitergeleitet.
Es wird darauf hingewiesen, dass dann, wenn der Schalter 844 gesteuert
wird, Daten von der Gruppe 860 der abgegriffenen Verzögerungsleitung 804 auszugeben,
das Ausführungsbeispiel
in 8C analog zu dem in 8A gezeigten Ausführungsbeispiel arbeitet.
-
Das in 8C gezeigte
Ausführungsbeispiel kann
beispielsweise verwendet werden, um Korrelationen unter Verwendung
von vier Abtastwerten pro Chip durchzuführen. Falls acht Abtastwerte
pro Chip den Dezimatoren 840 und 842 zugeführt werden, kann
jeder der Dezimatoren 840 und 842 ein anderes Paar
von den acht Abtastwerten ausgeben. Falls beispielsweise die bereitgestellten
Abtastwerte mit 1, 2, 3 ... nummeriert sind, kann der Dezimator 840 die
Abtastwerte 1, 5, 9 ... ausgeben, und der Dezimator 842 kann
Abtastwerte 3, 7, 11 ... ausgeben. Der Schalter 844 kann
dazu betrieben werden, Abtastwerte auszugeben, die vom Dezimator 842 empfangen
werden.
-
Das in 8C gezeigte
Ausführungsbeispiel kann
auch dazu verwendet werden, parallele Korrelationen von zwei Codesequenzen
durchzuführen. Beispielsweise
können
die Dezimatoren 840 und 842 jeweils Abtastwerte
1, 5, 9 ... ausgeben, jedoch würden
die Codes A und C unterschiedlichen aneinander angrenzenden Codeabschnitten
entsprechen. Der Schalter 844 kann dazu betrieben werden,
von dem Dezimator 842 empfangene Abtastwerte auszugeben.
-
Das in 8C gezeigte
Ausführungsbeispiel kann
auch mit mehr als zwei Gruppen konfiguriert werden, mit einem Dezimator
und Summierer für
jede Gruppe und Schaltern, die die Gruppen trennen.
-
Während
2 Abtastwerte pro Chip den in 8A, 8B und 8C gezeigten
Abgegriffenen Verzögerungsleitungen
bereitgestellt werden, können
andere Anzahlen von Abtastwerten von Chip verwendet werden. Beispielsweise
kann ein Abtastwert pro Chip verwendet werden, und das Ausführungsbeispiel
in 8C kann dazu verwendet werden,
Ergebnisse an 2 Abtastwerten pro Chip zu erlangen, anstelle von
4. Weiter können
die Ausführungsbeispiele
in 8B und 8C kombiniert
werden, so dass ein jedes Element in der Verzögerungsleitung multiple Abgriffe aufweisen
kann, wie in 8B gezeigt, wodurch es einer
jeden der Gruppen 860 und 862 ermöglicht wird,
multiple Codes zu korrelieren.
-
Der flexible Gleitkorrelator kann
vor oder während
eines Betriebs adaptiv konfiguriert werden, um in einer Vielzahl
von Situationen eine maximale Leistungseigenschaft bereitzustellen.
Der flexible Gleitkorrelator kann beispielsweise durch einen Nutzer
vor oder während
eines Betriebs konfiguriert werden oder kann automatisch durch einen
Steuerer (nicht gezeigt) im Spreitzspektrumempfänger konfiguriert werden. Beispielsweise,
in einer Situation, in der der flexible Gleitkorrelator in einem
herkömmlichen
Modus betrieben wird, in zwei aneinander angrenzende lokale Codeabschnitte
aufgeteilt, die kohärent
verarbeitet und addiert werden, falls der Steuerer in dem Empfänger feststellt,
dass die Rate einer Phasenänderung
des empfangenen Signals größer als
sein vorgegebener Schwellwert ist, dann kann der Steuerer bewirken,
dass die Ausgabe eines lokalen Codeabschnitts nicht kohärent mit
der Ausgabe des anderen lokalen Codeabschnitts addiert wird. In
einem weiteren Beispiel kann der flexible Gleitkorrelator anfänglich in
zwei nicht aneinander angrenzende lokale Codeabschnitte aufgeteilt
sein. Falls der Steuerer feststellt, dass eine Stärke des
Signals unter einen vorgegebenen Schwellwert fällt, dann kann der flexible
Gleitkorrelator rekonfiguriert werden, so dass die zwei lokalen
Abschnitte aneinander angrenzend sind, wodurch eine längere Korrelation
bereitgestellt wird. Der Fachmann wird verschiedene andere Bedingungen
erkennen, unter denen der flexible Gleitkorrelator vorteilhaft von
einer Konfiguration zu einer anderen Konfiguration verändert wird,
wodurch eine Leistungsfähigkeit
des Spreitzspektrumempfängers erhöht wird.
-
Wie in 9 gezeigt,
kann das Basisbandsignal auch nicht gleichmäßig abgetastet werden, beispielsweise
nahe der optimalen Abtastposition an der Spitze einer Chip-Verlaufsform 901–912.
Wenn Information bezüglich
optimaler Abtastpositionen für
das Basisbandsignal vor einer Abtastung bekannt ist, kann eine nicht-gleichmäßige Abtastung
vom Beginn an verwendet werden. Falls Information bezüglich optimaler
Abtastpositionen anfänglich
nicht bekannt ist, dann kann das Basisbandsignal zuerst gleichmäßig abgetastet
werden, und dann später
nicht gleichmäßig abgetastet
werden, wenn optimale Abtastpositionen bekannt sind. Beispielsweise
ist in Übereinstimmung
mit einem ersten Verfahren, wenn ein erster Abtastwert eines Chips
einen größeren Betrag
als ein zweiter Abtastwert des Chips aufweist, der erste Abtastwert
näher an
der optimalen Abtastposition des Chips als der zweite Abtastwert.
Mit dieser Information kann das Abtasten durch ein Bewegen der Abtastposition
des zweiten Abtastwertes näher
zum ersten Abtastwert verbessert werden. In Übereinstimmung mit einem zweiten
Verfahren kann der Satz von Früh-Spät-Toren 58,
wie in 5 gezeigt, dazu verwendet
werden, eine optimale Abtastposition zu bestimmen, indem multiple
Abtastwerte erlangt werden, die zusammen eine optimale Abtastposition
anzeigen. Allgemein ist das erste Verfahren schneller als das zweite
Verfahren, während
das zweite Verfahren genauer ist. Das erste und zweite Verfahren kann
zusammen in einem Spreitzspektrumempfänger verwendet werden. Somit
kann das Abtasten des Basisbands adaptiv während eines Betriebs eines Spreitzspektrumempfängers eingestellt
werden, um die Empfängerleistungsfähigkeit
zu verbessern. Typischerweise wird das Basisbandsignal stark über-abgetastet
(z. B. acht Abtastwerte pro Chip) und dann durch den flexiblen Gleitkorrelator
unter abgetastet. Das Unter-Abtasten durch den flexiblen Gleitkorrelator
kann entweder gleichmäßig oder
nicht gleichmäßig sein.
-
10 zeigt
ein Flussdiagramm eines Betriebs eines flexiblen Gleitkorrekators
in Übereinstimmung
mit einer beispielhaften Ausführungsform
der Erfindung, wie beispielsweise dem in 8A gezeigten.
Der Fachmann wird erkennen, dass die in den 10 und 11 gezeigten
Funktionen innerhalb eines Spreitzspektrumempfängers auftreten, der in Übereinstimmung
mit der Erfindung vorliegt, und durch einen Mikroprozessor koordiniert
werden können,
digitale Signalprozessor (DSP) oder einen anderen geeigneten Steuerer
(nicht gezeigt), der in dem Spreitzspektrumempfänger angeordnet ist oder mit
diesem verbunden ist.
-
Der Prozess beginnt mit Schritt 1008 von 10 und schreitet zu Schritt 1010 voran,
worin anfängliche
Abtastparameter in dem Spreizspektrumempfänger eingestellt werden. Diese
Parameter können
anzeigen, ob das Basisbandsignal gleichmäßig abzutasten ist, ungleichmäßig, wie
oft das Signal abzutasten ist, und so weiter. Die Parameter können als Vorgabe(Default)-werte
in dem Empfänger
gespeichert sein oder können
anfangs durch einen Nutzer des Empfängers vorgegeben werden. Der
Prozess schreitet dann zum Schritt 1012 voran, in dem anfängliche
Signatursequenzabschnitte in Multiplikationsabgriffe des Empfängers geladen
werden. Wie bei den Abtastparametern können die Codeabschnitte beispielsweise
als Vorgabecodeabschnitte in dem Empfänger gespeichert werden oder
durch einen Nutzer des Empfängers
spezifiziert werden. Der Prozess schreitet vom Schritt 1012 zum
Schritt 1014 voran, in dem die Multiplikationsabgriffsausgänge in Gruppen
unterteilt werden. Allgemein entsprechen die Gruppen den geladenen
Codeabschnitten, doch können
alternativ die Multiplikationsabgriffsausgänge in andere Gruppen aufgeteilt
werden, wie dies erforderlich ist. 8A zeigt
ein Beispiel, in dem zwei Codeabschnitte A und C in die Multiplikationsabgriffe 608 geladen
wurden, und die Ausgänge
der Multiplikationsabgriffe in zwei Gruppen 809, 811 aufgeteilt wurden,
die den Codeabschnitten A und C entsprechen.
-
Vom Schritt 1014 schreitet
der Ablauf zum Schritt 1016 voran, in dem eine spezielle
Kombination der Gruppen ausgewählt
wird. Beispielsweise werden eine oder mehrere der Ausgänge des
Prozessors 812, in 8A gezeigt,
ausgewählt.
Wie bei den Schritten 1010 und 1012 kann die Aufteilung
der Multiplikationsabgriffsausgänge
in Gruppen in Schritt 1014 und die Kombinationsauswahl
im Schritt 1016 in Übereinstimmung
mit Vorgabewerten vorgenommen werden, die in dem Empfänger gespeichert
sind, oder mit durch einen Nutzer spezifizierten Parametern.
-
Vom Schritt 1016 schreitet
der Ablauf zum Schritt 1024 voran, in dem Datenabtastwerte
zu einer Verzögerungsleitung
geführt
werden, wie beispielsweise der in 8A gezeigten
Verzögerungsleitung 604.
Im Schritt 1026 wird das digitale Signal extrahiert. Dieser
Schritt eines Extrahierens enthält
ein Multiplizieren der Abtastwerte in der Verzögerungsleitung mit entsprechenden
Werten in dem Multiplikationsabgriffen, ein Summieren von Gruppen
der sich ergebenden Werte, die von den Multiplikationsabgriffen
ausgegeben werden, und ein Kombinieren der Summen, wie beispielsweise
in 8A angezeigt, und weiter oben beschrieben.
-
Vom Schritt 1026 schreitet
der Ablauf zum Schritt 1044 voran, in dem eine Bestimmung
getätigt wird,
ob die Abtastparameter einzustellen sind. Diese Bestimmung kann
in Übereinstimmung
mit beispielsweise Parametern vorgenommen werden, die durch einen
Nutzer des Empfängers
spezifiziert sind, oder in Übereinstimmung
mit einem Steueralgorithmus in dem Empfänger, der versucht, die Abtastphase
und Frequenz mit Bezug auf das empfangene Basisbandbreitensignal
zu optimieren. Die Einstellung kann ein verschieben von gleichmäßiger zu
nicht gleichmäßiger Abtastung
enthalten oder anders herum.
-
Falls festgestellt wird, dass die
Abtastparameter einzustellen sind, dann schreitet der Ablauf vom
Schritt 1044 zum Schritt 1028 voran, in dem die Abtastparameter
adjustiert und gesetzt werden und danach schreitet der Ablauf zum
Schritt 1042 voran. Falls die Abtastparameter nicht einzustellen
sind, schreitet der Ablauf von Schritt 1044 zum Schritt 1042 voran.
-
Im Schritt 1042 wird festgestellt,
ob die Signatursequenzabschnitte einzustellen sind. Diese Bestimmung
kann beispielsweise durch einen Nutzer des Empfängers getätigt werden, oder kann durch
einen Steueralgorithmus im Empfänger
in Reaktion auf eine Änderung
von Signalübertragungsbedingungen oder
anderen Faktoren getätigt
werden. Falls beispielsweise das empfangene Kompositsignal schwach
wird, und Werte entsprechend multiplen nicht aneinander angrenzenden
Codeabschnitten in den Multiplikationsabgriffen gespeichert sind,
dann können
die Multiplikationsabgriffe statt dessen mit Werten entsprechend
aneinander angrenzenden Codeabschnitten geladen werden, um die Empfindlichkeit
oder Genauigkeit des Empfängers
effektiv zu erhöhen.
In einem weiteren Beispiel, falls der Empfänger in einem Schnell-Akquisitionsmodus
ist, in dem Abtastwerte statisch in der Verzögerungsleitung gespeichert
verbleiben, wenn eine Signatursequenz durch die Multiplikationsabgriffe
mit einer lokalen Taktrate geführt
werden, die höher
als die Abtastrate ist, dann müssen
die Signatursequenzabschnitte in dem Multiplikationsabgriffen "eingestellt" werden. In diesem
Fall würde
die Einstellung ein Verwerfen des Wertes in dem letzten Multiplikationsabgriff
enthalten, ein Verschieben eines jeden verbleibenden Wertes zu einem
benachbarten Multiplikationsabgriff, in einer Richtung des letzten
Multiplikationsabgriffs, und ein Einführen eines nächsten Wertes
der Signatursequenz in den ersten Multiplikationsabgriff.
-
Falls im Schritt 1042 festgestellt
wird, dass die Signatursequenzabschnittswerte die in dem Multiplikationsabgriffen
gespeichert sind, einzustellen sind, dann schreitet der Ablauf zum
Schritt 1030 voran, in dem die in den Multiplikationsabgriffen
gespeicherten Werte entsprechend geändert werden. Vom Schritt 1030 schreitet
der Ablauf zum Schritt 1040 voran. Falls im Schritt 1042 festgestellt
wird, dass die Werte nicht einzustellen sind, dann schreitet der
Ablauf zum Schritt 1040 voran.
-
Im Schritt 1040 wird festgestellt,
ob die Kombination der Multiplikationsabgriffs-Ausgangsgruppen einzustellen
ist. Falls die Kombination einzustellen ist, dann schreitet der
Ablauf zum Schritt 1032 voran, in dem die Kombination eingestellt
wird. Die Bestimmung, ob die Kombination des Multiplikationsabgriffsausgänge zu stellen
ist, kann beispielsweise darauf basieren, ob das Signal sich schnell
verändert,
z. B. ein Schwund einer Signalstärke
oder ein Verschieben in einer Phase/Verzögerung vorliegt. In dieser
Situation ist eine nicht-kohärente
Addition aus weiter oben erläuterten
Gründen
wünschenswert, und
die Kombination von Multiplikationsabgriffsausgängen würde von einer kohärenten Addition
zu einer nicht-kohärenten
Addition geändert
werden. Vom Schritt 1032 schreitet der Ablauf zum Schritt 1036 voran.
Falls im Schritt 1040 festgestellt wird, dass die Kombination
von Multiplikationsabgriffsausgangsgruppen nicht zu ändern ist,
dann schreitet der Ablauf vom Schritt 1040 zum Schritt 1036 voran.
-
Im Schritt 1036 wird festgestellt,
ob die Extraktion vollständig
ist. Falls die Extraktion vollständig ist,
dann schreitet der Ablauf zum Schritt 1034 voran und endet. Falls
die Extraktion nicht vollständig
ist, schreitet der Ablauf zum Schritt 1038 voran.
-
Im Schritt 1038 wird festgestellt,
ob neue Abtastwerte zu erlangen sind. Diese Bestimmung basiert darauf,
ob Abtastwerte durch die Verzögerungsleitung
geführt
werden. Falls Abtastwerte durch die Verzögerungsleitung geführt werden,
dann schreitet der Ablauf in Schritt 1024 voran und wird
wiederholt. Falls die Abtastwerte nicht durch die Verzögerungsleitung
geführt
werden, beispielsweise während
einer Schnell-Akquisition, wenn Abtastwerte statisch in der Verzögerungsleitung
gespeichert sind, wenn Signatursequenzwerte durch die Multiplikationsabgriffe
geführt
werden, dann schreitet der Ablauf zum Schritt 1026 voran,
und wird wiederholt.
-
Da die Verzögerungsleitung Multiplikationsabgriffen
entspricht, die Werte für
Signatursequenzabschnitte enthalten, und da die Multiplikationsabgriffsausgänge gruppiert
sind, teilt ein Einführen
von Abtastwerten in die Verzögerungsleitung
effektiv die Abtastwerte in Gruppen entsprechend den Codeabschnitten
und/oder den Multiplikationsabgriffsausgangsgruppen auf.
-
11 zeigt
Schritte 1110–1114,
die Schritt 1026 von 10 entsprechen,
und weitere Details zeigen. In dem Schritt 1110 werden
die Abtastwerte in der Verzögerungsleitung
mit Koeffizienten oder Signatursequenzwerten, gespeichert in entsprechenden
Multiplikationsabgriffen, multipliziert, und die multiplizierten
Werte werden an den Multiplikationsabgriffsausgängen bereitgestellt. Falls
der Endspreizcode +1 oder –1
ist, wird eine Multiplikation zur Negierung oder nicht-Negierung
des Wertes, so dass ein Endspreizen ein Addieren und Substrahieren
darstellt. Falls der Endspreizcode aus ±1 ±j besteht, einem komplexen
Wert, ist eine Multiplikation ebenso einfach. Es ist vorzuziehen,
ein Negieren und Schaltoperationen zu verwenden, wie sie im US-Patent
Nr. 6.055.887, eingereicht am 14. November 1996, beschrieben sind.
Es wird darauf hingewiesen, dass in einem Empfänger eine Multiplikation mit
einem Spreizcode ein Konjugieren des Spreizcodes enthält.
-
Im Schritt 1112 werden die
multiplizierten Werte innerhalb jeder Gruppe von Multiplikationsabgriffsausgängen summiert,
und dann werden im Schritt 1114 die Summen kombiniert.
-
11 enthält auch
Schritt 1116, in dem eine Bestimmung betätigt wird,
ob die Abgriffsausgangsgruppierung einzustellen ist. Falls die Abgriffsausgangsgruppierungen
einzustellen sind, schreitet der Ablauf zum Schritt 1118 voran,
in dem die Abgriffsausgangsgruppierungen eingestellt werden. Die Multiplikationsabgriffsausgangsgruppierung
kann beispielsweise dann eingestellt werden, wenn die Multiplikationsabgriffsausgangsgruppen
Signatursequenzabschnitte entsprechen, und neue Signatursequenzabschnitte
mit von vorhergehenden Signatursequenzabschnitten unterschiedlichen
Längen
in die Multiplikationsabgriffe geladen werden. Der Fachmann wird
feststellen, dass das obwohl 11 anzeigt,
dass die Schritte 1116 und 1118 zwischen den Schritten 1024 und 1044 von 10 angeordnet sind, die
Schritte 1116 und 1118 alternativ angeordnet sein
können,
beispielsweise zwischen den Schritten 1024 und 1036.
-
Es versteht sich, dass die Erfindung
nicht auf die oben beschriebenen speziellen Ausführungsbeispiele beschränkt ist
und dass Modifikationen durch den Fachmann vorgenommen werden können. Der Umfang
der Erfindung wird durch die folgenden, Ansprüche bestimmt, und beliebige
und alle Modifikationen innerhalb des Umfangs sollen darin enthalten sein.