-
HINTERGRUND
-
Die
Erfindung bezieht sich auf eine Technik zum Generieren einer pseudo-zufällig geordneten Sequenz
von ganzen Zahlen. Insbesondere bezieht sich die Erfindung auf ein
Verfahren und eine Vorrichtung zum Generieren von Sequenzen für ein unkoordiniertes
Frequenzsprung-Drahtloskommunikationssystem.
-
In
der letzten Dekade hat der Fortschritt in Funk- und VLSI-Technologie weit
verbreitete Verwendung von Funkkommunikationen in Konsumentenanwendungen
befördert.
Tragbare Einrichtungen, wie etwa mobile Funkgeräte, können nun mit annehmbaren Kosten,
Größe und Leistungsverbrauch produziert
werden.
-
Obwohl
sich drahtlose Technologie heute hauptsächlich auf Sprachkommunikationen
konzentriert (z.B. mit Bezug auf in der Hand gehaltene Funkgeräte), wird
sich dieses Gebiet in der nahen Zukunft wahrscheinlich erweitern,
um größeren Informationsfluss
zu und von anderen Typen von in Bewegung befindlichen Einrichtungen
und festen Einrichtungen vorzusehen. Genauer ist es wahrscheinlich,
dass weitere Fortschritte in der Technologie sehr preiswerte Funkausrüstung vorsehen
werden, die leicht in viele Einrichtungen integriert werden kann.
Dies wird die Zahl von gegenwärtig
verwendeten Kabeln reduzieren. Z.B. kann Funkkommunikation die Zahl
von Kabeln beseitigen oder reduzieren, die verwendet werden, um
Mastereinrichtungen mit ihren jeweiligen Peripheriegeräten zu verbinden.
-
Die
zuvor erwähnten
Funkkommunikationen werden ein nicht lizenziertes Band mit ausreichender Kapazität erfordern,
um Übertragungen
hoher Datenrate zu erlauben. Ein geeignetes Band ist das ISM-(industrielles,
wissenschaftliches und medizinisches, Industrial, Scientific and
Medical)Band bei 2,4 GHz, das global verfügbar ist. Dieses Band sieht
83,5 MHz an Funkspektrum vor.
-
Um
zwei unterschiedlichen Funknetzen zu erlauben, das gleiche Funkmedium
ohne Koordination gemeinsam zu nutzen, wird gewöhnlich Signalspreizung angewendet.
In der Tat fordert die FCC in den Vereinigten Staaten gegenwärtig, dass
Funkausrüstung,
die bei 2,4 GHz arbeitet, irgendeine Form von Spreizung anwendet,
wenn die Übertragungsleistung
ungefähr
0 dBm überschreitet.
Spreizung kann entweder auf der Symbolebene durch Anwenden eines
Direktsequenz-Spreizspektrums oder auf der Kanalebene durch Anwenden
von Frequenzsprung-(FH, frequency hopping)Spreizspektrum erfolgen.
Das letztere ist für
die oben erwähnten
Funkanwendungen attraktiv, da es leichter die Verwendung von kosteneffektiven
Funkgeräten
erlaubt.
-
In
Frequenzsprungsystemen wird optimale Interferenzimmunität durch
Springen über
das gesamte Band von 83,5 MHz im Durchschnitt erhalten. Zur gleichen
Zeit wird eine Implementierung durch Verwenden eines engen Kanals,
z.B. 1 MHz, erleichtert.
-
Die
meiste Zeit verwenden unterschiedliche FH-Funkgeräte unterschiedliche
Sprungfrequenzen, aber gelegentlich können die Einheiten kollidieren, falls
sie zufällig
die gleiche Sprungfrequenz auswählen.
Um die Wahrscheinlichkeit dieses Auftretens zu reduzieren, sollte
jede Verknüpfung
vorzugsweise ihrer eigene FH-Sequenz haben, da die Aufstellung von
zwei Verknüpfungen
mit der gleichen FH-Sequenz zu beständigen Kollisionen führen würde, falls die
zwei Sequenzen in Phase sind. Auch sollten die Einheiten FH-Sequenzen
verwenden, die ge ringe Kreuzkorrelation zeigen. Es ist deshalb wünschenswert,
so viele wie möglich
unterschiedliche FH-Sequenzen abzuleiten, die geringe Kreuzkorrelation zeigen.
In dem optimalen Fall sollten die FH-Sequenzen orthogonal sein.
Dies erfordert jedoch die Synchronisation von unterschiedlichen
Funkeinheiten, was sowohl unpraktisch ist als auch gegenwärtig durch
die FCC in den Vereinigten Staaten nicht gestattet wird.
-
In
einer Patentanmeldung mit dem Titel "Frequency Hopping Piconets in an Uncoordinated
Wireless Multi-User System" durch
den gegenwärtigen Erfinder
wird ein System offenbart zum Bilden eines drahtlosen Streuungsnetzes
(scatter network) aus vielen unkoordinierten "Pikonetzen". Wie in 1 gezeigt,
umfasst ein Netz 10 drei Pikonetze (A, B und C), von denen
jedes mit einer Teilmenge der drahtlosen Einheiten 100, 102, 104, 106 und 108 kommuniziert.
In dem Streuungsnetz werden Pikonetze dynamisch ausgebildet und
aufgegeben, um sich an die Kommunikationsanforderungen von drahtlosen
Einheiten innerhalb des Netzes anzupassen. Z.B. wird Pikonetz C
hergestellt, um den Austausch von Information zwischen Einheiten 104 und 106 auszuführen.
-
Alle
Pikonetze machen von dem gleichen Funkmedium Gebrauch. Dieses Funkmedium
ist in eine große
Zahl von Teilkanälen
unterteilt, von denen jeder um eine gewisse Trägerfrequenz herum zentriert
ist. Alle Einheiten in dem gleichen Pikonetz springen synchron von
einem Kanal zu dem nächsten
Kanal. Da unterschiedliche Pikonetze unterschiedliche pseudo-zufällige Sprungsequenzen
verwenden, wird Interferenzimmunität durch Frequenzspringen durch
eine Sequenz von Kanälen
erhalten, die in z.B. dem Band von 2,4 GHz ausgewählt werden.
Weitere Details in Bezug auf die Kommunikation von Information unter
Verwendung der Frequenzsprungtechnik können in der gemeinsam zugewiesenen
US-Patentanmeldung Seriennummer 08/685,069 mit dem Titel "Short-Range Radio
Communications System and Method of Use" gefunden werden, die am 23. Juli 1996
eingereicht wurde.
-
In
jedem Pikonetz ist eine der drahtlosen Einheiten als ein Master
bestimmt, und die verbleibenden Einheiten sind Slaves. Die Frequenzsprungsequenz
für jedes
Pikonetz wird in der Mastereinheit auf der Basis der Adresse der
Mastereinheit generiert. Die Phase innerhalb der ausgewählten Sprungsequenz
ist eine Funktion des frei-laufenden Taktes des Masters. Und sobald
eine Verbindung zwischen einem Master und einem Slave hergestellt
wurde, übermittelt
die Mastereinheit ihre Masteradresse und den Mastertakt zu der Slaveeinheit.
Die Masteradresse und der Mastertakt werden dann verwendet, um den
virtuellen Frequenzsprungkanal zu definieren, der in Kommunikationen
zwischen der Mastereinheit und allen Slaveeinheiten verwendet wird,
die mit der Mastereinheit in dem Pikonetz in Verbindung stehen.
-
Um
die notwendigen Sprungfrequenzen zu generieren, enthält jede
Einheit 100 ... 108 jeweils einen Frequenzsprunggenerator 112 ... 120.
Ein beispielhafter Frequenzsprung-(FH, frequency hop)Generator wird
in 2 gezeigt. Der dort gezeigte FH-Generator 200 empfängt eine
Takt-"CLK"-Eingabe (repräsentativ
für den
Takt des Masters) und eine Adresseingabe (repräsentativ für die Adresse des Masters),
und generiert von dort eine Sprungzahl (Sprungnummer). Eine Änderung
des Taktes generiert eine andere Sprungzahl innerhalb der Sequenz. Mit
anderen Worten wählt
eine Änderung
des Taktes eine andere Phase innerhalb der Sequenz aus.
-
In
einer zweiten Patentanmeldung mit dem Titel "Contemporaneous Connectivity to Multiple
Piconets" durch
den gegenwärtigen
Erfinder wird eine Technik zum Vorsehen von Konnektivität zwischen unterschiedlichen
Pikonetzen beschrieben. In dieser Offenbarung kann eine Einheit
von einem Pikonetz zu einem an deren durch Ändern der Adresse und des Taktes
umschalten. Wie in 1 gezeigt, werden z.B. für Pikonetz
A Masteradresse_A und Takt_A verwendet, wohingegen für Pikonetz
B Masteradresse_B und Takt_B verwendet werden. Einheit 108,
die als ein Slave in Pikonetz_A partizipiert, wird Adresse_A und
Takt_A anwenden, um dem FH-Kanal in Pikonetz A zu folgen.
-
Falls
diese Einheit wünscht,
in Pikonetz_B als ein Slave zu partizipieren, wechselt sie einfach
zu Adresse_B und Takt_B. Alternativ kann Einheit 108 in Pikonetz
A als ein Master partizipieren, schaltet dennoch zu Pikonetz B um,
um als ein Slave zu partizipieren. Diese Umschaltungen treten vorzugsweise
in Echtzeit auf, sodass die Einheit von einem Pikonetz zu einem
anderen Pikonetz derart springen kann, dass sie praktisch in allen
Pikonetzen gleichzeitig partizipiert.
-
In
Systemen, wie etwa oben beschrieben, ist es wünschenswert, von einer Sequenz
zu einer anderen schnell umzuschalten. Konventionelle Systeme erfüllen dieses
Ziel nicht leicht. Falls z.B. die Sequenz von einem beträchtlichen
Format ist, kann die Sequenz Offline unter Verwendung irgendeines Pseudo-Zufallsgeneratorprozesses
generiert und dann in einen RAM-Speicher heruntergeladen werden.
Der RAM wird anschließend
unter Verwendung des Taktes ausgelesen, um den RAM zu adressieren. Offline-Verarbeitung
und Herunterladen in den RAM erlegen jedoch beträchtliche Zeit- und Leistungsanforderungen
auf. Außerdem
ist die Sequenzlänge durch
die begrenzte Größe (Kapazität) des RAM
eingeschränkt.
Da der Inhalt des RAM die Frequenzsprungsequenz darstellt, ist auch
schnelles Umschalten zwischen Pikonetzen, die unterschiedliche Sequenzen
verwenden, nicht möglich,
da der RAM-Inhalt nicht schnell geändert werden kann.
-
Ein
anderes Verfahren zum Generieren von Sequenzen geschieht durch die
Verwendung von linearen oder nichtlinearen Rückkopplungsregistern. Diese
Register werden als Zahlengenerato ren in Verschlüsselungsroutinen und allgemeinen
kryptografischen Prozeduren verwendet. Durch Takten der Register
wird einem Zyklus gefolgt, dessen Sequenz und Länge von den Rückkopplungsverbindungen
abhängen.
Es können
unterschiedliche Zyklen durch Ändern
der Rückkopplungsverbindungen
gewählt werden.
Ein Problem mit diesen Registern besteht darin, dass die Zahl von
Sequenzen mit geeigneten Eigenschaften begrenzt ist. Einige Einstellungen (entsprechend
jeweiligen Adressen) werden sehr kurze Sequenzen mit nicht adäquaten Eigenschaften erzeugen,
während
andere Einstellungen sehr lange Sequenzen erzeugen werden.
-
Außerdem erfordert
die in 1 gezeigte Anwendung eine direkte Abbildung des
Taktwertes CLK auf eine Sprungzahl. Dies ordnet an, dass der FH-Generator
nicht einen Speicher hat, da dies unbefriedigend wäre, wenn
von einem Pikonetz zu einem anderen Pikonetz gesprungen wird. Für ein Rückkopplungsregister
bedeutet dies, dass das Register mit dem Taktwert zu initialisieren
ist, nachdem das Rückkopplungsregister
ein oder mehrere Male getaktet ist nachdem die Sprungzahl ausgelesen
ist. Für
den nächsten
und anschließende
Taktwerte muss diese Prozedur wiederholt werden.
-
Noch
andere Techniken zum Generieren von pseudo-zufälligen Sequenzen werden in "Spread Spectrum Communications
Handbook", Simon
et al., McGraw-Hill, Inc., Copyright 1994, Kapitel 5 erörtert. Diese
Techniken sind auch allgemein für
die Echtzeitanforderungen nicht geeignet, die durch die oben erörterte Anwendung auferlegt werden.
-
US-A-4,066,964
offenbart ein Kommunikationssystem, worin eine Vielzahl von Stationen
miteinander kommunizieren können.
Ein Empfänger
des Kommunikationssystems umfasst einen Pseudozufallscodegenerator,
umfassend ein binäres
Frequenzschieberegister, das eine Vielzahl von Flip-Flop-Schaltungen
enthält.
-
Es
wird ein Taktimpulssignal zum Vorsehen eines Verschiebungssignals
zu dem Schieberegister verwendet.
-
ZUSAMMENFASSUNG
-
Es
ist deshalb ein beispielhaftes Ziel der vorliegenden Erfindung,
ein Verfahren und eine Vorrichtung für direkte und Echtzeitgenerierung
einer Sprungzahl aus einer eingegebenen Adresseinstellung und einem
Taktwert vorzusehen.
-
Gemäß einem
beispielhaften Aspekt der vorliegenden Erfindung wird dieses Ziel
unter Verwendung eines Frequenzsprunggenerators zur Verwendung in
einem drahtlosen Kommunikationssystem erreicht, umfassend ein Permutations-(PERM)Verarbeitungsmodul
zum Verarbeiten eines Abschnitts (Anteiles) eines Taktsignals als
eine Funktion des Adresssignals, und ein exklusives OR-(XOR)Verarbeitungsmodul,
in Reihe mit dem PERM-Modul angeordnet, zum Verarbeiten des Abschnitts
des Taktsignals als eine Funktion des Adresssignals. Um die Erörterung
zu erleichtern, werden die Auswahladressen, die dem PERM-Modul zugeführt werden,
als PERM-Adresssignale (dargestellt durch das Symbol "p") bezeichnet, während die Auswahladressen,
die dem XOR-Modul zugeführt
werden, als XOR-Adresssignale (dargestellt durch das Symbol "e") bezeichnet werden. Die Ausgabe der
seriell angeordneten PERM- und XOR-Module definiert eine aus einer Vielzahl
von Z Sprungzahlen. Änderungen
in der Adresse erzeugen eine im wesentlichen momentane Änderung
in einer Ausgangssequenz der Sprungzahlen. Änderungen in dem Taktsignal
erzeugen eine im wesentlichen momentane Änderung in einer Phase einer
Ausgangssequenz der Sprungzahlen.
-
Gemäß einem
anderen beispielhaften Aspekt der Erfindung sind die Adressen, die
den PERM- und XOR-Modulen zugeführt
werden, das Ergebnis einer zusätzlichen
XOR- und/oder PERM-Verarbeitung. Diese zusätzliche XOR- und PERM-Verarbeitung
erhöht
die Zahl von eindeutigen Sequenzen und kann auch die Länge jeder
Sequenz erhöhen.
-
Gemäß einem
anderen beispielhaften Aspekt der Erfindung ist ein Modulo-M-Addierer
vorgesehen, der die eine von Z Frequenzsprungzahlen empfängt und
eine von M Frequenzsprungzahlen generiert.
-
Gemäß einem
anderen beispielhaften Aspekt der Erfindung ist ein Speicher, wie
etwa ein ROM, vorgesehen, der eine Vielzahl von Sprungfrequenzen
entsprechend einer Vielzahl von Ausgangssprungzahlen speichert.
Die Sprungfrequenzen sind angeordnet, eine adäquate spektrale Trennung zwischen
benachbarten Sprungfrequenzen in einer Sequenz sicherzustellen.
-
Gemäß noch einem
anderen beispielhaften Aspekt der Erfindung wird ein Verfahren zur
Verwendung in einem Frequenzsprung-Drahtlosnetz vorgesehen, die Schritte
umfassend: Empfangen eines Abschnitts eines Taktsignals, umfassend
Zeilen und Spalten von Taktinformationsbits; Durchführen von Permutationsverarbeitung
in dem Abschnitt des Taktsignals, um Bitwerte in einer Spaltenrichtung
der Informationsbits als eine Funktion einer Permutationsadresse
zu variieren; Durchführen
exklusiver OR-Verarbeitung in dem Abschnitt des Taktsignals, um
Bitwerte in einer Zeilenrichtung der Informationsbits als eine Funktion
einer exklusiven OR-Adresse zu variieren; und Generieren einer von
Z Ausgangsfrequenzsprungzahlen auf der Basis der Permutationsverarbeitung
und der exklusiven OR-Verarbeitung.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Ziele und Vorteile der Erfindung werden durch Lesen der folgenden
detaillierten Beschreibung in Verbindung mit den Zeichnungen verstanden,
in denen:
-
1 eine
beispielhafte Übersicht über ein Netz
ist, worin drahtlose Einheiten unter Verwendung vieler Pikonetze
kommunizieren;
-
2 eine Übersicht über einen
Frequenzsprunggenerator mit einer Masteradresse und einem Mastertakt
zur Eingabe und einer Sprungzahl zur Ausgabe ist;
-
3(a) eine beispielhafte Implementierung des Frequenzsprunggenerators
von 2 unter Verwendung eines XOR-Moduls zeigt;
-
3(b) die Ausgabe, die durch das XOR-Modul in 3(a) generiert wird, für unterschiedliche Taktwerte
und Adresseinstellungen zeigt;
-
4(a) eine beispielhafte Implementierung des Frequenzsprunggenerators
von 2 unter Verwendung eines PERM-Verarbeitungsmoduls
ist;
-
4(b) die Manipulationen zeigt, die durch das PERM-Verarbeitungsmodul
in den Eingangstaktleitungen durchgeführt werden;
-
4(c) ein beispielhaftes Mittel zum Implementieren
der Manipulationen zeigt, die in 4(b) gezeigt
werden;
-
4(d) die Ausgabe, die durch das PERM-Modul in 4(a) generiert wird, für unterschiedliche Taktwerte
und Adresseinstellungen zeigt;
-
5 eine
beispielhafte Implementierung des Frequenzsprunggenerators von 2 unter
Verwendung eines XOR-Moduls und eines PERM-Verarbeitungsmoduls in
Kombination ist;
-
6 eine
Variation der in 5 gezeigten Ausführungsform
ist, in der die eingegebenen Adressen unter Verwendung von XOR-Modulen
verarbeitet werden;
-
7 eine
Variation der in 5 gezeigten Ausführungsform
ist, in der die eingegebenen Adressen unter Verwendung von XOR-Modulen
und eines PERM-Verarbeitungsmoduls verarbeitet werden;
-
8 eine
Variation der in 5 gezeigten Ausführungsform
ist, in der die Ausgabe des XOR-Moduls weiter unter Verwendung eines
Modulo-M-Addierers verarbeitet wird; und
-
9 den
Inhalt eines Speichers zeigt, der verwendet wird, um eine Sprungfrequenz
auf der Basis einer eingegebenen Sprungzahl auszuwählen.
-
DETAILLIERTE
BESCHREIBUNG
-
Die
verschiedenen Merkmale der Erfindung werden nun mit Bezug auf die
Figuren beschrieben, in denen gleiche Teile durch die gleichen Bezugszeichen
identifiziert werden.
-
Als
eine Übersicht
wählt das
hierin offenbarte Verfahren und Mittel eine FH-Sequenz auf der Basis einer
eingegebenen Adresse direkt aus und wählt die Phase in der Sequenz
auf der Basis eines Taktwertes direkt aus. Eine Änderung der Adresse sieht den
richtigen Sprungkanal entsprechend einer neuen FH-Sequenz schnell vor.
Eine Änderung
des Taktes (z.B. durch Inkrementieren, Dekrementieren oder Durchführen eines
beliebigen Sprungs in Taktwerten) sieht den richtigen Sprungkanal
entsprechend der neuen Phase schnell vor.
-
Gemäß einer
Ausführungsform
werden die oben beschriebenen Funktionen durch Durchführen von
XOR-(exklusives OR)Verarbeitung und/oder PERM-(Permutation)Verarbeitung
in der Ausgabe des frei-laufenden Taktes des Masters implementiert, als
eine Funktion einer eingegebenen Adresse. Als eine Übersicht
zeigt 3(a) die Verwendung eines XOR-Moduls,
um Frequenzsprungzahlen zu generieren, und 4(a) zeigt
die Verwendung eines PERM-Moduls, um die Frequenzsprungzahlen zu
generieren. 5–8 zeigen
Ausführungsformen mit
einer Kombination von einem oder mehr XOR-Modulen und PERM-Modulen.
Z.B. werden, wie in 5 gezeigt, die LSB-Werte c2 c1 c0 des
Taktes zu einem PERM-Verarbeitungsmodul 500 eingespeist,
dessen Ausgabe in ein XOR-Modul 502 eingespeist wird. Die
Ausgabe des XOR-Moduls 502 definiert eine Sprungzahl innerhalb
einer Sprungsequenz, die eine Funktion der Auswahleingaben ist, die
an das PERM-Modul 500 bzw. das XOR-Modul 502 angelegt
werden.
-
In
allen veranschaulichten Ausführungsformen
repräsentieren
Auswahleingaben das Adresssignal, das dem Frequenzsprunggenerator
zugeführt wird,
und repräsentieren
in der oben erörterten
spezifischen Anwendung die Masteradresse in einem Pikonetz. Um die
Erörterung
zu erleichtern, wird die Auswahladresse, die dem PERM-Modul zugeführt wird,
als eine PERM-Adresse oder ein PERM-Adresssignal (dargestellt durch
das Symbol "p") bezeichnet, während die
Auswahladresse, die dem XOR-Modul
zugeführt
wird, als eine XOR-Adresse oder ein XOR-Adresssignal (dargestellt
durch das Symbol "e") bezeichnet wird.
Z.B. wird in 5 die 3-Bit-Eingabe, die dem
PERM-Modul zugeführt
wird, durch p2 p1 p0 dargestellt, während die 3-Bit-Eingabe, die
dem XOR-Modul zugeführt wird,
durch e2 e1 e0 dargestellt wird. Es sollte jedoch beachtet
werden, dass diese Signale letztlich die Adressbits darstellen,
die dem Frequenzsprunggenerator zugeführt werden, oder eine Teilmenge
davon (oder allgemeiner einige Ableitungen davon). Die p- und e-Signale
können
unterschiedliche Abschnitte des eingegebenen Adresssignals umfassen.
Z.B. können
in einer beispielhaften Ausführungsform
die Auswahladressen p2 p1 p0 und e2 e1 e0 die sechs Adressbits
unterer Ordnung eines eingegebenen Adresssignals a5 a4 a3 a2 a1 a0 (z.B. in einer
beispielhaften Ausführungsform
p2 p1 p0 =
a5 a4 a3 und
e2 e1 e0 =
a2 a1 a0 oder
p2 p1 p0 =
a2 a1 a0 und
e2 e1 e0 =
a5 a4 a3)
umfassen. Alternativ können
sich die p- und e-Signale "überlappen" (d.h. Abschnitte
der p- und e-Signale können
die gleichen Masteradressbits definieren). Auch müssen die
p- und e-Adressen nicht aufeinanderfolgende Adressbits der Adresse
definieren, die dem Frequenzgenerator zugeführt werden. Wie hierin verwendet,
sind die p- und e-Adressen einfach Kennzeichen, die jene Signale
bezeichnen, die den PERM- bzw. XOR-Modulen zugeführt werden.
-
Die
Charakteristika der Schaltungen, die in den verschiedenen Ausführungsformen
gezeigt werden, werden nun durch zuerst getrenntes Untersuchen der
Eigenschaften des XOR-Moduls und des PERM-Verarbeitungsmoduls mit
Bezug auf 3 und 4 nachstehend
detaillierter beschrieben.
-
3(a) zeigt ein beispielhaftes XOR-Modul 300,
das einen 3-Bit-Takt empfängt
und FH-Sequenzen von Länge
8 basierend auf einer 3-Bit-Eingangsadresse e2 e1 e0 generiert. Allgemein
invertiert die XOR-Operation ein Taktbit, wenn ein jeweiliges Adressbit
einen Wert von "1" hat, wohingegen
das Taktbit unverändert
ist, wenn das Adressbit einen Wert von "0" hat.
Das XOR-Modul wendet die XOR-Operation auf jedes Bit i des Taktsignals
derart an, dass jedes Bit i des ausgegebenen "h" durch
hi = ci ⊕ ei definiert ist (d.h., h2 =
c2 ⊕ e2, h1 = c1 ⊕ e1, and h0 = c0 ⊕ e0). Da es drei Adressbits in den XOR-Operationen
gibt, sieht die XOR-Operation 8 unterschiedliche FH-Sequenzen vor, jede
von Länge 8.
-
3(b) zeigt die unterschiedlichen Sequenzen, die
durch das XOR-Modul 300 generiert werden. D.h. jede Spalte
(bezeichnet durch Buchstaben R, A, B, C, ..., G) repräsentiert
eine unterschiedliche Sequenz entsprechend einer unterschiedlichen eingegebenen
Adresse e2 e1 e0. Die Ausgangssprungzahlen werden in ihrer
binären
Form als Ausgangsbits h2 h1 h0 aufgeführt,
und in ihren dezimalen Darstellungen als eine Ziffer, die in Klammern
eingeschlossen ist. Die unterschiedlichen Zahlen innerhalb jeder
Sequenz entsprechen unterschiedlichen Phasen innerhalb der Sequenz.
Eine spezifische Phase wird auf der Basis des eingegebenen Taktwertes
ausgewählt.
Der Leser wird bemerken, dass die XOR-Operation die Zeilen auf eine
Weise zwei Mal zwei austauscht.
-
Die
XOR-Operation in dem MSB des Taktes (c2 =
1) rotiert lediglich die FH-Sequenz um die Hälfte ihrer Länge. Da
die oben beschriebene beispielhafte Pikonetzanwendung Synchronisation
nicht erlauben wird, bedeutet dies, dass eine FH-Sequenz und eine verschobene
Version ein und die gleiche Sequenz sind. So sind Sequenzen R und
D die gleichen, wie es Sequenzen A und E, B und F und C und G sind. Die
XOR-Operation in dem MSB des Taktes kann deshalb verworfen werden.
Die Gesamtzahl von unterschiedlichen Sprungsequenzen von Länge 8, die mit
der XOR-Operation
abgeleitet werden, ist deshalb 4. Allgemein wird für eine N-Eingangstaktleitung die
XOR-Operation 2(N-1) verschiedene Sequenzen erzeugen.
-
Es
wird verstanden, dass die in 3(a) gezeigte
Konfiguration die Anforderungen der Blackbox in 2 erfüllt, da
eine Änderung
der Adresse e2 e1 e0 die Sequenz direkt ändert, und eine Änderung
des Taktes c2 c1 c0 die Phase in dieser Sequenz direkt ändert.
-
Die
zweite Operation, die Permutationsoperation, wird allgemein in 4(a) dargestellt. Wie dort gezeigt, empfängt das PERM-Verarbeitungsmodul 400 die
LSB-Bitwerte c2 c1 c0 des Taktes und Auswahleingaben p2 p1 p0,
und generiert eine Ausgangssprungzahl daraus (die als Ausgangsbits
h2 h1 h0 dargestellt
werden kann). Allgemein wendet die PERM-Operation eine Abbildung
von eins zu eins von den Eingangstaktsignalen auf die Ausgangssprungzahl
basierend auf den Auswahleingaben an. D.h. der Eingang c0 kann mit beliebigen der Ausgänge h0 h1 h2 verbunden
sein. Falls die c0-Leitung ausgewählt ist,
kann das c1-Bit mit N – 1 verbleibenden Ausgängen verbunden
werden. Dann kann das c2-Bit mit beliebigen
der N – 2
verbleibenden Ausgängen verbunden
sein etc. Insgesamt sind N! = N × (N – 1) × (N – 2) × ... × 2 × 1 unterschiedliche Kombinationen möglich. Mit
N = 3 gibt es z.B. 3! = 6 unterschiedliche Permutationen. Die Auswahladresse
p2 p1 p0 benötigt deshalb
in diesem Fall 3 Bits.
-
4(b) zeigt eine Serie von Butterfly-Konfigurationen,
um die in 4(a) gezeigte Funktion zu implementieren.
Für N =
3 in jeder Stufe wechselt ein Butterfly zwei Leitungen. Die Auswahlbits
p2 p1 p0 bestimmen,
ob der Butterfly die Signale unverändert passieren lässt, oder
ob ein Austausch (Umschaltung) angewendet wird. Wenn z.B. das Adressbit
p2 einen Wert von "1" hat,
dann werden ausgewählte Taktleitungen
in einer ersten Stufe unter Verwendung von Logik 402 effektiv
umgeschaltet. Wenn das Adressbit p1 einen
Wert von "1" hat, dann werden ausgewählte Taktleitungen
in einer zweiten Stufe unter Verwendung von Logik 404 effektiv
umgeschaltet. Wenn das Adressbit p0 einen
Wert von "1" hat, dann werden
ausgewählte
Taktleitungen in einer dritten Stufe unter Verwendung von Logik 406 effektiv
umgeschaltet.
-
Jeder
Butterfly kann mit zwei 2-Eingangs-Multiplexern implementiert sein.
Z.B. zeigt 4(c) ein Paar von 2-Eingangs-Multiplexern zum Implementieren
der Logik 402, die in 4(b) gezeigt
wird. In 4(c) wird, wenn der Wert des
Auswahlbits p2 "1" ist,
Multiplexer 408 dann den Wert von c1 ausgeben,
und Multiplexer 410 wird den Wert von c0 ausgeben.
Wenn der Wert des Auswahlbits p2 "0" ist, wird dann Multiplexer 408 den
Wert von c0 ausgeben, und Multiplexer 410 wird
den Wert von c1 ausgeben.
-
Schließlich zeigt 4(d) die Eingabe-Ausgabe-Beziehung für die PERM-Operation
in 4(a)–(c). Es werden insgesamt 8
unterschiedliche Sequenzen generiert (bezeichnet mit R, A, B, ..., G).
Sequenz F ist jedoch die gleiche wie Sequenz C, und Sequenz G ist
die gleiche wie Sequenz B. Deshalb generiert die PERM-Operation
sechs eindeutige Sequenzen. Allgemein erzeugt die PERM-Operation N!
verschiedene Sequenzen, wobei N die Zahl von Eingangstaktwerten
darstellt. Der Leser wird bemerken, dass die PERM-Operation die
Spalten der Sequenz austauscht, wohingegen die XOR-Operation die
Zeilen der Taktsequenz austauscht.
-
Die
ausgegebenen Einträge
in 4(d) werden unter Verwendung
der beispielhaften Schaltoperationen abgeleitet, die in 4(b) gezeigt werden. Z.B. wird die Auswahleingabe
p2 p1 p0 =
100 eine Ausgabe h2 h1 h0 von 001 für einen eingegebenen Taktwert
von c2 c1 c0 = 010 generieren, da die Logik 402 in 4(b) die Eingangsleitungen für c1 und
c0 effektiv umschaltet. Die Auswahleingabe
p2 p1 p0 = 101
wird eine Ausgabe h2 h1 h0 von 100 für einen eingegebenen Taktwert
von c2 c1 c0 = 010 generieren, da die Logik 402 in 4(b) die Eingangsleitungen für c1 und
c0 effektiv umschaltet, um eine Zwischenausgabe
von 001 zu erzeugen, und die Logik 406 die Eingangsleitungen
für c2 und c0 umschaltet,
um die endgültige
Ausgabe von 100 zu erzeugen.
-
Erneut
wird vermerkt, dass die in 4(a) gezeigte
Konfiguration die Anforderungen der Blackbox in 2 erfüllt, da
eine Änderung
der Auswahlbits p2 p1 p0 die Sequenz direkt än dert, und eine Änderung
des Taktes c2 c1 c0 die Phase in dieser Sequenz direkt ändert.
-
Die
XOR- und PERM-Module, die in 3(a) und 4(a) gezeigt werden, können kombiniert werden, um
eine Konfiguration vorgesehen, die eine Gesamtzahl (FHseq_total)
von 4 × 6
= 24 Sequenzen jede mit einer Länge
(FHseq_length) von 8 Zahlen vorsieht, die
unter 8 eindeutigen Frequenzsprungzahlen (FHhop_unique)
ausgewählt
werden. Dies wird in 5 gezeigt, in der ein PERM-Modul 500 in
Reihe mit einem XOR-Modul 502 verbunden ist. Das MSB der Ausgabe
des PERM-Moduls 500 wird nicht zu dem XOR-Modul eingespeist,
da wie oben in Verbindung mit 3(b) erörtert, dieses
Bit nicht zu der Generierung zusätzlicher
eindeutiger Sequenzen beiträgt.
Da die PERM- und XOR-Operationen direkt in den Taktleitungen durchgeführt werden,
macht es keinen Unterschied, ob die XOR-Operation vor oder nach
der PERM-Operation durchgeführt
wird. Obwohl nur drei Taktleitungen in 5 gezeigt
werden, wird auch verstanden, dass die dort gezeigte Konfiguration
für eine größere Zahl
von Taktleitungen erweitert werden kann. Im allgemeinen sind für N Taktleitungen
die Sequenzlänge
FHseq_length und die Zahl von eindeutigen Sprungzahlen
FHhop_unique 2N,
und die Zahl von generierten unterschiedlichen FH-Sequenzen FHseq_total ist N! × 2(N-1).
-
Längere Sequenzen
können
unter Verwendung des Frequenzsprunggenerators erhalten werden, der
in 6 gezeigt wird. In dieser Ausführungsform wird die Basiskonfiguration
von 5 eingesetzt, in der ein PERM-Modul 600 mit
einem XOR-Modul 602 kombiniert ist. Dieser Block von Verarbeitungsmodulen
ist in punktierten Linien eingeschlossen und wird nachstehend als
ein "Takt-LSB-Verarbeitungsmodul" 610 bezeichnet.
Dieses Modul bildet auch den Kern der Schaltungen, die in 7 und 8 gezeigt
werden. Hierin nachstehend repräsentiert
das Symbol "N "die Zahl von Taktleitungen,
die zu dem Takt-LSB-Verarbeitungsmodul eingespeist werden.
-
Außerdem wird
in 6 eine zusätzliche XOR-Operation
Bit für
Bit nun zwischen den MSBs (c8 c7 c6 und c5 c4 c3) des Taktes
und den Auswahlbits unter Verwendung von XOR-Modulen 604 und 606 angewendet.
Die Ausgabe des XOR-Moduls 604 ist ein Drei-Bit-Signal,
das an den Eingang des PERM-Moduls 600 angelegt wird, und
die Ausgabe des XOR-Moduls 606 ist ein 3-Bit-Signal, das an
den Eingang des XOR-Moduls 602 angelegt wird. Die XOR-Operationen,
die durch die Module 604 und 606 durchgeführt werden,
werden durch die Tabelle definiert, die in 3(b) gezeigt
wird.
-
Es
wird vermerkt, dass das MSB von c2 nun mit
XOR verknüpft
werden kann, da die gesamte (kaskadierte) Sequenz nicht die Eigenschaft
hat, dass durch Rotieren der Sequenz um N/2 die gleiche Sequenz
entsteht. Somit ist die Gesamtzahl von Sequenzen FHseq_total die
durch das XOR-Modul selbst erzeugt werden, nun 2N.
-
In
dem Beispiel von 6 erzeugt das Takt-LSB-Verarbeitungsmodul
eine Serie von 64 "Teilsequenzen" von Sprungzahlen
(hierin nachstehend als "Segmente" bezeichnet), jede
von einer Länge
von B. Diese Segmente sind kaskadiert. Jedes Segment ist wegen den Änderungen
in den Ausgaben der XOR-Verarbeitungsmodule 604 und 606 für jedes
Segment verschieden. Die Gesamtlänge
jeder Sequenz FHseq_length, die durch Kaskadieren
der Segmente erzeugt wird, ist 8 × 64 = 512. Die Länge der Sequenz
in dieser Ausführungsform
ist gleich 2K, wobei K die Zahl von Taktleitungen
ist, die in die gesamte Schaltung eingespeist werden (d.h. einschließlich der
Taktleitungen, die in das Takt-LSB-Verarbeitungsmodul eingespeist
werden, und der Taktleitungen, die als Auswahleingaben verwendet
werden). In dem speziellen Fall von 6 werden
K = 9 Taktleitungen verwendet. Die Zahl von unterschiedlichen Sequenzen
FHseq_total ist 3! × 23 =
48. In dieser Ausführungsform
gibt es noch 2N = 8 eindeutige Sprungfrequenzen
(FHhop_unique), aber die längere Sequenz
besucht jede Frequenz häufiger.
Alle Sprungfrequenzen werden mit der gleichen Wahrscheinlichkeit
besucht.
-
Die
Zahl von Sequenzen FHseq_total kann durch
zusätzliches
Anwenden einer PERM-Operation in den Auswahlleitungen erhöht werden.
Dies wird in 7 gezeigt, die sich von der
Ausführungsform von 6 durch
Hinzufügen
eines zweiten PERM-Moduls 708 unterscheidet. Das zweite PERM-Modul 708 führt eine
Permutationsoperation in den MSB-Taktleitungen c8 c7 c6 c5 c4 c3 als eine Funktion
der Permutationsadresse p12 p11 p10 ... p5 p4 p3 durch. Genauer
schaltet die Permutationsoperation die Eingangstaktleitungen als
eine Funktion der eingegebenen Permutationsadresse auf eine Art
und Weise ähnlich
zu der in 4(a)–4(d) veranschaulichten
um, aber in einem größeren Maßstab. Die
Auswahleingabe (p12 p11 p10 ... p5 p4 p3) hat mehr Eingangsleitungen
als das Taktsignal (c8 c7 c6 c5 c4 c3), um alle Permutationen zu berücksichtigen,
die in dem Eingangstaktsignal möglich
sind.
-
Die
Ausgabe des zweiten PERM-Moduls umfasst zwei 3-Bit-Signale. Die
3-Bit-Signale werden in XOR-Module 704 und 706 eingespeist.
Die XOR-Module 704 und 702 führen eine XOR-Operation zwischen
der Ausgabe des PERM-Moduls 708 und den Auswahleingaben
p2 p1 p0 bzw.
e2 e1 e0 auf eine
Art und Weise ähnlich
zu der in 3(a) und 3(b) veranschaulichten
durch. Die Ausgaben der XOR-Module 704 und 702 umfassen
zwei 3-Bit-Signale,
die in das PERM-Modul 700 bzw. das XOR-Modul 702 eingespeist
werden.
-
In 7 ist
die Sequenzlänge
FHseq_length noch 512, aber die Zahl von
unterschiedlichen Sequenzen FHseq_total hat
sich um einen Faktor von 6! zu insgesamt 6! × 3! × 23 =
34560 Sequenzen erhöht. Die
Zahl von eindeutigen Frequenzsprungzahlen FHhop_unique ist
noch 8.
-
Obwohl 5–7 drei
Beispiele unterschiedlicher Anordnungen von PERM- und XOR-Modulen
zeigen, wird ein Fachmann erkennen, dass unterschiedliche Längen und
Zahlen von Sequenzen durch Vorsehen unterschiedlicher Anordnungen
von Modulen erreicht werden können.
Z.B. können
XOR- und PERM-Operationen auch in Auswahleingaben p12 p11 p10 ... p4 p3 unter Verwendung
noch höherer MSBs
des Taktes durchgeführt
werden.
-
Die
Takt-LSBs können
auch für
Operationen mit den Auswahlleitungen p und e verwendet werden. In
diesem Fall sind jedoch die Sprungfrequenzen in jedem Segment nicht
mehr eindeutig. Außerdem kann
nicht garantiert werden, dass jeder Sprung mit gleicher Wahrscheinlichkeit
besucht wird, wenn die gesamte Sequenz betrachtet wird.
-
In
den oben erörterten
Ausführungsformen war
die Gesamtzahl von eindeutigen Sprungzahlen FHhop_unique auf
2N begrenzt, wobei N die Zahl von Eingangstaktleitungen
ist, die in das Takt-LSB-Verarbeitungsmodul eingespeist werden.
Dies schränkt
die Gesamtzahl von eindeutigen Sprungfrequenzen auf eine begrenzte
Menge von Zahlen (z.B. 2, 4, 8, 16, 32, etc.) ein. Diese Einschränkung in
der Gesamtzahl kann durch Erweitern der Gesamtzahl von Ausgangssprungzahlen
unter Verwendung eines Modulo-M-Addierers, und durch Verringern
der Gesamtzahl von Sprungzahlen unter Verwendung eines Modulo-M-Zählers vermieden
werden. Z.B. können
10 eindeutige Sprungzahlen durch Verwenden von N = 3 Takteingangsleitungen
vorgesehen werden, um 8 unterschiedliche Sprungzahlen vorzusehen,
und dann Verwenden eines Addierers, um mindestens zwei zusätzliche
Sprungzahlen vorzusehen.
-
Zum
Beispiel zeigt 8 eine Variation der Ausführungsform
von 5, die ein PERM-Modul 800 einsetzt, das
mit einem XOR-Modul 802 in Reihe verbunden ist. Das PERM-Modul 800 und
das XOR-Modul 802 empfangen Auswahleingaben p2 p1 p0 bzw. e2 e1 e0,
wie in dem Fall von 5. Die Ausgabe des XOR-Moduls 802 wird
in einen ersten Eingang eines Addierers 804 eingespeist.
Ein zweiter Eingang des Addierers 804 empfängt ein
Taktsignal c10 c9 c8 ... c4 c3.
-
In
der obigen Konfiguration definiert die Ausgabe des XOR-Moduls 802 eine
Gesamtzahl von eindeutigen Sprungzahlen FHhop_unique =
Z (= 2N), wobei Z < M ist. Ein Segment von Länge Z in
der Liste von M verfügbaren
Sprungzahlen ist durch eine spezifische Auswahl von Takt-MSBs umgeben.
Wenn sich die MSBs ändern,
wird ein unterschiedliches Segment von Länge Z umgeben. Vorzugsweise
ist M eine Primzahl. Nach M inkrementellen Verschiebungen wird der
ursprüngliche
Abschnitt von Z Sprungzahlen erneut besucht.
-
Erneut
können
die Taktbits, die dem Addierer zugeführt werden, mit XOR- und PERM-Operationen behandelt
werden, um die Auswahl des Z-Längensegmentes
in der M-Längensprungfrequenzliste
auf die Art und Weise zu randomisieren, die oben mit Bezug auf 6 und 7 erörtert wird.
-
Des
weiteren kann die Additionsoperation auf die Takt-LSBs in 6 und 7 angewendet werden.
Addieren eines fixierten Offset (Versatzes) ergibt einen Offset
in der Phase. Für
die Basiskonfiguration, die in 5 gezeigt
wird, wird dies nicht eine andere Sequenz ergeben, da sie nur zu
einer rotierten Version der gleichen Sequenz führt. Wenn jedoch kaskadierte
Segmente betrachtet werden, wird Rotieren der Segmente durch Addieren
eines Phasenoffset in der Tat eine unterschiedliche FH-Sequenz ergeben.
-
In 8 ist
die Zahl von Sprungzahlen M größer als
Z. Ein Taktzähler
Modulo M kann an Stelle des Addierers 804 verwendet werden,
um M Sprungzahlen derart vorzusehen, dass M < Z ist.
-
Bis
jetzt wurde von der Sprungzahl, die aus den in 5–8 gezeigten
Ausführungsformen abgeleitet
wird, angenommen, dass sie die Sprungfrequenz direkt darstellt.
In einigen Fällen
ist es jedoch von Vorteil, die Sprungzahl in den Sprungfrequenzen
auf eine indirekte Art und Weise abzubilden. Z.B. ist es in gewissen
Anwendungen vorteilhaft, einen so groß wie möglichen Teil in dem Spektrum
in nur einem einzelnen Segment abzudecken. Aufeinanderfolgende Sprungzahlen
sollten Sprungfrequenzen entsprechen, die ausreichend voneinander
beabstandet sind. Dies verhindert z.B. aufeinanderfolgende Sprünge von
entsprechenden zu benachbarten Sprungfrequenzen. Beabstanden aufeinanderfolgender
Sprungfrequenzen weit voneinander ist besonders vorteilhaft, wenn
Verschachtelung angewendet wird, um Häufungsfehlern entgegenzuwirken.
-
Ausgangssprungzahlen
und Sprungfrequenzen können
unter Verwendung eines RAM oder ROM abgebildet werden, wie in 9 gezeigt.
Wie dort gezeigt, wird die Sprungzahl verwendet, um einen Speicher 900,
wie etwa einen RAM oder ROM, zu adressieren. Der Speicher 900 enthält eine
Anzeige der Sprungfrequenzen. Der Inhalt dieses Speichers kann während Herstellung
oder während
Installation einmal initialisiert werden, und deshalb ist in einer
Ausführungsform
der Inhalt während
der Verwendung fixiert.
-
Der
Inhalt in dem Speicher ist derart, dass ein Segment des Inhalts
mit einer Länge
2N (Segmentlänge) Frequenzen enthält, die
ausreichend voneinander beabstandet sind. Z.B. wird der Inhalt des
Speichers für
M = 9 (z.B. 9 Sprungzahlen und Frequenzen) und N = 2 (z.B. 2 LSB-Taktleitungen,
die in das Takt-LSB-Verarbeitungsmodul eingespeist werden) angezeigt.
Eine Sequenz hat eine Länge
4 (z.B. 22). Insgesamt gibt es 9 Segmente,
jedes mit 4 aufeinanderfolgenden Speicherstellen. Jedes Segment "umspannt" das Spektrum, das
von Frequenz 1 bis 9 reicht, aber benachbarte Sprünge werden
stets mindestens 2 Sprünge
getrennt sein.
-
Die
Erfindung wurde mit Bezug auf eine bestimmte Ausführungsform
beschrieben. Einem Fachmann wird jedoch leicht offensichtlich sein,
dass es möglich
ist, die Erfindung in spezifischen Formen anders als jenen der oben
beschriebenen bevorzugten Ausführungsform
zu verkörpern.
Die bevorzugte Ausführungsform
ist lediglich veranschaulichend und sollte auf keine Weise als einschränkend betrachtet werden.
Der Bereich der Erfindung wird durch die angefügten Ansprüche angegeben, an Stelle von
der vorangehenden Beschreibung, und alle Variationen und Entsprechungen,
die in den Bereich der Ansprüche
fallen, sind gedacht, darin einbezogen zu sein.