-
Die
Erfindung betrifft ein Verfahren zur drahtlosen Kommunikation mit
mindestens einer peripheren Einheit und im Besonderen ein Spreizspektrumverfahren
mit mehrfacher Spreizung/Entspreizung des Datenübertragungssignals mit Hilfe
mehrfacher Spreizfolgen.
-
Insbesondere
in Kraftfahrzeugen wird bereits heute eine Vielzahl von Funktionen über Fernsteuerungen
ausgelöst
oder gesteuert. Üblicherweise
wird dafür
eine Funkstrecke in lizenzfreien Frequenzbändern für die Übertragung vom und zum Kraftfahrzeug
genutzt. Für
den Fahrzeugzugang und beispielsweise auch den Motorstart sind dies
sogenannte „Remote
Keyless Entry" Systeme
(kurz: RKE-Systeme), wie sie zum Beispiel zur Funkzentralverriegelung
verwendet werden. RKE-Systeme stellen inzwischen die Standardlösung nicht nur
für komfortables
Ver- und Entriegeln
eines Fahrzeuges, sondern auch für
weitere Komfortfunktionen dar. Dies erfolgt mittels einer meist
in einem Fahrzeugschlüssel
integrierten, batteriebetriebenen Funksteuerung, die darüber hinaus
dazu verwendet wird, dass neben dem Ver- und Entriegeln der Türen und
des Kofferraums auch der Diebstahlschutz sowie die Wegfahrsperre
entsprechend aktiviert oder deaktiviert werden. Weitere Funktionen,
wie beispielsweise komfortables Öffnen
und Schließen
von Fenstern, Sonnendächern,
Schiebetüren
oder Heckklappen können
ebenso mitintegriert sein. Eine weitere Komfortfunktion und Sicherheitsfunktion
ist die Aktivierung der Vorfeldbeleuchtung des Fahrzeuges. Für zusätzliche
Sicherheit sorgt ein im Schlüssel
integrierter sogenannter Notfall-Knopf, der auf Druck einen akustischen
und visuellen Alarm am Fahrzeug auslöst.
-
Solche
RKE Systeme arbeiten dabei je nach Anforderungen mit uni- oder bidirektionaler
Kommunikation im Bereich weltweit freigegebener ISM-Frequenzen.
Weitere Merkmale sind zum Beispiel eine gesicherte Datenübertragung
mit optional erhöhter
Sicherheit durch ein Challenge-Response-Authentifizierungsverfahren (bidirektional)
sowie ein niedriger Energieverbrauch. Zudem lassen weitergehende
Anwendungen eine Personalisierung der Funktionen eines RKE-Systems
auf ausgewählte
Personen zu. Die Reichweite solcher RKE Systeme beträgt üblicherweise
bis zu 100 m.
-
Ein
weiteres auf Funkkommunikation basierendes System ist das so genannte
PASE-System. PASE steht dabei für
PAssive Start and Entry und beschreibt eine schlüsselloses Zugangs- und Startsystem.
Bei diesem schlüssellosen
Fahrzeugzugangssystem muss der Fahrer lediglich einen Identifikationsgeber
(ID) mit sich führen
und erhält
durch einfaches Berühren
des Türgriffes
Zugang zum Fahrzeug. Sobald sich der Fahrer im Innern des Fahrzeuges
befindet, kann der Motor durch Knopfdruck gestartet werden. Verlässt der
Fahrer das Fahrzeug, so verriegelt das PASE-System das Fahrzeug
entweder automatisch oder auf Knopfdruck. Der Identifikationsausweis
des Fahrers ersetzt herkömmliche
mechanische oder funkgesteuerte Schlüssel und soll maximalen Komfort
und einfachste Handhabung für
den Fahrer bieten. Auch hier besteht wiederum die Möglichkeit
der Personalisierung auf ausgewählte
Personen und es wird üblicherweise
eine mehrkanalige bidirektionale Datenübertragung eingesetzt, die
ebenfalls drahtlos und verschlüsselt,
zum Beispiel im Bereich der weltweit freigegebenen ISM-Frequenzen
erfolgt.
-
Daneben
etablieren sich im Bereich von Kraftfahrzeugen heute auch noch Systeme
mit weiteren Funktionen wie zum Beispiel der Übermittlung von Zustandsinformationen.
Solche Systeme wirken im Allgemeinen über größere Reichweiten, üblicherweise
mehrere 100 m. Beispiele dafür
sind der sogenannte Telestart, d. h. ein Motorstart aus größeren Entfernungen,
oder die Fernbedienung einer Standheizung, einer Klima-Automatik
und -soweiter. Weitere Beispiele für den Einsatz von Funkstrecken
mit größeren Reichweiten
als denjenigen bei den beschriebenen RKE- und PASE-Systeme betreffen
aus größerer Entfernung
abrufbare Statusinformationen zum Kraftfahrzeug, wie etwa der aktuelle
Schließzustand,
die aktuelle Innenraumtemperatur und Ergebnisse technischer Systemüberprüfungen (Technik-Check).
Auch eine Übertragung
von Alarmmeldungen ist über
eine größere Entfernung
wünschenswert.
-
Alle
Funktionen, die eine drahtlose Datenübertragung über größere Entfernungen erfordern,
werden auch unter dem Oberbegriff „Long-Range-Anwendungen" zusammengefasst.
Ein Ziel für
Long-Range-Anwendungen ist es, die Datenübertragung beziehungsweise
Kommunikation über
Entfernungen von mindestens 600 m bidirektional zur Verfügung zu
stellen. Um das Ziel einer Datenübertragung über größere Entfernungen und
die damit verbundene notwendige hohe Empfindlichkeit beim Signalempfang
zu erreichen ist es nach dem Stand der Technik üblich, die Datenübertragung
der Nutzsignale mit einer geringen Datenrate auszuführen. Ein solches
dabei üblicherweise
eingesetztes Verfahren ist das so genannte Spreizspektrumverfahren
unter Verwendung der Bandspreiztechnik.
-
Die
Idee der Spreizspektrum-Kommunikation (Spread Spectrum Communication)
ist bereits einige Jahrzehnte alt. Standen dabei zu Beginn der Entwicklung
Forderungen nach störungs-
und abhörsicherer Kommunikation,
insbesondere für
den militärischen
Anwendungsbereich im Vordergrund, so gewannen zunehmend auch die
Vorteile einer robusten Übertragung
in frequenzselektiven Kanälen
und einfach zu realisierender variabler Datenübertragungsrate an Bedeutung,
so dass sich die Bandspreiztechnik im Zusammenhang mit der wachsenden
Verfügbarkeit
entsprechend leistungsfähiger
Hardware zu einer führenden
Technologie für
die Satelliten- und Mobilkommunikation entwickelt hat.
-
Spreizspektrum-Anordnungen
sind durch eine Übertragungsbandbreite
gekennzeichnet, die wesentlich größer als die Bandbreite der
zu übertragenden
Information ist. Diese codebasierte Spreizung eines Datensignals
vor dessen Übertragung wird
erreicht durch die Multiplikation des Datensignals mit einer festgelegten
Bitsequenz (Pseudozufallszahl) höherer
Bitrate, der so genannten Chiprate. Auf diese Weise wird unter Beibehaltung
der Nettodatenrate eine Spreizung im modulierten Hochfrequenzspektrum
erreicht. Die Demodulation eines solchen Spreizspektrum-Signals
erfolgt im Wesentlichen durch Korrelation des Empfangssignals mit
einer Kopie des im Sender zur Spreizung verwendeten so genannten
Spreizsignals. Grundlegender Bestandteil einer Spreizspektrum-Anordnung
sind Pseudo-Zufallssequenzen, deren Autokorrelationsfunktion in
Bezug auf eine empfängerseitige
Entspreizung des gespreizten Datensignals ideale Eigenschaften aufweist.
-
Dabei
wird beispielsweise ein zu übertragendes
Datensignal d(k) der Datenrate D (kBit/sek) mit einer so genannten
Spreizfolge s(l) einer Länge
m multipliziert. Das daraus hervorgehende gespreizte Datensignal oder
Chipsignal c(l) mit c(l) = d(k)·s(l) weist die m-fache, auch
als Chiprate bezeichnete Datenrate der ursprünglichen Datenrate D auf. Dabei
bezeichnet k den Bit-Takt und l den Chip-Takt einer Anordnung zur Bandspreizung.
Mit Hilfe dieses gespreizten Datensignals wird ein Hochfrequenz-Trägersignal
beliebig (AM, FM, PSK, usw.) moduliert. Durch diese Vervielfachung
der ursprünglichen
Datenrate auf die Chipdatenrate ergibt sich eine Verbreiterung beziehungsweise
Spreizung des zur Funkübertragung
benötigten
Frequenzbereiches.
-
Als
Folge davon ergibt sich ein so genannter Spreizgewinn G, der sich
gemäß der Formel
G = 10·LOG(m)
errechnet. Je breiter die Spreizung des Frequenzbandes für die Informationsübertragung
gewählt wird,
desto weniger störanfällig ist
die Datenübertragung,
insbesondere für
schmalbandige Störsignale.
Als Folge davon lassen sich mit niedriger Nutzdatenrate trotzdem
breitbandige Sendesignale erzeugen. Insbesondere in den USA ist
dies Voraussetzung, um die Kriterien der FCC (Federal Communications
Commission) für Spread
Spectrum Übertragung
im 902 MHz Band zu erfüllen,
was eine Voraussetzung für
die Verwendung einer höheren
Sendeleistung ist. Durch die niedrige Nutzdatenrate bzw. wegen des
großen
Spreizgewinns bleibt die erwünschte
hohe Empfindlichkeite erhalten. Durch die höheren Sendeleistungs-Grenzen
und die hohe Empfindlichkeit lassen sich damit Reichweiten einer "Long-Range"-Funkübertragung
realisieren. Gleichzeitig bietet die Spreizung auch einen gewissen
Schutz gegen unerlaubtes Abhören
in Fällen,
in denen kritische Daten wie zum Beispiel Identifikationscodes übertragen
werden sollen.
-
Werden
der Spreizgewinn G oder der zu nutzende Spektralbereich oder die
Robustheit gegenüber Störsignalen
vorgegeben, ergibt sich aus einer oder mehreren dieser Forderungen
die benötigte
Länge m
der Spreizfolge. Bisherige Anordnungen setzen dabei eine einzelne
Spreizfolge ein, um das Datensignal einmal damit zu multiplizieren.
Daraus ergeben sich der verfügbare
Spreizgewinn, die Spektrumsspreizung usw. Um einen möglichst
großen
Spreizgewinn zu erzielen, müssen
möglichst
lange Spreizfolgen s(l) verwendet werden. Daraus resultiert nachteilig
jedoch auch ein erhöhter
Aufwand zur Entspreizung des übertragenen
Datensignals auf der Empfängerseite
einer solchen Anordnung. Dieser erhöhte Aufwand zeigt sich zum
Beispiel in der Anzahl der für
einen Korrelator zur Entspreizung des Datensignals benötigten Elemente,
wie Verzögerungsglieder,
logischen Verknüpfungselementen
und Speicherregistern für
die gespreizten Sequenzen.
-
Ein
nach dem Stand der Technik ebenfalls häufig eingesetztes alternatives
Spreizspektrum-Verfahren ist das Frequenzsprungverfahren (engl. „frequency
hopping spread spectrum")
Beim Frequenzsprungverfahren wird die Trägerfrequenz des Signals sprunghaft
in diskreten Schritten variiert, das heißt es wird zwar schmalbandig,
jedoch auf vielen verschiedenen Kanälen gesendet. Diese Verfahren
weist jedoch den Nachteil auf, dass sich durch die Forderung der
zufälligen
Benutzung einer Mindestanzahl von Kanälen lange Polling-Zyklen ergeben,
das heißt
der Sender muss zunächst
so lange senden, bis der Empfänger
alle für
die Datenübertragung
in Frage kommenden Kanäle
abgescannt hat. Dies hat bei batteriebetriebenen bidirek tionalen Funkübertragungsanordnungen,
wie den weiter oben erwähnten
RKE-Systemen einen deutlich erhöhten
und damit unerwünschten
Strombedarf des batteriebetriebenen Funkschlüssels zur Folge.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Spreizspektrumverfahren zur
drahtlosen Kommunikation anzugeben, bei dem unterschiedlichste Anforderungen
weitgehend erfüllt
werden.
-
Die
Aufgabe wird gelöst
durch ein Spreizspektrumverfahren gemäß Anspruch 1. Ausgestaltungen
und Weiterbildungen des Erfindungsgedankens sind Gegenstand von
Unteransprüchen.
-
Die
Aufgabe wird insbesondere gelöst
durch ein Spreizspektrumverfahren zur drahtlosen bidirektionalen
Kommunikation mit mehrfacher Spreizung/Entspreizung des Datensignals
mit Hilfe verkürzter
Spreizfolgenlängen
und mit mindestens einem entsprechenden Korrelator auf der jeweiligen
Empfängerseite
der bidirektionalen Funkübertragungsanordnung.
-
Die
Erfindung wird nachfolgend anhand der in den Figuren der Zeichnungen
dargestellten Ausführungsbeispiele
näher erläutert, wobei
gleiche Elemente mit gleichen Bezugszeichen versehen sind. Es zeigt:
-
1 in
einem Blockschaltbild eine allgemeine Struktur eines zur Entspreizung
benötigten
Korrelators nach dem Stand der Technik;
-
2 in
einem Ablaufdiagramm den Ablauf der Spreizung und Entspreizung eines
Datensignals nach dem Stand der Technik;
-
3 in
einem Blockschaltbild eine Struktur eines zur Entspreizung benötigten Korrelators
für den
Fall binärer
Eingangssignale und Entspreizung im Basisband;
-
4 in einem Blockschaltbild Ausführungsbeispiele
(a), (b) und (c) zur Erzeugung des Modulationssignals im Basisband;
-
5 in
einem Blockschaltbild ein Ausführungsbeispiel
der Struktur eines zur Entspreizung verwendeten Korrelators für den Fall
eines vielfach gespreizten Eingangssignals;
-
6 in
einem Flussdiagramm ein Ablaufbeispiel der Entspreizung durch den
Korrelator gemäß 5;
-
7 in einem Flussdiagramm drei Ablaufbeispiele
der Entspreizung durch drei weitere Ausführungsformen von Korrelatoren;
-
8 in
einem Blockschaltbild ein alternatives Ausführungsbeispiel der Struktur
eines zur Entspreizung verwendeten Korrelators für den Fall einer abschließenden Logikwertentscheidung;
-
9 in
einer Tabelle eine allgemeine Darstellung der Berechnungsvorschrift
für die
Anzahl der in einem Korrelator benötigten Elemente;
-
10 in
einem Blockschaltbild ein Ausführungsbeispiel
der Struktur des zur Entspreizung verwendeten Korrelators gemäß 8 für den Fall
einer sukzessiven Logikwertentscheidung;
-
11 in
einer Tabelle die Berechnungsvorschriften für die Anzahl der in einem Korrelator
mit sukzessiver Logikwertentscheidung benötigten Elemente;
-
12 in
einer Tabelle die Berechnungsvorschriften für die Anzahl der in einem Korrelator
mit sukzessiver Logikwertentscheidung beziehungsweise abschließen der Logikwertentscheidung
und zweifacher Spreizung beziehungsweise Entspreizung benötigten Elemente;
-
13 in
einer Tabelle die Anzahl der in einem Korrelator mit sukzessiver
Logikwertentscheidung beziehungsweise abschließender Logikwertentscheidung
und 225-facher Spreizung
beziehungsweise Entspreizung benötigten
Elemente;
-
14 in
einem Diagramm die Autokorrelationsfunktion eines mit einer ZigBee
Spreizfolge einmal gespreizten beziehungsweise entspreizten Datensignals;
und
-
15 in
einem Diagramm die Autokorrelationsfunktion eines mit einer ZigBee
Spreizfolge zweimal gespreizten beziehungsweise entspreizten Datensignals.
-
Wie
weiter oben beschrieben, müssen
zur Erzielung eines möglichst
großen
Spreizgewinns G nach dem Stand der Technik möglichst lange Spreizfolgen
(Spreizfolgenlänge
m) verwendet werden, die einen hohen Aufwand bei der empfängerseitigen
Entspreizung des übertragenen
Datensignals nach sich ziehen. Es wird nun vorgeschlagen, den Spreizgewinn
in der gewünschten
Größe nicht
durch eine einzelne Spreizung beziehungsweise Entspreizung (mit
der Spreizfolgenlänge
m) zu erreichen, sondern durch eine N-fache Spreizung beziehungsweise
Entspreizung des Datensignals mit Hilfe entsprechend kürzerer Spreizfolgenlängen der Längen n1, n2, ... nN. Dabei errechnet sich die gesamte wirksame
Spreizfolgenlänge
nges zu nges = n1·n2·...·nN. Auf diese Weise kann bei stark vergrößertem Spreizgewinn
eine Strom, Silizium und Register sparende Realisierung der Entspreizung
in einem ASIC erreicht werden.
-
Spreizfolgen
mit 15 Bit beziehungsweise 15 Chip Länge sind bereits in verschiedenen
anderen Ausführungsformen
von ASICS implementiert worden. Die nachfolgend aufgezeigten Ausführungsbeispiele
bieten bei einem nur verdoppelten Aufwand zur Entspreizung in einem
ASIC näherungsweise
die etwa 15fache Leistung hinsichtlich des Spreizgewinns. Dabei
wird beispielsweise die 15 Bit lange ZigBee Spreizfolge zweimal verwendet.
Das stellt auch eine Kompatibilität mit zukünftigen ZigBee Anwendungen
sicher. Dabei bezeichnet ZigBee einen neuen Industriestandard zur
Vernetzung von Geräten
und Sensoren beziehungsweise zur drahtlosen Kommunikation und Steuerung
in nahezu allen Bereichen (vgl. IEEE-Arbeitsgruppe 802.15.4).
-
Typische
Anwendungsbereiche für
ZigBee sind zum Beispiel die Heimvernetzung, die Automatisierungs-
und Sicherheitstechnik im Facility Management sowie die Machine-to-Machine
Kommunikation (M2M). Aufgrund der technischen Funktionalität und der
vergleichsweise geringen Kosten lassen sich durch ZigBee vollständig drahtlose,
infrastruktur-unabhängige
Geräte-
und Sensor-Netzwerke aufbauen. Der ZigBee Standard unterstützt Datenraten
von 20, 40 und 250 kBit/s in den Frequenzbereichen 868 MHz, 915
MHz beziehungsweise 2,4 GHz. Der Verbindungsaufbau bei ZigBee erfolgt
sofort, während
dieser beispielsweise bei Bluetooth Anwendungen bis zu 3 Sekunden
dauert. Auch ist die Anzahl der Komponenten in einem ZigBee-Netz
mit über
250 deutlich weniger limitiert als bei Bluetooth (7 Komponenten).
Weiterhin eignet sich der ZigBee Standard insbesondere vor dem Hintergrund
eines im Vergleich zu WLAN oder Bluetooth niedrigen Energieverbrauches,
was gerade beispielsweise bei batteriebetriebenen Geräten von
Vorteil ist.
-
Vorgesehen
sind auch Anwendungen, wo bei einer spektralen Bandbreite von mindestens
500 kHz mit bis zu 1 Watt Sendeleistung gearbeitet werden kann.
Dabei kann die hohe Bandbreite nur mit relativ hohen Chipdatenraten
erreicht werden (> 250
kChip/sec). Gleichzeitig kann jedoch, wie weiter oben beschrieben, nicht
auf die hohe Empfindlichkeit verzichtet werden, die eine geringe
Nettodatenrate des zu übertragenden Datensignals
bietet. Durch die Erfindung werden nun die für Long Range Anwendungen nötigen Reichweiten erzielt.
-
Wie
weiter oben bereits erwähnt,
wird in Spreizspektrumanordnungen nach dem Stand der Technik ein zu übertragendes
Daten signal d(k) der Datenrate D (kBit/sek) mit einer so genannten
Spreizfolge s(l) einer Länge
m (s(1 ... m)) multipliziert. Das daraus hervorgehende gespreizte
Datensignal oder Chipsignal c(l) mit c(l) = d(k)·s(l) weist die m-fache, auch
als Chiprate bezeichnete Datenrate der ursprünglichen Datenrate D auf (Spreizung).
Dabei bezeichnet k den Bit-Takt und l den Chip-Takt einer Anordnung zur Bandspreizung.
-
Empfängerseitig
wird dabei basierend auf dieser einen Spreizfolge s(1 ... m) eine
entsprechende Entspreizung des empfangenen Datensignals durchgeführt. Dazu
wird das mit der Auflösungs-Bitbreite b digitalisierte
Empfangssignal r(l) mit der Spreizfolge s(1 ... m) in einem empfangsseitigen
Korrelator korreliert. Als Folge davon ergeben sich Korrelationssummen
im Chip-Takt cor(l). Durch synchronisierte Heruntertaktung wird
daraus das Signal cor(k) und durch eine anschließende Entscheidung („0" oder „1") das entspreizte
Signal d(k) gewonnen. Die Synchronisation zur Heruntertaktung und
die Entscheidung können
dabei prinzipiell in der Reihenfolge vertauscht werden.
-
1 zeigt
in einem Blockschaltbild einen entsprechenden Korrelator nach dem
Stand der Technik. Dabei umfasst 1 m – 1 Verzögerungsglieder
Z1, Z2, ..., Zm-1, m Multiplizierer M1,
M2, ..., Mm, einen
Summierer Σ,
eine Anordnung 1 zur Heruntertaktung (downsampling) sowie eine Entscheidereinheit
2. Gemäß 1 wird
das mit der Auflösungs-Bitbreite
b digitalisierte Empfangssignal r(l, b) mit der Spreizfolge s(1
... m) korreliert. Dabei wird r(l, b) mit dem Wert s(1) der Spreizfolge
s(1 ... m) multipliziert und das Ergebnis dem Summierer Σ zugeführt, das über das
Verzögerungsglied
Z1 verzögerte
Signal r(l, b) wird mit dem Wert s(2) der Spreizfolge s(1 ... m)
multipliziert und das Ergebnis dem Summierer Σ zugeführt. Das über das Verzögerungsglieder Z2 weiter verzögerte Signal r(l, b) wird mit
dem Wert s(3) der Spreizfolge s(1 ... m) multipliziert und das Ergebnis dem
Summierer Σ zugeführt. Diese
Schritte werden im Korrelator gemäß 1 solange
wiederholt, bis das über
alle m – 1
Verzögerungsglieder
Z1, Z2, ..., Zm-1 verzögerte
Signal r(l, b) mit dem Wert s(m) der Spreizfolge s(1 ... m) multipliziert
und auch dieses Ergebnis dem Summierer Σ zugeleitet ist.
-
Das
Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis m
der Multiplizierer M1, M2,
..., Mm im Summierer Σ führt gemäß 1 zu dem
Signal cor(l), das durch die Anordnung 1 zur Heruntertaktung (downsampling)
in das Signal cor(k) überführt wird.
Durch die nachfolgende Aufbereitung in der Entscheidereinheit 2
(decision) wird durch eine Entscheidung in Bitwerte „0" oder „1" das erwünschte entspreizte
Bitsignal d(k) gewonnen, das dem ursprünglichen, in die Sendeeinheit
eingespeisten und zu übertragenden
Datensignal entspricht.
-
Es
ist an dieser Stelle anzumerken, dass eine Spreizung beziehungsweise
Entspreizung des Datensignals nicht im Basisband erfolgen muss und
dementsprechend die Spreizung beziehungsweise Entspreizung des Datensignals
auch nicht mit binären
Signalen erfolgen muss. Weiterhin sind die hier dargestellten Spreizer
beziehungsweise Entspreizer lediglich beispielhafte Ausführungsformen
von Korrelatoren, so dass die notwendige Synchronisation der Signale
zur Heruntertaktung in beliebiger Weise implementiert werden kann.
-
Der
gesamte Ablauf einer beispielhaften Spreizung und Entspreizung eines
Datensignals ist in der 2 vereinfacht in Form eines
Ablaufdiagramms dargestellt. Gemäß 2 werden
aus einem zu übertragenden
Datensignal mit Hilfe einer Spreizfolge der Länge m digitalisierte Chips
der Chiprate l erzeugt. In einem empfangsseitigen Korrelator wird
diese Bitfolge im Takt l mit der Spreizfolge (Sequenz s) der Länge m korreliert (siehe 1).
Durch nachfolgende synchronisierte Heruntertaktung (vergleiche Anordnung
1 in 1) wird ein Datensignal mit der ursprünglichen
Bitrate k = l/m wiederhergestellt. Durch eine nachfolgende Entscheidereinheit „decision" (vergleiche Entscheidereinheit
2 gemäß 1)
werden die Bits („0" oder „1") des ursprünglichen
Datensignals d(k) wiederhergestellt.
-
Das
verwendete Frequenzspreizverfahren wird auch als Direct Sequence
Spread Spectrum (DSSS) Verfahren bezeichnet. Dieses Verfahren wird
unter anderem auch bei Wireless LANs nach dem IEEE 802.11 Standard
verwendet.
-
Für den Spezialfall
binärer
Eingangssignale (Signal d(k)) und eine Entspreizung im Basisband
werden die Nutzdaten per Exklusiv-Oder (EXOR) mit einer vorgegebenen
Sequenz (Spreizfolge) verknüpft
und anschließend
auf die Bandbreite moduliert.
-
Die
verwendete Spreizfolge stellt dabei eine Bitfolge dar. Weist diese
Spreizfolge beispielsweise 8 Bit oder Chips auf, muss jedes Bit
des zu übertragenden
Datensignals mit dieser Spreizfolge EXOR verknüpft werden. Für eine beispielhafte
Spreizfolge oder Chippingsequenz von 1 1 0 0 0 1 1 1 ergibt sich
demnach für
die Übertragung
eines Datensignals d(k) bestehend aus einer „1" und einer „0" folgendes Signal:
Datensignal
d(k) | 1 | 0 |
Chippingsequenz | 1
1 0 0 0 1 1 1 | 1
1 0 0 0 1 1 1 |
EXOR-Verknüpfung | 0
0 1 1 1 0 0 0 | 1
1 0 0 0 1 1 1 |
-
Übertragen
wird in einem solchen Fall also das gespreizte Datensiganl mit der
Bitfolge 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1.
-
Um
aus diesem gespreizten und übertragenen
Datensignal das ursprüngliche
Datensignal d(k) wieder herzustellen, wird für den angeführten Spezialfall binärer Eingangssignale
und einer wie oben dargestellten Spreizung die Entspreizung im Basisband
nach dem Stand der Technik beispielsweise mit Hilfe eines in 3 veranschaulichten
Korrelators ausgeführt.
-
Der
Korrelator gemäß 3 umfasst
wiederum die aus der 1 bekannten Verzögerungsglieder
Z1, Z2, ..., Zm-1 und einen Summierer Σ. Abweichend von 1 umfasst 3 weiterhin
m negierte Exklusiv-Oder-Anordnungen negEXOR1,
negEXOR2, ... negEXORm und
m Speicherregister 3 für
die Spreizfolge sowie ei ne weitere negierte Exklusiv-Oder (negEXOR)
Anordnung 4. Gemäß 3 wird
das binäre
Empfangssignal c(l, 2) wiederum mit der Spreizfolge s(1 ... m) korreliert.
Dabei wird c(l, 2) mit dem Wert s(1) der Spreizfolge s(1 ... m)
negiert mit Exklusiv-Oder (negEXOR1) verknüpft und
das Ergebnis dem Summierer Σ zugeführt; das über das
Verzögerungsglied
Z1 verzögerte
Signal c(l, 2) mit dem Wert s(2) der Spreizfolge s(1 ... m) negiert Exklusiv-Oder
(negEXOR2) verknüpft und das Ergebnis dem Summierer Σ zugeführt; das über das
Verzögerungsglied
Z2 weiter verzögerte Signal c(l, 2) mit dem
Wert s(3) der Spreizfolge s(1 ... m) negiert Exklusiv-Oder (negEXOR3) verknüpft
und das Ergebnis dem Summierer Σ zugeführt. Diese
Schritte werden im Korrelator gemäß 3 solange
wiederholt, bis das über
alle m – 1
Verzögerungsglieder
Z1, Z2, ..., Zm-1 verzögerte
binäre Signal
c(l, 2) mit dem Wert s(m) der Spreizfolge s(1 ... m) negiert Exklusiv-Oder
(negEXORm) verknüpft und auch dieses Ergebnis
dem Summierer Σ zugeführt ist.
-
Das
Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis m
der m negierten Exklusiv-Oder (negEXOR) Anordnungen negEXOR1, negEXOR2 ... negEXORm wird in den m Speicherregistern 3 abgelegt.
Anordnung 4 fungiert als Entscheider, indem das MSB aus Speicherregister
3 mit dem logischen Wert „1" über die negierte Exklusiv-Oder
(negEXOR) Anordnung verknüpft
wird, woraus sich die erwünschten binären Logikwerte „0" und „1" des ursprünglichen
binären
Datensignals ergeben. Für
den Aufbau eines solchen Korrelators zur Verarbeitung von mit dem
Faktor m gespreizten Datensignalen wird folgende Anzahl von Komponenten
benötigt:
m – 1
Verzögerungsglieder
Z1, Z2 ... Zm-1, m + 1 negierte Exklusiv-Oder (negEXOR) Anordnungen,
m Speicherregister 3 und ein Summierer Σ für m Bit.
-
Nachfolgend
wird nun dargelegt, wie die beschriebene einmalige Spreizung beziehungsweise Entspreizung
mit einer Spreizfolge der Länge
m durch einen N-malige Spreizung beziehungsweise Entspreizung mit
Spreizfolgen der Längen
n1, n2, ... nN ersetzt werden kann. Die einzelnen Spreizfolgen
werden dabei mit s1(1 ... n1),
s2(1 ... n2), ...
sN(1 ... nN) bezeichnet.
-
Dabei
gilt für
die gesamte Spreizlänge
nges die Berechnungsvorschrift nges = n1·n2·...·nN. Für
einen einfachen Vergleich mit einer konventionellen Spreizung beziehungsweise
Entspreizung kann dazu auch nges = m gewählt werden.
Zur Erzeugung des Modulationssignals im Basisband können dabei
beispielhaft die in 4a, 4b und 4c veranschaulichten
zwei Anordnungen verwendet werden.
-
4a umfasst
N Multiplizierer M1, M2,
..., MN. Dabei wird gemäß einer Ausführungsform
eines Verfahrens beziehungsweise einer Anordnung zur Spreizung eines
Datensignals mit N Spreizfolgen das ursprüngliche Datensignal d(k) über einen
ersten Multiplizierer M1 mit einer Spreizfolge
s1(l1) multipliziert. Das aus dieser Multiplikation resultierende
Signal c(l1) wird über
einen zweiten Multiplizierer M2 mit einer
Spreizfolge s2(l2) multipliziert, wodurch das Signal c(l2) entsteht.
Dieser Vorgang wird unter Verwendung von insgesamt N Multiplizierern
M1, M2 ... MN solange fortgesetzt, bis zuletzt ein aus
dem vorhergehenden Multiplizierer MN-1 hervorgehendes
Signal c(lN – 1)
unter Verwendung des letzten Multiplizierers MN mit
der letzten Spreizfolge sN(lN) multipliziert wird und das endgültige, mehrfach
gespreizte Signal c(lN) ergibt.
-
In 4b ist
gezeigt, wie sich dieses Prinzip verwenden lässt, um eine vorhandene ZigBee
Architektur bzw. -Hardware für
eine Long-Range-Anwendung (Datenrate exemplarisch 1 kbit/s) zu erweitern:
Die ZigBee-Hardware erwartet Eingangsdaten mit 40 kbit/s und spreizt
diese mit der Zig-Bee Spreizsequenz s2 der Länge 15, woraus ein Sendesignal
mit 600 kchip/s resultiert. Die Long-Range Daten werden zuvor mit
einer Spreizsequenz s1 der Länge
40 gespreizt, womit aus der eigentlichen Long-Range Datenrate von
1 kbit/s ein ZigBee-konformes
Eingangssignal mit 40 kchip/s entsteht. Insgesamt wurde das Long-Range
Signal also mit dem Faktor 40·15
= 600 gespreizt. Die Wahl der Spreizsequenz s1 ist dabei so erfolgt,
daß eine
gegebene Bitrate auf 40 kchip/s gespreizt wird. Grundsätzlich lässt sich
dieses Prinzip auch umkehren: So kann es vorteilhaft sein, s1 =
s2 zu wählen.
Für obiges Beispiel
wäre dann
die Long-Range Sequenz gleich der Zig-Bee-Sequenz (Länge 15), und der Gesamt-Spreizfaktor
wäre 15·15 = 225.
Da die ZigBee-Hardware die finale Chiprate vorgibt, resultiert eine
Long-Range-Datenrate von 2,67 kbit/s (= 600 kchip/s/225).
-
Eine
zweite Ausführungsform
umfasst gemäß 4c ebenfalls
N Multiplizierer M1, M2 ...
MN. Dabei werden zur Spreizung eines Datensignals
mit N Spreizfolgen zunächst
die Spreizfolgen s1(l1), s2(l2) ... sN(lN) mit sich selbst multipliziert.
Dies erfolgt beginnend mit der Multiplikation der Spreizfolgen s1(l1)
und s2(l2) über den
Multiplizierer M1 (siehe 4c unten).
Das Ergebnis dieser Multiplikation wird nachfolgend über den
Multiplizierer M2 mit der dritten Spreizfolge
s3(l3) multipliziert. Dieser Vorgang wird für die weiteren Spreizfolgen solange
fortgesetzt, bis über
den Multiplizierer MN-1 die letzte Spreizfolge
sN(lN) mit der Multiplaktion aller vorhergehenden Spreizfolgen multipliziert
wird. Diese Multiplikation aller Spreizfolgen s1(l1), s2(l2), ...,
sN(lN) mit sich selbst (Ausgangssignal des Multiplizierers MN-1 wird dann mit dem Datensignal d(k) multipliziert,
wodurch das gespreizte Signal c(lN) für die Datenübertragung entsteht. Dabei
führen
sowohl das Verfahren gemäß 4a als
auch das Verfahrens gemäß 4c zur
Spreizung eines Datensignals mit N Spreizfolgen zu gleichen Ausgangssignalen
c(lN).
-
Um
empfängerseitig
eine Entspreizung eines unter Verwendung der Verfahren gemäß der 4a oder 4c gespreizten
Datensignals vorzunehmen, kann auch ein Korrelator eingesetzt werden
wie er beispielhaft in 1 dargestellt ist. Ein solcher
Korrelator muss dann jedoch auf eine Spreizfolgenlänge ausgelegt sein,
die sich wie oben beschrieben aus den Einzellängen der Spreizfolgen gemäß nges = n1·n2·...·nN errechnet. In 5 ist beispielhaft
dargestellt, wie die Entspreizung des empfangenen Datensignals auch
durch eine Anordnung von N vereinfachten Korrelatoren erreicht werden
kann, die in Summe eine geringere Anzahl an Komponenten erfordern
als ein herkömmlicher
Korrelator für
eine Spreizfolgenlänge
nges.
-
5 umfasst
N getrennte Korrelatoren K1 bis KN. Dabei umfasst der Korrelator K1 n – 1
Verzögerungsglieder
ZN,1, ZN,2, ...,
ZN,n-1 mit jeweils einer Zeitverzögerung z–1 um
eine Abtastintervall, n Multiplizierer M1, M2, ..., Mn und einen
Summierer Σ.
Gemäß 5 wird
in Korrelator K1 das digitalisierte Empfangssignal c(l, b = b0)
mit der Spreizfolge sN(1 ... nN) korreliert. Dabei wird c(l, b =
b0) über
den Multiplizierer M1 mit dem Wert sN(1)
der Spreizfolge sN(1 ... nN) multipliziert und das Ergebnis wird
dem Summierer Σ zugeführt, das über das
Verzögerungsglied
ZN,1 verzögerte Signal c(l, b = b0) wird über den
Multiplizierer M2 mit dem Wert sN(2) der
Spreizfolge sN(1 ... nN) multipliziert und das Ergebnis dem Summierer Σ zugeführt, das über das
Verzögerungsglieder
ZN,2 weiter verzögerte Signal c(l, b = b0) wird
mit dem Wert sN(3) der Spreizfolge sN(1 ... nN) multipliziert und
das Ergebnis dem Summierer Σ zugeführt. Diese
Schritte werden im Korrelator K1 gemäß 5 solange
wiederholt, bis das über
alle n – 1
Verzögerungsglieder
ZN,1, ZN,2 ... ZN,n-1 mit jeweils einer Zeitverzögerung Z–1 verzögerte Signal
c(l, b = b0) mit dem Wert sN(nN) der Spreizfolge sN(1 ... nN) multipliziert und
auch dieses Ergebnis dem Summierer Σ zugeführt wird.
-
Das
Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis n
der Multiplizierer M1, M2 ... Mn im Summierer Σ führt gemäß 5 zu einem
Ausgangssignal des Korrelators K1 mit der
Chiprate l, das dem nachfolgenden Korrelator K2 als
Eingangssignal zur Verfügung
gestellt wird. Dabei umfasst der Korrelator K2 n – 1 Verzögerungsglieder
ZN-1,1, ZN-1,2 ...
ZN-1,n-1 mit jeweils einer Zeitverzögerung z–nN,
n Multiplizierer M1, M2 ...
Mn und einen Summierer Σ. Gemäß 5 wird in
Korrelator K2 das Ausgangssignal des Korrelators
K1 mit der Spreizfolge s(N – 1)(1 ...
nN) korreliert. Dabei wird das Ausgangssignal des Korrelators K1 über
den Multiplizierer M1 mit dem Wert s(N – 1)(1)
der Spreizfolge s(N – 1)(1
... nN) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt, das über das
Verzögerungsglied
ZN-1,1 verzögerte Ausgangssignal des Korrelators
K1 wird über
den Multiplizierer M2 mit dem Wert s(N – 1)(2)
der Spreizfolge s(N – 1)(1
... nN) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt, das über das
Verzögerungsglieder
ZN-1,2 weiter verzögerte Ausgangssignal des Korrelators
K1 wird mit dem Wert s(N – 1)(3)
der Spreizfolge s(N – 1)(1
... nN) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt. Diese
Schritte werden im Korrelator K2 gemäß 5 solange wiederholt,
bis das über
alle n – 1
Verzögerungsglieder
ZN-1,1, ZN-1,2 ...
ZN-1,n-1 mit jeweils einer Zeitverzögerung Z–nN verzögerte Ausgangssignal
des Korrelators K1 mit dem Wert s(N – 1)(n(N – 1)) der
Spreizfolge s(N – 1)(1 ...
nN) multipliziert und auch dieses Ergebnis dem Summierer Σ zugeführt wird.
Das Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis
n der Multiplizierer M1, M2 ...
Mn im Summierer Σ im Korrelator K2 führt gemäß 5 zu
einem Ausgangssignal des Korrelators K2 mit
der Chiprate l, das dem nachfolgenden Korrelator K3 (nicht
dargestellt) als Eingangssignal zur Verfügung gestellt wird.
-
Dieser
für die
Korrelatoren K1 und K2 beschriebene
Vorgang wird in entsprechend ausgeführten Korrelatoren K3 bis KN-1 fortgeführt, bis
das Ausgangssignal des (nicht gezeigten) Korrelators KN-1 dem
letzten Korrelator KN der Anordnung gemäß 5 zur
Verfügung
gestellt wird. Wie in allen vorhergehenden Schritten weist dieses
Ausgangssignal des Korrelators KN-1 die
Chiprate l auf. Der letzte Korrelator KN der
Reihe 1 bis N von Korrelatoren umfasst n – 1 Verzögerungsglieder Z1,1,
Z1,2 ... Z1,n-1 mit
jeweils einer Zeitverzögerung z–(nN+...+n2),
Multiplizierern M1, M2,
..., Mn, einen Summierer Σ, eine Anordnung
1 zur Heruntertaktung (Downsampling) sowie einen Entscheider 2.
Gemäß 5 wird
im Korrelator KN das Ausgangssignal des
Korrelators KN-1 mit der Spreizfolge s1(1
... n1) korreliert. Dabei wird das Ausgangssignal des Korrelators
KN-1 über den
Multiplizierer M1 mit dem Wert s1(1) der
Spreizfolge s1(1 ... n1) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt, das über das
Verzögerungsglied
Z1,1 verzögerte Ausgangssignal des Korrelators
KN-1 wird über den Multiplizierer M2 mit dem Wert s1(2) der Spreizfolge s1(1
... n1) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt, das über das
Verzögerungsglieder
Z1,2 weiter verzögerte Ausgangssignal des Korrelators
KN-1 wird mit dem Wert s1(3) der Spreizfolge
s1(1 ... n1) multipliziert und das Ergebnis wird dem Summierer Σ zugeführt.
-
Diese
Schritte werden im Korrelator KN gemäß 5 solange
wiederholt, bis das über
alle n-1 Verzögerungsglieder
Z1,1, Z1,2, ...,
Z1,n-1 mit jeweils einer Zeitverzögerung z–(nN+...+n2) verzögerte Ausgangssignal
des Korrelators KN mit dem Wert s1(n1) der
Spreizfolge s1(1 ... n1) multipliziert und auch dieses Ergebnis
dem Summierer Σ zugeführt wird.
Das Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis
n der Multiplizierer M1, M2 ...
Mn im Summierer Σ im Korrelator KN führt gemäß 5 zu
einem Ausgangssignal des Korrelators KN mit
der Chiprate l, das durch die Anordnung 1 zur synchronisierten Heruntertaktung
(Downsampling) in ein Signal mit der ursprünglichen Taktfrequenz des zu übertragenden
Datensignals überführt wird. Durch
die nachfolgende Aufbereitung in der Entscheidereinheit 2 wird durch
eine Entscheidung in Bit „0" oder Bit „1" das erwünschte entspreizte
Bitsignal d(k) gewonnen, das dem ursprünglichen, in die Sendeeinheit
eingespeisten und zu übertragenden
Datensignal entspricht.
-
Das
Vorgehen gemäß 5 entspricht
dabei einer Entspreizung des übertragenen
Datensignals in der umgekehrten Reihenfolge der Spreizung im Sender
einer Funkübertragungsanordnung,
wobei in den Korrelatoren K1 bis KN auch jeweils die zur Spreizung des Datensignals
eingesetzten Spreizfolgen in umgekehrter Reihenfolge zur Entspreizung
angewendet werden. Durch diese Aufteilung in N einzelne Korrelatoren
K1 bis KN auf der
Empfängerseite
ergibt sich im Vergleich zu einem einzelnen konventionellen Korrelator
eine Einsparung in der Anzahl der benötigten Multiplizierer. Die
beispielhafte Ausführungsform
der Entspreizung eines Datensignals gemäß 5 führt zu dem
gleichen Ergebnis, wie die Entspreizung eines Datensignals mit einem konventionellen
Korrelator, wenn das zu übertragende
Datensignal mit einer einzelnen Spreizfolge s1(n1) ... sN(nN) der Länge
m = n1·n2·...·nN gespreizt würde.
-
Gemäß dem in 5 dargestellten
Vorgehen werden die in den Korrelatoren K1 bis
KN-1 extrahierten Korrelationswerte der
einzelnen Spreizfolgen jeweils an den nachfolgenden (Teil-)Korrelator
weitergegeben, ohne dass an dieser Stelle eine Entscheidung über einen
logischen Bitwert „0" oder „1" getroffen wird.
Auch der Chiptakt l bleibt in diesen Fällen erhalten. Erst nach dem
letzten Teilkorrelator wird der Chiptakt auf den ursprünglichen
Bittakt heruntergetaktet (siehe Anordnung 1 gemäß 5). Anschließend wird
in der Entscheidereinheit 2 basierend auf der Summe aller Korrelationswerte
die Entscheidung Bit = „0" oder „1" getroffen. Dabei
ist die Reihenfolge von Heruntertaktung und Entscheidung in binäre Logikwerte
wiederum vertauschbar, ohne dass dies einen Einfluss auf das Ergebnis
der Anordnung gemäß 5 hat.
-
6 zeigt
in einem Flussdiagramm in übersichtlicher
Form den Ablauf der Entspreizung durch den mehrstufigen Korrelator
gemäß 5.
Wie weiter oben beschrieben, errechnet sich dabei die effektive
gesamte Spreizlänge
der Spreizung des zu übertragenden
Datensignals zu m = n1·n2·...·nN. Das empfängerseitig eingehende Signal
wird stufenweise in umgekehrter Reihenfolge mit den entsprechend
zur Spreizung angewandten Spreizfolgen korreliert. Gemäß 6 wird
das empfangene digitale Chipsignal mit der Chiprate l dem ersten
Korrelator K1 mit einer eingehenden Bitbreite
b0 zur Verfügung
gestellt. Der eingehende und der ausgehende Chiptakt beziehungsweise
die Chiprate betragen für
den Korrelator K1 jeweils l. In Korrelator
K1 findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1). In Korrelator K1 wird
die hier erste Entspreizungssequenz sN (letzte Spreizungssequenz
bei der Signalspreizung) mit der Spreizfolgenlänge nN angewendet (vergleiche
Korrelator K1 gemäß 5). Das
Ausgangssignal des Korrelators K1 ergibt
sich nach der Korrelation mit der Entspreizungssequenz sN (vergleiche
Korrelator K1 gemäß 5) zu corN(l,
b1) mit der Chiprate l und der ausgehenden Bitbreite b1.
-
Dieses
durch den Korrelator K1 übertaktete Signal corN(l, b1)
mit der Chiprate l und der Bitbreite ld(b0·nN) = b1 wird nachfolgend
an den zweiten Korrelator K2 weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator K2 jeweils l. Im Korrelator
K2 findet ein Oversampling des zu verarbeitenden
Signals statt (Oversampling = nN). Weiterhin wird in Korrelator
K2 die hier zweite Entspreizungssequenz
s(N – 1)
(vorletzte Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n(N – 1) angewendet
(vergleiche Korrelator K2 gemäß 5).
Das Ausgangssignal des Korrelators K2 ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s(N – 1)
(vergleiche Korrelator K2 gemäß 5)
zu cor(N – 1)(l,
b2) mit der Chiprate l und der ausgehenden Bitbreite b2. Dieser Vorgang
wird nachfolgend schrittweise über
die Korrelatoren K3 bis KN-1 mit
entsprechenden Eingangssignalen cor aus den vorhergehenden Korrelatoren
und entsprechenden Bitbreiten, Oversampling, Spreizfolgen und Spreizfolgenlängen und
der Chiprate l wiederholt, bis als Ausgangssignal des Korrelators
KN-1 das Ausgangssignal cor2(l, b(N – 1)) mit
der Chiprate l und der Bitbreite b(N – 1) zur Verfügung steht.
-
Dieses
durch den Korrelator KN-1 übertaktete
(oversampled) Signal cor2(l, b(N – 1)) mit der Chiprate l und
der Bitbreite ld(b(N – 2)·n2) =
b(N – 1)
wird gemäß 6 nachfolgend
an den letzten Korrelator KN weitergeleitet
(ld(...) ist der duale Logarithmus; das Ergebnis ist aufgerundet
auf die nächstgrößere Bitanzahl
zu verstehen). Der eingehende und der ausgehende Chiptakt beziehungsweise
die Chiprate betragen für
den Korrelator KN jeweils l. Im Korrelator
KN findet ein Oversampling des zu verarbeitenden
Signals statt (Oversampling = nN·n(N – 1)·...·n2). Weiterhin wird in Korrelator KN die hier letzte Entspreizungssequenz s1
(erste Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n1 angewendet
(vergleiche Korrelator K2 gemäß 5).
Das Ausgangssignal des Korrelators KN ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s1 (vergleiche Korrelator KN gemäß 5)
zu cor1(l, bN) mit der Chiprate l und der
ausgehenden Bitbreite bN.
-
Erst
nach dem letzten Teilkorrelator KN wird
der Chiptakt über
die Anordnung 1 auf den ursprünglichen Bittakt
synchronisiert heruntergetaktet (vergleiche Anordnung 1 gemäß 5).
Als Ergebnis ergibt sich ein Korrelationssignal cor1(k, bN) der ursprünglichen Bitrate k des zu übertragenden
Datensignals. Anschließend wird
in der Entscheidereinheit 2 basierend auf der Summe aller Korrelationswerte
die Entscheidung Bit = 0 oder 1 getroffen, wodurch sich das endgültige und
erwünschte
Ausgangssignal d(k, 1) der ursprünglichen
Bitrate k und der Bitbreite 1 ergibt. Dabei ist die Reihenfolge
von Heruntertaktung und Entscheidung wiederum vertauschbar, ohne
dass dies einen Einfluss auf das Ergebnis der Anordnung gemäß 5 und 6 hat.
-
Für die Synchronisation
zur Heruntertaktung gibt es mehrere Verfahren. Bei dem hier vorgestellten Verfahren
ist es unter der Zielsetzung einer schnellen und/oder einfachen
Synchronisation vorteilhaft, die Synchronisation auf Basis nur einer
oder weniger Teil-Sequenzen aufzusetzen.
-
Ausgehend
von dem beispielhaften Korrelator gemäß 5 mit abschließender Heruntertaktung (Downsampling)
der Chiprate und abschließender
Entscheidung in logische Bitwerte „0" und „1" werden nachfolgend weitere Ausführungsformen
von Korrelatoren mit einer stufenweisen Korrelation abgeleitet.
Diese umfassen stufenweise Korrelatoren mit abschließender Entscheidung
in logische Bitwerte „0" und „1", bei denen nach
jedem Teilkorrelator eine Heruntertaktung der Chiprate durchgeführt wird
(sukzessive Heruntertaktung), so dass dem jeweils nachfolgenden
Korrelator kein übertaktetes
Datensignal zugeführt
wird (siehe nachfolgende 7a). Weiterhin
umfassen die nachfolgenden alternativen Ausführungsbeispiele Korrelatoren
mit nur einer abschließenden
Heruntertaktung der Chiprate, bei denen nach jedem Teilkorrelator
eine Entscheidung in logische Bitwerte „0" und „1" getroffen wird (sukzes sive Entscheidung),
so dass dem jeweils nachfolgenden Korrelator ein 1 Bit breites Chipsignal
mit Übertaktung
zur Verfügung
gestellt wird (siehe nachfolgende 7b).
-
Weitere
alternative Ausführungsbeispiele
von Korrelatoren umfassen Teilkorrelatoren, in denen die jeweils
nachfolgenden Teilkorrelatoren ein 1 Bit breites Chipsignal ohne Übertaktung
zur Verfügung
gestellt bekommen. Dies bedeutet, dass dabei nach jedem Teilkorrelator
eine Heruntertaktung des Chipsignals und eine Entscheidung in logische
Bitwerte „0" und „1" getroffen wird,
wobei die Reihenfolge von Heruntertaktung und Entscheidung keinen
Einfluss auf das resultierende Ausgangssignal des jeweiligen Teilkorrelators
der Entspreizungsanordnung hat (siehe nachfolgende 7b).
-
7 zeigt in einem Flussdiagramm in übersichtlicher
Form den Ablauf der Entspreizung durch mehrstufige Korrelatoren.
Dabei zeigt 7a den Ablauf der Entspreizung
eines Datensignals durch stufenweise Korrelatoren mit abschließender Entscheidung
in logische Bitwerte „0" und „1", wobei nach jedem
Teilkorrelator eine Heruntertaktung der Chiprate durchgeführt wird
(sukzessive Heruntertaktung), so dass dem jeweils nachfolgenden
Korrelator kein übertaktetes
Datensignal zugeführt
wird. Gemäß 7a wird
das empfangene digitale Chipsignal mit der Chiprate l dem ersten
Korrelator K1 mit einer eingehenden Bitbreite
b = b0 zur Verfügung gestellt.
-
Der
eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator K1 jeweils l = l0. In Korrelator
K1 findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1). In Korrelator K1 wird
die hier erste Entspreizungssequenz sN (letzte Spreizungssequenz
bei der Signalspreizung) mit der Spreizfolgenlänge nN angewendet (vergleiche
Korrelator K1 gemäß 5). Das
Ausgangssignal des Korrelators K1 ergibt
sich nach der Korrelation mit der Entspreizungssequenz sN (vergleiche Korrelator
K1 gemäß 5)
zu corN(l0, b1) mit der Chiprate l0 und der ausgehenden Bitbreite
b1.
-
Dieses
durch den Korrelator K1 erzeugte Signal
corN(l0, b1) mit der Chiprate l0 wird in der nachfolgenden Anordnung
1 zur Heruntertaktung in ein Signal corN(l1, b1) mit der Chiprate
l0/nN umgewandelt und anschließend
an den zweiten Korrelator K2 weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator K2 jeweils l/nN = l1. Im
Korrelator K2 findet kein Oversampling des
zu verarbeitenden Signals statt (Oversampling = 1). Weiterhin wird
in Korrelator K2 die hier zweite Entspreizungssequenz
s(N – 1)
(vorletzte Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n(N – 1) angewendet
(vergleiche Korrelator K2 gemäß 5).
-
Das
Ausgangssignal des Korrelators K2 ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s(N – 1)
(vergleiche Korrelator K2 gemäß 5)
zu cor(N – 1)(l1,
b2) mit der Chiprate l1 und der ausgehenden Bitbreite b2. Nachfolgend
wird dieses Ausgangssignal in der nachfolgenden Anordnung 1 zur
Heruntertaktung in ein Signal cor(N – 1)(l2, b2) mit der Chiprate
l1/nN = l2 umgewandelt Dieser Vorgang wird
nachfolgend schrittweise über
die Korrelatoren K3 bis KN-1 mit
entsprechenden Eingangssignalen cor aus den vorhergehenden Korrelatoren
und entsprechenden Bitbreiten, Oversampling, Spreizfolgen und Spreizfolgenlängen und
Heruntertaktungen in Anordnungen 1 wiederholt, bis als Eingangssignal
für den
Korrelator KN das Signal cor2(l(N – 1), b(N – 1)) mit
der Chiprate l(N – 2)/(N – 1) und
der Bitbreite b(N – 1)
zur Verfügung
steht.
-
Dieses
durch den Korrelator KN-1 zur Verfügung gestellte
Signal cor2(l(N – 1),
b(N – 1))
mit der Chiprate l(N – 2)/(N – 1) und
der Bitbreite b(N – 1)
wird gemäß 7a nachfolgend
an den letzten Korrelator KN weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator KN jeweils l(N – 2)/(N – 1) = l(N – 1). In
Korrelator KN findet kein Oversampling des
zu verarbeitenden Signals statt (Oversampling = 1). Weiterhin wird
in Korrelator KN die hier letzte Entspreizungssequenz
s1 (erste Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n1 angewendet
(vergleiche Korrelator K2 gemäß 5).
Das Ausgangssignal des Korrelators KN ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s1 (vergleiche Korrelator KN gemäß 5)
zu cor1(l(N – 1),
bN) mit der Chiprate l(N – 1)
und der ausgehenden Bitbreite bN. Nach diesem letzten Teilkorrelator
KN wird der Chiptakt über die Anordnung 1 erneut
und damit auf den ursprünglichen
Bittakt heruntergetaktet (vergleiche Anordnung 1 gemäß 5).
-
Als
Ergebnis ergibt sich ein Korrelationssignal cor1(1N = k, bN) mit
der ursprünglichen
Bitrate k des zu übertragenden
Datensignals. Anschließend
wird in der Entscheidereinheit 2 basierend auf der Summe aller Korrelationswerte
die Entscheidung Bit = 0 oder 1 getroffen, wodurch sich das endgültige und
erwünschte
Ausgangssignal d(k, 1) der ursprünglichen
Bitrate k und der Bitbreite 1 ergibt. Dabei ist die Reihenfolge
von Heruntertaktung und Entscheidung nach dem letzten Korrelator
KN wiederum vertauschbar, ohne dass dies
einen Einfluss auf das Ergebnis der Anordnung gemäß 7a hat.
-
7b zeigt
den Ablauf der Entspreizung eines Datensignals durch stufenweise
Korrelatoren mit abschließender
Heruntertaktung nach dem letzten Teilkorrelator, wobei nach jedem
Teilkorrelator eine Entscheidung in logische Bitwerte „0" und „1" durchgeführt wird
(sukzessive Entscheidung), so dass dem jeweils nachfolgenden Korrelator
ein übertaktetes
Chip-Datensignal
mit 1 Bit Breite zugeführt
wird. Gemäß 7b wird
das empfangene digitale Chipsignal mit der Chiprate l dem ersten
Korrelator K1 mit einer eingehenden Bitbreite
b = b0 zur Verfügung
gestellt. Der eingehende und der ausgehende Chiptakt beziehungsweise
die Chiprate betragen für
den Korrelator K1 jeweils l.
-
Im
Korrelator K1 findet kein Oversampling des
zu verarbeitenden Signals statt (Oversampling = 1). In Korrelator
K1 wird die hier erste Entspreizungssequenz
sN (letzte Spreizungsse quenz bei der Signalspreizung) mit der Spreizfolgenlänge nN angewendet
(vergleiche Korrelator K1 gemäß 5).
Das Ausgangssignal des Korrelators K1 ergibt
sich nach der Korrelation mit der Entspreizungssequenz sN (vergleiche
Korrelator K1 gemäß 5) zu corN(l,
b1) mit der Chiprate l und der ausgehenden Bitbreite ld(nN·b0) =
b1.
-
Dieses
durch den Korrelator K1 erzeugte Signal
corN(l, b1) mit der Chiprate l wird in der nachfolgenden Entscheidereinheit
(Entscheidung in logische Bitwerte „0" und „1") in ein Signal corN(l, 1) mit der Chiprate
l und der Bitbreite 1 umgewandelt und nachfolgend an den zweiten
Korrelator K2 weitergeleitet. Der eingehende
und der ausgehende Chiptakt beziehungsweise die Chiprate betragen
für den
Korrelator K2 jeweils l. In Korrelator K2 findet ein Oversampling des zu verarbeitenden
Signals statt (Oversampling = nN). Weiterhin wird in Korrelator
K2 die hier zweite Entspreizungssequenz
s(N – 1)
(vorletzte Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n(N – 1) angewendet
(vergleiche Korrelator K2 gemäß 5).
-
Das
Ausgangssignal des Korrelators K2 ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s(N – 1)
(vergleiche Korrelator K2 gemäß 5)
zu cor(N – 1)(l,
b2) mit der Chiprate l und der ausgehenden Bitbreite b2. Nachfolgend
wird dieses Ausgangssignal in der nachfolgenden Entscheidereinheit
2 (Entscheidung in logische Bitwerte „0" und „1") in ein Signal cor(N – 1)(l,
1) mit der Chiprate l und der Bitbreite 1 umgewandelt. Dieser Vorgang
wird nachfolgend schrittweise über
die Korrelatoren K3 bis KN-1 mit
entsprechenden Eingangssignalen cor aus den vorhergehenden Korrelatoren
und entsprechenden ein- und ausgehenden Bitbreiten, Oversampling,
Spreizfolgen und Spreizfolgenlängen
und Entscheidungen in Anordnungen 2 wiederholt, bis als Eingangssignal
für den
Korrelator KN das Signal cor2(l, 1) mit
der Chiprate l und der Bitbreite 1 zur Verfügung steht.
-
Dieses
durch den Korrelator KN-1 zur Verfügung gestellte
Signal cor2(l, 1) mit der Chiprate l und der Bitbreite 1 wird gemäß 7b nachfolgend
an den letzten Korrelator KN weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator KN jeweils l. In Korrelator KN findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1). Weiterhin wird in Korrelator KN die hier letzte Entspreizungssequenz s1
(erste Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n1 angewendet
(vergleiche Korrelator K2 gemäß 5).
Das Ausgangssignal des Korrelators KN ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s1 (vergleiche Korrelator KN gemäß 5)
zu cor1(l, bN) mit der Chiprate l und der ausgehenden Bitbreite
ld(n1·1)
= bN.
-
Nachfolgend
wird das Ausgangssignal des Korrelators KN in
der nachfolgenden Entscheidereinheit 2 (Entscheidung in logische
Bitwerte „0" und „1") in ein Signal cor1(l,
bN) mit der Chiprate l und der Bitbreite bN umgewandelt. Nach diesem
letzten Entscheider 2 wird der Chiptakt über die Anordnung 1 auf den
ursprünglichen
Bittakt heruntergetaktet (vergleiche Anordnung 1 gemäß 5).
Als Ergebnis ergibt sich ein Ausgangssignal d(k, 1) der ursprünglichen
Bitrate k und der Bitbreite 1 des zu übertragenden Datensignals.
Dabei ist die Reihenfolge von Heruntertaktung und Entscheidung nach
dem letzten Korrelator KN wiederum vertauschbar, ohne
dass diese einen Einfluss auf das Ergebnis der Anordnung gemäß 7b hat.
-
7c zeigt
den Ablauf der Entspreizung eines gespreizten Datensignals beziehungsweise
Chipsignals durch stufenweise Korrelatoren, wobei nach jedem Teilkorrelator
eine Entscheidung in logische Bitwerte „0" und „1" durchgeführt wird (sukzessive Entescheidung)
und nach jedem Teilkorrelator eine Heruntertaktung des Ausgangssignals
durchgeführt
wird (sukzessive Heruntertaktung), so dass dem jeweils nachfolgenden Korrelator
ein nicht übertaktetes
Chip-Datensignal mit 1 Bit Breite zugeführt wird. Dabei sind die Entscheidung und
die Heruntertaktung nach jedem Korrelator in der Reihenfolge vertauschbar,
ohne dass dies einen Einfluss auf das letztendliche Signal hat,
das dem nachfolgenden Korrelator zur Verfügung gestellt wird.
-
Gemäß 7c wird
das empfangene digitale Chipsignal mit der Chiprate l dem ersten
Korrelator K1 mit einer eingehenden Bitbreite
b = b0 zur Verfügung
gestellt. Der eingehende und der ausgehende Chiptakt beziehungsweise
die Chiprate betragen für
den Korrelator K1 jeweils l = l0. Im Korrelator
K1 findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1). Die eingehende Bitrate beträgt b = b0. In
Korrelator K1 wird weiterhin die hier erste
Entspreizungssequenz sN (letzte Spreizungssequenz bei der Signalspreizung)
mit der Spreizfolgenlänge
nN angewendet (vergleiche Korrelator K1 gemäß 5).
Das Ausgangssignal des Korrelators K1 ergibt
sich nach der Korrelation mit der Entspreizungssequenz sN (vergleiche Korrelator
K1 gemäß 5)
zu corN(l0, b1) mit der Chiprate l0 und der ausgehenden Bitbreite
ld(nN·b0)
= b1.
-
Dieses
durch den Korrelator K1 erzeugte Signal
corN(l0, b1) mit der Chiprate l wird in der nachfolgenden Anordnung
1 zur Heruntertaktung in ein Signal corN(l1, b1) mit der Chiprate
l0/nN umgewandelt. In der nachfolgenden Entscheidereinheit 2 (Entscheidung
in logische Bitwerte „0" und „1") wird dieses Signal
corN(l1, b1) in ein Signal corN(l, 1) mit der Chiprate l1 und der
Bitbreite 1 überführt und
nachfolgend an den zweiten Korrelator K2 weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator K2 jeweils l. Im Korrelator
K2 findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1).
-
Weiterhin
wird im Korrelator K2 die hier zweite Entspreizungssequenz
s(N – 1)
(vorletzte Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n(N – 1) angewendet
(vergleiche Korrelator K2 gemäß 5).
Das Ausgangssignal des Korrelators K2 ergibt
sich auf diese Weise nach der Kor relation mit der Entspreizungssequenz
s(N – 1)
(vergleiche Korrelator K2 gemäß 5)
zu cor(N – 1)(l1,
b2) mit der Chiprate l1 und der ausgehenden Bitbreite ld(n(N – 1)·1) = b2.
Dieses durch den Korrelator K1 erzeugte
Signal cor(N – 1)(l1,
b2) mit der Chiprate l wird in der nachfolgenden Anordnung 1 zur
Heruntertaktung in ein Signal cor(N – 1)(l2, b2) mit der Chiprate
l1/n(N – 1)
umgewandelt.
-
In
der nachfolgenden Entscheidereinheit 2 (Entscheidung in logische
Bitwerte „0" und „1") wird dieses Signal
cor(N – 1)(l2,
b2) in ein Signal cor(N – 1)(l2,
1) mit der Chiprate l1/n(N – 1)
und der Bitbreite 1 umgewandelt und nachfolgend an den dritten Korrelator
K3 weitergeleitet. Dabei ist die Reihenfolge
von Heruntertaktung und Entscheidung nach dem Korrelator wiederum
vertauschbar, ohne dass dies einen Einfluss auf das Ergebnis der
Anordnung gemäß 7c hat.
Der beschriebene Vorgang wird nachfolgend schrittweise über die
Korrelatoren K3 bis KN-1 mit
entsprechenden Eingangssignalen cor aus den vorhergehenden Korrelatoren und
entsprechenden ein- und ausgehenden Chipraten, Bitbreiten, Oversampling,
Spreizfolgen, Spreizfolgenlängen,
Heruntertaktungen in Anordnungen 1 und Entscheidungen in Anordnungen
2 wiederholt, bis als Eingangssignal für den Korrelator KN das
Signal cor2(l(n – 1),
1) mit der Chiprate l(N – 2)/(n – 1) und
der Bitbreite 1 zur Verfügung
steht.
-
Dieses
durch den Korrelator KN-1 zur Verfügung gestellte
Signal cor2(l(n – 1),
1) mit der Chiprate l(N – 2)/(n – 1) und
der Bitbreite 1 wird gemäß 7c nachfolgend
an den letzten Korrelator KN weitergeleitet.
Der eingehende und der ausgehende Chiptakt beziehungsweise die Chiprate
betragen für
den Korrelator KN jeweils l. In Korrelator
KN findet kein Oversampling des zu verarbeitenden
Signals statt (Oversampling = 1). Weiterhin wird in Korrelator KN die hier letzte Entspreizungssequenz s1
(erste Spreizungssequenz bei der Signalspreizung) mit der Spreizfolgenlänge n1 angewendet
(vergleiche Korrelator K2 gemäß 5).
-
Das
Ausgangssignal des Korrelators KN ergibt
sich auf diese Weise nach der Korrelation mit der Entspreizungssequenz
s1 (vergleiche Korrelator KN gemäß 5)
zu cor1(l(N – 1),
bN) mit der Chiprate l und der ausgehenden Bitbreite ld(n1·1) = bN.
Dieses durch den Korrelator K1 erzeugte
Signal cor1(l(N – 1),
bN) mit der Chiprate l(N – 1)
wird in der nachfolgenden Anordnung 1 zur Heruntertaktung in ein
Signal cor1(lN, bN) mit der Chiprate lN umgewandelt, wobei diese
Chiprate der ursprünglichen
Bitrate k des nicht gespreizten Datensignals entspricht. In der
nachfolgenden Entscheidereinheit 2 (Entscheidung in logische Bitwerte „0" und „1") wird dieses Signal
cor1(lN, bN) in ein Signal d(k, 1) mit der Bitrate k und der Bitbreite
1 umgewandelt.
-
Als
Ergebnis ergibt sich ein erwünschtes,
dem ursprünglichen
Datensignal entsprechende Ausgangssignal d(k, 1) mit der ursprünglichen
Bitrate k und der Bitbreite 1 des zu übertragenden Datensignals.
Dabei ist die Reihenfolge von Heruntertaktung und Entscheidung nach
dem letzten Korrelator KN wiederum vertauschbar,
ohne dass dies einen Einfluss auf das Ergebnis der Anordnung gemäß 7c hat.
-
Ausgehend
von den beispielhaften Ausführungsformen
für empfangsseitige
Korrelatoren gemäß der 7a, 7b und 7c werden
nachfolgend zweistufige Ausführungsformen
von Korrelatoren (Anwendung von 2 Spreizfolgen auf das Datensignal)
für die
Fälle abschließende Entscheidung
in logische Bitwerte „0" und „1" und abschließende Heruntertaktung
des Ausgangssignals beziehungsweise sukzessive Entscheidung in logische
Bitwerte „0" und „1" und abschließende Heruntertaktung
des Ausgangssignals beschrieben.
-
Die
in 8 gezeigte Ausführungsform eines beispielhaften
zweistufigen Korrelators ist geeignet für die Entspreizung binärer Signale
im Basisband nach der Signaldemodulation. Ein weiteres besonderes
Merkmal der in 8 dargestellten Ausführungsform
ist, dass zwei identische Spreizfolgen s(1) ... s(n) der Länge n zur
Spreizung des zu übertragenen
Datensig nals und zur empfängerseitigen
Entspreizung im Korrelator gemäß 8 verwendet
werden. Die Entspreizung erfolgt weiterhin unter Anwendung einer
abschließenden
Entscheidung in logische Bitwerte „0" und „1" und einer abschließenden Heruntertaktung des
Ausgangssignals.
-
8 umfasst
n – 1
Verzögerungsglieder
Z1,1, Z1,2, ...,
Z1,n-1 mit jeweils einer Zeitverzögerung z–1 und einen
Summierer Σ1. 8 umfasst
weiterhin n negierte Exklusiv-Oder (negEXOR) Anordnungen negEXOR1,1, negEXOR1,2 ...
negEXOR1,n und eine Speicherregisteranordnung
3 der Länge
ld(n) Bit. Diese Komponenten bilden die erste Stufe des zweistufigen
Korrelators gemäß 8.
Weiterhin umfasst das Ausführungsbeispiel nach 8 n – 1 Verzögerungsglieder
Z2,1, Z2,2, ...,
Z2,n-1 mit jeweils einer Zeitverzögerung z–n und
n zugehörige Speicherregisteranordnungen
S2,1, S2,2, ...,
S2,n der Länge ld(n) Bit sowie einen Summierer Σ2.
Weiterhin sind vorgesehen n negierte Exklusiv-Oder (negEXOR) Anordnungen negEXOR2,1, negEXOR2,2,
..., negEXOR2,n und eine Speicherregisteranordnung
4 der Länge
ld(n·n)
Bit sowie eine weitere negierte Exklusiv-Oder (negEXOR) Anordnung
5. Gemäß 8 wird
das binäre
Empfangssignal im ersten Teilkorrelator mit der Spreizfolge s(1
... n) korreliert.
-
Dabei
wird das binäre
Eingangssignal mit dem Wert s(1) der Spreizfolge s(1 ... n) negiert
Exklusiv-Oder (negEXOR1,1) verknüpft und
das Ergebnis wird dem Summierer Σ1 zugeführt,
das über
das Verzögerungsglied
Z1,1 verzögerte Eingangssignal wird mit
dem Wert s(2) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,2) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt, das über das
Verzögerungsglied
Z1,2 weiter verzögerte Eingangssignal wird mit
dem Wert s(3) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,3) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt. Diese
Schritte werden im ersten Teilkorrelator gemäß 8 solange
wiederholt, bis das über
alle n – 1
Verzögerungsglieder
Z1,1, Z1,2 ... Z1,n-1 verzögerte binäre Eingangssignal mit dem Wert
s(n) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,n) verknüpft ist und auch dieses Ergebnis
dem Summierer Σ1 zugeführt
wird. Das Er gebnis der Summierung der einzelnen Signalkomponenten
1 bis n der n negierten Exklusiv-Oder (negEXOR) Anordnungen negEXOR1,1, negEXOR1,2 ...
negEXOR1,n wird in der Speicherregisteranordnung
3 der Länge
ld(n) Bit abgelegt.
-
Weiterhin
wird gemäß 8 das
Ergebnis der Summierung des ersten Teilkorrelators im zweiten Teilkorrelator
wiederum mit der Spreizfolge s(1 ... n) korreliert. Zu diesem Zweck
wird der Inhalt der Speicherregisteranordnung 3 des ersten Teilkorrelators
in die Speicherregisteranordnung S2,1 des
zweiten Teilkorrelators übertragen
und von dort dem ersten Verzögerungsglied
Z2,1 und der ersten negierten Exklusiv-Oder
(negEXOR) Anordnungen negEXOR2,1 zur weiteren
Verarbeitung zur Verfügung
gestellt. Dabei wird das binäre
Signal mit dem Wert s(1) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder
(negEXOR2,1) verknüpft und das Ergebnis wird dem
Summierer Σ2 zugeführt,
das über
das Verzögerungsglied
Z2,1 verzögerte Signal wird in die Speicherregisteranordnung
S2,2 übertragen
und mit dem Wert s(2) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR2,2) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt, das über das
Verzögerungsglied
Z2,2 weiter verzögerte Signal wird in die Speicherregisteranordnung
S2,3 übertragen
und von dort mit dem Wert s(3) der Spreizfolge s(1 ... n) negiert
Exklusiv-Oder (negEXOR1,3) verknüpft und
das Ergebnis dem Summierer Σ2 zugeführt.
-
Diese
Schritte werden im zweiten Teilkorrelator gemäß 8 solange
wiederholt, bis das über
alle n – 1
Verzögerungsglieder
Z2,1, Z2,2, ...,
Z2,n-1 verzögerte binäre Signal mit dem Wert s(n)
der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR2,n) verknüpft ist und auch dieses Ergebnis
dem Summierer Σ2 zugeführt
wird. Das Ergebnis der Summierung der einzelnen Signalkomponenten
1 bis n der n negierten Exklusiv-Oder (negEXOR) Anordnungen negEXOR2,1, negEXOR2,2,
..., negEXOR2,n wird in der Speicherregisteranordnung
4 der Länge
ld(n·n)
Bit abgelegt. Mit Hilfe der negierten Exklusiv-Oder-(negEXOR)Anordnung
5 wird abschließend im
zweiten Teilkorrelator gemäß 8 eine
abschließende
Entscheidung in logische Bitwerte „0" und „1" durchgeführt, wobei dieses Signal hier
noch im Chiptakt (chips) vorliegt. Die notwendige Heruntertaktung
auf den ursprünglichen
Bittakt des Datensignals erfolgt im Anschluss (in 8 nicht
dargestellt), wie in den weiter oben beschriebenen Ausführungsformen
von Korrelatoren dargestellt. Im Falle einer sukzessiven Heruntertaktung
(Downsampling) müsste
die entsprechende Reduzierung der Chiprate um den vorhergehenden Teil-Spreizfaktor
in die Ausführungsform
gemäß 8 eingefügt werden
(vergleiche zum Beispiel 7a und 7c).
-
Dabei
unterscheiden sich die möglichen
Ausführungsformen
eines zweistufigen Korrelators gemäß 8 für die Fälle von
abschließender
Heruntertaktung beziehungsweise sukzessiver Heruntertaktung (Downsampling
nach jeder Teilstufe) hinsichtlich der Anzahl der zur Realisierung
benötigten
Komponenten, wie zum Beispiel Verzögerungsgliedern. 9 zeigt
eine tabellarische Aufstellung der für einen zweistufigen Korrelators
gemäß 8 benötigten Komponenten
für die
zwei genannten Ausführungsformen
der Heruntertaktung bei abschließender Entscheidung in Binärwerte (Logikwerte „0" und „1"). Aus 9 ist
zu ersehen, dass sich die zwei Ausführungsformen nur in der Anzahl
der zur Realisierung benötigten
Verzögerungselemente
(z–1)
unterscheiden.
-
Für einen
zweistufigen Korrelator mit einem Spreizfaktor m = n·n beträgt die Anzahl
der Verzögerungselemente
(z–1)
für eine
Ausführungsform
mit abschließender
Heruntertaktung (n – 1)·1 + n·ld(n))
und beim Ausführungsbeispiel
mit sukzessiver Heruntertaktung (n – 1)·(1 + ld(n)). Die Anzahl der
für den
zweistufigen Korrelator gemäß 8 benötigten Logikelemente
(neg. EXOR) beträgt
in beiden Fällen
n·(1
+ ld(n)) + 1, die Anzahl der benötigten
Speicherregister für
die Spreizfolge s(1 ... n) beträgt
n und der Summierer Σ1 addiert über eine Breite von n Bit,
der Summierer Σ2 addiert über eine Breite von n·ld(n)
Bit.
-
10 zeigt
eine Ausführungsform
eines zweistufigen Korrelators für
den Fall der sukzessiven Entscheidung in binäre Logikwerte „0" und „1" nach jeder Teilstufe
des Korrelators. 10 umfasst n – 1 Verzögerungsglieder
Z1,1, Z1,2, ...,
Z1,n-1 mit jeweils einer Zeitverzögerung z–1 und
einen Summierer Σ1. 10 umfasst weiterhin
n negierte Exklusiv-Oder (negEXOR) Anordnungen negEXOR1,1,
negEXOR1,2, ..., negEXOR1,n und eine
Speicherregisteranordnung 3 der Länge ld(n) Bit. Diese Komponenten
bilden die erste Stufe des zweistufigen Korrelators gemäß 10.
Weiterhin umfasst das Ausführungsbeispiel
nach 10 n – 1
Verzögerungsglieder
Z2,1, Z2,2, ...,
Z2,n-1 mit jeweils einer Zeitverzögerung z–n sowie
einem Summierer Σ2. Das Ausführungsbeispiel nach 10 umfasst
weiterhin n negierte Exklusiv-Oder (negEXOR) Anordnungen negEXOR2,1, negEXOR2,2,
..., negEXOR2,n und eine Speicherregisteranordnung
4 der Länge
ld(n) Bit sowie zwei weitere negierte Exklusiv-Oder (negEXOR) Anordnungen
5 und 6.
-
Gemäß 10 wird
das binäre
Empfangssignal im ersten Teilkorrelator mit der Spreizfolge s(1
... n) korreliert. Dabei wird das binäre Eingangssignal mit dem Wert
s(1) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,1) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt; das über das
Verzögerungsglied
Z1,1 verzögerte Eingangssignal mit dem
Wert s(2) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,2) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt; das über das
Verzögerungsglied
Z1,2 weiter verzögerte Eingangssignal mit dem
Wert s(3) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,3) verknüpft und das Ergebnis dem Summierer Σ1 zugeführt.
-
Diese
Schritte werden im ersten Teilkorrelator gemäß 10 solange
wiederholt, bis das über
alle n – 1
Verzögerungsglieder
Z1,1, Z1,2, ...,
Z1,n-1 verzögerte binäre Eingangssignal mit dem Wert
s(n) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,n) verknüpft ist und auch dieses Ergebnis
dem Summierer Σ1 zugeführt
wird. Das Ergebnis der Summierung der einzelnen Signalkomponenten
1 bis n der n negierten Exklusiv-Oder (ne gEXOR) Anordnungen negEXOR1,1, negEXOR1,2,
..., negEXOR1,n wird in der Speicherregisteranordnung
3 der Länge
ld(n) Bit abgelegt.
-
Nachfolgend
wird unter Verwendung der negierten Exklusiv-Oder (negEXOR) Anordnung
5 vor der Weiterleitung des Ausgangssignals des ersten Teilkorrelators
an den zweiten Teilkorrelator eine Entscheidung in binäre Logikwerte „0" und „1" ausgeführt (sukzessive
Entscheidung in Binärwerte).
Dadurch wird die Entspreizung mit Hilfe der zweiten Spreizfolge
im zweiten Teilkorrelator vereinfacht (vergleiche 8).
Weiterhin wird gemäß 10 das
Ergebnis der Summierung des ersten Teilkorrelators und der Entscheidung
in Binärwerte
im zweiten Teilkorrelator wiederum mit der Spreizfolge s(1 ... n)
korreliert.
-
Dabei
wird das binäre
Signal mit dem Wert s(1) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR2,1) verknüpft und das Ergebnis wird dem
Summierer Σ2 zugeführt,
das über
das Verzögerungsglied Z2,1 verzögerte
Signal wird mit dem Wert s(2) der Spreizfolge s(1 ... n) negiert
Exklusiv-Oder (negEXOR2,2) verknüpft und
das Ergebnis dem Summierer Σ1 zugeführt,
das über
das Verzögerungsglied
Z2,2 weiter verzögerte Signal wird mit dem Wert
s(3) der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR1,3) verknüpft und das Ergebnis dem Summierer Σ2 zugeführt. Diese
Schritte werden im zweiten Teilkorrelator gemäß 10 solange wiederholt,
bis das über
alle n – 1
Verzögerungsglieder
Z2,1, Z2,2, ...,
Z2,n-1 verzögerte binäre Signal mit dem Wert s(n)
der Spreizfolge s(1 ... n) negiert Exklusiv-Oder (negEXOR2,n) verknüpft ist und auch dieses Ergebnis
dem Summierer Σ2 zugeführt
wird.
-
Das
Ergebnis der Summierung der einzelnen Signalkomponenten 1 bis n
der n negierten Exklusiv-Oder-(negEXOR)Anordnungen negEXOR2,1, negEXOR2,2 ...
negEXOR2,n wird in der Speicherregisteranordnung
4 der Länge
ld(n) Bit abgelegt. Mit Hilfe der negierten Exklusiv-Oder-(negEXOR)Anordnung
6 wird abschließend
im zweiten Teilkorrelator gemäß 10 eine
Entscheidung in logische Bitwerte „0" und „1" durchgeführt, wobei dieses Signal hier
noch im Chiptakt (chips) vorliegt. Die notwendige Heruntertaktung
auf den ursprünglichen
Bittakt des Datensignals erfolgt im Anschluss (in 10 nicht
dargestellt), wie in dem weiter oben beschriebenen Ausführungsbeispiel
von Korrelatoren dargestellt. Im Falle einer sukzessiven Heruntertaktung
(Downsampling) müsste
die entsprechende Reduzierung der Chiprate um den vorhergehenden Teil-Spreizfaktor in die
Ausführungsform
gemäß 10 eingefügt werden
(vergleiche zum Beispiel 7a und 7c).
-
Dabei
unterscheiden sich die möglichen
Ausführungsbeispiele
eines zweistufigen Korrelators gemäß 10 wiederum
für die
Fälle von
abschließender
Heruntertaktung beziehungsweise sukzessiver Heruntertaktung (Downsampling
nach jeder Teilstufe) hinsichtlich der Anzahl der zur Realisierung
benötigten
Komponenten, wie zum Beispiel Verzögerungsgliedern. 11 zeigt
eine tabellarische Aufstellung der für einen zweistufigen Korrelator
gemäß 10 benötigten Komponenten
für die
zwei genannten Ausführungsformen
der Heruntertaktung bei sukzessiver Entscheidung in Binärwerte (Logikwerte „0" und „1").
-
Aus 11 ist
zu ersehen, dass sich die zwei Ausführungsformen wiederum in der
Anzahl der zur Realisierung benötigten
Verzögerungselemente
(z–1)
unterscheiden. Für
einen zweistufigen Korrelator mit einem Spreizfaktor m = n·n beträgt die Anzahl
der Verzögerungselemente
(z–1)
für eine
Ausführungsform
mit abschließender
Heruntertaktung (n2 – 1) und für eine Ausführungsform mit sukzessiver
Heruntertaktung 2·(n – 1). Die Anzahl
der für
den zweistufigen Korrelator gemäß 10 benötigten Logikelemente
(neg. EXOR) beträgt
in beiden Fällen
2·n +
2, die Anzahl der benötigten
Speicherregister für
die Spreizfolge s(1 ... n) beträgt
n und sowohl der Summierer Σ1 wie auch der Summierer Σ2 addieren
jeweils über
eine Breite von n Bit.
-
Dabei
ergeben sich für
die zweistufigen Korrelatoren gemäß der 8 und 10 mit
jeweils zwei Spreizfolgen s(1 ... n) im Hinblick auf die Anzahl
der zur Realisierung benötigten Komponenten
(Bauteile) deutliche Vereinfachungen gegenüber einem herkömmlichen
einstufigen Korrelator mit einem Spreizfaktor der Länge m (m
= n·n)
mit gleicher Wirkung. Die Unterschiede in der Anzahl der für diese
Ausführungsformen
jeweils benötigten
Bauteilkomponenten sind in allgemeiner Form in 12 dargestellt.
Dabei entsprechen die dargestellten Anzahlen der Komponenten für zweistufige
Korrelatoren der Ausführungsformen
mit sukzessiver und abschließender
Entscheidung in die Binärwerte „0" und „1", jeweils für die Fälle der
abschließenden
beziehungsweise sukzessiven Heruntertaktung den aus den 9 und 11 bekannten
Berechnungsvorschriften. Im Vergleich dazu ist die notwendige Anzahl
von Bauteilkomponenten zur Realisierung eines herkömmlichen
(einstufigen) Korrelators mit Spreizfaktor m in der zweiten Spalte
der 12 dargestellt. Für einen konventionellen Korrelator
mit einem Spreizfaktor m beträgt
die Anzahl der Verzögerungselemente
(m – 1).
Die Anzahl der benötigten
Logikelemente (neg. EXOR) beträgt
(m + 1), die Anzahl der benötigten
Speicherregister für
die Spreizfolge s(1 ... m) beträgt
m und der (einzelne) Summierer addiert über eine Breite von m Bit.
-
13 zeigt
die Werte für
die Komponenten, wie sie sich beispielhaft ergeben, wenn eine Spreizfolgenlänge von
m = 225 für
den konventionellen Korrelator gewählt wird, woraus sich für die zweistufigen
Korrelatoren gemäß den 8 und 10 entsprechend
jeweils zwei Spreizfolgen s(1 ... n) der Länge n = 15 ergeben (m = n·n = 225).
Wie aus 13 zu ersehen ist, beträgt die Anzahl
der Verzögerungselemente
für einen
konventionellen Korrelator (mit einem Spreizfaktor von m = 225)
224. Die Anzahl der benötigten
Logikelemente (neg. EXOR) beträgt
226, die Anzahl der benötigten
Speicherregister für
die Spreizfolge s(1 ... m) beträgt
225 und der (einzelne) Summierer muss für eine Addition über eine
Breite von 225 Bit ausgelegt werden.
-
Im
Vergleich dazu erfordert ein zweistufiger Korrelator unter Verwendung
von zwei Spreizfolgen s(1 ... n) der Länge 15 gemäß 13 im
Falle einer abschließenden
Entscheidung in Binär werte „0" und „1" (vergleiche 8)
und für
den Fall einer abschließenden
Heruntertaktung 854 Verzögerungselemente,
76 Logikelemente (neg. EXOR), 15 Speicherregister und zwei Summierer,
je einmal über
die Breite von 15 Bit beziehungsweise 60 Bit. Der gleiche zweistufige
Korrelator erfordert zur Realisierung im Fall einer abschließenden Entscheidung
in Binärwerte „0" und „1" und für den Fall
einer sukzessiven Heruntertaktung nur 70 Verzögerungselemente, wiederum 76
Logikelemente (neg. EXOR), 15 Speicherregister und zwei Summierer,
je einmal über die
Breite von 15 Bit beziehungsweise 60 Bit.
-
Im
Vergleich dazu erfordert ein zweistufiger Korrelator unter Verwendung
von zwei Spreizfolgen s(1 ... n) der Länge 15 gemäß 13 im
Falle einer sukzessiven Entscheidung in Binärwerte „0" und „1" (vergleiche 10) und
für den
Fall einer abschließenden
Heruntertaktung 225 Verzögerungselemente,
32 Logikelemente (neg. EXOR), 15 Speicherregister und zwei Summierer über die
Breite von jeweils 15 Bit. Der gleiche zweistufige Korrelator erfordert
zur Realisierung im Fall einer sukzessiven Entscheidung in Binärwerte „0" und „1" und für den Fall
einer sukzessiven Heruntertaktung nur 28 Verzögerungselemente, wiederum 32
Logikelemente (neg. EXOR), 15 Speicherregister und zwei Summierer,
je einmal über
die Breite von 15 Bit beziehungsweise 60 Bit.
-
Aus
der tabellarischen Aufstellung für
beispielhafte Ausführungsformen
in 13 ist zu ersehen, dass sich für einen zweistufigen Korrelator
sowohl im Fall der abschließenden
als auch der sukzessiven Entscheidung in Binärwerte „0" und „1" gegenüber einem konventionellen einstufigen
Korrelator eine vorteilhafte Einsparung an Logikelementen, Speicherregistern
und in der Additionsbreite ergibt. Die notwendige Anzahl an Verzögerungselementen
unterscheidet sich für
die Fälle
von abschließender
und sukzessiver Heruntertaktung jeweils erheblich. Für den Fall
der abschließenden
Entscheidung in Binärwerte „0" und „1" ergibt sich nur
für die
Ausführungsform
unter Anwendung der sukzessiven Heruntertaktung eine Einsparung an
Verzögerungselementen
gegenüber
der Ausführungsform
eines konventionellen Korrelators.
-
Eine
weitgehende Einsparung in der Anzahl von Komponenten ergibt sich
gemäß 13 beispielsweise
für einen
zweistufigen Korrelator mit sukzessiver Entscheidung in Binärwerte „0" und „1" und sukzessiver Heruntertaktung.
Dabei bezieht sich ein solches Einsparungspotential gegenüber einem
konventionellen Korrelator nicht alleine auf die Anzahl der benötigten Baugruppen,
wie zum Beispiel Verzögerungselemente,
Logikelemente und Speicherregister, sondern als Folge davon auch
auf die Stromersparnis zum Betrieb einer solchen erfindungsgemäßen Anordnung
oder zum Beispiel die Verarbeitungsgeschwindigkeit.
-
Dabei
bilden die gezeigten Ausführungsbeispiele
nur ein geringer Teil aus einer Vielzahl von Realisierungsmöglichkeiten.
Die Entspreizung der Signale muss nicht, wie beispielhaft gezeigt,
im Basisband nach der Demodulation stattfinden. Eine Entspreizung
kann auf entsprechende Weise auch in jedem anderen Teilbereich eines
Empfängers
ausgeführt
werden, so zum Beispiel auch vor der Demodulation auf Ebene der
Zwischenfrequenz oder der Hochfrequenz. Weiterhin können beliebige
andere, den erforderlichen Autokorrelationseigenschaften genügende Spreizfolgen
verwendet werden. Dabei müssen
in mehrstufigen Korrelatoren nicht, wie in den Beispielen gezeigt,
identische Spreizfolgen gleicher Länge zur Spreizung beziehungsweise Entspreizung
der Datensignale eingesetzt werden. Auch die hier beispielhaft gezeigte
Auflösung
von 1 Bit im Datensignal ist nicht festgelegt, so dass beliebige
Auflösungs-
und Bearbeitungsbandbreiten eingesetzt werden können.
-
Der
Kompromiss, den die Verwendung von zwei gleichen (verketteten) Spreizsequenzen
nach sich zieht, ist eine Verschlechterung der Qualität der Autokorrelationsfunktion.
Dies hat Auswirkungen auf die spektralen Eigenschaften des gespreizten
Signals und kann implementierungsabhängige Nachteile insbesondere bei
der Synchronisation zur Folge haben.
-
14 zeigt
die Autokorrelationsfunktion einer einfachen, 511 Bit langen PRBS-9
Spreizungssequenz, die in Bezug auf einen verrauschten Nachrichtenkanal
optimale Eigenschaften zur Entspreizung aufweist. Dabei zeigt 14 in
der oberen Darstellung die Autokorrelationsfunktion über einen
Bereich der Bitstellen von 0 bis 1000 (Abszisse). Sehr deutlich
ist dabei das stark ausgeprägte
Maximum der Übereinstimmungen
der Autokorrelation (Ordinate) bei Bitstelle 511 zu erkennen. Im übrigen Bereich
liegen die Werte der Autokorrelationsfunktion bei Null, wie auch
aus der gespreizten Darstellung in 14 unten
zu erkennen ist, bei der die Abszisse einen Bereich von Bitstelle
350 bis Bitstelle 550 abdeckt.
-
15 zeigt
die Autokorrelationsfunktion einer zweifachen, jeweils 15 Bit langen
(15×15)
ZigBee Spreizungssequenz, die in Bezug auf einen verrauschten Nachrichtenkanal
keine optimalen Eigenschaften zur Entspreizung aufweist. Dabei zeigt 15 in
der oberen Darstellung die Autokorrelationsfunktion über einen Bereich
der Bitstellen von 0 bis 450 (Abszisse). Sehr deutlich ist wiederum
ein stark ausgeprägtes
Maximum der Übereinstimmungen
der Autokorrelation (Ordinate) bei Bitstelle 225 (effektive Spreizfolgenlänge der
zweimaligen Spreizung beträgt
15·15
= 225) zu erkennen. Im übrigen
Bereich liegen die Werte der Autokorrelationsfunktion nicht mehr
durchgehend bei Null, sondern weisen vielfache kleine Spitzen auf
(Verschlechterung der Autokorrelation).
-
Gleichzeitig
kann jedoch festgestellt werden, dass diese Spitzen im Verhältnis zu
dem stark ausgeprägten
Maximum bei Bitstelle 225 immer noch eine deutlich geringere Amplitude
aufweisen, wie auch aus der gespreizten Darstellung in 15 unten
zu erkennen ist, bei der die Abszisse einen Bereich von Bitstelle
200 bis Bitstelle 250 abdeckt.
-
Für die Optimierung
der Autokorrelations-Eigenschaften bietet die Verwendung von geeigneten,
nichtgleichen Teil-Sequenzen vielfältige Möglichkeiten.