PatentDe  


Dokumentenidentifikation DE69620781T9 16.05.2007
EP-Veröffentlichungsnummer 0000858695
Titel VERFAHREN UND VORRICHTUNG ZUR DIGITALEN DATENÜBERTRAGUNG
Anmelder Terayon Communication Systems, Inc., Santa Clara, Calif., US
Erfinder Rakib, Selim Shlomo, Cupertino, US;
Azenkot, Yehuda, Cupertino, US
Vertreter Patent- und Rechtsanwälte Bardehle, Pagenberg, Dost, Altenburg, Geissler, 81679 München
DE-Aktenzeichen 69620781
Vertragsstaaten AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, LI, LU, MC, NL, PT, SE
Sprache des Dokument EN
EP-Anmeldetag 25.07.1996
EP-Aktenzeichen 969272707
WO-Anmeldetag 25.07.1996
PCT-Aktenzeichen PCT/US96/12391
WO-Veröffentlichungsnummer 1997008861
WO-Veröffentlichungsdatum 06.03.1997
EP-Offenlegungsdatum 19.08.1998
EP date of grant 17.04.2002
Date of publication of correction 16.05.2007
Information on correction Berichtigung in Anspruch 1-34 und in Zeichnungsseiten 1-54
IPC-Hauptklasse H04J 13/02(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04N 7/173(2006.01)A, L, I, 20051017, B, H, EP   H04J 11/00(2006.01)A, L, I, 20051017, B, H, EP   H04J 3/06(2006.01)A, L, I, 20051017, B, H, EP   H04B 7/02(2006.01)A, L, I, 20051017, B, H, EP   H04L 5/06(2006.01)A, L, I, 20051017, B, H, EP   H04H 1/02(2006.01)A, L, I, 20051017, B, H, EP   H04L 27/36(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

Diese Anmeldung steht in Bezug zu den erteilten US-Patenten 5,793,759, ausgegeben am 11. August 1998, und 5,768,269, ausgegeben am 16. Juni 1998, der Anmelderin, welche als US-Patentanmeldungen mit Serien-Nr. 08/588,650 bzw. Serien-Nr. 08/519,630 existierten und entsprechend am Anmeldedatum dieser Anmeldung der Öffentlichkeit nicht zur Verfügung standen.

Gebiet der Erfindung

Diese Erfindung betrifft das Gebiet der bidirektionalen Kommunikation von Digitaldaten über Koaxialkabel oder andere Transmissionsmedien. Insbesondere betrifft die Erfindung das Gebiet eines Bereitstellens multipler bzw. mehrfacher Kanäle digitaler Daten beinhaltend interaktive TV-Dienste, digitales Telefonieren, Video-Telekonferenz, Video auf Nachfrage, Internetzugang bei 10 Megabit/Sek. oder Medien-Daten-Rate etc., die alle für Heim- oder Geschäftseinrichtungen über Kabel-TV-Koax oder Kombinationen koaxialer Kabel, über Faseroptik-Verbindungen, Mikrowellen oder Satelliten-Verbindungen oder andere drahtlose Systeme, welche eine synchrone CDMA-System-Technologie verwenden, zur Verfügung stehen. Diese neuen Dienste, welche über das CATV-System zur Verfügung gestellt werden, werden nachfolgend als Hilfsdienste bezeichnet.

Hintergrund der Erfindung

Um bidirektionale Datenkommunikation über ein Kabel-TV-koaxial-Netzwerk an mehrfache Teilnehmer zur Verfügung zu stellen mit mehrfachen digitalen Diensten einschließlich von Daten, digitalisiertem Video und digitalisiertem Audio, die allesamt über ein einziges Kabel-TV-Hybrid-Faser-Koax-(nachfolgend HFC)-Netzwerk (nachfolgend als CATV-System bezeichnet) verfügbar gemacht werden, müssen verschiedene Probleme gelöst werden. Zunächst erfordern Videoanwendungen, wie beispielsweise Video-Konferenz und Filme über Video-auf-Nachfrage, dass eine flexible Menge an Bandbreite gewährt wird, um die digitalisierten Videoübertragungen zu unterstützen, und dass die Menge an Bandbreite, welche gewährt wird, garantiert ist, d.h., dass die gewährte Bandbreite kontinuierlich ohne Unterbrechung verfügbar gemacht wird, bis der Videodienst beendet ist. Diese Anforderungen zwingen die Benutzung in der CATV-Umgebung zu Protokollen höheren Niveaus, die entwickelt worden sind oder welche im Prozess einer Entwicklung stehen, für lokale Netzwerke wie etwa ATM oder ISDN, welche für ein Liefern von digitalisiertem Video, digitalisiertem Audio und von Digitaldaten über Punkt-zu-Punkt-LAN-Verbindungen konstruiert sind. Somit besteht das größte Problem darin, diese Punkt-zu-Punkt-LAN-Protokolle an die Punkt-zu-Multipunkt-CATV-Umgebung anzupassen.

Zweitens besteht das Problem einer Bandbreiten-Verfügbarkeit und Teilen der verfügbaren Bandbreite unter einer Vielzahl von Benutzern, die physikalisch verteilt sind und wobei sie alle sich ändernde Bandbreite-Bedürfnisse über die Zeit haben. Bei CATV-Systemen ist typischerweise nur 6 mHz an Bandbreite für Kommunikationen von digitalen Daten verfügbar stromabwärts des Kopfendes zu den Teilnehmern, und weitere 6 mHz an anderer Stelle auf dem Spektrum der CATV-Medien wird für Stromaufwärts-Kommunikationen verfügbar gemacht. Diese 6 mHz-Bänder müssen von allen Benutzern geteilt werden, um Daten für alle zur Verfügung gestellten Dienste zu tragen. Da Video eine Anwendung mit einem hohen Bandbreite-Erfordernis ist, was eine kontinuierliche Verfügbarkeit erfordert, muss die verfügbare Bandbreite gänzlich mit maximaler Effizienz verwendet werden, um eine Bandbreite-Kapazität für so viele Benutzer wie möglich zur Verfügung zu stellen.

Drittens besteht das Problem von Rauschen und Interferenz auf dem CATV-System, das die Hilfsdienste bis zu dem Punkt einer Nichtakzeptanz verschlechtern könnte, falls nicht Techniken verwenden werden, um den Einfluss von Rauschen auf den Empfang zu verringern oder um dieses Problem anderweitig zu bewältigen. Kabel-TV-Medien sind Umgebungen mit hohem Rauschen aus zahlreichen Gründen, welche den Fachleuten gut bekannt sind.

Ein viertes größeres Problem, welches jedoch mit dem zweiten Problem in Beziehung steht, ist die Synchronisation der Datenübertragung. Die Synchronisation muss zwischen allen Ferneinheiten und der Zentraleinheit für eine Verwendung der verfügbaren Bandbreite mit einem Maximum an Effizienz aufrechterhalten werden. Falls die Synchronisation nicht aufrechterhalten wird, wird die Anzahl von Benutzern, welche die verfügbare Bandbreite gleichzeitig teilen können, reduziert.

Zusätzlich besteht das Problem eines Eliminierens der Zwischen-Symbol-Interferenz und einer partiellen Kreuzkorrelation zwischen den Codes bei der Code-Multiplex-Zugriffs-(Code Division Multiple Access)-(nachfolgend CDMA)-Technologie. Die CDMA-Technologie wird in der Gattung der Erfindung verwendet, um mehrfache Benutzer mit simultanen Pseudo-Punkt-zu-Punkt-Verbindungen zu dem Kopfende zu unterstützen. CDMA ist im Stand der Technik bekannt und hat den Vorteil, dass es nicht die Bandbreiten-Zuordnung des Frequenz-Multiplexens erfordert, noch die Zeit-Synchronisation des Zeit-Multiplexens. Jedoch weist es die oben genannten Probleme auf, die gelöst werden müssen für ein System, welches für einen Benutzer akzeptabel ist. Zusätzlich, um die Anzahl von Benutzern, welche unterstützt werden, zu maximieren, wird eine Rahmen-Synchronisation in der Erfindung verwendet, und eines der Probleme, welches durch die Erfinder gelöst wurde, ist es, wie diese Rahmen-Synchronisation in einem physikalisch verteilten System von Sendern zu erreichen ist.

Selbstverständlich erfordern alle Nicht-Basisband-CDMA-Systeme zwei zusätzliche Formen von Synchronisation, wie im Stand der Technik bekannt ist: Zuerst muss eine Synchronisation in Phase und Frequenz zwischen dem übertragenden Träger und dem lokalen Oszillator in dem Empfänger hergestellt sein, welcher den Demodulator beliefert. Auch, wie es im Stand der Technik bekannt ist, erfordern alle CDMA-Systeme eine Takt-Wiedergewinnungs-Synchronisation, so dass die Pseudo-Rauschen-Code-(nachfolgend PN-Code)-Sequenz, welche in die Entspreizungsschaltung zugeführt wird, nicht nur identisch zu dem PN-Code ist, der in die Spreizschaltung des Senders zugeführt wird, sondern auch exakt in Phase damit.

Des Weiteren ist eine Takt-Wiedergewinnung notwendig in CDMA-Systemen, um die Symbolgrenzen zu kennen, um in der Lage zu sein, den Basisband-Datenstrom korrekt abzutasten, welcher aus der Entspreizungsschaltung austritt. Wie diese Formen einer Synchronisation in einem CATV-CDMA-System zu erreichen sind, stellt einen weiteren Satz von Problemen dar, welche gelöst werden müssen.

Des Weiteren ist es möglich, in CDMA-Systemen mit Mehrfach-Sendern, die physikalisch verteilt sind, wobei jeder verschiedene Spreiz-Codes verwendet, für Signale von verschiedenen Sendern an der Zentraleinheit bei verschiedenen Leistungspegeln anzukommen. Dies bewirkt Ungleich-Null-Kreuz-Korrelationen zwischen den verschiedenen Codes und gibt Anlass zu einem Problem, das als das "Nahe-Fern"-Problem bekannt ist. Um höhere Fehlerraten von starken Signalen zu verhindern, welche schwächere überfluten, muss das Nahe-Fern-Problem gelöst werden.

Ein Beispiel eines Versuchs, digitale Daten bidirektional über ein CATV-System zu übertragen, ist die Technologie, die in den US-Patenten 4,912,721 und 5,235,619 offenbart ist, die der Scientific Atlanta zugeschrieben wird. In diesen Systemen wird eine Direktsequenz-Spreizspektrum-Technologie verwendet, um das Rausch-Problem in CATV-Systemen zu überwinden, jedoch ist keine Unterstützung von mehrfachen Benutzern durch Code-Multiplex-Zugriff vorgesehen. Die Scientific Atlanta-Patente sind Einzelbenutzer-Direkt-Sequenz-Spreizspektrum-Systeme und es gibt dort keine Lehre, wie eine Rahmen-Synchronisation zu erreichen ist, die notwendig ist, um die Anzahl von Benutzern in einem CDMA-Multibenutzer-System zu maximieren. In den Scientific Atlanta-Patenten sendet jeder Benutzer Gebühren- und Anforderungsdaten zum Kopfende und das Kopfende sendet Daten, welche in Beziehung stehen zu anderen Hilfsdiensten als der Kabel-TV-Programmierung zu den Ferneinheiten an den Orten von Benutzern während eines Zeitschlitzes, der diesem Benutzer zugeteilt ist. Die Übertragung von Daten wird erreicht auf einer Ein-Benutzer-pro-Zeitschlitz-Basis unter Verwendung eines Pseudo-Rauschen-Spreiz-Codes. Im US-Patent 4,912,721 ist keine Lehre der Verwendung von orthogonalen Codes vorhanden. Daher kann nur ein einziger Benutzer die verfügbare Bandbreite, welche den Hilfsdiensten gewidmet ist, zu einer bestimmten Zeit benutzen. Entsprechend muss, für alle Benutzer, um die verfügbare Bandbreite zu nutzen, ein Zeitmultiplex-Schema verwendet werden und die Direkt-Sequenz-Spreizspektrum-Technologie wird verwendet, nur um das Rauschen und andere Beeinträchtigungen auf dem CATV-Kanal zu überwinden.

CDMA-Cellular-Telefon-Systeme sind bekannt. Ein Beispiel ist das US-Patent 5,416,797, das Qualcomm Inc. aus San Diego, Kalifornien, zugeschrieben wird. In diesem System werden mehrfache Benutzer eines Cellular-Telefon-Systems durch ein Direkt-Sequenz-Spreizspektrum-System unterstützt, welches Interferenz zwischen Benutzern minimiert durch Vorsehen orthogonaler PN-Codes zum Spreizen und Steuern einer Übertragungs-Zeitgabe, derart, dass die Code-Rahmen von verschiedenen Benutzern zeitlich miteinander bei den Empfängern ausgerichtet sind. Jeder Zellenort überträgt ein Pilot-Trägersignal, welches für diese Zelle eindeutig ist, und welches durch die mobilen Einheiten verwendet wird, um eine initiale System-Synchronisation zu erreichen und um eine Zeit-, Frequenz- und Phasen-Verfolgungs-Information zu liefern. Jede Zelle spreizt das Pilotsignal unter Verwendung desselben Codes, jedoch verwendet eine Zelle einen eindeutigen Phasen-Versatz, wodurch den mobilen Zellen ermöglicht wird, eine Synchronisation durch Durchsuchen aller Phasen-Möglichkeiten für den einzelnen Code zu erreichen. Das stärkste Pilotsignal wird verfolgt und dann nimmt die mobile Einheit einen Synchronisationskanal an, welcher System-ID-cna-Zellen-ID-Information sowie Synchronisations-Information überträgt, welche es ermöglicht, dass die langen PN-Codes, Verschränkungsrahmen und Vocoder synchronisiert werden. Wenn ein Anruf initiiert ist, wird ein PN-Code für den Anruf zugeteilt. Während des Anrufs werden Pilotsignale kontinuierlich abgetastet, um zu bestimmen, wann ein weiteres Pilotsignal stärker wird. Ein äußerer PN-Code wird verwendet, um alle Signale in derselben Zelle zu spreizen, um Signale von anderen Zellen und Multipfad-Signalen zu unterscheiden. Ein zweiter innerer Code wird verwendet, um zwischen Signalen von verschiedenen Benutzern in der gleichen Zelle zu unterscheiden. Der innere Code ist ein PN-Code maximaler Länge, welcher zeitlich verschoben ist für jeden Benutzer, um eine Unterscheidung unter Benutzern bereitzustellen. Im Patent ist in Spalte 11, Zeilen 6–11 erläutert, dass wegen der unterschiedlichen Ausbreitungszeiten zwischen mobilen Einheiten zu unterschiedlichen Zellen es nicht möglich ist, eine Bedingung einer zeitlichen Ausrichtung zu erfüllen, die notwendig ist für die Walsh-Funktion-Orthogonalität des äußeren Codes für beide Zellen zu einer Zeit, wobei der äußere Code verwendet wird, um zwischen Signalen von verschiedenen Zellen zu unterscheiden. Eine variable Rate wird verwendet auf dem Sprachkanal, um Übertragungen zu verhindern, wenn dort keine Daten mit Sinngehalt vorhanden sind, welche zu senden sind. Alle Zellen in einem Gebiet sind miteinander mit einer Genauigkeit von einer 1 Mikrosekunde synchronisiert für ein einfacheres Weiterreichen durch Abstimmen auf GPS-Satelliten-Übertragungen, die ihrerseits auf Zulu-Zeit synchronisiert sind.

Kabel-Netzwerke verwenden typischerweise ein so genanntes Kopfende oder eine Zentraleinheit, von welcher Video zu Teilnehmern übertragen wird, die an eine oder mehrere Hauptverbindungsleitungen gekoppelt sind, von welchen sich zahlreiche Verzweigungsleitungen erstrecken, welche in Wohnungen von Teilnehmern geführt sind oder welche mit anderen Verzweigungsleitungen koppeln können. Bei jeder Verbindung einer Verzweigungsleitung zu der Hauptverbindungsleitung oder einer weiteren Verzweigungsleitung gibt es einen direktionalen Koppler, dessen Aufgabe es ist, Übertragungen von dem Kopfende zu den Teilnehmern in einer Richtung zu richten und Übertragungen von den Teilnehmern zurück zu dem Kopfende zu richten ohne Verlust von Leistung, welche für die Übertragung zu dem Kopfende vorgesehen ist, in Verzweigungsleitungen, die mit anderen Teilnehmern gekoppelt sind. Um digitale Daten über Video-Koax zu senden, ist ein Modem notwendig sowohl an dem Kopfende als auch an allen Teilnehmerorten, um digitale Daten auf dem Koax als RF-Signale zu modulieren und um RF-Signale zu empfangen, welche digitale Daten tragen und um die digitalen Daten davon abzuleiten. Weil RF-Signale sich längs der Kabel ausbreiten und weil die Koppler nicht perfekt sind, treten Reflexionen an den direktionalen Kopplern auf, welche Rauschen und Interferenzen bewirken. Dies ist der Fall, da die Reflexionen häufig entgegengesetzter Polarität sind, welche von der Impedanz-Fehlanpassung und den beteiligten Entfernungen abhängt. Diese Reflexionen sind daher manchmal additiv und manchmal subtraktiv, woraus zufällige Änderungen der Amplituden der RF-Signale resultieren. Diese zufälligen Änderungen machen eine Unterscheidung während des Modulationsprozesses, um die digitalen Daten abzuleiten, schwieriger.

Da sich die Teilnehmer des Weiteren physikalisch in verschiedenen Entfernungen von dem Kopfende befinden, kommen die Signale von dem Modem jedes Teilnehmers am Kopfende zu unterschiedlichen Zeiten an, wegen unterschiedlicher Ausbreitungsverzögerungen. Da digitale Daten in Rahmen übertragen werden und da alle Teilnehmer mit derselben Rahmen-Zeitgabe synchronisiert sein müssen, verursachen diese unterschiedlichen Ausbreitungsverzögerungen für jeden Teilnehmer Probleme beim Synchronisieren von Daten.

In dem typischen interaktiven System gibt es bidirektionale Verstärker. Jeder Verstärker weist zwei Kanäle auf, wovon einer Signale in einem hohen Frequenzbereich von 45–750 mHz verstärkt für eine Übertragung von Daten von dem Kopfende zu Teilnehmern, und wovon der andere Signale in einem niedrigen Frequenzbereich von 5–42 mHz verstärkt zum Übertragen der Daten von den Teilnehmern zu dem Kopfende. Wenn die Betriebsfrequenz nahe an den Rändern entweder des hohen oder des niedrigen Bandes ist, kann eine Gruppenverzögerungsverzerrung in einer weiteren Verschlechterung einer rauschfreien, bidirektionalen Kommunikation resultieren.

Andere Formen einer linearen Beeinträchtigung resultieren aus der Tatsache, dass die Bandpassfilter in dem System keine vollkommen flachen Amplituden-Charakteristiken aufweisen für ihre Transferfunktionen über das gesamte Passband speziell bei den Eckfrequenzen.

Andere Formen von Beeinträchtigungen sind so genannte additive Beeinträchtigungen, die aus Anzapfungen an dem System resultieren, die nicht sauber beendet wurden. Diese Anzapfungen wirken als Antennen und nehmen Sendesignale von FM-Stationen, CB-Radios, HF-Kommunikation auf. Andere Quellen von Rauschen sind Impuls-Signale, welche aus einer Überbrückung in elektrischen Vorrichtungen in der Nähe von Anzapfungen resultieren. Eine Überbrückung erzeugt eine RF-Leistung des Typs von weißem Rauschen, die über alle Bänder verteilt ist und welche ähnlich wie ein Blitz abgestrahlt wird. Zusätzlich können die Verstärker in dem interaktiven System manchmal in eine Oszillation einbrechen, wodurch Rauschen erzeugt wird. Des Weiteren können die horizontalen und vertikalen Oszillatoren in Fernsehgeräten in den Haushalten von Teilnehmern ebenso RF-Interferenzsignale aussenden. Die Quellen einer Interferenz sind ein bedeutender Beitrag zum Rauschen in dem System.

Auf die oben beschriebene Aufzählung von Beeinträchtigungen wird als lineare Beeinträchtigungen Bezug genommen, da das System eine lineare Transferfunktion aufweist, so dass im Fourier-Bereich alle diese Beeinträchtigungseffekte additiv sind.

Zusätzlich zu den linearen Beeinträchtigungen bestehen ebenso nicht lineare Beeinträchtigungen, wie beispielsweise Harmonische zweiter und dritter Ordnung, welche durch die nicht linearen Verbindungen von Transistoren in den Verstärkern in dem System erzeugt werden. Wenn mehrfache sinusförmige Signale an den Verstärkern ankommen, werden Schlagfrequenzen zusätzlich zu den Harmonischen der ankommenden Signale erzeugt, da die nicht linearen Verbindungen sich wie Mischer verhalten.

Weitere Formen einer nicht linearen Beeinträchtigung sind das Brumm-Geräusch von der Sättigung von Magnetkernen von Transformatoren in den Verstärkern, welche aus 60 Volt-60 Hertz-AC-Rechteck-Wellenpulsen resultieren, welche über das Koax zu den Verstärkern gesendet werden, um die Verstärker mit Leistung zu versorgen. Die Verstärker weisen Gleichrichter auf, welche dieses Rechteck-Wellensignal richten, um Leistung darauf abzuleiten und dieser Prozess erzeugt Rauschen in der Form eines Brumm-Geräusches. Dieses Brumm-Geräusch wird durch eine Amplituden-Modulation des Stromversorgungssignals bewirkt, das aus dem Setzen des Betriebspunktes auf der Hysterese-Kurve der Gleichrichter-Umwandler resultiert.

Interaktive Systeme verwenden typischerweise mehr als einhundert verschiedene Kanäle, auf welchen getrennte Digitaldatenströme zusätzlich zu den getrennten Kanälen fließen können, auf welchen die Videosignale für einen normalen Kabel-TV-Dienst vorgesehen sind. Um digitale Daten als RF-Signale zu senden, werden sehr komplexe Konstellationen getrennter Amplituden- und Phasenkombinationen verwendet, um die digitalen Zeichen zu kodieren, welche übertragen werden. Wegen der großen Anzahl von Datenpunkten sind die Unterschiede in Phase und Amplitude zwischen den verschiedenen Punkten nicht groß. Daher können die oben beschriebenen Beeinträchtigungen Fehler bewirken durch Bewirken einer Fehlinterpretation durch die Modulatoren, welche Zeichen tatsächlich gesendet wurden.

Es gibt nur einen leitenden Pfad zwischen dem Kopfende und den Teilnehmern, der von allen Teilnehmern geteilt werden muss, um digitale Daten zu senden und zu empfangen. Ein Ansatz, welcher im Stand der Technik für interaktive Kabel-TV-Systeme gemacht wurde, ist eine Zeit-Mehrfach-Zugriff-Teilung (time division multiple access) (TDMA) mit Schemen für die Quadraturphasen-Verschiebung-Verschlüsselungs-(QPSK)-Modulation. In einem TDMA-System erhält jeder Teilnehmer einen kurzen zugeteilten Zeitschlitz, in welchem Daten zu dem Kopfende zu übertragen sind. Der TDMA-Ansatz weist Nachteile darin auf, dass er Schwierigkeiten und eine Komplexität beim Erreichen einer "Ausrichtung" verursacht. Das Ausrichten bezieht sich auf die genaue Zeitgabe von Übertragungen jedes Teilnehmers, so dass diese während des richtigen Zeitschlitzes am Kopfende ankommen, trotz der Tatsache, dass die Signale von jedem Teilnehmer unterschiedliche Ausbreitungszeiten aufweisen. Ein Ausrichten in TDMA-Mehrfach-Zugriffs-Schemen ist kritisch und es zu erreichen ist schwierig.

Eine weitere Schwierigkeit bei dem TDMA-Ansatz ist die hohe Anfälligkeit von QPSK-Modulation für eine Schmalband-Interferenz. Eine Schmalband-Interferenz resultiert, wenn ein Signal, wie etwa Voice of America oder eine Harmonische, welche eine Bandbreite aufweist, die ähnlich der Bandbreite der Kanäle ist, auf welchen digitale Daten übertragen wurden, in das Übertragungsmedium eintritt. Typischerweise passiert dies bei einer Anzapfung, welche nicht sauber terminiert wurde. Eine Schmalband-Interferenz beeinflusst umgekehrt die Empfängerschaltungen und die Ausrichtungsschaltungen, welche eine Synchronisation aller Quellen erreichen.

Die Verwendung von TDMA-Schemen verkompliziert ebenso das Ausrichtungsproblem beim Vorhandensein von Schmalband-Interferenzen und anderem Rauschen, da die Zeit für eine Synchronisation dort derartig kurz ist. Eine Synchronisation des Kopfendes zu allen Teilnehmern ist notwendig, so dass das Taktsignal und andere Referenzsignale, wie beispielsweise der Träger aus den übertragenen Signalen wiedergewonnen werden können, ohne dass diese getrennt übertragen werden. Diese wiedergewonnenen Signale sind für einen guten Betrieb des Systems kritisch beim Demodulieren der übertragenen Daten. Eine Schmalband-Interferenz beeinflusst ebenso umgekehrt die Entscheidungsfindungs-Schaltungen, welche dechiffrieren, welche Zeichen übertragen wurden, wodurch die Fehlerrate erhöht wird. Eine erhöhte Fehlerrate erfordert eine größere Bandbreite, die beim Zurückübertragen von Daten verbraucht wird und verschwendet Verarbeitungsleistung beim Detektieren und Korrigieren von Fehlern und beim Rückübertragen von Daten mit Fehlern, welche jenseits des Korrekturbereiches der ECC-Bits sind, welche mit den Daten übertragen werden.

Auch, da die Zeitschlitze in TDMA-Schemen sehr kurz sind, sind die TDMA-Systeme anfällig für Verlust von Daten, welcher durch lange Bursts von Rauschen verursacht wird. Typische Bursts von Impuls-Rauschen sind ziemlich lang relativ zur Länge der TDMA-Zeitschlitze. Lange Bursts löschen häufig gesamte Gruppen von Zeitschlitzen aus, wodurch eine Rückübertragung von allen Daten in diesen Zeitschlitzen erforderlich wird. Modulation und mehrfache Zugriffs-Schemen, welche die Leistung übertragener Daten über längere Zeiten spreizen, wie beispielsweise FDMA-Schemen, sind weniger anfällig für diesen Typ von Burst-Rauschen. Jedoch weisen FDMA-Schemen andere Nachteile auf.

Eine QPSK-Modulation, welche in TDMA-Schemen verwendet wird, ist ferner nicht das effizienteste Modulationsschema bezüglich der spektralen Effizienz, d.h. Übertragungsgeschwindigkeit in Bits/Sekunde/Hertz über eine gegebene Bandbreite. Jedoch wird eine QPSK-Modulation verwendet, da sie einen ausreichend großen Abstand zwischen Punkten in der Konstellation aufweist, um eine relativ gute Rausch-Immunität aufrechtzuerhalten. Rausch-Immunität bezieht sich auf die Fähigkeit eines Systems, eine bestimmte Bit-Fehlerrate zu erreichen, welche für ein gegebenes Signal-zu-Rauschen-Verhältnis als tolerierbar betrachtet wird. Falls das Signal-zu-Rauschen-Verhältnis für eine gegebene Rausch-Immunitäts-Charakteristik abnimmt, wird die Bit-Fehlerrate ansteigen.

Typischerweise betragen Kanal-Bandbreiten 6 mHz und es wird eine spektrale Effizienz von 27 Megabits/Sekunde/Hertz gewünscht. Daher ist eine Datentransferrate von 162 × 1012 über einen Kanal bei dieser typischen spektralen Effizienz und Bandbreite erreichbar. Jedoch ist die spektrale Effizienz für eine QPSK-Modulation von der Größenordnung von 1 Bit/Sekunde/Hertz oder weniger, so dass dieses Modulationsschema zu langsam ist für Anwendungen mit hohem Verkehrsvolumen, wie etwa Video-auf-Anfrage, Video-Telekonferenz etc.

Ein weiterer Ansatz, welcher im Stand der Technik unternommen wurde, ist der Frequenz-Mehrfach-Zugriff (frequency division multiple access) (FDMA). Bei FDMA überträgt jeder Teilnehmer Daten auf einer unterschiedlichen Trägerfrequenz, im Gegensatz zu einer unterschiedlichen Zeit in TDMA. FDMA-Schemen leiden an anderen Nachteilen als TDMA-Schemen. Da es bei FDMA-Schemen mehrfache Träger gibt, gibt es dort mehr Zwischen-Modulationsprodukte bei den empfangenen Signalen. Diese Zwischen-Modulationsprodukte können sich kohärent miteinander addieren, wodurch Spitzen in der Amplitude verursacht werden, die weit größer sind als das durchschnittliche Signal. Dies erzeugt eine Schwierigkeit beim Konstruieren analoger Schaltungen mit geeigneten Linearitäts-Bereichen, um diese Signale zu behandeln, ohne die Spitzen abzuschneiden. Diese Spitzen dringen oft in den nicht linearen oder Sättigungsbereich des Betriebs analoger Schaltungen in dem System ein, welche diesen Signalen ausgesetzt sind, wodurch Nichtlinearitäten eingeführt werden. Selbst ohne diese Nichtlinearitäten neigen Zwischen-Modulations-Komponenten dazu, ein Übersprechen zwischen benachbarten Kanälen zu bewirken, was die Fehlerrate erhöht.

FDMA-Schemen sind auch empfindlich für Schmalband-Interferenz-Signale, die plötzlich auftreten, wodurch ein unerwarteter "Stau" eines oder mehrerer Kanäle bewirkt wird, wodurch lange Bursts von Fehlern verursacht werden. FDMA-Kanäle sind schmal und Behauptungen wurden aufgestellt, dass wegen dieser Tatsache eine Schmalband-Interferenz vermieden werden kann. Jedoch ist eine Schmalband-Interferenz dynamisch, da es mehrfache Quellen dafür bei verschiedenen Frequenzen gibt. Als ein Ergebnis können Schmalband-Interferenz-Signale plötzlich "auftreten", wenn ein Teilnehmer sein oder ihr TV einschaltet oder wenn Voice of America anfängt zu senden. Diese plötzlich auftretende Interferenz kann einen Kanal verstopfen, wodurch Fehler-Bursts bewirkt werden.

Daher besteht das Bedürfnis für ein Verfahren und eine Vorrichtung, welches bzw. welche interaktive digitale Systeme unterstützen kann, welche einige dieser Nachteile eliminieren.

Eine Veröffentlichung "Seki: A Wireless Multimedia Network on a Time Division Duplex CDMA/TDMA, IEICE Transactions on Communications, Band E7–8, Nr. 7 Juli 1995" ist bekannt, welche ein bidirektionales drahtloses Digitaldaten-Kommunikationssystem lehrt mit einer Mehrzahl verteilter Ferneinheiten, welche mit einer Zentraleinheit kommunizieren. Die Zentraleinheit ist an ein ATM-lokales Netzwerk gekoppelt und überträgt Hochgeschwindigkeits-Videosignale zu den Ferneinheiten über ein TDMA stromabwärts. Jeder Rahmen in dem Abwärtsstrom beinhaltet ein Intervall, welches CDMA Stromaufwärts-Signalen gewidmet ist. Menschliche Schnittstellen-Signale niedriger Geschwindigkeit, wie beispielsweise eine Tastatur-Eingabe, eine Maus-Eingabe oder digitalisierte Sprache, um mit der Zentraleinheit wechselzuwirken, werden direkt sequenz-gespreizt mit einem eindeutigen Spreiz-Code, der jeder Ferneinheit zugeteilt ist. Die Zentraleinheit beinhaltet eine Bank von CDMA-Empfängern, von welchen jeder die CDMA-Signale, welche von einer einzelnen Ferneinheit während des CDMA-Intervalls empfangen wurden, demultiplext.

Das US-Patent 5,327,455 lehrt einen Sender für ein synchrones Code-gemultiplextes Satelliten-Kommunikationssystem. Die Weise des Erreichens einer Code-Synchronisation wird nicht gelehrt und wird als herkömmlich bezeichnet.

Dort gibt es keine Lehre eines Übertragens von Daten in Rahmen und keine Lehre bezüglich des Bedarfs für oder irgendeine Art des Erreichens einer Rahmen-Synchronisation. Das Patent lehrt das Kodieren eines hereinkommenden Bit-Stroms, um mehrfache Symbole pro Bit zu erzeugen und dann Abbilden der Symbole in einem PSK-Modulator in Punkte in einer Konstellation, mit beispielsweise einem Trellis-Kodierer, derart, dass Inphase- und Quadratur-Bit-Ströme erzeugt werden. Jeder der getrennten Inphase und Quadratur-Bit-Stöme ist separat mit einem semi-orthogonalen Spreiz-Code aufgespreizt. Die resultierenden Spreizspektrum-Daten werden in herkömmlicher Weise auf zwei Quadratur-Träger moduliert, welche summiert und übertragen werden.

Zusammenfassung der Erfindung

In ihrer ersten Ausführungsform stellt die Erfindung ein Verfahren zum Übertragen mehrfacher Kanäle digitaler Daten über ein Transmissionsmedium in einem verteilten Kommunikationssystem bereit, aufweisend zumindest ein Zentraleinheit-Modem, das durch das Transmissionsmedium mit einer verteilten Mehrzahl von Ferneinheit-Modems gekoppelt ist. Die charakteristischen Merkmale der ersten Ausführungsform der Erfindung sind in Anspruch 1 dargelegt.

In ihrer zweiten Ausführungsform stellt die Erfindung eine Vorrichtung bereit zum Übertragen von mehrfachen Kanälen von digitalen Daten von einer Ferneinheit zu einer Zentraleinheit über ein geteiltes Übertragungsmedium unter Verwenden einer Code-Mehrfach-Zugriffsübertragung. Die charakteristischen Merkmale der zweiten Ausführungsform der Erfindung sind in Anspruch 30 dargelegt.

In ihrer dritten Ausführungsform stellt die Erfindung eine Vorrichtung bereit, welche ein Zentraleinheit-Modem aufweist, das mit einer Mehrzahl von physikalisch verteilten Ferneinheit-Modems durch ein geteiltes Übertragungsmedium gekoppelt ist. Die charakteristischen Eigenschaften der dritten Ausführungsform der Erfindung sind in Anspruch 31 dargestellt.

Gemäß der Lehre der Erfindung wird ein Code-Multiplex-Mehrfach-Zugriffs-(code division multiplexing multiple access)-(CDMA)-Schema bereitgestellt, welches orthogonale Codes verwendet, um mehrfache Kanäle digitaler Daten für eine simultane Übertragung über ein Kabel-Fernseh-Medium zu codieren, das auch eine Frequenz-gemultiplexte Kabel-Fernseh-Programmierung trägt. Des Weiteren wird in der bevorzugten Ausführungsform ein Ausrichten mehrfacher Teilnehmer-Ferneinheiten an verschiedenen Orten auf dem Kabelfernseh-Medium zu derselben Rahmen-Ausrichtungs-Referenz verwendet, um ein Übersprechen zwischen benachbarten Codes wesentlich zu reduzieren und um es mehrfachen Benutzern zu ermöglichen, gleichzeitig dasselbe Kabel-TV-Medium für andere Hilfsdienste als eine Kabel-TV-Programm-Lieferung zu verwenden. Der hierin beschriebene Bereichsbildungsprozess ist für jedes digitale Kommunikationssystem nützlich, welches Daten von physikalisch verteilten Sendern zu einem zentralen Ort in Rahmen liefert, jedoch in dem Kontext eines CDMA-Systems auf einer Kabel-TV-Station, sorgt es für einen synchronen CDMA, der die System-Nutzkapazität bedeutend erhöht. Das Verwenden eines synchronen CDMA, gekoppelt mit einem Frequenz-Multiplexen von Stromaufwärts- und Stromabwärts-Daten auf Frequenzen, die von dem Kabel-TV-Programmen verschieden sind, stellt ein System bereit, wobei die gesamte Bandbreite, welche den digitalen Hilfsdiensten zugeteilt ist, gleichzeitig von mehreren Benutzern geteilt werden kann, die eine Mehrzahl von Kanälen miteinander teilen. Irgendeiner der bekannten Wege zum Erreichen einer Rahmenausrichtung kann verwendet werden, um eine synchrone Code-Mehrfach-Zugriff-Datenübertragung zu erreichen. Bei der bevorzugten Ausführungsform wird eine Rahmenausrichtung durch Ausrichten von Zeitgabe-Signalen erreicht, welche durch Ferneinheiten zu Schutzbändern oder Lücken zwischen Rahmen übertragen werden.

Ein hierin offenbartes erfinderisches Konzept besteht darin, eine hohe Rausch-Immunität zu erreichen durch Spreizen der Leistung der übertragenen Daten über die Zeit während einer Übertragung und dann durch Komprimieren der Leistung beim Empfänger, um die Daten wiederzugewinnen. Das Spreizen der Leistung der übertragenen Daten über die Zeit reduziert eine Anfälligkeit für Burst-Fehler- und Impuls-Rauschen. Zusätzlich zu diesem Spreiz-Konzept wird die spektrale Effizienz des Systems durch Übertragen mehrfacher getrennter Kanäle von Daten über dasselbe Medium verstärkt, ohne Interferenz durch Verwenden von getrennten orthogonalen Codes, um die Daten jedes Kanals so zu kodieren, dass keine Interferenz resultiert, wenn alle Kanäle gleichzeitig übertragen werden, solange eine richtige Rahmenausrichtung aufrechterhalten bleibt. Auf diese Weise wird die spektrale Effizienz, d.h. ein Maß der Menge von Daten, die von einem Ort zu einem anderen über eine gegebene Bandbreite gesendet werden können, verstärkt, ohne Verminderung der Daten durch eine Übersprech-Interferenz. Die Orthogonalität der für jeden Datenstrom verwendeten Codes minimiert ein Übersprechen zwischen Datenströmen, dort wo das System sauber ausgerichtet ist, d.h. synchronisiert ist, und ein Verwenden zyklischer orthogonaler Codes verstärkt darüber hinaus eine Rausch-Verminderung durch Vorsehen der Fähigkeit, eine Entzerrung durchzuführen. Ein Entzerren bezieht sich, in dem Sinne, in dem dieser Ausdruck hier verwendet wird, auf den Prozess eines Bestimmens des Umfangs eines Übersprechens zwischen benachbarten Codes, welches aus kleineren Fehlern einer Rahmen-Zeitgabe-Ausrichtung resultiert und dann Erzeugen von Signalen, welche verwendet werden können, um das Übersprechen auszugleichen. Bei der bevorzugten Ausführungsform sind die orthogonalen Codes zyklische Codes.

Bei einigen Arten innerhalb der Gattung der Erfindung wird eine Code-Vielfalt verwendet, um eine weitere Rausch-Immunität zu erreichen. Es wurde festgestellt, dass einige orthogonale Codes weniger immun für eine Schmalband-Interferenz sind und für andere Rausch-Quellen als andere. Um eine Verwendung derartiger Codes zu vermeiden, um die Daten von demselben Kanal oder Zeitschütz die ganze Zeit zu spreizen, wird ein Code-Springen bei diesen bevorzugten Arten der erfinderischen Gattung verwendet. Eine Code-Vielfalt wird auf mehrere verschiedene Arten erreicht, jedoch bei der bevorzugten Ausführungsform verwendet jeder Sender eine Code-Umbildungsschaltung und jeder Empfänger verwendet eine Code-Rück-Umbildungsschaltung. Umbildungs- und Rückumbildungsschaltungen empfangen denselben Seed und erzeugen dieselbe Sequenz von pseudo-zufälligen Zahlen daraus. Diese pseudo-zufälligen Zahlen werden verwendet, um Lese-Zeiger zu einem Rahmen-Speicher und Schreib-Zeiger zu einem Puffer-Speicher zu erzeugen. Der Rahmen-Speicher befindet sich dort, wo die Informationsvektoren oder -symbole gespeichert werden, und die Lese-Zeiger, die durch die Umbildungsschaltungen erzeugt werden, werden verwendet, um die Zeitschlitz-Daten, d.h. Symbol-/Informationsvektor-Elemente auszulesen in pseudo-zufälliger Weise und diese in einem Puffer in Übereinstimmung mit den Lese-Zeigern zu speichern, welche durch die Code-Sprung-Umbildungsschaltung erzeugt wurden. Die so in dem Puffer gespeicherten Informationsvektor-Elemente werden verwendet, um die Matrix-Multiplikation auszuführen, welche für das Code-Multiplex-Schema erforderlich ist. Alternativ können die Symbol-Elemente sequentiell aus dem Rahmen-Speicher ausgelesen werden und pseudo-zufällig in dem Puffer gespeichert werden.

Der Effekt dieses synchronen CDMA-Schemas ist es, die Rausch-Quellen derart zu "bleichen", dass das Rauschen, unabhängig davon, wie komplex die Rausch-Signale sind, effektiv behandelt werden kann unter Verwendung herkömmlicher Fehler-Detektion und Korrektur-Bits. Mit anderen Worten werden die digitalen Daten, welche für die interaktive oder bidirektionale Daten-Kommunikation sorgen, gesendet unter Verwendung des CDMA-Schemas, jedoch für die Zwecke einer Synchronisation wird das CDMA-Schema mit einem TDMA-Schema gemischt. Genauer gesagt, wird ein Schutzband, welches frei von Daten ist, zu dem CDMA-Signal hinzugefügt. Digitaldaten werden in Rahmen übertragen, wobei jeder Rahmen drei Datensymbole aufweist und ein Schutzband. Das Schutzband wird für eine Nicht-Daten-Verwendung benutzt, wie beispielsweise für ein Bereichsbilden bzw. Messen, Ausrichten und Entzerren.

Das synchrone CDMA-Modulationsschema, das hier offenbart ist, kann mit irgendeinem geteilten Übertragungsmedium verwendet werden und mit irgendeiner Vorrichtung oder einem Verfahren, mit welcher bzw. welchem alle Ferneinheiten mit der Rahmen-Zeitgabe der Zentraleinheit synchronisiert werden können, einschließlich des Bereichsbildungs-/Ausrichtungs-Schemas, welches hierin offenbart ist. Andere mögliche Verfahren eines Synchronisierens mit derselben Rahmen-Zeitgabe sind, für alle Ferneinheiten und für die Zentraleinheit dieselben Zeitgabe-Interferenz-Signale von einer Quelle, wie etwa internen Atomuhren, oder von einer externen Quelle, wie etwa einem Global Positioning System-Satelliten zu erhalten, von welchen alle Ferneinheiten und die Zentraleinheit effektiv äquidistant sind.

Ähnlich ist das Bereichsbildungs-/Ausrichtungs-Schema, welches hierin offenbart ist, nützlich für jedes weitere Modulationsschema, welches digitale Daten in Rahmen überträgt, eine Rahmen-Synchronisation erforderlich macht und welches ein Schutzband zwischen die Rahmen einfügen kann.

Einige Arten innerhalb der erfinderischen Gattung verwenden ein M-fach-Modulations-Code-Multiplexen. Jede Ferneinheit empfängt einen Zeit-gemultiplexten Strom digitaler Daten. Jeder Zeitschlitz enthält 9 Bits von Daten. Jeweils 9 Bits werden in einem Rahmen-Speicher gespeichert und werden in drei Tri-Bits geteilt, von welchen jedes 3 Bits während des Auslesens des Speichers aufweist. Jedes der drei Symbole, die mit jedem Rahmen übertragen werden, weist 144 dieser Tri-Bits auf, einen für jeden Zeitschlitz oder Kanal. Diese Tri-Bits werden mit einem 4ten Bit kodiert vor einem Spreizen durch die Code-Multiplex-Operation. Das 4te Bit wird zu jedem Tri-Bit hinzugefügt, basierend auf den drei Bits des Tri-Bits und basierend auf dem vorherigen Zustand für die Daten dieses Zeitschlitzes während des letzten Rahmens. Dieses 4te Bit addiert ausreichend Redundanz, um es einem Viterbi-Dekoder in dem Zentraleinheit-Empfänger möglich zu machen, eine noch fehlerfreiere Bestimmung zu machen, welche Daten tatsächlich beim Vorhandensein von Rauschen gesendet wurden. Das 4te Bit ordnet auch jedes Tri-Bit einer 16-Punkt-QAM-(Quadratur-Amplituden-Modulation)-Konstellation zu unter Verwendung der ersten zwei Bits, um die Inphase- oder I-Achse-Amplitude darzustellen und der letzten zwei Bits, um die Quadratur- oder Q-Achse-Amplitude darzustellen. Somit wird M-fach-Modulation verwendet, um eine größere spektrale Effizienz zu erreichen.

Mit dem hier beschriebenen System kann ein volles 10-Megabit/Sekunde-Verkehrsvolumen pro jedem 6-MHz-Kanal erreicht werden sowohl in der Stromaufwärts- als auch der Stromabwärts-Richtung über HFC. Anders als bei einer herkömmlichen CDMA-Übertragung bleibt ein SCDMA von Sendern, wie in 28A gezeigt ist, innerhalb von 6 MHz-Bändern, welche nicht mit benachbarten Kanälen interferieren oder andere benachbarte Kanäle beeinflussen. SCDMA weist eine Anzahl weiterer Vorteile gegenüber reinen FDMA- und TDMA-Systemen auf bezüglich der Kapazität, Skalierbarkeit und Bandbreite-Vergabe. Standard IS-95 asynchrone Code Division Multiple Access-Breitsprektrum-Systeme sind durch die Kapazitätsbeschränkungen des 5–40 MHz Stromaufwärts-Kanals behindert und durch das Vorhandensein einer großen Rauschmenge und sie erfordern häufig 30 MHz breite Kanäle, was Kanal-Interferenz-Probleme bewirkt mit benachbarten Diensten in dem HFC-Spektrum. Das größte Problem mit asynchronen CDMA-Systemen ist das selbsterzeugte Rauschen, da die RUs (bzw. Ferneinheiten) nicht miteinander ausgerichtet sind, wodurch Orthogonalität verloren geht und ein hoher Grad an gegenseitiger Interferenz erzeugt wird. Das höhere selbsterzeugte Rauschen erhöht den Rauschgrund und reduziert die Kapazität. SCDMA-Systeme stellen sicher, dass die RUs in Rahmen-Synchronisation miteinander sind und unter Verwendung orthogonaler Codes, eine gegenseitige Interferenz zu minimieren, wenn Daten stromaufwärts gesendet werden. Vorzugsweise werden SCDMA-Sender auch verwendet, um Daten stromaufwärts zu senden. Mit dem hierin beschriebenen System können mehrfache Ströme digitaler Daten, von welchen jeder einen 64 kbps-Durchsatz aufweist, simultan über einen 6 MHz-Kanal gesendet werden, mit einem Gesamtdurchsatz von 10 Mbps. Jeder Datenstrom ist Trellis-kodiert, verschränkt und über die gesamten 6 MHz gespreizt unter Verwendung seines eigenen individuellen Spreiz-Codes. Die Verwendung einer Vorwärts-Fehlerkorrektur und Verschränken erhöht eine Rausch-Immunität gegen Impuls-Rauschen, Schmalband-Interferenz und Gauss'sches Rauschen. Das Trellis-Kodieren addiert eine 8.4 dB-Codier-Verstärkung und ein Verschränken ermöglicht ein Widerstehen gegen Impuls-Rauschen langer Dauer von bis zu 100 Mikrosekunden, ohne dass Fehler auftreten. Das Verwenden einer Spreizspektrum-Technologie fügt weitere 22 dB Verarbeitungsverstärkung hinzu. Die Kombination von Techniken liefert eine totale 27 dB-Interferenz-Rückweisung, was es dem System ermöglicht, in einem negativen Carrier to Noise Plus Interference Ratio zu arbeiten. Die SCDMA-Sender sind mit TDMA-Nutzlastdaten-Eingangsströmen kombiniert, was das System extrem skalierbar macht.

Die hohe Kapazität des hierin offenbarten SCDMA-Systems wird möglich gemacht durch Orthogonalität, welche durch die Orthogonalität der Spreiz-Codes möglich gemacht wird, was ein Ergebnis des Bereichsbildungsprozesses und des Entzerrungsprozesses ist. Der Bereichsbildungsprozess stellt einen Rahmen-Synchronisation sicher, so dass alle Codes, die von verteilten RUs ankommen, an der CU (Zentraleinheit) zur selben Zeit ankommen. Der Bereichsbildungsprozess wird periodisch ausgeführt, um für eine Kabel-Expansion/Kontraktion bei sich ändernder Temperatur Rechnung zu tragen, jedoch ist der Prozess transparent für einen Nutzverkehr insoweit, dass er diesen nicht verlangsamt, ihn stoppt oder Fehler verursacht. Ein Wieder-Bereichsbilden tritt auf aufgrund bestimmter Fehlerbedingungen und auf ein Trennen von dem Netzwerk und bei jedem Einschalten.

Ein Entzerren wird erreicht durch Bereichsbilden der Kanal-Antwort von jedem Benutzer zu der CU und Einstellen eines Vor-Kodierers bei dem RU-Sender, um zu "invertiere den Kanal", d.h. das übertragene Signal vorzuverzerren, so dass es unverzerrt an der CU ankommt. Eine Leistungsausrichtung durch jede RU, derart, dass jede RU-Übertragung die CU bei näherungsweise demselben Leistungspegel erreicht, hilft ebenso gegenseitige Interferenz zu minimieren.

Eine dynamische Bandbreiten-Vergabe ermöglicht so viele 64 kbps-Ströme oder Kanäle, wie notwendig an einen speziellen Dienst zu vergeben sind, so dass Anwendungen mit hoher Nachfrage, wie beispielsweise eine Video-Telekonferenz oder ein Hochgeschwindigkeits-Internetzugang gleichzeitig mit Anwendungen niedriger Anforderungen, wie beispielsweise Telefonieren, über dieselbe HFC-Verbindung unterstützt werden können. Eine Bandbreite-Vergabe wird an der CU durch eine Aktivitäts-Status-Tabelle in jeder RU und der CU verwaltet, welche den Status jedes Zeitschlitzes und von Code-Zuteilungen kennzeichnet. Die CU aktualisiert die RU-Tabellen durch Stromabwärts-Nachrichten. Die Bandbreite kann auf eine Anforderung hin garantiert werden, während sich andere Dienste mit eher Burst-mäßigem Verkehr um den Rest der gesamten 10 Mbps-Nutzlast bewerben können.

Die Vorteile gegenüber TDMA-Systemen beinhalten eine geringere Notwendigkeit für eine schnelle Akquisition und entsprechend eine niedrigere Empfindlichkeit für eine Schmalband-Interferenz. Des Weiteren können unter einem bestimmten SNR, TDMA-Systeme vollkommen versagen. Ein Wettbewerb um bestimmte Kanäle und ein Wettbewerb, der benachbarte beeinflusst, kann eine Verstärker-Überbelastung in TDMA-Systemen bewirken und kann ernste Durchsatz- und Leistungsprobleme verursachen. FDMA-Systeme, bei welchen jeder Benutzer ein schmales Stromaufwärts-Frequenz-Stück bekommt, sind sehr anfällig für Schmalband-Rauschen, welches einen gesamten Kanal auslöschen kann. FDMA-Systeme versuchen häufig dieses Problem mit einer Frequenz-Wiedervergabe zu vermeiden. Dies verkompliziert das System und erhöht die Kosten des Systems, indem mehr Intelligenz erforderlich ist. Umgekehrt ist ebenso der Durchsatz beeinflusst, da nichts gesendet wird, während Frequenzen wieder vergeben werden. Schutzbänder zwischen Kanälen verschwenden Bandbreite und eine Frequenz-Fehlausrichtung verschlechtert die FDMA-Systeme.

Kurze Beschreibung der Zeichnungen

1 ist ein Blockdiagramm eines allgemeinen Systems gemäß der Gattung der Erfindung für eine simultane Übertragung von digitalen Daten von mehreren Teilnehmern zu einem Kopfende-Empfänger über ein geteiltes Koaxialkabel unter Verwendung orthogonaler Codes und für ein Wiedergewinnen der getrennten Datenströme von jedem Teilnehmer an dem Kopfende-Empfänger.

2 ist die mathematische Beziehung, welche die Eigenschaft einer Orthogonalität der Codes definiert, welche durch den Modulator/die Sender in 1 verwendet werden.

3A ist die mathematische Beziehung, welche das System der 1 verwendet, um die individuellen Datenströme wiederzugewinnen, welche durch die Teilnehmer an dem Kopfende gesendet werden, und umgekehrt, und 3B bis 3G veranschaulichen ein spezifisches Arbeitsbeispiel, wie die mathematische Beziehung von 3A verwendet werden könnte, um zwei Kanäle von Daten simultan über dasselbe geteilte Medium zu übertragen.

4A zeigt eine typische Datenstruktur für einen Rahmen.

4B ist ein Symbol-Diagramm, welches die Konzepte veranschaulicht, welche bei einer Ausrichtung beteiligt sind, um eine Rahmen-Synchronisation zu erreichen, was auch Bereichsbilden (ranging) hierin genannt wird, für die bevorzugten Arten innerhalb der Gattung der Erfindung.

5 ist ein Diagramm wie jenes von 4B, welches ein Problem veranschaulicht, welches eine Wieder-Ausrichtung erforderlich macht, welche auftritt, wenn sich das Netzwerk physikalisch ausdehnt.

6 ist ein Diagramm wie jenes von 5, welches die Lösung für das Fehl-Ausrichtungsproblem veranschaulicht, welches in der Erläuterung von 5 dargelegt wird.

7 welche 7A, 7B und 7C aufweist, ist ein Flussdiagramm für den allgemeinen Ausrichtungsprozess, der verwendet wird in Bereichsbildungsprozessen, die in allen Ferneinheiten (RUs) ausgeführt werden, um ihre Verzögerungsvektoren richtig einzustellen, um in Ausrichtung mit demselben Rahmen zu sein.

8 ist ein Flussdiagramm einer Ausführungsform eines Prozesses, um alle RUs zu re-synchronisieren, nachdem die Zentraleinheit (CU) ihren Verzögerungsvektoren geändert hat, was Dead Reckoning-Prozess genannt wird.

9 stellt den bevorzugten Prozess für ein Re-Synchronisieren aller RUs dar, nachdem die CU ihren Verzögerungsvektoren geändert hat, der der Vorläufer-Prozess genannt wird.

10 zeigt eine typische Kabel-Fernseh-Systemanordnung, bei welcher die Lehre der Erfindung in einer Multi-RU, Multi-Kanal-Umgebung Verwendung findet, bei welcher das Kopfende am Ort der CU eine FDMA-Kabel-Fernseh-Programmierung zu Fernsehgeräten an den Orten der RUs sendet und die RUs und CUs gleichzeitig mehrfache Kanäle digitaler Daten über dasselbe CATV-Koax kommunizieren unter Verwendung einer Kombination von TDMA/CDMA und FDMA in einigen Ausführungsformen.

11 ist ein Blockdiagramm einer allgemeinen Multi-Kanal-Ausführungsform für die interne Struktur der Übertragungskanal-Schaltung jedes RU-Modems- zum Übertragen von Daten zu der CU und eine allgemeine Struktur für eine CU, um die Daten wieder zu gewinnen, und welche veranschaulicht, wie mehrfache externe Vorrichtungen Daten zu jeder RU in TDMA-Strömen senden.

12 zeigt die Schaltung, welche den Rahmen-Speicher in der bevorzugten Ausführungsform implementiert, welche die TDMA-Eingangsdaten-Ströme in drei Spalten von Tri-Bits umwandelt zum Kodieren und für eine Umwandlung durch eine weitere Schaltung in die drei Symbole von 144 Chips pro Stück, die während jedes Rahmens übertragen werden.

13 zeigt die Zeitgabe-Beziehung zwischen dem Chip-Taktsignal, welches eine Zeitgabe in der Code-Domäne einstellt und die Bit- und Byte-Takte, welche eine Zeitgabe in der Zeit-Domäne einstellen. 13 zeigt auch eine Anzahl anderer Signale, welche durch einen Zeitbasis-Generator 350 in 12 erzeugt werden.

14 ist ein Diagramm bezüglich des Speicherfüllens, welches veranschaulicht, wie die gesamten 9-Bit-Bytes kontinuierlich aus den Zeitschlitzen des TDMA-Stroms empfangen werden, jedoch 3-Bit-Tri-Bits für jeden von 128 Datenkanälen und 16 Befehls- und Steuerungskanäle gleichzeitig ausgesandt werden zur Schaltung, welche die Symbole jedes Rahmens bildet.

15 ist ein Diagramm, welches in einem Blockdiagramm veranschaulicht, wie die Verzögerung erreicht wird, die in jeder RU und CU notwendig ist, um eine System-weite Rahmen-Synchronisation zu erreichen.

16 veranschaulicht Teile des Rahmen-Speichers 300, wobei der punktierte Abschnitt die Anzahl von Adressen Differenz zwischen der Position des Lese-Zeigers und der Position des Schreib-Zeigers darstellt, um die Übertragungsrahmen-Zeitgabe-Referenz-Verzögerung zu implementieren.

17 ist ein Zeitdiagramm, welches die relativen Raten einer Inkrementierung der Lese- und Schreib-Zeiger in dem Framer zeigt.

18 ist ein Blockdiagramm des Zeitbasis-Generators.

19 ist ein allgemeines Blockdiagramm der bevorzugten Ausführungsform der Transceiver-Schaltung, welche in jeder RU und CU beinhaltet ist.

20 ist ein Diagramm, welches hilft, die Weise zu veranschaulichen, in welcher ein Rahmen-Speicher 300 für eine Übertragung entleert wird.

21 bildet jeden von 16 möglichen Eingabepunkten, d.h. Permutationen der 4-Bit-"Chips" in jedes Symbol-Feld ab auf einen Punkt im Raum, der durch die In-Phase oder I-Achse definiert ist für den Realteil und die Quadratur- oder Q-Achse für den Imaginärteil des Punktes, um die M-fach-QAM-Modulation zu implementieren.

22 ist eine Tabelle, welche alle möglichen Eingabepunkte von 21 d.h. die 16 Kombinationen von 4-Bit-Chips in der Code-Spalte und die entsprechende 2-Komplement-digitale Darstellung der I- und Q-Koordinaten für jede Kombination in den Inphase- bzw. Quadratur-Spalten auflistet.

23A veranschaulicht, wie der Informationsvektor [b] für jedes Symbol seine Leistung über die Zeit durch den Prozess eines Code-Multiplexens gespreizt aufweist, das unter Verwendung einer Matrix-Multiplikation des Informationsvektors [b] jedes Symbols mit einer Matrix von orthogonalen Codes implementiert ist.

23B ist eine weitere Veranschaulichung des Matrix-Multiplikations-Prozesses, der in einem orthogonalen Multiplexer 408 in 19 ausgeführt wird, um die realen oder I-Koordinaten jedes Informationsvektors unter Verwendung einer orthogonalen Code-Matrix zu kodieren, um die realen oder I-Koordinaten eines Ergebnis-Vektors zur Verwendung durch den Q-Modulator zu erzeugen.

24 ist ein Blockdiagramm, welches weitere Einzelheiten der Komponenten und des Betriebs des Multiplexers 408 und des QAM-Modulators 410 veranschaulicht, der in den bevorzugten Arten innerhalb der erfinderischen Gattung verwendet wird.

25 ist eine Grafik der Änderungen der Amplitude über die Zeit der realen Komponenten des Ergebnis-Vektors für das Feld 409, welches das Erfordernis für Bandbreite-Begrenzungsfilter veranschaulicht.

26 ist ein detailliertes Blockdiagramm der Struktur des Demodulators in dem Empfangskanal.

27 ist ein allgemeines Blockdiagramm, welches eine Umbildungsschaltung veranschaulicht, die in einigen Ausführungsformen verwendbar ist, um eine Code-Vielfalt zu erreichen.

28A ist ein Blockdiagramm der bevorzugten Ausführungsform eines Senders innerhalb der erfinderischen Gattung der Erfindung unter Verwendung von Bit-Parsing von jedem Zeitschlitz, TDMA/CDMA-Spreizung, M-fach-QAM-Modulation, Code-Vielfalt, Kodieren jedes Tri-Bits mit redundanten Bits für eine Vorwärts-Fehlerkorrektur und um ein Viterbi-Dekodieren in dem Empfänger zu unterstützen, Verscrambeln von Bits von jedem Tri-Bit für die Sicherheit und für Signal-zu-Rauschen-Verbesserungen, Bereichsbilden gemäß den bevorzugten Arten und für eine Entzerrungsschaltung.

28B ist ein Blockdiagramm einer Ausführungsform zum Erreichen einer Code-Vielfalt unter Verwendung einer rotierenden sequentiellen Code-Zuteilung.

28C ist ein Teil-Blockdiagramm der Modifikationen des Blockdiagramms von 28B, um eine Code-Vielfalt zu erhalten mit einer pseudo-zufälligen Code-Zuteilung.

28D ist ein Blockdiagramm der bevorzugten Ausführungsform eines Code-Shufflers, um eine Code-Vielfalt zu erhalten unter Verwendung einer pseudo-zufälligen Code-Zuteilung.

29 ist ein Flussdiagramm für den Prozess eines bevorzugten Verfahrens eines Bereichsbildens unter Verwendung einer Konflikt-Auflösung, die durch die Schaltung/den programmierten Mikroprozessor 405 von 28A in einem RU-Modem-Sender ausgeführt wird.

30 stellt eine Ausführungsform für einen Authentifikationsprozess in Unterstützung des bevorzugten Bereichsbildungsprozesses dar, welcher eine Puls-Positions-Modulation verwendet, um den Authentifikations-Code zu senden. In dieser Ausführungsform sendet jede RU, welche versucht hat, eine Synchronisation einzurichten, einen Bereichsbildungs-Puls während der Lücken von jedem der 8 Rahmen jedoch unter Variieren der Position des Pulses in der Lücke während jeder Lücke.

31 ist ein Flussdiagramm, welches die bevorzugte Bereichsbildung und die Konflikt-Auflösung, die auf der CU-Seite ausgeführt wird, darstellt.

32 ist ein Flussdiagramm, welches eine Ausführungsform der Bereichsbildung oder des Ausrichtens und einen Konflikt-Auflösungsprozess darstellt, um eine Rahmen-Synchronisation zu erreichen, die durch die RUs ausgeführt wird unter Verwendung eines binären Baum-Algorithmus.

33 ist ein Flussdiagramm, welches eine weitere Ausführungsform für eine Bereichsbildung und für einen Konflikt-Auflösungsprozess darstellt, der durch die RUs ausgeführt wird unter Verwendung eines binären Stapels.

34 ist ein Blockdiagramm der bevorzugten Arten eines Empfängers innerhalb der erfinderischen Gattung, welcher Daten empfangen kann, die durch den Sender von 28A übertragen wurden und welcher TDMA/CDMA-Spreizen, Code-Entmischen, welches eine Code-Vielfalt unterstützt, eine Vorwärts-Fehlerkorrektur, eine Entzerrung und Viterbi-Dekodieren unterstützt.

35 ist ein Blockdiagramm einer Ausführungsform für die Master-Takt-Wiedergewinnungsschaltung 515 in 19.

36 ist ein Blockdiagramm der bevorzugten Ausführungsform für eine Master-Takt-Wiedergewinnungsschaltung, die verwendet werden kann, um lokale Oszillator-Signale in den RUs zu erzeugen, die in Frequenz und Phase synchron mit einem Pilot-Kanalsignal sind, das auf Kanal 0 von der CU zu allen RUs gesendet wird.

37 zeigt ein Diagramm der FFE/DFE-Entzerrungsschaltungen, die für den Vor-Code-Entzerrungsfilter 563 in dem Sender von 28A verwendet werden und die FFE/DFE-Schaltung 764 in dem Empfänger in 34.

38 ist ein Blockdiagramm der bevorzugten Form eines Rahmen-Detektors 882 in dem Sender von 34 zum Erreichen einer Empfangsrahmen-Synchronisation und einer Chip-Takt-Synchronisation.

39 ist ein Zeitdiagramm, welches zeigt, wie der Rahmen-Bereichsbildungs-Detektor 88 ein Grobanpassen ausführt, um die Lücke in den durch die CU übertragenen Rahmen zu finden.

40 ist ein Diagramm, welches veranschaulicht, wie das Früh-Spät-Gatter-Abtasten verwendet wird, um eine Chip-Takt-Synchronisation zu finden (gezeigt ist die Situation, wenn eine Chip-Takt-Synchronisation erreicht wurde).

41 veranschaulicht die drei zulässigen Muster von Daten am Ausgang des Komparators 950, für eine zu deklarierende zentrierte Barker-Code-Bedingung.

42 ist die bevorzugte Form des Trellis-Kodierers in Ausführungsformen, welche Trellis-Kodierer verwenden.

43 zeigt das Abbilden für die LSB- und MSB-Chips im Rückfallmodus.

44 zeigt das Abbilden für die niedrigstwertigen Bits und höchstwertigen Bits im Rückfallmodus.

45 ist ein Flussdiagramm, welches den Entzerrungs-Trainings bzw. Einlern-Algorithmus sowohl für die Stromaufwärts- als auch die Stromabwärts-Richtung anzeigt.

46 ist ein Blockdiagramm der bevorzugten Ausführungsform eines Modulators, welcher Formungsfilter mit hochgezogenem bzw. angehobenem Kosinus verwendet, deren Transferfunktionen Hilbert-Transformationen voneinander sind.

47 ist ein Frequenz-Domäne-Diagramm der Spektren der realen und imaginären Basisband-Datensignale nach einer direkten Sequenz-Spreizung.

48 ist ein Frequenz-Domäne-Diagramm, welches die Orthogonalität in der Frequenz-Domäne der Passband-Filter-Charakteristiken der zwei Formungsfilter veranschaulicht, die in dem Modulator von 46 verwendet werden.

49 ist ein Blockdiagramm eines Systems gemäß einer Lehre der Gattung der Erfindung.

50 ist ein Blockdiagramm eines einfachen CU-Spreiz-Spektrum-Empfängers.

51 ist ein Blockdiagramm eines einfachen RU-Spreiz-Spektrum-Senders.

52 ist ein Diagramm der Rahmen-Detektor-Schaltung, welche Kilorahmen-Grenzen detektiert und den Zustand der Rahmen-Synchronisation unter Verwendung der Pilot-Kanal-Synchronisations-Sequenz überwacht.

53 ist ein Zustandsdiagramm für die State-Machine 1326, welche eine Rahmen-Synchronisation überwacht.

54 ist ein Blockdiagramm eines synchronen TDMA-Systems für ein bidirektionales Kommunizieren von digitalen Daten über irgendein Transmissionsmedium, einschließlich einer Hybridfaser-Koax unter Verwendung einer FDMA-Stromaufwärts und -Stromabwärts-Kanaltrennung, um nicht mit anderen Diensten wie etwa einer Kabel-Fernseh-Programmierung zu interferieren, welche das HFC teilen.

Detaillierte Beschreibung der bevorzugten Ausführungsform Code-Division-Multiple-Access-System für CATV-Medien

Viele der individuellen Konzepte, welche in Systemen gemäß den Lehren der Erfindung verwendet werden, sind im Stand der Technik bekannt und sind in Einzelheiten beschrieben in Dixon, Spread Spectrum Systems with Commercial Applications (3. Auflage 1994) Wiley & Sons, ISBN0-471-59342-7 und in Haykin, Communication Systems (3. Auflage, 1994) Wiley & Sons, ISBN 0-471-57178-8, welche beide hier durch Bezugnahme inkorporiert werden.

Unter Bezugnahme auf 1 wird dort ein konzeptionelles Diagramm eines Systems für eine Mehrfach-Zugriff-Digital-Kommunikation über ein Kabel-TV-Koaxial-Leiter-Verteilungssystem gezeigt, welches orthogonale Codes für CDMA verwendet. Das System von 1 bildet nur die Schaltung ab, um Daten von mehreren Teilnehmern zu einem Kopfende-Empfänger zu übertragen. Eine ähnliche Schaltung, um Daten von dem Kopfende zurück zu den Teilnehmern zu übertragen, existiert, ist jedoch aus Gründen der Einfachheit nicht gezeigt. Die Einzelheiten, wie Schaltungen zu konstruieren sind, um die verschiedenen Funktionen, die hierin beschrieben sind, auszuführen, sind im Stand der Technik bekannt, einschließlich der exzellenten Abhandlung von Dixon, "Spread Spectrum Systems with Commercial Applications", 3. Auflage, 1994 (Wiley & Sons, New York), deren Gesamtheit hier durch Bezugnahme inkorporiert wird.

2 ist die mathematische Beziehung, welche die Eigenschaft der Orthogonalität der Codes definiert, die durch den Modulator/die Sender in dem System verwendet werden. Die Codes, die in dem Modulator/den Sendern 12 und 16 verwendet werden, sind orthogonal, falls die Summierung des Produktes davon über die Zeit von 0–T gleich 1 ist, falls die Codes derselbe Code sind, d.h., falls i = j, wobei i = Code #1 und j = Code #2, jedoch ist er Null, falls i nicht gleich j ist. Mit anderen Worten, falls die Codes unterschiedlich und orthogonal sind, ist die Summierung der Produkte der Signale, die durch diese orthogonalen Codes moduliert sind, Null, was bedeutet, dass Signale, die durch die verschiedenen orthogonalen Codes moduliert sind, ohne Interferenz und ohne Übersprechen über denselben Leiter laufen können. Es gibt mehr als diesen einen Satz orthogonaler Codes, jedoch wird irgendein orthogonaler Code ausreichend sein, um diesen Aspekt der Lehre der Erfindung zu praktizieren.

3A ist die mathematische Beziehung, welche das System von 1 verwendet, um mehrfache Kanäle digitaler Daten über denselben Leiter zu senden ohne Interferenz zwischen Kanälen. [b] in 3A stellt einen Informationsvektor dar, welcher ein Symbol enthält, das auf jedem Kanal als ein Vektor-Element zu übertragen ist. [c] stellt eine Code-Matrix dar, welche den eindeutigen orthogonalen Code für jeden Kanal als seine Spalte aufweist. [cT] stellt die transponierte Matrix der Code-Matrix [c] dar, wobei jede Spalte von [c] eine Zeile von [cT] wird. Schließlich stellt [i] die Identitäts-Matrix dar, wobei alle Einträge Nullen sind mit Ausnahme einer Linie von 1en längs der Diagonalen. In 1, welche weiter unten beschrieben wird, ist die Matrix-Multiplikation [b] × [c] die Verarbeitung, welche auftritt auf der Übertragungsseite jeder Übertragung. Die Verarbeitung, die auf der Empfängerseite der Übertragung auftritt, ist eine Matrix-Multiplikation der transponierten Matrix [cT] mit den Signalen, die auf der Übertragungsseite durch die Multiplikation des Informationsvektors [b] mit der Code-Matrix [c] erzeugt wird, um eine Matrix zu liefern, welche das Produkt [b] × [i] darstellt. Da die Identitäts-Matrix bekannt ist, lässt das Produkt [b] × [i] eine Wiedergewinnung des Informationsvektors [b] zu.

Um diese mathematische Beziehung von 3 und 3A zu verwenden und sie in ein praktisches Digitaldaten-Kommunikationssystem umzuwandeln, symbolisiert durch das System von 1, liefert der Teilnehmer #1 einen digitalen Eingangsstrom von Symbolen oder Bits unter Verwendung irgendeiner Eingabevorrichtung oder eines Computers (nicht gezeigt). Dieser digitale Datenstrom, der zu dem Kopfende zu übertragen ist, kommt auf dem Bus 10 beim Dateneingang eines Code-#1-Modulators/Senders 12 an. Dieser digitale Datenstrom wird in individuelle Symbole geteilt, die mit der Rate von drei Symbolen/Rahmen bei der bevorzugten Ausführungsform übertragen werden. Die Lehre der Erfindung kann verwendet werden unter Verwendung von Symbolen, Daten-Bytes oder irgendeiner anderen Gruppierung von digitalen Daten. Das erste Bit von dem Strom auf dem Bus 10 wird das erste Vektor-Element in dem Informationsvektor [b] sein. Aus Gründen der Vereinfachung wird die Weise, in der Symbole aus dem hereinkommenden Datenstrom gebildet werden, hier nicht beschrieben werden, sondern wird eingehender hier weiter unten beschrieben werden. Bei der bevorzugten Ausführungsform werden Symbole gebildet durch Füllen individueller Adressorte in einem Rahmen-Speicher (nicht gezeigt) mit 9 Bit-Bytes, die eines pro Zeitschlitz ankommen. Die individuellen Datenströme auf den Bussen 14 und 15 sind TDMA-Ströme, die in mehrfache, nacheinander folgende Zeitschlitze geteilt sind. Somit wächst die Zeit längs einer Achse des Rahmen-Speichers an. Symbole werden gebildet durch Lesen des Speichers "über die Zeit", d.h. längs einer Achse, die orthogonal zu der Achse der fortschreitenden Zeit ist.

Bei der in 3A gezeigten Ausführungsform wandelt der Modulator/Sender 12 Digitaldaten in den Datenstrom um, welcher auf dem Bus 10 ankommt, in Amplituden-Modulationen eines Trägersignals unter Verwendung eines ersten orthogonalen Codes und gibt das modulierte Trägersignal auf einen Zuführer-Verbindung-Koaxial-Leiter 18, der mit einem Eingang eines Summierers 20 gekoppelt ist. Um dies zu tun, führt der Modulator/Sender 12 eine Matrix-Multiplikation auf das Element des Informationsvektors [b] von dem TDMA-Strom auf dem Bus 10 mit dem geeigneten Element der ersten Spalte der Code-Matrix [c] aus, d.h. Code #1 und verwendet die Ergebnisse, um einen Modulator zu steuern, welcher in geeigneter Weise einen RF-Träger moduliert. Alle weiteren Elemente des Informationsvektors [b], welche Daten von anderen TDMA-Strömen darstellen, an anderen Orten, sind auf Null eingestellt am Ort des Modulators/Senders 12, sind jedoch auf die geeigneten Werte bei dem Modulator/den Sendern an den Orten ihrer jeweiligen TDMA-Ströme eingestellt. Somit behandelt jeder Modulator/Sender nur den Abschnitt der Matrix-Multiplikation [b] × [c] für Daten von seinem TDMA-Strom. Die individuellen Teilprodukte von jedem Modulator werden durch einen Summierer 20 summiert, um einen Ergebnis-Vektor R = [b] × [c] zu ergeben, welcher das Endergebnis der gesamten Matrix-Multiplikation darstellt.

Ähnlich liefert der Teilnehmer #2 einen Digitalsignal-Eingangsstrom auf dem Bus 14 zu einem Code-#2-Modulator/-Sender 15. Dieser Digitaldatenstrom auf dem Bus 14 wird in individuelle Symbole oder Bits, welche zu übertragen sind, geteilt. Das erste Bit von dem Strom auf dem Bus 10 wird das zweite Vektor-Element in dem Informationsvektor [b] werden.

Ein Modulator/Sender 16 wandelt die digitalen Daten in den Datenstrom um, welcher auf dem Bus 14 ankommt, in Amplituden-Modulationen eines Trägersignals durch eine partielle Matrix-Multiplikation, welche ähnlich zu der ist, die durch den Modulator/Sender 12 ausgeführt wird, unter Verwendung eines zweiten Codes, d.h. einer anderen Spalte der Code-Matrix [c], die orthogonal zu dem ersten Code ist. Der Modulator/Sender 16 gibt dann den modulierten Träger auf ein Zuführer-Verbindung-Koaxialkabel 22, welches mit einem weiteren Eingang des Summierers 20 gekoppelt ist. Somit führt der Modulator/Sender 16 die Multiplikation des zweiten Elements des Informationsvektors [b] aus mit dem geeigneten Element der zweiten Spalte der Code-Matrix [c], d.h. Code #2.

Die Wirkung der Multiplikationen durch den Modulator/die Sender 12 und 16 ist es, die Leistung jedes Bits oder Symbols, welches übertragen ist, über die Zeit auszuspreizen durch Multiplikation jedes Bits im Informationsvektor mit den mehrfachen Code-Elementen in der geeigneten Spalte der Code-Matrix [c].

Des Weiteren, da die Symbole aus dem Rahmen-Speicher "über die Zeit" gelesen werden, werden die individuellen Bits in den TDMA-Strömen in der Zeit-Domäne auf den Bussen 10 und 14 nicht in einem aufeinander folgenden zeitlichen Verhältnis in den Symbolen übertragen, die bei der Matrix-Multiplikation verwendet werden, um die Signale zu erzeugen, die in der Code-Domäne auf Koaxial/Faser-Datenpfaden 18, 22 und 24 übertragen werden. Diese Form einer Spreizspektrum-Modulation macht das System weniger anfällig für Burst- oder Impulsrauschen-Interferenz, welche Zeitschlitze in den TDMA-Strömen umgekehrt beeinflusst. Die Verwendung orthogonaler Codes liefert einen gleichzeitigen mehrfachen Zugriff, derart, dass mehrfache digitale Kanäle gleichzeitig übertragen werden können über einen geteilten Datenpfad und was Übersprechen zwischen digitalen Kanälen minimiert, insbesondere wo eine saubere Rahmen-Zeitgabe-Ausrichtung unter mehreren Teilnehmern verwendet wird. Um dieses Modulationsschema zu implementieren, verwendet jeder von dem Modulator/den Sendern 12 und 16 die Teilergebnisse der Multiplikation [b] × [c], d.h. ein Element des [b]-Vektors mit dem geeigneten Element einer Spalte der [c]-Matrix, um ein Trägersignal zu modulieren, welches darin erzeugt wird, um die RF-Signale zu erzeugen, welche durch den Summierer 20 summiert werden und zu dem Kopfende-Empfänger 26 auf Koaxial-Verbindungen 18 und 22 übertragen werden.

Als ein spezielles Beispiel, um zu veranschaulichen, wie der Informationsvektor durch die Code-Matrix in dem Sendenden Modulatoren multipliziert wird, wird auf das Folgende Bezug genommen. Bei dieser Hypothese sei angenommen, dass ein Code #1 für den Benutzer 1 [1, 1] ist und dass ein Code #2 für den Benutzer 2 [1, –1] ist, wie in 3B abgebildet ist. Somit wird die erste Spalte der Code-Matrix 1/√2 sein und 1/√2 von oben nach unten und die zweite Spalte der Code-Matrix wird 1/√2 sein und –1/√2 von oben nach unten, alles, wie in 3C gezeigt ist. Man beachte, dass jedes Code-Element bei dieser Ausführungsform durch √2 geteilt wird aus Gründen, welche nachfolgend beschrieben werden.

Auch, nehme man an, dass Benutzer 1 nach einem einzelnen Kanal gefragt hat und diesen empfängt, der als Kanal #1 bezeichnet wird, von einer Kopfende-Vergabeschaltung (nicht gezeigt), und ein +1 während eines ersten Rahmens von Daten auf einem Übertragungsmedium 24 übertragen möchte. Ferner sei angenommen, dass ein Benutzer 2 nach einem einzelnen Kanal gefragt hat und diesen empfängt, um Daten zu übertragen, und dass dieser Kanal als Kanal #2 bezeichnet wird und es sei angenommen, dass der Benutzer 2 ein –1 während des ersten Rahmens übertragen möchte. In einem derartigen Fall ist der Informationsvektor [b] für den ersten Rahmen von Daten, der zu übertragen ist, [1, –1] mit dem ersten Element 1, wobei 1 die Zahl darstellt, die der erste Benutzer während des ersten Rahmens auf Kanal 1 senden möchte, und mit dem zweiten Element –1, welches die Zahl darstellt, die der zweite Benutzer während des ersten Rahmens auf Kanal #2 senden möchte. Diese Konzepte sind alle durch 3D und 3E dargestellt.

Die Multiplikation des Informationsvektors [b] mit der Code-Matrix [c] resultiert in einem Ergebnis-Vektor R für eine Übertragung von [0, 2/√2]. Diese Multiplikation wird ausgeführt durch Multiplizieren des Informationsvektors [1, –1] mit der ersten Spalte der Matrix und Summieren der zwei Produkte (1/√2 und –1√/2), um 0 zu liefern als das erste Element des Ergebnis-Vektors. Als Nächstes wird der Informationsvektor [1, –1] mit der zweiten Spalte der Code-Matrix multipliziert, um zwei Teilprodukt-Ergebnisse von 1/√2 und 1√/2 zu liefern. Diese zwei Teilprodukt-Ergebnisse werden durch den Summierer 20 summiert, um das zweite Element in der Ergebnis-Matrix zu liefern, 2/√2, alles, wie in 3F gezeigt ist. Daher wird der Modulator/Sender 12 den Träger zu einer Amplitude oder Frequenz modulieren, welche den Pegel 0 des ersten Elements des Ergebnis-Vektors R = [0, 2/√2] darstellt, während einer ersten Zeit, und den Träger so moduliert auf der Koaxial-Verbindung 18 während der ersten Zeit antreiben. Ähnlich wird der Modulator/Sender 15 den Träger zu einer Amplitude oder Frequenz modulieren, welche den Pegel 2/√2 darstellt, auf dem zweiten Element des Ergebnis-Vektors R während einer zweiten Zeit, und treibt den Träger so moduliert auf der Koaxial-Verbindung 22 an, als das kombinierte Signal, welches die Daten von beiden Kanälen #1 und #2 gleichzeitig über das geteilte Übertragungsmedium 24 trägt.

Das geteilte Übertragungsmedium 24 kann irgendein metallisches oder Faseroptisches Medium sein, eine erdgestützte Mikrowellen-Verbindung oder eine Satelliten/Cellular-Verbindung. Eine geeignete Schnittstellen-Schaltung, um das Ergebnissignal, welches durch den Vektor [0, 2/√2] dargestellt ist, auf dem speziellen Übertragungsmedium zu platzieren, sind bekannt und sind für die Erfindung nicht kritisch.

Die Multiplikation [b] × [c] wird durch die zwei Code-Modulator/Sender 12 und 16 ausgeführt, wobei jeder einen Teil der Multiplikation ausführt. Ein Modulator 12 multipliziert das erste Element des Informationsvektors [b] vom Teilnehmer #1 mit den Elementen in der ersten Spalte der Code-Matrix und gibt die resultierenden Teilprodukte während zweier aufeinander folgender Intervalle auf die Leitung 18 aus, die mit dem Eingang des Summieren 20 gekoppelt ist. Ähnlich multipliziert der Code-#2-Modulator 16 das zweite Element des Informationsvektors [b] vom Teilnehmer #2 mit den zwei Elementen in der zweiten Spalte der Code-Matrix [c] und gibt die resultierenden zwei Teilprodukte auf die Leitung 22 aus zu dem Summierer 20 während derselben zwei aufeinander folgenden Intervalle, welche durch den Modulator 12 verwendet werden. Die durch den Modulator/die Sender 12 und 16 während dem ersten der zwei aufeinander folgenden Intervalle ausgegebenen Signale werden durch den Summierer 20 summiert und auf das Koaxialkabel 24 als die erste Komponente 0 des Ergebnis-Vektors R = [0, 2/√2] ausgegeben. Die Signale, die durch den Modulator/die Sender 12 und 16 während des zweiten der zwei aufeinander folgenden Intervalle ausgegeben werden, werden durch den Summierer 20 summiert und auf das Koaxialkabel 24 als die zweite Komponente 2/√2 des Ergebnis-Vektors [0, 2/√2] ausgegeben.

Nicht gezeigt in 1 ist aus Gründen der Vereinfachung ein Modulator, der den Ergebnis-Vektor nimmt und ihn verwendet, um die Amplitude, Phase oder Frequenz (oder eine Kombination von diesen) eines Radio-Frequenz-Trägers zu modulieren, welche dann in das geteilte Übertragungsmedium 24 zur Übertragung zu dem Kopfende eingegeben wird.

Um den ursprünglichen Informationsvektor [b] wieder zu gewinnen, auf der Empfängerseite der Transaktion, multiplizieren die Empfänger die empfangenen Signale mit der transponierten Code-Matrix [cT] in einer Weise, um den Codier-Prozess umzukehren. Um die transponierte Matrix abzuleiten, werden die Spalten der Code-Matrix [c] die Reihen der transponierten Matrix [cT]. Bei dem vorliegenden hypothetischen Beispiel wird die transponierte Matrix [1/√2, 1√2] als ihre erste Zeile aufweisen, entsprechend der ersten Spalte der Code-Matrix [c]. Die zweite Zeile der transponierten Matrix wird [1/√2, –1√2] sein, entsprechend der zweiten Spalte der Code-Matrix [c], wie in 3G gezeigt ist. Somit ist bei diesem vorliegenden Beispiel die transponierte Matrix [cT] tatsächlich identisch zu der Code-Matrix [c]. Das Ergebnis der Multiplikation des Ergebnis-Vektors R = [0, 2/√2], welche das Signal auf dem Koaxialkabel 24 darstellt, mit der ersten Spalte der transponierten Matrix ist 0 + 2/2 = 1 für das erste Element des wiedergewonnenen Informationsvektors [b]. Das Ergebnis der Multiplikation des Ergebnis-Vektors [0, 2/√2] mit der zweiten Spalte der transponierten Matrix ist 0 + (–2/2) = –1 für das zweite Element des wiedergewonnenen Informationsvektors [b]. Der resultierende wiedergewonnene Informationsvektor [b] ist [1, –1].

Bei der bevorzugten Ausführungsform wird ein Normalisierungsfaktor, der gleich der Quadratwurzel der Anzahl getrennter Codes in Benutzung ist, verwendet, sowohl auf den Sende- als auch den Empfangsseiten als ein Nenner für jedes Code-Matrix-Element und als ein Nenner für jedes transponierte Matrix-Element. Dies ermöglicht ein Wiedergewinnen durch die Empfänger eines Informationsvektors [b], welcher Elemente aufweist, die gleich den Ursprungsdaten sind, welche durch die Benutzer erzeugt wurden. Im Beispiel der 3B bis 3G wird jedes der Elemente in der Code-Matrix [c] (und folglich in ihrer transponierten Matrix [cT]) durch diesen Normalisierungsfaktor √2 geteilt.

Zurückkehrend zu der Diskussion von 1 wird das Koaxialkabel 24 mit einem Kopfende-Empfänger 26 gekoppelt. Am Kopfende-Empfänger wird das Signal aus dem Kabel 24 geteilt in getrennte Koaxial-Kabel-Verbindungen 28 und 30, von welchen jede mit einem Empfänger gekoppelt ist, von welchen Empfängern 32 und 38 typisch sind. Die Funktion der Empfänger ist es, die empfangenen Signale zu demodulieren, um die Elemente des Ergebnis-Vektors abzuleiten, welche als Modulationsfaktoren verwendet werden, und um diese Ergebnis-Vektor-Elemente mit den Spalten der transponierten Matrix [cT] zu multiplizieren, um den Informationsvektor [b], welcher ursprünglich übertragen wurde, wiederzugewinnen. Um diese Funktion zu erreichen, wird die Verbindung 28 mit dem analogen Eingang eines Empfängers 32 gekoppelt, der einen Multiplizierer 34 und einen Integrator 3a aufweist.

Nicht gezeigt ist aus Gründen der Vereinfachung ein Demodulator/Diskriminator, der die Amplitude, Phase oder Frequenz-Änderungen umwandelt (oder eine Kombination der Beiden) der hereinkommenden RF-Signale, die von dem Koaxial-Kabel/Faser-Optik-Datenpfad 24 empfangen werden, in analoge Signale, welche die Ergebnis-Vektor-Elemente darstellen, die mit den analogen Eingängen der Multiplizierer 34 und 40 gekoppelt sind.

Der Multiplizierer 34 empfängt als einen Eingang das demodulierte analoge Signal auf der Verbindung 28 und als anderen Eingang auf der Leitung 35 ein analoges Signal, welches die Elemente in Spalte 1 der transponierten Matrix [cT] darstellt.

Ähnlich ist die Verbindung 30 und der Demodulator/Diskriminator (nicht gezeigt) mit einem Empfänger 38 gekoppelt, welcher einen Multiplizierer 40 und einen Integrator 42 aufweist. Der Multiplizierer 40 weist einen Eingang auf, nämlich das analoge demodulierte Signal von der Verbindung 30, und weist als einen weiteren Eingang ein Signal auf der Leitung 37 auf, welches die Elemente von Spalte 2 der transponierten Matrix [cT] darstellt.

Der Multiplizierer 34 multipliziert die Signale auf der Verbindung 28 während eines ersten Zeitintervalls mit dem ersten Spalten-Element der ersten Spalte der transponierten Matrix und gibt das Ergebnis auf die Leitung 44 aus zu dem Summierungseingang des Integrators 36. Während des zweiten Zeitintervalls, wenn das zweite Element des Ergebnis-Vektors [0, 2/√2] ankommt, multipliziert der Multiplizierer 34 das zweite Element davon, 0, 2/√2 mit dem zweiten Element in der ersten Spalte der transponierten Matrix [cT] und gibt das Teilprodukt-Ergebnis auf die Leitung 44 zu dem Summierungseingang des Integrators 36 aus. Der Integrator 36 summiert die zwei Teilprodukte von den ersten und zweiten Zeitintervallen und gibt die Summe auf Leitung 46 aus als das erste Element 1 des wiedergewonnenen Informationsvektors [b].

Ähnlich multipliziert der Multiplizierer 40 das Signal auf der Leitung 30 während eines ersten Zeitintervalls, wenn das erste Element 0 des Ergebnis-Vektors [0, 2/√2] ankommt, mit dem ersten Element der zweiten Spalte der transponierten Matrix [cT], welches auf Leitung 37 ankommt. Das resultierende Teilprodukt wird auf Leitung 48 zu dem Eingang des Integrators 42 ausgegeben. Während des zweiten Zeitintervalls, wenn das zweite Element 2/√2 des Ergebnis-Vektors [0, 2/√2] auf der Koaxial-Verbindung 30 ankommt, multipliziert der Multiplizierer 40 dieses zweite Element mit dem zweiten Element der zweiten Spalte der transponierten Matrix. Das resultierende Teilprodukt während des zweiten Zeitintervalls wird auf der Leitung 48 zu dem Integrator 42 ausgegeben. Der Integrator summiert die zwei Teilprodukt-Ergebnisse auf Leitung 48 über die Zeit und gibt das Ergebnis auf der Leitung 50 als das zweite Element –1 des wiedergewonnenen Informationsvektors [b] aus. Der Informationsvektor [b] kann dann in seine Komponenten zerlegt werden, so dass die TDMA-Datenströme, von welchen Daten genommen werden, um den Informationsvektor zusammenzusetzen, wiedererzeugt werden können an dem Empfängerende der Transaktion.

Fachleute werden erkennen, dass die ersten und zweiten Leiter auch dazu zugeteilt werden könnten, zwei unterschiedliche Datenströme, die auf verschiedenen Kanälen gesendet werden, zu tragen, von welchen beide durch denselben Teilnehmer erzeugt worden sind.

Im gesamten Beispiel haben sich die Leiter dieses Verteilungssystems auf ein Koaxialkabel bezogen. Fachleute werden erkennen, dass mit geeigneten Einstellungen der Betriebsfrequenzen und durch Hinzufügung einer geeigneten Sende- und Empfangsschaltung eine oder mehrere der verschiedenen Koaxialkabel-Verbindungen, welche hierin beschrieben wurden, ein faseroptisches Kabel, eine Mikrowellen-Verbindung, Radio-Frequenz-Verbindungen etc. sein könnten, da das Medium der Übertragung für die Erfindung nicht kritisch ist.

Verwendung von zyklischen Codes im Code Division Multiple Access für eine bessere Leistungsfähigkeit

Bei der bevorzugten Ausführungsform sind die in dem Modulator/in den Sendern verwendeten orthogonalen Codes zyklische Codes. Bei zyklischen orthogonalen Codes sind alle verwendeten Codes dieselbe Sequenz von Zahlen, jedoch ist jeder Code um eine oder mehrere Bit-Positionen von dem vorhergehenden Code verschoben. Obwohl irgendein Satz orthogonaler Codes funktionieren wird, um die Erfindung zu implementieren, vereinfachen die zyklischen orthogonalen Codes die Implementierungsbelange durch Reduzieren der Speichermenge, die benötigt wird, um die Codes zu speichern.

Fachleute werden erkennen, dass jeder Teilnehmer-Sender mehrfache Kanäle digitaler Daten übertragen kann und dass die Matrix-Multiplikation und Summierungsoperationen, die oben beschrieben wurden, mit einer digitalen Schaltung, wie etwa geeigneten programmierten Mikroprozessoren, durchgeführt werden können.

In einer alternativen Ausführungsform werden die getrennten Ströme digitaler Daten unter Verwendung von Spreiz-Spektrum-Frequenz-Sprung-Techniken übertragen. Bei dieser Ausführungsform wird ein erster Strom digitaler Daten von einem Ende zu dem anderen unter Verwendung eines Trägers übertragen, welcher in der Frequenz springt in Übereinstimmung mit einer ersten vorbestimmten kodierten Sequenz. Ähnlich wird der zweite Strom digitaler Daten auf einem Träger übertragen, welcher in der Frequenz springt entsprechend mit einer zweiten vorbestimmten Sequenz. Bei dieser Ausführungsform empfangen der Sender/die Modulatoren Code-Sequenz-Eingänge, welche die Frequenz eines Oszillators steuern, welcher eine Träger-Frequenz erzeugt. Die Codes, welche die Frequenz der Sender für die verschiedenen Kanäle steuern, sind orthogonal. Der Empfänger für Kanal 1 empfängt dieselbe Code-Sequenz, welche dem Sender für Kanal 1 zugeführt wurde. Diese Code-Sequenz steuert die Frequenz eines lokalen Schlag-Frequenz-Oszillators für den Empfänger 1 und ist mit der Code-Sequenz synchronisiert, welche zum Sender für Kanal 1 zugeführt wird. Ebenso empfängt der Empfänger für Kanal 2 eine Code-Sequenz, die orthogonal zu dem Empfänger für die Kanal-1-Code-Sequenz ist, und steuert den Schlag-Frequenz-Oszillator des Empfängers für Kanal 2, um synchron Sprünge in der lokalen Oszillator-Frequenz zu erzeugen, welche die Sprünge in der Frequenz des Trägers für den Sender für Kanal 2 verfolgen.

Synchrone CDMA: Der Ausrichte/Bereichsbildungsprozess, um eine Rahmen-Synchronisation zu erreichen

Das Ausrichten ist eine wichtige Aufgabe für einen optimalen Betrieb des Systems der Gattung, welche durch 1 dargestellt ist, mit minimalem Übersprechen zwischen Kanälen. In dem System von 1 sind die Zeitschlitze in den TDMA-Strömen auf den Leitungen 10 und 14 die Kanäle. Die digitalen Daten in jedem Zeitschlitz in den TDMA-Strömen auf den Leitungen 10 und 14 sind Daten, welche auf diesem Kanal übertragen werden. Die digitalen Daten in den TDMA-Strömen werden in Symbole neu angeordnet, wie kurz oben beschrieben wurde, und werden in Rahmen übertragen mit drei Symbolen plus einem Schutzband oder einer Lücke pro Rahmen. Das Schutzband oder die Lücke ist für eine Übertragung von Ausrichtungs-Barker-Codes reserviert und keine weiteren Daten sollen während der Lücken übertragen werden.

Das Konzept beim Ausrichten ist es, variable Verzögerungen einzustellen, welche an der Stelle jedes Senders aufgeprägt sind vor einer Übertragung eines Barker-Codes, um für verschiedene Ausbreitungs-Verzögerungen von jeder Senderstelle zu kompensieren, derart, dass der Barker-Code von jedem Teilnehmer-Sender, welcher versucht auszurichten, an dem Kopfende-Empfänger während derselben Lücke ankommt. Wenn die variablen Verzögerungen bei jedem Teilnehmer-Sender richtig eingestellt sind, wird davon gesprochen, dass jeder Teilnehmer in Ausrichtung ist, so dass die Signale, welche die Symbole kodieren, welche simultan auf dem geteilten Datenpfad 24 übertragen werden, alle mit derselben Rahmen-Zeitgabe übertragen werden.

Ein Ausrichten ist wichtig, um eine vollkommene Orthogonalität zu erhalten, um Null über Sprechen zu erhalten. Falls die Sender nicht perfekt ausgerichtet sind, können die übertragenen Signale dennoch wiedergewonnen werden, jedoch gibt es etwas Übersprechen zwischen den Kanälen, was die Kapazität des Systems, Informationen zu übertragen, begrenzen wird.

Dieser Prozess eines Ausrichtens aller Verzögerungsschaltungen in den Sendern wird hierin manchmal alternativ Bereichsbilden genannt und ist breit anwendbar auf andere Typen von Mehrfach-Zugriffs-Digitaldaten-Übertragungs-Systemen, welche ebenfalls durch verschiedene Ausbreitungszeiten von verschiedenen Sender-Orten beeinträchtigt sind, wie beispielsweise Zeit-Mehrfach-Zugriffs-Systeme, welche einen Teil des oben diskutierten Stands der Technik bilden.

Bezug nehmend auf 4A ist dort ein Diagramm der typischen Rahmenstruktur gezeigt. Bei der bevorzugten Ausführungsform wird jeder Rahmen aus drei Symbolen von jeweils 144 Chips gebildet und einer Lücke oder einem Schutzband, das 16 Chips für eine Gesamtheit von 448 Chips aufweist, von welchen jeder 278 Nanosekunden dauert. Der Chip ist die grundlegende Zeiteinheit in der "Code-Domäne", wobei Code-Domäne sich auf die Signale bezieht, welche sich über das geteilte Medium ausbreiten. Bei der bevorzugten Ausführungsform ist jeder Chip ein QAM-moduliertes Element eines Ergebnis-Vektors, wobei der Ergebnis-Vektor eine Anzahl von Elementen aufweist, die gleich der Anzahl von Zeitschlitzen ist, und das Ergebnis ist eine Code-Teilungsspreizung der Elemente eines Informationsvektors, der aus den Bits jedes Kanals oder Zeitschlitzes konstruiert ist. Bei der bevorzugten Ausführungsform empfängt jeder Empfänger einen TDMA-Seriell-Bit-Strom, der 144 individuelle Zeitschlitze oder Kanäle aufweist, von welchen jeder 8 Bit enthält. Zu diesen 8 Bit wird ein 9tes Bit hinzugefügt bei der bevorzugten Ausführungsform, das für Seitenkanal-Gespräche verwendet werden kann mit der CU, ohne Verbindung zu den Daten, die von der externen Vorrichtung empfangen wurden. Diese 9 Bits werden in drei Tri-Bits geteilt aus jeweils 3 Bits. Eine Sammlung von 144 dieser Tri-Bits wird in einem Rahmen-Speicher gespeichert und bei einigen Arten innerhalb der erfinderischen Gattung werden diese 144 Tri-Bits der Informationsvektor sein, der mit der Code-Matrix multipliziert wird, um einen Ergebnis-Vektor zu erzeugen, welcher 144 Elemente aufweist. Diese 144 Ergebnis-Vektor-Elemente werden QAM-moduliert werden, um die 144 Chips zu erzeugen, die als ein Symbol übertragen werden. Dieser Prozess wird für jedes der 3 Tri-Bits jedes Zeitschlitzes wiederholt, wodurch sie in der Übertragung von 3 Symbolen in jedem Rahmen resultieren. Bei der bevorzugten Ausführungsform ist jedoch jedes Tri-Bit kodiert mit einem oder mehreren redundanten Bits, basierend auf den drei Bits und dem Status dieser gleichen drei Bits desselben Zeitschlitzes während des letzten Rahmens. Das/die redundante/n Bit(s) wird berechnet, um einen Viterbi-Dekoder in einem Empfänger in der Zentraleinheit zu unterstützen, um mit einem höheren Grad an Genauigkeit aus den empfangenen Signalen, welche durch Beeinträchtigungen des Mediums verschlechtert wurden, sicherzustellen, welche Bits ursprünglich als das jeweilige Tri-Bit vorhanden waren. Bei einigen Arten innerhalb der erfinderischen Gattung kann das Hinzufügen der redundanten Bits weggelassen werden und der Viterbi-Dekoder und viele Vorteile innerhalb der Gattung der Erfindung werden immer noch vorhanden sein, obwohl eine höhere Bit-Fehlerrate resultieren wird.

Ein Fachmann wird erkennen, dass die Konstruktion des Informationsvektors, die verwendet werden wird, um jedes Symbol zu erzeugen durch Heranziehen nur einiger der Bits von jedem Zeitschlitz, die Daten von jedem Zeitschlitz über die Zeit ausspreizt. Dies macht die Daten weniger anfällig für Burst-Rauschen. Das Code-Multiplexen ermöglicht mehrfache Kanäle digitaler Daten gleichzeitig in einem 6 mHz-Kanal zu übertragen ohne Interferenz zwischen den Kanälen. Zusätzlich kann Frequenz-Multiplexen verwenden werden, um sogar noch mehr Kanäle digitaler Daten oberhalb und über die 144 Kanäle hinaus zu übertragen, welche in dem ersten 6 mHz-Kanal übertragen wurden. Mit anderen Worten können weitere 144 verschiedene TDMA-Digitalkanäle Code-gemultiplext werden und gleichzeitig mit den ersten 144 Kanälen übertragen werden, jedoch auf einem zweiten 6 mHz-Kanal. Dieser zweite 6 mHz-Kanal hat eine andere Kanal-Frequenz als der erste 6 mHz-Kanal, welche von der Zentral-Frequenz des ersten 6 mHz-Kanals ausreichend getrennt ist, um damit nicht zu interferieren. Sowohl der erste als auch der zweite 6 mHz-Kanal weist eine Zentral-Frequenz auf, die ausreichend von den Zentral-Frequenzen der Kabel-Fernseh-Programmierung getrennt ist, welche dasselbe Medium teilt, um damit nicht zu interferieren. Bei alternativen Ausführungsformen kann dieses Schema repliziert werden mit irgendeiner Anzahl von Symbolen größer als 1, oder mit nur einem Symbol, falls die Immunität gegenüber Burst-Rauschen nicht wichtig ist.

In 4A sind die drei Rahmen-Symbole Fn durch Blöcke 62, 64 und 66 symbolisiert. Die Lücke oder das Schutzband ist symbolisiert durch Blöcke 60 und 71. Es gibt ein einzelnes Schutzband, das jedem Rahmen zugeordnet ist. Das Schutzband 71 (worauf hierin auch manchmal als die Lücke Bezug genommen wird), wird verwendet für Synchronisations- und Entzerrungszwecke für den Rahmen, der die Symbole 62, 64, 66 und das Schutzband 71 aufweist. Die Symbole tragen die Information für die verschiedenen Kanäle digitaler Daten, welche zu den Teilnehmern geliefert werden. Die Rahmen-Periode beträgt 125 Mikrosekunden. Die Rahmen-Daten-Nutzlast beträgt 128 Kanäle mal 72 Kilobit pro Sekunde pro Kanal plus 16 Steuerungs- und Verwaltungs-Kanäle, von welchen jeder eine Datenrate von 72 Kilobit pro Sekunde für Verwaltungs- und Steuerungs-Information aufweist.

Im Nachfolgenden wird auf jeden Teilnehmer-Sender als eine Ferneinheit Bezug genommen werden oder RU und auf die Zentraleinheit oder das Kopfende wird als die CU Bezug genommen werden.

Der Synchronisations-Prozess ist der Prozess, bei welchem jede RU eingelernt bzw. "trainiert" wird, d.h. eine variable Verzögerung in ihrem Sender aufweist, die eingestellt wurde unter Verwendung der Rückkopplung von der CU auf einem der Verwaltungs- und Steuerungs-Kanäle, derart, dass der übertragene Rahmen von jeder RU bei der CU zur selben Zeit ankommt. Eine Ausrichtung aller Rahmen von allen RUs resultiert am Anfang der Lücke 60 für jeden Rahmen von jeder RU, auftretend zur selben Zeit am selben Ort der CU ungeachtet der Unterschiede in Ausbreitungs-Verzögerungen von verschiedenen RUs zur CU. In 4A wächst die Zeit nach rechts an. Daher befindet sich der Anfang des Schutzbandes 60 am Punkt 61.

Ausrichtung irgendeines digitalen Datensystems, welches Daten-Bits sendet, die als Rahmen gesammelt werden

Bezug nehmend auf 4B wird dort ein Symbol-Diagramm gezeigt, welches die bei der Ausrichtung verwendeten Konzepte veranschaulicht. In 4B stellen Punkte, welche anwachsende positive Koordinaten längs der y-Achse aufweisen, beginnend mit dem Ursprung bei 100, die zunehmende Zeit dar. Punkte längs der x-Achse nach rechts vom Ursprung stellen die anwachsende Entfernung von der Zentraleinheit dar, die bei der Position 70 gekennzeichnet ist. Die Zeit 100 stellt den Anfang von Symbol 62 in 4A bei der CU dar. Die Lücke 71 an dem Ende der drei Symbole wird für das Ausrichten verwendet und das Ende der Lücke 71 ist als das Ende des Rahmens vorgesehen.

Der Ausrichtungsprozess wird asynchron durch irgendeine RU begonnen, die ausrichten muss. Die Zentraleinheit überträgt einen Barker-Code während jedes Rahmens zur selben Zeit in dem Rahmen. Dieser Barker-Code wird durch jede Ferneinheit zu einer anderen Zeit empfangen aufgrund verschiedener Ausbreitungsverzögerungen, jedoch wie bei irgendeiner speziellen RU wird der Barker-Code immer zur selben Zeit während jedes Rahmens empfangen, bis die CU ihre Verzögerung ändert (ein Konzept, das in weiteren Einzelheiten weiter unten erläutert wird). Der Barker-Code stellt einen Trigger für irgendeine RU dar, welche versucht auszurichten und markiert die Empfangsrahmen-Zeitgabe-Referenz für diese RU. Die Empfangszeit des Barker-Codes stellt den Beginn des variablen Verzögerungs-Intervalls dar, das für die RU während des Ausrichtungsprozesses eingestellt wird.

Die Barker-Code-Übertragung für "jeden Rahmen" während des Rahmens, der in 4B gezeigt ist, ist durch Zeile 80 dargestellt. Der Barker-Code wird empfangen durch RU #1 bei der Position 67 zur Zeit 72. Der Barker-Code wird durch die RU #2 bei der Position 69 zur Zeit 74 empfangen. Der Ausrichtungsprozess ist ein Trial-and-Error-Prozess zum Einstellen einer Verzögerung von der Empfangszeit des Barker-Codes zu der Zeit einer Übertragung desselben Barker-Codes durch jede RU zurück zur Zentraleinheit 70, bis die Verzögerung genau eingestellt ist, derart, dass der rück-übertragene Barker-Code bei der CU während der Lücke ankommt. Der Vektor 68 stellt eine korrekte Verzögerungs-Zeitgabe für die RU #1 bei der Position 67 dar, derart, dass ihre Barker-Code-Übertragung 73 in der Mitte der Lücke 71 ankommt. Der gestrichelte Vektor 76 stellt eine unkorrekte Verzögerung dar, welche in einer Barker-Code-Übertragung resultiert, die durch die gestrichelte Linie 78 dargestellt ist von der RU #1, welche zu irgendeiner Zeit während der Mitte des Symbols 66 ankommt, wobei sie die Lücke 71 verfehlt. Diese Bedingung stellt eine falsche Ausrichtung dar und kann in einem Übersprechen resultieren.

Ähnlich verwendet die RU #2 bei Position 69 eine Null-Verzögerung und emittiert eine Barker-Code-Übertragung 82 sofort nach Empfang der Barker-Code-Trigger-Übertragung 80 von der CU 70. Diese Barker-Code-Übertragung 82 von der RU #2 kommt ebenfalls während der Mitte der Lücke 71 an, wodurch gekennzeichnet ist, dass die RU #1 und die RU #2 korrekt ausgerichtet sind.

Die Ausrichtungs-Barker-Code-Übertragungen sind typischerweise kurze Bursts, welche Leistungspegel aufweisen, die ausreichend sind, um eine Detektion während der Lücke 71 einfach zu machen, selbst wenn die Lücke 71 auch eine zufällige Rauschleistung beinhaltet.

Die Ausrichtungs-Barker-Code-Übertragungen werden während der Lücke detektiert durch Durchführen einer mathematischen Korrelationsoperation in dem CU-Empfänger zwischen dem Barker-Code, der übertragen wurde, und dem empfangenen Signal. Falls das empfangene Signal derselbe Barker-Code war, der durch die CU übertragen wurde, wird die Korrelationsoperation ein Signal ausgeben, welches einen Spitzenwert zur Zeit eines maximalen Überlappens zwischen dem Barker-Code erreicht, der durch die CU übertragen wurde, und dem empfangenen Signal. Die Zeitgabe dieser Spitze kennzeichnet den Ausrichtungsstatus der RU, welche den Barker-Code übertragen hat, welcher in dem Spitzenwert resultierte. Da die Barker-Code-Übertragungen in der Dauer relativ kurz sind und da ihre Amplituden nicht übermäßig sind, wird die Ankunft einer Barker-Code-Übertragung während der Mitte eines Symbols im Allgemeinen keine Fehler in der Interpretation des Symbols 66 durch den CU-Empfänger verursachen. Jedes Symbol, welches in der Code-Domäne kodiert ist, beinhaltet Fehler-Detektions- und Korrektur-Bits (ECC-Bits), derart, dass irgendwelche Fehler, die auftreten, gewöhnlicherweise detektiert und korrigiert werden können, wenn die Symbole wieder gebildet werden durch die Rahmen-Schaltung in dem Empfänger. Daher, falls die Barker-Code-Ausrichtung-Übertragung in einem Fehler resultiert, wird dieser Fehler gewöhnlich innerhalb des Detektions- und Korrekturbereichs der ECC-Bits jedes Symbols liegen.

Bezug nehmend auf 5 ist dort ein Diagramm wie jenes von 4B gezeigt, das ein Problem veranschaulicht, das auftritt, wenn das Netzwerk physikalisch ausgedehnt wird. Dies kann unter bestimmten Umständen auftreten, wie etwa während der Hitze eines sommerlichen Nachmittags, wenn das physikalische Medium sich thermisch ausdehnt, wodurch die Ausbreitungszeiten von Barker-Code-Signalen von der CU zu den RUs und von den RUs zurück zu der CU sich verändert. In dem gezeigten Beispiel überträgt die CU 70 einen Barker-Code 96 zur Zeit 100. Dieser Barker-Code erreicht die nächste RU, die RU #1, bei der Position 90 zur Zeit 72. Derselbe Barker-Code erreicht die am weitesten entfernte RU, die RU #128, die sich bei der Position 92 befindet, zur Zeit 102. Die RU #1 verwendet eine Verzögerung, die durch den Vektor 98 symbolisiert ist und rücküberträgt den Barker-Code 108 zur Zeit 138. Diese Ausrichtungs-Übertragung trifft die Lücke 106 im Rahmen #1, was anzeigt, dass die RU #1 richtig ausgerichtet ist.

Die RU #128, wenn sie sich bei der Position 92 befindet, verwendet keine Verzögerung und rücküberträgt unmittelbar die Barker-Code-Übertragung 109 zur Zeit 102. Die Übertragung 109 kommt ebenso während der Lücke 106 an, was kennzeichnet, dass zumindest bei der Position 92 die RU #128 richtig ausgerichtet ist.

Nun sei angenommen, dass sich das Netzwerk physikalisch ausdehnt, derart, dass die RU #128 sich an der Position 93 physikalisch wieder findet. An dieser Position empfängt die RU #128 die Barker-Code-Übertragung 96 von der CU zur Zeit 102 und, da die RU #128 bereits die minimale mögliche Verzögerung für eine Rückübertragung eines Ausrichtungs-Codes verwendet, wird die Ausrichtungs-Übertragung 110 ebenso zur Zeit 103 übertragen. Jedoch, wegen der physikalischen Ausdehnung des Netzwerkes erreicht die Ausrichtungs-Übertragung 110 die CU zur Zeit 111, was nach dem Ende der Lücke 106 ist, und manchmal in der Mitte des ersten Symbols von Rahmen #2.

Wenn eine RU diese Lücke genau trifft, ist sie authentifiziert, d.h. identifiziert, und die CU teilt ihr mit, dass eine Ausrichtung erreicht worden ist, wodurch die RU veranlasst wird, das Einstellen ihrer Verzögerung durch Trial-and-Error zu stoppen. Da die RU #128 von der CU keine Bestätigung erhält, dass sie richtig ausgerichtet ist, beginnt sie ihren Verzögerungsvektor in einem Trial-and-Error-Prozess zu inkrementieren. Nach einigen Inkrementierungen erreicht der Verzögerungsvektor schließlich die Verzögerung, die durch den Vektor 112 dargestellt ist. Mit diesem Verzögerungsvektor wird eine Ausrichtungs-Übertragung 114 von der RU #128 zur Zeit 113 übertragen, welche die Lücke 116 erreicht, die sich am Ende des Rahmens 2 befindet. Jedoch bedeutet dies, dass die RU #128 mit dem falschen Rahmen synchronisiert ist. Es ist erforderlich, für einen richtigen Betrieb des Systems, dass alle RUs mit der Lücke am Ende desselben Rahmens synchronisiert sind, in dem die Barker-Code-Übertragung von der CU, welche die Ausrichtungs-Übertragungen der RUs getriggert hat, aufgetreten ist. Falls eine oder mehrere RUs sich mit der Lücke am Ende eines anderen Rahmens ausrichten, können die Ergebnisse betreffend die Fehler, die in dem CU-Empfänger erzeugt werden, verheerend sein beim Interpretieren von Daten, die durch die RUs übertragen wurden.

Bezug nehmend auf 6 wird dort ein Diagramm ähnlich dem von 5 gezeigt, welches die Lösung für dieses Fehlausrichtungsproblem veranschaulicht, das in der Diskussion von 5 dargelegt wurde. Im Diagramm von 6 prägt die CU 70 eine Verzögerung, dargestellt durch den Vektor 116, vor dem Übertragen der Ausrichtungs-Trigger-Übertragung 96 zur Zeit 100 auf. Die Barker-Code-Übertragung 96 erreicht die nächstliegende RU, die RU #1, bei der Position 90 zur Zeit 118. Die Zeit 118 bildet die Empfangsrahmen-Zeitgabe für die RU #1. Die RU #1 verhängt dann eine Verzögerung, die durch den Vektor 122 dargestellt ist, und überträgt dieselbe Barker-Code-Ausrichtung-Übertragung zur Zeit 123. Die Zeit 123 bildet die Übertragungsrahmen-Zeitgabe-Referenz für die RU #1. Die Zeitverzögerung zwischen den Zeiten 118 und der Zeit 123 ist vorhersagbar, da die CU ihre Barker-Code-Übertragung 96 zur selben Zeit übertragen wird während jeden Rahmens, bis zu einer solchen Zeit, zu der es notwendig ist, die Übertragungs-Zeitgabe 96 zu ändern, um alle RUs in Ausrichtung zu halten. Mit anderen Worten ist die Empfangszeit der Barker-Code-Übertragung 96 für alle RUs vorhersagbar und wird ein periodisches Signal sein, das einmal während jedes Rahmens auftritt. Die Ausrichtungs-Übertragung 124 von der RU #1 erreicht die Lücke 106 am Ende des Rahmens #1.

Die Ausrichtungs-Übertragung 96 von der CU erreicht die RU #128, die am weitesten entfernte RU zur Zeit 120. Die Zeit 120 bildet die Referenz-Rahmen-Zeitgabe-Referenz für die RU #128 während sie an der Position 92 ist. Danach überträgt zur Zeit 125 die RU #128 die Ausrichtungs-Übertragung 128. Diese Übertragung kommt während der Lücke 106 am Ende des ersten Rahmens an, wodurch angezeigt wird, dass die RU #128 genau bei dieser Position ausgerichtet ist.

Wie im Fall der RU #1 ist die Verzögerung zwischen den Zeiten 120 und 125 für die RU #128 vorhersagbar.

Nun sei angenommen, dass sich das Netzwerk ausdehnt und RU #128 befindet sich bei der Position 94. An dieser Position kommt die CU-Ausrichtungs-Trigger-Übertragung 96 zur Zeit 127 an. Um ausgerichtet zu bleiben, wird die RU #128 diesen Verzögerungsvektor 126 auf Null reduzieren und wird unmittelbar eine Ausrichtungs-Übertragung 130 rückübertragen, welche denselben Barker-Code aufweist, den sie empfangen hat. Die Übertragung 130 kommt während der Lücke 106 an, wodurch angezeigt wird, dass die RU #128 immer noch an ihrer neuen Position ausgerichtet ist durch Abschneiden ihres Verzögerungsvektors auf Null.

Nun sei angenommen, dass sich das Netzwerk weiter ausdehnt, derart, dass sich die RU #128 an der Position 96 wieder findet. An dieser neuen Position käme die Ausrichtungs-Übertragung 96 von der CU zur Zeit 129 an. Mit einer Null-Verzögerung durch die RU #128 käme die resultierende Ausrichtungs-Übertragung 131 zur Zeit 133 gerade nach dem Ende der Lücke 106 an, wodurch angezeigt wird, dass die RU #128 aus der Ausrichtung durch die Ausdehnung des Netzwerkes herausgefallen ist. Die RU #128 würde dann fortfahren, ihren Verzögerungsvektor einzustellen bis sie zu der nächsten Lücke, die dem Ende von Rahmen #2 folgt, ausgerichtet ist, wodurch Fehler verursacht werden.

Um dies zu verhindern, wenn die CU feststellt, dass eine RU, die zuvor in Ausrichtung war, die Ausrichtung verloren hat, wegen einer Netzwerk-Ausdehnung, wird die CU ihre anfängliche Verzögerung von der Verzögerung, die durch den Vektor 116 dargestellt ist, reduzieren auf die Verzögerung, die durch den Vektor 132 dargestellt ist. Mit diesem neuen Verzögerungsvektor wird die Barker-Code-Ausrichtungs-Trigger-Übertragung 135 zur Zeit 137 übertragen werden. Diese Ausrichtungs-Trigger-Übertragung 135 wird an der Position der RU #1 zur Zeit 139 ankommen und wird eine neue Empfangsrahmen-Zeitgabe-Referenz bilden. Falls die RU #1 ihren Verzögerungsvektor 122 nicht im Voraus durch einen der nachfolgend zu beschreibenden Mechanismen eingestellt hat, wird sie die Ausrichtung verlieren. Sie kann dann in eine Wiederausrichtungsphase eintreten und wird schließlich durch Trial-and-Error ihren Verzögerungsvektor einstellen, auf den durch den gestrichelten Vektor 136 dargestellten. Nachdem sie so ihre Verzögerung eingestellt hat, wird die RU #1 eine Ausrichtungs-Übertragung 124 zur Zeit 123 übertragen, um die Lücke 106 wieder zu treffen, wobei sie in die Ausrichtung wieder eintritt.

Die Ausrichtungs-Trigger-Übertragung 135 von der CU kommt an der Position 96 der RU #128 zur Zeit 141 an. Unter Verwendung eines Null-Verzögerungsvektors überträgt die RU #128 ihre Ausrichtungs-Übertragung 134. Diese Ausrichtungs-Übertragung 134 kommt während der Lücke 106 an, wodurch die RU #128 wieder ausgerichtet wird.

Die 6 zeigt einen Ausrichtungsprozess, bei dem die Ausrichtung auf die Lücke am Ende des ersten Rahmens erfolgt, in dem das Ausrichtungs-Trigger-Signal 96 übertragen wird. In realen Systemen kann dies unpraktisch sein, so dass der Ausrichtungsprozess auf die Lücke ausgeführt wird, die einer ganzen Zahl von Rahmen in der Zukunft folgt. Der mathematische Ausdruck, welcher diese Beziehung definiert, ist in Gleichung (1) unten angegeben: TTA = Tcu + Tru + 2 × Tp = konstant = n × TF,(1) wobei

TTA
= die gesamte Umlaufzeit von der CU zu der entferntesten RU;
Tcu
= die Verzögerung, die durch die CU aufgeprägt wird, die durch den Vektor 116 in 6 veranschaulicht ist;
Tru
= die Verzögerung, die durch die entfernteste RU aufgeprägt wird, veranschaulicht durch den Vektor 126 in 6 (auch Tfar genannt);
2 × Tp
= zwei mal die Ausbreitungsverzögerung Tp von der CU zu der entferntesten RU; und
n × TF
= ein ganzzahliges Vielfaches des Rahmen-Intervalls TF.

Selbstverständlich, gibt es, wenn sich das Netzwerk ausdehnt, eine gewisse zusätzliche Verzögerung bei den Ausbreitungs-Verzögerungen, die Tu genannt wird, für die Unsicherheit dieser zusätzlichen Ausbreitungs-Verzögerung. Daher werden drei zusätzliche Erfordernisse mit Bezug dazu auferlegt, wie viel Verzögerung die CU und die RUs in der Lage sein müssen, aufzuprägen. Diese zusätzlichen Erfordernisse sind unten in den Gleichungen (2), (3) und in (4) angegeben: Tcu = [Td + Tu] modulo TF(2) wobei

Td
= die Spanne des Netzwerks, d.h. gleich der Quantität [TTA2 – TTA1], wobei TTA2 gleich der gesamten Umlauf-Ausbreitungszeit ist für ein Signal, um von der CU zu der entferntesten RU und zurück zu laufen, und TTA1 gleich der gesamten Umlauf-Ausbreitungszeit für ein Signal ist, um sich von der CU zu der nächsten RU und zurück auszubreiten; und
modulo TF
= der Rest ist von [Td + Tu] geteilt durch RF.
Tfar > Tu(3) wobei
Tfar
= die kleinste mögliche Tru der entferntesten RU ist und gleich ist der kleinsten RU-Verzögerung, die durch die entfernteste RU auferlegt werden kann;
Tnear < TF – Tu(4) wobei
Tnear
= die maximal mögliche Tru der nächsten RU ist.

Was dies in einem praktischen Sinne meint, ist, dass, um die Verzögerungen in dem Netzwerk so einzustellen, dass alle RUs ausgerichtet sind, die folgenden Schritte unternommen werden und die Beschränkungen auf mögliche Verzögerungen, die durch die CU und die RUs auferlegt werden, die in den Gleichungen (1) bis (3) angegeben sind, so auferlegt werden, dass sich alle RUs auf dieselbe Lücke ausrichten. Das praktische Netzwerk, das durch die folgende Prozedur auszurichten ist, weist eine CU auf, die durch eine Faseroptik-Stammleitung mit einem optischen Knoten verbunden ist. Der optische Knoten befindet sich außerhalb des zu bedienenden Bereichs und kann mit bis zu 2000 Haushalten durch 2000 individuelle Koaxial-Verbindungen gekoppelt sein. Um ein derartiges Netzwerk auszurichten wäre Schritt 1, eine RU an die Position des optischen Knotens zu bringen und seine Verzögerung auf Tnear = TF – Tu festzulegen. Mit dieser Verzögerung würde die nächste RU keine andere Lücke treffen, ausgenommen durch einen reinen Zufall. Unter der Annahme, dass die RU die Lücke mit dieser Verzögerung nicht trifft, wäre der zweite Schritt, die Verzögerung der CU einzustellen, bis die nächstgelegene RU eine Lücke trifft. Wenn dies eintritt, wäre die Bedingung Tcu = [Td + Tu] modulo TF wahr, was bedeutet, dass die CU in geeigneter Weise die Unsicherheit des Ausbreitungs-Verzögerungs-Inkrementes auf Td kompensiert hätte, welches durch die Netzwerk-Ausdehnung verursacht wird.

Bereichsbildungsprozess

Bezug nehmend auf 7, die gebildet ist aus den 7A, 7B und 7C ist dort ein Flussdiagramm für den allgemeinen Ausrichtungs-Bereichsbildungsprozess gezeigt, der beim Trainieren bzw. Einlernen aller RUs verwendet wird, um ihre Übertragungsrahmen-Zeitgabe-Verzögerungen Td richtig einzustellen, so dass jeder Rahmen, der durch eine RU übertragen wird, an der CU zur selben Zeit ankommt, wie alle anderen Rahmen, die von anderen RUs übertragen werden trotz unterschiedlicher Übertragungszeiten. Eine der einmaligen Charakteristiken der Bereichsbildungsprozesse, die hierin beschrieben werden ist, dass die RU den Bereichsbildungsprozess ausführt und die CU mehr oder weniger passiv ist, was im Gegensatz ist zum Stand der Technik.

Im Allgemeinen stellt zur Zeit eines Einschaltens einer RU, die RU zuerst ihren AGC-Pegel ein, um vollen Gebrauch ihres analog-zu-digital-Wandler-Dynamik-Bereichs zu machen. Als Nächstes führt die RU eine Rahmen-Detektion durch, um zu bestimmen, wann die Lücken in den CU-Sendungen bestehen durch Durchführungen von Korrelationen in dem RU-Empfänger-Rahmen-Detektor, der nach dem bekannten Barker-Code sucht, den die CU während jeder Lücke überträgt. Sobald die Lücke lokalisiert ist, stellt der Rahmen-Detektor den Zeitbasis-Generator ein, um auf diese Empfangsrahmen-Zeitgabe-Referenz zu synchronisieren. Als Nächstes führt die RU eine Chip-Takt-Synchronisation durch und eine Träger-Wiedergewinnung in der unten in der Diskussion von 19 beschriebenen Weise. Eine Träger-Wiedergewinnung wird ausgeführt durch Ausführen eines Slicer-Fehlers auf einen bekannten BPSK-Pilot-Träger oder Pilot-Kanalsignal, das während eines vorbestimmten Zeitschlitzes übertragen wird, unter Verwendung eines vorbestimmten Codes (das CU-Lokal-Oszillator-Signal tastet im Zeitschlitz 0 ab, das mit allen 1en CDMA-Codes gespreizt und übertragen ist unter Verwendung von BPSK). Der Pilot-Kanal trägt auch die Rahmen-Nummer-Daten. Der Slicer-Fehler wird verwendet, um den RU-Lokal-Oszillator auf die Phase des CU-Lokal-Oszillators zu synchronisieren. Eine Chip-Takt-Synchronisation wird durchgeführt durch die Feinabstimmungsschaltung des Rahmen-Detektors aus dem Chip-Takt, der in den Barker-Code eingebettet ist, der durch die CU während jeder Lücke gesendet wird. Dies ist alles, was die RU tun muss, um sich selbst für einen Empfang von CU-Daten und -Nachrichten einzustellen.

Die RU beginnt dann auf CU-Nachrichten zu hören, um zu bestimmen, ob sie sich auf die richtige CU eingestellt hat und um zu bestimmen, wann die CU eine Bereichsbildungsaktivität erbittet durch eine Nachricht auf einem von dem Befehls- und Steuerungskanal. Bei einigen Ausführungsformen kann die Nachricht "klar zum Bereichsbilden" eliminiert werden und die CU kann die ganze Zeit nach Bereichsbildungs-Barker-Codes Ausschau halten, jedoch wird bevorzugt, es der CU zu ermöglichen, die Bereichsbildungsaktivität zu drosseln. Die RU führt dann einen Bereichsbildungsprozess durch, der nachfolgend beschrieben wird, und registriert sich selbst bei der CU durch Senden einer Authentifikations-Sequenz von Barker-Codes, nachdem eine Rahmen-Synchronisation erreicht worden ist (nachfolgend erläutert). Dies wird durch die CPU ausgeführt, wenn sie eine Nachricht über die C3-Schaltung 860 empfängt von der CU, welche sagt "ich habe einen Barker-Code in der Lücke gefunden, bitte sende deinen Authentifikations-Code". Die CPU sendet dann Daten auf dem Bus 512 zur Bereichsbildungsschaltung 510 in 28A, welche dieser mitteilen, welche Authentifikations-Barker-Code-Sequenz zu senden ist. Die CU wird dann eine Nachricht übertragen, welche kennzeichnet, welchen Authentifikations-Code sie gefunden hat und wie viele Chips außerhalb des Zentrums der Lücke der Barker-Code liegt. Die CPU 405 in der RU, welche beim Bereichsbilden ist, stellt dann richtig die Übertragungsrahmen-Zeitgabe-Verzögerungs-Referenz Td auf dem Bus 499 ein, um den Barker-Code in der Lücke zu zentrieren. Andere Elemente von Daten, welche die CPU 405 zu der Bereichsbildungsschaltung 510 sendet, sind Daten, die mit P markiert sind, welche den Leistungspegel anzeigen, der für den Bereichsbildungs-Barker-Code zu verwenden ist, und ein RU/CU-Signal, welches der Bereichsbildungsschaltung 510 anzeigt, ob sie den Regeln für ein Bereichsbilden für eine RU oder CU folgen soll.

Die CU instruiert als Nächstes die Ru, in ein Entzerrungs-Einlern-Intervall einzutreten, um die Koeffizienten zu bestimmen, die in den Vorcode-Filter des RU-Senders einzustellen sind, wie z.B. den Filter 563 in 28A, um die RU-Signale vorzuverzerren, um eine Kanal-Verzerrung zu eliminieren und um die Qualität des Bereichsbildungsergebnisses zu testen. Der Einlern-Algorithmus wird unten in Verbindung mit der Erläuterung von 45 diskutiert.

Der Bereichsbildungsprozess beginnt, wie im Block 180 symbolisiert ist, wobei die CU für ein vorbestimmtes Intervall vor dem Beginn jedes Rahmens wartet, und wobei sie dann eine Trigger-Signal-Barker-Code-Übertragung zu den RUs während der Lücke sendet. Gewöhnlicherweise wird dieses Trigger-Signal während der Lücken zwischen Rahmen gesendet, selbst wenn die CU eine zusätzliche Verzögerung aus unten dargelegten Gründen hinzufügt. Die RUs überwachen diese Lücken für diese Barker-Codes unter Verwendung ihrer Rahmen-Detektor-Schaltungen, wie beispielsweise der Schaltung 513 in 19 und der Schaltung 882 in 34.

Ein Block 182 symbolisiert den Prozess, wobei jede RU, die versucht zu synchronisieren (die Ausdrücke "synchronisieren", "Bereichsbilden" und "Ausrichtung" werden alle synonym verwendet in der Bedeutung des Prozesses eines Einlernens einer RU um ihren Verzögerungsvektor richtig einzustellen, um ihre Rahmengrenzen mit den CU-Rahmengrenzen ausgerichtet zu erhalten) die Barker-Code-Trigger-Signal-Übertragung von der CU empfängt und ihre Empfangsrahmen-Zeitgabe einstellt und dann eine erste Verzögerung für ihren Verzögerungsvektor einstellt. Danach überträgt die RU während der Zwischenrahmen-Lücke der RU, denselben Barker-Code, den sie von der CU erhalten hat, in Richtung der CU als eine Ausrichtungs-Übertragung.

Im Block 184 überwacht die CU die Lücke auf Aktivität durch Durchführen einer mathematischen Korrelationsfunktion zwischen irgendeinem empfangenen Signal während der Lücke und dem Barker-Code, der als das Trigger-Signal übertragen wurde. Falls ein Barker-Code, der identisch mit dem Trigger-Signal ist, während der Lücke empfangen wurde, wird die Korrelations-Berechnung in einer Korrelationsspitze resultieren, die in der Lücke gefunden wurde. Falls die Korrelations-Berechnung in einer Spitze resultiert, die gefunden wurde, schreitet das Verarbeiten fort zu dem Prozess, der durch den Block 190 symbolisiert ist. Dort sendet die CU eine Nachricht an alle RUs, welche anzeigt, dass sie eine Aktivität in den mittleren 8 Chips der Lücke gefunden hat (oder anderswo in der Lücke bei einigen Ausführungsformen). Dann wird der Prozess von Block 192 durchgeführt, wobei jede RU, welche versucht zu synchronisieren, ihre "Signatur", d.h. ihren RU-Identifizierungs-Code in der Form einer Barker-Code-Übertragungs-Sequenz sendet. Das bedeutet, dass in Antwort auf die Sendungen von der CU, jede RU, welche versucht zu synchronisieren, ihre eindeutige Signatur in Richtung der CU sendet, um zu bestimmen, ob dieser Barker-Code der RU der Barker-Code der CU ist, der in der Lücke gefunden wurde, und ob es die einzige RU in der Lücke ist. Dieser Prozess wird Authentifikation genannt.

Der Prozess von Block 192 symbolisiert den Beginn des Authentifikations-Prozesses. Jede RU weist eine eindeutige Signatur auf, welche die Übertragung und Nicht-Übertragung von Barker-Code während der Lücken aufweist, von einer mehrfachen Rahmen-Authentifikations-Periode. Insbesondere wird die eindeutige Signatur jeder RU ein Übertragen des Barker-Codes während einiger Lücken der Authentifikations-Periode betreffen, jedoch nicht während anderer, in der Art eines "Morse-Codes". Jede Barker-Code-Übertragung resultiert in einer Korrelationsspitze, während einem der 8 Chips in der Mitte der Lücke. Jede RU weist eine eindeutige 16-Bit-RU-ID auf, wobei jedes Bit entweder das Vorhandensein oder die Abwesenheit einer Barker-Code-Korrelationsspitze irgendwo in den mittleren 8 Chips der Lücke darstellt (oder sonst wo in der Lücke bei einigen Ausführungsformen). Daher bedarf es 16 Rahmen oder 4 Superrahmen, um die RU-ID zu übertragen. Die Anzahl von Lücken, während derer der Barker-Code übertragen wird, verglichen mit der Anzahl von Lücken, während derer der Barker-Code nicht übertragen wird, während der Authentifikations-Periode, ist so, dass, falls nur eine RU auf die Lücke ausgerichtet ist, und ihre Authentifikations-Signatur überträgt, eine Aktivität in den Lücken des Authentifikations-Intervalls nur für 50% der Zeit gefunden wird. Dieses Schema für eine Authentifikation wird gewählt, so dass die CU Konflikte detektieren kann, d.h. mehr als eine RU in derselben Lücke, in der unten beschriebenen Weise.

Nach dem Durchführen des Prozesses von Block 192 wird der Prozess von Block 194 in 7B durchgeführt. Der Prozess betrifft die CU, welche jede der Lücken während der Mehrzahl von Signatur-Sequenz-Rahmen in dem Authentifikations-Intervall überwacht, und Korrelationen zwischen den Signalen durchführt, die in jeder der Lücken empfangen wurden, und den Barker-Code, den die CU übertragen hat. Korrelationsspitzen werden gefunden, welche den Korrelator-Ausgang auf einen Schwellwert hin vergleichen. Der Schwellwert wird eingestellt durch Detektieren einer Rauschschwelle, wenn die Lücke leer ist, und durch Einstellen der Schwelle bei einem festgelegten Delta über dem Basis-Rauschwert der leeren Lücke.

Als Nächstes wird der Prozess von Block 196 durchgeführt. In diesem Prozess zählt die CU die Anzahl von Lücken in dem Authentifikations-Intervall, welche darin irgendeine detektierte Aktivität aufwiesen, und vergleicht dann diese Zahl mit der gesamten Anzahl von Rahmen in dem Authentifikations-Intervall, um zu bestimmen, ob die 50%-Aktivitäts-Pegel-Grenze überstiegen wurde, was anzeigt, dass mehr als eine RU die Lücke trifft. Der Vorteil dieses Verfahrens ist, dass eine Aktivitäts-Detektion, eine Konflikt-Detektion und eine Authentifikation zusammen in einem einzigen Prozess kombiniert sind, wodurch der Prozess durch eine größere Effizienz beschleunigt wird.

Rückkehrend zu der Betrachtung des Prozesses von Block 184, wird, falls die CU, während sie die Ausrichtungslücke nach einer Aktivität überwacht, keine Spitze findet, die aus der Korrelations-Berechnung resultiert, der Prozess von Block 186durchgeführt. In dem Prozess von Block 186 sendet die CU eine Nachricht zu allen RUs, welche diesen mitteilt, ihre Verzögerungen einzustellen und erneut zu versuchen, die Lücke mit ihren Barker-Code-Übertragungen zu treffen. Dann wird der Prozess von Block 188 durchgeführt, wobei jede RU, welche versucht zu synchronisieren, ihren Verzögerungsvektor inkrementiert und denselben Barker-Code rücküberträgt, der von der CU empfangen wurde. Danach wird der Prozess von Block 184 wiederholt durchgeführt, wobei die CU die Lücke auf eine Aktivität überwacht. Die Schleife, welche die Blöcke 184, 186 und 188 aufweist, weist zusammen genommen den Trial-and-Error-Prozess auf, der alle RUs dazu veranlasst, sich auszurichten, um ihre Verzögerungsvektoren kontinuierlich zu inkrementieren, bis zumindest eine von ihnen die Lücke trifft.

Zurückkehrend zu der Betrachtung von Block 196, bedeutet dies, falls ein 50%-Pegel während des Authentifikations-Intervalls detektiert wird, dass nur eine RU in der Lücke ist. In einem derartigen Fall wird der Prozess von Block 198 durchgeführt. In diesem Prozess identifiziert die CU die RU, deren Barker-Code-Übertragungen in der Lücke gefunden wurden, aus der eindeutigen Signatur-Sequenz, die während des Authentifikations-Intervalls übertragen wurde. Mit anderen Worten prüft die CU exakt, welche Lücken Korrelationsspitzen darin aufwiesen, und die Sequenz dieser Lücken und schlägt diese Sequenz in einer Look-up-Tabelle nach, welche die eindeutige Signatur-Sequenz für jede RU auflistet, um die spezielle RU zu identifizieren, die sich selbst erfolgreich ausgerichtet hat. Der Block 198 wird nur dann erreicht, falls die Aktivität in genau 50% der Lücken detektiert wurde.

Nachdem die CU die RU identifiziert, sendet sie die Identität, die so bestimmt wurde, an alle RUs als letzten Schritt von Block 198.

Als Nächstes wird der Prozess von Block 200 durchgeführt. In diesem Prozess erkennt die RU mit der Identität, die durch die CU gesendet wurde, ihre Identität in der Sendenachricht und tritt in einen Feinabstimmungs-Modus ein.

Der Feinabstimmungs-Modus wird durch den Prozess von Block 202 dargestellt. In diesem Prozess instruiert die CU die RU, die sich selbst ausgerichtet hat in der Lücke, wie sie ihren Verzögerungsvektor einzustellen hat, um die Korrelationsspitze, die durch die CU berechnet wurde, auf die exakte Mitte zu zentrieren. Bei der bevorzugten Ausführungsform weist diese Lücke 16 Chips auf, welche 8 Chips in der Mitte der Lücke aufweisen und 4 Chips auf jeder Seite dieser mittleren Gruppe von 8. Es ist während des Feinabstimmungs-Modus' wünschenswert, die Korrelationsspitze zentriert in der Mitte der mittleren 8 Chips zu bekommen. Wie oben erwähnt, ist ein Chip ein kleines Zeitintervall, das gleich einer Rahmen-Periode von 125 Mikrosekunden ist, geteilt durch die 448 Chips, die jeder Rahmen aufweist. Mit anderen Worten dauert jeder Chip 279 Nanosekunden. Der Feinabstimmungsprozess von Block 202 beinhaltet das Senden von Nachrichten zurück und vorwärts zwischen der CU und der RU, die als jene identifiziert wurde, die sich selbst in der Lücke ausgerichtet hat. Diese Nachrichten werden über die Verwaltungs- und Steuerungskanäle gesendet. Gewöhnlich beinhaltet der Austausch nur eine Instruktion von der CU an die RU, welche beispielsweise besagt "erhöhe den Verzögerungsvektor um 2 Chips" oder "erniedrige deinen Verzögerungsvektor um 3 Chips". Dann führt die RU die instruierte Einstellung aus und rücküberträgt den Barker-Code. Die CU berechnet wiederum einen Korrelationsspitze und prüft, wo die Spitze in der Lücke auftritt. Falls die Spitze an einer geeigneten Position auftritt, sendet die CU eine Nachricht zu der RU, welche dieser mitteilt, das Einstellen ihres Verzögerungsvektors zu stoppen, da eine zufriedenstellende Ausrichtung erreicht worden ist.

Zurückkehrend zu der Betrachtung des Prozesses von Block 196 wird dann, falls die CU bestimmt, dass mehr als 50% der Lücken während des Authentifikations-Intervalls Korrelationsspitzen darin aufwiesen, d.h. eine Aktivität größer als 50% detektiert wurde, der Prozess von Block 204 erreicht. Dieser Prozess wird nur erreicht, falls mehr als eine RU sich selbst auf dieselbe Lücke ausgerichtet hat. In diesem Fall, da jede RU ihre eindeutige Signatur überträgt und da jede Signatur eine eindeutige Sequenz mit nur 50% Aktivitätspegel ist, wird das Ergebnis von zwei RUs, die sich in derselben Lücke befinden, das sein, dass während mehr als 50% der Lücken des Authentifikations-Intervalls Korrelationsspitzen auftreten werden. Es ist unmöglich, die RUs fein abzustimmen, falls mehr als eine RU versucht, sich fein abzustimmen während derselben Lücke. Daher muss die CU die Anzahl von RUs reduzieren, die sich in der Lücke befinden, auf eine einzige und sie beginnt diesen Prozess durch Durchführen des Prozesses von Block 204. In diesem Prozess sendet die CU eine Nachricht an alle RUs, welche nur die RUs instruiert, die den Versuch machen sich zu synchronisieren, ihre Kollisions-Auflösungs-Protokolle auszuführen.

Als Nächstes wird der Prozess von Block 206 durchgeführt, um das Kollisions-Auflösungs-Protokoll zu beginnen, wobei jede RU, die versucht zu synchronisieren, eine Zufallsentscheidung ausführt, ob weiterhin versucht werden soll, zu synchronisieren, oder der Versuch sich zu synchronisieren, zu stoppen ist. Jede RU wird diese Entscheidung mit einer 50%igen Wahrscheinlichkeit des jeweiligen Ergebnisses treffen.

Nachdem alle RUs ihre Zufallsentscheidungen durchgeführt haben, ob fortzufahren ist, wird der Prozess von Block 208 durchgeführt. In diesem Prozess rückübertragen die RUs, die entschieden haben, das Ausrichten fortzuführen, ihre Signatur-Sequenzen ohne ihre Zeitgabe zu ändern, d.h. mit derselben Zeitgabe, die für die letzte Iteration des Trial-and-Error-Prozesses verwendet wurde. Mit anderen Worten überträgt jede RU, die entschieden hat, fortzufahren, ihre eindeutigen Signatur-Sequenzen (manchmal nachfolgend eine "gestrichelte Sequenz" genannt) über ein weiteres Authentifikations-Intervall unter Verwendung derselben Verzögerungsvektoren, die momentan eingestellt sind.

Als Nächstes wird der Prozess von Block 210 in 7C durchgeführt, wobei die CU wieder die Lücken des Authentifikations-Intervalls nach einer Aktivität überwacht.

Wenn die Zufallsentscheidungen, ob fortzufahren ist oder nicht, keine RUs ergeben, die ihre Signaturen übertragen, wird keine Aktivität in den Lücken des Authentifikations-Intervalls gefunden werden. In diesem Fall wird der Prozess im Block 212 durchgeführt, wobei die CU eine Nachricht sendet, welche alle RUs instruiert, in die vorherige Stufe zurückzugehen und ihre Entscheidungen fortzufahren, erneut auszuführen, oder den Bereichsbildungsprozess abzubrechen.

Die RUs führen dann ihre Entscheidungen wieder aus, ob der Versuch sich selbst auszurichten, fortzuführen oder zu stoppen ist, und rückübertragen ihre Signaturen während des Authentifikations-Intervalls mit derselben Verzögerungs-Zeitgabe, die für die vorherige Iteration verwendet wurde, wie durch Block 214 symbolisiert ist.

Folgend dem Prozess von Block 214 wird der Prozess von Block 216 durchgeführt, um zu bestimmen, ob mehr als 10 Versuche, eine RU in der Lücke zu erhalten, aufgetreten sind; falls dies der Fall ist, wird der Prozess von Block 218 durchgeführt, um zum Block 180 zurückzukehren und um den Bereichsbildungsprozess von Anfang an neu zu starten. Wenn weniger als 10 Versuche durchgeführt worden sind, kehrt die Verarbeitung zu dem Prozess von Block 210 zurück, wobei die CU wiederum die Lücken des Authentifikations-Intervalls auf eine Aktivität überwacht.

Falls der Prozess von Block 210 nur eine RU in der Lücke findet, d.h. 51% Aktivitätspegel während des Authentifikations-Intervalls detektiert worden ist, dann wird der Prozess von Block 222 durchgeführt. Der Prozess von Block 222 authentifiziert die RU durch Senden der Identität der RU, die in der Lücke gefunden wurde, und dann wird die RU fein abgestimmt in der zuvor beschriebenen Weise mit Bezugnahme auf Block 202.

Falls die CU in dem Prozess von Block 210 mehr als eine RU findet, die sich immer noch in der Lücke befindet, kehrt die Verarbeitung zurück zum Block 204, wo die CU eine Nachricht an alle RUs sendet, welche diese instruiert, ihre Kollisions-Auflösungs-Protokolle auszuführen. Dieser Prozess ist durch Block 220 symbolisiert.

Es gibt verschiedene alternative Ausführungsformen für den Bereichsbildungsprozess, die in 7A7C beschrieben sind. Sie fallen im Allgemeinen in zwei Klassen. Die erste Klasse von Ausführungsformen, die durch 7A7C dargestellt ist, beinhaltet, dass die RU die Ausbreitungszeit ihrer Signale zu der CU misst durch den Trial-and-Error-Prozess eines Einstellens ihrer Übertragungsrahmen-Zeitgabe-Verzögerung Td bis eine Verifizierungs-Verwaltungs- und Steuerungsnachricht von der CU empfangen wird, welche besagt: "Du hast die Lücke getroffen". Es gibt alternative Arten innerhalb dieser Klasse, wobei die CU eine Art einer leicht detektierbaren Markierung sendet, welche die RUs triggert, eine Art leicht detektierbarer Echosignale mit guten starken Korrelationsspitzen-Qualitäten zurück zu der CU zu senden und den Trial-and-Error-Prozesses auszuführen, um die Zeitgabe der Echosignale einzustellen, bis nur eine RU in der Lücke ist, und eine Verifizierungs-Nachricht von der CU zu diesem Zweck empfangen wurde. Mit anderen Worten könnte anstatt, dass die RU denselben Barker-Code zurückreflektiert, den die CU gesendet hat, die RU einen Chirp oder eine lange Sequenz niedriger Leistung, der sich über mehrere Lücken, über einen gesamten Rahmen oder über mehrere Rahmen erstreckt, senden. Die RU könnte ebenso einen sehr schmalen z.B. ein einen Chip-breiten Puls hoher Leistung zurücksenden, der einfach über dem Stromaufwärts-Rauschen detektierbar ist. Der CU-Empfänger würde während des Bereichsbildens eine Korrelation auf den bekannten Chirp, die lange Sequenz niedriger Leistung, oder den kurzen Puls hoher Leistung durchführen, um Korrelationsspitzen auszubilden. Mehrere Korrelationsspitzen, die durch die CU detektiert werden, zeigen einen Konflikt an, und die CU würde alle RUs instruieren, die beim Bereichsbilden waren, "eine Münze zu werfen" und es erneut zu versuchen. Sobald nur eine einzige RU beim Bereichsbilden war, und die Lücke getroffen hatte, würde der Identifikationsprozess fortschreiten durch Senden einer Sequenz irgendeines Signals, das zum anfänglichen Bereichsbilden gesendet wurde (oder irgendeines einfach detektierbaren Signals mit starken Korrelationsspitzen-Charakteristiken) in einer vorbestimmten eindeutigen Sequenz aufeinanderfolgender Lücken, wie in 7A7C. Eine weitere alternative Art ist es, den Trial-and-Error-Bereichsbildungsprozess durchzuführen, jedoch dabei die Notwendigkeit für die Identifikations-Sequenz durch Senden von Bereichsbildungssignalen zu eliminieren, die sowohl leicht detektierbar als auch eindeutig für jede RU sind. Jedoch verkompliziert dies die CU-Empfänger-Lücke-Überwachungsschaltung, da sie so viele verschiedene Korrelationen durchführen muss, wie es dort verschiedene RUs gibt. Dies kann parallel mit einem einzigen Korrelator für jede RU erledigt werden oder in Reihe mit einem einzelnen schnellen Korrelator, der mehrfache Korrelationen in einem Puffer von Abtastwerten der Signale durchführt, die während jeder empfangen wurden (oder über, was auch immer die Länge der Sequenz ist, die durch die RU gesendet wurde). Ein Konflikt würde als mehrfache Korrelationsspitzen detektiert werden. Eine Konfliktauflösung wäre eine Nachricht von der CU an die RUs, eine Münze zu werfen. Sobald nur eine einzelne RU beim Bereichsbilden ist, würde sie ihre Übertragungsrahmen-Zeitgabe-Verzögerung einstellen, bis sie eine Nachricht von der CU empfangen hat, dass ihre Korrelationsspitze eine relative Zeitgabe-Beziehung zu dem Beginn der CU-Rahmen hat, sodass, falls der RU-Sender mit dieser Übertragungsrahmen-Zeitgabe-Verzögerung senden würde, ihre Rahmen bei der CU übereinstimmend mit den CU-Rahmen ankämen und alle Rahmen in einer entsprechenden Anzahl von anderen RUs, die bereits in einer Rahmen-Synchronisation wären.

Eine weitere alternative Ausführungsform innerhalb der Klasse, bei der die RU die richtige Übertragungsrahmen-Zeitgabe-Verzögerung durch Trial-and-Error bestimmt, weist im Allgemeinen die folgenden Schritte auf. Die RU vorberechnet 8 von 16 temporären RU-IDs, die zufällig ausgewählt werden. Die CU bittet um Bereichsbildungs-Übertragungen. Jede RU, die ein Bereichsbilden wünscht, überträgt ihre temporäre RU-ID als 8 Barker-Code-Übertragungen in 8 Lücken der nächsten 16 RU-Rahmen (ausgewählt, dass sie mit der temporären RU-ID-Sequenz zusammenpassen) mit einer ersten Iteration eines Übertragungsrahmen-Zeitgabe-Verzögerungswertes. Die CU erzeugt Bereichsbildungsstatus-Daten, welche 16 Bytes aufweisen, wobei jedes Bit jedes Bytes darstellt, ob eine Korrelationsspitze während eines entsprechenden Chips der mittleren 8 Chips einer entsprechenden Lücke aufgetreten ist. Die CU ordnet die 16 Bytes in 8 sechzehn Bit-Felder neu an und überträgt diese Daten an alle RUs über vier nachfolgende Rahmen als eine Bereichsbildungsstatus-Nachricht, welche Daten beinhaltet, betreffend den Superrahmen, auf welchen die Bereichsbildungsstatus-Daten anzuwenden sind, und den Superrahmen, während dem die nächsten Bereichsbildungs-Übertragungen auszuführen sind. Jede RU empfängt die Statusnachricht und speichert sie im Speicher und informiert den RU-Computer 405 über das Vorhandensein der Nachricht. Der RU-Computer parst und tastet die Bereichsbildungsstatus-Nachricht ab und interpretiert die Daten darin entsprechend dem Bereichsbildungs-Protokoll, wie folgt. Falls alle Einträge Null sind, schließen alle bereichsbildenden RU daraus, dass sie die Lücke verpasst haben und stellen einen neuen Wert für ihre Übertragungsrahmen-Zeitgabe-Verzögerungen ein und übertragen ihre temporären Grund IDs in der nächsten Iteration von 16 Rahmen neu bei einer Aktivierungszeit, die in der Stromabwärts-Bereichsbildungsstatus-Nachricht spezifiziert ist. Die neuen Übertragungen kommen an der CU an und ein Byte roher Bereichsbildungsstatus-Daten wird in einem FIFO-Speicher in der CU gespeichert. Der CU-Controller initiiert einen DMA-Transfer der FIFO-Daten und verarbeitet die rohen Bereichsbildungsdaten in eine neue Bereichsbildungsstatus-Nachricht und gibt gültige RU-IDs in eine Einlern-Eingabeschlange ein. Falls die Bereichsbildungsstatus-Nachricht, die durch den RU-Controller analysiert wird, mehr als einen Puls in einigen Lücken anzeigt, ist eine Kollision aufgetreten. Falls eine RU ihre temporäre ID nicht in der Status-Nachricht findet, nimmt sie an, sie war mit in die Kollision verwickelt und führt ihren Konflikt-Auflösungsalgorithmus aus, wie an anderer Stelle hierin beschrieben ist. Falls eine RU ihre temporäre ID in den Bereichsbildungsstatus-Daten findet, ist sie authentifiziert und in der Lücke. Durch Suchen an den Positionen der Pulse ihrer temporären ID in der Lücke, bestimmt die RU, wie weit entfernt vom Zentrum sie sich befindet von der Mitte der mittleren 8 Chips und berechnet ihren eigenen Versatz und wendet ihn an auf ihre Übertragungsrahmen-Zeitgabe-Verzögerung. Die RU ist nun in der Lage für ein Entzerrungs-Einlernen. Eine Variation des obigen Protokolls ist ein Bereichsbilden auf Nachfrage nach einem Leistungsausfall, welcher darin resultieren würde, dass alle RUs gleichzeitig versuchen, sich wieder herzustellen, wobei der Konflikt-Auflösungsmechanismus überflutet wird, wobei jede RU individuell durch ihre RU-ID adressiert wird und danach gefragt wird, ein Bereichsbilden zu beginnen.

Die andere Klasse von Bereichsbildungsausführungsformen beinhaltet, dass die CPU die gesamte Durchlaufzeit zu jeder RU berechnet und jede RU instruiert, wie viel Übertragungsrahmen-Zeitgabe-Verzögerung zu verwenden ist. In dieser Klasse sendet die CU ein Markierungssignal, welches durch die RU-Empfänger leicht detektierbar ist. Jede RU, welche ein Bereichsbilden versucht, überträgt dann unmittelbar das selbe, leicht identifizierbare Signal zurück, welches durch den CU-Empfänger delektiert werden kann, selbst wenn es während der Mitte eines Rahmens von Nutzdaten ankommt. Ein derartiges Signal kann ein Chirp sein, ein schmaler Puls hoher Energie oder eine lange Folge von Chips, die ausgespreizt sind über einen oder mehrere Rahmen. Die CU delektiert die Korrelationsspitze des Signals und vergleicht sie mit der Zeit einer Übertragung des ursprünglichen Markierungssignals. Die Differenz ist die gesamte Durchlaufzeit oder TTA. Die CU sendet eine Nachricht zu der RU, sich selbst zu identifizieren, was durch die "Morse-Code"-Authentifikations-Sequenz ausgeführt werden kann oder auf eine oder die andere Weise, die oben für die erste Klasse von Bereichsbildungsausführungsformen identifiziert wurde. Sobald die CU die Identität der RU und ihre TTA kennt, kann die CU eine Nachricht zu der RU senden, welche diese instruiert, wie viel Übertragungsrahmen-Zeitgabe-Verzögerung zu verwenden ist, um eine Rahmen-Synchronisation zu erreichen, und die RU stellt diesen Betrag an Verzögerung für eine Übertragung jedes Rahmens ein.

Man beachte, dass bei diesen alternativen Ausführungsformen beider Klassen, bei welchen das Bereichsbildungssignal, das durch die RU übertragen wird, über das Rauschen von Nutzdaten detektiert werden kann, wenn es an der CU während eines Rahmens ankommt, wie beispielsweise bei den Ausführungsformen, welche einen leicht detektierbaren Puls großer Amplitude verwenden oder eine lange Sequenz, die sich über einen oder mehrere Rahmen erstreckt, und die durch einen Korrelator detektiert werden kann, dort kein Bedarf für eine Lücke in jedem Rahmen besteht. Das einzige Erfordenis bei SCDMA-Systemen mit hohem Durchsatz ist, dass die RU-Rahmen synchron mit entsprechend nummerierten Rahmen von anderen RUs ankommen. Falls diese Zeitgabe-Beziehung ohne eine Lücke erreicht werden kann, besteht dann dort keine Notwendigkeit für eine Lücke. Beispielsweise in dem Fall eines schmalen Pulses großer Amplitude, wenn die RU-Übertragungsrahmen-Zeitgabe-Verzögerung so eingestellt ist, dass dieser Puls an dem Beginn der entsprechend nummerierten Rahmen von anderen RUs ankommt, hat die RU die Rahmen-Synchronisation erreicht. In dem Fall einer langen Sequenz, die ausgespreizt ist über beispielsweise zwei Rahmen, wobei die Korrelationsspitze am Ende des zweiten CU-Rahmens gefunden wird, würde dies bedeuten, dass, falls die RU eine Rahmenübertragung zu der Zeit beginnt, zu der sie eine Übertragung der langen Sequenz begonnen hat, dieser Rahmen übereinstimmend mit den CU-Rahmengrenzen ankommen wird und dass er daher auch übereinstimmend mit den Rahmengrenzen anderer entsprechend nummerierter RU-Rahmen sein wird. Jede Methodik, tun diese Rahmen-Synchronisation zu erreichen, liegt innerhalb der Lehre der Erfindung.

Der Prozess zum Einstellen des Verzögerungsvektors, der durch die CU beim Übertragen seines Trigger-Signal-Barker-Codes verwendet wird, kann im Verlust einer Synchronisation durch alle RUs in dem System resultieren, sofern nicht etwas unternommen wird, um dies zu verhindern, bevor die CU ihre Verzögerung ändert. Das bedeutet, wenn die CU ihren Verzögerungsvektor verkürzt, dass die RUs, die näher an der CU sind, als die entfernteste RU alle die Ausrichtung verlieren werden, sofern nicht bestimmte Maßnahmen unternommen werden, um sie vor der kommenden Änderung zu warnen. Es gibt drei verschiedene Ausführungsformen von Prozessen zum Wiederausrichten aller RUs, wenn die CU ihren Verzögerungsvektor ändert. Die bevorzugte dieser Ausführungsformen ist durch das Flussdiagramm von 9 symbolisiert und beinhaltet eine Aktivität bevor die CU ihren Verzögerungsvektor ändert, um einen Verlust der Synchronisation durch alle RUs zu verhindern, wenn die CU ihre Verzögerung ändert.

Der erste dieser Prozesse ist in dem Flussdiagramm von 8 gezeigt. Dieser Prozess wird der Dead-Reckoning-Resynchronisations-Prozess genannt, aufgrund des Mangels an einem besseren Ausdruck. In diesem Prozess schließt die CU im Block 240, dass ihr Verzögerungsvektor verändert werden muss, um die weitesten RUs in Ausrichtung zu halten. Diese Schlussfolgerung kann in jeder von einer Anzahl verschiedener Arten gezogen werden, wie etwa durch Überwachen der weitesten RU für eine fortgesetzte Ausrichtung, nachdem die weiteste RU der CU mitteilt, dass sie mit dem kürzest möglichen Verzögerungsvektor in Benutzung ausgerichtet ist. Oder alternativ kann die CU eine Nachricht zu der weitesten RU aussenden, welche periodisch nachfragt, ob sie noch ausgerichtet ist. Diese Nachricht kann die Form einer Anforderung annehmen für diese RU, ihre Authentifikations-Signatur zu übertragen und dann einige der nächsten Rahmen eines Authentifikations-Intervalls zu überwachen, um zu bestimmen, ob diese Authentifikations-Signatur dieser entferntesten RU in den Authentifikations-Intervall-Lücken auftritt. Falls die CU im Block 240 schließt, dass sie ihren Verzögerungsvektor ändern muss, ändert sie dann den Verzögerungsvektor.

Wie zuvor angemerkt, da die CU denselben Verzögerungsvektor während jedes Rahmens beim Übertragen ihres Barker-Code-Trigger-Signals verwendet, haben die RUs ein vorhersagbares periodisches Signal von der CU, auf welches sie sich verlassen können, um die Zeitgabe-Änderung zu messen, die durch die CU ausgeführt wurde. Mit anderen Worten ist die Zeit einer Ankunft des Barker-Codes von der CU während jedes Rahmens für jede RU vorhersagbar, und wenn sie sich ändert, können die RUs messen, um wie viel sie sich geändert hat. Wenn der Barker-Code von der CU nicht zur vorhergesagten Zeit ankommt, wissen die RUs, dass die CU gerade ihren Verzögerungsvektor geändert hat. Die RUs messen dann die Abweichung der neuen Empfangsrahmen-Zeitgabe-Referenz, d.h. die Ankunftszeit des Barker-Code-Trigger-Signals von der CU durch Messen der Differenz zwischen der alten Empfangsrahmen-Zeitgabe-Referenz und der neuen Empfangsrahmen-Zeitgabe-Referenz. Dieser Prozess wird durch Block 242 symbolisiert.

Schließlich richtet sich jede RU in dem Prozess von Block 244 wieder aus. In diesem Prozess verändert jede RU ihren Verzögerungsvektor um einen Betrag, der gleich der Änderung in der Empfangsrahmen-Zeitgabe-Referenz ist. Dann beginnt jede RU einen Bereichsbildungsprozess. Die CU überwacht die Lücke am Ende jedes Rahmens, so dass irgendeine RU ein Bereichsbilden zu irgendeiner Zeit beginnen kann.

9 stellt den bevorzugten Prozess für ein Wieder-Synchronisieren aller RUs dar, nachdem die CU ihren Verzögerungsvektor geändert hat. Dieser Prozess wird hierin die Vorgänger-Ausführungsform genannt werden. Dieser Prozess beginnt mit Block 246, wenn die CU schließt, dass sie ihren Verzögerungsvektor ändern muss, um den entferntesten RUs zu ermöglichen, auf denselben Rahmen zu synchronisieren, wie die nächstliegenden RUs. Die CU sendet, nachdem sie zu der Schlussfolgerung gelangt ist, dass eine Änderung in ihrem Verzögerungsvektor durchgeführt werden muss, eine Nachricht zu allen RUs, welche anzeigt, wann und um wie viel sie ihren Verzögerungsvektor ändern wird.

Als Nächstes wird der Prozess von 248 durchgeführt, wobei jede RU die Sendung erhält und ihren Verzögerungsvektor um einen Betrag ändert, der gleich dem Betrag ist, um den die CU ihren Verzögerungsvektor zur spezifizierten Zeit ändern wird. Das bedeutet, dass jede RU ihren Verzögerungsvektor um den Betrag ändert, der durch die CU zu der Zeit instruiert wurde, die in der Nachricht von der CU angezeigt ist, dass die CU ihren Verzögerungsvektor ändern wird.

Schließlich wird der Prozess von Block 250 durchgeführt, wenn jede RU einen Synchronisationsprozess wieder beginnt.

Sowohl die Ausführungsformen von 8 als auch 9 werden in einem geringen oder keinem Verlust von Daten resultieren, da jede RU sehr rasch wiedersynchronisiert. Dieses Ergebnis folgt, da der Verzögerungsvektor jeder RU unmittelbar bei der Verzögerung, welche für die Synchronisation zu der Zeit notwendig ist, zu der die CU ihren Verzögerungsvektor ändert, eingestellt wird, wodurch die Verzögerung der Trial-and-Error-Inkrementierung der Verzögerungsvektoren eliminiert wird.

Die letzte Ausführungsform zum Wieder-Synchronisieren, nachdem die CU ihren Verzögerungsvektor ändert, besteht für die CU darin, einfach die Nachricht an alle RUs zu senden, welche sagt "Ihr müsst euch alle nun wieder ausrichten, da ich gerade meinen Verzögerungsvektor geändert habe". Jede RU tritt dann in den Ausrichtungsprozess wieder ein, der durch 7A, 7B und 7C symbolisiert ist. Dieser Prozess wird durch jede RU wiederholt, bis alle RUs ausgerichtet sind.

Man beachte, dass bei dem oben beschriebenen Bereichsbildungsprozess es die RUs sind, die bestimmen, wie weit sie von der CU entfernt sind, und nicht die CU, welche bestimmt, wie weit jede RU von ihr entfernt ist. Der Vorteil, dass die RUs das Bereichsbilden ausführen, liegt darin, dass die CU den Verkehr nicht auf den verschiedenen Kanälen anhalten muss, um Bereichsbildungsfunktionen auszuführen, jedes Mal, wenn eine neue RU in das System eintritt oder eine bestehende RU die Synchronisation verliert. In einem System, in dem der Verkehr häufig Anwendungen mit hoher Nachfrage beinhalten kann, wie beispielsweise Realzeit-Video, ist das Anhalten des Verkehrsflusses zum Bereichsbilden keine brauchbare Möglichkeit, da es den Fluss von Video-Information unterbrechen würde und die Video-Konferenz, den Film etc. des Teilnehmers stören würde. Bei dem hierin in seinen verschiedenen Ausführungsformen beschriebenen Bereichsbildungssystem besteht keine Notwendigkeit, den Verkehr zu stoppen, da der Bereichsbildungsprozess außerhalb des Bandes, d.h. in den Lücken durchgeführt wird. Des Weiteren, da die übertragene Leistung der Barker-Codes niedrig ist und Korrelationsprozesse verwendet werden, kann der Prozess blind starten mit irgendeinem Trial-and-Error-Zeitgabewert, ohne mit dem Kanalverkehr zu interferieren. Das bedeutet, selbst, falls der Barker-Code, der in Richtung der CU durch die RU rückübertragen wird, eine ungünstige Zeitgabe aufweist und irgendwo außerhalb der Lücke landet, ist sein Leistungspegel niedrig genug, um keine wesentliche Interferenz zu bewirken, und, selbst falls eine Interferenz kleiner Größe verursacht wird, besitzen die Chips der Symbole, die während des Rahmens übertragen werden, genug Redundanz mit der Trellis-kodierten Modulation, um sich aus der Interferenz ohne einen Fehler wieder aufzubauen. Da die Korrelation mit einem bekannten Barker-Code-Muster (dasselbe Barker-Code-Muster, das die CU zu den RUs während der vorhergehenden Lücke gesendet hat) durch die CU verwendet wird, um zu bestimmen, ob sie einen Barker-Code von einer RU in der Lücke detektiert hat oder nicht, können die RUs ihre Barker-Codes mit sehr niedrigen Leistungspegeln übertragen, um ein Interferieren mit dem Verkehr und das Verursachen von Fehlern in den Daten der verschiedenen Nutzkanäle während des Trial-and-Error-Prozesses eines Einstellens ihrer Übertragungsrahmen-Zeitgabe-Verzögerungswerte Td zu vermeiden, um die Lücke zu treffen.

Der Vorteil, dass die RUs das Bereichsbilden durchführen und Lücken zwischen Rahmen von Daten verwenden, um den Bereichsbildungsprozess auszuführen ist, dass der Nutzdaten-Verkehr nicht angehalten werden muss, während der Bereichsbildungsprozess stattfindet. Selbstverständlich muss bei Ausführungsformen, bei welchen die Bereichsbildungssignale sehr wohl detektiert werden können, selbst wenn sie in der Mitte des Rahmens ankommen und nicht mit dem Nutzdaten-Empfang interferieren, der Verkehr während des Bereichsbildens nicht angehalten werden. In Ausführungsformen, die Lücken verwenden, sendet die CU Barker-Codes während der Lücken zwischen Rahmen und die RUs geben diese Barker-Codes in einem Trial-and-Error-Prozess eines Einstellens ihrer Übertragungsrahmen-Zeitgabe zurück bis sie die Lücke treffen. Eine Fehlausrichtung verursacht keine Fehler, da niedrige Leistungspegel verwendet werden für die Barker-Code-Übertragungen durch die RUs und da eine Korrelation durch die CU durchgeführt wird, um den Barker-Code zu finden. Somit, selbst wenn ein Barker-Code, der durch eine RU übertragen wird, in dem Datenabschnitt eines Rahmens landet, verursacht dies keine nennenswerten Fehler. Daher ist ein weiterer Vorteil des hierin beschriebenen Bereichsbildungsprozesses, dass er blind gestartet werden kann durch jede RU mit irgendeinem Wert für die Übertragungsrahmen-Zeitgabe-Verzögerung. Es besteht keine Notwendigkeit, eine Abschätzung der korrekten Übertragungsrahmen-Zeitgabe-Verzögerung in die RUs vor-einzustellen, bevor sie beginnen und dann die Verzögerung fein-abzustimmen, da selbst eine große Fehlausrichtung keine nennenswerten Fehler bei den Nutzdaten bewirken wird. Da eine Trellis-kodierte Modulation und ein redundantes Bit in jedem Tri-Bit von Nutzdaten verwendet werden, können jegliche Fehler, die durch eine Fehlausrichtung verursacht werden, detektiert werden und durch eine Vorwärts-Fehlerkorrektur korrigiert werden ohne die Notwendigkeit für eine Rückübertragung. Jedoch können bei anderen Ausführungsformen herkömmliche Bereichsbildungstechniken verwendet werden, bei welchen die CU den Bereich zu den RUs misst, um einen synchrone CDMA einzurichten.

Bei den oben beschriebenen Ausführungsformen mit Hochleistungspulsen wirken die RUs wie Transponder durch Senden eines schmalen Pulses hoher Amplitude auf den Empfang eines Triggersignals von der CU hin. Das Triggersignal von der CU könnte ein spezieller Puls, ein Barker-Code etc. sein. Falls die RU fehlausgerichtet war und der Puls großer Amplitude in der Mitte der Stromaufwärts-Nutzdaten landet, würde die CU den speziellen Chip ignorieren, auf welchem der Puls hoher Amplitude "getreten" ist. Die Nutzdaten könnten immer noch wiedergewonnen werden, da die Bandbreite der Nutzdaten so breit gespreizt wurde unter Verwendung eines Direkt-Sequenz-CDMA-Spreizens. Eine Trellis-Code-Modulation wird nicht benötigt, damit dieses Schema arbeitet. Nach dem Detektieren des Pulses der RU und Vergleichen seiner Zeitgabe mit der Position der Rahmen-Zeitgabe-Referenz könnte die CU die RU nach ihrer Identität fragen und die RU würde sie in irgendeiner herkömmlichen Weise, wie etwa in einer Pulspositions-Modulation, Amplituden-Verschiebungs-Verschlüsselung etc., senden. Die CU würde dann eine Nachricht zu der RU senden, welche diese instruiert, ihre Übertragungsrahmen-Zeitgabe-Verzögerung in einer Richtung zu ändern, um den Puls näher zu der festen Zeitgabe-Referenz zu setzen, und dieser Prozess würde andauern, bis die Ru die Zeitgabe-Referenz trifft. Man beachte, dass bei diesem Verfahren eine Lücke oder ein Schutzband nicht in jedem Rahmen benötigt wird.

Man beachte, dass in den oben beschriebenen Ausführungsformen der Bereichsbildung angenommen wird, dass die "Spanne" des Systems, d.h. die Differenz zwischen der TTA der entferntesten RU und der TTA der nächstgelegenen RU kleiner ist als eine Rahmenzeit. Wenn dies zutrifft, können sich alle RUs auf dieselbe Lücke ausrichten. Wenn alle RUs auf dieselbe Lücke ausgerichtet sind und die CU die gesamte Durchlaufzeit kennt, kann die dynamische Code-Zuteilung verwendet werden, wobei die CU die RUs durch Stromabwärts-Verwaltungs- und Steuerungsnachrichten informiert, welche Codes jede von ihnen verwenden soll. Die CU wird dann wissen, welche Codes zu verwenden sind und wann sie zu verwenden sind beim Dekodieren von Signalen von jeder RU.

In sehr großen Systemen kann die Spanne die Rahmenzeit übersteigen, und die Spanne dazu zu zwingen, weniger als das Rahmen-Intervall zu sein, würde die Systemgröße in unvernünftiger Weise beschränken. Wenn die Spanne des Systems größer ist als die Rahmenzeit, tritt ein Buchhaltungsproblem auf, da nicht alle RUs sich auf dieselbe Lücke ausrichten können. Das bedeutet, dass die CU nicht wissen wird, welche Codes jede RU verwendet hat, um das Spektrum ihrer Nutzdaten zu spreizen, bis sie die gesamte Durchlaufzeit zu jeder RU kennt. Mit anderen Worten wird jeder Rahmen, der durch die CU stromabwärts zu den RUs übertragen wird, nummeriert mittels eines Kilo-Rahmen-Markierungssignals, welches in dem Pilot-Kanal-Trägerton kodiert ist. Die RU-Empfänger detektieren diese Kilo-Rahmen-Markierung und zählen individuelle empfangene Rahmen und wissen somit, welche Rahmen-Nummer jeder empfangene Rahmen von der CU ist. Falls die Spanne des Systems geringer ist als ein Rahmen-Intervall und jede RU auf dieselbe Lücke ausgerichtet ist, wird jede RU wissen, dass, wenn beispielsweise der CU-Rahmen 99 empfangen wird, der nächste Satz von Rahmen, der durch die RUs übertragen wird, an der CU zur selben Zeit ankommen wird, d.h. der Beginn des nächsten Rahmens an der CU und alle diese RU-Rahmen werden die Rahmen-Nummer 100 haben, die ihnen durch die CU zugeteilt ist, und werden zusammen entspreizt und dekodiert. In dieser Situation machen Stromabwärts-Instruktionen zu RU #1927, die Codes #55 und 57 während des Rahmens 100 zu benutzen, und zu RU #3, den Code #3 während des Rahmens 100 zu verwenden, Sinn und die CU kann die Daten von jeder dieser RUs richtig dekodieren, da sie weiß welche Codes jede von ihnen während des Rahmens 100 verwendet hat. Man nehme jedoch an, dass die RU #1927 mit der nächsten sequentiellen Lücke ausgerichtet ist, die der Lücke folgt, mit der die RU #3 ausgerichtet ist. Dies bedeutet, dass, wenn der Rahmen #99 von der CU empfangen wird, der Rahmen, der durch RU #3 in Antwort auf Rahmen #99 übertragen ist (die Stromabwärts-Daten von Rahmen 99 werden abgeladen, neue Stromaufwärts-Daten werden geladen und der Rahmen wird "rückübertragen" zurück in Richtung der CU) wird mit 100 nummeriert, wenn er an der CU ankommt. Jedoch wird der Rahmen, der durch RU #1927 in Antwort auf den Empfang des Rahmens #99 übertragen wird, am Beginn des CU-Rahmens #101 ankommen und wird durch die CU als RU-Rahmen #101 behandelt werden. Falls die CU nicht weiß, dass RU #1927 nicht auf dieselbe Lücke ausgerichtet ist, wie RU #3, wird sie annehmen, dass RU #1927 und RU #3 beide die Codes verwenden, die ihnen für Rahmen 100 zugeteilt sind, wenn RU #1927 tatsächlich die Codes verwendet, die ihr für Rahmen #101 zugeteilt sind.

Die Lösung für dieses Buchhaltungsproblem besteht für die CU darin, die TTA oder die gesamte Durchlauf-Ausbreitungszeit zu kennen für jede RU und welche durch die CU zu jeder RU übertragen wurde. Jede RU verwendet dann ihre TTA-Zeit plus der Kilo-Rahmen-Markierung, die in dem Pilot-Kanal kodiert ist (oder stromabwärts in irgendeiner anderen Weise übertragen ist), um zu verfolgen, welche Rahmen-Nummer jeder empfangene CU-Rahmen hat, und welche Rahmen-Nummer durch die CU dem nächsten RU-Rahmen zugeteilt sein wird, der in Antwort auf den Empfang des CU-Rahmens übertragen wird. Dies ermöglicht der RU die richtig zugeteilten orthogonalen pseudozufälligen Spreiz-Codes zu verwenden, die durch die CU für jeden Rahmen zugeteilt sind, da die RU wissen wird, welche Rahmen-Nummer durch die CU jedem der Rahmen der RUs zugeteilt sein wird und weiß, dass die Code-Zuteilungsnachrichten von der CU auf den Rahmen-Nummern basieren, die den RU-Rahmen durch die CU zugeteilt sind.

Der eigentliche Algorithmus, der in der CU ausgeführt wird, um TTA für jede RU zu berechnen, um eine Bereichsbildung ohne Grenzen zu unterstützen, ist ziemlich einfach. Dieser Algorithmus findet statt, nachdem die RU deren TTA berechnet wird, erfolgreich den Bereichsbildungsprozess beendet hat und mit einigen Lücken ausgerichtet ist. Die CU sendet einen Rahmen an die RU. Der Rahmen selbst weist keine Rahmen-Etikett-Nummer auf, sondern die Kilo-Rahmen-Markierungen in den Pilot-Kanal-Daten ermöglichen es den RUs empfangene CU-Rahmen zu zählen unter Verwendung eines lokalen Zählers. Unterdessen, wenn die CU Rahmen sendet, steigt ihr Rahmen-Zählstand kontinuierlich an. In Antwort auf den empfangenen Rahmen sendet die RU einen Rahmen zurück zu der CU zusammen mit einem TTA_Service_Request, welche die RU-Rahmen-Etikett-Nummer beinhaltet für den übertragenen Rahmen, die gleich ist dem lokalen Zählerwert. Mit anderen Worten passt die RU-Rahmen-Etikett-Nummer, die mit der TTA_Service_Request zurückgesendet wurde mit der CU-Rahmen-Nummer des Rahmens zusammen, der gerade empfangen wurde, wie durch den lokalen Zählerwert bestimmt ist. Wenn der Rahmen der RU die CU erreicht, subtrahiert die CU die RU-Rahmen-Etikett-Nummer von dem momentanen Rahmen-Etikett-Zählwert der CU. Diese Differenz mal dem Rahmen-Intervall ist gleich der TTA für diese RU. Die Multiplikation mal dem Rahmen-Intervall ist nicht tatsächlich notwendig, da die RU nur wissen muss, wie viele vollständige Rahmen nach dem momentanen CU-Rahmen-Zählwert jeder der übertragenen Rahmen der RU in Reihe sein wird, um die richtigen Codes für jeden Rahmen zu verwenden.

Bezug nehmend auf 10 wird dort eine typische Kabel-Fernseh-System-Bereichsbildung gezeigt, bei der die Lehre der Erfindung in einer Multi-RU-Multikanal-Umgebung Anwendung findet. Die Zentraleinheit oder CU 252 ist über ein Koaxialkabel, eine Satelliten-Verbindung, eine Mikrowellen-Verbindung, eine Faseroptik-Verbindung oder irgendeine Kombination dieser Medien 251 verbunden mit einer Vielzahl von Teilnehmern, von welchen Teilnehmer 254 und 256 typisch sind. Die CU sendet und empfängt digitale Information bidirektional mit der RU jedes Teilnehmers. Jeder Teilnehmer weist eine Ferneinheit oder RU auf, welche als die Schnittstelle zwischen dem Fernsehgerät, Computer, Telefon oder anderen Geräten des Teilnehmers und dem Übertragungsmedium 251 wirkt. Die CU weist ein Modem auf, welches darin eine Schaltung in einem Übertragungskanal beinhaltet, welche Rahmen von Datensymbolen aus einem TDMA-Digitaldaten-Eingangsstrom zusammenbaut, und diese Rahmen von Symbolen zu den RUs kodiert und überträgt unter Verwendung orthogonaler Codes. Das Modem beinhaltet ebenso einen Empfangskanal, welcher die kodierten Rahmen von Symbolen empfängt, die Symbole dekodiert unter Verwendung der Transponierten der Code-Matrix der orthogonalen Codes, die durch die RUs verwendet wurden, um die Rahmen zu übertragen, der den TDMA-Digitaldaten-Strom aus den dekodierten Ergebnissen wieder zusammenbaut und den TDMA-Strom zur Verwendung durch ein anderes Gerät ausgibt unter Vorsehen verschiedener Dienste zu den Teilnehmern.

Jeder Rahmen weist Symbole auf, die aus digitalen Nutzdaten gebildet sind in 128 Zeitschlitzen in dem TDMA-Strom. Jeder Zeitschlitz in dem TDMA-Strom kann 8 Bit in einigen Ausführungsformen tragen, jedoch bei der bevorzugten Ausführungsform trägt jeder Zeitschlitz 9 Bits aus Gründen, die unten beschrieben werden. Jeder Zeitschlitz ist ein Kanal, der Digitaldaten tragen kann, welche einige Dienste kodieren, wie etwa Video auf Bestellung, Video-Telekonferenz, Internet-Zugang etc. Die Zeitschlitze/Kanäle sind auf einer bedarfsmäßigen Basis den verschiedenen RUs der Teilnehmer zugeteilt, um Daten zu übertragen/empfangen, welche den Dienst in bidirektionaler Kommunikation mit der CU implementieren. Die Taktgebungs-Referenz der CU ist der TDMA-Bus 266, der von einer MAC-Layer-Schaltung kommt. Der TDMA-Bus leitet seine Zeitgabe-Signale aus der T1/E1-Spanne ab, mit der das System verbunden ist. Obwohl periphere Vorrichtungen dargestellt sind, welche mit dem TDM-Bus 266 verbunden sind, befinden sich diese in der Realität nicht bei der CU, sondern befinden sich an anderer Stelle und sind mit der CU durch eine T1/E1-Spanne (nachfolgend T1-Spanne) verbunden. Im Falle von Taktfehlern, die durch eine Fehlfunktion der T1-Spanne verursacht sind, müssen die CU und RUs intern synchronisiert bleiben und in der Lage sein, mit dem TDMA-Bus wieder zu synchronisieren, wenn das Signal wieder hergestellt wird. Der TDMA-Bus-Takt und Rahmungssignale bestehen aus dem Übertragungstakt-, dem Übertragungsrahmen- und den Übertragungs-Superrahmen-Signalen. Die CU verwendet eine PLL, um das TDMA-Bus-Übertragungstakt-Signal bei 8.192 MHz zu verfolgen und zu regenerieren. Diese erste PLL wird fortfahren, ein Übertragungstakt-Signal zu produzieren, selbst wenn das TDMA-Bus-Übertragungstakt-Signal ausfällt. Das CU-Modem beinhaltet auch eine weitere zweite PLL, welche das Signal von der ersten PLL verfolgt und einen Hochgeschwindigkeitstakt von 57 MHz erzeugt, der damit synchronisiert ist. Das Übertragungsrahmen-Signal von dem TDMA-Bus ist die systemweite Rahmungsreferenz und wird verwendet durch die Modems als die Basis, um die SCDMA-Datenrahmen zu timen. Um nicht von dem externen TDMA-Bus-Übertragungsrahmen-Signal abhängig zu sein, synchronisiert die CU-Modem-Zeitbasis eine lokale Quelle auf dieses Signal und fährt fort, Rahmungsreferenzsignale zu erzeugen im Falle eines TDMA-Bus- oder T1-Spanne-Versagens, so dass es dort keinen Verlust der Synchronisation gibt. Die Zeitbasis beinhaltet eine Schaltung zum Wieder-Synchronisieren der neuen Rahmungsreferenz auf einen return-to-service hin. Ein systemweites Rahmenschalten tritt auf nach einer Wiederherstellung des TDM-Bus-Dienstes mit einer neuen Rahmenreferenz, die von der ursprünglichen Rahmenreferenz versetzt ist. Die CU überwacht den TDMA-Bus für eine Wiederherstellung der TDMA-Rahmungssignale und wartet 5 ms, um sicherzustellen, dass sie stabil sind. Die CU bestimmt dann den Rahmenversatz und sendet eine Rahmen-Verschiebungs-Nachricht stromabwärts, welche die erforderliche Rahmenverschiebung bei derselben Rahmen-Nummer in den Chip-Zählern sowohl der Sender als auch Empfänger, sowohl der CU als auch aller RUs anordnet. Um einen Verlust an Synchronisation zu vermeiden, müssen die PLLs in dem System vor dem Verschieben eingefroren sein, die Verschiebung durchgeführt werden und die PLLs aufgetaut werden. Die einzelne Rahmen-Verschiebungs-Nachricht veranlasst die RUs, diesen Prozess eines Einfrierens der PLLs automatisch auszuführen, die Verschiebung auszuführen und die PLLs aufzutauen. Aktive Zeitschlitze sind während der Rahmen-Verschiebungen erlaubt, jedoch keine Aktivierungen neuer Verbindungen oder einer anderen Stromaufwärts-Aktivität sollte stattfinden, wie beispielsweise Zugriffsanforderungen und Wieder-Entzerrung des Abwärtsstroms. Alle RUs, welche die Rahmen-Verschiebung verpassen, müssen die Rahmen-Synchronisation wiedererlangen.

Jeder der CU-Modem-Sender und Empfänger weist seine eigene unabhängige Zeitbasis bei der bevorzugten Ausführungsform auf.

Die Wahl von 128 Nutz-Zeitschlitzen pro Rahmen ist nicht zufällig. Beim Telefonieren weist ein Datenrahmen ebenso 128 Zeitschlitze auf, von welchen jeder 8 Bits von Daten trägt. Jede RU ist in Synchronisation mit der CU und weiß, wann der Beginn und das Ende jedes Rahmens von Daten auftritt. Jede RU weiß auch, welcher Zeitschlitz(e) ihr zugeteilt ist/sind aufgrund von Seiten-Konversationen, die jede RU mit der Kanal-Zuteilungsschaltung in der CU auf den Befehls- und Steuerungskanälen hat (die restlichen 16 Kanäle der insgesamt 144 Kanäle).

Bezug nehmend auf 11 wird dort ein Blockdiagramm des Systems von 10 gezeigt, welches weitere Einzelheiten über eine Multikanal-Ausführungsform für die interne Struktur jeder RU-Modem-Übertragungskanal-Schaltung zum Übertragen von Daten zur CU zeigt. Der gestrichelte Kasten 254 stellt RU #1 dar, während der gestrichelte Kasten 256 RU #2 darstellt. Jede RU empfangt einen Zeit-gemultiplexten (TDMA) Strom von Digitaldaten von verschiedenen Vorrichtungen, welche die Kommunikationsfähigkeit des Koaxialkabel-/Übertragungs-Mediums 251 teilen. Beispielsweise ist RU #1 mit einem interaktiven Fernsehgerät 258 gekoppelt und ist auch mit einem Personal Computer 260 und einem Videophon 262 verbunden. Ein interaktives Fernsehgerät ist ein modifiziertes herkömmliches TV, wobei ein Benutzer Digitalsignale zu der CU in Antwort auf Dinge senden kann, die er oder sie in dem Fernsehgerät sieht, oder als Anforderungen für spezielle Video-Auswahlen. Jede dieser Vorrichtungen weist einen digitalen Dateneingabe/Ausgabe-Port auf, der mit einem Zeit-Multiplexer-Schalter 264 gekoppelt ist. Der Schalter 264 kombiniert Daten, die von Vorrichtungen hereinkommen durch Platzieren von Bytes von Daten von jeder Vorrichtung in Zeitschlitze in einem Zeit-gemultiplexten (TDMA-)Strom von Digitaldaten auf Leitung 266. Der TDMA-Strom für RU #2 ist auf Leitung 267.

Jeder Zeitschlitz/Kanal kann 9 Bits beinhalten, wovon 8 Bits für ein Kodieren der Daten für diesen Kanal vorgesehen sind und 1 Bit verwendet wird für Verwaltungs- und Steuerungszwecke. Das 9te Bit kann als ein schmaler Seitenkanal für Seiten-Konversationen über und oberhalb des Haupt-Datenverkehrs für den Kanal verwendet werden. Bei alternativen Ausführungsformen kann auch eine andere Zahl von Bits pro Zeitschlitz verwendet werden.

Die 9-Bit-Gruppen von Bits in jedem Zeitschlitz sind in drei 3-Bit-Gruppen unterteilt, die Triple-Bits oder Tri-Bits hierin genannt werden. Diese drei Triple-Bits aus der Zeit-Domäne sind ein sehr kurzer Burst von Daten, die zeitlich in der Code-Domäne ausgespreizt werden. Die Triple-Bits sind über die Zeit ausgespreizt durch Wählen von drei verschiedenen Triple-Bit-Spalten aus einem Feld in einem Rahmen-Speicher, der unten beschrieben ist, für jedes Inkrementieren des Lese-Zeigers und Multiplexen dieser linearen Felder von Triple-Bits durch die Sende-Schaltung. Die drei Spalten von Triple-Bits eines jeden Rahmens überspannen jeweils alle 144 Zeitschlitze der TDMA-Eingabe-Ströme.

Alle für den ersten Rahmen erzeugten Symbole für alle aktiven Kanäle sind unter Verwendung von orthogonalen Codes kodiert und die Ergebnisse sind für eine simultane Übertragung über das gespreizte Übertragungsmedium unter Verwendung eines synchronen TDMA-Modulationsschemas kombiniert.

Jede RU ist in der Lage, Daten zu empfangen in bis zu 144 der Zeitschlitze in dem Eingangs-TDMA-Strom und ist in der Lage, alle diese Daten zu der CU zu bringen. Jedoch sind insgesamt nur 144 Kanäle zum Teilen für alle RUs verfügbar, kaum jedoch benutzt eine RU alle 144 Kanäle. Jede RU fordert die Anzahl von Zeitschlitzen oder Kanälen, die sie benötigt an, um Dienste zu liefern, die durch den Teilnehmer über eine Zugriffsanfrage angefordert sind. Diese Anfrage wird über eine Nachricht auf einen zufällig gewählten von 8 der 16 Befehls- und Steuerungskanäle gesendet, die Zugriffsanfragen und Stromabwärts-Nachrichten gewidmet sind. Die 8 Zugriffsanfrage-Kanäle werden durch die CU konstant überwacht. Die CU sendet dann eine Antwort-Nachricht, welche der anfordernden RU mitteilt, welche Kanäle dieser zugeteilt worden sind. Die CU wird denselben Kanal nicht mehreren RUs zuteilen. Die anderen 8 Verwaltungs- und Steuerungskanäle sind der Stromaufwärts-Verwaltungs- und Verkehrssteuerung gewidmet.

Jede RU verwendet dann die geeigneten orthogonalen Codes in den Kodierern, die gekoppelt sind, um die Daten von den Zeitschlitzen zu empfangen, zu dem sie zugeteilt wurde. Beispielsweise, wenn RU #1 Kanälen 1 und 2 zugeteilt ist, und RU #2 Kanal 3 zugeteilt ist, wird RU #1 orthogonale Codes #1 und #2 in dem Kodierer verwenden, der gekoppelt ist, um die Daten in Zeitschlitzen 1 und 2 zu empfangen, und RU #2 wird den orthogonalen Code #3 in den Kodierer einstellen, der gekoppelt ist, um die Daten vom Zeitschlitz 3 zu empfangen. D.h., ein orthogonaler Code ist jedem Nutzkanal zugeteilt und jeder Befehls- und Steuerungskanal in der in 11 gezeigten Ausführungsform. Der Übertragungskanal der RU der in 11 gezeigten Ausführungsform weist einen Zerteiler auf wie den Zerteiler 268. Der Zweck dieses Zerteilen beim Übertragen von Daten der CU 252 ist es, die Daten in jedem Zeitschlitz des Zeit-gemultiplexten hereinkommenden Datenstroms herauszuteilen und die Daten von jedem Zeitschlitz zu einem einer Mehrzahl von orthogonalen Code-Kodierern zuzuführen zum Kodieren unter Verwendung eines orthogonalen Codes aus dem auf dem System verwendeten Code-Satz. Beispielsweise werden bei der oben angegebenen Hypothese die Daten vom Zeitschlitz #1 von dem Zerteiler auf Leitung 270 ausgegeben, der mit dem Dateneingangs-Port des orthogonalen Code #1-Kodierers 1 gekoppelt ist, Block 272, und die Daten vom Zeitschlitz 2 werden über Leitung 271 zum Kodierer #2, Block 273, über die Leitung 271 gesendet. Der Kodierer 272 kodiert die Kanal 1-Daten vom Zeitschlitz 1 unter Verwendung von Code #1 des orthogonalen Code-Satzes, der in dem System verwendet wird (eigentlich eine Zeile der Code-Matrix, die den gesamten Code-Satz definiert) und gibt das resultierende modulierte Signal auf Leitung 274 aus, das mit einem Summier-Eingang eines Summierer-Knotens 276 gekoppelt ist. Der Kodierer #2, Block 273, kodiert die Daten von Kanal 2 im Zeitschlitz 2 unter Verwendung von Code #2 von dem orthogonalen Code-Satz (eine andere Zeile der Code-Matrix – Zeilen oder Spalten der Code-Matrix können austauschbar bei der Matrix-Multiplikation des Übertragungsprozesses verwendet werden, solange die Matrix-Multiplikation des empfangenen Signal-Vektors mit der transponierten Matrix das entgegengesetzte ist, d.h. falls Zeilen auf der Übertragungsseite verwendet werden, Spalten auf der Empangsseite verwendet werden).

Eine Kontroller-Schaltung (nicht gezeigt) in jeder RU, die gekoppelt ist, um mit der CU über einen Verwaltungs- und Steuerungskanal zu kommunizieren, und die auch mit jedem der orthogonalen Code-Kodierer gekoppelt ist, empfängt die Kanal-Zuteilungen für die RU und wählt den eindeutigen orthogonalen Code für den zugeteilten Kanal aus. Die Kontroller-Schaltung steuert dann jeden Kodierer, so dass er den geeigneten orthogonalen Code verwendet, der dem Kanal zugeteilt ist, wenn er Daten für diesen Kanal kodiert. Jeder Kodierer in den RUs, der aktiv ist, muss einen anderen, eindeutigen, orthogonalen Code verwenden. Kein Kodierer wird denselben Code verwenden wie ein weiterer "aktiver" Kodierer. Ein "aktiver" Kodierer ist ein Kodierer, der zugeteilt worden ist, einen speziellen Kanal für seine RU zu kodieren.

Nachdem die Daten von dem geeigneten Zeitschlitz aus dem TDMA-Strom durch den Zerteiler 268 heraus geparst sind und zu dem richtigen Kodierer geführt sind und der richtige orthogonale Code ausgewählt worden ist für eine Verwendung in dem Kodierer, werden die Daten in den zugeteilten Zeitschlitzen/Kanälen für jede RU kodiert. Dies wird ausgeführt unter Verwendung der geeigneten orthogonalen Codes, die diesen Kanälen zugeteilt sind. Die Ergebnisse werden dann zu der CU gleichzeitig von allen RUs über das gemeinsame Übertragungs-Medium 251 übertragen. Noch genauer gesagt, wird die Leistung, welche die Daten von den verschiedenen Zeitschlitzen/Kanälen darstellt, über die gesamte 125-Mikrosekunden-Dauer des Rahmens durch die Aktion der Kodierer ausgespreizt. Da die Daten von den verschiedenen Zeitschlitzen unter Verwendung von orthogonalen Codes kodiert sind, tritt keine Interferenz zwischen den Daten während der Übertragung der kodierten Symbole in der Code-Domäne auf.

Es gibt einen Kodierer für jeden Zeitschlitz in jeder RU in der in 11 gezeigten Ausführungsform. Jeder Kodierer spreizt die Leistung von seinem zugeteilten Kanal über alle Chips in dem Rahmen aus. Bei jedem Kodierer in jeder RU ist das kodierte Ausgangssignal mit einem summierenden Eingang eines Summierer ähnlich dem Summierer 276 gekoppelt. Die Funktion des Summierers in jeder RU ist es, alle kodierten Signale zu summieren und sie auf einem Teilnehmer-Verzweigungs-Koaxialkabel oder einem anderen Übertragungs-Medium, wie etwa einem Verzweigungskabel 278, auszugeben. Das Übertragungs-Medium, wie die Verzweigung 278, ist durch einen direktionalen Koppler, wie den Koppler 280, mit dem Haupt-Koaxialkabel/Übertragungs-Medium 251 gekoppelt. Die kombinierten Ausgangssignale von jeder RU werden addiert zu dem zusammengesetzten Signal auf dem Haupt-Koaxialkabel durch einen oder mehrere direktionale Koppler, die durch den Koppler 280 symbolisiert sind.

An der CU werden die Code-Domäne-Signale auf dem geteilten Übertragungs-Medium 251 durch die Dekoder 282, 284 etc. dekodiert, und die resultierenden Daten werden zurück in die geeigneten Zeitschlitze in den Zeit-Domäne-TDMA-Datenströmen für eine Ausgabe zu den verschiedenen Geräten, welche die angeforderten Dienste liefern, zurückgegeben.

An der CU 252 wird das zusammengesetzte Signal, das von dem Übertragungs-Medium 251 empfangen wird, zu jedem einer Mehrzahl von Dekodern verteilt. Ein Dekoder für Kanal 1 ist durch Block 282 dargestellt. Dieser Dekoder verwendet die Transponierte der Code-Matrix, die verwendet wurde, um die Kanal 1-Daten zu kodieren, um irgendeine Kanal 1-Information zu extrahieren, die in das zusammengesetzte Signal durch RU #1 kodiert ist (oder welche RU auch immer dem Kanal 1 zugeteilt war). Dieses Dekodieren wird in der Weise ausgeführt, die zuvor in der Diskussion in den 13 beschrieben wurde.

Ähnlich verwendet der Dekoder für Kanal 2, der durch Block 284 dargestellt ist, die transponierte Code-Matrix, um jegliche Kanal 2-Information zu dekodieren, die in das zusammengesetzte Signal durch RU #2 kodiert ist. In der Ausführungsform von 11 gibt es einen Kodierer in der CU für jeden Kanal in Verwendung, und jeder Dekoder verwendet die geeignete Spalte der transponierten Matrix [cT] entsprechend dem Code, der durch die entsprechende RU verwendet wird, um den Kanal, der kodiert ist, zu kodieren. Die resultierenden dekodierten Digitalsignale werden auf Leitungen 286 und 288 zu einem Schalter ausgegeben, der diese Digitalsignale wieder zusammensetzt, um eine Zusammensetzung der Zeit-gemultiplexten Datenströme zu reproduzieren, welche in die RUs auf Leitungen 266, 267 etc. eingetreten sind.

In der in 11 gezeigten Ausführungsform sind nur die Übertragungskanäle gezeigt und individuelle Kodierer für jeden Kanal sind gezeigt. In einer praktischeren Ausführungsform wird nur ein einzelner Kodierer in jedem Übertragungskanal in jedem Modem verwendet. Dieser Kodierer ist Zeit-geteilt, um die Daten von den verschiedenen Zeitschlitzen zu kodieren. Gewöhnlich ist der einzelne Kodierer ein geeignet programmierter Mikroprozessor. Jedes RU-Modem weist auch einen Empfangskanal auf (nicht gezeigt), der ähnlich zu der Empfangskanal-Schaltung in der CU strukturiert ist, die in 11 gezeigt ist. Bei einigen Ausführungsformen wird sowohl das Dekodieren in dem Empfangskanal als auch das Kodieren in den Übertragungskanälen ausgeführt unter Verwendung eines einzelnen Mikroprozessors, der geeignet programmiert wurde. Die Wahl, entweder einen gemeinsamen Mikroprozessor zu verwenden oder mehrfache individuelle Kanäle in Hardware, hängt weitgehend von der Datenrate und von Kostenbetrachtungen ab. Falls die Datenraten hoch sind, können mehrfache individuelle Kanäle erforderlich sein. Falls die Datenraten niedrig genug sind, um einen gemeinsamen Mikroprozessor zu verwenden und Kosten minimiert werden sollen, wird der gemeinsame Mikroprozessor bevorzugt.

Typischerweise wird eine RU weniger als die 128 Nutzkanäle verwenden, falls jedoch eine RU oder eine Handvoll dieser alle 128 Kanäle verwendet, kann keiner anderen RU irgendeine Bandbreite zugesprochen werden, da nur eine RU auf irgendeinem speziellen Kanal zu irgendeiner bestimmten Zeit sein kann. Offensichtlich muss der orthogonale Code-Satz, der ausgewählt wird, zumindest 128 Codes aufweisen. Jedoch gibt es bei der bevorzugten Ausführungsform 128 Datenkanäle plus 16 Verwaltungs- und Steuerungskanäle für eine Gesamtheit von 144 Kanälen. Von den 16 Verwaltungs- und Steuerungskanälen sind 4 Zugangskanäle, welche den Verkehr von den RUs zu der CU tragen, welche Bandbreite anfordern und zugesprochene Kanäle freigeben, nachdem die RU die Verwendung der Kanäle, die durch die CU zugesprochen waren, beendet hat. Da es 144 getrennte Kanäle gibt, muss ein orthogonaler Code-Satz, welcher zumindest 144 eindeutige orthogonale Codes aufweist, verwendet werden. Jeder Kanal weist maximale 72 Kilobits pro Sekunde Daten-Kapazität bei der bevorzugten Ausführungsform auf.

Eine Kanal-Vergabe durch die CU kann jede einer Anzahl verschiedener Formen annehmen. Beispielsweise könnten die RUs eine festgelegte Vergabe von Kanälen aufweisen oder Kanäle könnten in irgendeiner Anzahl zu irgendeiner RU zugesprochen werden, basierend auf dem Bedarf, wobei die CU die individuellen RUs nach ihrem Bedarf befragt oder die RUs ihren Bedarf asynchron zu der CU übertragen und die CU zwischen den Anfragen vermittelt, um die verfügbaren Kanäle zu vergeben. In ähnlicher Weise kann eine RU Überlegungen bezüglich der Sicherheit anstellen, welche erfordern, dass ein einzelner Kanal dieser zu jeder Zeit zugeteilt ist und keiner weiteren RU ermöglicht wird, auf diesem Kanal zu sein, was durch Kanal-Vergabe durch die CU gesteuert wird, welche in Nachrichten zu den individuellen RUs ausgegeben wird. Alternativ können einige Kanäle für alle RUs zur Verwendung verfügbar gemacht werden, wobei die RUs selbst Konflikte lösen. Bei der bevorzugten Ausführungsform gibt es vier Kanal-Vergabe-Schemen, die entweder individuell oder in irgendeiner Kombination in der CU-Kanal-Vergabe-Schaltung implementiert sind: (1) ein Reservierungsschema, bei dem die RUs um Bandbreite bieten und die CU bestimmte Kanäle für jede der RUs reserviert; (2) einen Konflikt-Mechanismus, bei dem die RUs durch die CU unterrichtet werden, welche Kanäle für alle RUs für einen Verkehr verfügbar sind und wobei die RUs auf diesen Kanälen nach Belieben übertragen mit Konflikten, die durch die CU detektiert werden und Konflikt-Hinweis-Nachrichten zu den RUs bei einem Konflikt, um Konflikt-Auflösungs-Prozeduren zu beginnen; (3) Befragen, wobei die CU bei jeder RU sequenziell nachforscht, ob sie Bandbreite benötigt und Bandbreite nach Bedarf zuspricht, wie dies aus der Befragung bestimmt wurde, mit einer Vermittlung, wenn nicht genügend Kanäle verfügbar sind, um alle Anforderungen zu erfüllen; (4) eine feste Vergabe der verfügbaren Kanäle an bestimmte RUs. Bei der bevorzugten Ausführungsform können alle vier Schemen zeitweise individuell verwendet werden oder es kann zeitweise irgendeine Kombination der Schemen verwendet werden. Welche Kanal-Vergabe-Schemen in Verwendung zu bestimmten Zeiten sind, wird durch die Konfigurations-Dateneinstellung durch den Benutzer eingerichtet. Beispielsweise kann ein Viertel der Kanäle auf ein Reservierungsschema gesetzt werden, ein Viertel der Kanäle kann für Konflikte übriggelassen werden, ein Viertel der Kanäle kann eine feste Vergabe aufweisen und das letzte Viertel der Kanäle kann für eine Befragungsvergabe reserviert werden. Es wird angenommen, dass jeder dieser vier verschiedenen Mechanismen für eine Vergabe für Bandbreite für sich alleine bekannt ist. Jedoch glauben die Anmelder, dass es neu ist, eine CU bereitzustellen, welche irgendeine dieser Methoden oder irgendeine Benutzer-programmierbare Kombination aller vier Verfahren für Benutzer-programmierbare Gruppen von Kanälen verwenden kann, wobei all dies durch Eingabe von Konfigurationsdaten durch einen Benutzer während eines Konfigurationsprozesses eingerichtet wird.

Da der Kanal-Vergabe-Mechanismus in der Ausführungsform von 11 zentralisiert ist, haben die RUs keine weitere Aufgabe als nach der Bandbreite, welche sie benötigen, nachzufragen.

Jedoch können bei alternativen Ausführungsformen die RUs um Kanal-Vergaben "bieten" und bestimmte Vermittlungsprozesse, die lokal in den RUs ausgeführt werden, können jegliche Konflikte lösen.

Durch Verwenden einer Spreizspektrum-Modulation auf dem Haupt-Koaxialkabel 251 werden jegliche Probleme, die mit reinem Zeit-Multiplexen oder einem reinen Frequenz-Multiplexen auf einem derartigen geteilten Übertragungs-Medium verbunden sind, vermieden. Zusätzlich eliminiert eine Verwendung der Synchron-CDMA-Multiplex- und Modulationstechnik mit Kanälen, die auf einer nicht festgelegten, flexiblen Bedarfs-Basis zugeteilt sind, entsprechend der Lehre der Erfindung, Verschwendungen bei den so genannten Synchron-Zeit-Multiplex-Schemen. Bei den Synchron-Zeit-Multiplex-Schemen hätte jede RU eine feste Zuteilung von Zeitschlitzen und diese Zeitschlitze würden übertragen werden, selbst wenn sie leer sind, d.h. die RU keinen Verkehr zu senden oder zu empfangen hätte während einiger oder aller ihrer Zeitschlitze. Synchrone TDMA-Multiplex-Schemen sind beschrieben in "Data and Computer Communications" von Dr. William Stallings, auf Seiten 211–213, Macmillan Publishing Co., New York (4. Ausgabe 1994) ISBN0-02-415441-5, was durch Bezugnahme hierin einbezogen wird.

Ein Code-Division-Multiple-Access-Transceiver

Die Gattung der Erfindung zieht ein Synchron-Code-Multiple-Access-System zur Verwendung auf einem CATV-System in Betracht, wobei dieses zusätzliche digitale Dienste vorsieht, wobei die gesamte Bandbreite, die den zusätzlichen Diensten zugeteilt ist, kontinuierlich vollkommen verwendet wird und gleichzeitig durch mehrere Benutzer aufgeteilt sein kann. Insbesondere werden eine Mehrzahl orthogonal kodierter Pseudo-Punkt-zu-Punkt-Kanäle bereitgestellt, welche von allen Benutzern geteilt werden können. Die Daten auf jedem Kanal werden in Rahmen gesendet. Die Benutzer und RU-Transceiver sind physikalisch längs des CATV-Systems verteilt, wobei unterschiedliche Ausbreitungszeiten zu der CU für jeden Benutzer bewirkt werden, sowohl aufgrund physikalisch verschiedener Wege zu der CU als auch aufgrund einer thermischen Ausdehnung und Kontraktion des Netzwerks. Ein Einlern-Intervall wird verwendet, wobei jede RU einen Trial-and-Error-Prozess ausführt, um ihren Übertragungsrahmen-Zeitgabe-Verzögerungswert Td einzustellen auf eine Verzögerung, welche in Rahmen resultiert, von dieser RU, die gleichzeitig bei der CU mit Rahmen ankommen, die durch all die anderen RUs übertragen werden. Diese Rahmen-Synchronisation maximiert die Anzahl von Benutzern, die die verfügbare Bandbreite teilen können unter Reduzierung von Übersprechen zwischen Codes. Bei bestimmten Arten innerhalb dieser Gattung wird eine Trellis-kodierte Modulation und Viterbi-Dekodieren verwendet, um die Fehlerrate zu erniedrigen angesichts der Kanal-Beeinträchtigungen. Eine Quadratur-Amplituden-Modulation wird auch verwendet bei den Arten mit Trellis-kodierter Modulation und anderen Arten innerhalb der Gattung der Erfindung, um die Bandbreiten-Effizienz zu erhöhen. Bei anderen Arten innerhalb der Gattung wird eine Einlern-Periode verwendet, um Kanal-Beeinträchtigungen zu lernen, welche für jede RU dann existieren, und diese Kanal-Beeinträchtigungen werden in Koeffizienten umgewandelt, welche Vor-Code-Filtern zugeführt werden, um die Transferfunktionen dieser so einzustellen, um die ausgehenden Signale vorzuverzerren, so dass sie relativ frei von Verzerrungen, die durch Kanal-Beeinträchtigungen verursacht sind, ankommen.

Bezug nehmend auf 19 wird dort ein Blockdiagramm einer hohen Ebene Gezeigt der bevorzugten Arten eines Transceivers für eine Verwendung in dem Modem jeder RU und CU. Der Übertragungskanal des Transceivers verwendet eine Framer-Schaltung 400. Die Funktion des Framers ist es, einzelne oder mehrere Ströme von Digitaldaten über den Datenpfad 399 von einer oder mehreren Quellen zu empfangen und diese Daten in eine Mehrzahl von Rahmen zu organisieren, wobei jeder Rahmen eines oder mehrere Symbole aufweist. Bei der bevorzugten Ausführungsform bildet die Framer-Schaltung 400 die Rahmen von Daten von einem TDMA-Datenstrom auf dem Bus 399, wobei jeder Zeitschlitz einem Kanal entspricht. Es gibt dort 128 Nutzdatenkanäle zu teilen und 16 Verwaltungs- und Steuerungskanäle, von welchen einige für eine Gesamtheit von 144 Kanälen oder Zeitschlitzen geteilt werden. Jeder RU kann ein oder mehrere Kanäle oder Zeitschlitze zugeteilt sein, abhängig von dem Bandbreite-Umfang, der dieser durch die CU zugesprochen wurde in Antwort auf Anforderungen für Bandbreite von der RU. Zusätzlich kann Bandbreite für die verschiedenen RUs auf einer permanenten Basis bei einigen Ausführungsformen reserviert sein und bei diesen Ausführungsformen können die Kanäle oder Zeitschlitze permanent zugeteilt sein oder die reservierte Anzahl von Kanälen kann auf einer garantierten Basis zugeteilt sein jedes Mal, wenn die RU Bandbreite anfordert.

Es ist für die Erfindung nicht kritisch, dass die hereinkommenden Datenströme in einem TDMA-Strom auf dem Bus 399 ankommen. Die Ströme von Daten von peripheren Vorrichtungen oder Netzwerken könnten bei alternativen Ausführungsformen über FDMA auf dem Bus 399 ankommen oder jede Quelle von Daten könnte mit der Framer-Schaltung 400 durch einen getrennten Eingabe-Bus verbunden sein.

Die Framer-Schaltung 400 und ihre damit verbundene Schaltung implementieren die variable Verzögerung, welche die Übertragungsrahmen-Zeitgabe-Referenz für jede RU und CU einstellt. Diese Übertragungsrahmen-Zeitgabe-Referenz richtet die Zeitgabe für eine Übertragung der orthogonalen CDMA-kodierten Chips jedes Rahmens ein, so dass alle Rahmen von jeder der physikalisch verteilten RUs an der CU zur selben Zeit ankommen. Obwohl die Erfindung immer noch funktioniert, selbst wenn eine Rahmen-Synchronisation nicht aufrechterhalten wird, aufgrund der Orthogonalität der CDMA-Codes, die verwendet werden, funktioniert sie nicht mehr so gut, da die maximale Anzahl von Benutzern, die die verfügbaren Nutzkanäle gleichzeitig teilen können, begrenzt ist. Dies ist der Fall, da es höhere Pegel von Übersprechen zwischen CDMA-Codes gibt, wenn eine Rahmen-Zeitgabe-Synchronisation zwischen allen RUs und der CU nicht aufrecht erhalten ist. Daher wird jede RU nach dem ersten Einschalten und auch von Zeit zu Zeit danach einem Einlern-Intervall unterzogen, um ihre Übertragungsrahmen-Zeitgabe-Verzögerung einzustellen. Das Einlern-Intervall weist einen Trial-and-Error-Bereichsbildungsprozess auf, wie beispielsweise den oben beschriebenen Prozess, bei dem die Übertragungsrahmen-Zeitgabe-Verzögerung Td erlernt wird durch Zusammenwirken zwischen dem Sender 401, dem Empfänger 403 und der CPU 405 in der RU, welche Bereiche bildet, und den entsprechenden Vorrichtungen in der CU. Die CPU ändert den Wert von Td auf Leitung 407, bis eine Rahmen-Synchronisation erreicht ist und hält danach einen beliebigen Wert von Td aufrecht, der aus der Rahmen-Synchronisation resultierte, welche erreicht wurde.

Die besondere Art, auf die eine Rahmen-Synchronisation erreicht wird, ist nicht kritisch für die Erfindung und andere Prozesse können verwendet werden, wie etwa durch Trial-and-Error-Korrelation eines ausgewählten Datenstrings, der durch einen ausgewählten CDMA-Code gespreizt ist, der bei verschiedenen Werten von Td übertragen wird mit dem Signal von einer anderen RU, von der bekannt ist, dass sie in Rahmen-Synchronisation ist, welche denselben Datenstring aufweist, der durch denselben ausgewählten CDMA-Code gespreizt ist.

Die Framer-Schaltung 400 überbrückt bei der bevorzugten TDMA-Eingangs-Bus-Ausführung die zwei Zeit-Domänen zwischen den TDMA-Eingabedaten und der Chip-Takt-Code-Domäne (das Lesen der Framer-Schaltung wird mit der Chip-Takt-Rate ausgeführt und das Schreiben wird mit der Byte-Takt-Rate ausgeführt, bei der Zeitschlitze von Daten auf ein einzelnes 9-Bit-Byte zu einer Zeit geschrieben werden). Der Ausgabe-Datenstrom von der Framer-Schaltung 400 weist drei Felder von Tri-Bits pro Rahmen auf, wobei jedes Feld von Tri-Bits einen Informationsvektor darstellt, der nach einem Kodieren durch den orthogonalen Multiplexer 408 in ein einzelnes Symbol von Chips transformiert wird. Bei der bevorzugten Ausführungsform ist der orthogonale Multiplexer 408 ein Code-Multiplexer, der eine Mehrzahl orthogonaler Codes verwendet, wobei jeder Code dazu verwendet wird, die Daten von einem anderen Kanal zu kodieren. Dies ist eine so genannte Direkt-Sequenz-Typ-Spreizspektrum-Operation, wobei die Bandbreite der Basisband-Signale auf Bussen 1068C und 1070C quer über ein breites Spektrum durch die CDMA-Codes gespreizt werden unter Verwendung eines orthogonalen Code-Multiplexers 527 in 28A und eines orthogonalen Code-Multiplexers 408 in 19. Dies ist der Fall wegen der viel höheren Taktrate des Chip-Taktes, der verwendet wird, um die Multiplikation der individuellen Informationsvektor-Elemente mit den Code-Elementen anzutreiben.

Bei einer wichtigen Klasse von alternativen Ausführungsformen könnte der orthogonale Kodier-Multiplexer 408 (und der orthogonale Multiplexer 527 in 28A) irgendein Kodierer sein, der jeden Kanal mit einer anderen orthogonalen Wellenform kodiert. Beispielsweise könnten diese orthogonalen Multiplexer digitale Abtastwerte speichern, die eine Mehrzahl von orthogonalen Sinus- und Kosinus-Wellen-Formen definieren, und jede davon bei einer anderen Frequenz. Jeder andere Satz orthogonaler Wellenformen verschiedener Frequenzen als Sinus und Kosinus würde ebenso funktionieren, um die verschiedenen Kanaldaten-Abtastwerte zu kodieren. Die Daten jedes Kanals würden dann durch Abtastwerte einer anderen Wellenform multipliziert, um neue digitale Abtastwerte zu erzeugen, welche orthogonal kodierte Daten auf Bussen 417 und 419 definieren für eine Modulation auf den RF-Träger-Frequenzen. Bei derartigen Ausführungsformen ist die Bandbreite von Daten jedes Kanals nicht so breit gespreizt wie bei einem CDMA-System. Tatsächlich würden die Daten jedes Kanals in einen Frequenz-Bereich schmaler Bandbreite abgeladen werden. Bei derartigen Systemen würden die orthogonalen Demultiplexer 462 in 19 und 766 in 34 die inverse Transformation auf die empfangenen Abtastwerte ausführen, um sie zurück auf Basisband-Signale auf dem Bus 463 in 19 und dem Bus 776 in 34 zu bringen. Beispielsweise könnte jeder von dem orthogonalen Code-Multiplexer 527 in 28A und dem orthogonalen Code-Multiplexer 408 in 19 ein Invers-Fourier-Transformations-Prozessor sein. Der Fourier-Transformations-Prozess bestimmt von jeder Wellenform in der Zeit-Domäne die Größe, Frequenz und Phase einer unbegrenzten Anzahl sinusförmiger Signale in der Frequenz-Domäne, die, wenn sie zusammenaddiert werden, eine zusammengesetzte Wellenform ergäben, die identisch zu der Zeit-Domäne-Wellenform wäre, die in den Transformations-Berechnungs-Prozess eingegeben wurde. Der Invers-Fourier-Transformations-Prozess führt exakt den entgegengesetzten Prozess aus. Die Eingaben in die Invers-Fourier-Transformations-Prozessoren 408 in 19 und 527 in 28A bei dieser alternativen Ausführungsform wären die Informationsvektor-Elemente auf den Bussen 1068C und 1070C in 19 und Bussen 549R und 549I in 28A. Jedes dieser Informationsvektor-Elemente würde die Größe einer einzelnen Frequenz-Komponente in dem Fourier-Spektrum des Ausgabesignals, das zu erzeugen ist, definieren. Der Invers-Fourier-Transformations-Prozessor würde dann die Zeit-Domäne-Wellenform berechnen, welche das Fourier-Spektrum hätte und würde digitale Abtastwerte ausgeben, welche diese Zeit-Domäne-Wellenform definieren, auf Bussen 558R und 558I in 28A und Bussen 417 und 419 in 19. Diese Abtastwerte würden verwendet werden, um einen oder mehrere RF-Träger in Übereinstimmung mit dem jeweiligen Modulationsschema, das verwendet wird, zu modulieren. Die Demultiplexer des Empfängers (462 in 19 und 766 in 34) führen dann eine Fourier-Transformation auf die hereinkommenden Signal-Abtastwerte aus, um die individuellen Frequenz-Komponenten-Größen auszugeben, welche die ursprünglichen Informationsvektor-Komponenten definieren.

Man beachte, dass jedes Informationsvektor-Element bei dieser Ausführungsform immer die Größe derselben Frequenz-Komponente definiert. Bei einem alternativen Multi-Ton-System können die Informationsvektor-Elemente pseudo-zufällig verscrambelt werden in den Sendern, so dass sie verschiedene Frequenz-Komponenten-Größen in jedem Rahmen definieren und dann pseudo-zufällig entscrambelt werden in derselben Reihenfolge in den Empfängern.

In SCDMA-Direkt-Sequenz-Spreizspektrum-Sendern der bevorzugten Ausführungsform werden die drei Informationsvektoren, die während jedes Rahmens ausgegeben werden, durch ein TDMA-Spreizen auf die drei Symbole umgewandelt, die während dieses Rahmens übertragen werden. Die Daten in jedem Informationsvektor überspannen die gesamten 144 Zeitschlitze in dem Sinn, dass drei Bits von jedem Zeitschlitz oder Kanal als die Elemente des Informationsvektors als ein Tri-Bit vorhanden sind. Dieses Verschränken von Daten von jedem Zeitschlitz in jeden Informationsvektor wird bevorzugt, jedoch ist es für die Erfindung nicht kritisch. Ähnlich ist für die Erfindung die Übertragung von drei Symbolen pro Rahmen nicht kritisch und kleinere oder größere Zahlen von Symbolen könnten übertragen werden.

Bei der bevorzugten Ausführungsform ist die Schaltung des Transceivers virtuell vollkommen digital, so dass die Felder von Tri-Bits wahre Felder sind, deren Elemente sequentiell bei der Matrix-Multiplikation verwendet werden, um das CDMA-Spreizen auszuführen.

Bei analogen Ausführungsformen werden die Felder von Tri-Bits Ströme von Tri-Bits mit drei getrennten Strömen pro Rahmen sein.

Bevor die Beschreibung des Restes der Transceiver-Schaltung in 19 beendet wird, wird die Framer-Schaltung 400 in weiteren Einzelheiten beschrieben. Sowohl die RUs als auch die CU verwenden eine Framer-Schaltung, um die Verzögerungen zu implementieren, die notwendig sind, um Daten in Synchronisation miteinander zu übertragen. Der Framer wird gebildet durch einen FIFO-Speicher und eine unterstützende Schaltung, welche hereinkommende Digitaldaten aus dem Zeit-gemultiplexten Datenstrom-Speicher, der durch jede RU und CU empfangen wird. Die Symbole jedes Rahmens werden gebildet durch Ausgeben der Daten von dem FIFO-Speicher in einer anderen Weise, als sie während jedes Rahmens geladen wurden. Die grundlegende Idee ist es, die 9 Bit-Gruppen jedes Zeitschlitzes durch das Analoge einer FIFO-Verzögerungsleitung durchgehen zu lassen, implementiert durch einen Speicher, um die durch jede RU und CU auferlegte Verzögerung gleichzeitig zu implementieren, die für eine Synchronisation benötigt wird, während eine geeignete Weise verwendet wird, um die Symbole jedes Rahmens aus den Daten in dem TDMA-Datenstrom zu bilden.

12 zeigt die Schaltung, welche den Framer bei der bevorzugten Ausführungsform implementiert und 13 zeigt die Zeitgabe-Beziehungen zwischen dem Chip-Taktsignal, welches die Zeitgabe in der Code-Domäne einstellt, und den Bit-und-Byte-Takten, welche die Zeitgabe in der Zeit-Domäne einstellt. 13 zeigt auch eine Anzahl anderer Signale, die durch den Zeitbasis-Generator 350 erzeugt werden. Die grundlegende Periode, von der aus alle weiteren Signale erzeugt werden, ist das Chip-Taktsignal, das auf der Zeitlinie T1 von 13 gezeigt ist. Die Beziehungen zwischen den Perioden der verschiedenen Signale in 13 sind in Klammern am rechten Rand jedes Signals gezeigt. Beispielsweise gibt es für das Bit-Taktsignal, das auf der Zeitlinie T2 von 13 gezeigt ist, für alle 7 Perioden des Chip-Taktsignals 16 Perioden des Bit-Taktsignals. Für alle 7 Perioden des Chip-Taktsignals gibt es zwei Perioden in dem Byte-Taktsignal, das auf der Zeitlinie T3 in 13 gezeigt ist. Das Behandeln des TDMA-Stroms ist synchronisiert auf die Bit-Takt- und Byte-Taktsignale.

Das Chip-Taktsignal auf Leitung 348 von 12 wird erzeugt durch einen Zeitbasis-Generator PLL 350 und ist mit dem TDMA-Datenstrom synchronisiert durch die Wirkung der PLL, sowohl die Chip-Takt- als auch die Bit-Taktsignale synchronisiert mit dem Kristall-Oszillator-Referenz-Signal zu halten. Ein Blockdiagramm des Zeitbasis-Generators 350 ist in 18 gezeigt. Ein spannungsgesteuerter Oszillator 353, der bei einer Frequenz von 114.688 MHz. arbeitet, stellt die Basis-Betriebsfrequenz ein. Die Ausgabe-Frequenz des VCO auf der Leitung 357 ist geteilt durch zwei durch einen Teile-durch-Zwei-Zähler 359. Das Ergebnis ist gekoppelt an einen Eingang eines Multiplexers 361. Der Multiplexer weist als seinen weiteren Eingang die Kristall-kontrollierte Oszillator-Frequenz auf Leitung 363 auf. Das Multiplexer-Schalten wird durch ein Bypass-Signal auf Leitung 365 gesteuert, um die Ausgabe des Zählers 359 normal auszuwählen und sie mit der Ausgabeleitung 367 zu koppeln. Der PLL-Zeitbasis-Generator erzeugt das Bit-Taktsignal auf Leitung 377 durch Teilen der Frequenz des Signals auf Leitung 367 durch einen Faktor von 7 in einem Teile-durch-Sieben-Zähler 369, um ein Bit-Taktsignal auf Leitung 377 zu erzeugen, welches eine Frequenz von 8.192 MHz. aufweist. Das Chip-Taktsignal auf Leitung 348 wird erzeugt durch Teilen der Frequenz auf Leitung 367 durch einen Faktor von 16 in einem Teile-durch-Sechzehn-Zähler 371, um ein Chip-Taktsignal zu erzeugen, welches eine Frequenz von 3.548 MHz. aufweist. Die Bit-Takt- und Chip-Taktsignale werden auf die Kristall-Frequenz synchronisiert gehalten durch einen Phasen-Detektor 373, welcher die Phase des Kristall-Signals mit der Phase des Bit-Taktsignals vergleicht und ein Signal ausgibt, das mit dem Frequenz-Steuerungseingang 375 des VCO gekoppelt ist durch einen Tiefpass-Filter 397. Das Bit-Taktsignal und der Phasen-Detektor veranlassen die PLL, die Übergänge des Chip-Taktsignals dazu zu zwingen, sich richtig mit den Bit-Takt-Übergängen auszurichten in der Beziehung von 16 Perioden von Bit-Takten für alle 7 Perioden von Chip-Takten.

Die Beziehungen zwischen der Zeitgabe in der Zeit-Domäne und der Zeitgabe in der Code-Domäne sind wie folgt:

  • – Es gibt eine Gesamtheit von 144 Zeitschlitzen oder Kanälen in dem TDMA-Strom, von welchem 128 Nutz-Zeitschlitze sind und 16 Verwaltungs- und Steuerungs-Zeitschlitze sind;
  • – Jeder Zeitschlitz oder Kanal in dem TDMA-Strömen trägt 9 Bits von Digitaldaten, die mit dem Bit-Takt synchronisiert sind;
  • – Ein mit Daten oder 9-Bits voller Zeitschlitz wird in dem Framer für jeden Zyklus des Byte-Taktes gespeichert;
  • – 1 Rahmen = 144 Zeitschlitze, wobei jeder 9 Bits plus 16 Chips für die Ausrichtungs-Lücke aufweist;
  • – 1 Rahmen = auch 3 Symbole plus den 16 Chip-Perioden der Ausrichtungs-Lücke = 448 Chip-Perioden;
  • – 1 Symbol = 144 Chip-Perioden;
  • – 1 Lücke = 16 Chip-Perioden;
  • – Für jeweils 16-Bit-Takt-Perioden gibt es 7 Chip-Takt-Perioden und für jede Byte-Takt-Periode gibt es 9 Bit-Takt-Perioden.

Um die Verzögerung zu implementieren, die in jeder RU- und CU-Übertragungskanal-Schaltung notwendig ist, um eine Rahmen-Synchronisation aufrechtzuerhalten, wird nun das Folgende mit Bezugnahme auf 12 betrachtet. Der Datenstrom, welcher in die Framer-Schaltung während jedes Zeitschlitzes hereinkommt, wird in einer unterschiedlichen Adresse im Speicher 300 in 12 mit der Datenrate des Byte-Taktsignals auf Leitung 302 gespeichert. Das Byte-Taktsignal auf Leitung 302 wird erzeugt durch einen Byte-Zähler 370, der oben in 12 gezeigt ist, der einen Byte-Taktsignal-Übergang auf Leitung 302 erzeugt, alle 9 Zyklen des Bit-Taktsignals auf Leitung 377 von dem Zeitbasis-Generator 350. Der Speicher 300 ist ein Drei-Seiten-Speicher und die adressierende Schaltung von 12 steuert die Adress- und Daten-Ports, derart, dass Daten in die zwei Seiten geschrieben werden und daraus gelesen werden durch Wechseln der Verwendung dieser Busse. Daten von den Zeitschlitzen/-Kanälen in dem Zeit-gemultiplexten Strom serieller Daten auf Leitung 301 werden seriell verschoben in ein Seriell-Ein-, Parallel-Aus-Schieberegister 310 mit der Bit-Taktrate des Signals auf Leitung 377. Das Byte-Taktsignal auf Leitung 302 veranlasst ein Register 314 die momentane 9 Bit-Parallel-Format-Ausgabe des Schieberegisters auf Bus 316 zu speichern, nachdem jeweils 9 neue Bits in das Schieberegister 310 verschoben sind.

Die 9 Bit-Parallel-Format-Ausgabe des Registers 314 ist auf dem 9 Bit-Bus 318 dem Schreib-Daten-Eingangs-Port des Speichers 300 dargestellt. Somit wird eine neue 9 Bit-Gruppe von Daten von dem TDMA-Strom für ein Speichern bei jedem Zyklus des Byte-Taktsignals dargestellt. Jede 9 Bit-Gruppe von Daten von dem TDMA-Strom wird an einem unterschiedlichen Speicherort des Speichers 300 gespeichert, wie dies aus der Erläuterung der nachfolgend beschriebenen Adress-Erzeugungs-Schaltung deutlich werden wird.

Daten werden aus dem Speicher 300 bei derselben Datenrate, mit der sie gespeichert wurden, ausgelesen, jedoch beginnend zu einer programmierbaren Zeit, nachdem die Daten gespeichert wurden, wodurch die variable Verzögerung implementiert wird, die notwendig ist, um eine Rahmen-Synchronisation mit der CU-Rahmen-Zeitgabe aufrechtzuerhalten. Diese programmierbare Verzögerung Td wird durch die Differenz in den Adressen zwischen der Adresse, die in einem Empfangsrahmen-Zähler (Lese-Zeiger) gespeichert ist und der Adresse, die in einem Sende-Rahmen-Zähler 324 in 15 gespeichert ist (Schreib-Zeiger) eingestellt.

Um dieses Konzept zu veranschaulichen stellt 16 Abschnitte eines Speichers 300 dar, wobei der gestrichelte Abschnitt die Anzahl von Adressen-Differenz darstellt zwischen der Position des Lese-Zeigers und der Position des Schreib-Zeigers, um die Verzögerung Td zu implementieren. Der quer schraffierte Abschnitt 304 stellt einen Rahmen von 9 Bit-Bytes dar, während die gestrichelten Abschnitte 306 und 308 die Größe der Verzögerung Td darstellen, wobei der Abschnitt 306 einen Abschnitt der Verzögerung Td darstellt, der in vollen 9 Bit-Bytes ausgedrückt ist, und Abschnitt 308 den Rest der Verzögerung Td darstellt, der als Teil eines Bytes ausgedrückt ist. Mit anderen Worten kann die Verzögerung Td ein gewisser Bruchteil der Anzahl von Bit-Takten sein, welche ein gesamtes 9 Bit-Byte bilden. Dies ist so, weil die Verzögerung, die benötigt wird, um eine Rahmen-Synchronisation aufrechtzuerhalten, sich nicht als eine ganze Zahl von Byte-Takten geben kann.

15 zeigt, wie die Zeit-Verzögerung Td implementiert wird unter Verwendung eines Empfangsrahmen-Zählers 322, welcher die Schreib-Zeiger-Adresse erzeugt, welche steuert, wo hereinkommende Daten in dem Speicher 300 gespeichert werden, und eines Sende-Rahmen-Zählers 324, der einen Lese-Adress-Zeiger erzeugt, der die Lese-Adresse steuert, von der Daten für eine Übertragung gelesen werden. Das F_sync-Signal auf Leitung 326 setzt den Schreib-Zeiger im Zähler 322 auf Null zurück am Beginn jedes neuen Rahmens. Ein Modulo-Addierer 325 addiert die Anzahl von Chip-Takten basierend auf der gewünschten Zeit-Verzögerung Td zu dem Ausgabe-Schreib-Zähler auf Bus 328 und gibt das Ergebnis in den Übertragungsrahmen-Zähler 324 als den Lese-Zeiger ein. Der Wert von Td wird auf einer Trial-and-Error-Basis variiert während des Synchronisationsprozesses, bis die Lücke getroffen wird, und die CU sendet eine Nachricht zu der RU, welche dabei ist zu synchronisieren, wobei sie ihr mitteilt, Td bei dem Wert einzufrieren, der bewirkte, dass die Lücke durch den Barker-Code getroffen wurde.

14 ist ein Speicher-Füll-Diagramm, welches veranschaulicht, wie die gesamten 9 Bit-Bytes kontinuierlich empfangen werden, während 3 Bit-Tri-Bits für jeden von 144 Kanälen simultan ausgesendet werden, um die Symbole eines jeden Rahmens zu bilden. 14 veranschaulicht graphisch, wie der Rahmenspeicher 300 aufgefüllt wird und während dieses Prozesses geleert wird. Der Rahmen 300 weist 144 Speicherorte auf, welche den 144 Kanälen des Systems entsprechen auf jeder von drei Seiten. Während eine Seite gefüllt wird, wird eine andere Seite gleichzeitig bei derselben Rate geleert. Jede Speicheradresse auf jeder Seite kann die 9 Bits von Daten von einem der 144 Zeitschlitze in dem TDMA-Strom speichern. 16 Speicherorte auf jeder Seite sind für die Speicherung von Verwaltungs- und Steuerungsdaten reserviert, die über die 16 Verwaltungs- und Steuerungskanäle zu senden sind. In 14 wachsen die Adressnummern mit einer anwachsenden Y-Koordinate an.

Zur Zeit (0) in 14 (die Spalte ganz links) ist Seite eins des Speichers als vollkommen gefüllt gezeigt, mit einem Rahmen von Daten, der jeweils drei vertikale Spalten von drei quer gestrichelten Blöcken aufweist. Jede Spalte von drei Blöcken, wie beispielsweise die Blöcke 334, 336 und 338, stellen ein Symbol dar, wobei jeder Block 48 Tri-Bits darin aufweist. Die mittlere Spalte von 14 stellt den Füllstatus des Speichen dar nach einer Übertragung des ersten Symbols, das gebildet wird durch Blöcke 334, 336 und 338. Die Spalte ganz rechts von 14 stellt den Füllstatus des Speichers nach einer Übertragung von Symbol 2 dar, das gebildet wird aus Blöcken, die durch die gestrichelte Linie 334 umrandet sind.

Die Breite längs der X-Achse jedes individuellen quer gestrichelten Blocks in 14 ist gleich der 3 Bits eines Tri-Bits, und die gesamte Breite einer Spalte von Blöcken ist gleich den 9 Bits eines Zeitschlitzes. Die positive x-Richtung stellt die anwachsende Zeit in der Zeit-Domäne dar. Mit anderen Worten wird das erste 9 Bit-Byte, das gespeichert wird, in der untersten Zeile der untersten drei Blöcke in der linken Spalte mit anwachsender Zeit in dem TDMA-Strom gespeichert, der sich von links nach rechts erstreckt.

Die Böcke, die durch die gestrichelte Linie 332 in der Spalte ganz links umgeben sind, stellen 144 Speicherorte dar, von welchen jeder die 9 Bits aus einem der 144 Zeitschlitze in einem Rahmen von Daten speichert. Die drei quer schraffierten Blöcke 334, 336 und 338 stellen das erste Symbol des ersten Rahmens dar, wobei jedes Symbol gebildet wird aus drei Blöcken, von welchen jeder Block 48 Tri-Bits speichert. Man beachte, dass in der mittleren Spalte nach einer Übertragung des ersten Symbols in dem Rahmen diese drei Blöcke verloren sind. Man beachte ebenfalls, dass die Daten von Symbol 1 aus dem Speicher "über die Zeit" ausgelesen werden, d.h. längs der y-Achse, wobei die Daten von den ersten Tri-Bits von individuellen Kanälen in der Zeit-Domäne in verschiedene zeitliche Beziehungen in der Code-Domäne verschränkt werden und die Leistung der Zeitschlitz-Daten über das gesamte Rahmen-Intervall ausgespreizt wird. Dies stellt einen Teil der Lehre des Code-Mehrfach-Zugriff oder der CDMA-Modulationsschemen dar.

Die drei Blöcke innerhalb des gestrichelten Kastens 335 in der mittleren Spalte von 14 stellen das zweite Symbol von Daten dar, das in dem ersten Rahmen zu übertragen ist. Man beachte, dass diese drei Blöcke in der Spalte ganz rechts verschwunden sind, welche den Zustand von Seite eins der Speicherfüllung nach einer Übertragung des zweiten Symbols darstellen.

Während die ersten und zweiten Symbole übertragen werden, fährt eine weitere Seite des Speichers 300 fort sich aufzufüllen, wenn die Daten von neuen Zeitschlitzen empfangen werden. Beispielsweise wird das Symbol 1 von Seite 1 des Speichers während des ersten Rahmens übertragen, werden die Daten in den drei Blöcken, umrandet durch die gestrichelte Linie 337 in der mittleren Spalte in Seite 2 des Speichers empfangen und gespeichert. Somit wird, während ein Drittel der Daten von Seite 1 gelesen und übertragen werden, ein Drittel von Seite 2 des Speichers mit neuen Daten gefüllt. Ähnlich werden, während das zweite Symbol von Seite 1 übertragen wird, die Daten die durch die drei Blöcke umrandet mit der gestrichelten Linie 339 in der Spalte ganz rechts empfangen und in Seite 2 des Speichers gespeichert.

Die Blöcke, die durch den gestrichelten Kasten 340 umrandet sind, stellen die Verzögerung Td dar, die durch den Modulo-Addierer 326 in 15 implementiert ist, und die 16-Chip-Ausrichtungslücke.

17 ist ein Diagramm der relativen Raten der Adress-Inkrementierung der Lese- und Schreib-Zeiger, die verwendet werden, um den Rahmen-Puffer-Speicher 300 zu verwalten einschließlich der relativen Zeitgabe einer Adress-Inkrementierung zum Lesen der Tri-Bits. Die gestrichelte Linie 342 stellt die Rate der Adress-Inkrementierung des Schreib-Zeigers dar, erzeugt durch den Zähler 322 in 12 und 15. Dieser Zähler zählt Übergänge in dem Byte-Taktsignal auf Leitung 302 in 12 mit dem Byte-Taktsignal, das auf der Zeitlinie T3 in 13 gezeigt ist. Jeder Zyklus des Byte-Taktsignals veranlasst das Register 314 in 12 ein neues 9 Bit-Byte darin einzuklinken und es auf dem Bus 318 für den Schreib-Daten-Port des Zwei-Port-Speichers 300 darzustellen. Jeder Zyklus des Byte-Zählers veranlasst ebenfalls den Schreib-Zeiger-Zähler 322, eine neue Schreib-Zähler-Adresse auf dem Bus 366 für eine Verwendung beim Steuern darzustellen, wo die Daten auf Bus 318 gespeichert werden. Ein Multiplexer 362, dessen Ausgang mit dem Adress-Port von Speicher 300 gekoppelt ist und der als seine Eingänge den Schreib-Zeiger auf Bus 366 und den Lese-Zeiger auf Bus 364 aufweist, wird geeigneterweise so geschaltet, dass die Schreib-Zeiger- und Lese-Zeiger-Adressen zu den geeigneten Zeiten an dem Adress-Port dargestellt werden, um die Speicherfüllungs- und Speicher-Lese-Operationen zu implementieren, die hier beschrieben werden.

Das Bit-Taktsignal auf Leitung 377 in 12 wird verwendet, um das Seriell-Ein-Parallel-Aus-Schieberegister 310 zu takten. Das Bit-Taktsignal wird erzeugt durch den Zeitbasis-Generator, der in 18 gezeigt ist, und wird durch einen Modulo-9 Bit-Zähler 372 gezählt, der oben in 12 gezeigt ist, für den Zweck, um das Byte-Taktsignal auf Leitung 302 in 12 zu erzeugen zu helfen. Dieser Zähler 372 zählt das Bit-Taktsignal auf Leitung 377 von dem Zeitbasis-Generator 350 Modulo 9 und gibt einen Übergang zu logisch 0 auf Leitung 374 aus nach jeweils der 9ten Bit-Periode. Der Übergang auf Leitung 374 wirkt als ein Zähl-Freigabe-Signal für den Byte-Zähler 370, um ein Inkrementieren des Byte-Zählers 370 durch den nächsten Bit-Takt-Zyklus freizugeben. Dieser erzeugt das Byte-Zähler-Signal auf Leitung 302. Der Bit-Zähler 372 ist immer freigegeben durch das fest verdrahtete Zähl-Freigabe-Signal auf Leitung 376. Sowohl der Bit-Zähler als auch der Byte-Zähler werden auf 0 zurückgesetzt durch Festhalten des F0-Signals auf Leitung 299 für ein schnelles Rückstellen/Rück-Synchronisieren des Systems. Das F0-Signal tritt am Ende jedes Rahmens auf. Das F0-Signal wird erzeugt durch einen Abschnitt des Zeitbasis-Generators, der in 18 nicht gezeigt ist, und wird als ein Taktsignal durch den Rahmen-Zähler 376 gezählt, der ein synchronisiertes F0-Signal auf Leitung 299 ausgibt. Der Rahmen-Zähler 376 wird jeden vierten Rahmen durch ein Super-Rahmen-Signal F4 zurückgesetzt.

Die Zeit-Verzögerung Td, die notwendig ist, um die Ausrichtungslücke bei einer Barker-Code-Übertragung zu treffen, wird zu dem F0-Signal auf Leitung 299' hinzugefügt durch den Modulo-Addierer 326, um das F0'-Signal auf Leitung 381 zu erzeugen. Der Wert von Td wird von der CPU über den Bus 499 empfangen und ändert sich durch Trial-and-Error während eines Bereichsbildens, ist jedoch bei der beliebigen Verzögerung eingefroren, welche den Sender-Barker-Code in der Lücke bei der CU zentriert. Das F0-Signal auf Leitung 299' inkrementiert ebenso den Seite-Zeiger 321 für den Schreib-Zeiger und setzt gleichzeitig den Schreib-Zeiger 322 auf Null zurück am Ende jedes Rahmens, um einen Seitentausch zu bewirken und ein erneutes Schreiben bei der Adresse 0 der nächsten Seite zu beginnen.

Das verzögerte F0'-Signal auf Leitung 381 inkrementiert den Seite-Zeiger 323 der Lese-Adress-Schaltung, um einen Seitentausch zu bewirken und setzt gleichzeitig den Lese-Zeiger-Zähler 324 auf Null zurück, um ein Lesen bei der Adresse 0 der nächsten Seite am Ende des Rahmens zu beginnen.

Zurückkehrend zu der Betrachtung von 17, stellt die durchgezogene Linie 346 die Rate eines Entleerens des Rahmenspeichers 300 in 12 dar. Diese Rate des Entleerens basiert auf einer Inkrementierung des Lese-Zeiger-Zählers, welcher das Chip-Taktsignal auf Leitung 348 von dem Zeitbasis-Generator 350 zählt. Da jedes Symbol 144 Tri-Bits von 144 verschiedenen Kanälen speichert, und da es drei Symbole gibt und eine 16-Chip-Lücke in jedem Rahmen, ist die Gesamtzahl von Chips in einem Rahmen 448. Da alle 432 Tri-Bits aller drei Symbole des Rahmens ausgelesen werden müssen, während der Byte-Zähler auf 144 zählt, um einen Rahmenwert von 9 Bit-Bytes von Daten von 144 Kanälen oder Zeitschlitzen zu speichern, wird der Lese-Zeiger auf das Chip-Taktsignal inkrementiert. Dies bewirkt, dass alle 432 Tri-Bits von allen drei Symbolen eines Rahmens ausgelesen werden, während der nächste Rahmen von Daten gespeichert wird, wodurch ein Überlauf des Speichers 300 verhindert wird. Dies ist der Grund, warum die Lese-Zeiger-Leitung 346 in 17 so gezeigt ist, dass der Speicher mit derselben Rate geleert wird, wie der Lese-Zeiger diesen füllt.

Die Leitung 352 in 17 stellt die Rate eines Inkrementierens des Lese-Zeiger-Zählers 324 in 12 dar. Der Lese-Zeiger-Zähler inkrementiert auf jeden Zyklus des Chip-Taktsignals hin, so dass er von 0 bis 143 während der Zeit, um alle Tri-Bits von dem ersten Symbol zu lesen, inkrementiert. Dies hat die Wirkung, dass die 9 Bits von Daten von jedem der 144 Zeitschlitze oder Kanäle dazu veranlasst werden, sequentiell am Lese-Daten-Ausgabe-Bus 358 zu erscheinen. Jedoch ist es wünschenswert, alle 144 Tri-Bits von einem einzelnen Symbol nur während einer einzelnen Symbol-Zeit zu entladen, so dass einige Schalt-Operationen auf dem Ausgabe-Bus notwendig sind, wie nachfolgend beschrieben ist.

Ein Tri-Bit-Auswahl-Zähler, der in 12 nicht gezeigt ist, der mit einem Multiplexer 356 gekoppelt ist, führt diese Schalt-Operationen aus. Dieser Tri-Bit-Auswahl-Zähler erzeugt ein Tri-Bit-Auswahl-Signal auf Leitung 354 in 12, welches das Schalten durch einen Multiplexer 356 steuert. Dieser Multiplexer weist einen Eingang auf, der mit dem 9 Bit-Lesedaten-Ausgabe-Port 358 des Speichers 300 gekoppelt ist. Der Tri-Bit-Auswahl-Zähler zählt mit einer solchen Rate, dass das Auswahl-Signal auf Leitung 354 in einer Weise erzeugt wird, dass nur Tri-Bits von dem ersten Symbol von dem Multiplexer 356 ausgegeben werden auf dem Bus 360 während der Zeit, zu der dieses erste Symbol übertragen wird.

20 ist ein Diagramm, welches dazu beiträgt, die Weise zu veranschaulichen, in welcher der Rahmenspeicher 300 für eine Übertragung geleert wird. 20 zeigt eine vollkommen gefüllte Seite 1 des Speichers 300 in 12, welche 144 Speicher-Adressen aufweist, wovon jede mit einem 9 Bit-Byte gefüllt ist, und geteilt in drei Spalten von 3 Bit-Tri-Bits ist. Jede Spalte, die durch das Legenden-Symbol 1, Symbol 2 und Symbol 3 markiert sind, weist 144 Tri-Bits auf und stellt ein einzelnes Symbol eines Rahmens dar. Um diesen Rahmen von Daten zu senden, wird der Lese-Zeiger 144 Male inkrementiert während der Zeit, während der das erste Symbol codiert wird. Der Zustand des Tri-Bit-Auswahl-Zählers während dieser ersten 144 Zyklen ist derart, dass nur die 144 Tri-Bits von Symbol 1 auf den Bus 360 ausgegeben werden zu dem Vorwärts-Fehlerkorrektur-(FEC)-Kodierer 402 in 19.

Nach der 144sten Inkrementierung geht der Lese-Zeiger-Zähler 324 über auf Null und beginnt erneut bis 143 hinaufzuzählen. Bei der 144sten Inkrementierung inkrementiert der Tri-Bit-Auswahl-Zähler, der den Multiplexer 356 dazu veranlasst, die mittlere Spalte von Tri-Bits vom Symbol 2 in 20 auszuwählen für eine Ausgabe auf dem Bus 360 in 12 zu dem Vorwärts-Fehlerkorrektur-Kodierer 402 in 19. Ein ähnlicher Prozess entlädt die 144 Tri-Bits des Symbols 3.

Der Bus 360 in 12 ist in der in 19 gezeigten Ausführungsform mit einem Vorwärts-Fehlerkorrektur-Kodierer 420 gekoppelt, dessen Funktion nachfolgend in weiteren Einzelheiten erläutert werden wird. In 12 weist ein Multiplexer 362, dessen Ausgang mit dem Adress-Eingang des Rahmenspeichers 300 gekoppelt ist, zwei Eingänge auf einer ist mit dem Ausgang des Lese-Zeiger-Zählers 324 gekoppelt und der andere ist mit dem Ausgang des Schreib-Zeiger-Zählers 322 gekoppelt. Dieser Multiplexer koppelt wechselweise den Lese-Zeiger mit dem Bus 364 und den Schreib-Zeiger 366 mit dem Adress-Port 368 des Speichers 300 bei jedem Zyklus des Chip-Taktsignals auf Leitung 348. Das Chip-Taktsignal wird auch mit dem Steuerungseingang des Speichers 300 gekoppelt, um als das RD/WR*-Steuerungssignal zu dienen, welches steuert, ob der Speicher die Adresse am Port 368 verwendet in einer Lese- oder Schreib-Transaktion.

Zurückkehrend zu der Betrachtung des Transceiver-Blockdiagramms von 19 kann der Ausgangs-Datenstrom von dem Framer auf dem Bus 360 in 12 optional durch einen Vorwärts-Fehlerkorrektur-Kodierer 402 durchgeführt werden. Der Vorwärts-Fehlerkorrektur-Kodierer 402 kann bei einigen Ausführungsformen weggelassen werden oder ein ARQ-Kodierer kann dafür eingerichtet werden. Die Ausführungsform von 19 symbolisiert eine Klasse von Arten, welche systematische Codes verwenden, wobei die Bits der Tri-Bits nicht verscrambelt sind und der FEC-Kodierer ein Konvolutions-Kodierer ist. Bei alternativen Ausführungsformen können die Tri-Bits auf dem Bus 360 pseudo-zufällig verscrambelt werden, bevor sie durch den FEC-Kodierer 402 empfangen werden. Bei anderen alternativen Ausführungsformen kann der FEC-Kodierer Block-Codes verwenden. Bei der bevorzugten Ausführungsform wird der FEC-Kodierer 402 für ein Trellis-Kodieren verwendet.

Der Zweck des Vorwärts-Fehlerkorrektur-Kodierers 402 ist es, eines oder mehrere redundante Bits jedem Tri-Bit hinzuzufügen, um die Fehlerrate für die Leistung pro Bit-zu-Rauschen-Leistungsdichte-Verhältnis zu verbessern, welches aus dem gewählten Modulationsschema resultiert. Bei der bevorzugten Ausführungsform ist der FEC-Kodierer 402 ein Trellis-Kodierer für einen 16-QAM-Rate-3/4-Trellis-Code, der 16 Zustände aufweist, eine Pi/4-Rotations-Invarianz, keine parallelen Pfade und eine effektive Code-Länge von 2. Bei noch einer weiteren alternativen Ausführungsform könnte der Vorwärts-Fehlerkorrektur-Kodierer 402 ein Reed-Solomon-Kodierer sein, der einen ersten Satz von Code-Wörtern erzeugt, die dann weiter in einem Trellis-Kodierer kodiert werden. Ein Vorteil einer Verwendung einer Trellis-kodierten Modulation entweder mit oder ohne Reed-Solomon-Kodierung ist, dass dies das Hinzufügen einer Redundanz zu den Nutzdaten ermöglicht, um eine Vorwärts-Fehlerkorrektur zu ermöglichen ohne die Symbolrate und die verwendete Bandbreite zu erhöhen. Eine Trellis-kodierte Modulation verwendet redundante Bits, um die Nutzdaten in einer breiteren Konstellation möglicher Punkte abzubilden (genannt Signal-Space-Kodieren). Die für eine Übertragung erforderliche Bandbreite wird nicht erhöht, noch wird ein Gesamt-Rauschen durch den Empfangsfilter zugelassen. Im Prinzip verwendet ein Trellis-Kodieren einen Kanal-Kodierer, um jeweils k Nutz-Bits zu empfangen und diese in n Bits umzuwandeln, wobei n größer ist als k, und beinhaltet einige redundante Bits, die Informationen über die k Nutz-Bits enthalten. Die n-Bit-Gruppe wird dann durch einen modifizierten Zeilen-Kodierer verarbeitet, um Symbole für eine Übertragung von einer Konstellation mit einer Größe 2n zu erzeugen. Ein beträchtlicher Kodier-Gewinn kann auf diese Weise erreicht werden. Beispielsweise erzeugt das Annehmen eines bestimmen additiven Kanals mit weißem Gauss'schen Rauschen eine akzeptierbare Wahrscheinlichkeit für einen Fehler ohne Kodieren bei einem bestimmten Signal-zu-Rauschen-Verhältnis unter Verwendung einer Konstellation der Größe M, unter Verwendung einer Trellis-kodierten Modulation, kann die Fehlerwahrscheinlichkeit bei demselben Signal auf das Rausch-Verhältnis reduziert werden, oder das Signal-zu-Rauschen-Verhältnis kann bei derselben Fehlerwahrscheinlichkeit reduziert werden und nach Ungerboeck kann der größte Teil dieser theoretischen Reduzierung erreicht werden unter Verwendung einer Konstellation eines 2M-plus-eins-Kanal-Kodier-Schemas. Als ein Beispiel des Typs eines Kodier-Gewinns, der unter Verwendung einer Trellis-kodierten Modulation erreicht werden kann, betrachte man das Folgende. Falls nur Tri-Bits verwendet würden, ohne ein Kodieren mit redundanten Bits, und eine 8-AM-Konstellation verwendet würde, könnte gemäß Ungerboeck eine Übertragung mit 10–5 Fehlerwahrscheinlichkeit mit einem SNR von 26 Übertragung und 3 Bit pro Symbol ausgeführt werden. Jedoch, durch die Verwendung einer Trellis-kodierten Modulation. unter Verwendung einer 16-AM-Konstellation ist es möglich, 3 Bits fehlerfrei zu senden bis herab zu 18 db SNR. Daher ist es unter Verwendung einer Trellis-Kodierung möglich, einen Kodier-plus-Formgebungs-Gewinn zu erreichen von 26 – 18 = 8 db. Bei der Erfindung wird ein Kodier-Gewinn von ungefähr 4 db erreicht. Der Hauptvorteil einer Verwendung einer Trellis-kodierten Modulation ist die Möglichkeit, die Fehlerrate zu reduzieren oder die Anzahl von Nutz-Bits zu erhöhen, ohne die Symbol-Rate und Bandbreite, die verwendet wird, zu erhöhen. Dies kann ausgeführt werden unter Verwendung einer Konstellation von nicht größer als 2M. Weitere Einzelheiten über die Trellis-kodierte Modulation sind in Lee und Messerschmit, Digital Communication, 2. Ausgabe, 1994 (Kluwer Academic Publishers, Boston) ISBN 0 7923 9391 0 enthalten, welche hiermit durch Bezugnahme inhaltlich umfasst wird. Eine Trellis-kodierte Modulation ist jedoch nicht erforderlich, um die Erfindung zu praktizieren und daher könnten die Kodierer 402 und 526 in 19 bzw. 28A weggelassen werden oder durch einfache Kodierer ersetzt werden unter Verwendung irgendeines bekannten Fehler-Detektions- oder Korrektur-Kodier-Schemas und ein Abbilder, um die resultierenden kodierten Symbole in Punkte in einer Konstellation abzubilden.

Bei der bevorzugten Ausführungsform nehmen die Kodierer 402 und 526 in 19 bzw. 28A die Form der Trellis-Kodierer an, die in 42 gezeigt sind. Die Eingabe zu dem Kodierer wird gebildet aus drei Nutz-Bits eines Tri-Bits auf Leitungen W1, W2 und W3 des Busses 509. Die Bits W3 und W2 gehen durch den Konvolutions-Kodierer-Abschnitt unverändert durch und kommen am Abbilder 1050 unverändert als Bits y3 bzw. y2 an. Bit y0 am Eingang des Abbilders wird erzeugt durch einen Kodierer-Abschnitt, der gebildet wird aus D-Flip-Flops 1052, 1054, 1056 und 1058, die durch Ausschließlich-ODER-Gatter 1060, 1062 und 1064 gebildet sind. Diese Ausschließlich-ODER-Gatter kombinieren die Ausgaben der Flip-Flops mit verschiedenen Kombinationen der W3, W2 und W1-Bits und zwei Rückkopplungs-Bits. Die Ausgabe des Flip-Flops 1058 ist das y0-Bit und ist ein Faktor bei der Erzeugung der zwei Rückkopplungs-Bits. Das y1-Bit ist das W1-Bit nach einer Ausschließlich-ODER-Operation in einem Vor-Kodierer 1066 mit der Ausgabe vom Flip-Flop 1056.

Der Abbilder 1050 weist einen normalen Modus und weitere andere Modi auf, einschließlich eines Rückfall-Modus. Im normalen Modus nimmt der Abbilder die 16 Kombinationen der Bits y0 bis y3 auf und bildet sie in die 16-QAM-Konstellation von 21 ab. Der Abbilder gibt 2 Bits auf einem I-Bus 1068 und 2 Bits auf einem Q-Bus 1070 aus. Für eine Eingangs-Kombination von 4 Bits definieren die 2 Bits auf dem I-Bus die Koordinate längs der I-Achse in 21 des resultierenden Konstellationspunktes, und die zwei Bits auf dem Q-Bus definieren die Koordinate längs der Q-Achse. Die Abbildung ist nicht linear und wird definiert durch die Tabelle von 22. Beispielsweise wird ein Eingangs-Code von 0101 für die Bits y0–y3 in einem 1 + 3·j-Konstellationspunkt abgebildet, der eine I-Koordinate von 1 und eine Q-Achsen-Koordinate von +3 aufweist. Dieser Trellis-Kodierer weist einen Code-Gewinn von ungefähr 4 db SNR auf.

Die I- und Q-Bits auf den Bussen 1068 und 1070 werden dann als getrennte reale und imaginäre Felder für den Informationsvektor [b] im Speicher 406 in 19 gespeichert. Diese realen und imaginären Felder haben dann ihre Bandbreiten individuell durch CDMA-Multiplexer 408 gespreizt in der durch 23B veranschaulichten Weise, um reale und imaginäre Feld-Komponenten eines Ergebnis-Vektors zu erzeugen. Die Elemente jedes Ergebnis-Vektors definieren die individuellen Chips eines einzelnen Symbols in einem Rahmen.

Ein Rückfall-Modus und die anderen verfügbaren Modi werden in dem Trellis-Kodierer von 42 durch Steuerungssignale auf dem Bus 1072 von der CPU 405 in 19 implementiert. Der Abbilder weist einen normalen Modus, einen Rückfall-Modus, einen Zugangskanal-Modus, einen Einlern-Kanal-Modus und einen Kein-Code-Modus bei einigen Ausführungsformen auf. Im Rückfall-Modus wird die Kodierer-Ausgabe in zwei Symbole aufgeteilt und separat übertragen. Die zwei LSBs (y0, y1) werden als das erste Symbol übertragen und die 2 MSBs (y3, y2) werden in dem zweiten Symbol übertragen. Die 2 LSBs werden QPSK-übertragen mit einer 4-Punkt-Konstellation. Die zwei MSBs werden DQPSK-übertragen. Um ein Ändern der Ausgangsleistung während des Rückfall-Modus zu verhindern, wurde die 4-Punkt-Konstellation für den Rückfall-Modus ausgewählt. 44 zeigt das Abbilden für die LSB- und MSB-Chips im Rückfall-Modus. Der Empfänger muss zwischen den ersten und zweiten Symbolen synchronisiert werden, um zu wissen, welches Symbol die Information der LBSs und MSBs trägt. Mit anderen Worten, wenn der Sender in den Rückfall-Modus geht, werden die 144 Tri-Bits, die kodiert waren und dann in die 144 Chips des ersten Symbols in dem ersten Rahmen im normalen Modus abgebildet waren, jetzt in LSB- und MSB-Komponenten aufgespalten in die ersten und zweiten Symbole des ersten Rahmens im Rückfall-Modus. Ähnlich werden die 144 Tri-Bits, die in das zweite Symbol des ersten Rahmens im normalen Modus kodiert und abgebildet waren, in das dritte Symbol des ersten Rahmens und das erste Symbol des zweiten Rahmens aufgespalten und abgebildet. Da der Empfänger synchronisiert ist und weiß, welches Symbol welchen Rahmens er zu jeder Zeit empfängt, steuert die CPU 405 die Deframer-Schaltung 470, um den ursprünglichen Datenstrom über Signale auf dem Bus 1076 in 19 richtig wieder zusammenzufügen. Eine konstante Verbindungs-Qualitäts-Überwachung für Rauschen, Übersprechen und Signal-Qualität wird im Hintergrund durchgeführt, die konstant durch alle Codes und Zeitschlitze zyklisch abläuft. Wenn eine Rückfall-Modus-Schwelle überschritten wird, wird der Rückfall-Modus begonnen und aufrechterhalten, bis die Bedingungen unter die Schwelle zurückkehren. Überwachte Werte werden durch eine Vielfalt-Verwaltungs-Funktion in dem CU-Computer gespeichert, der die Code-Vielfalt und Rückfall-Operationen steuert.

In noch einer weiteren Ausführungsform wird eine Vorwärts-Fehlerkorrektur nicht verwendet und des Kodierer 402 ist ein ARQ-Kodierer, der einfach ausreichend ECC-Bits addiert, um es dem Empfänger zu ermöglichen, einen Fehler zu detektieren und eine Rückübertragung anzufordern. Die Rückübertragungs-Anforderung wird auf einem der Befehls- und Steuerungskanäle ausgeführt. Bei einigen Bock-Code-Ausführungsformen verwendet der Vorwärts-Fehlerkorrektur-Kodierer 402 zyklische Codes, bei welchen die Summe von beliebigen Zwei-Code-Wörtern ein Code-Wort darstellt und irgendeine zyklische Verschiebung eines Code-Wortes ebenso ein Code-Wort ist. Man beachte, dass der Viterbi-Kodierer 468 des Empfängers, der nachfolgend in der Beschreibung diskutiert wird, nur verwendet wird, wenn der Vorwärts-Fehlerkorrektur-Kodierer 402 ein Konvolutions- oder Trellis-Kodierer ist.

Obwohl die Erläuterung des Vorwärts-Fehlerkorrektur-Kodierers 402 bisher nicht eine Erläuterung des Modulationsprozesses beinhaltet hat, der durch den Modulator 410 ausgeführt wird, wird eine Trellis-kodierte Modulation (worauf nachfolgend als TCM Bezug genommen wird) bevorzugt wegen ihrer niedrigeren Fehlerrate in Anbetracht von Kanal-Beeinträchtigungen. Die TCM-Modulation kombiniert die Vorwärts-Fehlerkorrektur und den Modulationsprozess durch wieder Definieren des Kodierens als den Prozess eines Auferlegens von bestimmten Mustern auf das übertragene Signal. Dies liefert eine effektivere Verwendung von Band-beschränkten Kanälen, als dies der Fall ist für einen vielfachen Zugriff auf HFC-Kabel-TV-Einrichtungen. Eine Trellis-kodierte Modulation ist durch drei grundlegende Merkmale charakterisiert:

  • (1) Die Anzahl von Signal-Punkten in der Konstellation, die verwendet wird, ist größer als das für das Modulationsformat von Interesse mit derselben Datenrate notwendig ist, wobei die zusätzlichen Punkte eine Redundanz für ein Vorwärts-Fehler-Steuerungs-Kodieren zulassen ohne die Bandbreite zu opfern;
  • (2) Ein Konvolutions-Kodieren der Nachrichtendaten wird verwendet, um eine bestimmte Abhängigkeit zwischen aufeinanderfolgenden Signal-Punkten einzuführen, derart, dass nur bestimmte Muster oder Sequenzen von Signal-Punkten zugelassen werden; und
  • (3) Ein Soft-Entscheidungs-Dekodieren wird in dem Empfänger durchgeführt, in welchem die zugelassene Sequenz von Signalen als ein Trellis-Code modelliert wird.

Die bevorzugte Form des Kodierers 402 ist der 16-Zustand-Trellis-Kodierer, der in 42 gezeigt ist. Dieser Kodierer ist gekennzeichnet durch Paritätsprüf-Polynome, die in oktaler Form wie folgt angegeben sind: h3 = 04, h2 = 10, h1 = 06, h0 = 23, d^2_free = 5.0, Nfree = 1.68. Der nicht lineare Term ist gegeben durch D^2 [y0(S). AND.D^(–1)y0(D)]. Weitere Einzelheiten sind in Pietrobon, Ungerboeck et al., "Rotationally Invariant Nonlinear Trellis Codes for Two Dimensional Modulation", IEEE Transactions on Information Theory, Band 40, Nr. 6, November 1994, Seiten 1773–1791.

Bei der bevorzugten Ausführungsform weist der Vorwärts-Fehlerkorrektur-Kodierer 402 mehrfache Modi auf: welche verschiedene Zahlen redundanter Bits addieren, während immer die Code-Wortlänge bei 4 Bits aufrechterhalten wird. In einem normalen Modus wird ein redundantes Bit pro Tri-Bit addiert. In einem Rückfall-Modus, wenn die Kanal-Beeinträchtigungen stark sind, werden weniger Nutz-Bits gesendet und mehr redundante Bits werden in jedem 4-Bit-Code-Wort gesendet.

Der Kodierer 402 in dem Sender ist eine State-Machine, die in Verbindung mit dem Status-Speicher 404 den Strom von Tri-Bits für jedes Symbol empfängt und ein viertes Redundanz-Bit für jedes Tri-Bit berechnet. Dieses 4te Bit liefert eine Redundanz für eine Fehler-Detektion und -Korrektur und zur Verwendung durch einen Viterbi-Dekoder 468 in dem Empfänger durch Sicherstellen mit größerer Genauigkeit der Daten, die tatsächlich gesendet wurden, trotz des Vorhandenseins von Rauschen. Das 4te Bit in jedem Tri-Bit ist Teil des Trellis-Modulationsschemas und wird durch den Konvolutions-Kodierer 402 erzeugt. Eine Tri-Bit-Konstellation würde normalerweise nur 8 Punkte aufweisen. Jedoch addiert eine Trellis-Modulation redundante Bits hinzu, die in dem Informationsstrom von Tri-Bits verteilt sind und erhöht die Größe der Konstellation, um mehr Abstand zwischen Konstellationspunkten zu ermöglichen, wodurch eine bessere Unterscheidung zwischen Punkten durch den Empfänger ermöglicht wird und die Bit-Fehlerrate erniedrigt wird, ohne die Bandbreite zu erhöhen. In rauschstarken Umgebungen, wie beispielsweise CATV-Medien, wird eine Trellis-Modulation bevorzugt, jedoch werden einige Arten der Erfindung ohne die redundanten vierten Bits arbeiten und eine kleinere Konstellation verwenden. Bei der bevorzugten Ausführungsform wird der Kodierer verwendet, um eine größere Genauigkeit zu gewährleisten und eine bessere Rausch-Immunität. Der Kodierer ist bei der bevorzugten Ausführungsform eine State-Machine, jedoch könnte er ebenso eine Lookup-Tabelle sein, die in einem RAM oder ROM etc. implementiert ist. Die Implementierung der State-Machine ist nicht kritisch, solange die Implementierung schnell genug ist, um mit der Chip-Takt-Datenrate mitzuhalten. Aus Zwecken dieser Erläuterung wird angenommen, dass der Konvolutions-Kodierer 402 vorhanden ist.

M-stellige Modulation in einem Code-Multiple-Access-System

Der Ausgang des Konvolutions-Kodierers 402 ist ein Feld von 4-Bit-digitalen Zahlen für jedes der Symbole 1, 2 und 3, gezeigt in 20. Jede dieser 4-Bit-Zahlen weist 2 Bits auf, die einen Realteil darstellen und 2 Bits, die einen imaginären Teil darstellen. Somit wird der Informationsvektor [b], der bei 481 gezeigt ist, für eine Verwendung in der Matrix-Multiplikation für ein CDMA-Spreizen jedes Symbols gebildet aus 144 4-Bit-Elementen, wobei jedes Element ein Tri-Bit plus das zusätzliche 4te Bit aufweist, das durch den Konvolutions-Kodierer 402 errechnet ist, wie in 23A gezeigt ist. Jedes 4-Bit-Symbol-Element in 23A, wie beispielsweise das Element 483 stellt ein Drittel der Informations-Bits aus dem entsprechenden Zeitschlitz in dem TDMA-Strom dar, der in den Transceiver eingegeben wird, plus dem redundanten Bit, das durch den Konvolutions-Kodierer 402 berechnet wird. 23A veranschaulicht wie der Informationsvektor [b] für jedes Symbol seine Leistung über die Zeit aufgespreizt aufweist durch den Prozess eines Code-Multiplexens, implementiert unter Verwendung einer Matrix-Multiplikation des Informationsvektors [b] jedes Symbols mit einer Matrix von orthogonalen Codes. Die ersten zwei Bits jedes 4-Bit-Symbol-Elementes werden verwendet, um die Amplitude entweder der I- oder der Q-Koordinate zu definieren, und die letzten zwei Bits werden verwendet, um die Amplitude der anderen Koordinate zu definieren. Die Konstellation von Eingabe-Punkt-Abbildungen aller möglichen Punkte, die durch ein 4-Bit-Symbol-Element oder "Chip" definiert sind, ist in 21 gezeigt. 21 bildet jeden von 16 möglichen Eingabepunkten, d.h. der Permutationen der 4 Bits jedes Chips in jedem Symbol-Feld, auf einen Punkt im Raum ab, der durch die In-Phase- oder I-Achse für den Realteil und die Quadratur- oder Q-Achse für den imaginären Teil jedes Punktes definiert ist. Die I-Koordinate jedes Punktes stellt die Amplitude für diesen Punkt dar, die dem Sinuswellen-Träger, der dem Modulator 410 in 19 zugeführt wird, um diesen Punkt zu modulieren, auferlegt wird. Die Q-Koordinate des Punktes in der Konstellation stellt die Amplitude dar, die durch den Modulator 410 dem Kosinuswellen-Träger auferlegt wird, die diesem zugeführt wird, um den Punkt in der QAM-Trellis-Modulation zu modulieren. 22 ist eine Tabelle, die alle 16 möglichen Kombinationen von 4 Bits in der Code-Spalte auflistet und die entsprechende 2er-Komplement-Digital-Darstellung der Real- und Imaginär-Koordinaten für jede Kombination in der In-Phase- bzw. Quadratur-Spalte. Beispielsweise bildet der Eingabepunkt 1100 auf einen Punkt ab, der eine +3-Imaginär-Koordinate aufweist und eine –1-Real-Koordinate aufweist in der Konstellation der 21. Die Abbildung von 21 wurde so ausgewählt, um eine maximale Trennung zwischen Punkten in der Konstellation für eine beste Rausch-Immunität zu ergeben, jedoch würde jedes andere Abbilden ebenso funktionieren. Ähnlich ist die 2er-Komplement-Darstellung nicht erforderlich für die Koordinaten, da sie genauso in anderen Zahlensystemen dargestellt werden können. Bei der bevorzugten Ausführungsform ist der Kodierer 402 ein Trellis-Kodierer, der mit einem Status-Speicher 404 gekoppelt ist. Die Funktion des Trellis-Kodierers 402 ist es, das Bit auszuwählen, das an jedes Tri-Bit anzuhängen ist, um es an einen Platz in der 16-Punkt-Konstellation von 21 zu bringen, der eine maximale Rausch-Immunität ergibt. Diese Auswahl wird entsprechend bekannten Trellis-Modulationsprinzipien ausgeführt, basierend auf den vorhergehenden Zuständen. Mit anderen Worten weist der Trellis-Kodierer 402 und der Status-Speicher 404 eine State-Machine auf, welche überleitet zu einem der 16 Zustände oder Punkte in der Konstellation, basierend während jeder Chip-Zeit basierend auf den hereinkommenden Tri-Bit-Daten und den vorhergehenden Zuständen. Der Speicher 404 ist bei der bevorzugten Ausführungsform groß genug, um den letzten Status für jeden der Zeitschlitze aufzuzeichnen, um, wenn jedes Tri-Bit ankommt, der letzte Status für den Zeitschlitz, von dem das Tri-Bit erzeugt wurde, in einem Speicher 404 nachzuschlagen und das Tri-Bit wird, basierend auf dem früheren Status dieses Kanals, kodiert.

Der Strom von 4 Bit-Symbol-Elementen, der von dem Kodierer 402 ausgegeben wird, wird im Speicher 406 als drei verschiedene lineare Felder entsprechend Symbolen 1, 2 und 3 in 20 gespeichert. Jedes 4 Bit-Symbol-Element ist eine komplexe Zahl, die aus zwei Bits gebildet wird, die die I- oder In-Phase-Koordinate eines Konstellationspunktes definieren, und 2 Bits, die die Q- oder Quadratur-Koordinate desselben Konstellationspunktes definieren. Diese zwei I- und Q-Werte werden auf Bussen 1068 und 1070 ausgegeben.

Nachdem der Tri-Bit-Strom von dem Framer 400 durch den Kodierer hindurchgegangen ist, werden die resultierenden 4 Bit-Datenströme als getrennte I- und Q-Informationsvektor-Felder für jedes Symbol im Speicher 406 gespeichert. Jedes Symbol wird gebildet aus zwei linearen Feldern von 2 Bit-Zahlen: Ein Feld beinhaltet mehrere 2 Bit-Elemente, die die realen oder In-Phase-"I"-Koordinaten für alle Elemente des Symbols definieren, und das andere Feld speichert die 2 Bit-Elemente, die die Imaginär- oder Quadratur-"Q"-Koordinate jedes Symbol-Elements definieren. Die 144 Feld-Elemente jedes Symbols definieren einen Informationsvektor b für jedes Symbol. Der Code-Multiplexer 408 spreizt dann jeden Informationsvektor getrennt mit einem getrennten orthogonalen Code für jeden Kanal und kombiniert die Spreizdaten in einen einzelnen orthogonal kodierten Datenstrom.

23 zeigt den Matrix-Multiplikationsprozess, der innerhalb des Code-Multiplexers 408 in 19 durchgeführt wird, um jedes von den zwei linearen Feldern, die jedes Symbol definieren, zu multiplizieren mit der orthogonalen Code-Matrix [c], die identifiziert ist als Matrix 407 in 23. Bei der bevorzugten Ausführungsform wird die Matrix-Multiplikation durch einen Mikroprozessor durchgeführt, jedoch wird irgendeine Vorrichtung, welche die Matrix-Multiplikation ausführen kann, hinreichend sein, um die Erfindung zu praktizieren.

Das Kodieren im CDMA-MUX 408 spreizt die Leistung der Symbole über die Zeit unter Verwendung von orthogonalen Codes oder orthogonalen zyklischen Codes. Dies wird in zwei Schritten aufgeführt. Zuerst wird ein Linear-Feld-Informationsvektor nur aus Realteilen, d.h. In-Phase-Koordinaten des zu übertragenden Symbols, symbolisiert durch das Feld 436 in 23B, mit der Code-Matrix 447 multipliziert. Diese Operation erzeugt ein weiteres lineares Feld von Real- oder In-Phase-Koordinaten längs der R-Achse eines Ergebnisraums in einer Ergebnis-Konstellation, ähnlich der Konstellation aller möglichen Eingabepunkte, die in 21 gezeigt sind. Dieses erste lineare Feld 446 definiert die Realachsen-Koordinaten in der Ergebnis-Konstellation für eine Vielzahl von Chips von dem ersten zu übertragenden Symbol.

Als Zweites wird der zweite Prozess wiederholt für das Imaginär-Koordinaten-Linear-Feld (nicht gezeigt) für das selbe Symbol für die realen Koordinaten, die gerade verarbeitet wurden. Dies resultiert in einem weiteren linearen Feld, welches die Imaginär- oder Quadratur-Koordinaten der Chips in dem Ergebnisfeld aufweist. Dieses Imaginär-Komponenten-Feld des Ergebnisfeldes ist ebenfalls in 23 nicht gezeigt.

Das Real-Komponenten-Feld, das durch das lineare Feld 409 dargestellt ist, ist Teil eines Gesamtergebnisses oder "Chips aus"-Feldes, welches sowohl die Real- als auch Imaginär-Koordinaten einer Mehrzahl von zu übertragenden Chips beinhaltet. Diese Chips bilden ab auf Punkte in dem Ergebnisraum und die Punkte in dem Ergebnisraum bilden ab auf beliebige Punkte in dem Eingangspunkt-Raum, die in den Real- und Imaginär-Komponenten in dem Informationsvektor-Feld b definiert sind, von dem Feld 405 der Realteil ist. Das Abbilden zwischen dem Eingangspunkt-Raum und dem Ergebnisraum wird definiert durch den Inhalt der Code-Matrix und die orthogonalen Codes.

Vor dem Durchführen der Matrix-Multiplikation werden die 2er-Komplement-Werte der Real- und Imaginär-Komponenten des Informationsvektors-b-Eingabefeldes in ihre dezimalen Äquivalente umgewandelt, wie in 23 gezeigt ist, bei einigen Ausführungsformen. 23 ist eine vereinfachte Version des Systems, bei der nur 4 Kanäle in 4 Elementen jedes Symbols resultieren. Die 4 realen Komponenten des Informationsvektors b, der im Feld 405 gezeigt ist, nach Umwandlung ihrer dezimalen Äquivalente, sind entsprechend von oben nach unten +3 (erste drei Bits von Kanal 1), –1 (erste drei Bits von Kanal 2), –1 (erste drei Bits von Kanal 3) und +3 (erste drei Bits von Kanal 4). Diese Spalte von Zahlen wird mit der ersten Zeile in der Code-Matrix multipliziert, um das Ergebnis 4 als die erste Real-Komponente im Feld 409 des Ergebnisfeldes zu liefern. Dieses Ergebnis wird abgeleitet aus dem Summieren der Teilprodukte wie folgt: [(3 × 1) + (–1 × 1) + (–1 × 1) + (3 × 1)] = 4. Die nächste Komponente abwärts in dem Realteil-Feld 409, d.h. 0, wird abgeleitet durch Multiplizieren der nächsten Real-Komponente abwärts in dem Feld 405 (–1) mit der zweiten Zeile der Code-Matrix in einer ähnlichen Weise, was ergibt: [(–1 × –1) + (–1 × –1) + (–1 × 1) + (–1 × 1)] = 0. Bei der bevorzugten Ausführungsform wären die Felder 405 und 409 144 Elemente lang und die Code-Matrix 407 hätte 144 Elemente in jeder Zeile und hätte 144 Zeilen. Die orthogonalen Codes sind die Spalten des Feldes. Man beachte, dass das Kanal 1-Element immer mit einem Element der ersten Spalte multipliziert wird usw. für alle Elemente des Feldes 405, wenn das Feld 405 mit jeder der 4 Zeilen im Feld 407 multipliziert wird. Somit ist die erste Spalte im Feld 407 der orthogonale Code, der verwendet wird, um die Bandbreite der Daten von dem Kanal 1-Zeitschlitz aufzuspreizen. Zur Vereinfachung der Erzeugung ist der Satz von orthogonalen Pseudo-Zufalls-Codes in der Matrix 407 ebenfalls zyklisch.

Da jeder orthogonale Code, der im Feld 407 verwendet wird, ebenso pseudo-zufällig ist, und die Rate einer Erzeugung der Chips in dem Ergebnis-Vektor (die Chip-Rate) viel höher ist als die Bandbreite der Eingabedaten, dargestellt durch den Informationsvektor 405, wird die Bandbreite der resultierenden Signale definiert durch die Ergebnis-Vektoren, die durch diesen Prozess erzeugt werden, auf ein besonders breites Spektrum aufgespreizt. Tatsächlich erstreckt sich die Bandbreite des Ergebnis-Vektors, der durch diesen Prozess erzeugt wird, bis plus und minus unendlich. Das Spreizsignal besteht aus Kopien des selben Leistungsspektrums, das von Ende bis Ende wiederholt wird, so dass das Signal durch den Empfänger wiedergewonnen werden kann, selbst obwohl nur der Abschnitt zwischen dem Passband der Verstärker auf dem Hybrid-Faser-Koax-Kanal und die Sender- und Empfänger-Filter durch die Demodulation verarbeitet werden und die Entspreizungsschaltung in dem Empfänger.

Der CDMA-MUX 408 in 19, der die Matrix-Multiplikation ausführt, kann ein programmierter Mikroprozessor sein oder eine bestimmte zugeschnittene logische Schaltung, etc. Jede Konstruktion, die die Multiplikation des Informationsvektors mit den Code-Elementen für alle aktiven Kanäle ausführen kann, wird ausreichend sein. Da die Code-Matrix gebildet ist aus reinen 1en und –1en, ist die Multiplikation vereinfacht. Falls die Codes in der Code-Matrix Hadamard-Codes sind, kann die Matrix-Multiplikation ausgeführt werden unter Verwendung des Fast-Hadamard-Transform-Algorithmus in einem Digitalsignal-Prozessor oder Mikroprozessor. Falls die Code-Matrix gebildet ist aus Sinus- und Kosinus-Termen, kann die schnelle Fourier-Transformation verwendet werden. Obwohl jeder orthogonale oder jeder zyklische Code verwendet werden kann, um die Erfindung zu praktizieren, werden zyklische Codes bevorzugt, da sie einfacher zu erzeugen sind.

Die resultierenden Real- und Imaginär-Komponenten-Linearfelder der Ergebnisse oder Chips-aus-Felder werden in einem Speicher innerhalb des CDMA-MUX 408 gespeichert, der nicht separat gezeigt ist. Die Komponenten dieser zwei Felder werden dann auf getrennten I- und Q-Bussen ausgegeben zu einem Modulator 410, wo sie verwendet werden, um die Amplituden von zwei RF-Trägern zu Amplitude-modulieren, die 90 Grad außer Phase sind unter Verwendung eines Trellis-Modulationsschemas. Die Konstellation möglicher Datenpunkte ist in 21 gezeigt. Die resultierenden zwei AM-Träger werden summiert und auf die Übertragungsmedien 412 ausgegeben. Dies wird, wie in 24 veranschaulicht, ausgeführt. Nicht gezeigt ist ein Aufwärts-Umwandlungs- oder Abwärts-Umwandlungs-Frequenz-Übersetzer, um das resultierende Signal in der Frequenz zu dem für die Benutzung bestimmten Band zu bewegen. Das für die Benutzung bestimmte Frequenz-Band hängt davon ab, ob das Übertragungsmedium 12 ein Kabel-TV-System, ein Satelliten-System etc. ist und hängt des Weiteren davon ab, ob die Signale in der Stromaufwärts- oder Stromabwärts-Richtung laufen.

Bezug nehmend auf 24 sind weitere Einzelheiten der Koordination des Multiplexers 408 und des Modulators 410 und die internen Details des Modulators 410 in 19 veranschaulicht für die Sender-Modulatoren in entweder der RU oder CU. Obwohl kleine Unterschiede zwischen den RU- und CU-Transceivern bestehen, sind sie im Allgemeinen dieselben mit einigen Unterschieden, die an anderer Stelle hierin erläutert werden. Das Ergebnis- oder Chips-aus-Feld ist im Speicher 411 gespeichert, der Teil des CDMA-MUX ist, und weist ein Real- oder In-Phase-Feld 409 und das imaginäre oder Quadratur-Feld 413 auf der 144 Ergebnispunkte oder Chips in dem Ergebnisraum. Bei jedem Chip-Takt wird ein Ergebnispunkt oder Chip, der eine reale Komponente und eine Imaginär-Komponente aufweist, auf dem Bus 451 zu einer Bit-Parse-Einheit oder einem Bit-Zerteiler 453 ausgegeben. Die Bit-Parse-Einheit 453 spaltet die reale Komponente ab und gibt diese Bits auf dem Bus 417 aus. Die Imaginär-Komponente wird heraus-geparst und diese Bits werden auf dem Bus 419 ausgegeben.

Da die RF-Signale, die die Informationen von den 144 Kanälen tragen, das Übertragungsmedium mit anderen RF-Signalen, die benachbarte Frequenzen aufweisen, teilen müssen, werden zwei optionale digitale Passband-Nyquist-Filter 421 und 423 verwendet, um die Bandbreite der Signale auf den Bussen 417 und 419 auf 6 Mhz zu begrenzen, um eine Interferenz mit Signalen auf benachbarten Frequenzen zu vermeiden. Die Digitalsignale auf den Bussen 417 und 419 haben gewöhnlich rasche Übergänge zwischen Pegeln in benachbarten Intervallen, wenn sie in ihre dezimalen Äquivalente umgewandelt sind. Dies ist in 25 veranschaulicht, die einen Plot der Änderungen in der Amplitude über die Zeit der realen Komponenten der Ergebnis-Vektoren für das Feld 409 darstellt. Diese Filter 421 und 423 sind Nyquist-Passband-Filter mit zentralen Frequenzen bei der Träger-Frequenz und weisen 6 dB-Bandbreite-Punkte auf, die jeweils in der Frequenz von der zentralen Frequenz um eine Frequenzlücke 1/(2Tc) getrennt sind, wobei Tc die Chip-Rate-Periode ist, d.h. die Zeit zwischen Übergängen von einem Chip-Pegel zu dem anderen. Die Nyquist-Filter 421 und 423 entfernen Hochfrequenz-Fourier-Komponenten, die durch scharfe Flanken in derartigen Signalen verursacht werden. Effektiv rundet dieses Filtern Ecken der Wellenform ab, definiert durch die Übergänge zwischen aufeinanderfolgenden Chip-Pegeln in dem "Chips-aus"-Feld und begrenzt den größten Teil der Leistungsdichte in dem Fourier-Spektrum derartiger Signale auf ein 6 Mhz-Band, das um die Frequenz des RF-Trägers zentriert ist, der durch den lokalen Oszillator 425 erzeugt wird. Dieser lokale Oszillator 425 erzeugt einen Sinuswellen-RF-Träger bei einer Frequenz, die so ausgewählt wird, dass sie kompatibel ist mit der Umschaltrate des TDMA-Multiplexers 408, und so dass sie nicht mit bestehenden Kabel-TV-Dienst-Signalen auf benachbarten Frequenzen interferiert. Da die lokalen Oszillatoren in den RUs und der CU, die verwendet werden für die Modulatoren und Demodulatoren alle synchron in Phase miteinander verriegelt laufen und in Phase in den RUs durch die Träger-Wiedergewinnungs-Schaltungen, die an anderer Stelle beschrieben sind, gehalten werden, werden alle lokalen Oszillatoren, die Träger erzeugen, mit 425 bezeichnet, obwohl sie getrennte Schaltungen sind, von welchen eine in der CU ist, und wovon einige in den RUs sind.

Die lokale Oszillator-COS-Welle wird an den Trägereingang 427 eines Amplituden-Modulators 429 angelegt, der auch die gefilterte reale Komponente jedes Chips auf dem Bus 431 erhält. Der Modulator 429 moduliert die Amplitude des Trägersignals auf der Leitung 427 entsprechend der Amplitude des dezimalen Äquivalents der realen Komponente auf dem Bus 431 und gibt das Ergebnis auf dem Bus 443 aus.

Die Imaginär- oder Quadratur-Komponente jedes Chips wird nach dem Filtern auf dem Bus 433 zu einem weiteren Amplituden-Modulator 435 eingegeben. Dieser Modulator empfängt an einem Trägereingang 437 eine Sinuswelle derselben Frequenz wie die Kosinuswelle auf der Leitung 427, jedoch in der Phase verschoben um 90 Grad durch den Phasen-Schieber 439. Diese lokalen Oszillator-SIN- und COS-Signale auf den Leitungen 427 und 437 werden tatsächlich in der Träger-Wiedergewinnungsschaltung 515 in 19 erzeugt und sind in der Frequenz und Phase auf den Pilot-Kanal-Ton verriegelt, der stromabwärts von der CU während des Zeitschlitzes 0 gesendet wird. Der Modulator 435 modifiziert die Amplitude der Sinuswelle entsprechend der Amplitude der Imaginär-Komponente auf dem Bus 433 und gibt das Ergebnis auf der Leitung 441 aus. Die Leitungen 443 und 441 sind mit einem Summierer 445 gekoppelt, der die zwei Wellenformen summiert und sie auf dem gemeinsamen Übertragungsmedium über die Leitung 412 ausgibt.

Bei einigen Ausführungsformen kann die Leitung 412 mit einer geeigneten Schnittstellen-Schaltung gekoppelt sein, um das Signal auf der Leitung 412 anzutreiben in einem drahtlosen oder zellularen System, einer terrestrischen Mikrowellen-Verbindung, einem Koaxial-Kabel eines Kabel-TVs, Telefons oder anderen. Systems, einer Faser-Optik-Verbindung eines Kabel-TVs, Telefons oder anderen Systems, einem Local Area Netzwerk oder einem Wide Area Netzwerk oder irgendeinem anderen Medium, das in der Zukunft entwickelt werden wird für eine Realzeit-Kommunikation von Daten. Derartige Schnittstellen-Schaltungen sind bekannt und werden hier nicht weiter beschrieben.

Bei der bevorzugten Ausführungsform werden für Zwecke einer Träger-Wiedergewinnung durch die RUs für die Stromabwärts-Daten das Signal von dem lokalen Oszillator 425 in dem CU-Sender-Modulator auch als Pilot-Kanal-Daten auf Leitung 501 zu einem Befehls- und Steuerungs-Puffer 503 in 19 geliefert. Der Befehls- und Steuerungs-Puffer speichert Daten, die zu übertragen sind, auf den Befehls- und Steuerungskanälen für die System-Verwaltung, die Konfliktauflösung, die Bereichsbildung etc. durch entweder den RU- oder CU-Transceiver. Diese Daten werden von der CPU 405 über den Bus 497 empfangen. Der Bus 505 koppelt diese Daten zu einem Eingang eines Schalters 507, der einen zweiten Eingang aufweist, der gekoppelt ist, um die Nutzdaten auf dem Bus 360 von dem Framer zu empfangen. Der Schalter wählt einen dieser Busse als die Datenquelle aus, die auf dem Bus 509 zu dem Vorwärts-Fehlerkorrektur-Kodierer 402 für ein Trellis-Kodieren ausgegeben wird. Das Schalten des Schalters 507 wird durch die CPU 405 gesteuert durch ein Steuerungssignal auf der Leitung 511.

Der Pilot-Kanal-Daten-Bus 501 ist phantomhaft in 19 gezeigt, um die Tatsache darzustellen, dass diese Pilot-Kanal-Daten bei der bevorzugten Ausführungsform nur in den Befehls- und Steuerungs-Puffer 503 eingegeben werden, falls der Transceiver von 19 in der CU ist.

Falls der Transceiver von 19 in der RU ist, werden keine Pilot-Kanal-Daten in den Befehls- und Steuerungs-Puffer eingegeben. Statt dessen sind die lokalen Oszillatoren in dem Empfänger und Sender synchronisiert auf die Frequenz und Phase des Pilot-Kanals. Eine Träger-Wiedergewinnung, d.h. eine Träger-Synchronisation der Frequenz und Phase des RU-Lokal-Oszillators 425 auf die Pilot-Kanalsignal-Sendung im Zeitschlitz 0 in der CU ist die Funktion der Träger-Wiedergewinnungs-Schaltung 515 in 19. Insbesondere wird ein lokales Oszillator-Träger-Signal geliefert durch eine Träger-Wiedergewinnungs-Schaltung 515 zum Demodulator 460 als das COS-Signal auf Leitung 427. Das Lokal-Oszillator-COS-Signal auf Leitung 427 ist in Phase und Frequenz mit dem CU-Lokal-Oszillator-Träger-Signal synchronisiert, das verwendet wurde, um die am Eingang 521 empfangenen Signale zu modulieren. Ähnlich überträgt in dem RU-Sender 401 von 19 die Träger-Wiedergewinnungs-Schaltung 515 ein lokales Oszillator-Signal auf Leitung 427, das in Frequenz und Phase auf das Pilot-Kanalsignal synchronisiert ist. Dieses Signal wird in den RU-Sender-Modulator 410 eingegeben, so dass seine Signale kohärent mit dem RU-Empfänger sind. Jedoch müssen Präambel-Daten in die Daten jedes Zeitschlitzes eingefügt werden für eine Verwendung durch den RU-Empfänger, um die Phase und Amplitude der Signale für diesen Zeitschlitz zu erhalten. Dies ist der Fall, da sich jede RU bei einer anderen Entfernung von der CU befindet, so dass selbst, obwohl die RU-Sender-Modulatoren dieselben Frequenz- und Phasen-Lokal-Oszillatoren verwenden, wie die CU, die verschiedenen Ausbreitungszeiten und Kanal-Beeinträchtigungen eine Phasen- und Amplituden-Ungenauigkeit erzeugen, welche die CU separat für jeden Zeitschlitz lösen muss. Die Weise, in der dies unternommen wird, wird weiter unten nach dem Ende der Beschreibung der Träger-Wiedergewinnungs-Schaltung 515 beschrieben.

Die Träger-Wiedergewinnungs-Schaltung 515 kann irgendeine herkömmliche Phasen-Verriegelungs-Schleife-Takt-Wiedergewinnungsschaltung, Schleife M-ter Ordnung, Costas-Schleife, Schleife mit unterdrückter Träger-Verfolgung etc. sein. Bei der bevorzugten Ausführungsform nimmt die Träger-Wiedergewinnungs-Schaltung in den RU-Empfängern die in 35 gezeigte Form an. Die Schaltung von 35 ist im Prinzip eine Phasen-Verriegelungs-Schleife, welche ein Slicer-Fehlersignal während des Zeitschlitzes 0 mit der Frequenz und Phase des lokalen Oszillators vergleicht. Die Schaltung erzeugt dann ein Fehlersignal, basierend auf dem Vergleich, um die Frequenz und Phase eines spannungsgesteuerten Oszillators 425 auf die Frequenz und Phase eines Pilot-Kanalsignals einzustellen, das während des Zeitschlitzes 0 übertragen wird. Der spannungsgesteuerte Oszillator 425 dient als der lokale Oszillator für den Demodulator 460 und den Modulator 410. Insbesondere erzeugt der Slicer-Detektor 466 ein Slicer-Fehlersignal auf dem Bus 519, welches zumindest den Phasenfehler zwischen dem empfangenen Signal und einem rechtmäßigen Punkt in der Konstellation kennzeichnet. Während des Zeitschlitzes 0 wird das Signal auf 519 (welches demoduliert worden ist unter Verwendung des lokalen Oszillator-Signals auf der Leitung 427) den Phasenfehler zwischen dem lokalen Oszillator-Signal auf Leitung 427 und dem Pilot-Kanal kennzeichnen. Dieser Phasenfehler kann verursacht sein durch einen Phasenfehler zwischen dem lokalen Oszillator-Signal auf Leitung 427 und dem Pilot-Kanalsignal, oder aufgrund von Beeinträchtigungen auf dem Kanal, wie beispielsweise Rauschen oder es kann eine Kombination dieser beiden sein. Da der Effekt von Rauschen zufällig ist, jedoch ein Phasenfehler zwischen dem Pilot-Kanal und dem lokalen Oszillator konstant ist, bis er korrigiert ist, wird die Phasenfehler-Komponente, die durch Rauschen verursacht ist, durch Mittelung in einem Tiefpass-Filter 523 entfernt. Dieses Slicer-Fehlersignal auf Leitung 519 wird mit einer Fehler-Berechnungs-Schaltung 521 gekoppelt, welches auch das lokale Oszillator-Signal auf Leitung 427 empfangt. Der Phasenfehler wird berechnet und auf Bus 525 zum Tiefpass-Filter 523 ausgegeben, der den Phasenfehler über die Zeit mittelt, wodurch die Rausch-Komponente entfernt wird. Das resultierende ermittelte Fehlersignal wird auf dem Bus 527 mit der Fehlersignal-Eingabe eines spannungsgesteuerten Oszillators 425 gekoppelt, der als der lokale Oszillator der RU dient (man beachte, dass der lokale Oszillator 425 ebenso im Modulator 410 angeordnet sein könnte wie in 24 gezeigt ist, oder in dem Demodulator 460 angeordnet sein könnte). Das Fehlersignal korrigiert die Phase des lokalen Oszillator-Ausgangs-Signals auf den Leitungen 427, welches mit dem Demodulator 460 und dem Modulator 410 gekoppelt ist. Die Fehler-Berechnungs-Schaltung 521 empfängt auch ein Zeitschlitz-Nummer-Freigabe-Signal auf Leitung 531 von der CPU 405. Dieses Signal kennzeichnet, wenn Zeitschlitz-0-Daten am Slicer 466 empfangen werden und veranlasst, die Fehler-Berechnungs-Schaltung nur dann zu aktivieren, wenn Zeitschlitz-0-Pilot-Kanal-Daten empfangen werden.

Eine alternative Träger-Wiedergewinnungs-Bereichsbildung ist in 36 gezeigt, wo Elemente, die gleiche Bezugsziffern wie Elemente in 19 aufweisen, demselben Zweck in der Kombination dienen und hier nicht erläutert werden. Die Ausführungsform von 36 verwendet einen zusätzlichen CDMA-Demultiplexer 461, der nur die Pilot-Kanal-Daten auf dem Zeitschlitz 0 wiedergewinnt durch Umkehren des CDMA-Spreizprozesses über eine transponierte Matrix für den zugeteilten CDMA-Code, der verwendet wurde, um Zeitschlitz 0 zu spreizen. Die empfangenen Zeitschlitz-0-Daten werden auf dem Bus 465 zu einem anderen Slicer 463 ausgegeben zusätzlich zu dem Slicer 466, der die Pilot-Kanal-Daten auf einen bekannten Punkt in der BPSK-Konstellation abbildet, die verwendet wurde, um das Pilot-Kanalsignal zu übertragen und ein Zeitschlitz-0-Slicer-Fehlersignal erzeugt, das auf der Leitung 519 ausgegeben wird. Das Slicer-Fehlersignal wird verglichen mit dem lokalen Oszillator-Signal auf Leitung 427 durch eine Fehler-Berechnungs-Schaltung 521 und ein Phasen-Fehlersignal wird auf Leitung 531 ausgegeben. Dieses Phasen-Fehlersignal wird durch den Tiefpass-Filter 523 gemittelt und das resultierende Fehlersignal wird mit dem Fehlersignal-Eingang des spannungsgesteuerten Oszillators gekoppelt. Das Ausgangssignal von dem VCXO 425 wird über Leitung 427 als das COS-Signal mit dem Demodulator 460 und dem Modulator 410 gekoppelt. Eine 90 Grad-Phasen-Verschiebung wird auf das COS-Signal in jeder dieser Einheiten angewandt, um das SIN-Signal auf Leitung 437 zu erzeugen. Die SIN- und COS-Signale können entweder in digitaler oder analoger Form in verschiedenen Arten innerhalb der Gattung der Erfindung vorliegen.

Nochmals Bezug nehmend auf 19 werden die Vorrichtung und das Verfahren, mit welchen eine Stromaufwärts-Träger-Wiedergewinnung, eine Verstärkungssteuerung und eine Symbol-Synchronisation erreicht werden, beschrieben.

Obwohl alle RU-Lokal-Oszillatoren in der Frequenz und Phase mit dem Pilot-Ton von der CU synchronisiert sind, verursachen die abweichenden Entfernungen von jeder RU zu der CU zwei verschiedene Probleme. Die QAM-Signal-Demodulation, die bei der bevorzugten Ausführungsform verwendet wird, hängt mit ihrer Genauigkeit von der Möglichkeit ab, genau zwischen den Amplituden und Phasen von jedem empfangenen Punkt zu unterscheiden. Die unterschiedlichen Ausbreitungszeiten und. unterschiedlichen Kanal-Beeinträchtigungen, die durch das Signal jeder RU erfahren werden, verursachen sowohl Amplituden- als auch Phasenfehler in den empfangenen Daten, die bestimmt und korrigiert werden müssen, um eine genaue QAM-Demodulation am CU-Empfänger zu erhalten. Die Weise, in der dies ausgeführt wird, ist, für jede RU bekannte Präambel-Daten zur CU in den Zeitschlitzen zu senden, die momentan dieser RU zugeteilt sind, bevor der Block von Nutzdaten gesendet wird. Die CPU in der CU teilt die Zeitschlitze den verschiedenen RUs zu und informiert sie so in Verwaltungs- und Steuerungsnachrichten auf den Verwaltungs- und Steuerungskanälen. Bei der in 19 gezeigten Ausführungsform verfolgen die CPUs in den RUs den Prozess eines Teilens der Nutzdaten von ihren Peripherie-Geräten/Benutzer-Vorrichtungen in 8 Bit-Bytes und helfen diesen zu steuern, addieren ein 9tes Bit, um das Protokoll höheren Niveaus zu unterstützen und senden die 9 Bit-Bytes während der zugeteilten Zeitschlitze. Bevor die Nutzdaten gesendet werden, aktiviert die CPU in der RU ein Präambel-Signal auf der Leitung 1094, welches das Schalten durch einen Multiplexer 1076 aktiviert. Dieser Multiplexer empfängt die kodierten I- und Q-Informationsvektor-Daten auf Bussen 1068A und 1070A an einem Eingang und vorbestimmte, festgelegte I- und Q-Werte für Präambel-Daten auf Bussen 1078 und 1080 an einem anderen Eingang. Wenn das Schalt-Steuerungssignal auf Leitung 1074 aktiviert ist, wählt der Multiplexer die Daten auf den Bussen 1078 und 1080 aus für ein Koppeln zu den Bussen 1068B und 1070B zur Speicherung im Speicher 406. Die Daten auf den Bussen 1078 und 1080 definieren einen bekannten Punkt 3-j in der QAM-Konstellation.

Leitung 1074, Busse 1078 und 1080 und Multiplexer 1076 sind nur in den RU-Sendern vorhanden, da die hier beschriebene Technik nur bei den Stromaufwärts-Daten verwendet wird, um eine genaue Synchronisation zu erreichen.

In dem RU-Empfänger ist der Slicer-Detektor 466 verantwortlich für ein Vergleichen der empfangenen Daten mit dem bekannten Präambel-Konstellationspunkt während eines Präambel-Empfangs, um die Verstärkung und Phasenfehler zu bestimmen. Das empfangene Signal nimmt die folgernde Form an: a·e·s(t), wobei

s(t)
das gewünschte Signal ist;
a
= der Amplituden-Fehler, der durch Kanal-Beeinträchtigungen und das Nah-Fern-Problem hervorgerufen wird; und
e
= der Phasenfehler, der durch Kanal-Beeinträchtigungen und das Nah-Fern-Problem verursacht wird.

Der Slicer-Detektor 466 in 19 umfasst mehrere Schaltungen, die in 34 gezeigt sind. Der Slicer-Detektor 466 arbeitet so, dass er einen Multiplikationsfaktor ableitet, der mit dem empfangenen Signal zu multiplizieren ist, um den Amplituden- und Phasenfehler aufzuheben, derart, dass s(t) als der Konstellationspunkt 3-j ohne irgendeinen Slicer-Fehler detektiert wird. Die Amplituden- und Phasenfehler-Koeffizienten in dem Multiplikationsfaktor, der den Slicer-Fehler auf 0 reduziert, werden dann im Speicher 796 zur Verwendung durch den Slicer beim Empfangen der Nutzdaten für diese(n) Zeitschlitz(e) verwendet, der der RU zugeteilt ist, für welche der Multiplikationsfaktor gespeichert wurde.

Stromaufwärts-Träger-Wiedergewinnungs-Fehler-Korrektur-Faktor pro Zeitschlitz

Insbesondere ist es die Aufgabe des CU-Empfänger-Slicer-Detektors 466, die korrekten 1/a und e–jØ-Koeffizienten in einen Multiplikationsfaktor der Form zu bestimmen: (1/a)·e–jØ(5), wobei

1/a
der Verstärkungs-Korrektur-Koeffizient ist, um das Nah-Fern-Problem zu lösen und um Kanal-Beeinträchtigungen zu korrigieren; und
e–jØ
ist der Phasenfehler-Korrektur-Koeffizient, um das Nah-Fern-Problem zu lösen und um Kanal-Beeinträchtigungen zu korrigieren.

Das Nah-Fern-Problem beinhaltet Interferenz bei Empfang schwacher Signale, die von einem entfernten Transceiver übertragen werden durch starke Signale, die durch einen nahen Empfänger übertragen werden. Im Stand der Technik wird dies häufig durch Zeit-Multiplexen gelöst, so dass die zwei Sender nie zur selben Zeit übertragen. In der Umgebung der Erfindung wird diese Lösung nicht funktionieren, da alle RUs in der Lage sein müssen, immer dann zu übertragen, wenn sie übertragen müssen, falls Bandbreite verfügbar ist. Daher werden bei der Erfindung die Amplituden-Pegel der Signale, die durch die RUs übertragen werden, so gesteuert, dass alle Signale, die von den RUs an der CU ankommen, ungefähr mit den selben Amplituden ankommen sollten, und Kanal-Beeinträchtigungs-Effekte werden durch Verstärkungspegel-Einstellungen in dem CU-Empfänger an einem Punkt korrigiert, bevor das Basisband-Signal in den Slicer eintritt, um Interpretationsfehler, die durch Amplituden-Fehler verursacht werden, zu minimieren. Ähnlich korrigiert ein Rotations-Verstärker in dem Slicer-Detektor Phasenfehler, die durch abweichende Ausbreitungsverzögerungen und Kanal-Beeinträchtigungen verursacht werden, bevor das Basisband-Signal in den Slicer eintritt, um diese Fehlerquelle zu minimieren. Für eine Erläuterung des iterativen Prozesses, der durch diese Schaltung während der Präambel für jeden Zeitschlitz ausgeführt wird, um die Werte für die Amplitude- und Phasenfehler-Korrektur-Koeffizienten zur Verwendung beim Empfangen der Nutzdaten für diesen Zeitschlitz einzurichten, betrachte man die Erläuterung des Zusammenwirkens des G2-Verstärkers 788, des Rotationsverstärkers 765, des Slicers 800, der Steuerungsschleife 781 und des Speichers 796 in 34.

Somit wird eine kohärente Modulation und Detektion sowohl für Stromaufwärts- als auch für Stromabwärts-Übertragungen verwendet. Für Quadratur-Modulationsschemen beinhaltet der Modulator 410 und der Demodulator 460 eine Phasen-Verschiebungs-Schaltung, um die Phase der Signale auf Leitung 427 um 90 Grad zu verschieben, so dass sowohl die Sinus- als auch Kosinus-Lokal-Träger-Wellenformen, die in Phase und Frequenz auf Sinus- und Kosinus-Wellenformen synchronisiert sind, die in dem CU-Modulator verwendet werden, für die Modulations- und Demodulations-Aufgaben in der RU verfügbar sind.

Die Pilot-Kanal-Daten auf dem Zeitschlitz 0 werden mit einem zugeteilten CDMA-Code im CDMA-Multiplexer 408 für eine Übertragung auf dem Zeitschlitz-0-Verwaltungs- und Steuerungskanal als die Pilot-Kanal-Daten gespreizt, die den CU-Master-Takt kodieren. Jeder RU-Empfänger beinhaltet eine Träger-Wiedergewinnungs-Schaltung 515, welche dieses Pilot-Kanalsignal überwacht und die Synchronisationsinformation auf Leitung 427 erzeugt. Die Verwendung eines Pilot-Kanalsignals auf einem von den Befehls- und Steuerungskanälen ist nur eine der Möglichkeiten die Träger-Frequenz- und Phasen-Information zu verteilen. Andere Möglichkeiten sind eine Übertragung irgendeiner modulierten Wellenform, die durch die RU-Empfänger detektiert werden kann, in welcher die CU-Träger-Frequenz- und Phasen-Information in der Modulation kodiert ist.

Die Form der Träger-Wiedergewinnung, die oben beschrieben wurde, ist für eine kohärente Detektion bevorzugt. In alternativen Ausführungsformen könnte auch ein inkohärente Detektion ebenso benutzt werden unter Verwendung irgendeines bekannten Geräts für eine inkohärente Detektion. Die Technologie für einen derartigen inkohärenten Empfänger ist beschrieben in Haykin, Communication Systems, auf Seiten 503505 und wird durch Bezugnahme hierin inkorporiert.

Eine andere Form einer Synchronisation, die erforderlich ist, ist die Symbol-Synchronisation. Der Empfänger muss die Zeitmomente kennen, wann die Modulation ihren Status ändern kann. Das bedeutet, dass die RU- und CU-Empfänger die Startzeit und Endzeit jedes Chips kennen müssen, um zu dechiffrieren, was dieser Chip gewesen ist. Dies ermöglicht dem Empfänger zu bestimmen, wann sein Produkt-Integrator oder eine andere Chip-Status-Detektionsschaltung abzutasten und zu quenchen ist für Zwecke eines Beginns des Chip-Dekodier-Prozesses. Eine Symbol-Synchronisation in dem Kontext der Erfindung ist eine Wiedergewinnung des CU-Chip-Taktes in jeder RU. Bei der bevorzugten Ausführungsform wird eine Wiedergewinnung des CU-Chip-Taktes ausgeführt durch Korrelieren in jeder RU eines bekannten Barker-Codes, der während jeder Lücke durch die CU übertragen wird, mit dem Barker-Code, der den Chip-Takt darin kodiert. Jede RU verwendet einen Korrelator mit einem Früh-Spät-Gatter, um den Barker-Code zu detektieren und um den Chip-Takt der RU mit dem CU-Chip-Takt synchronisiert zu erhalten, der in dem Barker-Code kodiert ist. Dieser Prozess der Chip-Takt-Synchronisation wird durch den Rahmen-Detektor 513 in 19 und Rahmen-Detektor 882 in 34 ausgeführt. Der Rahmen-Detektor 513 und der Rahmen-Detektor 882 beinhalten jeweils eine Grob- als auch eine Fein-Abstimmungsschaltung. Die Grob-Abstimmungsschaltung führt eine Stromabwärts-Rahmen-Synchronisation durch Lokalisieren der Lücke in jeder CU-Rahmen-Übertragung durch, durch Finden eines bekannten Barker-Codes, der durch die CU in der Lücke übertragen wird. Sobald die Lücke lokalisiert ist, wird die Zeitbasis-Schaltung 886 in 19 auf diese Empfangsrahmen-Zeitgabe-Referenz durch ein Signal auf dem Bus 1031 synchronisiert, und die Zeitbasis 886 in 34 wird durch den Rahmen-Detektor 882 auf die Empfangsrahmen-Zeitgabe-Referenz durch ein Signal auf Leitung 1092 synchronisiert. Die Zeitbasis-Schaltung 886, wird gebildet aus einer Reihe von Kaskaden-mäßig angeordneten Zählerstufen, die einen Hochgeschwindigkeits-Eingangstakt empfangen, der Phasen-verriegelt ist durch das Takt-Steuerungssignal von dem Rahmen-Detektor (Leitung 900 in 19, Leitung 192 in 34). Die Kaskaden-mäßigen Zähler erzeugen die Chip-Takt-, Rahmen-Takt-, Superrahmen-Takt- und Kilorahmen-Taktsignale. Die Zeitbasis sowohl in dem Empfänger als auch dem Sender jedes Modems beinhaltet einen Chip-Zähler und einen Rahmen-Zähler, sowie Abtastregister, die verwendet werden, um die Zeitbasis mit externen Signalen korrekt auszurichten. Sobald die Zeitbasis auf diese externen Signale ausgerichtet ist, werden alle internen Zeitgabe-Erfordernisse der Modems durch die Zeitbasen bedient, so dass sie nicht von externen Signalen für den Betrieb abhängen, jedoch werden die externen Signale auf Verlust oder Verschiebung überwacht. In dem Fall der CU sind die externen Signale, auf welche die Zeitbasis ausgerichtet ist, die Zeit-gemultiplexten Eingaben an den Sender. In dem Fall der RU sind die externen Signale die Lücke-Detektionsrahmen- und Kilorahmen-Signale, die aus den Stromabwärts-Daten abgeleitet werden.

Die Zeitbasis-Schaltung 886 liefert die Signale, welche eine Empfangsrahmen-Zeitgabe-Referenz-Information für jede Schaltung in dem Empfänger oder Sender beinhalten, der diese Information benötigt, wie z.B. der orthogonale Demultiplexer 462 des Empfängers in 19 und der orthogonale Code-Demultiplexer 766 in dem Empfänger von 34. Die Zeitbasis-Schaltung überprüft auch kontinuierlich die Position der Lücke durch Abtasten eines Lücke-Detektionssignals von dem Rahmen-Detektor über mehrere Rahmen, um eine Rahmen-Synchronisation aufrechtzuerhalten und um zu wissen, wann die Rahmen-Synchronisation verlorengegangen ist. Wenn die Lückenposition verlorengegangen ist, versucht das Modem sofort auf die Lücke wieder zu synchronisieren.

Die orthogonalen Code-Multiplexer in den RU- und CU-Sendern erhalten auch Rahmen-Zeitgabe-Referenz-Signale, doch richten diese Rahmen-Zeitgabe-Referenz-Signale die Grenzen der Rahmen-Zeitgabe-Referenz der CU ein, da jeder RU-Sender seine Übertragungen und die andere Verarbeitung so zeitlich steuert, dass Rahmen, die davon übertragen werden, an der CU gleichzeitig mit den CU-Rahmengrenzen ankommen. Und, selbstverständlich muss der CU-Sender seine Rahmen in Synchronisation mit den CU-Rahmengrenzen übertragen. Dafür wird das Empfangsrahmen-Zeitreferenz-Signal, das durch den Rahmen-Detektor 882 in 34 und 513 in 19 erzeugt wird, zu der lokalen CPU des Modems gesendet oder einer anderen Steuerungsschaltung 405 über den bidirektionalen Bus 902 in 19 und über den Bus 883 und den DMA-Speicher 763 in 34. Die CPU oder eine andere Steuerungsschaltung 405 verwendet dann diese Rahmen-Zeitgabe-Referenz, um die Zeitgabe der Übertragungsrahmen-Zeitgabe-Verzögerung Td auf Leitung 499 zu den Sender-Rahmen-Schaltungen 400 und 508 in 19 bzw. 28A einzustellen.

Die Feinabstimmungs-Schaltung in den Rahmen-Detektoren 513 und 882 in 19 bzw. 34 führen eine Takt-Wiedergewinnung für eine Symbol-Synchronisation unter Verwendung von Früh-Spät-Gatter-Techniken in Verbindung mit einer Korrelation aus, um ein Takt-Steuerungs-Verfolgungs-Fehlersignal auf Bus 900 zu erzeugen. Dieses Signal korrigiert die Phase eines spannungsgesteuerten Oszillators 784 in 34, der durch den Zeitbasis-Generator 886 in der RU verwendet wird, um ein lokales Chip-Taktsignal zu erzeugen, das synchron ist mit dem Chip-Takt in der CU. Dieses wiedergewonnene Master-Chip-Taktsignal und andere Zeitgabe-Signale, die davon erzeugt werden, werden an verschiedene Schaltungen in dem RU-Modem-Sender und -Empfänger verteilt, die es benötigen, um die Verarbeitung synchron mit der Verarbeitung in der CU zu halten.

Die Grob-Einstellungs-Schaltung in den Rahmen-Detektoren 513 und 882 arbeitet zusammen mit einem Software-Prozess, der in der CPU 405 abläuft, um die CU-Rahmen-Lücken zu lokalisieren. Dies wird ausgeführt unter Verwendung von Steuerungs- und Zeitgabe-Signalen auf dem Bus 902 auf der CPU und die Real- und Imaginär-Daten-Komponenten auf dem Bus 904, die durch den Demodulator 460 in 19 ausgegeben werden, und dem angepassten Filter 761 in 34 (s. 38 für weitere Einzelheiten des Rahmen-Detektors). Dieser Lücken-Lokalisierungsprozess wird erreicht durch kontinuierliches Bewegen der Grenze eines gleitenden Korrelationsfensters, bis eine Korrelationsspitze zu derselben Zeit zumindest zweimal aufeinander folgend auftritt. Wie dies funktioniert, wird in weiteren Einzelheiten mit Bezugnahme auf 38 erläutert.

Bezug nehmend auf 38 ist dort ein Blockdiagramm der bevorzugten Form eines Bereichsbildungs-Detektors gezeigt, der das Herz des Rahmen-Detektors 513 in jeder RU bildet, und der in der CU für eine Bereichsbildungs-Detektion von Barker-Codes verwendet wird. Hiernach wird auf die Schaltung 38 als den Bereichsbildungs-Detektor Bezug genommen, obwohl er eine Rahmen-Detektion hat und auch Chip-Takt-Synchronisations-Funktionen.

Der Bereichsbildungs-Detektor weist einen Akquisitionsmodus und einen Verfolgungsmodus auf. Im Akquisitionsmodus versucht er einfach einen bekannten Barker-Code schnell zu finden, der in der Sammlung von Signalen auf dem Bus 904 ankommt. Bei der bevorzugten Ausführungsform, bei der die Übertragungsdaten durch einen Filter mit hochgezogenem bzw. angehobenem Quadrat-Kosinus durchgeführt werden, ist der Bus 904 mit dem Ausgang eines angepassten Filters, wie dem angepassten Filter 761 in 34, gekoppelt, der eine Transferfunktion aufweist, welche das Inverse einer Funktion mit angehobenem Quadrat-Kosinus ist, jedoch in anderen Ausführungsformen können die zwei Filter weggelassen werden. Der Bus 904 trägt Daten, welche den Realteil des empfangenen Signals auf Leitungen 906 definieren, und den Imaginär- oder Quadratur-Teil des empfangenen Signals auf Leitungen 908.

Im Akquisitionsmodus besteht das Interesse darin, die Lücke schnell zu finden durch Korrelieren der hereinkommenden Signale mit dem bekannten Barker-Code, jedoch kann dies ausgeführt werden einfach durch Betrachten der Sequenz von Vorzeichen von Signalen, die empfangen wurden, da der bekannte Barker-Code eine bekannte, eindeutige Sequenz von Chips von abweichenden Vorzeichen, jedoch mit konstanter Amplitude ist. Der Barker-Code kann effektiv im Verfolgungsmodus lokalisiert werden durch Suchen nach nur der Sequenz von abweichenden Vorzeichen in den empfangenen Daten. Daher sendet im Verfolgungsmodus die CPU ein Auswahl-Steuerungssignal acq auf dem Bus 902, um den Status von Schaltern 906 und 908 zu steuern, um die Signale auf den Bussen 910 und 912 auszuwählen. Die Signale auf den Bussen 910 und 912 sind die Ausgaben der Schaltungen 914 und 916, welche dazu dienen, die hereinkommenden Signale auf dem Bus 904 mit Null zu vergleichen, und eine erste Zahl auszugeben, falls das Vorzeichen des hereinkommenden Chips ein + Zeichen ist, und eine zweite Zahl auszugeben, falls das Vorzeichen des hereinkommenden Chips ein – Zeichen ist. Wenn acq nicht bestätigt wird, werden die Rohdaten auf den Bussen 918 und 920 ausgewählt für ein Durchführen durch die Schalter 906 und 908. Das acq-Signal geht auch durch das ODER-Gatter 922 hindurch, um die Ausgangssignale von den Schaltern 906 und 908 hindurch Tor-zusteuern, zu Endlich-Impulsantwort-Filtern 924 und 926 im Akquisitionsmodus für eine Korrelation. Das ODER-Gatter 922 empfängt ebenso ein GAP_a-Signal, welches durch die CPU über den Bus 902 bestätigt wird, wenn die CPU denkt, dass es in der Lücke ist aufgrund von Signalen von dem Rahmen-Detektor. Daher werden die Signale auf den Bussen 928 und 930 von den Schaltern 906 und 908 durch FIR-Filter die ganze Zeit korreliert sein, wenn der Bereichsbildungs-Detektor im Akquisitionsmodus ist und während er im Verfolgungs-Modus ist, nur während der Lücke.

Die FIR-Filter 924 und 926 weisen Impulsantwort-Funktionen auf, die programmierbar sind und die durch die CPU 405 so eingestellt werden, dass sie mit der Barker-Sequenz zusammenpassen, nach welcher der Empfänger sucht. Die Barker-Sequenz, nach der gesucht wird, ist definiert durch Daten, die durch die CPU 405 in das Register 932 geschrieben werden. Wenn diese exakte Sequenz von + und – Chips in einem der FIR-Filter vorliegt, wird die Filter-Ausgabe einen Spitzenwert erreichen. Die Absolutwert-Schaltungen 934 und 936 sind mit den Ausgängen der FIR-Filter gekoppelt und geben die Absolutwerte der FIR-Ausgangssignale auf den Bussen 938 und 940 aus. Die Schaltung 942 weist zwei verschiedene Modi auf, die durch das acq-Signal auf Leitung 943 ausgewählt werden. Im Akquisitionsmodus, wenn der Empfänger versucht, die Lücke anfangs zu lokalisieren, wählt die Schaltung 942 das größere der Signale auf den Bussen 946 oder 948 für eine Ausgabe auf den Bus 944 aus. Im Verfolgungs-Modus wird die Summe der Signale auf den Bussen 946 und 948 auf den Bus 944 ausgegeben.

Der Komparator 950 wirkt so, dass er eine minimale Schwelle einstellt oberhalb derer die FIR-Ausgabe-Spitzen ansteigen müssen, bevor sie gezählt werden als ein möglicher Empfang des CU-Barker-Codes. Der Komparator vergleicht die Signale auf dem Bus 944 auf einen Schwellwert-Pegel auf dem Bus 945, und, falls die Schwelle überschritten wird, gibt er eine logische 1 auf dem Bus 951 während des Intervalls aus, wenn die Schwelle überschritten wird. Der Schwellwert-Pegel wird eingestellt durch Daten, die in das Register 952 durch die CPU 405 über den Bus 902 geschrieben sind. Die Anzahl von Spitzen wird gezählt durch einen Falsch-Alarm-Zähler 952, dessen Ausgabe im Register 960 gespeichert wird, das periodisch durch die CPU in einem Prozess eines Überwachens und Steuerns des Bereichsbildungs-Detektors gelesen wird. Ein Prozess in der CPU 405, der die Anzahl von falschen Alarmen überwacht, stellt die Anzahl von Rahmen ein, über die falsche Alarme gezählt werden durch Schreiben einer Anzahl von Rahmen in das Register 956. Diese Anzahl wird in den Intervall-Zähler 954 geladen, der von dieser Anzahl abwärts zählt durch Zählen der GAP_b-Signale auf Leitung 957, die als eines pro Rahmen auftreten. Wenn der Zählwert Null erreicht, wird die Leitung 958 aktiviert, welche den Falsch-Alarm-Zähler 952 löscht, den Zählwert bestätigt vor dem Löschen im Register 960 und den Zähler 954 vom Register 956 zurücklädt. Wenn die CPU bestimmt, dass die Anzahl von falschen Spitzen zu groß ist, entsprechend der Anzahl im Register 960, hebt sie die Schwelle an durch Schreiben neuer Daten ins Register 952, um die Schwelle anzuheben.

Ein Grob-Abstimmen, um die Lücke zu finden, wird durch den Bereichsbildungs-Detektor wie folgt erreicht. Die CPU beginnt mit einer Abschätzung davon, wann sie denkt, dass die Lücke beginnen wird. Zu dieser Zeit wird das Signal GAP_a auf dem Bus 902 während jedes Rahmen-Intervalls bestätigt. Die CPU wird nur auf Spitzen während der Lücke in jedem Rahmen-Intervall schauen, so dass sie ein gleitendes Fenster verwendet, um die Zeit zu beschränken, während derer sie nach Spitzen sucht. Das gleitende Fenster ist symbolisiert durch die Klammer 962 in 39. Die Grenzen dieses Fensters sind eingerichtet durch Daten, die durch die CPU 405 in dem Register 964 eingerichtet werden, in einer Weise, die nachfolgend beschrieben wird.

Die Schaltung 970 übergibt nur die erste Spitze auf den Ausgang des UND-Gatters 968, die auftritt, nachdem das GAP_a-Signal anzeigt, dass angenommen wird, dass die Lücke begonnen hat. Ein Zeitbasis-Zähler 972 zählt Chip-Taktsignale auf Leitung 974 und wird gelöscht durch das GAP_a-Signal für jeden Rahmen. Wenn die Schaltung 970 eine Spitze (genauer, einen Logisch-1-Pegel) auf den Bus 976 übergibt, wird der momentane Zählwert des Zeitbasis-Zählers 972, der auf den Bus 980 ausgegeben wird, abgetastet und im Register 978 gespeichert. Der Zählwert auf dem Bus 980 ist auch gekoppelt mit einem Vergleichseingang eines Größer-Gleich-Komparators 965, dessen anderer Eingang gekoppelt ist, um die Ausgabe des Registers 964 zu empfangen. Die Ausgabe des Komparators 965 ist das Gatter-Signal auf Leitung 966. Da der Zählwert des Zeitbasis-Zählers 976 auf Null zurückgesetzt wird in dem Moment, wenn die CPU denkt, dass die Lücke beginnt, stellt der Zählwert, der im Register 978 gespeichert ist, einen Offset-Fehler dar, der anzeigt, um wie viel später die Lücke tatsächlich begonnen haben könnte, verglichen mit der Zeit, von der die CPU angenommen hat, dass die Lücke begonnen hat.

39 ist ein Zeitgabe-Diagramm, das hilfreich ist, den Grob-Abstimmungsprozess zu erläutern, um die Zeit zu finden, zu der die CPU-Rahmen-Lücke auftritt, was durch die RU-Empfänger ausgeführt wird. Die Zeitlinie A von 39 stellt die anfängliche Gleitfenster-Position 962 dar, die durch die CPU während eines ersten Rahmens eingestellt wird, bevor sie sicher ist, wo sich die Lücke befindet, und zeigt die Zeiten von zwei Spitzen, die während des Rahmens 1 beobachtet wurden. Die Zeitlinie B stellt die Position dar des Gleitfensters und die Spitzen, die während des Rahmens 2 beobachtet wurden. Anfangs weiß die CPU nicht, wo sich die Lücke befindet, so dass der Software-Prozess entscheidet, nach Spitzen auf der Leitung 976 Ausschau zu halten für den gesamten Rahmen. Entsprechend schreibt die CPU eine Null ins Register 964 zum Zeitpunkt T0 und gleichzeitig aktiviert sie das GAP_a-Signal. Die Aktivierung des GAP_a-Signals setzt den Zeitbasis-Zähler 972 zurück und stellt eine logische 0 auf den Bus 980. Die 0 im Register 964 wird verglichen mit der 0 auf dem Bus 980 durch den Größer-Gleich-Komparator 965, der eine Gleichheit findet und Leitung 966 auf logisch 1 setzt, wodurch Pulse auf dem Bus 951 von dem Schwellen-Komparator durch zu der ersten Puls-Auswahl-Schaltung 970 Tor-gesteuert werden. Der Komparator 965 stellt die Leitung 966 auf logisch 1 jedes Mal, wenn die Zahl auf dem Bus 980 größer ist als oder gleich der Ausgabe des Registers 964. Diese Aktion öffnet das Gleitpuls-Beobachtungsfenster 962 in 39 zur Zeit T0. Das Fenster wird bis zum Ende des Rahmens offen bleiben.

Während des Rahmens 1, der auf der Zeitlinie A von 39 gezeigt ist, wird ein Rauschen-Puls 990 durch die Schaltung 970 zur Zeit T1 Tor-gesteuert und der tatsächliche Barker-Code-Puls 992A, der zur Zeit T7 auftritt, wird durch die Schaltung 970 geblockt. Das Auftreten des Rauschen-Pulses 990 bewirkt ein Abtasten des Zählwerts auf dem Bus 980 durch das Register 978, was in 39 gekennzeichnet ist als Abtastwert 1 zur Zeit T1. Dieser Wert wird gelesen durch den Lücke-Akquisitionsprozess, der auf der CPU 405 ausgeführt wird und für einen späteren Vergleich gespeichert wird.

Da der Rauschen-Puls 990 zufällig war, tritt er nicht wieder zur Zeit T1 im zweiten Rahmen auf, der auf der Zeitlinie B von 39 gezeigt ist. Statt dessen tritt ein anderer Rauschen-Puls 994 zur Zeit T3 später als T1 auf und ein anderer Barker-Code-Puls 992B tritt zur Zeit T7 auf. Die erste Puls-Auswahl-Schaltung Tor-steuert wieder den Puls 994 durch und blockt den Puls 992B. Dies bewirkt das Aufnehmen von Abtastwert 2 des Zählwerts auf dem Bus 980 während des Rahmens 2. Der Feinabstimmungs-Lücke-Akquisitionsprozess liest den Wert, der im Speicher 978 gespeichert ist und vergleicht diesen Wert mit dem zuvor gelesenen Wert von diesem Register während des Rahmens 1. Die CPU schließt, dass der Puls 990 zu einer anderen Zeit als der Puls 994 aufgetreten ist und somit war Puls 990 Rauschen und kann nicht dem Barker-Code zugerechnet werden, da, wenn es der Barker-Code gewesen wäre, er nicht zufällig gewesen wäre und zur selben Zeit aufgetreten wäre. Entsprechend bewegt der Lücke-Akquisitionsprozess die Position des Fensters 962 für den Rahmen 3, so dass es sich zu einer Zeit unmittelbar vor dem Auftreten des Pulses 994 öffnet, um jegliche Pulse vor dieser Zeit aus der Betrachtung zu eliminieren, jedoch so, um Puls 994 zu analysieren, um zu sehen, ob er dem Barker-Code zurechenbar ist. Der CPU-Lücke-Akquisitionsprozess bewegt die Position des Fensters 962 durch Herausnehmen der Abtastwert-2-Zahl aus dem Register 978, Subtrahieren eines festen Betrags von diesem und Schreiben des Ergebnisses zum Register 964.

Die Situation für den Rahmen 3 ist auf der Zeitlinie C von 39 gezeigt. Das Fenster 962 öffnet zur Zeit T2, da jedoch der Puls 994 im Rahmen 2 Rauschen war, tritt er nicht wieder im Rahmen 3 zur Zeit T3 auf. Statt dessen tritt der Rauschen-Puls 996 zur Zeit T5 auf und wird hindurch Tor-gesteuert durch die Schaltung 970, während der tatsächliche Barker-Code-Puls 992C geblockt ist. Der Puls 996 bewirkt, dass Abtastwert 3 genommen wird. Der Lücke-Akquisitionsprozess vergleicht Abtastwert 3 mit Abtastwert 2 und kommt zu der Schlussfolgerung, dass der Bus 994 Rauschen war, da der Puls 996 nicht zur selben relativen Zeit auftrat (relativ zum Auftreten eines GAP_a). Entsprechend gelangt der Lücke-Akquisitionsprozess zu der Schlussfolgerung, dass das Fenster 962 wieder bewegt werden kann. Dieses Mal wird das Fenster bewegt, so dass es sich zur Zeit T4 unmittelbar vor dem Zeitpunkt des Auftretens von Puls 996 zur Zeit T5 öffnet.

Während des Rahmens 4 öffnet sich das Fenster 962 zur Zeit T4, jedoch tritt wiederum kein Puls zur relativen Zeit T5 auf, jedoch tritt der Barker-Code-Puls 992D wieder zur Zeit T7 auf. Dieser Barker-Code-Puls wird hindurch Tor-gesteuert durch die Schaltung 970 und bewirkt, dass Abtastwert 4 genommen wird. Der Lücke-Akquisitionsprozess liest Abtastwert 4 und vergleicht sie mit Abtastwert 3 und entscheidet, dass der Puls 996 Rauschen war, da der Puls 992D nicht zur selben relativen Zeit aufgetreten ist. Entsprechend bewegt der Lücke-Akquisitionsprozess die Position des Fensters 962 wiederum, so dass es sich zu einer Zeit T6 unmittelbar vor dem Auftreten des Pulses 992D öffnet.

Die Situation während des Rahmens 5 ist auf der Zeitlinie E von 39 gezeigt. Das Fenster öffnet sich zur Zeit T6, wodurch ein in Betrachtziehen jeglicher Pulse, welche vor T6 auftreten, ausgeschlossen wird. Ein anderer Barker-Code-Puls 992E tritt wiederum zur relativen Zeit T7 auf, der hindurch Tor-gesteuert wird, als der erste Puls in diesem Rahmen, nachdem das Fenster durch Schaltung 970 geöffnet wurde. Dies veranlasst das Herausnehmen von Abtastwert 5, den der Lücke-Akquisitionsprozess mit Abtastwert 4 vergleicht und schlussfolgert, dass die relativen Zeiten des Auftretens von Pulsen 992D und 992E dieselben waren. Der Lücke-Akquisitionsprozess schlussfolgert dann, dass die Pulse 992D und 992E Barker-Code-Pulse waren und, dass er die Lücke gefunden hat. Entsprechend verlässt der Lücke-Akquisitionsprozess das Fenster 962, das eingestellt ist, um sich zur Zeit T6 im Rahmen 6 zu öffnen, was auf der Zeitlinie F von 39 gezeigt ist, wobei er Rauschen-Pulse 998 und 1000, die vor T6 auftreten, ignoriert. Der Lücke-Akquisitionsprozess bewegt dann die Zeit einer Aktivierung von GAP_a zur Zeit T7, wie auf der Zeitlinie G in 39 gezeigt ist, und schaltet den Bereichsbildungs-Detektor in den Verfolgungs-Modus für den Chip-Takt-Wiedergewinnungsprozess durch Wegnehmen der Bestätigung des acq-Signals auf dem Bus 902.

Der Chip-Träger-Wiedergewinnungsprozess wird durch die Früh-Spät-Gatter-Abtastschaltung in 38 ausgeführt und beginnt bei der bevorzugten Ausführungsform nach dem Lücke-Akquisitionsprozess. Das grundlegende Konzept ist in 40 veranschaulicht, welche ein Diagramm des Abtastens durch die Früh-Spät-Gatter-Schaltung der Ausgabe der FIR-Filter ist (Korrelator-Ausgabe), wenn eine Phasen-Verriegelung mit dem Chip-Takt erreicht worden ist. Die Kurve 1002 stellt das Ausgabesignal auf dem Bus 944 von dem Korrelationsprozess dar, der in den FIR-Filtern 924 und 926 auftritt zwischen dem bekannten Barker-Code (definiert durch Koeffizienten im Register 932) und dem herein kommenden Signal. Die Hauptspitze 1004, welche um die Zeit T0 zentriert ist (eine zu 39 unterschiedliche T0) stellt die Korrelator-Ausgabe dar, wenn der Barker-Code, der durch die CU in die Lücke gesendet wurde, ankommt, und ist perfekt in den FIR-Filtern 924 und 926 mit den Daten in dem Register 932 ausgerichtet. Dieses Register enthält Daten, die die + und – Polaritäts-Sequenz der individuellen Elemente des Barker-Codes definieren, der durch die CU gesendet wurde. Zu jedem CT-2-Chip-Takt (8-Chip-Takte) tritt ein neuer digitaler Abtastwert des empfangenen Signals in die FIR-Filter ein. Die FIR-Filter führen eine Summierung der Ergebnisse von jeder Stufe zu jedem CT-2-Chip-Takt aus. Wenn alle Abtastwerte des Barker-Codes in die FIR eingetreten sind und mit der + und – Polaritäts-Sequenz ausgerichtet sind, welche den Barker-Code definiert, nach welchem der Empfänger sucht, bewirkt die Summierung auf dem CT-2-Chip-Takt, der in der Ausrichtung resultiert, die Spitze 1004 am Ausgang von Leitung 944. Die Spitzen 1006 und 1008 sind Beispiele der Summierung der Ergebnisse in dem FIR-Filter bevor und nachdem eine perfekte Ausrichtung aufgetreten ist. Die Punkte 1010 und 1012 stellen Abtast-Punkte dar, von welchen jeder von der Zeit T0 um einen einzelnen CT-2-Chip-Takt entfernt ist. Wenn der lokale Oszillator 425 in den Ausführungsformen entweder von 35 oder 36 exakt in Phase mit der Phase des lokalen Oszillator-Signals ausgerichtet ist, das durch den CU-Lokal-Träger-Oszillator 425 erzeugt ist, werden die Amplituden von Abtast-Punkten bei 1010 und 1012 dieselben sein. Wenn es einen Phasenfehler gibt, werden die zwei Abtast-Punkte 1010 und 1012 ungleiche Amplituden aufweisen, da der Puls 1004 nicht symmetrisch um T0 zentriert sein wird. Dies erzeugt das Verfolgungs-Fehlersignal auf Leitung 900 in 38, welches die Phase eines Chip-Takt-Spannungsgesteuerten Oszillators in einer Phasen-verriegelten Schleife (nicht gezeigt) in einer Weise verschiebt, um die Zeitgabe zu ändern, bei welcher die Daten-Abtastwerte in die FIR-Filter 924 und 926 zugeführt werden, um den Korrelator-Hauptpuls 1004 dazu zu bringen, auf die Zeit T0 zentriert zu sein.

Die Art, in der dieser Träger-Wiedergewinnungsprozess durch die Schaltung von 38 ausgeführt wird, ist wie folgt. Die Schaltungen 1014 und 1016 sind die digitalen Äquivalente von Abtast- und Halte-Schaltungen. Die Schaltungen 1018 und 1020 sind jeweils Verzögerungsschaltungen, die jeweils eine CT-2-Chip-Takt-Verzögerung auf ein Abtast-Signal auf Leitung 1022 auferlegen. Dieses Abtast-Signal wird durch die CPU 405 einmal pro Rahmen zu einer vorbestimmten Zeit in der Lücke erzeugt, nachdem das GAP_a-Signal aktiviert ist. Das Abtast-Signal veranlasst die Schaltung 1014 die Größe des Pulses 1004 auf Leitung 944 abzutasten, um den Abtastwert 1010 in 38 aufzunehmen. Dieser Abtastwert ist gekoppelt mit einem Eingang eines Subtrahierers 1024, dessen anderer Eingang die Größe des Signals auf dem Bus 944 ist (die gesamte Verarbeitung ist bei der bevorzugten Ausführungsform digital). Der Subtrahierer 1024 subtrahiert konstant den ersten Abtastwert 1010, der im Register 1014 gespeichert ist, von den sich ändernden Werten auf dem Bus 944 und stellt die Differenz auf dem Bus 1026 dar. Zwei CT-2-Chip-Takte später erreicht das Abtastsignal auf Leitung 1022 das Register 1016 und veranlasst dieses den Differenzwert zu dieser Zeit auf dem Bus 1026 zu speichern. Der gespeicherte Wert von Register 1016 ist die Differenz in der Amplitude zwischen den Abtastwerten 1010 und 1012 in 40. Dieser Wert ist das Verfolgungs-Fehlersignal auf dem Bus 900. Das Verfolgungs-Fehlersignal wird digital in der Phasen-Verriegelungsschleife 1030 in 19 integriert und das Ergebnis wird als ein Fehlersignal verwendet, um die Phase eines Spannungsgesteuerten Oszillators in der PLL 1030 zu korrigieren, der dazu dient, das lokale Chip-Takt-Referenzsignal zu erzeugen. Dieses Chip-Takt-Referenzsignal wird auf dem Bus 1032 mit der zur Zeitbasis 886 gekoppelt, was die Zeitgabe-Signale erzeugt, die benötigt werden, um Operationen des Empfängers und Senders in 19 zu synchronisieren.

Bei alternativen Ausführungsformen könnte der Chip-Takt durch Übertragen des Chip-Taktes mit den Daten wiedergewonnen werden, die Signale in gemultiplexter Form tragen, und dann unter Verwendung einer geeigneten Filterung oder eines Demultiplexens an der RU, um den Chip-Takt zu extrahieren. Eine weitere Möglichkeit ist es, einen nicht kohärenten Detektor zu verwenden, um den Chip-Takt zu extrahieren, wobei aus der Tatsache Nutzen gezogen wird, dass die Chip-Takt-Zeitgabe stabiler ist, als die Trägerphase. Der Träger wird dann wiedergewonnen durch Verarbeiten der Detektor-Ausgabe während jedes getakteten Intervalls. Eine weitere Möglichkeit, bei der eine Takt-Wiedergewinnung einer Träger-Wiedergewinnung folgt, wie dies bei der bevorzugten Ausführungsform unternommen wird, ist es, den Chip-Takt aus der demodulierten Basisband-Ausgabe von dem CDMA-Demultiplexer zu extrahieren.

Zusätzlich können alle RUs möglicherweise auf eine einzelne gemeinsame externe Zeitquelle synchronisiert sein, wie beispielsweise eine GPS-Satelliten-Zeit-Information, obwohl eine Synchronisation auf innerhalb einer Mikrosekunde eine nicht ausreichende Genauigkeit sein dürfte. Jede herkömmliche Methodik zum Erreichen einer Synchronisation der RU-Chip-Takte und der lokalen Oszillator-Signale auf die entsprechenden Signale in der CU wird für die Zwecke einer Ausübung der Erfindung hinreichend sein.

Der Bereichsbildungs-Detektor von 38 beinhaltet auch eine Schaltung, um zu bestimmen, wann ein Barker-Code exakt in der Lücke zentriert ist. Diese Fähigkeit wird in der CU-Version des Bereichsbildungs-Detektors während des Feinabstimmungsprozesses am Ende des Bereichsbildungsprozesses verwendet, wenn die CU Instruktionen zu der RU sendet, wie ihre Übertragungsrahmen-Zeitgabe-Verzögerung einzustellen ist, um ihren Barker-Code exakt in der Lücke zu zentrieren. Wie dies ausgeführt wird, wird mit Bezugnahme auf 41 erläutert, welche die drei zulässigen Muster von Daten am Ausgang des Komparators 950 veranschaulicht, damit die Bedingung eines zentrierten Barker-Codes erreicht werden kann. Prinzipiell ist die Lücke 32-Chip-Takte breit und wird durch Fenster 1034 dargestellt. Der Komparator 950 wird 32 logische 0en oder 1en während des Lücke-Intervalls ausgeben und diese werden in das Schieberegister 1036 verschoben. Zwei Zwischenspeicher 1038 und 1040, die jeweils 16 Bits breit sind, weisen Eingänge auf, die mit dem 32 Bit-Parallel-Ausgangs-Bus 1042 des Schieberegisters gekoppelt sind. Diese zwei Register 1038 und 1040 sind konstant freigegeben und werden mit den Inhalten auf dem Bus 1042 am Ende der Lücke geladen, wobei einer die unteren 16 Bits aufnimmt und der andere die oberen 16 Bits aufnimmt. Damit der Barker-Code zentriert ist, sind nur die drei in 41 gezeigten Bit-Muster zulässig. Das erste Bit-Muster auf Linie A kennzeichnet zwei logische 1en auf jeder Seite der Lücken-Zentrierlinie 1044 und stellt das Datenmuster dar, das in den Zwischenspeichern 1038 und 1040 vorliegen wird, wenn der übertragene Barker-Code der RU exakt zentriert worden ist. Die Bit-Muster auf den Linien B und D stellen akzeptierbare Bedingungen dar, wenn der Barker-Code nicht exakt zentriert ist. Die Datenmuster in den Registern 1038 und 1040 werden durch den Bereichsbildungsprozess bei seiner Ausführung auf der CPU 405 während des Feinabstimmungsprozesses gelesen, um abzuleiten, welche Instruktionen an die RU zu geben sind, um ihre Übertragungsrahmen-Zeitgabe-Verzögerung Td zu ändern, um ihren Barker-Code in Richtung der Mitte der Lücke zu bewegen.

Zurückkehrend zu der Betrachtung von 19, wird die verbleibende Empfängerseite-Schaltung des Transceivers in weiteren Einzelheiten beschrieben. Wie im Fall des Übertragungskanals kann die Verarbeitung, die in dem Empfänger durchgeführt wird, durchgeführt werden unter Verwendung einer analogen oder digitalen oder irgendeiner Kombination einer analogen und digitalen Schaltung ausgeführt werden. Der Empfänger wird so beschrieben werden, als ob die gesamte Verarbeitung digital wäre, wie dies bei der bevorzugten Ausführungsform der Fall ist. Das von den gemeinsamen Übertragungsmedien empfangene Signal wird durchgegeben zu einem Analog-zu-Digital-Wandler (nicht gezeigt) und der resultierende Digitaldaten-Strom wird zu einem Demodulator 460 durchgegeben.

26 stellt ein weiter detailliertes Diagramm der Struktur des Demodulators 460 in dem Empfänger dar. Das empfangene analoge Signal von dem gemeinsamen Übertragungsmedium wird auf Leitung 461 mit dem analogen Eingang eines A/D-Wandlers 463 gekoppelt. Der Strom von Digitaldaten, die aus der Analog-zu-Digital-Wandlung resultieren, wird gleichzeitig zwei Multiplizierern 465 und 467 zugeführt. Der Multiplizierer 465 empfängt als seine weitere Eingabe auf Leitung 481 einen Strom von digitalen Werten, die eine lokale Träger-Sinuswelle definieren, welche dieselbe Frequenz aufweist, und synchron in der Phase mit der RF-Träger-Sinuswelle auf der Leitung 437 in 24 ist. Der Multiplizierer 467 empfängt als seine weitere Eingabe auf Leitung 427 ein Kosinussignal, das durch den lokalen Oszillator 425 erzeugt ist, welches dieselbe Frequenz aufweist und in der Phase synchron ist mit der Pilot-Kanal-Sendung, die von der CU gesendet wurde, im Zeitschlitz 0, welche die RF-Träger-Kosinuswelle auf Leitung 427 in 24 ist. Die mit SIN und COS in 26 bezeichneten Eingaben werden durch den lokalen Oszillator 425 erzeugt, der in der Frequenz und in der Phase mit dem Pilot-Kanal synchronisiert ist durch die Träger-Wiedergewinnungs-Schaltung 515 in 19. Eine 90-Grad-Phasenverschiebung wird an die lokale Oszillator-COS-Ausgabe angelegt, um das SIN-Signal zu erzeugen. Das Pilot-Kanalsignal wird auf einem der Verwaltungs- und Steuerungskanäle (Zeitschlitz 0) gesendet und einer der CDMA-Codes ist ausschließlich diesem Kanal zugewiesen. Dieser zugewiesene Code wird verwendet, um das Pilot-Kanalsignal zu spreizen unter Verwendung herkömmlicher Spreizspektrum-Techniken. Jeder Empfänger dekodiert den Pilot-Kanal unter Verwendung dieses selben Codes, um das Pilot-Kanal-Trägersignal wieder zu gewinnen, und legt das wiedergewonnene Signal an einen Phasen-Detektor in einer Phasen-Verriegelungsschleife an, die als eine lokale Oszillator-Quelle verwendet wird, für den Demodulator in jedem RU-Empfängerabschnitt und den Modulator in dem RU-Sender-Abschnitt.

Die Ergebnisse, die von dem Demodulator auf Leitungen 469 und 471 ausgegeben werden, sind digitale Datenströme, die im Wesentlichen die Mischprodukte definieren, die aus einer fundamentalen Träger-Frequenz und oberen und unteren Seitenbändern bestehen. Digitale Filter 473 und 475 filtern die gewünschten Seitenbänder heraus, welche die realen und imaginären Teile jedes Chips enthalten oder Ergebnispunktes, der übertragen wurde. Der Strom von Quadratur- oder Imaginär-Komponenten der empfangenen Chips wird auf dem Bus 477 ausgegeben. Die Ströme von In-Phase oder Real-Komponenten der empfangenen Chips werden auf den Bus 479 ausgegeben. Der Empfänger von 19 beinhaltet auch eine herkömmliche Phasen-Verriegelungsschleife-Schaltung für eine Takt-Wiedergewinnung und eine Träger-Wiedergewinnung. Mit anderen Worten wiedergewinnt der Empfänger die Bit-Takt-Zeitgabe, die von der CU verwendet wurde, und synchronisiert sie unter Verwendung einer herkömmlichen Phasen-Verriegelungsschleife-Schaltung und wiedergewinnt ebenso und synchronisiert auf die Sinus- und Kosinus-Träger die von der CU verwendet werden, um die Symbol-Daten zu übertragen. Diese Takt- und Träger-Signale werden dann verwendet für Übertragungen durch die RU zu der CU, so dass die CU kohärent mit den RUs kommunizieren kann, ohne dass sie auf verschiedene Takt- und Träger-Signale synchronisieren muss, die von den RUs verwendet werden. Bei alternativen Ausführungsformen können die RUs ihre eigenen Takt- und Träger-Signale verwenden, die nicht in Verbindung stehen zu den Versionen der CUs und die CU kann ihre eigene Phasen-Verriegelungs-Schleife-Schaltung enthalten, um diese Signale wiederzugewinnen und um auf sie zu synchronisieren, um die Daten, die von den RUs übertragen werden zu demodulieren und zu interpretieren.

Bei einigen Ausführungsformen werden die Ströme von Real- und Imaginär-Komponenten der 144 Chips von jedem Symbol auf den Bussen 477 und 479 in zwei linearen Feldern im CDMA-Demultiplexer 462 in 19 gespeichert. Der CDMA-Demultiplexer 462 multipliziert jedes der Real- und Imaginär-Komponenten-Felder mit der Transponierten der Code-Matrix, die durch den CDMA-MUX 408 verwendet werden, von welcher RU oder CU auch immer, welche die Daten übertragen hat, um den orthogonalen Code-Kodierungsprozess umzukehren. Dieser Matrix-Multiplikationsprozess resultiert in zwei linearen Feldern von dekodierten Chip-Real- und Imaginär-Teilen für jedes Symbol. Diese Felder werden durch den CDMA-Demultiplexer 462 im Speicher 464 gespeichert. Bei alternativen Ausführungsformen verarbeitet der CDMA-Demultiplexer die zwei Ströme von Real- und Imaginär-Komponenten "im Fluge", so dass sie nicht zuerst als Eingangsfelder in einem Speicher in dem CDMA-Demultiplexer 462 gespeichert werden müssen.

Nachdem die linearen Felder von Real- und Imaginär-Komponenten für ein Symbol im Speicher 464 gespeichert sind, ist das Ergebnis für jedes Symbol ein Feld von empfangenen Chip-Punkten in einem empfangenen Chip-Raum, der eine reale Achse und eine imaginäre Achse aufweist. Das Abbilden durch eine orthogonale Code-Transformation von der Konstellation von möglichen Eingabepunkten, die in 21 gezeigt sind, führt zu einer Konstellation von möglichen Punkten in einem empfangenen Chip-Raum. Ein Detektor 466 prüft die Punkte in jedem der Felder und vergleicht die empfangenen Chip-Punkte, welche diese definieren, mit den erlaubten möglichen Punkten in dem empfangenen Chip-Raum. Der Detektor, der sonst als ein Slicer bekannt ist, ist ein bekannter Typ einer Schaltung und hier sind keine weiteren Einzelheiten notwendig. Die Funktion des Detektors ist es, die Verstärkung und Phase des empfangenen Signals wieder zu erlangen, den Chip-Takt daraus wieder zu gewinnen und darauf zu verriegeln, um in Synchronisation mit dem Sender zu sein, die Grenzen jedes Chips zu bestimmen und die Werte für die I- und Q-Koordinaten jedes empfangenen Chip-Punktes zu vergleichen mit den nächstliegenden Punkten in der Konstellation erlaubter möglicher Punkte in dem empfangenen Chip-Raum, die übertragen sein könnten. Der Detektor verriegelt auch die Frequenz seines lokalen Oszillators in dem Detektor, der die Sinus- und Kosinus-Signale erzeugt, die für eine Demodulation verwendet werden auf die Phase und Frequenz der Sinus- und Kosinus-Träger, die in den Daten kodiert sind. Der Detektor führt dann eine vorläufige Entscheidung aus, zu welchen der möglichen erlaubten Punkte in der empfangenen Chip-Konstellation jeder empfangene Chip wahrscheinlich gehört.

Der Detektor 466 gibt dann seine vorläufigen Bestimmungen zu einem Viterbi-Dekoder 468 aus, der den Viterbi-Algorithmus des Standes der Technik durchführt. Der Viterbi-Dekoder verwendet das vierte Bit in jedem Chip jedes Symbols, um Fehler zu detektieren und zu korrigieren. Dies wird ausgeführt durch Durchführen des Viterbi-Algorithmus, um den wahrscheinlichsten Tri-Bit-Pfad abzuleiten, der durch die Punkte definiert ist, die von dem Pfad tatsächlich gesendet sind in dem empfangenen Chip-Raum, definiert durch die 4 Bit-Komponenten der tatsächlich empfangenen Symbole, nachdem sie durch den Detektor verarbeitet worden sind. Die Addition des vierten Bits zu jedem Tri-Bit wandelt die Eingangskonstellation von einer 8-Punkt zu einer 18-Punkt-Konstellation durch Hinzufügen einer Redundanz. Das Hinzufügen dieses redundanten vierten Bits erhöht die Entfernung zwischen dem Pfad durch einen Raum, der durch aufeinander folgende Eingabe-Konstellationen definiert ist, um eins für jede Symbol-Zeit. Mit anderen Worten weist jeder Kanal oder Zeitschlitz ein Tri-Bit pro Symbol auf. Das vierte Bit wird zu jedem Tri-Bit in jedem Symbol hinzugefügt, basierend auf den drei Bits des Tri-Bits für dieses Symbol, und dem Zustand des 4 Bit-Chips desselben Kanals in dem letzten übertragenen Symbol. Diese Sequenzen von Chips bilden einen Pfad durch den Raum ab, der zuvor definiert wurde, der weiter von demselben Typ von Pfad entfernt ist, der durch eine Gruppe von aufeinander folgenden 8-Punkt-Konstellationen abgebildet ist, falls nur die Tri-Bits während jeder Symbol-Zeit aufgetragen sind, mit keinem redundanten Bit, das zu jedem Tri-Bit hinzugefügt ist. Die Tatsache, dass der Chip-Pfad weiter von dem 3 Bit-Pfad entfernt ist, macht es für den Empfänger leichter, aus den durch Rauschen fehlerhaft empfangenen Daten zu schätzen, was die tatsächlichen übertragenen Tri-Bits waren. Viterbi-Dekoder sind im Stand der Technik der digitalen Kommunikation gut bekannt und hier werden diesbezüglich keine weiteren Einzelheiten angegeben. Dieser Viterbi-Algorithmus könnte durch einen programmierten Digital-Computer ausgeführt werden, falls eine niedrige Geschwindigkeit ausreichend ist, oder durch eine dafür bestimmte Hardware-Schaltung, falls Geschwindigkeit wichtig ist. Auf Viterbi-Dekodern basierende Systeme werden verwendet von Qualcomm, Inc. in San Diego in zellularen Telefonsystemen, um Rauschen bei digitalen Zellular-Telefon-Übertragungen zu bekämpfen und die Details ihrer Patente und Produkte werden hiermit durch Bezugnahme inkorporiert.

Die Ausgabe-Datenpunkte von dem Viterbi-Dekoder sind ein Strom von Tri-Bits. Diese Tri-Bits werden in einem Speicher in einer Deframer-Schaltung 470 gespeichert, die dahingehend funktioniert, eine Kopie des TDMA-Datenstroms in der Zeit-Domäne aus dem hereinkommenden Strom von Chips oder Tri-Bits, welche jedes Symbol aufweisen, wieder zusammenzusetzen. Dieser Prozess wird ausgeführt durch Umkehren der Lese- und Schreib-Prozesse, die oben beschrieben wurden, beim Füllen und Leeren des Rahmenspeichers 300 von 14.

Rückfall-Modus

Die Sender in der RU und CU weisen einen Rückfall-Modus auf, in welchem weniger Daten in jedem Symbol für jeden Kanal platziert werden und mehr Redundanz hinzugefügt wird, wenn die Rausch-Stärke zu hoch wird. Die Rausch-Stärke wird durch die CU detektiert, und wenn sie eine vorbestimmte Schwelle erreicht, befiehlt die CU allen RU-Modems die Menge an Nutzlatz in jedem Symbol zu reduzieren und mehr Redundanz hinzuzufügen. Der Rückfall-Modus wird implementiert durch ein Modus-Steuerungssignal auf Leitung 530 in 28A zu der Kodierer-Schaltung 526. Dieses Modus-Steuerungssignal kann drei Modi befehlen: Leerlauf-Modus, in dem der Kodierer die Tri-Bits durchgibt, wobei nur Nullen als das 4te Bit hinzugefügt werden; Normal-Modus, in dem 4te Bits hinzugefügt werden, basierend auf dem vorhergehenden Status über diesen Zeitschlitz während der letzten Symbol-Zeit; und Rückfall-Modus, in dem mehr redundante Bits zu jeder 4 Bit-Gruppe hinzugefügt werden und entsprechend weniger Nutzdaten in jeder 4 Bit-Gruppe beinhaltet sind.

Code-Vielfalt im CDMA, um die Leistungsfähigkeit zu verbessern

Bezug nehmend auf 27 ist dort ein Diagramm einer Vorrichtung gezeigt, um eine Code-Vielfalt in CDMA-Systemen zu erreichen, um die Leistungsfähigkeit dieser zu verbessern. Es wurde von den Anmeldern festgestellt, dass bei CDMA-Systemen einige Codes für eine Fehlausrichtung und Schmalband-Interferenz empfindlicher sind als andere und höhere Bit-Fehlerraten haben werden. In den meisten Systemen wäre die höhere Bit-Fehlerrate, die durch einen einzelnen Code verursacht wird, nicht akzeptabel und die Codes, die empfindlicher für Rauschen sind, könnten nicht verwendet werden. Bei einigen Systemen mit einer großen Zahl von Kanälen von zu sendenden Digitaldaten gibt es nur einen oder wenige Code-Sätze, die ausreichend Codes aufweisen, die orthogonal sind, um alle Kanäle unterzubringen. Beispielsweise gibt es bei 144 verschiedenen Zeitschlitzen/Kanälen nur einen einzigen Code-Satz mit 144 orthogonalen Codes. Um die Codes nicht wegzulassen, die zu empfindlich sind und um möglicherweise nicht genug Codes zu haben, um alle Kanäle unterzubringen, werden die Codes zwischen den Kanälen zufällig gemischt, wodurch die Verwendung der schwächeren Codes über verschiedene Kanäle verbreitet wird. Die Code-Vielfalt erfordert eine Koordination zwischen Code-Vielfalt-Tabellen in dem RU-Sender und in dem RU-Empfänger, so dass beide dieselben Codes verwenden während derselben Rahmen, um spezifische Zeitschlitz-Daten zu kodieren und zu dekodieren. Es gibt ebenso beschränkte Code-Listen, welche Codes auflisten, die nicht zu verwenden sind. RUs, die eine Code-Vielfalt implementieren, müssen ihre Code-Vielfalt aufrechterhalten und beschränkte Code-Tabellen aktuell halten mit den CU-Stromabwärts-Nachrichten, um betriebsfähig zu bleiben. Der RU-Computer muss eine Prüfsummen-verifizierte Kopie der momentanen Tabellen herunterladen und die Tabellen aktivieren, bevor das Modem Verbindungs-Anforderungen beginnen oder empfangen kann. Stromabwärts-Nachrichten, welche die Code-Vielfalt aktualisieren und beschränkte Code-Listen-Tabellen werden von der CU mit einer Superrahmen-Etikett-Nummer gesendet, welche definiert, wann die Aktualisierung wirksam ist. Jede Stromabwärts-Nachricht beinhaltet eine Tabellen-Prüfsumme gegenüber der das RU-Modem seine eigene Prüfsumme prüfen kann, um die Gültigkeit seiner Tabellen sicherzustellen. Die CU sendet ihre Prüfsumme mit jedem Superrahmen und jede RU hält eine unabhängige Prüfsumme aufrecht.

Dieses Konzept kann in jedem CDMA-System verwendet werden. In CDMA-Systemen, in welchen alle Zeitschlitz-Daten an einem physikalischen Ort gesammelt werden, kann die Code-Vielfalt unter Verwendung eines Shufflers (Shufflers) 500 implementiert werden, der in 27 gezeigt ist. Bei dieser Anwendung ist der Shuffler ein Crossbar-Schalter, der eine Vielzahl von Eingängen 502 empfängt und weist eine Vielzahl von Ausgängen 504 auf. Die Eingänge 502 tragen jeweils die Digitaldaten von einem einzelnen Zeitschlitz. Die Ausgänge 504 tragen jeweils die Digitaldaten von einem zufällig zugeteilten der Eingänge, der sich periodisch ändert, und sind mit einer Matrix-Multiplikations-Schaltung gekoppelt, derart, dass die Daten jedes Zeitschlitzes multipliziert werden mit einem unterschiedlichen Code während verschiedener Perioden. Die Eingänge 502 sind mit den Eingängen eines Crossbar-Schalters gekoppelt innerhalb des Shufflers 502, der periodisch oder zufällig jeden der Eingänge mit einer anderen Ausgangsleitung mischt zum Koppeln an einen Multiplizierer für eine Multiplikation durch einen CDMA-Spreiz-Code, der dieser Ausgangsleitung zugeteilt ist. Der Crossbar-Schalter kann die Form des Hochgeschwindigkeits-Crossbar-Schalters annehmen, der im US-Patent 5,355,035 offenbart ist, das hiermit durch Bezugnahme inkorporiert wird.

In Systemen wie dem CDMA-CATV-System, das hierin offenbart wird, bei dem bei jeder RU nicht alle Zeitschlitz-Daten für alle 144 Zeitschlitze an jedem Ort vorhanden sind, nimmt der Shuffler eine unterschiedliche Form an und befindet sich in der CU. Bei dieser Ausführungsform stellen die Eingänge 502 Anfragen für Bandbreite dar, die zu der CU durch alle RUs übertragen werden, und die Ausgänge 504 stellen Code-Zuteilungs-Übertragungen zu den RUs über die Befehls- und Steuerungskanäle dar, wobei die Code-Zuteilungen sich mit jedem Rahmen oder sogar nach jeder Übertragung jedes Symbols ändern können. An der CU sind jedoch alle Zeitschlitz-Daten von Kanälen, die zu den RUs zu übertragen sind, an einem einzigen Ort lokalisiert, so dass der Shuffler die physikalische Crossbar-Schalterform annehmen kann, die zuvor im unmittelbar vorhergehenden Absatz erläutert wurde. Der Shuffler 500 kann auch die Form eines geeignet programmierten Computers annehmen, um die Zeitschlitze für verschiedene Codes zu mischen, sowie um die Matrix-Multiplikation durchzuführen.

Der Gebrauch dieser Mischtechnik spreizt die schwachen Codes, jedoch verursachen die schwachen Codes dennoch Fehler. Wenn das Fehler-Niveau, das durch diese Technik erzeugt wird, nicht toleriert werden kann, wird eine Vorwärts-Fehlerkorrektur verwendet in Verbindung mit der Code-Vielfalt, um die Fehler zu eliminieren. Eine Vorwärts-Fehlerkorrektur bedeutet, dass ausreichend redundante Bits in den Datenstrom eingefügt werden, um die Korrektur jeglicher Fehler zu ermöglichen, ohne die Notwendigkeit für eine Übertragung zurück zu den RUs von den CUs, welche eine Rück-Übertragung von Rahmen mit Fehlern anfordern. In den hierin offenbarten speziellen Ausführungsformen wird eine Trellis-Modulation verwendet mit einem Konvolutions-Kodierer in jedem RU- und CU-Sender, um ein redundantes 4tes Bit zu jedem Tri-Bit zu berechnen und hinzuzufügen. Diese 4ten Bits werden von den Empfängern und Viterbi-Dekodern verwendet, um Fehler zu korrigieren durch Beurteilungen aus den empfangenen Daten, welche Punkte von der Konstellation von möglichen Punkten tatsächlich gesendet wurden.

Bei der bevorzugten Ausführungsform für einen Sender, die nachfolgend mit Bezugnahme auf 28A beschrieben wird, implementiert ein Vielfalt-Shuffler 506 eine Code-Vielfalt durch Koordinieren des Mischers von Zeitschlitz-Daten für verschiedene zufällig ausgewählte CDMA-Spreiz-Codes durch die Signale auf den Bussen 532 zu dem Framer 508 und die Signale auf Bus 533 zu dem Puffer 533. Dies wird nachfolgend in weiteren Einzelheiten beschrieben.

Blockdiagramm des bevorzugten RU-Senders

Bezug nehmend auf 28A wird dort ein Blockdiagramm der bevorzugten Arten einer Sender-Schaltung innerhalb der Gattung der Erfindung gezeigt. Der Sender von 28A wird in den Transceivern der RU-Modems verwendet. Die CU-Sender sind identisch mit der Ausnahme, dass es dort keinen Bedarf für die Zugriffs-Steuerungsschaltung 540 oder den Multiplexer 544 gibt.

In 28A ist der Block 506 der Vielfalt-Code-Shuffler, der die Zeit-zu-Code-Transformation implementiert. Der Code-Shuffler empfängt eine pseudo-zufällige Seed-Nummer auf dem Bus 499, welche die pseudo-zufällige Reihenfolge des Mischens von Codes steuert, so dass die verschiedenen Zeitschlitze oder Kanäle nicht immer mit denselben CDMA-Codes kodiert sind. Der Bus 499 trägt auch Tss-Daten, die definieren, welche Zeitschlitze diesem RU-Sender zugeteilt sind, und ein RU/CU-Signal, das dem Code-Shuffler mitteilt, ob er in einer RU oder CU arbeitet. Die R1-Daten auf dem Bus 499 definieren reservierte Codes, die nicht verwendet werden können, und die Td-Daten werden von der CPU empfangen und von der Empfänger-Rahmen-Detektor-Schaltung, um den Übertragungsrahmen-Zeitgabe-Verzögerungswert für diese RU einzustellen, um die Lücke mit ihrem Barker-Code zu treffen, wodurch eine Rahmen-Synchronisation erreicht wird.

Block 508 ist die Framer-Schaltung, die die variablen Übertragungsrahmen-Zeitgabe-Verzögerungen implementiert, die notwendig sind, um den Bereichsbildungsprozess zu implementieren, um die notwendige Rahmen-Synchronisation zu erreichen und die Zeitausrichtung der CDMA-Spreiz-Kanaldaten für eine synchrone CDMA. Die Rahmen-Schaltung 508 wird in weiteren Einzelheiten in 12 beschrieben. Der Block 548 ist ein Puffer, der die gemischten 4 Bit-Gruppen von Symbol-Elementen speichert, die als der Informationsvektor [b] für die Matrix-Multiplikation dienen, die durch den CDMA-Multiplexer 527 durchgeführt wird. Die Code-Vielfalt wird implementiert durch den Block 506 durch Steuern der Reihenfolge von Tri-Bits, die für jedes Symbol vom Rahmenspeicher 508 über Lese-Zeiger gelesen werden, die zu dem Framer auf dem Bus 532 gesendet werden. Die Tri-Bits verlassen den Framer auf dem Bus 518 in der Reihenfolge, die durch die Adressen auf dem Bus 532 vorgegeben wird. Sie sind pseudo-zufällig verscrambelt durch den Scrambler 524 in der nachfolgend beschriebenen Weise (in der bevorzugten Ausführungsform), und redundante Bits werden hinzugefügt durch den Addierer 526, wenn er im normalen oder Rückfall-Modus arbeitet. Der Kodierer 526 addiert zumindest ein Bit zu jedem Tri-Bit bei der bevorzugten Ausführungsform, um eine Trellis-Modulation zu implementieren. Einige Ausführungsformen weisen keinen Kodierer auf und einige Ausführungsformen weisen einen Kodierer auf, der keinen Leerlauf- und/oder keinen Rückfall-Modus aufweist.

Die kodierten Bits werden geteilt in Real-(oder Inphase-) und Imaginär-Gruppen durch Teilen jedes kodierten Tri-Bits in die Hälfte und Ausgeben der ersten 2 Bits als die realen Bits auf dem Bus 517r und der letzten 2 Bits auf dem Bus 517i. Busse 517r und 517i sind mit einer Umschaltschaltung 544 gekoppelt, die auch Eingaben von Real- und Imaginär-Komponenten von Zugriffs-Kanal-Information auf Bussen 542r und 542i empfängt. Während normaler Nutz-Übertragungs-Operationen wählt die Umschaltschaltung 544 die Daten auf den Bussen 517r und 517i aus zum Koppeln auf die Busse 546r und 546i zum Puffer-Speicher 548.

Während der Zugriffs-Kanal-Operationen wählt die Umschaltschaltung 544 unter der Steuerung des Mikroprozessors 405 die Daten auf den Bussen 542r und 542i zum Koppeln auf die Busse 546r bzw. 546i aus. Die Real- und Imaginär-Komponenten in jedem Tri-Bit auf den Bussen 546r und 546i werden in den Puffer 548 in der Reihenfolge geschrieben, die durch Schreib-Adressen auf dem Bus 533 vorgegeben wird. An anderer Stelle hierin wird die Art, auf die der Multiplexer 544 betrieben wird, um Medien-Zugriffs-Steuerungs-Daten auf Bussen 542r und 542i mit Nutzdaten auf Bussen 517r und 517i im Puffer 548 zu überlagern, beschrieben. Der Puffer 548, wenn er vollkommen beschrieben ist, weist während jeder Symbol-Zeit 144 4 Bit-Elemente auf, welche einen Informationsvektor aufweisen, dessen Reihenfolge zufällig von Neuem verscrambelt wird zu jeder Symbol-Zeit bei der bevorzugten Ausführungsform. Bei anderen Ausführungsformen können die Codes sequentiell während jedes Symbols für alle aktiven Zeitschlitze zugeteilt werden, oder es kann eine umlaufende sequentielle Zuteilung von Codes zu allen aktiven Zeitschlitzen verwendet werden.

Bezug nehmend auf 28B ist dort ein Blockdiagramm einer einfachen Ausführungsform für den Code-Vielfalt-Shuffler 506 gezeigt. Diese Ausführungsform führt kein Zufallsmischen aus, sondern führt ein Umlaufmischen in der folgenden Weise aus. Jede RU und CU weist einen Code-Vielfalt-Shuffler desselben Typs auf und alle Shuffler arbeiten synchron, um dieselben Zeitschlitze gleichzeitig für dieselben Codes zu mischen. Ein Zeitschlitz-Abtast-Zähler 601 inkrementiert von 0 bis 143 in Synchronisation mit einem System-Takt auf Leitung 603. Dieser Zählwert wird auf dem Bus 532 als eine Adresse ausgegeben zu einem Direktzugriffsspeicher 605, der eine Kopie der Kanal-Aktivitäts-Tabelle speichert. Die Kanal-Aktivitäts-Tabelle ist eine Tabelle, welche Daten speichert, die angeben, welche der 144 Zeitschlitze momentan verwendet werden. Die CU sendet Daten zu allen RUs, die anzeigen, welche Kanäle momentan zugeteilt sind, und jede RU aktualisiert ihre Aktivitäts-Tabelle unter Verwendung einer Schaltung, die in 28B nicht gezeigt ist. Ein Bus 532, der die Zeitschlitz-Abtast-Zähler-Ausgabe trägt, ist ebenso mit dem Framer 508 gekoppelt, und der Zählwert auf dem Bus 532 wirkt als ein Lese-Zähler, der steuert, welches Tri-Bit von dem momentanen Symbol, das gelesen wird, von dem Framer auf dem Bus 518 ausgegeben wird. Der Zählwert auf dem Bus 532 ist auch gekoppelt mit einem Adresseingang des RAM 605 und bewirkt, dass Daten auf den Bus 607 ausgegeben werden, die anzeigen, ob der Kanal entsprechend dem momentanen Zählwert momentan zugeteilt ist. Diese Daten sind beispielsweise eine logische 1, falls der Zeitschlitz zugeteilt ist und eine logische 0, falls nicht. Der Bus 607 ist mit dem Inkrementier-Eingang eines Zeitschlitz-Aktivitäts-Zählers 609 gekoppelt, der einen Takt-Eingang aufweist, der mit dem System-Takt auf Leitung 603 gekoppelt ist. Wenn eine logische 1 auf den Bus 607 ausgegeben wird, inkrementiert der Zeitschlitz-Aktivitäts-Zähler 609 auf den nächsten Aufwärts-Takt-Übergang. Der Zähler 609 zählt sequentiell von 0 bis 143 und geht dann über zu Null. Der Ausgang des Zählers 609 auf dem Bus 533 ist als ein Schreib-Zeiger mit dem Adresseingang des Puffer-Speichers 548 in 28A gekoppelt und steuert, wohin die Tri-Bit-Ausgabe durch den Framer 508 geschrieben wird, nachdem sie durch den Kodierer 526 in dem Informationsvektor [b] kodiert ist, der in dem Puffer-Speicher 548 gespeichert ist. Der Lese-Zeiger auf dem Bus 532 ist auch mit einem Symbol-Zählwert-Dekoder 611 gekoppelt, der ein Inkrementierungssignal auf Leitung 613 erzeugt, jedes Mal, wenn der Zählwert auf dem Bus 532 143 erreicht, wodurch angezeigt wird, dass das erste Tri-Bit eines neuen Symbols gelesen werden wird auf den nächsten Aufwärts-System-Takt-Übergang. Ein Symbol-Zähler 615 inkrementiert dann auf den nächsten Aufwärts-Takt-Übergang, um einen neuen Symbol-Zählwert auf dem Bus 617 zu erzeugen. Dieser Symbol-Zählwert ist mit einem vor-eingestellten Eingang des Zeitschlitz-Aktivitäts-Zählers 609 gekoppelt und veranlasst den Zeitschlitz-Aktivitäts-Zähler vor-eingestellt zu sein, auf den Symbol-Zählwert, der auch immer auf dem Bus 617 besteht, und fortzufahren, von dort zu inkrementieren, wenn aktive Zeitschlitze gefunden werden. Wenn der Symbol-Zähler 143 erreicht, geht er auf 0 über. Somit beginnt für jedes neue Symbol der Zeitschlitz-Aktivitäts-Zähler von einer neuen Zahl zu inkrementieren. Dies bewirkt ein umlaufendes Mischen der Positionen, in welchen die 4 Bit-Gruppen im Puffer-Speicher 548 platziert sind, wodurch bewirkt wird, dass jeder aktive Zeitschlitz gespreizt wird unter Verwendung eines unterschiedlichen Codes während jedes neuen Symbols, um eine Code-Vielfalt zu erreichen.

28C ist ein Blockdiagramm einer anderen Ausführungsform für einen Code-Vielfalt-Shuffler, der für den Vielfalt-Shuffler 506 in 28A substituiert werden kann. Diese Ausführungsform führt ein pseudo-zufälliges Mischen von Codes durch unter Verwendung einer Misch-Tabelle, die mit pseudo-zufällig verteilten Schreib-Zeigern gefüllt ist. In 28C sind alle Elemente dieselben, wie in 28B mit Ausnahme, dass der Ausgang auf dem Bus 533 von dem Zeitschlitz-Aktivitäts-Zähler 609 als eine Adress-Eingabe zu einem Speicher 619 gekoppelt ist, der entweder ein RAM, ROM, PROM, EEPROM oder EPROM sein kann. Der Speicher 619 speichert eine Sammlung von 144 Schreib-Zeigern, die pseudo-zufällig verteilt sind relativ zu den sequentiellen Adress-Eingaben. Jeder Zählwert auf dem Bus 607 von dem Zeitschlitz-Aktivitäts-Zähler bewirkt, dass welcher pseudo-zufällige Schreib-Zeiger auch immer in dieser Adresse im Speicher 619 gespeichert ist, als der Schreib-Zeiger auf dem Bus 533 zum Puffer-Speicher 548 in 28A ausgegeben wird. Alle RUs und CUs haben eine identische Kopie der pseudo-zufälligen Misch-Tabelle in dem Speicher 619 gespeichert und alle RUs und die CU tasten synchron die Aktivitäts-Tabelle ab und teilen synchron, pseudo-zufällig dieselben CDMA-Spreiz-Codes zu den aktiven Zeitschlitzen zu.

28D zeigt ein Blockdiagramm eines bevorzugten Code-Vielfalt-Shufflers, der ebenso für den Shuffler 506 in 28A verwendet werden kann. Eine Zeitschlitz-Status-Tabelle im Speicher 718 speichert eine aktuelle Karte, die von allen RUs und der CU geteilt wird, darüber, welche Zeitschlitze/Kanäle momentan aktiv sind. Bei der bevorzugten Ausführungsform beinhalten die Daten, die in dieser Tabelle für jeden Zeitschlitz gespeichert sind, ihren vorliegenden Modus, ihren nächsten Modus und Lokal/Fern-Information. Zulässige Modi beinhalten: Leerlauf, wobei kein Code zugeteilt ist, normal, wobei ein Code zugeteilt ist. Rückfall #1, wobei mehr als ein Code einem Zeitschlitz zugeteilt ist und Rückfall #2, wobei sogar mehr Codes einem aktiven Kanal als bei dem Rückfall #1-Modus zugeteilt sind. Die Adressen in Tabelle 718 sind sequentiell abgetastet unter Verwendung von Adressen, die auf einem Bus 722 durch einen Zähler 720 erzeugt sind, der durch den Chip-Takt auf dem Bus 603 getrieben wird. Die Daten bezüglich des Status jedes sequentiell abgetasteten Zeitschlitzes werden auf den Bus 724 zur Steuerungslogik 726 ausgegeben. Die Status-Daten auf dem Bus 724 teilen der Steuerungslogik mit, ob ein CDMA-Code zugeteilt werden muss oder nicht. Falls die Steuerungslogik 726 Daten sieht, welche anzeigen, dass ein Zeitschlitz auf dem Bus 724 aktiv ist, erzeugt sie ein Signal auf dem Bus 728, welches den Zähler/Zufallszahl-Generator 730 veranlasst, eine pseudo-zufällige Zahl auf dem Bus 734 zu erzeugen, welche als ein Schreib-Zähler wirkt für Zwecke eines Führens der kodierten 4 Bit-Gruppe vom Kodierer 526 in 28A in den Speicherplatz im Puffer-Speicher 548, die mit dem Code multipliziert werden wird, auf den durch die Zahl auf dem Bus 734 gezeigt wird. Die Code-Zahl auf dem Bus 734 wird aus einer Seed-Zahl auf dem Bus 732 erzeugt. Alle RU- und CU-Code-Vielfalt-Shuffler empfangen diesen selben Seed und alle RUs, die aktive Zeitschlitze aufweisen und die CU arbeiten synchron, um denselben CDMA-Code zu den aktiven Zeitschlitzen zuzuteilen, so dass die RU die CDMA-Spreizdaten wiedergewinnen kann, die durch die RU übertragen sind unter Verwendung derselben CDMA-Code(s), die verwendet wurden, um ihn zu spreizen. Die pseudo-zufällige Zahl, die auf diese Weise erzeugt wurde, wird auf dem Bus 734 als eine Adresse in eine Code-Status-Tabelle ausgegeben, die im Direktzugriffs-Speicher 736 gespeichert ist und auch in dem FIFO-Speicher 742 für eine spätere Ausgabe als ein Schreib-Zeiger auf dem Bus 533 gespeichert ist. Die Code-Status-Tabelle speichert Informationen, die von allen RUs und CUs geteilt werden, bezüglich jedes Codes, die für die Verwendung auswählbar sind. Einige Codes können für eine Verwendung blockiert sein, da sie entweder keine ausreichende Rausch-Immunität aufweisen oder aus anderen Gründen nicht zu verwenden sind. Die Daten, welche die Tatsache betreffen, ob eine Verwendung des Codes, auf den durch die Adresse auf dem Bus 734 gezeigt wird, zulässig ist, wird zu der Steuerungslogik über den Bus 738 ausgegeben. Falls die Daten auf dem Bus 738 anzeigen, dass die Verwendung des Codes, auf den durch die Adresse auf dem Bus 734 gezeigt wird, zulässig ist, erzeugt die Steuerungslogik ein Signal auf dem Bus 740, welches dem Zähler 720 mitteilt, dass er nun eine Adresse erzeugen sollte, um die Inhalte der nächsten Adresse in Folge in die Zeitschlitz-Status-Tabelle zu lesen. Alle aktiven Zeitschlitze sind einem Code einmal pro Symbol zugeteilt.

Es ist wichtig bei der Ausführungsform von 28D, dass der Inhalt der Zeitschlitz-Status-Tabelle und der Code-Status-Tabelle konstant aktualisiert werden durch alle RUs und durch die CU, so dass sie alle dieselbe Information teilen. Aktualisierungen des Code-Status' und Zeitschlitz-Status' werden durch die CU auf einem Sendekanal gesendet, unter Verwendung eines Nachrichtenprotokolls mit angefügten CRC- und ECC-Bits. Die Nachrichten über den Zeitschlitz-Status werden in der Ereignis-Schlange 744 gespeichert, die auch den Adresszeiger auf dem Bus 722 empfängt. Wenn die Adresse jedes Zeitschlitzes auf dem Bus 722 erscheint, sucht die Ereignis-Schlange nach Aktualisierungsnachrichten, betreffend diesen Zeitschlitz und aktualisiert den Inhalt der Zeitschlitz-Status-Tabelle über den Bus 746.

Zurückkehrend zu der Betrachtung von 28A gibt der Puffer-Speicher 548 zwei Informationsvektoren auf den zwei Bussen 549r und 549i aus. Die Elemente in diesen Informationsvektoren sind entsprechend die ersten zwei Bits in jedem Trellis-codierten Tri-Bit als der reale Informationsvektor und die letzten zwei Bits von jedem Trellis-kodierten Tri-Bit als der imaginäre Informationsvektor.

In 28A erzeugt Block 510 die Bereichsbildungs-Barker-Codes, die für den Bereichsbildungsprozess benötigt werden, um eine Rahmen-Synchronisation zu erhalten. Vorzugsweise ist dieser Bereichsbildungs-Barker-Code-Generator 510 eine State-Machine. Regeln zum Schaffen dieser State-Machine bei der bevorzugten Ausführungsform sind: jede Aktivität in der Lücke, die durch die Bereichsbildungs-Status-Nachricht gekennzeichnet wird, welche die temporäre ID der RU nicht anzeigt, zeigt eine Kollision an; ein einfacher Binär-Stapel-Konflikt-Auflösungs-Algorithmus wird verwendet dort, wo eine RU mit dem Bereichsbilden beginnt, jede nachfolgende Kollision drückt sie tiefer in den Stapel und jede leere Lücke hebt sie näher an das obere Ende des Stapels wie in einem LIFO-Mechanismus. Die Bereichsbildungs-State-Machine 510 empfängt als ihre Eingabe auf dem Bus 512 von der CPU 504 einen P-Parameter, der die Leistung des Bereichsbildungspulses einstellt und Daten, welche den Barker-Code des Bereichsbildungspulses definieren. Die Schaltung 510 empfängt ebenso auf dem Bus 512 RU/CU-Information, welche der Schaltung 510 mitteilt, ob sie sich in einer RU oder CU befindet. Die Daten auf der Leitung 512 steuern ebenso, ob ein einzelner Barker-Code übertragen wird, oder eine spezielle Sequenz von Barker-Codes während aufeinanderfolgender Lücken, um die Authentifikations- oder Signatur-Sequenz zu bilden. Die Daten auf dem Bus 512 steuern auch die Position eines Barker-Code-Pulses relativ zu der Mitte der Lücke. Da diese Daten von der CPU 405 kommen, weiß die CPU, wann der Sender Bereiche bildet und kann Bereichsbildungs-Status-Nachrichten, die von der CU gesendet werden und von der CPU über den Bus 1096 empfangen werden, richtig interpretieren und kann die Kommunikations- und Steuerungsschaltung 860 in 34 befehligen. Die Schaltung 510 führt den Bereichsbildungsprozess einschließlich der Konfliktauflösung, Puls-Positions-Modulation, des Steuerns und der Signatur-Übertragung aus, die bei einigen Ausführungsformen an anderer Stelle beschrieben sind, und bei anderen Ausführungsformen werden die Prozesse durch die CPU 405 und die Schaltung 510 in Zusammenarbeit miteinander ausgeführt.

Bei einigen Ausführungsformen spielt die Schaltung 510 in 28A auch eine Rolle bei dem Stromaufwärts-Entzerrungsprozess. Die Stromaufwärts-Entzerrung ist der Prozess eines Reduzierens oder Verminderns von unerwünschtem Rauschen in den gewünschten Stromaufwärtsdaten, das beispielsweise durch Reflektionen von Impedanz-Diskontinuitäten in dem Koax oder anderen Medien, einer Fehlausrichtung von Rahmen etc. erzeugt wird. Eine Entzerrung ist teilweise durch die Schaltung 510 implementiert durch Platzieren eines speziellen vorbestimmten Musters von Signalen in einer oder mehreren Lücken zwischen Rahmen, so dass die CU- und RU-Empfänger die Rausch-Charakteristiken bestimmen können, die dann in dem Kanal vorliegen, und Schritte unternehmen können, um das Rauschen zu "entzerren" oder zu reduzieren. Bei einigen Ausführungsformen wird dies durch die RU durchgeführt, welche Koeffizienten eines adaptiven Filters anpasst, so dass er eine Transfer-Funktion aufweist, welche das umgekehrte der Transfer-Funktion des Kanals ist, d.h. die Transfer-Funktion der äquivalenten Schaltung, welche die Medien repräsentiert, welche jede RU mit der CU verbinden. Das Durchführen einer Entzerrung erhöht die Durchsatz-Kapazität des Gesamtsystems, ist jedoch nicht absolut notwendig, um die Erfindung zu praktizieren, wenn eine niedrigere Kapazität toleriert werden kann. Ähnlich kann der Bereichsbildungsprozess eliminiert werden, jedoch reduziert auch dies die Nutzlast-Trage-Kapazität des Systems.

Block 514 auf der linken Seite von 28A ist ein Register oder Speicher, welches Befehls- und Steuerungsdaten, wie etwa das Pilot-Kanalsignal speichert, das auf den 16 Zugriff und Befehls- und Steuerungskanälen zu übertragen ist. Die Daten kommen auf dem Bus 398 von der CPU 405 an. Block 516 ist ein Multiplexer, der zwischen den Nutzdaten für die 128 Nutzkanäle auswählt von dem Framer 508 auf dem Bus 518 oder Befehls- und Steuerungsdaten auf dem Bus 520. Der ausgewählte Datenstrom wird dann auf den Bus 522 ausgegeben. Typische Befehls- und Steuerungsdaten beinhalten Datennachrichten, die zwischen der RU und der CU ausgetauscht werden und der CU betreffend das Bereichsbilden, wie etwa "ich möchte das Bereichsbilden beginnen", "ich habe mehr als einen einzigen Barker-Code in der Lücke gefunden, bitte führe die Konflikt-Auflösungsprozedur durch", etc., von welchen einige in weiteren Einzelheiten in der Erläuterung des Bereichsbildens und der Konfliktauflösung in 2933 beschrieben sind.

Bus 522 ist mit einer Zufallsvorrichtung 524 gekoppelt. Der Zweck der Zufallsvorrichtung ist es, die hereinkommenden Daten pseudo-zufällig zu verscrambeln, um sie mehr wie weißes Rauschen erscheinen zu lassen. Dies reduziert den dynamischen Bereich am Ausgang des Senders. Die Zufallsvorrichtung empfängt diese Verscrambelungs-Instruktionen von einem Scrambel-Register 525, welches einen Seed-Code auf dem Bus 529 empfängt und speichert. Bei einigen Ausführungsformen kann die Zufallsvorrichtung 524 weggelassen werden.

Ein Konvolutions-Trellis-Kodierer 526 dienst dazu, den Strom von Tri-Bits auf dem Bus 509 zu empfangen und ein redundantes 4tes Bit zu jedem im normalen Betriebsmodus hinzuzufügen. Da das zu jedem Tri-Bit hinzuzufügende 4te Bit von dem Status des Tri-Bits von diesem Kanal abhängt während des letzten Symbols, wird ein Speicher 528 verwendet, um den Status des 4 Bit-Chip-Status' von jedem Kanal während der letzten Symbol-Übertragung festzuhalten. Diese Information wird dem Konvolutions-Kodierer über den Bus 530 zugeführt, wenn das Tri-Bit jedes Kanals während jedes Symbols kodiert wird. Der Kodierer weist drei zuvor beschriebene Modi auf und der Vielfalt-Shuffler 506 steuert den Modus durch ein Signal auf dem Bus 534.

Medien-Zugriffs-Steuerung

Block 540 stellt eine Schaltung dar, um einen Zugriffskanal zu akquirieren und um Medien-Zugriff Steuerungs-Kommunikationen auszuführen, um ISO-MAC-Schicht-Protokolle zu implementieren. Da es nur 4 Zugriffskanäle gibt, über welche der gesamte Nachrichtenverkehr Kanal-Bandbreite anfordert und diese zuspricht, werden Konflikte auftreten, wenn mehr als eine RU gleichzeitig Bandbreite auf demselben Zugriffskanal anfordert. Daher werden Zugriffskanäle entsprechend dem folgenden Protokoll akquiriert. Jeder RU-Sender empfängt eine Seed-Nummer auf dem Bus 550 und wählt pseudo-zufällig aus, welcher Zugriffskanal für eine Benutzung zu versuchen ist und wählt pseudo-zufällig aus, welche 6 Symbole eines Superrahmens, der aus 12 Symbolen gebildet ist, zu senden sind. Die RU sendet dann einen Authentifikations-Code, der diesen in der Form der eindeutigen Sequenz von 6 der 12 Symbole eines Superrahmens von 4 Rahmen identifiziert, wobei die eindeutige Sequenz, die pseudo-zufällig ausgewählt wurde, den Seed verwendet. Alle RUs verwenden denselben Seed, so dass die Wahrscheinlichkeit dafür, dass mehr als eine denselben Authentifikations-Code herauspickt, gering ist. Die 6 gesendeten Symbole können die Nachricht der RU beinhalten, welche der CU mitteilt, wie viele Kanäle sie benötigt, oder eine getrennte Nachricht kann gesendet werden, nachdem ein Zugriff erreicht ist. Die CU hört auf alle Zugriffskanäle und bestimmt während jedes Superrahmens, ob mehr als 6 Symbole gesendet wurden. Wenn dies der Fall ist, so sendet die CU eine Nachricht auf dem Steuerungskanal, welche anzeigt, dass es einen Konflikt auf einem speziellen Zugriffskanal gibt. Die RUs, die versuchen, einen Zugriff zu erhalten, führen dann das Konflikt-Auflösungsprotokoll aus, das an anderer Stelle hierin beschrieben ist, das für das Bereichsbilden verwendet wird. Falls nur 6 Symbole während des Superrahmens detektiert worden sind, sendet die CU eine Nachricht zu dem Steuerungskanal, welche anzeigt, dass 6 Symbole gefunden wurden. Die CU kann in der Sendenachricht Code-Zuteilungen für die angeforderten Kanäle bei Reservierungs-Ausführungsformen beinhalten oder bei einer anderen Ausführungsform kann sie einfach Aktualisierungen zur Zeitschlitz-Aktivitäts-Tabelle übertragen, welche anzeigen, welche Zeitschlitze oder Kanäle der RU zugesprochen worden sind, die den Zugriff erhielt. Die RU, die diese 6 Symbole gesendet hat, weiß dann, dass ihr ein Zugriff zugesprochen wurde und aktualisiert ihre Zeitschlitz-Aktivitäts-Tabelle, die in dem Vielfalt-Shuffler 506 aufrechterhalten wird. Alle RUs hören die Zeitschlitz-Aktivitäts-Aktualisierungs-Nachricht und aktualisieren in ähnlicher Weise ihre Zeitschlitz-Aktivitäts-Tabellen.

Sobald ein Zugriffskanal akquiriert ist, kann die Schaltung 540 bei einigen Ausführungsformen Daten auf den Bussen 542r und 542i zum Multiplexer 544 darstellen, welche Zugriffs-Steuerungs-Nachrichten aufweisen, die auf den 4 Zugriffskanälen von gesamten 144 Kanälen gesendet werden. Der Multiplexer 544 wählt entweder diese Medien-Zugriffsnachrichten auf den Bussen 542r und 542i aus oder die kodierten Chips von dem Konvolutions-Trellis-Kodierer 526 zu dem Code-Multiplexer 527 über die Busse 546r und 546i und dem Puffer 548. Der Multiplexer 544 wird durch Schalt-Steuerungssignale von der CPU 405 gesteuert, die Inhalte des Puffers 548 zu editieren, um die 4 Bit-Gruppen der Zugriffs-Steuerungssymbole mit den Nutzdaten auf dem Bus 507 zu überlagern, sodass die Medien-Zugriffs-Steuerung-4-Bit-Gruppen in die richtigen Adressen des Puffers 548 gehen, um durch die CDMA-Codes gespreizt zu werden, die den Zugriffskanälen zugeteilt wurden.

Die Medien-Zugriffs-Steuerungsnachrichten bilden Anforderungen von den RUs für Bandbreite und Zuteilungen bestimmter Kanäle zu den RUs durch die CU bei einigen Ausführungsformen. Die Zuteilungen von bestimmten Kanälen zu bestimmten RUs implementieren ein Reservierungsschema und die Zuteilungen können viele Formen annehmen, wie beispielsweise Sendungen auf dem Steuerungskanal einer Zeitschlitz-Aktivitäts-Tabelle-Aktualisierungs-Nachricht oder von speziellen Nachrichten auf den Zugriffskanälen bei anderen Ausführungsformen. Auch werden andere Medien-Zugriffs-Protokolle als das Reservierungsschema, die an anderer Stelle hierin beschrieben sind, ebenso möglich durch verschiedene Protokolle, von welchen einige einen Nachrichtenverkehr auf den Zugriffskanälen erfordern können. In einer wichtigen alternativen Ausführungsform können alle verschiedenen Schemas zum Vergeben von Kanälen zu bestimmten Zeitschlitzen verwendet werden oder es können Kombinationen von Schemas für verschiedene Gruppen von Kanälen verwendet werden. Bei dieser Ausführungsform ist der Typ von Schema, der verwendet wird, durch den Benutzer programmierbar und in einer Abwandlung dieser Ausführungsform kann er durch den CU-Computer, basierend auf Verkehrsbedingungen und der Anzahl von Konflikten und Wirksamkeitsbetrachtungen, geändert werden.

Da ein Reservierungsschema in der bevorzugten Ausführungsform implementiert ist, treten keine Konflikte auf den 140 Nicht-Medien-Zugriffs-Steuerungs-Nutzkanälen auf, so dass keine Konflikt-Auflösungsprotokolle ausgeführt werden für diese Kanäle, da es dort keine Konflikte gibt. Jedoch wird das Auftreten von Konflikten auf den 4 Zugriffs-Steuerungskanälen erwartet, die zwischen allen RUs geteilt werden, so dass eine Konfliktauflösung in der Weise, wie sie an anderer Stelle hierin beschrieben ist, ausgeführt werden muss.

Das Spreizen der Chips von dem Konvolutions-Kodierer wird durch den orthogonalen Code-Multiplexer 527 ausgeführt. Diese Schaltung oder Software-Routine führt ein Code-multiplexen oder ein orthogonales Kodieren der Daten auf jedem Kanal durch eine Matrix-Multiplikation durch. Sie stellt die Amplitude der Ausgabe-Chips auf den Bussen 558r und 558i, basierend auf einer Matrix-Multiplikation der orthogonalen Codes mit den Elementen der Eingangs-Informationsvektoren auf den Bussen 549r und 549i vom Puffer 548, ein. Jeder der Informationsvektoren auf den Bussen 549r und 549i ist individuell gespreizt durch den orthogonalen Code-Multiplexer, um individuelle Real- oder Inphase- und Quadratur- oder Imaginär-Ergebnis-Vektoren 409 und 413 in 46 auf den Bussen 558r und 558i zu erzeugen.

Es gibt dort nur einen orthogonalen zyklischen Code, der 144 verschiedene Codes aufweist. Dieser Code wird verwendet und ist in hexadezimaler Darstellung: 0218 A503 BA4E 889F 1D92 C1F3 AB29 8DF6 ADEF. Obwohl zyklische Codes der bevorzugten Ausführungsform für eine Vereinfachung der Implementierung verwendet werden, kann irgendein anderer, orthogonaler, nicht zyklischer Code-Satz ebenso in alternativen Ausführungsformen verwendet werden oder andere orthogonale zyklische Codes können verwendet werden, wenn weniger Kanäle/Zeitschlitze erforderlich sind. Der oben angegebene zyklische Code verwendet die Konvention, dass alle logischen 0en–1en darstellen und alte logischen 1en + 1 darstellen in der orthogonalen Code-Spreiz-Matrix. Der erste Code der 144 verschiedenen Codes in dem Code-Satz wird nur 1en beinhalten, ungeachtet des Inhalts des oben angegebenen Codes. Der zweite Code in dem Code-Satz ist der Code, der oben angegeben ist: 0218 A503 BA4E 889F 1D92 C1F3 AB29 8DF6 ADEF. Der dritte Code wird erhalten durch Verschieben des Codes um eine binäre Stelle und Übernehmen des Überlauf-Bits, das aus dem Positionsrand des Codes des höchstwertigen Bits "herausfällt" in die zweite niedrigstwertige Bit-Position. Der vierte Code wird erhalten durch einen Wiederholungsprozess, der ausgeführt wird, um den dritten Code zu erhalten auf dem dritten Code.

Die Ergebnisse der Matrix-Multiplikation, die in dem orthogonalen Code-Multiplexer 527 durchgeführt werden, werden über die Busse 558 und 558i zu einem einzigen Eingang einer Umschaltschaltung 556 gekoppelt, deren Schalten durch die CPU 405 gesteuert wird. Der andere Eingang der Umschaltschaltung 556 ist mit den Bussen 558i und 558r gekoppelt, um die Bereichsbildungsdaten von der Bereichsbildungsschaltung 510 zu empfangen. Der Schalter 556 wählt die Daten auf den Bussen 558r und 558i aus für ein Koppeln über die Busse 557 bzw. 557i, zu einem Vor-Code-FFE/DFE-Filter 563 während der drei Symbol-Übertragungszeiten jedes Rahmens, wenn Nutzdaten gesendet werden. Der Schalter 556 wählt die Bereichsbildungs-Pulsdaten auf dem Bus 560 während der Lücke, welche der Übertragung des letzten Symbols in jedem Rahmen folgt, aus.

Entzerrung, wie dieser Ausdruck hierin verwendet wird, ist der Prozess eines Kompensierens von Verzerrungen und Rauschen, die auftreten, verursacht durch Rauschen in dem Kanal zwischen der RU und der CU. Der Vor-Code-Filter 563 führt eine gemessene Vor-Verzerrung bei jedem RU-Sender durch, so dass die Daten an der CU unverzerrt ankommen trotz der Kanal-Beeinträchtigung zwischen dieser speziellen RU und der CU. Der Betrag der Vor-Verzerrung wird durch jede RU so berechnet, dass die momentanen Verzerrungsbedingungen, die in dem Kanal zwischen dieser und der CU bestehen, im Wesentlichen oder exakt kompensiert werden. Die Vor-Verzerrungs-Charakteristik wird implementiert durch Einstellen der Übertragungsfunktion des Vor-Code-Entzerrungsfilters 563. Diese Übertragungsfunktion wird gesteuert durch die RU/CU-Koeffizienten-Dateneingabe in den Filter auf dem Bus 561. Jede RU verwendet ihre eigenen, eindeutigen, gemessenen RU/CU-Koeffizienten-Daten, um eine Vor-Verzerrung einzurichten, die für ihre eigenen Signale oder ihre Position in dem Netzwerk geeignet ist, um zu bewirken, dass ihre Signale die CU mit einer geringen oder keiner Verzerrung erreichen. Weitere Einzelheiten werden sowohl bezüglich der Stromaufwärts- als auch Stromabwärts-Entzerrung in Verbindung mit der Erläuterung von 45 angegeben.

Die Ausgabe des Vor-Code-Filters auf Busse 562r und 562i wird an einen Skalier-Verstärker 564 angelegt, der den Amplituden-Pegel der digitalen Zahlen auf den Bussen 562r und 562i skaliert in Übereinstimmung mit einem Signal auf dem Bus 566, welches das Aktivitäts-Niveau des Modems anzeigt, d.h. wie viele Zeitschlitze momentan durch dieses Modem in Benutzung sind. Der Zweck dieser Skalierung ist es, die Leistungsfähigkeit zu erhöhen durch Vorteil ziehen aus der vollen Präzision eines Digital-zu-Analog-Wandlers 576 am Ausgang des Senders. Ein Digital-zu-Analog-(D/A)-Wandler weist einen dynamischen Bereich für seinen analogen Ausgang auf. Wenn wenige Zeitschlitze aktiv sind, führt die Summierung der CDMA-Spreiz-Matrix-Multiplikation-Teilprodukte nicht zu Chip-Amplituden, die sich bis zu den vollen Grenzen des dynamischen Bereichs des D/A-Wandlers erstrecken. Als ein Ergebnis wird die volle Präzision des D/A-Wandlers nicht verwendet und das inhärente Rauschen des D/A-Umwandlungsprozesses beeinflusst das übertragene Signal stärker. Um die gesamte Präzision des D/A-Wandlers zu verwenden, verstärkt der Skalierer 564 das hereinkommende Signal, basierend auf dem Aktivitäts-Pegel, so dass das resultierende Pendeln in digitalen Werten, der in den D/A-Wandler 567 eintritt, analoge Ausgangssignale bewirkt, die zwischen den Grenzen des dynamischen Bereichs des D/A-Wandlers pendeln. Diese Signale werden später in der Amplitude durch eine Schaltung (nicht gezeigt) reduziert, welche die Amplitudenausschläge beschränkt, um ein Interferieren mit anderen Signalen, welche das Medium teilen, zu verhindern.

Die Ausgaben der Skalier-Schaltung auf die Busse 568r und 568i sind mit dem Formungsfilter 570 gekoppelt, der verdoppelt, um eine trägerlose Amplituden- und Phasen-Modulation durchzuführen. Es bestehen dort zwei Filter in dem Formungsfilter, die Übertragungsfunktionen aufweisen, welche die Hilbert-Transformation voneinander darstellen, und welche Abroll-Charakteristiken aufweisen, die so eingestellt sind, um die Daten auf den Bussen 568r und 568i so digital zu filtern, dass die Bandbreite des Signals auf jedem Bus auf die Breite und Mittel-Frequenz des 6 mHz-Kanals begrenzt wird, der für die digitale Datenkommunikation auf dem Koax-Kabel oder einem anderen Medium 24 bestimmt ist. Der Formungsfilter weist eine Filter-Charakteristik mit angehobenem Quadrat-Kosinus auf, die geeignet ist, die hinausgehenden Chip-Pulse so zu formen, dass sie Nyquist-Kriterien in einer bekannten Weise genügen, um eine optimale Signal-zu-Rausch-Verbesserung bereitzustellen und um die Zwischen-Symbol-Interferenz zu minimieren. Die Filter im Formungsfilter/Modulator 570 können andere Übertragungsfunktionen aufweisen, welche ebenfalls die zu übertragenden Chips so formen, dass das Spektrum der hinausgehenden Signale den Nyquist-Kriterien genügt. Jede dieser anderen Pulsformen wird hinreichend sein, um die Erfindung zu praktizieren. Die Koeffizienten-Daten auf dem Bus 572 liefern die Fähigkeit, die Filter-Charakteristiken des Formungsfilters/Modulators 570 einzustellen und zu ändern. Weitere Einzelheiten über den Betrieb des Formungsfilters/Modulators 570 sind in Verbindung mit der Diskussion von 46, 47 und 48 angegeben.

Der Ausgang des Filters/Modulators ist auf den Bus 574 gekoppelt (der Filter/Modulator 570 summiert die orthogonalen Real- und Imaginär-Signale nach einem Filtern, um ein einzelnes Signal auf dem Bus 574 zu erzeugen), ist mit dem Eingang des Digital-zu-Analog-Wandlers 576 gekoppelt für eine Umwandlung in ein analoges Signal für ein Anlegen an den Eingang eines Aufwärts/Abwärts-Frequenz-Wandlers 577. Der Zweck des Aufwärts/Abwärts-Frequenz-Wandlers ist es, die Frequenz des übertragenen Signals auf die Frequenz zu übertragen, welche für Stromaufwärts- oder Stromabwärts-Übertragungen vergeben ist, wie dies der Fall sein kann entsprechend dem Frequenz-Plan für die gemeinsamen Übertragungsmedien. Der Aufwärts/Abwärts-Wandler gibt sein Signal auf das Übertragungs-Medium 24, wie beispielsweise ein Koaxialkabel, ein zellulares System, ein Satelliten-Aufwärtsverbindung etc. aus.

Alternative Bereichsbildungs-, Konfliktauflösungs- und Authentifikations-Prozesse, die durch die RUs und die CU ausgeführt werden

Bezug nehmend auf 29 ist dort ein Flussdiagramm für ein Bereichsbildungsverfahren unter Verwendung einer Konfliktauflösung gezeigt. Bei der bevorzugten Ausführungsform werden die Bereichsbildungs-, Konflikt-Auflösungs- und Authentifikations-Prozesse von 2933 durch Kooperation mit dem Empfänger von 34 ausgeführt, welcher die C3-Schaltung 860 beinhaltet, den Rahmen-Detektor 882 und die R/Tng-Schaltung 763, die CPU 405 und den Sender von 28, welcher eine Rng-Schaltung 510 beinhaltet, welche mit dem Mikroprozessor 405 zusammenwirkt.

Der Ausgangspunkt des Bereichsbildungsprozesses ist der Block 600 in dem RU-Bereichsbildungsprozess, der in 29 gezeigt ist. Der Block 600 wird erreicht, nachdem die RU eingeschaltet wurde und einen Selbsttest durchgeführt hat und festgestellt hat, dass sie betriebsbereit ist. Als Nächstes wird Test 602 ausgeführt, um auf den Steuerungskanal zu hören, um zu warten, bis er für eine Übertragung ("E") bereit ist. 602. Falls der Test 602 bestimmt, dass eine Kollision ("C") auf dem Steuerungskanal auftritt oder eine einzelne RU überträgt ("S") auf dem Steuerungskanal, schreitet der Test-602-Vektor zu Block 604 fort, wenn der Steuerungskanal frei ist. Block 604 stellt den Prozess dar, der durch die Schaltung 510 in 28A ausgeführt wird, von einer Übertragung eines Bereichsbildungspulses (typischerweise eine Kopie des Barker-Codes, die in jedem Rahmen durch die CU übertragen wird). Der Multiplexer 556 wird auf den Auswahl-Eingangs-Bus 560 vor einer Übertragung des Bereichsbildungspulses geschaltet.

Nachdem der Bereichsbildungspuls übertragen ist, hört der CU-Empfänger in der Lücke, um zu bestimmen, ob er einen Bereichsbildungspuls in der Lücke findet und falls dies so ist, ob nur ein einziger Bereichsbildungspuls vorhanden ist. Der Block 604 geht vektoriell zum Test von 606 nach einer Übertragung des Bereichsbildungspulses, um auf dem Steuerungskanal zu hören. Die CU wird ein S auf dem Steuerungskanal übertragen, falls ein einzelner Puls in der Lücke gefunden wurde, und wird ein E auf dem Steuerungskanal übertragen, falls die Lücke als leer festgestellt wurde. Falls der Test 606 ein S auf dem Steuerungskanal hört, wird die Verarbeitung vektoriell auf den Block 608 gebracht, um den Authentifikations-Prozess zu beginnen. Falls der Block 606 ein E auf dem Steuerungskanal hört, was kennzeichnet, dass die Lücke leer ist, wird die Verarbeitung vektoriell zum Block 610 gebracht, um den Bereichsbildungspuls plus 8 Chips zu bewegen und die Verarbeitung wird vektoriell zurück zu Block 604 gebracht, um einen neuen Bereichsbildungspuls zu senden. Die Verarbeitung wird dann vektoriell zurück zum Test 606 gebracht, um erneut auf dem Steuerungskanal zu hören. Diese Schleife dauert an bis entweder ein S für einen einzelnen Puls auf dem Steuerungskanal gehört wird oder ein C für eine Kollision gehört wird. Die CU sendet ein C, wenn sie mehr als einen einzelnen Bereichsbildungspuls in der Lücke hört.

Wenn der Test 606 ein C hört, wird die Verarbeitung vektoriell zu Block 612 gebracht, um den Konflikt-Auflösungsprozess zu beginnen, der dann ausgeführt wird, wie durch Block 614 symbolisiert ist. Die Konfliktauflösung dauert an, bis ein einzelner Puls in der Lücke gefunden wird oder kein Puls in der Lücke gefunden wird. Falls, als ein Ergebnis der Konfliktauflösung, kein Puls in der Lücke gefunden wird, sendet die CU ein E auf dem Steuerungskanal, was vektoriell zu einer Verarbeitung auf Block 616 führt. Die Verarbeitung schreitet dann vektoriell zu Block 610 fort, um den Bereichsbildungspuls 8 Chips vorwärts zu bewegen, und der Prozess wiederholt sich.

Bevorzugter Authentifikations-Prozess

Die Authentifikation wird begonnen, wenn die CU eine Nachricht auf dem Steuerungskanal sendet, dass sie einen Bereichsbildungspuls von einer einzelnen RU in der Lücke gefunden hat. Bei beiden Ausführungsformen werden die Lücken von mehrfachen Rahmen verwendet, um einen Authentifikations-Code zu senden. Jede RU, welche zu synchronisieren versucht hat, hört das "S" auf dem Steuerungskanal im Schritt 606 in 29, was anzeigt, dass die CU den Bereichsbildungspuls von einer einzelnen RU in der Lücke detektiert hat, und führt die Verarbeitung vektoriell zu dem Authentifikations-Prozess fort, die durch Block 608 dargestellt ist. Es gibt dort mehrere Möglichkeiten, wie die Authentifikation durchgeführt wird. Das Flussdiagramm von 30 stellt eine Ausführungsform dar, welche eine Puls-Positions-Modulation verwendet, um den Authentifikations-Code zu senden. Bei dieser Ausführungsform sendet jede RU, welche versucht hat, eine Synchronisation einzurichten, einen einzelnen Bereichsbildungspuls während der Lücken eines jeden der 8 Rahmen, jedoch unter Variieren der Position des Pulses in der Lücke während jeder Lücke. Bei einer anderen vorher beschriebenen Ausführungsform sendet die RU eine Authentifikations-Barker-Code-Sequenz, welche gebildet ist aus einem Senden des Barker-Codes während einiger Lücken der 8-Rahmen-Authentifikations-Sequenz, jedoch nicht während anderer in einer vorbestimmten Sequenz. Jede RU weist eine eindeutige Sequenz auf, jedoch senden alle RUs Pulse nur während der Hälfte der Authentifikations-Sequenz-Lücken.

Bevorzugter Konflikt-Auflösungsprozess

Bezug nehmend auf 30 ist dort ein Flussdiagramm des bevorzugten Prozesses für eine Konfliktauflösung angezeigt, der in den RU-Modems durch die Schaltung ausgeführt wird, die durch Block 510 in 28A dargestellt ist, wenn mehr als ein RU-Bereichsbildungspuls in der Lücke gefunden wird. Der Authentifikations-Prozess beginnt beim Block 608 und schreitet unmittelbar zum Block 620 fort. Dort sendet die CU ein S auf dem Steuerungskanal aus, was kennzeichnet, dass sie einen einzelnen RU-Bereichsbildungspuls in der Lücke gefunden hat. Welche RU es ist, ist an diesem Punkt noch nicht klar und der Zweck des Authentifikations-Prozesses ist zu bestimmen, welche RU die Lücke getroffen hat und diese RU so zu unterrichten, so dass sie ihre Verzögerung bei der Verzögerung, welche die Lücke getroffen hat, einfrieren kann. Vor Beginn des Prozesses eines Bestimmens der RU-Identität sendet die CU einen Befehl auf dem Steuerungskanal für alle RUs aus, die Bereiche bilden, um ihre Bereichsbildungspulse plus oder minus der Anzahl von Chips zu bewegen, welche den Bereichsbildungspuls, den die CU gesehen hat, von der Mitte der mittleren 8 Chips der Lücke trennen. In Block 620 ist dieser Prozess gekennzeichnet durch den Ausdruck Sende-Grob-Ausrichtungs-Daten zur RU, um den Bereichsbildungspuls zu zentrieren. Da Bereichsbildungspulse von anderen RUs ebenfalls in der Lücke sein können, jedoch an einem Rand, bewegen sie ebenfalls die Position ihrer Bereichsbildungspulse, jedoch können ihre Bereichsbildungspulse ebenso irgendwo in den mittleren 8 Chips der Lücke landen. Da die Authentifikation erfordert, dass sich nur ein einziger Bereichsbildungsprozess in der Lücke befindet, sucht der Block 620 nach einem so genannten "Randpuls" oder Nachbar in der Lücke zusätzlich zu dem einzelnen Puls, der zuvor gefunden wurde, um sicherzustellen, dass es wirklich nur einen Bereichsbildungspuls in der Lücke gibt, um eine Mehrdeutigkeit zu vermeiden. Das bedeutet, dass die CU versucht, herauszufinden, ob ein anderer RU-Puls, der ursprünglich in der Lücke war, jedoch außerhalb der mittleren 8 Chips, in den mittleren 8 Chips gelandet ist, nachdem die Position des Pulses, der ursprünglich in den mittleren 8 Chips gefunden wurde, zum Zentrum der Lücke bewegt wurde. Die CU sucht nach diesen externen Pulsen zuerst durch Befehlen einer Verschiebung im Bereichsbildungspuls, der ursprünglich in der Lücke gefunden wurde, der zum Senden des S auf dem Steuerungskanal geführt hat, um sich ausreichend zu bewegen, um im Chip 0 der mittleren 8 Chips zu landen. Dann sucht Test 622 nach mehr als einem einzelnen Puls, wie im nächsten Abschnitt beschrieben wird. Dann befiehlt die CU eine Bewegung des ursprünglichen Bereichsbildungspulses zu dem anderen Ende, d.h. das Bewegen zu Chip 7 der mittleren 8 Chips, und der Test-Prozess 622 wird wiederholt.

Die Bestimmung, ob mehr als ein einzelner Bereichsbildungspuls sich in den mittleren 8 Chips befindet, wird durch den Test 622 durchgeführt, der die Bereichsbildungspulse in den mittleren 8 Chips der Lücke zählt und ihre Orte bestimmt. Falls der Zählwert der Anzahl von Bereichsbildungspulsen, die in den mittleren 8 Chips gefunden wurden, größer ist als Eins, sendet die CU ein C auf dem Steuerungskanal, was einen Kollisionszustand anzeigt, was alle RUs dazu veranlasst, die Verarbeitung vektoriell zu ihren Konflikt-Auflösungsprotokollen zu bewegen, wie durch Block 624 symbolisiert ist. Falls der Test 622 bestimmt, dass der Puls-Zählwert 0 ist, oder dass es einen Positionsfehler in der Position des einzelnen Pulses gibt, der in den mittleren 8 Chips gefunden wurde, wird Test 626 durchgeführt, um zu bestimmen, ob die Anzahl von erneuten Versuchen die maximal zulässige Anzahl übersteigt. Falls nicht, wird der Prozess von Block 620 wiederum ausgeführt, um neue Grob-Ausrichtungsdaten zu den RUs auf den Steuerungskanal zu senden. Falls die Anzahl von wiederholten Versuchen, die durch den Test 626 gefunden wurde, das Maximum übersteigt, wird der Prozess von Block 628 durchgeführt, wobei die CU ein E auf dem Steuerungskanal sendet, was anzeigt, dass die Lücke leer ist. Dies veranlasst alle RUs zu versuchen, sich zu synchronisieren, um zu ihren Bereichsbildungsprozessen zurückzukehren und von Neuem beim Block 600 in 29 zu beginnen.

Sobald der Test 622 bestimmt, dass es nur einen einzelnen RU-Bereichsbildungspuls in der Lücke gibt und dass dieser innerhalb der mittleren 8 Chips liegt, wird die Verarbeitung vektoriell zum Test 630 bewegt, der bestimmt, ob Rauschen eine Detektion dessen bewirkt hat, was für einen Bereichsbildungspuls gehalten worden war, was jedoch nur Rauschen war. Dieser Test wird durchgeführt durch Bestimmen, ob zumindest zwei von drei Bereichsbildungspulsen empfangen wurden, wenn der Bereichsbildungspuls gesteuert worden war, sich zum äußeren linken Rand zu bewegen, dem äußeren rechten Rand und der Mitte der mittleren 8 Chips der Lücke. Falls Bereichsbildungspulse bei zumindest zwei von diesen drei Positionen detektiert wurden, besteht kein falscher Alarm und die Verarbeitung wird vektoriell zum Block 632 bewegt. Falls ein falscher Alarm detektiert wurde, wird die Verarbeitung vektoriell zurück zu Test 626 bewegt, um von vorne beim Positionieren des Bereichsbildungspulses zu beginnen.

Der Prozess, symbolisiert durch Block 632, ist der Prozess der CU, welche ein A auf dem Steuerungskanal sendet, welches allen RUs signalisiert, welche versuchen sich zu synchronisieren, ihre Authentifikations-Codes zu senden. Dafür gibt Block 632 an Status = Auth, was bedeutet, dass die CU eine implizierte Anforderung für die Authentifikations-ID (AUID) sendet, von der RU, deren Puls sich in der Lücke befindet. In Antwort senden alle RUs, welche versuchen sich zu synchronisieren, ihre AUIDs in der Form von vier Bereichsbildungspulsen während der Lücken von jedem der nächsten vier Rahmen eines Superrahmens, wobei sich jeder Bereichsbildungspuls in einem speziellen der 8 Chip-Positionen in den mittleren 8 Chips in der Lücke befindet. Die Positionen und die Sequenz während dieser vier Lücken des Authentifikations-Superrahmens, teilen der CU mit, welche RU die Lücke getroffen hat. Das ist die Bedeutung des Ausspruchs in Block 632 "Suche nach einem einzelnen Puls in jeder Lücke [ein SF, Puls-Position wird Nr. 1–7]". Die Schritte, welche Block 632 folgen, überprüfen lediglich Fehler in diesem Prozess. Insbesondere wird der Test 634 nach jedem Rahmen durchgeführt, um einen Pulszähler zu inkrementieren und um zu bestimmen, ob der Puls-Zählwert 4 am Ende des Superrahmens erreicht hat. Falls der Puls-Zählwert 4 am Ende des Authentifikations-Superrahmens ist, führt der Test 634 die Verarbeitung vektoriell zum Block 636 fort, wo die CU eine FAE-Nachricht auf dem Steuerungskanal sendet, welche anzeigt, dass die Authentifikation beendet ist, und sendet den AUID-Code aus auf dem Steuerungskanal für ein Erkennen durch die RU, welche ihn gesendet hat. Der AUID wird eine Sequenz von 4 Zahlen von 0–7 sein, welche anzeigen, in welchem Chip der mittleren 8 der Lücken des Authentifikations-Superrahmens jeder Bereichsbildungspuls gefunden wurde. Jede RU, welche versucht sich zu synchronisieren, wird diese Sequenz von 4 Zahlen mit den 4 Zahlen ihrer AUID vergleichen. Falls es eine Übereinstimmung gibt, wird diese RU wissen, dass sie die Lücke erfolgreich getroffen hat und wird ihre Übertragungs-Verzögerungs-Zeitgabe bei der Zahl einfrieren, welche ihren Bereichsbildungspuls in die Mitte der 8 mittleren Chips der Lücke bringt. Schritt 638 ist dann erreicht, was anzeigt, dass die Authentifikation vollständig ist.

Falls Test 634 bestimmt, dass der Puls-Zählwert weniger ist als 4, nachdem irgendeine Lücke in dem Authentifikations-Superrahmen vollständig ist, wird die Verarbeitung vektoriell zum Test 640 bewegt, um zu bestimmen, ob die Anzahl von wiederholten Versuchen die maximal zulässige Anzahl übersteigt. Test 640 sendet die Verarbeitung zurück zum Block 632, um nach Pulsen in den Authentifikations-Superrahmen-Lücken zu suchen und um ihre Position aufzuzeichnen, bis der Superrahmen vorüber ist und der Puls-Zählwert geringer ist als 4. Einige Zahlen von Superrahmen mit den RUs, welche ihre AUIDs senden, können bei einigen Ausführungsformen erlaubt sein. Möglicherweise überschreitet die Anzahl von wiederholten Versuchen das Maximum und die Verarbeitung wird vektoriell durch den Test 640 zum Block 642 bewegt. Im Block 642 sendet die CU ein E auf dem Steuerungskanal und in Antwort werden alle RUs, welche versuchen sich zu synchronisieren, zu dem Bereichsbildungsprozess zurückkehren.

Ähnlich, falls zu irgendeiner Zeit der Zählwert, der durch Test 634 bestimmt wurde, 4 während des Authentifikations-Superrahmens übersteigt oder bei der Beendigung davon, ist ein Fehler aufgetreten oder hat eine andere RU ihren Bereichsbildungspuls in die Lücke bewegt. Falls dies eintritt, wird der Test 644 ausgeführt, um zu bestimmen, ob die maximale Anzahl von wiederholten Versuchen überschritten worden ist. Falls nicht, kehrt die Verarbeitung zum Block 632 zurück. Typischerweise wird mehr als ein Authentifikations-Superrahmen zugelassen sein, wenn die RUs ihre AUIDs während jedes Superrahmens senden. Möglicherweise, falls Block 636 nach mehreren Superrahmen nicht erreicht wird, wird der Test 644 das vektorielle Bewegen des Verarbeitens zum Block 646 triggern, wo die CU ein C auf dem Steuerungskanal sendet, was anzeigt, dass eine Kollision aufgetreten ist, durch welche die RUs veranlasst werden, zu ihren Konflikt-Auflösungsprotokollen zurückzukehren.

Bezug nehmend auf 31 ist das Bereichsbilden und das Konflikt-Auflösungsprotokoll, das auf der CU-Seite ausgeführt wird, in Form eines Flussdiagramms in Einzelheiten gezeigt. Das Bereichsbilden beginnt mit dem Block 650, wobei die CU einen eindeutigen Barker-Code aussendet. Dieser Barker-Code ist ein eindeutiges Muster von Daten, das, wenn es durch die RUs empfangen wird, von diesen zu der CU zurückreflektiert wird, nachdem eine programmierbare Verzögerung auferlegt wurde. Es ist diese programmierbare Verzögerung, die während des Bereichsbildungsprozesses abgestimmt wird, bis der reflektierte Barker-Code in der Form eines Bereichsbildungs-"Pulses" die Lücke trifft. Block 652 stellt den Prozess eines Überwachens der Lücke dar, der von der CU ausgeführt wird, um zu bestimmen, ob irgendein RU-Bereichsbildungspuls sie getroffen hat. Dieses Überwachen wird typischerweise unternommen durch Ausführen einer Korrelationsberechnung zwischen irgendeinem Signal, das in der Lücke empfangen wurde und dem ursprünglich übertragenen Barker-Code, jedoch kann es bei anderen Ausführungsformen irgendeine andere Form eines Überwachens sein, wie beispielsweise ein Schwellenvergleich etc., der die rauschende Umgebung effektiv wiedergibt. Eine Schwellenüberwachung von scharfen Pulsen oder Pulsen hoher Leistung ist jedoch weniger wünschenswert, da scharfe Pulse dazu tendieren, über das Band einen breiten Bereich von Fourier-Komponenten zu streuen, während Bereichsbildungspulse hoher Leistung, die über dem Rauschen auftreten, gleichzeitig mit Nutzdaten von anderen RUs ankommen können, bevor eine Ausrichtung erreicht wurde, und damit interferieren. Der Test 654 stellt die Überprüfung der Ergebnisse der Korrelationsberechnung dar oder einer anderen Überwachungsaktivität, um zu bestimmen, ob irgendein Puls in der Lücke gefunden wurde. Falls nicht, wird der Schritt 656 ausgeführt, wobei die CU ein E auf dem Steuerungskanal sendet, was anzeigt, dass die Lücke leer ist, wodurch die RUs veranlasst werden, ihre Verzögerungen einzustellen und ihre Barker-Codes oder Bereichsbildungspulse während des nächsten Rahmens zurücksenden. Der Schritt 656 subtrahiert außerdem Eins von einem Iterationsstapel, der die Anzahl von Iterationen oder von Versuchen Bereiche zu bilden zählt. Dann wird der Überwachungsschritt 652 erneut ausgeführt.

Falls der Test 654 ergibt, dass es einen Bereichsbildungspuls in der Lücke gibt, schreitet das Verarbeiten vektoriell zum Test 658 fort, wo die CU bestimmt, ob es mehr als einen einzelnen Bereichsbildungspuls in der Lücke gibt. Falls es nur einen einzelnen Bereichsbildungspuls in der Lücke gibt, wird Schritt 660 ausgeführt, wobei die CU ein S auf dem Steuerungskanal sendet, was allen RUs anzeigt, die Bereiche bilden, ihren Authentifikations-Prozess zu beginnen.

Falls mehr als ein Bereichsbildungspuls in der Lücke gefunden wird, wird Schritt 662 ausgeführt, um ein C auf dem Steuerungskanal zu senden, welches den RUs anzeigt, dass es dort einen Konflikt gibt und was diese dazu zwingt, ihre Konflikt-Auflösungsprotokolle auszuführen. Dann prüft die CU den Status eines Iterationsstapels, um zu sehen, ob er voll ist. Der Iterationsstapel wird verwendet, um die Runden eines Bereichsbildens für Zwecke einer Konflikt-Auflösung zu verfolgen und für ein rascheres Bereichsbilden aller RUs, welche versuchen sich zu synchronisieren in einigen Ausführungsformen. Der Stapel wird um Eins inkrementiert und wird in Test 664 getestet, um zu bestimmen, ob die maximale Anzahl von Iterationen erreicht worden ist. Falls nicht, kehrt die Verarbeitung zurück zum Block 652, um die Lücke wiederholt nach Bereichsbildungspulsen zu überwachen, die während des nächsten Rahmens übertragen wurden. Falls die maximale Anzahl von Iterationen erreicht wurde, wird Schritt 666 ausgeführt, um ein R auf dem Steuerungskanal zu senden, wodurch alle RUs veranlasst werden, sich rückzustellen und den Bereichsbildungsprozess erneut zu beginnen.

Bezug nehmend auf 32 ist dort ein Flussdiagramm für einen Bereichsbildungsprozess gezeigt, der durch die RUs unter Verwendung eines binären Baum-Algorithmus' ausgeführt wird. Der Prozess beginnt mit einer oder mehreren RUs, die nicht in Rahmen-Synchronisation sind, die jedoch wünschen, eine Rahmen-Synchronisation zu erreichen, um in der Lage zu sein, Daten zu der CU zu senden. Diese RUs müssen zuerst ihre Empfänger auf Sendungen auf dem Steuerungskanal von der CU synchronisieren, so dass sie Status-Befehle von der CU empfangen können, die ihre Aktivitäten während des Bereichsbildungsprozesses steuern. Die RUs können sich selbst auf die CU-Sendungen synchronisieren ohne Hilfe von der CU oder die Notwendigkeit, irgendetwas zu der CU zu senden, durch Wiedergewinnen des System-Taktsignals aus den periodischen Sendungen der Barker-Code-Signale bei jedem Rahmen von der CU. Sobald dies passiert ist, bestimmt der Test 668, dass die Steuerungskanal-Signale empfangen werden können und dass das Bereichsbilden beginnen kann. Bis dies stattfindet, wird der Pfad 670 zum Wartestatus 672 und der Block 674 in den Leerlauf genommen bis der RU-Empfänger sich auf die CU synchronisiert hat und ihre Sendungen empfangen kann.

Wenn die RU-Empfänger-Synchronisation erreicht worden ist, wird Schritt 676 ausgeführt, um eine willkürliche Verzögerung herauszugreifen und einen Bereichsbildungspuls, der diese Verzögerung verwendet, zu senden. Test 678 wird dann durchgeführt, um auf das Steuerungskanal-Signal zu schalten und den Status der CU zu bestimmen. Falls die CU keinen Bereichsbildungspuls in der Lücke gefunden hat, sendet sie ein E auf dem Steuerungskanal. Jede RU ändert dann ihre Verzögerung durch Addieren von 8 Chip-Zeiten, wie durch Block 680 symbolisiert ist, und geht über zum Schritt 676, um einen weiteren Bereichsbildungspuls zu senden. Dieser Prozess wird fortgeführt bis eine oder mehrere RUs ihre Verzögerungen so einstellen, dass ihre Bereichsbildungspulse in der Lücke ankommen. Falls die CU einen einzelnen Puls in der Lücke delektiert, sendet sie ein S auf dem Steuerungskanal, was die RUs als einen Authentifikations-Befehl interpretieren. Jede RU geht dann über zum Schritt 682, um den Authentifikations-Prozess zu beginnen, was zuvor beschrieben worden ist. Im Prinzip veranlasst der Authentifikations-Prozess die RU, ihren Identifikations-Code als entweder eine eindeutige Sequenz von Bereichsbildungspuls-Positionen in den mittleren 8 Chips der Lücken von mehrfachen Rahmen zu senden oder als eine eindeutige Sequenz des Vorhandenseins und Abwesendseins von Bereichsbildungspulsen in den Lücken der mehrfachen Rahmen.

Falls mehrere RUs dieselbe Lücke treffen, stellt der Test 678 fest, dass die CU ein C auf dem Steuerungskanal sendet, was anzeigt, dass die RUs ihre Konflikt-Auflösungsprotokolle ausführen müssen, wie durch Block 684 symbolisiert ist. Wie durch Test 686 symbolisiert ist, wirft dann jede RU "eine Münze", um zu bestimmen, ob sie fortfahren sollte, und prüft das Ergebnis. Falls eine RU entscheidet, nicht fortzufahren, geht die Verarbeitung in dieser RU über zum Test 688, wobei die RU den Steuerungskanal-Signaltyp bestimmt. Falls ein E gesendet wurde, bedeutet dies, dass alle RUs, welche beim Bereichsbilden waren, entschieden haben anzuhalten, und die Verarbeitung kehrt zurück zum Schritt 686, um "die Münze erneut zu werfen". Falls der Test 688 bestimmt, dass irgendein anderes Signal empfangen wurde, kehrt die Verarbeitung zurück zum Block 672 und der Bereichsbildungsprozess beginnt erneut für diese RU.

Falls der Wurf der Münze darin resultiert, dass die RU entscheidet, das Bereichsbilden fortzusetzen, wird Schritt 690 durchgeführt, um einen weiteren Bereichsbildungspuls zu senden. Dann wird Test 692 durchgeführt, um auf den Steuerungskanal zu hören, und um zu bestimmen, was der Status der CU ist. Falls die CU keinen Puls in der Lücke gefunden hat, wird Schritt 694 durchgeführt, um den Bereichsbildungspuls zu bewegen, d.h. die Übertragungsrahmen-Zeitgabe-Verzögerung einzustellen und es erneut zu versuchen. Entsprechend geht die Verarbeitung zum Test 668 zurück durch den Schritt 672. Falls die CU ein C sendet, wurde mehr als ein Puls in der Lücke detektiert und die Verarbeitung kehrt zurück zum Schritt 686, um die Münze erneut zu werfen, um zu entscheiden, ob das Bereichsbilden fortzusetzen ist. Falls der Schritt 692 bestimmt, dass die CU das S sendet oder einen Authentifikations-Befehl, geht die Verarbeitung über zum Schritt 682, um die Authentifikation zu beginnen. Nach der Authentifikation sendet die CU die Feinabstimmungsbefehle über den Steuerungskanal zu der RU, die sich gerade selbst authentifiziert hat, um die Position ihres Bereichsbildungspulses auf die Mitte der Lücke einzustellen.

Unter Bezugnahme auf 33 wird dort ein Flussdiagramm des bevorzugten Prozesses einer Bereichsbildung und einer Konflikt-Auflösung unter Verwendung eines binären Stapels gezeigt. Dieser Prozess ist geringfügig schneller als der binäre Baum-Algorithmus zum Erreichen einer Ausrichtung, da sich bei diesem Prozess die RU daran erinnert, bei welcher Iteration "der Fehler auftrat", d.h. der Wurf einer Münze nach einem Konflikt, welcher die RU veranlasst hat, den Versuch einer Bereichsbildung zu stoppen. Der Prozess beginnt mit dem Schritt 698 damit, auf den Steuerungskanal zu hören. Wenn ein C durch die CU gesendet wird, wird der Schritt 700 durchgeführt, um einen binären Stapel auf 0 zu initialisieren. Dieser Stapel wird verwendet, um die Iterationszahl zu verfolgen, wenn der Münzenwurf in einer Entscheidung resultierte, das Bereichsbilden zu unterbrechen. Als Nächstes wirft Schritt 702 "die Münze", um die Entscheidung zu treffen, ob fortzufahren ist. Falls die Entscheidung ist, nicht fortzufahren, wird Schritt 704 durchgeführt, um den Stapel herunterzurücken durch Einstellen des Wertes auf dem Stapel auf Stapel +1. Dann wird Test 706 durchgeführt, um wieder auf den Steuerungskanal zu hören und den CU-Status zu bestimmen. Falls es dort immer noch einen Konflikt gibt, wird Schritt 704 durchgeführt, um den Stapel wiederholt zu inkrementieren. Falls der Test 706 bestimmt, dass die CU mitteilt, dass die Lücke leer ist oder nur ein einzelner Bereichsbildungspuls in der Lücke ist, wird Schritt 708 durchgeführt, um den Stapel zu erhöhen, d.h. den Stapelwert auf Stapel –1 im Schritt 708 einzustellen. Als Nächstes wird der Test 710 durchgeführt, um zu bestimmen, ob der Stapelwert Null erreicht hat. Falls dies der Fall ist, kehrt die Verarbeitung zurück zum Schritt 702, um die Münze erneut zu werfen, um zu entscheiden, ob das Bereichsbilden wieder aufzunehmen ist. Falls der Test 710 bestimmt, dass der Stapel nicht Null erreicht hat, wird der Test 706 wieder ausgeführt, um auf den Steuerungskanal zu hören.

Zurückkehrend zu der Betrachtung von Schritt 702 wird, falls der ursprüngliche Münzenwurf die RU dazu veranlasst hat zu entscheiden, das Bereichsbilden fortzusetzen, Schritt 712 ausgeführt, um einen Bereichsbildungspuls zu senden. Dann wird Test 714 durchgeführt, um auf den Steuerungskanal zu hören, um den CU-Status zu bestimmen. Falls ein C gesendet worden ist, befinden sich mehr als eine RU in der Lücke und die Verarbeitung kehrt zum Schritt 702 zurück, um die Münze erneut zu werfen. Falls ein E gesendet wird, ist die Lücke leer und die Verzögerung für den nächsten Bereichsbildungspuls wird eingestellt durch Bewegen der Pulse +8 Chips und Wiederbeginnen des Bereichsbildungsprozesses in Schritt 716 durch Übergehen zum Schritt 600 auf 29. Falls der Test 714 bestimmt, dass die CU ein S sendet, was bedeutet, dass ein einzelner Puls in der Lücke gefunden wurde, schreitet die Verarbeitung vektoriell zum Schritt 718 fort, um den Authentifikations-Prozess zu beginnen.

Bevorzugtes RU-Empfänger-Blockdiagramm

Bezug nehmend auf 34 ist dort ein Blockdiagramm der bevorzugten Organisation für einen Empfänger für die RU- und CU-Modems gezeigt. Der Quadratur-Amplituden-modulierte kombinierte Träger kommt am Empfänger an dem Koaxialkabel 24 oder anderen Medien an. Ein RF-Synchron-Demodulator-Abschnitt 750 detektiert synchron die QAM-Modulation unter Verwendung eines Detektors, wie jenes, der in 26 gezeigt ist, und eines Lokal-Oszillator-Signals auf Leitung 762, das in Phase und Frequenz auf den Pilot-Ton von der CU synchronisiert ist in dem Fall eines RU-Empfängers, und das auf die Präambeldaten synchronisiert ist, die in jedem Zeitschlitz gesendet werden, im Fall der CU. Der RF-Modulator 750 gibt ein analoges Signal auf Leitung 752 aus, welches die Chip-Amplituden-Information für alle Zeitschlitze trägt. Der RF-Abschnitt 750 beinhaltet auch einen Passband-Filter, der eine zentrale Frequenz aufweist, die auf die Frequenz des 6 mHz-breiten Bandes zentriert ist, welches die Chip-Daten trägt und eine 6 mHz Bandbreite aufweist. Der RF-Abschnitt 750 beinhaltet auch einen Verstärker mit variabler Verstärkung und weist einen Verstärkungssteuerungs-Eingang auf, der mit Leitung 758 gekoppelt ist, die mit der Steuerungsschaltung 756 für eine automatische Verstärkung gekoppelt ist. Die AGC-Schaltung arbeitet über ein festes Intervall und zählt die Anzahl von Malen, zu denen das Eingangssignal über einer vor-eingestellten Schwelle ist und die Anzahl von Malen, die es darunter ist. Ein Zähler wird auf einen negativen Wert am Beginn des Intervalls eingestellt. Jedes Mal, wenn die Schwelle überschritten wird, wird der Zähler inkrementiert. Falls der Zähler am Ende des Intervalls bis Null hinaufgezählt hat, ist die AGC-Verstärkung korrekt eingestellt. Positive Werte bedürfen einer reduzierten Verstärkung und negative Werte bedürfen einer erhöhten Verstärkung.

Das Signal auf der Leitung 752 wird in digitale Information durch den A/D-Wandler 754 umgewandelt, der eine IF-Abtastung durchführt, wie es im Stand der Technik bekannt ist, wie dies zuerst von Colinberg beschrieben wurde, dessen Veröffentlichung hiermit inhaltlich durch Bezugnahme inkorporiert wird. Die Abtastrate ist 4 mal die Symbol-Periode. Der Vorteil des Verwendens einer IF-Abtastung ist, dass sie die Verwendung eines einzelnen A/D-Wandlers zulässt, sowohl die Sinus- als auch die Kosinus-Träger zu prüfen. Bei alternativen Ausführungsformen können zwei A/D-Wandler verwendet werden, von welchen jeder eine Abtastrate aufweist, die im Wesentlichen größer ist als die Symbol-Periode.

Die Verstärkung des Signals, die durch die Digitaldaten-Ausgabe durch den A/D-Wandler 754 dargestellt wird, wird ausgeführt durch eine Automatik-Verstärkungs-Steuerung (AGC) 756, und falls die Amplitude nicht hoch genug ist, erzeugt die AGC-Schaltung ein Signal auf Leitung 758, um die Verstärkung des Verstärkers mit variabler Verstärkung in dem RF-Abschnitt zu erhöhen. Der RF-Abschnitt ist gekoppelt mit dem lokalen Oszillator-Träger-Frequenz-Synthesizer 760 durch die Leitung 762, um lokale Sinus- und Kosinus-Trägersignale zu empfangen, welche zusammenpassen mit der Frequenz und der Phase der Sinus- und Kosinus-Träger, die durch die Sender verwendet werden, um die Chips auf RF-Signale QAM-zu-modulieren, die durch die Medien getragen werden.

Eine Phasentrennung der Sinus- und Kosinus-Komponenten der QAM-modulierten Daten, die digital auf dem Bus 760 dargestellt werden, wird durch den angepassten Filter 761 ausgeführt. Der angepasste Filter weist zwei Filter auf, die Filter-Charakteristiken aufweisen, welche das Spiegelbild der Filter-Charakteristiken mit angehobenem Quadrat-Kosinus der Filter 1134 und 1136 des Formungsfilters/Modulators 570 sind, der in 46 gezeigt ist. Die angepassten Filter trennen die orthogonalen Real- und Imaginär-Komponenten in den empfangenen Signalen und übertragen sie zu dem Rahmen-Detektor über Busse 906 und 908 in 34 und 38. Die Filter-Charakteristik des angepassten Filters wird eingerichtet durch Daten von der CPU 405 auf dem Bus 1090. Bei der bevorzugten Ausführungsform wird die Ausgabe der angepassten Filter 762 auf den Bus 840 gefiltert durch einen FFE/DFE-Filter 764, der so funktioniert, dass eine Vorläufer- und Nachfolger-Intersymbol-Interferenz abgeschnitten wird. Der FFE/DFE-Filter 764 weist die Struktur von 37 auf und jeder der FFE- und DFE-Entzerrer ist ein adaptiver FIR-Filter. Adaptive FIR-Filter und viele der anderen Digitalsignal-Verarbeitungskomponenten der hierin offenbarten Schaltung sind bekannt und werden in Einzelheiten in Elliott, Handbook of Digital Signal Processing: Engineering Applications, (Academic press, Inc. San Diego, 1987), ISBN 0-12-237075-9 diskutiert, welche hiermit durch Bezugnahme inkorporiert wird. Bei der bevorzugten Ausführungsform ist der FFE-Filter 764 zwischen den Schaltungen 765 und 767 platziert, um die Daten auf dem Bus 769 zu filtern.

Als Nächstes wird das Entspreizen der Daten und das wieder Zusammensetzen der passenden Daten in die entsprechenden Zeitschlitze, um das Code-Mischen rückgängig zu machen, welches in den Sendern stattgefunden hat, durchgeführt. Der erste Schritt bei diesem Prozess wird erreicht durch den CDMA-MUX 766. Dieser Multiplexer multipliziert die hereinkommenden Daten mit der transponierten Code-Matrix CT der Code-Matrix, die durch den CDMA-MUX 527 in den Sendern verwendet wird, die durch die 28A dargestellt sind. Die resultierenden entspreizten Daten werden im Puffer-Speicher 768 sequentiell in der Reihenfolge der individuellen Code-Multiplikationen gespeichert. Der CDMA-MUX 766 oder die Steuerungslogik 1082 erzeugt geeignete Lese-/Schreib-Steuerungssignale, um den Puffer 768 zu veranlassen, die entspreizten Daten sequentiell auf dem Bus 776 zu speichern, ausgegeben durch den CDMA-MUX 766. Eine Deshuffler-Schaltung 770 empfängt dieselbe Seed-Nummer auf Bus 772, die durch den Code-Vielfalt-Shuffler 506 in den Sendern empfangen wurde. Die Seed-Nummer wird auf dem Steuerungskanal gesendet und wird weiter übertragen zur Schaltung 770 durch die CPU 405. Der Deshuffler verwendet die Seed-Nummer, um dieselben pseudo-zufälligen Nummern zu erzeugen, wie sie von diesem Seed während jeder Symbolzeit durch den Sender erzeugt wurden (die Empfänger-Chip-Takte sind auf die Sender-Chip-Takte synchronisiert durch einen Prozess, der durch den Rahmen-Detektor 882 und die Steuerungsschleife 781 ausgeführt wird). Diese pseudo-zufälligen Nummern werden verwendet, um Lese-Adresszeiger auf dem Adress-Bus 774 zu erzeugen, die mit dem Adress-Port des Puffers 768 gekoppelt sind, zusammen mit geeigneten Lese-/Schreib-Steuerungssignalen. Die in den Adressen gespeicherten Daten, die durch die Lesezeiger gekennzeichnet sind, werden durch den Puffer auf den Bus 795 ausgegeben. Dieser Bus ist mit einem von zwei Eingängen eines Schalters/Multiplexers 791 gekoppelt. Da die Adresszeiger in derselben Reihenfolge erzeugt werden, wie in den Sendern, wenn sie Daten mischen, werden die Daten, die aus dem Puffer 768 ausgelesen werden, in der korrekten Reihenfolge ausgelesen, um die entspreizten Daten zurück in die sequentielle Reihenfolge der Zeitschlitze zu bringen.

Andere Daten, die durch die Code-Shuffling-Schaltung 770 auf dem Bus 772 empfangen werden, sind die Tss-Daten, die anzeigen, welche Zeitschlitze der RU zugeteilt sind, und RI, die anzeigen, welche Codes reserviert sind und nicht durch diese RU oder CU verwendet werden können.

Diese Entmischungs-Operation ist nicht notwendig, falls sich der Empfänger in einer RU befindet, da die CU ein Code-Springen für Daten nicht verwendet, die sie zu den RUs sendet. Daher sind bei einigen Ausführungsformen von RU-Empfängern Puffer 768 und Deshuffler 770 nicht vorhanden. Bei anderen Ausführungsformen sind sie vorhanden, jedoch werden sie nicht verwendet und ein Schalter 791 führt die entspreizten Daten auf dem Bus 776 von dem CDMA-MUX 766 um den Puffer 768 und direkt in den Eingang des Verstärkers 788. Ein RU/CU-Signal auf Leitung 793 steuert den Zustand des Schalters 791, derart, dass entweder der Datenausgabe-Bus 795 oder der Puffer 768 oder der Bus 776 mit dem Eingang 789 des Verstärkers 788 gekoppelt ist. Falls der Empfänger in einer CU ist, ist der Bus 795 mit dem Bus 789 gekoppelt, während, falls der Empfänger in einer RU ist, der Bus 776 mit dem Bus 789 gekoppelt ist.

Bei einigen Ausführungsformen werden die entspreizten Daten auf dem Bus 776 simultan gelesen durch einen Übersprech-Detektor, der derart funktioniert, dass er den Betrag an Interferenz zwischen benachbarten Codes bestimmt, und der auch eine Rolle bei der Takt-Wiedergewinnung spielt, so dass alle RU- und CU-Empfänger und -Sender auf denselben Takt synchronisiert werden können. Ein Übersprechen zwischen Kanälen, die mit benachbarten zyklischen orthogonalen Codes kodiert sind, kommt immer von benachbarten Kanälen und tritt auf, wenn die Daten, die mit benachbarten zyklischen CDMA-Codes kodiert sind, nicht präzise ausgerichtet zur rechten Zeit ankommen. Mit anderen Worten, um Null-Übersprechen zu haben, muss die Taktzeit zu der der erste Chip eines Symbols, das auf einem Kanal übertragen wird, gespreizt mit einem zyklischen CDMA-Code an dem Empfänger, exakt dieselbe Zeit sein, wie die Taktzeit zu der der erste Chip eines Symbols, das auf einem benachbarten Kanal übertragen wird, gespreizt mit einem benachbarten zyklischen Code ankommt. Ein Rückstand eines Chip-Taktes bedeutet eine vollkommene Überschneidung und totales Übersprechen, da benachbarte zyklische Codes erzeugt werden durch Verschieben des Codes um einen Platz nach rechts. Ein Rückstand oder eine Fehlausrichtung von weniger als einem kompletten Chip-Takt wird bedeuten, dass ein bestimmtes Übersprechen vorhanden ist. Der Übersprechen-Detektor detektiert den Betrag an Übersprechen, der jeden Chip jeden Kanals beeinflusst durch Subtrahieren der Amplitude des Chips des Kanals, der momentan verarbeitet wird von der Amplitude des entsprechenden Chips, der auf dem unmittelbar vorhergehenden Kanal kodiert ist.

Bei diesen alternativen Ausführungsformen wird der Betrag an Übersprechen als ein Takt-Verfolgungs-Fehler zu einer Steuerungs-Schleife-Logik 781 gesendet, welche eine Takt-Phase/Frequenz-Korrektur-Spannung auf Leitung 782 ausgibt. Dies Signal ist gekoppelt mit einem Phasen/Frequenz-Steuerungseingang eines spannungsgesteuerten Kristall-Oszillators 784, der ein Chip-Takt-Referenzsignal auf Leitung 786 erzeugt. Dieses Chip-Takt-Referenzsignal wird in einen Eingang eines Schalters 787 eingeführt, dessen anderer Eingang so gekoppelt ist, um ein externes Takt-Referenzsignal bei 8.192 Mhz zu empfangen. Ein Schalt-Steuerungssignal auf Leitung 791 von der CPU 405 steuert, ob der Schalter 787 auswählt, welches von den Chip-Takt- Referenzsignalen auf Leitungen 786 oder 789 auf dem Bus 793 zu der Phasen-verriegelten Schleife (PLL) 880 ausgegeben wird. Diese PLL 880 multipliziert das Takt- Referenzsignal auf Leitung 793, um zwei Ausgabesignale bei 114.688 Mhz und 57.344 Mhz zu erzeugen, die auf dem Bus 888 zu einem Zeitbasis-Generator 886 zugeführt werden. Der Zeitbasis-Generator erzeugt die verschiedenen Taktsignale, die für eine Synchronisation des Systems benötigt werden.

Jedoch wird bei der bevorzugten Ausführungsform eine Takt-Wiedergewinnung ausgeführt in den RUs durch den Rahmen-Detektor 882 unter Verwendung der Feinabstimmungsschaltung, die in 38 gezeigt ist. Diese Schaltung erzeugt ein Takt-Steuerungs-Verfolgungs-Fehlersignal auf Leitung 900 in 34. Dieses Takt-Steuerungssignal wird in das digitale Äquivalent eines Integrators in der Steuerungsschleife 781 eingegeben, die als ein Schleifenfilter für eine Phasenverriegelte Schleife einschließlich von vcxo 784 dient. Der Mittelungsprozess der Integration eliminiert das zufällige Rauschen. Das integrierte Fehlersignal wird als ein Takt-Phase-Steuerungssignal auf Leitung 782 zu dem Fehlersignal-Eingang des vcxo 784 ausgegeben, um das Takt-Referenzsignal auf Leitung 786 zu erzeugen.

Obwohl eine Global-Automatik-Verstärkungs-Steuerungs-Einstellung durch den AGC 756 durchgeführt wurde, werden Daten von vielen verschiedenen RUs empfangen, die sich an vielen unterschiedlichen Positionen auf dem Netzwerk befinden. Um Fehler in der Interpretation der stromaufwärts empfangenen Daten zu minimieren, die durch eine Amplituden-Varianz erzeugt wurden, erzeugt durch Verluste aus einer abweichenden Pfadlänge von den verschiedenen RUs und aus Kanal-Beeinträchtigungen, ist eine getrennte Verstärkungs-Steuerungs-Einstellung wünschenswert für jede RU. Dies wird ausgeführt durch Übertragen von jeder RU einer Präambel bekannter Daten vor den Nutzdaten für jeden Zeitschlitz, der dieser speziellen RU zugeteilt ist, wie oben erwähnt. Daher wird ein Verstärker mit variabler Verstärkung 788 verwendet, um die Daten jedes Zeitschlitzes individuell zu verstärken. Die Steuerungsschleife-Logik 781 unterstützt diesen Prozess durch Senden eines gewünschten Verstärkungssignals auf der Leitung 790 zum Verstärker 788 basierend auf Eingaben, die auf den Bussen 792 und 794 empfangen wurden. Die Eingabe auf dem Bus 792 sind Daten, welche identifizieren, welche Daten eines bestimmten Zeitschlitzes momentan am Eingang zu dem Verstärker 788 sind, und wird erzeugt durch die Deshuffling-Schaltung 770. Die Steuerungsschleife 781 empfängt ebenso eine Eingabe von der Steuerungslogik 1082 und der CPU 405, welche anzeigt, wann Präambeldaten für einen bestimmten Zeitschlitz empfangen werden. Die Eingabe auf dem Bus 794 wird erzeugt durch einen Speicher 796, der individuelle Verstärkungssteuerungs- und Phasenfehler-Korrektur-Zahlen für jeden der 128 Nutzkanäle speichert (oder alle 144 Kanäle bei einigen Ausführungsformen).

Während des Empfangs von Präambeldaten arbeitet die Steuerungsschleife 781 mit dem Slicer 800 zusammen, dem G2-Verstärker 788 und dem Rotations-Verstärker 765, um einen iterativen Prozess auszuführen, um den Slicer-Fehler auf einen so niedrigen Wert wie möglich zu reduzieren durch Einstellen des Amplitudenfehlers und der Phasenfehler-Koeffizienten in der Upstream Carrier Recovery Error Correction Factor-Gleichung (Gleichung 5), die oben angegeben ist. Insbesondere werden die CPU 405 und die Steuerungslogik 1082 der Steuerungsschleife 781 und dem Slicer 800 signalisieren, wenn Präambeldaten empfangen werden. Eine Mitteilung an den Slicer 800 in 34 und Slicer-Detektor 466 in 19 nimmt die Form einer Aktivierung des CU-Präambelsignals auf Leitung 1086 an. Wenn Präambeldaten empfangen werden, wird die Steuerungsschleife Anfangswerte für die 1/a- und e–jØ-Amplitude- und Phasenfehler-Korrektur-Faktoren von Gleichung (5) einstellen und diese auf den Bussen 790 bzw. 802 übertragen zu dem G2-Verstärker 788 und dem Rotations-Verstärker 765. Diese Schaltungen werden auf den empfangenen Daten-Abtastwerten arbeiten und Amplituden- und Phasenfehler-Korrekturen ausführen und der Slicer wird das empfangene Signal mit dem 3-j-Konstellationspunkt vergleichen, von dem er weiß, dass er ihn während der Präambel empfangen soll. Die Amplituden- und Phasenfehler zwischen den tatsächlich empfangenen Daten und dem 3-j-Punkt werden auf den Bus 798 zu der Steuerungsschleife 781 ausgegeben. Die Steuerungsschleife 781 untersucht diese Fehlerwerte und stellt die 1/a- und e–jØ-Amplitude- und Phasenfehler-Korrektur-Faktoren in einer geeigneten Richtung ein, so dass sie dazu tendieren, den Slicer-Fehler zu minimieren. Der Prozess wiederholt sich selbst für den nächsten Präambel-3-j-Konstellationspunkt. Möglicherweise findet die Steuerungsschleife Werte für die 1/a- und e–jØ-Amplitude- und Phasenfehler-Korrektur-Faktoren, welche die Amplitude- und Phasenfehler-Werte auf dem Bus 798 minimieren. Diese Werte werden dann im Speicher 796 in 34 und 39 als die 1/a- und e–jØ-Amplitude- und Phasenfehler-Korrektur-Faktoren aufgezeichnet, zur Verwendung beim Datenempfang für die Zeitschlitz(e), die dieser bestimmten RU zugeteilt sind. Der Prozess wird jedes Mal wiederholt, wenn die RU einem neuen Zeitschlitz(en) wieder zugeteilt ist.

Der oben beschriebene Prozess bezüglich der Synchronisation in dem Aufwärtsstrom auf die Präambeldaten ergibt eine Stromaufwärts-Träger-Wiedergewinnungs-Synchronisation. Eine Rahmen-Synchronisation und eine Chip-Takt-Synchronisation werden in der CU für die Stromaufwärtsdaten ausgeführt durch den Rahmen-Detektor 882 unter Verwendung der Grob- und Feinabstimmungs-Schaltung von 38. Der CU-Empfänger weiß, wann die Lücke vorliegt, so dass der Rahmen-Detektor 882 der CU eine Chip-Takt-Synchronisation ausführt und nach Bereichsbildungs-Barker-Codes sucht und den Prozess des Instruierens der RUs unterstützt, wann ihre Übertragungsrahmen-Zeitgabe-Verzögerungswerte Td zu ändern sind, so dass ihre Barker-Codes die Lücke treffen.

Nach einer Synchronisation auf die Präambel in den Stromabwärtsdaten verwendet die CU-Empfänger-Steuerungsschleife 781 die auf dem Bus 792 empfangene Information diesbezüglich, von welchem Zeitschlitz Daten momentan empfangen werden, um einen Adresszeiger zu erzeugen auf die Amplitude-(1/a)- und Phasenfehler-(e–jØ)-Korrektur-Koeffizienten dieses Zeitschlitzes im Speicher 796. Die Steuerungsschleife sendet dann den Adresszeiger zum Speicher 796 über den bidirektionalen Bus 794 zusammen mit geeigneten Lese-Schreib-Steuerungssignalen und empfängt von dem Speicher die Amplituden- und Phasenfehler-Korrektur-Koeffizienten für den speziellen Zeitschlitz, der empfangen wird. Die Steuerungsschleife platziert dann die Amplituden und Phasenfehler-Korrektur-Koeffizienten auf den Bussen 790 bzw. 802, um den digitalen Verstärkungsprozess zu steuern, der durch den Verstärker 788 ausgeführt wird und den Phasenfehler-Korrektur-Prozess, der durch den Rotations-Verstärker 765 ausgeführt wird.

Wenn sich der Empfänger in einer RU befindet, stammen die mehrfachen Zeitschlitze, die von der CU empfangen werden, alle von demselben Ort und demselben Sender, so dass sie alle mit derselben Verstärkung verstärkt werden müssen. Daher muss in einem RU-Empfänger der Speicher 796 nur ein Register sein, das einen einzigen Amplituden- und Phasenfehler-Korrekturwert speichert, der durch diese spezielle RU verwendet wird, um CU-Daten in allen Zeitschlitzen zu empfangen.

Der Slicer 800 ist von herkömmlicher Konstruktion und beinhaltet eine Schaltung, um sowohl Verstärkung als auch Phasenfehler für die Daten jedes Kanals zu messen. Diese Fehler werden durch eine Schaltung in dem Slicer gemessen, welche die Amplitude und Phase eines empfangenen Chips mit der Amplitude und Phase des zulässigen Konstellationspunktes in der Konstellation von 21 vergleicht, welchen der empfangene Chip darstellen soll. Man erinnere sich daran, dass die Konstellation von 21 alle erlaubten 4 Bit-Chips darstellt, die Teil eines Symbols sein können. Jeder Chip wird gebildet aus 2 Bits plus einem Vorzeichen-Bit, welche die Real- oder I-Achsen-Koordinate definieren und 2 Bits plus einem Vorzeichen-Bit, welche die Imaginär- oder Quadratur-Q-Achsen-Komponente definieren. Daher weist in Polar-Koordinaten jeder Konstellationspunkt eine Amplitude und Phase auf, deren Kombination den Konstellationspunkt definiert. Beispielsweise weist in 21 der Chip 0010 eine Größe und eine Phase auf, die durch den Vektor 801 dargestellt sind. Angenommen, dass der Chip 0011, nach Übertragungsverlusten, Übersprechen etc., demoduliert wird und die I- und Q-Komponenten nach der Demodulation auf den Punkt 803 abbilden in der Konstellation, welcher eine Größe und Phase aufweist, die durch den Vector 805 dargestellt ist. Die Schaltung im Slicer 800, die verantwortlich ist für ein Quantifizieren der Größe und des Phasenfehlers vergleicht die Größe und die Phase des Vektors 805 mit der Größe und Phase des Vektors 801 und erzeugt Amplitudenfehler- und Phasenfehler-Signale auf dem Bus 798 aus den Differenzen.

Die Phasen-Rotations-Schaltung stellt die verstärkten Daten auf dem Bus 789, welcher jeden empfangenen Chip darstellt, so ein, dass die Phase gedreht wird, um den Phasenfehler für diesen empfangenen Chip zu korrigieren. Dies wird ausgeführt durch eine Matrix-Multiplikation der komplexen Zahl, welche jeden Chip darstellt mit Kosinus (Ø) + j Sinus (Ø), wobei Ø den Betrag der gewünschten Phasen-Korrektur darstellt.

Die Steuerungsschleife 781 verwendet auch die Phasen-Korrekturdaten auf dem Bus 798, um eine Lokal-Oszillator-Steuerungsspannung auf Leitung 806 zu erzeugen, um die Phase und/oder Frequenz eines 3.584 MHz-Referenz-Takt-Ausgangs auf Leitung 810 durch einen spannungsgesteuerten Kristall-Oszillator 808 (vcxo) zu ändern. Das Takt-Steuerungssignal auf Leitung 806 ist ein Träger-Verfolgungs-Fehler, der aus dem Pilot-Kanalsignal abgeleitet ist. Das Pilot-Kanalsignal trägt die Zeit-Synchronisations-Sequenz, die auf eine qpsk-Konstellation abgebildet ist. Der Träger-Verfolgungs-Fehler wird extrahiert, basierend auf einem Entscheidungs-gerichteten Diskriminator. Eine Träger-Wiedergewinnung wird unmittelbar begonnen, nachdem die AGC-Verstärkung eingestellt ist und das Bereichsbilden eine Rahmen-Synchronisation erreicht hat. Die Träger-Wiedergewinnungs-Schaltung, die gerade beschrieben wurde, wird durch die moderne Software überwacht, um sicherzustellen, dass sie in Synchronisation bleibt, und falls eine Verriegelung verloren geht, tritt eine Unterbrechung auf, die den Beginn einer Wiederinitialisierung des Modems veranlasst und dass der Modem-Sender angehalten wird. Dasselbe ist der Fall, falls die Takt-Synchronisation verloren geht, d.h. der RU-Lokal-Takt wird auf den CU-Takt verriegelt und die Takt-Wiedergewinnungs-Schaltung wird überwacht, um sicherzustellen, dass die Takt-Synchronisation nicht verloren geht.

Sobald eine Träger-Wiedergewinnung erreicht worden ist, werden die Kilorahmen-Daten, die in dem Pilot-Kanal kodiert sind, wiedergewonnen, um eine Kilorahmen-Synchronisation so zu erreichen, so dass die RU-Modem-Register und -Software initialisiert werden können, um das Zählen von CU-Rahmen zu beginnen, um in der Lage zu sein, den Überblick darüber zu behalten, welche zugeteilten Codes von CU-Nachrichten während welcher Rahmen zu verwenden sind. Der RU-Empfänger dekodiert die Synchronisations-Sequenz-Daten auf dem Pilot-Kanal unter Verwendung einer bpsk-Konstellation. Der CU-Sender erzeugt das Pilot-Kanalsignal als eine pseudo-zufällige Synchronisations-Sequenz von Bits, die je eines zu einem Zeitpunkt genommen werden, bpsk-moduliert werden und auf Kanal 1 übertragen werden, ein einzelnes Bit pro Symbol oder 3 Bits pro Rahmen. Die RU erzeugt ihre eigene passende pseudo-zufällige Sequenz lokal in einer Weise, die nachfolgend beschrieben wird. Der RU-Rahmen-Detektor 882 in 34 und 513 in 19 demoduliert und dekodiert die hereinkommenden Bits und vergleicht sie mit seiner eigenen passenden pseudo-zufälligen Sequenz. Jedes Bit weist nur zwei mögliche digitale Werte auf, was zwei Punkte in der bpsk-Konstellation definiert. Falls die hereinkommenden Punkte in der Phase von einem dieser zwei Punkte gedreht werden, ist die Drehung ein Träger-Phasenfehler und wird verwendet, um ein Träger-Phasen-Steuerungssignal zu erzeugen, das zu der Steuerungsschleife 781 und vcxo 808 über Busse 900 bzw. 806 übertragen wird. Ein Kilorahmen ist 1024 Rahmen lang. Wenn die Bits empfangen werden, werden sie mit der lokalen pseudo-zufällig erzeugten Sequenz verglichen. Wenn die Kommunikationen vollkommen sind und die Rahmen-Synchronisation vollkommen ist, würden die hereinkommenden Bits der Synchronisations-Sequenz mit der lokal erzeugten Sequenz exakt zusammenpassen. Eine State-Machine zählt die Anzahl von Fehlanpassungen und, falls sie geringer ist als ein Schwellwert, wird eine Rahmen-Synchronisation angenommen und die Fehler werden Rauschen auf dem Kanal zugeordnet. Falls die Anzahl von Fehlern den Schwellwert übersteigt, wird eine Unterbrechung erzeugt, die den Verlust einer Rahmen-Synchronisation signalisiert, und eine Re-Initialisierung wird begonnen. Die Kilo-Rahmen-Markierung wird in der Synchronisations-Sequenz detektiert, wenn ein 16 Bit-Rückkopplungs-Schieberegister, das mit 16 Bit des hereinkommenden Bit-Stroms der Synchronisations-Sequenz geladen ist, einen Zustand erreicht, den sie nur erreicht, nachdem 1024 Rahmen von Bits der Synchronisations-Sequenz angekommen sind.

Insbesondere ist, Bezug nehmend auf 52 die Schaltung des Rahmen-Detektors, der die Rahmen-Synchronisation überwacht und die Kilo-Rahmen-Markierung in der Pilot-Kanal-Synchronisations-Sequenz detektiert, gezeigt. Die bpsk-Pilot-Kanaldaten treten auf Leitung 906 ein und werden in einem Slicer 1320 detektiert. Der Slicer-Ausgang ist gekoppelt mit einem ersten Eingang eines Exklusiv-ODER(xor)-Gatters, welches die Daten selektiv invertiert, um eine Phasen-Mehrdeutigkeit zu korrigieren (der Träger kann zufällig bei 180 Grad außerhalb der Phase verriegeln, was jedes Bit in der lokal erzeugten pseudo-zufälligen Sequenz veranlasst, das entgegengesetzte des hereinkommenden Sequenz-Bits zu sein) entsprechend einem Mehrdeutigkeits-Signal auf Leitung 1324 von der State-Machine 1326. Ein Schalter 1326 unter Steuerung der State-Machine wählt die Daten auf Leitung 1328 aus für eine Eingabe zu dem 16 Bit-Rückkopplungs-Schieberegister (FSR) 1330 für die ersten 16 Takt-Zyklen. Das FSR wird einmal pro Symbol durch ein Taktsignal auf Leitung 1332 getaktet von der Zeitbasis 886 in 34. Nachdem die ersten 16 hereinkommenden Bits geladen sind, wird der Multiplexer durch die State-Machine umgeschaltet, um die Rückkopplungsdaten auf Leitung 1334 von dem Ausgang des xor-Gatters 1336 auszuwählen, dessen Eingänge mit den zwei MSB-Ausgängen des FSR gekoppelt sind. Das FSR wirkt als der lokale Generator für pseudo-zufällige Zahlen, um eine Sequenz von Bits zu erzeugen, von der angenommen wird, dass sie mit der hereinkommenden Synchronisations-Sequenz zusammenpasst. Die Rückkopplungsdaten auf Leitung 1334 dienen als ein Prediktor der nächsten hereinkommenden Bits in der Sequenz, und werden zu einem einzelnen Eingang eines xor-Gatters 1338 zugeführt. Der andere Eingang dieses Gatters empfängt die tatsächlich hereinkommenden Bits der Synchronisations-Sequenz. Die Rückkopplungs-Bits werden ebenso in das FSR durch den Schalter 1326 zurückgeführt, um deren Zustand weiterhin zu ändern. Das xor-Gatter 1338 gibt eine Null auf Leitung 1340 aus, wenn das vorhergesagte Bit auf Leitung 1334 mit dem tatsächlich hereinkommenden Bit zusammenpasst. Die Null auf Leitung 1340 gibt den Fehlerzähler 1342 nicht frei, so dass keine Fehler-Zählwert-Inkrementierung auftritt. Falls das vorhergesagte Bit mit dem tatsächlichen Bit nicht übereinstimmt, wird der Fehlerzähler 1342 freigegeben und auf den nächsten Symboltakt inkrementiert. Der Zeitgeber 1344 steuert das Intervall, über welches der Fehler-Zählwert genommen wird. Der Fehler-Zählwert auf dem Bus 1344 wird gelesen durch die State-Machine 1326 und wird verwendet, um den Verlust der Rahmen-Synchronisation zu detektieren und dieses Ereignis automatisch zu signalisieren und um zu versuchen, den Pilot-Kanal und die Rahmen-Synchronisation wiederzuerlangen. Eine Rück-Initialisierung wird durch die Software begonnen aufgrund des Empfangs eines Verlustes eines Rahmen-Synchronisations-Signals von der State-Machine. Eine Wiedererlangung wird kontinuierlich wieder versucht, bis eine Kilorahmen-Synchronisation erneut erreicht ist.

53 ist ein Zustandsdiagramm für die State-Machine 1326, welche die Rahmen-Synchronisation überwacht. Die State-Machine beginnt im Akquisitions-Gültig-Status 1342 durch Steuern des Schalters 1326, so dass es für sechzehn Synchronisations-Sequenz-Bits zugelassen wird, in das FSR 1330 einzutreten, ohne sie über das Mehrdeutigkeits-Signal auf Leitung 1324 zu invertieren. Der Übergang zum Qualifikation-Gültig-Status 1354 tritt dann auf, wenn der Fehler-Zählwert auf Leitung 1344 beobachtet wird und der Schalter 1326 so gesteuert wird, dass die Rückkopplungs-Bits auf Leitung 1334 ausgewählt werden für den Eingang in das FSR 1330. Status 1354 bestimmt, ob für jedes Zähl-Intervall der Fehlerwert den Schwellwert 1 übersteigt oder geringer ist als Schwellwert 1. Falls der Zählwert den Schwellwert 1 übersteigt, besteht das mögliche Problem darin, dass der Träger bei 180 Grad außerhalb der Phase verriegelt hat. Der Übergang zum Akquisitions-Invertierungs-Status 1356 tritt dann auf, wenn das Mehrdeutigkeits-Signal so getrieben wird, dass die nächsten 16 hereinkommenden Pilot-Kanal-Bits umgekehrt werden, und der Schalter 1326 wird so gesteuert, dass diese invertierten Bits in das FSR geladen werden. Als Nächstes geht die State-Machine über zum Qualifikations-Invertierungs-Status 1358, wobei die hereinkommenden Pilot-Kanal-Bits invertiert werden und der Schalter 1326 wird geschaltet, um die Rückkopplungs-Bits auf der Leitung 1334 auszuwählen, und der Fehler-Zählwert wird wieder überwacht. Falls der Fehler-Zählwert den Schwellwert wieder übersteigt, ist das Problem keine Phasen-Mehrdeutigkeit, so dass der Pfad 1360 zum Status 1352 genommen wird, um von vorne zu beginnen, und das Mehrdeutigkeits-Signal wird so eingestellt, dass die hereinkommenden Bits nicht invertiert werden. Falls der Fehler-Zählwert geringer ist als der Schwellwert 1, war die Phasen-Mehrdeutig-keit das Problem, und es wird der Pfad 1362 zum Verfolgungs-Invertierungs-Status 1364 genommen. Die State-Machine bleibt im Status 1364, wobei die hereinkommenden Pilot-Kanal-Bits invertiert werden und mit den vorhergesagten Bits verglichen werden, die durch das FSR erzeugt werden, solange der Fehler-Zählwert unter einem zweiten Schwellwert bleibt. Sobald die Fehlerrate den Schwellwert 2 übersteigt, tritt ein Übergang zum Akquisitions-Invertierungs-Status 1356 auf und neue 16 invertierte Pilot-Kanal-Synchronisations-Sequenz-Bits werden durch den Schalter 1326 in das FSR geladen und der Prozess beginnt von vorne. Ein Verfolgungs-Gültig-Status 1366 arbeitet in derselben Weise wie Status 1364, ausgenommen die Stelle, an welcher ein Verriegeln ohne ein Invertieren der hereinkommenden Pilot-Kanal-Bits erreicht wurde.

Nach 1024 Rahmen der vorhergehenden Aktivität wird der Zustand der Ausgangsleitungen 1346 ausschließlich 1en sein. Das ist die Kilorahmen-Markierung. Dieser Zustand veranlasst das UND-Gatter 1348, eine K F-Kilorahmen-Markierung 1 zum Einlern-Generator 1352 zu senden. Diese Schaltung wird verwendet, um das Rahmen-Etikett-Nummer-Zählen in dem RU-Empfänger zu koordinieren. Die RU zählt hereinkommende CU-Rahmen mittels eines Zählers, der das Auftreten des GAP_a-Signals von der CPU 405 zählt. In der bevorzugten Ausführungsform befindet sich der Zähler in der Zeitbasis 886 in 34 und 19, welche mit der CPU über den Bus 1350 oder Rahmen-Detektor 882 in 34 kommuniziert, und Rahmen-Detektor 513 in 19, der mit der CPU über Busse 755 bzw. 902 kommuniziert.

Zurückkehrend zur Diskussion von 34 wird die Träger-Referenz-Frequenz auf Leitung 810 verwendet durch den Frequenz-Synthesizer 760, um lokale Sinus- und Kosinus-Träger-Signale auf Leitung 762 zu erzeugen, welche mit der Frequenz und Phase der lokalen Oszillator-Träger-Signale zusammenpassen, die in den QAM-Modulatoren in den Sendern verwendet werden (entsprechend dem Träger auf Leitung 427 in 24). Die Steuerungsschleife 781, vcxo 808 und der Frequenz-Synthesizer 706 gehen in der Ausführungsform von 34 zusammen, um die Funktion der Träger-Wiedergewinnungs-Schaltung 515 in 19 durchzuführen. Der lokale Träger (die lokalen Träger) auf Leitung 762 ist (sind) mit dem RF-Demodulator-Abschnitt 750 gekoppelt, und wird dort in einem Demodulator verwendet, wie jenem, der in 26 gezeigt ist, als die Sinus- und Kosinus-Lokal-Träger auf Leitungen 480 bzw. 482.

Der Empfänger von 34 verwendet zwei Vorwärts-Zuführungs-Entzerrer (FFE) und zwei Rückkopplungs-Entzerrer (DFE). Die ersten FFE und DFE sind als kombinierte Schaltung 764 gezeigt unmittelbar nach dem angepassten Filter 761 und unmittelbar vor dem orthogonalen Code-Demultiplexer. Der zweite FFE ist kombiniert mit einem Rotationsverstärker in Schaltung 765 nach der orthogonalen Code-Demultiplex-Operation und vor dem Slicer. Der zweite DFE ist die Schaltung 820. Der Entzerrungsprozess umfasst einiges an Zusammenspiel zwischen diesen FFEs und DFE wie nachfolgend in dem Abschnitt über die Entzerrung beschrieben wird. Beide FFEs funktionieren so, dass sie die Vorläufer-Zwischensymbol-Interferenz eliminieren oder im Wesentlichen reduzieren, und beide DFEs funktionieren so, dass sie eine Nachfolger-Zwischensymbol-Interferenz reduzieren oder eliminieren.

Ein Vorläufer- oder Nachfolger-ISI kann wie folgt verstanden werden. Falls ein Sender ein Impulssignal auf einem einzelnen Symbol senden soll, wobei benachbarte Symbole leer sind, würden die Empfänger in einem idealen System den Puls empfangen, wobei sich Nullen auf jeder Seite befinden. Jedoch, aufgrund von Kanal-Beeinträchtigungen, werden die Empfänger einen Impuls empfangen, wobei einige Daten in Symbolen, die ungleich Null sind, auf jeder Seite des Impulses vorhanden sein werden. Die Daten, die in den Symbolen ungleich Null sind, welche dem Impulssymbol zeitlich vorhergehen, sind eine Vorläufer-Zwischensymbol-Interferenz. Die FFE-Schaltungen entfernen diese Interferenz. Die Daten in den Symbolen, welche ungleich Null sind, welche dem Impulssymbol zeitlich folgen, sind eine Nachfolger-Interferenz, die durch die DFE-Schaltungen entfernt wird. Die DFE-Schaltung 820 empfängt als einen ihrer Eingänge die Entscheidungsdaten-Ausgabe durch den Slicer 800 auf dem Bus 836 und verarbeitet diese Signale in Übereinstimmung mit der Filter-Transfer-Funktion, die durch die Abgriffs-Gewichtungs-Koeffizienten eingerichtet wird, die auf dem Bus 842 von einer Mittelwert-Quadrat-Berechnungsschaltung. Die resultierenden Signale werden auf dem Bus 846 ausgegeben zu dem Subtraktionseingang einer Differenz-Berechnungsschaltung 767. Die DFE- und Differenz-Berechnungsschaltung gehen zusammen, um den Abschnitt der Zwischensymbol-Interferenz heraus zu subtrahieren, der durch zuvor detektierte Symbole der Abschätzungen von künftigen Abtastungen produziert wurde.

Alle die DFE- und FFE-Schaltungen sind FIR-Filter mit adaptiven Abgriffs-Koeffizienten. Die DFE-Schaltung 820 und die FFE-Schaltung 765 (Schaltung 765 ist ein FFE nur während der Entzerrungs-Einlern-Periode und ist ein Rotations-Verstärker während eines Nutzdaten-Empfangs nach dem Einlernen) empfangen ihre adaptiven Abgriffs-Koeffizienten auf Bussen 842 bzw. 838 von der kleinsten Mittelwert-Quadrat-Berechnungsschaltung 830. Die FFE/DFE-Schaltung 764 empfängt ihre Abgriffs-Koeffizienten über den Bus 844 von der Kleinst-Mittelwert-Quadrat-Berechnungsschaltung 830. Den FFE- und DFE-FIR-Filtern werden Anfangswerte für ihre adaptiven Abgriffs-Koeffizienten gegeben, die nahe genug sind, um zuzulassen, dass der Adaptions-Prozess weiterläuft. Diese voreingestellten Koeffizienten werden von der CPU über Busse 824, 821 und 822 zugeführt. Danach werden die Koeffizienten adaptiv durch Signale auf den Bussen 842, 838 und 844 geändert durch die Mittelwert-Quadrat-Berechnungsschaltung 830 unter Verwendung eines herkömmlichen Vorläufer- und Nachfolger-ISI-Eliminierung-Abgriffs-Koeffizient-Berechnung-Algorithmus.

Die Kleinst-Mittelwert-Quadrat-(LMS)-Schaltung 830 berechnet iterativ die neuen Abgriffs-Koeffizienten in einer herkömmlichen Weise und wirkt mit den FFEs und DFEs in der nachfolgend in dem Entzerrungsabschnitt beschriebenen Weise zusammen. Die LMS beginnt mit den anfänglichen Abgriffs-Gewichtungen und berechnet iterativ die Konvolutionssumme zwischen den Abgriff-Eingangssignalen (Eingangssignale zu jeder Stufe der abgegriffenen Verzögerungsleitungen) innerhalb des FFE 765 und des DFE 820 und die Abgriffs-Koeffizienten des FFE 565 und DFE 820, die alle über bidirektionale Busse 842 und 838 erhalten werden. Die LMS empfängt dann Fehlersignale auf dem Bus 831, die durch die Differenz-Berechnungsschaltung 832 berechnet wurden, definiert als die Differenzen zwischen den gewünschten Datenpunkten auf dem Bus 836 und den empfangenen Datenpunkten auf dem Bus 834. Die LMS berechnet dann neue Abgriffs-Gewichtungen durch Multiplizieren der Fehlersignale mit den entsprechenden Abgriffs-Eingangssignalen, die verwendet werden, um die Konvolutionssumme multipliziert mit einer vorbestimmten Schrittgröße zu berechnen, welche die Rate einer Konvergenz zu einem stabilen Wert einstellt, und das Ergebnis wird zu den alten Abgriffs-Gewichtungen addiert, um zu den neuen Abgriffs-Gewichtungen zu gelangen. Diese neuen Abgriffs-Gewichtungen werden dann zu der FFE 765 und DFE 820 gesendet für eine Verwendung während der nächsten Iteration.

Die LMS-Schaltung implementiert eine Berechnung, welche auf der Tatsache basiert, dass die benötigte Änderung bei den adaptiven Koeffizienten bei den adaptiven FIR-Filtern 764 und 820 proportional ist zu dem Fehler auf dem Bus 831 multipliziert mit dem Konjugierten der Daten, die in die Filter eingegeben werden. Mit anderen Worten wird der Fehler multipliziert durch komplexe Zahlen, welche die empfangenen Chips darstellen, wobei die Vorzeichen ihrer Q- oder Imaginär-Komponenten invertiert sind.

Der DFE-Filter eliminiert oder reduziert eine Nachfolger-Interferenz durch Zuführen eines Subtraktionswertes auf dem Bus 846 zum Subtrahierer 767. Die Daten, die durch den DFE-Filter auf den Bus 846 gesendet werden, werden von den Daten auf den Bus 769 subtrahiert, die ausgegeben sind durch den FFE-Filter 765 während des Entzerrungs-Einlern-Intervalls. Ein Eliminieren der Vorläufer-Interferenz und Nachfolger-Interferenz aus den Daten auf dem Bus 834 ermöglicht es dem Slicer 800 und einem Viterbi-Dekoder 850 bessere Entscheidungen darüber zu treffen, welche Chips tatsächlich gesendet wurden, trotz der Kanal-Beeinträchtigungen. Die LMS-, DFE- und FFE-Schaltungen können bei einigen Ausführungsformen eliminiert werden mit beispielsweise nur 4 Punkten in ihren Konstellationen. Um aber einen höheren Datendurchsatz zu erhalten, sind komplexere Konstellationen notwendig und in einer derartigen Situation sind die Punkte näher beieinander und die ISI-Interferenz erschwert eine Entscheidungs-Diskriminierung zwischen den Konstellationspunkten. Dies schafft eine Notwendigkeit für die oben beschriebene ISI-Eliminierungs-Schaltung.

Nach einer Korrektur der ISI-Interferenz, werden die korrigierten Daten über den Bus 834 vom Slicer 800 weitergegeben. Der Zweck des Slicers ist es, sofortige Entscheidungen zu treffen, dahingehend, welchen Punkt in der Konstellation jeder Chip darstellt für Zwecke einer Erzeugung der Verstärkung- und Phasenfehler, die von der Steuerungsschleife benötigt werden und für Zwecke eines Erzeugens der gewünschten Daten auf dem Bus 836. Der Slicer verwendet das 4te redundante Bit in jedem Chip aus diesem Zweck nicht, und als ein Ergebnis macht er Fehler beim Interpretieren von Chips. Es liegt nun am Viterbi-Dekoder 850, diese Interpretationsfehler zu korrigieren.

Viterbi-Dekoder sind im Stand der Technik gut bekannt, und irgendein Viterbi-Dekoder-Algorithmus wird für die Zwecke einer Praktizierung der Erfindung ausreichend sein. Der in der bevorzugten Ausführungsform verwendete spezielle Viterbi-Algorithmus ist unten angegeben. Im Prinzip verfolgen der Viterbi-Dekoder 850 und Speicher 852 den momentanen und letzten Status für jeden Zeitschlitz für Zwecke einer Verfolgung eines Pfades durch einen dreidimensionalen Raum, der durch die Konstellation zulässiger Eingabedaten definiert ist, ausgedehnt über eine dritte Achse, welche die Zeit darstellt, die orthogonal zu den I- und Q-Achsen ist. Für jeden Zeitschlitz gibt es einen einzelnen dieser dreidimensionalen Räume. Unter Verwendung des redundanten Bits oder der redundanten Bits in jedem Chip und unter Prüfen des Pfades, welchen die Zustände jeden Zeitschlitzes durch den entsprechenden 3-D-Raum über die Zeit nehmen, fällt der Viterbi-Dekoder eine besser informierte Entscheidung, dahingehend, welchen erlaubten Punkt in der Konstellation zulässiger Punkte jeder empfangene Code darstellt. Die Information auf dem Bus 792 zu dem Viterbi-Dekoder von dem Deshuffler teilt dem Viterbi-Dekoder mit, welcher Zeitschlitz während jedes Codes, der auf dem Bus 836 empfangen wurde, übertragen wurde. Der Viterbi-Dekoder verwendet diese Information, um einen Adresszeiger zum Speicher 852 zu erzeugen, der auf die Status-Information für diesen Zeitschlitz zeigt. Dies ermöglicht es, dem Speicher 825, die Status-Information auszugeben, die von dem Viterbi-Dekoder verwendet wird, um seine Analyse durchzuführen.

Obwohl jeder herkömmliche Viterbi-Dekoder-Algorithmus ausreichend sein wird, um die Erfindung zu praktizieren, wird bei der bevorzugten Ausführungsform der folgende Viterbi-Algorithmus verwendet.

Die Verzweigungs-Metriken werden berechnet nach einem einzelnen Symbol im normalen Modus und nach zwei Symbolen im Rückfall-Modus, und dann werden sie im Speicher gespeichert. Die vorberechneten Verzweigungs-Metriken werden dann verwendet, um die Pfad-Metriken zu berechnen. Im Rückfallmodus werden die Verzweigungs-Metriken der zwei Symbole berechnet durch Summieren der zwei Quadrat-Distanzen zu jedem QPSK-Symbol. Die Verzweigungs-Metriken zu den kodierten Symbolen werden summiert, um eine einzelne Verzweigungs-Metrik, wie im normalen Modus zu erhalten.

Der spezielle Trellis-Code, der für die Implementierung in der Erfindung ausgewählt wurde, ist Rotations-invariant ohne Parallel-Pfade und hat 16 Zustände.

Nachdem der Viterbi-Dekoder 850 die korrekten Daten für jeden Zeitschlitz auf den Bus 854 ausgibt, setzt der Deframer 856 die Daten in die Zeit-gemultiplexten Zeitschlitze wieder zusammen, in welchen diese selben Daten ursprünglich an der Framer-Schaltung des Senders für ein Kodieren und CDMA-Spreizen angekommen sind. Der Deframer 856 entscrambelt auch die Daten, um die Effekte des Verscrambelns rückgängig zu machen, die durch den Scrambler 524 ausgeführt wurden. Der resultierende TDMA-Strom von 9 Bit-Bytes wird auf den Bus 858 mit seriellem Datenformat ausgegeben. Jedes 9 Bit-Byte in diesem Datenstrom weist die entmischten, entverscrambelten drei Tri-Bits auf, in welche es ursprünglichen in dem Framer des Senders aufgebrochen wurde, um die drei Symbole des Rahmens zu bilden, während dem dieses 9 Bit-Byte übertragen wurde.

Der Ausgabe-Bus 854 von dem Viterbi-Dekoder 854 ist auch gekoppelt mit einer Befehls- und Steuerungs-Kanal-Schaltung 860, welche Codes speichert und/oder verarbeitet, die auf den Befehls- und Steuerungs-Kanälen in den Stromabwärts-Daten gesendet werden. Bestimmte Schalt- oder Multiplex-Funktionen, um die Befehls- und Steuerungs-Codes aus dem Strom von Daten auf dem Bus 854 auszuwählen, werden vorgesehen, sind jedoch nicht gezeigt. Codes, die auf dem Zugriffskanal in den Stromaufwärts- oder Stromabwärts-Daten gesendet werden, werden gespeichert und/oder verarbeitet durch eine Zugriffskanal-Schaltung 862, welche diese Codes von dem Ausgang des Viterbi-Dekoders 850 über den Bus 854 empfangt. Die Befehls- und Steuerungs-Code-Daten werden eingegeben in die C3-Schaltung 860 von dem Viterbi-Dekoder über den Bus 854. Die CPU 405 greift auf die Befehls- und Steuerungs-Daten und Zugriffskanal-Kommunikationen von der C3-Schaltung 860 zu und der Zugriffskanal-Schaltung 862 über den Bus 1096. Das Verarbeiten der Befehls- und Steuerungs-Kanal-Codes und Zugriffskanal-Codes kann ebenso in den Schaltungen 860 bzw. 862 auftreten, bei alternativen Ausführungsformen ohne Wechselwirkung mir der CPU, oder die Codes können einfach in Schaltungen 860 und 862 gepuffert werden, bis sie durch einen Verwaltungs- und Steuerungsprozess gelesen werden können, der in der CPU 405 durchgeführt wird.

Der Bereichsbildungsprozess in seinen verschiedenen Ausführungsformen, der hierin vorher beschrieben wurde, wird unterstützt durch die R/Tng-Schaltung 763. Diese Schaltung empfängt ein RU/CU-Signal auf Leitung 759 von der CPU 405, welche der Schaltung mitteilt, ob sie ihre Funktion in einer RU oder einer CU ausführt. Bei der bevorzugten Ausführungsform ist die Schaltung 763 einfach ein DMA-FIFO, welches Status-Information speichert betreffend das Positionieren der Barker-Codes in den Schutzbändern während des Bereichsbildens und des anfänglichen Rahmen-Synchronisations-Prozesses. Diese Status-Information wird von dem Rahmen-Detektor 882 über den Bus 883 empfangen. Diese Daten werden weitergeleitet zu der CPU 405 über DMA-Übertragungen über den Bus 755 zu einem Speicher (nicht gezeigt), der mit der CPU gekoppelt ist. Wenn sie ihre Funktion in einer RU ausführt, speichert die Schaltung 763 Status-Daten, die von der Rahmen-Detektor-Schaltung erzeugt werden, beim Implementieren irgendeiner der Funktionen, die für irgendeine Ausgewählte der Ausführungsformen der RU angegeben wurden, in den Bereichsbildungs-, Konfliktauflösungs- und Authentifikations-Flussdiagrammen von 7A7C, 8, 9 und 2933. Diese Daten können Daten dahingehend beinhalten, wie viele Bereichsbildungspulse in der Lücke erschienen sind und Daten, die zu der Bereichsbildungsschaltung 510 in dem Sender über Bus 757 für Zwecke eines Einstellens der Übertragungsrahmen-Zeitgabe-Verzögerung zu senden sind. Diese Nachrichten zu dem Sender auf Bus 757 beinhalten Daten, welche der Sender-Bereichsbildungsschaltung 510 mitteilen, wann der Barker-Code oder ein anderes Signal von der CU in jedem Rahmen empfangen worden ist (Übertragung 80 in 4B), wodurch die Empfangsrahmen-Zeitgabe-Referenz eingerichtet wird, ob ein weiterer Bereichsbildungspuls nach einer Konfliktauflösung zu übertragen ist, und wie der Verzögerungsfaktor einzustellen ist, der die Übertragungsrahmen-Zeitgabe-Referenz einrichtet vor einem Senden jedes Bereichsbildungspulses oder Barker-Codes, und bei einigen Ausführungsformen, welcher Barker-Code zu übertragen ist.

Bei der bevorzugten Ausführungsform empfängt die Befehls-Kommunikations- und Steuerungs-(C3)-Schaltung 860 Nachrichtenverkehr, der bei den Bereichsbildungs-, Authentifikations- und Medien-Zugriffssteuerungs-Prozessen beteiligt ist, wie in den Flussdiagrammen von 79 und 2933 detailliert ist, und überträgt diese Daten zur CPU 405 über den Bus 1096. Derartige Daten beinhalten Daten von der CU, die angeben, wann eine Authentifikation gewünscht wird, und Daten, die in Bezug dazu stehen, wann ein Senden dieses speziellen RU-Authentifikations-Codes zu beginnen ist. Die Schaltung 860 empfängt ebenso die Authentifikations-Code-Sendung durch die CU nach einem Authentifikations-Intervall, um zu bestimmen, ob es die RU ist, welche die Lücke getroffen hat. Falls dies der Fall ist, sendet die Schaltung 860 eine Nachricht zu dem Sender über die CPU 405, ihren momentanen Wert einzufrieren für die Übertragungsrahmen-Zeitgabe-Referenz-Verzögerung bei dem Wert, der zuletzt verwendet wurde für eine Übertragung der Bereichsbildungspulse in der Authentifikations-Code-Sequenz. Die Schaltung 763 überwacht ebenso den Steuerungskanal für Instruktionen von der CU, wie ihre Übertragungsrahmen-Zeitgabe-Referenz-Verzögerung einzustellen ist, um den Bereichsbildungspuls exakt in der Mitte der Lücke zu zentrieren.

Falls das Signal auf Leitung 759 anzeigt, dass der Empfänger von 34 in einer CPU arbeitet, führt die Schaltung 763 diese Funktionen aus, die für irgendeine Ausgewählte der Ausführungsformen der CU angegeben sind in den Anordnungs-, Konfliktauflösungs- und Authentifikations-Flussdiagrammen von 7A7C, 8, 9 und 2933. Die Schaltung 763 speichert Daten, die auf dem Bus 883 empfangen wurden bezüglich dazu, wie viele Barker-Codes in der Lücke während des Bereichsbildens und der Authentifikation erschienen sind, und Daten, welche in Beziehung stehen dazu wie viele RUs die Lücke getroffen haben, Daten, welche die Position des (der) Barker-Code(s) in der Lücke bestimmen, und Daten, welche Änderungen der Position des Barker-Codes in der Lücke Bereiche bilden, Daten, die aus einem Abtasten der Lücke resultieren nach zusätzlichen unerwünschten Pulsen an den Rändern der Lücke. Diese Daten werden gelesen von der CPU und werden dazu verwendet, Nachrichten für eine Übertragung durch den Sender auf dem Steuerungskanal zu bilden, wie etwa "keine Codes in der Lücke – stelle deine Verzögerungen ein und versuche es erneut", "ein Code in der Lücke", "mehrfache Codes in der Lücke – beginne die Konfliktauflösung", "bewege Barker-Codes x-Chips nach links oder rechts", "habe Sequenz xxxxxxx in Lücken während Authentifikations-Rahmen gesehen", "keine Aktivität in der Lücke während des Authentifikations-Intervalls – führe deine Konfliktauflösungs-Protokolle erneut aus" etc.

Takt-Wiedergewinnung

Die RUs können den Prozess eines Bereichsbildens nicht beginnen bis sie sich auf den Master-Takt des Systems synchronisiert haben. Der Master-Takt läuft in der CU und ist kodiert in die Stromabwärts-Daten, die von der CU zu den RUs während der Lücken gesendet werden. Die Stromabwärts-Daten sind gebildet aus den Barker-Codes, die zu jedem Rahmen durch die CU zu den RUs gesendet werden, während der Lücken zwischen den Rahmen. Alle RUs synchronisieren sich auf diese Stromabwärts-Daten durch Extrahieren des Master-Taktsignals daraus, wodurch eine Takt-Synchronisation und eine Rahmen-Synchronisation erreicht werden. Eine Rahmen-Synchronisation bedeutet nur, wie dieser Ausdruck im Kontext der Takt-Wiedergewinnung verwendet wird, dass die RUs wissen, wann die CUs Rahmen beginnen. Eine Rahmen-Synchronisation, wie der Ausdruck für Bereichsbildungs- oder Einlernzwecke verwendet wird, bezieht sich auf die Einrichtung der richtigen Übertragungsrahmen-Zeitgabe-Referenz-Verzögerungen in jeder RU, so dass jede RU die Mitte der Lücke mit ihren Bereichsbildungspulsen trifft, so dass alle Symbole, die von jeder RU übertragen wurden, ungeachtet von Differenzen im Ort und in der Ausbreitungsverzögerung, gleichzeitig an der CU für ein Entspreizen ankommen. Eine Wiedergewinnung aus den Barker-Codes, die während der Lücken übertragen wurden, wird ausgeführt unter Verwendung der Phasen-Verriegelungs-Schleife 880, des spannungsgesteuerten Oszillators 784, des Phasen-Detektors 778, der Steuerungsschleife 781 und des Schleifenfilters im Rahmen-Detektor 882 in 34. Der Phasen-Detektor 778 bestimmt den Phasenfehler durch Vergleichen der Phase des Taktsignals, welches aus dem Barker-Code abgeleitet wird, der von der CU empfangen wird, mit der Phase des lokalen Oszillator-Taktes, der durch die PLL 880 erzeugt wird, und erzeugt ein Phasenfehler-Signal auf dem Bus 780. Dieses Phasenfehler-Signal wird durch die Steuerungsschleife 781 zu dem spannungsgesteuerten Oszillator 784 weitergegeben, welcher seine Frequenz in einer Richtung ändert, um den Phasenfehler zu eliminieren. Die Phase des lokalen Oszillator-Taktes wird abgeleitet aus einem Signal auf dem Bus 884 von dem Zeitbasis-Generator 886. Der Zeitbasis-Generator erzeugt den benötigten Bit-Takt, Byte-Takt, Chip-Takt und andere Zeitgabe-Signale aus dem lokalen Oszillator-Signal, das auf Leitung 888 empfangen wurde.

Entzerrungs-Einlern-Prozess

Bezug nehmend auf 45 ist dort ein Flussdiagramm gezeigt für die Prozesse, die durch die RUs ausgeführt werden, um ein "Einlernen" auszuführen. Ein Einlernen bestimmt Kanal-Beeinträchtigungen und stellt Koeffizienten in Vor-Code-Filter ein, um ihre Übertragungen vorzuverzerren, so dass ihre Datenübertragungen an der CU unverzerrt ankommen. Ein Einlernen veranlasst bei der bevorzugten Ausführungsform das Modem auch, den optimalen Sender-Leistungspegel einzustellen und eine Feinzeitgabe-Ausrichtung durchzuführen. Ein Einlernen wird unmittelbar nach einem Bereichsbilden und periodisch danach ausgeführt. Falls der Einfügungsverlust, die Phasenantwort und die Gruppenverzögerung für den Kanal bekannt wären und die Effekte einer Dispersion auf die Pulsformen bekannt wären, könnte eine Zwischensymbol-Interferenz effektiv durch die angepassten Filter 761 in dem Empfänger von 34 und 570 in dem Sender von 28A gesteuert werden. Jedoch, obwohl diese Charakteristiken im Voraus bekannt waren, neigen sie dazu, über die Zeit zu variieren. Somit wird bei der vorliegenden Ausführungsform ein adaptiver Entzerrungsprozess ausgeführt, um variablen Koeffizienten in abgegriffenen Verzögerungsleitungen-Entzerrungsfilter einzustellen, um die kombinierten Effekte einer residualen Verzerrung und von Rauschen zu korrigieren, erzeugt durch einen dispersiven und rauschenden Kanal. Eine Vorkanal-Entzerrung wird in jedem RU- und CU-Sender durchgeführt und eine Nach-Kanal-Entzerrung wird in jedem RU- und CU-Empfänger durchgeführt. Dies ermöglicht es, für das entzerrte System den idealen Zustand zu erreichen, der durch das Nyquist-Kriterium für eine verzerrungsfreie Übertragung spezifiziert ist, die frei von Zwischensymbol-Interferenz ist, um die volle Daten-Tragfähigkeit des Kanals zu realisieren. Die adaptiven Entzerrungsfilter sind abgegriffene Verzögerungsleitungs-Filter bei einigen Ausführungsformen, wobei die Abgriffs-Verzögerungen gleich einer Chip-Zeit sind. Bei der bevorzugten Ausführungsform sind die Nach-Kanal-Filter Entscheidungs-Rückkopplungs-Entzerrer. Die Entzerrungsfilter sowohl auf der Sende- als auch Empfangsseite sind ausgeführt in Vor-Code-Entzerrungsfilter 563 in dem Sender von 28A und dem FFE-(Vorwärts-Zuführung)-Filter 764 und DFE-(Entscheidungs-Rückkopplung)-Filter 820 zusammen mit der Kleinst-Mittelwert-Quadrat-Berechnungsschaltung 830 und der Differenz-Berechnungsschaltung 832 in dem Empfänger von 34.

Der Entzerrungs-Einlern-Prozess tritt in jeder RU und als ein Teil ihrer Einschalt-Sequenz auf. Der Vorkanal-Entzerrungsprozess beginnt mit Einrichtung durch den RU-Controller von voreingestellten Vorkodierer-Koeffizienten, einem voreingestellten Übertragungs-Leistungspegel (eingegeben auf Leitung 566 zu dem Skalier-Verstärker 564 in 28A) und einem voreingestellten Feinzeitgabe-Einrichtungswert bei der bevorzugten Ausführungsform. Als Nächstes wird Schritt 1101 in 45 durchgeführt um Daten auf Code #4 zu übertragen. Die RU verwendet nur die ersten 8 CDMA-orthogonal-zyklischen Codes während des Entzerrungsprozesses. Schritt 1101 stellt den Prozess eines Übertragens irgendeiner binären Daten-Bit-Sequenz dar (vorzugsweise einer pseudo-zufälligen Sequenz) zu der CU unter Verwendung von Code #4 der ersten 7 oder 8 orthogonalen Spreiz-Codes (die ersten 8 Codes werden für dieses Beispiel angenommen, jedoch könnten es auch andere Zahlen von sequentiellen zyklischen Codes sein), um die Daten zu spreizen und unter Verwendung einer bipolaren Phasen-Verschiebungs-Verschlüsselung (BPSK). Im Schritt 1102 korreliert die CU das empfangene Datensignal nach einer BPSK-synchronen Demodulation mit jeden der ersten 8 orthogonalen zyklischen Spreiz-Codes. BPSK weist nur eine Zweipunkt-Konstellation auf, so dass die CU erwartet, einen dieser zwei Punkte aus der Korrelation zu empfangen, die ausgeführt wird zwischen Code #4 und dem empfangenen Signal, falls der Bereichsbildungsprozess korrekt ausgeführt wurde. Falls der Bereichsbildungsprozess nicht richtig feinabgestimmt worden ist, um den Barker-Code der RU in die Mitte der Lücke zu bringen, werden die Ausgabedaten, die durch die RU gesendet werden, von einem der anderen Korrelationsprozesse ausgegeben, welche einen der anderen 8 orthogonalen zyklischen Spreiz-Codes verwenden. Jeder der orthogonalen zyklischen Spreiz-Codes wird erzeugt durch Verschieben des Codes, der während der vorhergehenden Chip-Zeit verwendet wurde, um eine Bit-Position. Daher unterscheidet sich effektiv jeder der ersten 8 orthogonalen zyklischen Spreiz-Codes von seinen benachbarten Codes um eine einzelne Bit-Position und eine einzelne Chip-Zeit. Falls während des Bereichsbildungs-Feinabstimmungsprozesses der Barker-Code nicht exakt zentriert war, werden die Daten, die über die RU übertragen werden, nicht ausgegeben durch die Korrelation mit Code 4, sondern werden durch die Korrelation mit einen der anderen Codes ausgegeben, abhängig davon, wie viele Chips entfernt von der Mitte der Lücke der RU-Barker-Code gefunden wird. Der Schritt 1104 ist ein Test, um zu bestimmen, ob die durch die RU übertragenen Daten durch die Korrelation mit dem Code #4 ausgegeben werden. Schritt 1104 wird vorzugsweise durchgeführt durch Prüfen der Menge an Code-Übersprechen durch Überwachen des Demultiplexer-Speichers. Die CU überwacht auch das Leistungs-Niveau der RU-Übertragung durch Anpassen des 4ten Abgriffs des FFE. Falls die Einlerndaten nicht rein auf Code #4 durchkamen und ein Übersprechen besteht, bedeutet dies, dass die Rahmen-Ausrichtung nicht perfekt ist, so dass Schritt 1106 ausgeführt wird, um zurück zu dem Feinabstimmungsprozess zu gehen zum Bereichsbilden und Zentrieren des RU-Barker-Codes in der Lücke. Der Schritt 1106 symbolisiert ebenso den Prozess eines Berechnens eines neuen Leistungspegels und eines Feinausrichtungswertes bei einigen Ausführungsformen, basierend auf Messungen und Senden dieser stromabwärts zu der RU im Einlernen. Dieser Prozess wird wiederholt bis der Leistungspegel und die Rahmenausrichtung innerhalb vorbestimmter akzeptabler Präzisionswerte liegen. Der vorhergehende Prozess eines Sendens des richtigen Leistungspegels zu der RU von der CU kann die Form der Schritte 1108, 1110 und 1112 in 45A annehmen. Schritt 1106 stellt den Prozess dar eines Mitteilens an die RU, zum Bereichsbilden zurückzugehen und einen Feinausrichtungsprozess auszuführen bei einigen Ausführungsformen, jedoch bei der bevorzugten Ausführungsform ist es nicht notwendig, den gesamten oben detaillierten Feinabstimmungsprozess zum Bereichsbilden auszuführen, da die CU exakt weiß, wie weit entfernt von der Mitte der Lücke die Daten gelandet sind wodurch die Korrelations-Berechnung, die korrekt übertragenen Daten ausgegeben hat. Daher, falls die Code-3-Korrelation, die übertragenen Einlerndaten ausgegeben hat, ist die Übertragungsrahmen-Zeitgabe-Verzögerung für diese RU um ein Chip versetzt und die CU sendet eine Nachricht an diese RU, welche dieser mitteilt, sich um ein Chip in Richtung der Mitte zu bewegen.

Daher wirkt der Entzerrungs-Einlern-Algorithmus als eine Quer-Überprüfung der Qualität des Bereichsbildungs-Feinabstimmungs-Prozesses. Bei der bevorzugten Ausführungsform weist die CU ein Feld von 8 Korrelatoren auf, von welchen jeder die empfangenen Daten unter Verwendung eines der ersten 8 orthogonalen zyklischen Spreiz-Codes korreliert. Diese Bereichsbildung wird für eine maximale Geschwindigkeit verwendet. Bei anderen Ausführungsformen kann ein einzelner Korrelator verwendet werden auf die gepufferten empfangenen Daten mit den ersten 8 orthogonalen zyklischen Codes, die während nachfolgender Korrelations-Intervalle zugeführt werden. Bei anderen alternativen Ausführungsformen kann die Korrelation seriell oder parallel in Software ausgeführt werden.

Der Entzerrungsprozess wird auch für eine Leistungsausrichtung verwendet. Eine Leistungsausrichtung von allen RUs ist der Prozess eines Einstellens ihrer Übertragungsleistungen, so dass ihre Übertragungen an der CU bei ungefähr demselben Leistungspegel ankommen. Dies ist wichtig beim Verhindern einer Interferenz zwischen den Signalen von verschiedenen RUs, sowie bei Zulassen, dass die CU-Detektor-Empfänger richtig die QAM-16-Konstellationspunkte interpretieren, welche voneinander zum Teil durch ihre Amplituden-Pegel unterschieden werden. Dieser Prozess wird begonnen mit Schritt 1108, bei dem der RU-Sender bewirkt, dass die Verstärkung des Skalier-Verstärkers 564 auf Eins eingestellt wird. Die CU-Empfänger-Steuerungsschaltung bewirkt dann, dass der anfängliche Verstärkungspegel für Code 4 wieder erhalten wird aus dem Speicher 769 und durch die Steuerungsschleife 781 zu dem Verstärkungs-Steuerungs-Eingang 790 des G2-Verstärkers 788 übertragen wird. Dieser anfängliche Verstärkungspegel, der in den G2-Verstärker 788 eingestellt wird, ist eine Annäherung des richtigen Verstärkungspegels, der für diesen Verstärker benötigt wird, um es dem Slicer 800 zu ermöglichen, richtige Entscheidungen zu treffen. Als Nächstes wartet im Schritt 1110 die CU auf ihre adaptive Verstärkungs-Steuerungsschaltung, sich bei einem Verstärkungspegel einzustellen, der für eine niedrige oder keine Fehler-Interpretation der BPSK-modulierten Daten erforderlich ist, die während des Einlern-Intervalls gesendet werden. Die adaptive Verstärkungs-Steuerungsschaltung wird gebildet aus einem Slicer 800, der Amplituden-Fehlerzahlen auf dem Bus 798 in 34 zur Steuerungsschleife 781 ausgibt. Die Steuerungsschleife vergleicht die Amplituden-Fehlerzahlen mit der momentanen Verstärkung, die auf dem Bus 790 eingestellt ist und versucht, die Verstärkungszahl auf dem Bus 790 einzustellen, um den Slicer-Amplitudenfehler zu minimieren zwischen der tatsächlich empfangenen Amplitude und den Einlern-Daten-BPSK-Konstellationspunkten und der gewünschten Amplitude für diese. Dieser Prozess dauert für eine Anzahl von Iterationen an, an deren Ende die Verstärkung des Verstärkers G2 auf einen Wert eingestellt sein wird, der den Slicer-Amplitudenfehler so weit wie möglich reduziert. Schließlich nimmt im Schritt 1112 die CU diese Verstärkungszahl auf den Bus 790 (durch Lesen des Verstärkungspegels auf Bus 790 vom Speicher 796 über den Bus 797) und sendet sie zu der RU, wobei der RU mitgeteilt wird, diesen Verstärkungspegel als die Verstärkung des Skalier-Verstärkers 564 in 28A einzustellen. Die CU stellt dann die Verstärkung des G2-Verstärkers 788 in 34 auf Eins ein durch Schreiben einer Eins in den Speicher 796 als den Verstärkungspegel-Code 4. Da die Gesamtverstärkung des Systems für den Code 4 die Verstärkung des RU-Sender-Verstärkers ist, multipliziert mit der Verstärkung des CU-Empfänger-Verstärkers, ändert sich die Gesamtverstärkung des Systems nicht durch Tauschen der Verstärkungen. Dieser Leistungs-Ausrichtungs-Prozess tritt nur für die RUs auf. Jede RU, wenn sie eingeschaltet wird, weist einen Leistungspegel auf, der in dieser Weise ausgerichtet ist und wird diesen Leistungspegel für die nachfolgende Operation verwenden, wobei Nutzdaten gesendet werden, bis die Leistungsausrichtung nachfolgend wiederholt ausgeführt wird.

Die Verarbeitung bewegt sich nun zu dem Prozess eines Entzerrungsprozesses für sowohl die Stromaufwärts- als auch Stromabwärts-Datenpfad-Entzerrer. Die Idee bei der Stromabwärts-Entzerrung ist es, die Abgriffs-Koeffizienten der FFE-Entzerrungsfilter in dem RU-Empfänger auf Werte einzustellen, welche für Kanal-Beeinträchtigungen entzerren, welche auf Fehlern basieren, die bei Einlerndaten beobachtet wurden, die über die 8 Einlern-Codes durch die CU zu der RU gesendet wurden. Die Idee bei der Stromaufwärts-Entzerrung ist es, die Abgriffs-Koeffizienten des Vor-Code-Filters in dem RU-Sender auf Werke einzustellen, welche Kanal-Beeinträchtigungen entzerren, welche auf Information basieren, die von dem RU-Sender empfangen wurde, nachdem Einlerndaten durch die RU zu der CU gesendet wurden unter Verwendung der 8 Einlern-Codes. Die 8 Einlern-Codes sind die ersten 8 orthogonalen zyklischen Codes. Sie können und werden simultan sowohl in den Stromaufwärts- als auch Stromabwärts-Richtungen verwendet (wie auch der Rest der Codes), da die Stromaufwärts-Übertragungen auf einer anderen Frequenz als die Stromabwärts-Übertragungen stattfinden. Obwohl das Flussdiagramm von 45 (gebildet aus den 45A bis 45C) zuerst den Stromaufwärts-Entzerrungsprozess zeigt, treten, beginnend mit Schritt 1114 sowohl die Stromaufwärts- als auch die Stromabwärts-Entzerrungsprozesse gleichzeitig auf.

Die ersten Schritte in dem Stromaufwärts-Entzerrungsprozess sind symbolisiert durch die Schritte 1114 und 1116, wobei im Schritt 1114 die CU eine Nachricht an die RU sendet, welche ihr mitteilt, einige Entzerrungs-Einlerndaten zu senden (irgendwelche Daten, jedoch vorzugsweise eine pseudo-zufällige PN-Sequenz) zu der CU, unter Verwendung aller 8 der ersten 8 orthogonalen zyklischen Codes. Bei der bevorzugten Ausführungsform fordert die CU an, dass die RU die Einlerndaten sendet unter Verwendung nur eines der Codes als eine erste Übertragung, und fragt dann an, dass dieselben Daten gesendet werden unter Verwendung der anderen Codes, mit einem einzelnen Code zu einem Zeitpunkt oder in kleinen Gruppen. Dies ist das bevorzugte Verfahren, da, falls die Entzerrungsfilter-Koeffizienten der RUs sehr weit von den richtigen Werten entfernt sind, die Übertragungen durch die RU beim Einlernen eine geringere Zwischensymbol-Interferenz verursachen, werden mit Nutzdaten-Übertragungen durch andere RUs, welche bereits eingelernt sind. Jedoch können bei alternativen Ausführungsformen die Einlerndaten durch alle 8 der ersten 8 Codes gespreizt sein und die Ergebnisse simultan übertragen werden. Der Schritt 1116 stellt den Prozess des Sendens der Einlerndaten dar, wie sie durch die ersten 8 Codes gespreizt sind, zu der CU entweder nacheinander oder alle auf einmal.

Der Schritt 1118 stellt den Prozess dar, der durch die CU ausgeführt wird für ein Empfangen der Entzerrungs-Einlerndaten und unter Verwendung des FFE-Entzerrers 765, DFE-Entzerrers 820 und der LMS-Schaltung 830, um eine einzelne Iteration einer Abgriffs-Gewichtung-(adaptiver Koeffizient)-Einstellung auszuführen für die Abgriffs-Gewichtungen der FFE und DFE. Der Schritt 1120 stellt den Prozess dar eines Fortfahrens Abgriff-Gewichtungs-Abstimmungen auf nachfolgende Übertragungen von Entzerrungs-Einlerndaten auszuführen unter Verwendung derselben 8 orthogonalen Spreiz-Codes bis eine Konvergenz erreicht wird, wenn die Fehlersignale, die durch die Differenz-Berechnungsschaltung 832 in 34 berechnet wurden, nahe bis auf Null abfallen.

Nach einer Konvergenz wird der Schritt 1122 durchgeführt, wobei die CU die endgültigen Abgriffs-Gewichtungs-Koeffizienten von der FFE 765 und der DFE 820 zu der RU sendet. Dies kann durch die CPU 405 ausgeführt werden, welche die Abgriffs-Gewichtungen aus einem gemeinsamen Speicher liest, in welchem die LMS sie über den Bus 833 speichert, und durch Übertragen dieser zu der RU auf den Befehls- und Steuerungskanälen. Die RU stellt dann diese endgültigen Abgriffs-Gewichtungs-Koeffzienten in die FFE- und DFE-Entzerrer ein, innerhalb des Vor-Code-Entzerrungsfilters 563 in dem Sender von 28A, wie dies durch Schritt 1124 symbolisiert ist. Ein Blockdiagramm der Struktur des Vor-Code-Entzerrungsfilters 563 im Sender von 28A und des FFE/DFE-Entzerrers 764 in 34 ist in 37 gezeigt. Die FFE/DFE-Schaltungen sind gebildet aus einem herkömmlichen FFE-Entzerrer, welcher die Eingabedaten auf dem Bus 923 empfängt und seine Ergebnisse auf dem Bus 933 ausgibt, welcher mit dem + Eingang einer Differenz-Berechnungsschaltung 925 verbunden ist. Der – Eingang der Differenz-Berechnungsschaltung empfängt die Ausgabe eines herkömmlichen DFE-Entzerrers 929 über den Bus 931. Die Ausgabe der Differenz-Berechnungsschaltung 925 auf den Bus 927 ist gekoppelt mit dem Eingang des DFE-Entzerrers 929.

Schließlich stellt die CU im Schritt 1126 die Abgriffs-Gewichtungs-Koeffizienten der FFE- und DFE-Entzerrer 765 bzw. 820 auf Eins ein für einen Empfang für Stromabwärts-Nutzdaten.

Bei einigen Ausführungsformen werden, nachdem die CU ihre Abgriffs-Gewichtungs-Koeffizienten zu der RU im Schritt 1122 sendet, die Prozesse der Schritte 1114, 1116, 1118, 1120 und 1122 wiederum durchgeführt für mehrere Iterationen. Die aus dem CU-adaptiven-Entzerrer der zweiten und den nachfolgenden Iterationen extrahierten Koeffizienten können nicht direkt in dem Vorkodierer verwendet werden, da sie nicht aus voreingestellten Vorkodierer-Werten produziert worden sind. Statt dessen werden die neuen Koeffizienten für eine Verwendung durch die RU als die Konvolution der älteren Vorkodierer-Koeffizienten berechnet mit den neuen adaptiven Entzerrer-Koeffizienten. Bei jeder Iteration berechnet die CU die Koeffizienten, die aus dem adaptiven Entzerrer extrahiert wurden, und wenn die Fehler unter einen vorbestimmten Schwellwert gefallen sind, der anzeigt, dass die RU mit einer passenden Qualität sendet, wird der Einlernprozess abgeschlossen mit Ausnahme eines Stromabwärts-Einlernens.

Ungeachtet davon, welche Stromaufwärts-Einlern-Ausführungsform verwendet wird, schreitet die Verarbeitung zu dem Stromabwärts-Entzerrungs-Einlernprozess fort nach dem Abschluss des Stromaufwärts-Entzerrungsprozesses. Dieser Stromabwärts-Entzerrungsprozess beginnt mit Schritt 1128, wobei die CU Entzerrungs-Einlerndaten der RU sendet unter Verwendung aller 8 Einlern-Codes. Insbesondere sendet die CU eine PN-Sequenz gleichzeitig auf 8 Kanälen, wobei jeder Kanal, der durch einen einzelnen der ersten 8 orthogonalen zyklischen Codes gespreizt ist, moduliert wird unter Verwendung von BPSK. Der Schritt 1130 symbolisiert den Prozess des RU-Empfängers, welcher die Entzerrungs-Einlerndaten in mehreren Iterationen empfängt und unter Verwendung der LMS-Schaltung 830, des FFE-Entzerrers 765, des DFE-Entzerrers 820 und der Differenz-Berechnungsschaltung 832, um auf die geeigneten FFE- und DFE-Abgriffs-Gewichtungs-Koeffizienten für den FFE-Entzerrer 765 und den DFE-Entzerrer 820 zu konvergieren. Nach einer Konvergenz liest die CPU die endgültigen Abgriffs-Gewichtungs-Koeffizienten für den FFE-Entzerrer 765 und den DFE-Entzerrer 820 über den Bus 830 und sendet diese Abgriffs-Gewichtungs-Koeffizienten zu der FFE/DFE-Schaltung 764 über den Bus 822, um sie als die FFE- und DFE-Abgriffs-Gewichtungs-Koeffizienten dort zu verwenden, wie durch Schritt 1132 symbolisiert ist. Die CPU 405 stellt dann die Abgriffs-Gewichtungs-Koeffizienten der FFE 765 und DFE 820 auf Initialisierungswerte ein, so dass sie rekonvergieren können, wenn Nutzdaten gesendet werden. In einigen Ausführungsformen beinhaltet der Schritt 1132 auch ein Senden einer Einlern-Status-Nachricht, welche den Erfolg oder den Fehlschlag eines Einlernens anzeigt, wobei eine Anzeige des Erfolgs eine implizite Anforderung an die RU ist, Einlern-Übertragungen auf allen Kanälen zu sperren. Bei einigen Ausführungsformen betreiben die RUs einen Befehlszeitgeber während des Einlernens, und falls es der RU misslingt, einen neuen Einlernbefehl innerhalb des spezifizierten Intervalls zu erhalten, oder es ihre misslingt, diesen richtig zu dekodieren, unterbricht sie Einlern-Übertragungen. Da der Einlernkanal eine einzelne gemeinsame Zugriffs-Ressource ist, wird jede RU, welche fortfährt auf diesem Kanal zu senden, alle anderen RUs beim Einlernen blockieren.

Die Iterationen der Prozesse, die durch 45 symbolisiert sind, treten alle paar Millisekunden auf, und die Konvergenz tritt innerhalb eines festgelegten Zeitraums auf. Bei einigen Ausführungsformen werden die Prozesse alle 2 Minuten wiederholt und bei anderen Ausführungsformen findet ein Wiedereinlernen sowohl periodisch als auch sofort nach Aktivierung ihrer ersten und jeder der nachfolgenden Zeitschlitz-Zuteilungen statt. In einigen Ausführungsformen tritt ein periodisches Wiedereinlernen auf bei einem etwas kürzeren Intervall, wenn eine RU keine aktiven Zeitschlitze aufweist, und wenn ein Verbindungsqualität-Überwachungsprozess von einer Übertragung schlechter Qualität berichtet. Ein Wiedereinlernen benötigt gewöhnlicherweise nur zwei Iterationen für Leistungs- und Zeitausrichtung und eine Iteration für eine Filteranpassung. In einer Ausführungsform führt die CU eine Korrelation zwischen den Koeffizienten aus, die momentan durch die CU verwendet werden und extrahierten Koeffizienten bei nachfolgenden Iterationen. Dies bedeutet, dass die CU wissen muss, welche Koeffizienten die RU momentan verwendet, entweder durch Halten einer Abbildung dieser Koeffizienten in einem CU-Speicher oder durch Abfragen derselben durch die RU über eine Stromaufwärts-Nachricht.

Nach einem Entzerrungs-Einlernen ist die RU-Verbindung zu der CU aktiv und die RU kann beginnen, nach Erhalt einer Hallo-Nachricht, Nachrichten von der CU zu empfangen. Die Hallo-Nachricht gibt der RU die Software-Revisionsnummer der CU und die Superrahmen-Versatznummer. Die Revisionsnummer ermöglicht es der RU, ihre Software-Revisionsnummer auf Kompatibilität zu überprüfen, und die Superrahmen-Versatznummer wird in ein SFDOR-Register in der RU-Empfänger-Zeitbasis eingestellt zur Verwendung einer korrekten Reproduktion eines externen Zeit-Multiplex-Strom-Superrahmen-Signals an der geeigneten Stelle in dem Datenstrom, so dass externe Vorrichtungen, die von dem Superrahmen-Signal abhängen, die TDM-Daten korrekt interpretieren können.

Bezug nehmend auf 46 ist dort die bevorzugte Form der Modulatoren gezeigt, die in den RU- und CU-Sendern verwendet werden. In dem Modulator von 24 werden Multiplizierer verwendet, um die hereinkommenden Daten mit den lokalen Trägersignalen zu multiplizieren. Die lokalen Träger sind Sinus- und Kosinus-Signale derselben Frequenz, welche voneinander um 90 Grad in der Phase getrennt sind, um orthogonal zu sein. Das Ergebnis ist zwei orthogonale RF-Signale, welche die In-Phase und Quadratur-Information tragen.

Dasselbe Ergebnis kann in einer wesentlich anderen Weise erhalten werden durch Verwenden von Hilbert-Transformationsfiltern und einer trägerlosen Amplituden- und Phasenmodulation. Bei der bevorzugten Form des Modulators 507, der in 46 gezeigt ist, sind die Multiplizierer 429 und 435 und der lokale Oszillator 425 und die Phasen-Verschiebungsschaltung 439 in 24 komplett eliminiert, wodurch ein wenig kostspieliger, wenig komplexer Modulator resultiert, der dasselbe Ergebnis erreicht, wie der Modulator von 24. Insbesondere empfängt der Formungs-Filter/Modulator 507 von 46 In-Phase-(real)- und Quadratur-(imaginär)-digital-Eingaben (oder analoge) auf den Bussen 568r und 568i. Obwohl die Busse 568r und 568i in 46 so dargestellt sind, als hätten sie ihren Ursprung im Ergebnis-Feld aus Gründen der Klarheit der Veranschaulichung, haben sie bei dem bevorzugten Sender 28A tatsächlich ihren Ursprung im Ausgang der Skalier-Schaltung 564. Bei einigen Ausführungsformen können die Skalier-Schaltung 564 und der Vor-Code-Entzerrungsfilter 563 weggelassen werden, wo höhere Fehlerraten oder eine niedrigere Nutzlast-Kapazität toleriert werden kann.

Das Fourier-Spektrum der Basisband-Orthogonal-Code-Multiplex-Daten auf dem Bus 568r ist als ein konstantes Amplituden-Spektrum 1138 der Amplitude Ar auf der reellen Achse in 47 gezeigt. Das Fourier-Spektrum der Basisband-Orthogonal-Code-Multiplex-Daten auf dem Bus 568i ist gezeigt als ein konstantes Amplituden-Spektrum 1140 der Amplitude Ai auf der imaginären Achse in 47. Die Direkt-Sequenz-Spreiz-Spektrum-Techniken, die in den Sendern gemäß der Lehre der Erfindung verwendet werden, haben den Effekt eines Spreizens der Leistung der Signale, die durch die Informationsvektoren dargestellt sind von Minus unendlich bis Plus unendlich bei einer konstanten Amplitude. Da jeder 6 mHz-breite Abschnitt des Spektrums von 47 mit einem Passband-Filter ausgewählt werden kann und alle Kanaldaten darin wiedergewonnen werden können, wird diese Tatsache dazu verwendet, um gleichzeitig eine trägerlose Amplituden- und Phasen-Modulation auszuführen, sowie ein Filtern, um dem Nyquist-Kriterium im Formungs-Filter/Modulator 507 zu genügen. Um dies zu erreichen, werden zwei Formungsfilter 1134 und 1136 im Modulator 507 gekoppelt, um die Signale auf den Bussen 568r bzw. 568i zu empfangen. Der Filter 1134 weist eine Filter-Charakteristik auf, die so eingestellt ist (bei einigen Ausführungsformen programmierbar durch die CPU 405), um eine Passband-Filter-Charakteristik mit angehobenem Quadrat-Kosinus 1142 in der reellen Ebene der Frequenz-Domäne, die in 48 gezeigt ist, zu erreichen. Die Passband-Filter-Charakteristik weist eine Bandbreite von 6 mHz auf und ist zentriert auf eine Zwischen-Frequenz Fc, die eingerichtet ist bei einer Frequenz, die einfach und in herkömmlicher Weise in einem digitalen Filter erreicht werden kann. Die Ausgangssignale des Filters werden schließlich zu dem Digital-zu-Analog-Wandler 576 in 28A gesendet und von dort zu einem Aufwärts-/Abwärts-Wandler 577. Die Funktion des Aufwärts/Abwärts-Wandlers 577 ist es, die Frequenz auf eine Frequenz in der Mitte des Bandes anzuheben, das einer digitalen Datenkommunikation gewidmet ist, um die CATV oder Zellular-System-Hilfsdienste auf dem gemeinsamen Übertragungsmedium 24 zu implementieren. Die Frequenz wird durch den Wandler 577 auf eine Frequenz geändert, die für die Stromaufwärts- oder Stromabwärts-Richtung geeignet ist, in welcher der Sender Daten bei einer Frequenz sendet, die so lokalisiert ist, dass sie beispielsweise nicht mit einer Kabel-Fernseh-Programmierung interferiert, die ebenso auf demselben Medium getragen wird.

Filter 1136 weist ebenso eine Passband-Filter-Charakteristik 1144 mit angehobenem Quadrat-Kosinus auf, jedoch ist seine Filter-Charakteristik in der imaginären Ebene der Frequenz-Domäne, wie in 48 gezeigt ist, lokalisiert. Die Passband-Filter-Charakteristik weist eine Bandbreite von 6 mHz auf und ist auf eine Zwischen-Frequenz Fc zentriert, was bei der Digital-Filter-Bauart leicht zu erreichen ist. Um eine Orthogonalität zwischen den realen und imaginären Daten-Ausgangssignalen auf den Bussen 1146 und 1148 sicherzustellen, ist die Transfer-Funktion des Filters 1136 die Hilbert-Transformation der Transfer-Funktion des Filters 1134.

Wenn die Basisband-Spektren von 47 für die reellen und imaginären Signal-Komponenten durch die Filter 1134 und 1136 durchgegeben werden, sind die resultierenden Fourier-Spektren der digitalen Daten auf den Bussen 1146 und 1148 so, wie in 48 gezeigt ist. Diese Spektren enthalten alle kodierten Informationen von den realen und imaginären Informationsvektoren, kodiert durch den orthogonalen Code-Multiplexer 527 aus Gründen, die von Fachleuten für Spreiz-Spektrum-Systeme verstanden werden. Diese digitalen Signale auf Bussen 1146 und 1148 werden summiert in der Summierschaltung 1150. Das Ergebnis wird auf den Bus 574 zu dem Analog-zu-Digital-Wandler 576 in 28A für eine Umwandlung in analoge Signale ausgegeben, welche dann in der Frequenz durch den Frequenz-Wandler 577 angehoben werden.

Eine Demodulation dieser Spreiz-Spektrum-Signale wird in bekannter Weise erreicht.

Bezug nehmend auf 49 ist dort ein Blockdiagramm einer alternativen Ausführungsform eines Systems gezeigt, welches CU- und RU-Modems verwendet entsprechend der Gattung der Erfindung. Das System weist ein CU-Modem 1160 auf, das gekoppelt ist durch ein HFC-(Hybridfaser-Koax)- oder kabelloses Transmissions-Medium, wie beispielsweise ein zellulares oder Satelliten-Radio-Übertragungssystem 1162, mit einem oder mehreren RU-Modems 1164. Der Zweck des CU-Modems ist es, eine Mehrfach-Benutzer-und/oder-Mehrfach-Quellen-Simultan-Digitaldaten-Kommunikation-Einrichtung bereitzustellen über einen Kanal mit begrenzter Bandbreite, wie beispielsweise 6 Megahertz oder zu einem einzelnen oder mehreren Ferneinheit-Modems, die mit dem CU-Modem durch ein geteiltes RF-Übertragungs-Medium gekoppelt sind.

Das CU-Modem überträgt Daten in der Stromabwärts-Richtung zu den RU-Modems unter Verwendung eines Senders 1170, welcher digitale Daten verwendet, um einen oder mehrere Radio-Frequenz-Träger zu modulieren, die über das Medium 1162 übertragen werden nach einer Frequenz-Umwandlung durch einen Aufwärts/Abwärts-Frequenz-Wandler 1174 auf die richtige zugeteilte Stromabwärts-Kanal-Frequenz. Der Sender kann irgendein Modulationsschema verwenden, das eine Master-Takt-Referenz und ein Träger-Referenzsignal zu den RU-Modems übertragen kann für Takt- und Träger-Synchronisationszwecke dort, wobei die Takt- und Träger-Referenzen entweder in-Band oder außerhalb-des-Bandes übertragen werden. Daten werden in Rahmen übertragen, welche der RU-Empfänger detektiert. Der RU-Sender erreicht eine Rahmen-Synchronisation durch die Bereichsbildungsprozesse, die hierin an anderer Stelle beschrieben sind. Beispiele von Modulationsschemen, welche für den Stromabwärts-Richtung-CU-Sender funktionieren werden, sind QAM, SCDMA oder DMT (digitale Multiton-Sender). Jeder der herkömmlichen Sender, die in den Büchern beschrieben sind, welche durch Bezugnahme hierin inkorporiert sind, wird für den CU-Sender ausreichend sein, jedoch wird ein SCDMA-Sender bevorzugt. Nicht-SCDMA-Modulationsschemen können in der Stromabwärts-Richtung verwendet werden, da die Rauschen- und Interferenz-Probleme weniger schwerwiegend sind, als in der Stromaufwärts-Richtung.

Die Definition der "in-Band"-Übertragung des Taktes und des Trägers ist so, dass ein oder mehrere Kanäle, die anderweitig verwendet werden würden, um Nutzdaten zu übertragen, den Takt- und Trägersignalen gewidmet sind. Die Definition einer "außerhalb-des-Bandes"-Übertragung ist die, dass ein getrennter Träger, oder ein anderes Sub-Kanal/Seitenband, etc., -Modulationsschema verwendet wird, um die Takt- und Träger-Information zu übertragen, so dass kein Zeitschlitz oder Pakete, die verwendet werden könnten, um Nutzdaten zu senden, verwendet wird, um Takt- und Träger-Information zu senden. Das Master-Taktsignal wird durch den Master-Takt 1176 erzeugt und das Träger-Referenzsignal, das durch den Sender 1170 moduliert wird, wird durch den Master-Träger-Lokal-Oszillator 1178 erzeugt.

Der CU-Modem-Sender weist eine Rahmung/Adressierung/Paketbildungs-Schaltung 1166 auf, die so funktioniert, dass Nutzdaten am Eingang 1168 empfangen werden, und welche diese Daten in Rahmen organisiert und die Daten zu dem richtigen Bestimmungs-RU-Modem und der richtigen peripheren Vorrichtung, die mit diesem Modem gekoppelt ist, adressiert. Die Weise, in welcher dies ausgeführt wird, ist nicht kritisch für die Erfindung, insofern für die Stromabwärts-Daten, solange die Daten in Rahmen organisiert werden, da die Stromabwärts-Daten durch SCDMA übertragen werden (synchroner Code-Mehrfach-Zugriff). SCDMA ist definiert als eine Übertragung von Rahmen von Spreiz-Spektrum-Signalen mit Daten von verschiedenen Kanälen, die gespreizt sind, unter Verwendung von orthogonalen pseudo-zufälligen Spreiz-Codes, wobei die Rahmen von verschiedenen RUs synchron übertragen werden, die sich an verschiedenen Orten befinden, so dass alle Rahmen einer entsprechenden Rahmen-Nummer von allen RUs an dem CU-Modem zur selben Zeit ankommen für ein Entspreizen und Dekodieren durch die inverse Code-Transformation, die in dem RU-Sender verwendet wurde, um das Spektrum der Daten unter Verwendung der orthogonalen pseudo-zufälligen Spreiz-Codes zu spreizen. Die Rahmungs-Adressierungs-Schaltung 1166 des CU-Senders kann die Struktur und die Funktionsweise der Rahmungs-Schaltung 400 in 19 aufweisen, falls der Sender 1170 ein SCDMA- oder DMT-Sender ist. Falls der Sender 1170 beispielsweise ein QAM-Sender ist, organisiert die Rahmungs-/Adressierungs-Schaltung 1166 die Daten in Rahmen und platziert Daten, die für spezielle RU-Modems vorgesehen sind, in Zeitschlitze, die diesen Modems zugeteilt werden. Die Daten in diesen Zeitschlitzen eines jeden Rahmens, der einem speziellen RU-Modem zugeteilt ist, werden Kopf-Bits beinhalten, die dem RU-Modem mitteilen, an welche spezielle periphere oder andere Bestimmung die Daten in diesen Zeitschlitzen adressiert sind, und kann andere Informationen beinhalten, wie beispielsweise Paket-Begrenzer, welche die Start- und Stop-Zeitschlitze von jedem Paket definieren, das für eine spezielle Peripherie oder Byte-Zähler etc. bestimmt ist, welche der RU mitteilen, wie viele Zeitschlitze von Daten für ein vollständiges Paket zu sammeln sind, das für einen besonderen Bestimmungsort bestimmt ist, der mit dieser RU gekoppelt ist. Im Prinzip beinhaltet die Funktion der Rahmung/Adressierung/Paketbildungs-Schaltung ein Organisieren der Nutzdaten in einer Weise, dass Information bestimmt werden kann, an welches Ferneinheits-Modem und welcher Peripherie jedes Nutzdaten-Byte gerichtet ist.

Das CU-Modem empfängt Stromaufwärts-Radio-Frequenz-Signale, die mit digitalen Daten moduliert sind durch die RU-Modems unter Verwendung eines SCDMA-Empfängers 1172. Die Funktion des SCDMA-Empfängers ist es, die Nutzdaten aus den Stromaufwärts-RF-Signalen zu extrahieren. Diese Stromaufwärts-Nutzdaten wurden synchron auf dem Stromaufwärts-RF-Träger moduliert durch einen SCDMA-Sender in dem RU-Modem unter Verwendung von orthogonalen pseudo-zufälligen Spreiz-Codes, um das Spektrum der Nutzdaten zu spreizen, die durch das RU-Modem empfangen wurden, gefolgt von einem geeigneten Modulationsschema, wie beispielsweise QAM, um die Daten zu verwenden, die aus dem Code-Übertragungs-Spreizprozess resultieren, um einige oder mehrere Charakteristiken von einem oder mehreren RF-Trägern zu steuern. Der CU-Empfänger 1172 kann die Struktur der Empfänger von 19 oder 34 haben oder die grundlegendere jedoch leistungsärmere Struktur von 50.

Das RU Modem 1164 weist die folgende Struktur auf. Ein Empfänger 1190, der einen Demodulator und Detektor aufweist, der mit dem Typ von Modulation kompatibel ist, die in dem CU-Sender ausgeführt wird, ist mit den Übertragungsmedien gekoppelt. Die Funktion des RU-Empfängers ist es Stromabwärts-RF-Signale zu empfangen, die in Rahmen durch den CU-Sender übertragen werden und Nutzdaten synchron zu extrahieren, die durch die CU übertragen werden, und irgendwelche Verwaltungs- und Steuerungsdaten, die durch die CU übertragen werden, um den Prozess des Erreichens einer Rahmen-Synchronisation zu koordinieren. Der RU-Empfänger funktioniert ferner so, dass er den Master-Takt wiedergewinnt und den Träger, der durch den RU-Sender verwendet wird, wiedergewinnt. Das wiedergewonnene Master-Taktsignal wird auf dem Bus 1214 an alle RU-Schaltungen verteilt, welche es benötigen, einschließlich des SCDMA-Senders 1210. Das wiedergewonnene Trägersignal wird durch den Empfänger 1190 auf dem Bus 1216 zu allen Schaltungen verteilt, welche es benötigen, einschließlich des SCDMA-Senders 1210. Die Wiedergewinnung der Takt- und Trägersignale kann durchgeführt werden, wie an anderer Stelle hierin beschrieben ist, oder in irgendeiner anderen herkömmlichen Weise, die in den Referenzen beschrieben ist, die hierin durch Bezugnahme inkooperiert werden. Das bevorzugte Verfahren eines Wiedergewinnens eines Taktes besteht im Kodieren des Taktes in Barker-Codes, die während jeder Lücke durch die CU gesendet werden und unter Verwendung einer Lücke-Monitor/Rahmen-Detektor-Schaltung, wie jener, die in 38 gezeigt ist, um Takt-Steuerungssignale aus den CU-Sender-Barker-Codes zu erzeugen, und dann verwenden der Steuerungssignale, um einen lokalen Takt-Oszillator in Synchronisation mit dem Master-Takt 1176 zu halten. Das bevorzugte Verfahren eines Wiedergewinnens des Trägers besteht im Widmen eines Kanals oder Zeitschlitzes einem Pilot-Ton, welcher die Phase und Frequenz des Trägers definiert, der durch den Master-Träger-Lokal-Oszillator 1178 in der CU erzeugt wird, und durch Überwachen dieses Kanals, um Steuerungssignale zu erzeugen, um einen lokalen Oszillator in der RU synchronisiert zu halten.

Der RU-Empfänger 1190 kann die Struktur der Empfänger aufweisen, die in 19 und 34 beschrieben sind, sowie beschriebene Alternativen und funktionale Äquivalente davon oder er kann die Struktur herkömmlicher Empfänger aufweisen, die in den Abhandlungen beschrieben sind, die hierin durch Bezugnahme inkooperiert werden, so lange er eine Struktur aufweist, die in Lage ist, die Nutzlast- und Verwaltungs- und Steuerungsdaten zu dekodieren und zu extrahieren, die stromabwärts durch den CU-Sender übertragen werden. Die extrahierten Nutzdaten werden auf den Bus 1216 zur Verwendung durch periphere Einheiten und Schnittstellen zu anderen Netzwerken oder Prozessen ausgegeben, die durch den Block 1218 dargestellt sind.

Ein RU-Sender 1210 empfängt Nutzdaten auf dem Bus 1220 von den peripheren Einheiten oder Prozessen und organisiert diese Daten in Rahmen derselben Größe, wie die CU-Rahmen. Die Daten, die so gerahmt wurden, weisen dann ein Fourier-Spektrum auf, das durch den Sender über eine Bandbreite gespreizt ist, die viel größer ist, als sie diese Daten ursprünglich hatten, in gewöhnlicher Weise durch Orthogonal-Code-Teilung-Mehrfach-Zugriffs-Kodieren oder durch Durchführen einer inversen Fourier-Transformations-Operation. Falls ein Code-Teilung-Mehrfach-Zugriff verwendet wird, werden die Spreiz-Spektrum-Daten dann auf ein oder mehrere Radio-Frequenz-Trägersignale moduliert unter Verwendung eines geeigneten Modulationsschemas, wie beispielsweise QAM16, wie an anderer Stelle hierin beschrieben ist. Dieser Prozess des Organisierens in Rahmen, eines Spreizens des Spektrums jedes Rahmens von Daten und eines Verwendens der Spreiz-Spektrum-Daten, um eine oder mehrere RF-Träger zu modulieren, wird synchron ausgeführt unter Verwendung der Master-Takt- und Trägersignale, die durch den Empfänger 1190 wiedergewonnen sind, und auf Busse 1202 und 1214 ausgegeben werden. Die resultierenden RF-Signale werden auf die Leitung 1224 ausgegeben zu einem Aufwärts/Abwärts-Frequenz-Wandler 1226, wo die Frequenz auf die bestimmte Frequenz eines Frequenz-Bandes umgewandelt wird, gewöhnlicherweise 6 Mhz in der Breite, das für einen Stromaufwärts-Verkehr vorgesehen ist, und werden dann auf Leitung 1228 zu dem Übertragungsmedium 1162 ausgegeben. Somit wird ein Frequenz-Multiplexen für den Stromaufwärts- und Stromabwärts-Verkehr erreicht. Fachleute werden zu würdigen wissen, dass das System der Erfindung eine Kombination von Zeit-Multiplexen, Frequenz-Multiplexen und Code-Multiplexen verwendet, um Hochleistungs-, Mehrfach-Benutzer-, Mehrfach-Quellen-Bidirektional-Digital-Daten-Verkehr in einem verteilten Kommunikationssystem zu erreichen.

Die Rahmen-Synchronisation wird durch den Trial- and Error-Prozess erreicht eines Einstellens der Übertragungsrahmen-Zeitgabe-Verzögerung, die an anderer Stelle hierin beschrieben ist, und dann durch Übertragen eines eindeutigen Codes, wie beispielsweise eines Barker-Codes, den der CU-Empfänger detektieren kann. Das CU-Modem beinhaltet eine Lücke-Überwachungs-Schaltung 1192, die so funktioniert, dass das Schutzband oder ein anderes Intervall, das in jedem Rahmen beinhaltet ist, auf welches die RU-Sender versuchen zu synchronisieren, überwacht wird, um zu bestimmen, ob einer oder mehrere Barker-Codes empfangen wurden. Die Lücke-Überwachungs-Schaltung kann die Struktur aufweisen, die in 38 gezeigt ist, oder irgendeine andere Struktur, die bestimmen kann, wann der eindeutige Code einer RU empfangen wurde, die bestimmen kann, ob mehr als ein Code von einer RU empfangen wurde in der Lücke, die detektieren kann, wie weit entfernt von der Mitte der Lücke sich der empfangene Barker-Code befindet, und die eine Status-Information auf den Bus 1196 zu einem Computer 1194 Bereitstellen kann, mit Bezug dazu, ob ein Barker-Code empfangen wurde, ob mehr als einer empfangen wurde, und, falls nur einer empfangen wurde, wie weit entfernt von der Mitte der Lücke sich der empfangene Barker-Code befindet. Obwohl ein Computer für die Schaltung 1194 bevorzugt wird, können andere Schaltungen, um diese Funktion auszuführen, wie beispielsweise Gate-Arrays, State-Machine etc. verwendet werden, um die Verwaltungs- und Steuerungsdaten auf dem Bus 1198 zu erzeugen, welche die RUs über Information informieren, dass sie eine Rahmen-Synchronisation erreichen müssen. Nachfolgend wird auf die Schaltung 1194 als ein Computer Bezug genommen. Dasselbe ist der Fall für den Computer 1204 in der RU. Es muss sich nicht um einen Computer per se handeln, sondern es kann sich um jeden anderen Typ von Schaltung handeln, die die Funktion erfüllen kann. Der Computer 1194 erzeugt dann Verwaltungs- und Steuerungs-Nachrichtendaten auf dem Bus 1198, die an einem Eingang eines Schalters 1200 angelegt werden, dessen Schaltzustand durch den Computer 1194 gesteuert wird, um die Daten auf dem Bus 1198 während des Intervalls für ein Kodieren und zum Übertragen von Daten von Zeitschlitzen auszuwählen, die Verwaltungs- und Steuerungs-Nachrichten gewidmet sind. Fachleute werden zu würdigen wissen, dass ein Schalt-Multiplexer wie der MUX 1200 nicht verwendet werden muss, und dass irgendeine andere bekannte Daten-Übertragungsschaltung oder anderer Prozess, worauf in den Ansprüchen als eine Daten-Übertragungsschaltung Bezug genommen wird, um Daten von einem Prozess zu einem anderen zu bekommen, wie beispielsweise einem gemeinsamen Speicher etc., verwendet werden kann, um die Verwaltungs- und Steuerungsdaten durch den Sender 1170 zur geeigneten Zeit übertragen zu bekommen. Beispielsweise können die Verwaltungs- und Steuerungsdaten an speziellen Orten eines gemeinsamen Adressraumes eines Speichers gespeichert werden, der ebenso die Ausgabedaten von der Rahmungsschaltung 1166 speichert, und der Sender kann einen Computer oder eine State-Machine aufweisen, welche auf den Speicher zu den geeigneten Zeitpunkten zugreift, um die Daten zu senden, die verschiedenen Zeitschlitzen zugeteilt sind, einschließlich der Verwaltungs- und Steuerungsdaten.

Der RU-Empfänger 1190 empfängt diese Verwaltungs- und Steuerungsnachrichten und gibt sie auf dem Bus 1202 zu einem Computer 1204 weiter, welcher die Verwaltungs- und Steuerungsdaten dazu verwendet, um den Bereichsbildungsprozess zu steuern, der durch den SCDMA-Sender 1210 ausgeführt wird und für andere Zwecke. Der Empfänger 1190 beinhaltet ebenso eine Lücke-Überwachungs-Schaltung, die einen Lücke-Akquisitionsprozess unterstützt, um die Zeit jeder CU-Rahmen-Lücke zu lokalisieren. Diese Lücke-Überwachungs-Schaltung sucht nach Barker-Code-Daten, die durch die CU während jeder Lücke übertragen werden, gewöhnlicherweise durch Korrelieren von empfangener Leistung mit dem bekannten Barker-Code-Datenmuster, und sendet Lücke-Akquisitionsdaten, welche den Empfang von Korrelations-Pulsen genau berichten und die relativen Zeiten ihres Auftretens zum Computer 1204 über den Bus 1202. Ein bevorzugter Lücke-Monitor empfängt ein Signal von einem angepassten Filter, welches dann differenziell dekodiert, gesliced wird und zu einem Korrelator gesendet wird, der den bekannten Barker-Code als eine weitere Eingabe empfängt. Der Korrelator-Ausgang wird gegen einen Schwellwert verglichen und der Komparator-Ausgang wird durch einen Fehleralarm-Zähler gezählt. Die Fenster-Schaltung, die an anderer Stelle hierhin beschrieben ist, verengt die Ausgangs-Pulse, bis die tatsächliche Lücke gefunden ist.

Ein Computer 1204 oder eine andere Steuerungsschaltung verwendet diese Lücke-Akquisitionsdaten, um den Zeitpunkt eines Empfangs des Barker-Codes zu bestimmen, wodurch eine Rahmengrenze-Referenz für den Empfänger eingerichtet wird, um ihn beim Demodulieren, Dekodieren und Entrahmen der empfangenen Daten zu unterstützen. Der Computer 1204 verwendet die Empfangsrahmen-Zeitgabe-Referenz während des Bereichsbildungsprozesses, um einen Trial-and-Error-Wert für den Übertragungsrahmen-Zeitgabe-Verzögerungswert Td einzurichten und sendet diesen Übertragungsrahmen-Zeitgabe-Verzögerungswert Td auf dem Bus 1212 zu dem Sender, um die Verzögerung zwischen dem Zeitpunkt, wenn der Rahmen von dem CU-Sender ankommt, und dem Zeitpunkt, zu dem der RU-Sender 1212 denselben Rahmen zurück zu dem CU-Empfänger mit neuen Daten darin zurücksendet, zu steuern. Während des Bereichsbildungsprozesses wird der Wert von Td experimentell variiert während aufeinanderfolgender Barker-Code-Übertragungen bis Verwaltungs- und Steuerungsdaten durch das RU-Modem empfangen werden, die anzeigen, dass der Barker-Code in der CU-Rahmen-Lücke zentriert wurde, wodurch eine Rahmen-Synchronisation erreicht wird. Sobald eine Rahmen-Synchronisation erreicht wurde, friert der Computer den Wert für Td ein, wodurch der SCDMA-Sender veranlasst wird, seine Rahmen in Rahmen-Synchronisation mit den CU-Rahmen zu senden und den Rahmen, die durch alle anderen RUs gesendet werden.

Alle Rahmen weisen Nummern auf, und können in der folgenden Weise visualisiert werden. Ein Stromabwärts-Rahmen, der von dem CU-Sender zu dem RU-Empfänger wandert, ist ähnlich einem Bus mit einer Ladung bestimmter Fahrgäste, wobei die Fahrgäste die Nutz- und Verwaltungs- und Steuerungsdaten in dem Rahmen darstellen. Wenn dieser Bus an der RU ankommt, werden die Fahrgäste ausgeladen und eine neue Gruppe von Fahrgästen steigt ein, welche die Nutz- und Verwaltungs- und Steuerungsdaten darstellen, welche die RU zu der CU senden möchte. Nach einer Verzögerung Td verlässt der Bus die RU und fährt zurück zu der CU. Die verschiedenen Kanäle von Daten können als verschiedene Busse visualisiert werden, von welchen jeder für eine andere RU bestimmt ist, obwohl sie in Wirklichkeit Daten von verschiedenen Zeitschlitzen in demselben Rahmen sind, der durch alle RUs empfangen wird. Eine Rahmen-Synchronisation ist der Prozess des Einstellens des Wertes Td in richtiger Weise in jeder RU nach einem Trial-and-Error-Prozess, so dass die Busse, welche von jeder RU in Richtung der CU fahren, alle zur selben Zeit ankommen. Als eine weitere Operation beim Erreichen einer Rahmen-Synchronisation gibt der Computer 1204 auch eine Bereichsbildungs-Generator-Schaltung 1206 über Signale auf einen Bus 1208 frei und Nachrichten zu dem Bereichsbildungs-Generator weiter, um seinen Betrieb zu steuern. Der Bereichsbildungs-Generator 1206 funktioniert in der Weise, um Daten zu erzeugen und zu dem SCDMA-Sender zu senden, welche einen Barker-Code für eine Übertragung während eines Bereichsbildungs-Prozesses definieren, um eine Rahmen-Synchronisation einzurichten, und die eindeutige An-Aus-Morse-Code-Signatur-Sequenz von Barker-Codes, die während einer Signatur-Sequenz von Lücken gesendet werden, die verwendet wird, um eine Identifikation/Authentifikation jeder speziellen RU während des Bereichsbildungsprozesses zu erreichen. Typischerweise sind diese Nachrichten auf dem Bus 1208 die Daten, die auf dem Bus 512 in 28A gesendet werden, doch sind andere Strukturen und Wechselwirkung zwischen dem Computer 1204 und Bereichsbildungs-Generator 106 möglich, solange das Endergebnis den RU-SCDMA-Sender dazu veranlassen kann, eine Rahmen-Synchronisation zu erreichen.

Der Computer 1204 erzeugt ebenfalls Verwaltungs- und Steuerungsdaten und sendet sie zu dem RU-SCDMA-Sender 1210 über den Bus 1212. Diese Verwaltungs- und Steuerungsdaten können Anforderungen beinhalten, um ein Bereichsbilden zu beginnen, Anforderungen für mehr Bandbreite, Nachrichten, die Brandbreite freizugeben etc., für verschiedene Arten innerhalb der breiten Gattung der Erfindung.

Bezugnehmend auf 50, ist dort ein Blockdiagramm einer einfachen Form für den SCDMA-Empfänger in der CU von Block 1172 gezeigt. Diese Ausführungsform weist einen synchronen Demodulator 1230 auf, der die modulierten RF-Signale auf Leitung 1232 empfängt und das Master-Träger-Referenzsignal auf Leitung 1180 von dem Master-Träger-Lokaloszillator 1178. Der Demodulator kann auch das Master-Taktsignal auf Leitung 1234 bei einigen Ausführungsformen empfangen, wo das Ausgangssignal in digitale Abtastwerte für eine Ausgabe umgewandelt ist, als eine Serie von Ergebnisvektoren, die aus digitalen Daten gebildet sind, die dasselbe gespreizte Leistungsspektrum der Ergebnisvektoren aufweisen, die in den CU-Sender-Modulator eingegeben wurden. Diese Ergebnisvektoren werden über den Bus 1236 mit dem SCDMA-Demultiplexer 1238 gekoppelt. Der SCDMA-Demultiplexer 1238 multipliziert die Ergebnisvektoren mit der transponierten der Code-Matrix, mit der die Informationsvektoren multipliziert wurden in dem SCDMA-Multiplexer des RU-Senders. Dies entspreizt das Fourier-Komponenten-Leistungsspektrum und resultiert in Informationsvektoren, die auf den Bus 1240 im Rahmenformat ausgegeben werden in Übereinstimmung mit der Rahmungsinformation, die auf dem Bus 1244 von dem CU-Sender empfangen wurde. Diese Rahmungsinformation definiert die CU-Rahmenzeiten, jedoch kommen die RU-Datenrahmen synchron mit dieser Rahmen-Zeitgabe an, da der RU-Bereichsbildungsprozess die Übertragungsrahmen-Zeitgabe-Verzögerung so einstellt, dass die RU-Rahmen präzise ausgerichtet mit den CU-Rahmen ankommen.

Die Informationsvektoren auf dem Bus 1240 sind durch Rauschen und Beeinträchtigungen verschlechtert, welche den Stromaufwärtskanal beeinträchtigen. Diese verschlechterten Informationsvektoren können dann durch einen herkömmlichen Detektor 1246 verarbeitet werden, um die tatsächlichen Informationsvektoren, die gesendet wurden, zu bestimmen. Bei der bevorzugten Ausführungsform ist der Detektor ein Viterbi-Dekoder und eine FFE- und DFE-Entzerrung wird verwendet zusammen mit einer Trellis-Modulation, um den Durchsatz zu verbessern, die Fehlerrate abzusenken und um die Signal-zu-Rauschen-Leistungsfähigkeit zu verbessern.

Die tatsächlichen Informationsvektoren werden dann auf den Bus 1248 zu einer Deframer-Schaltung 1250 ausgegeben, die so funktioniert, um die ursprünglichen Nutzdatenströme und Verwaltungs- und Steuerungsnachrichten von den Informationsvektoren wieder zusammenzusetzen. Die Nutzdaten werden auf dem Bus 1252 zu den Peripherie-Einheiten und Schnittstellen zu dem Telefonnetzwerk, Internet, etc., ausgegeben. Die Verwaltungs- und Steuerungsdaten werden auf den Bus 1254 zu der CPU 1194 für eine Verwendung beim Durchführen derartiger Verarbeitungen ausgegeben, wie dem Zuteilen von Kanälen und der dynamischen Bandbreite-Verwaltung bei Arten, welche diese Funktionen implementieren, im Gegensatz zu festen Kanalzuteilungen.

Ein RU-SCDMA-Empfänger könnte wie der Empfänger von 50 strukturiert sein, jedoch könnten anstelle einer Verwendung der Master-Takt- und Master-Träger-Referenzsignale der CU wiedergewonnene Takt- und wiedergewonnene Träger-Signale verwendet werden. Diese wiedergewonnenen Takt- und wiedergewonnenen Trägersignale könnten durch die Schaltung in 19 erzeugt sein, welche diese Funktionen durchführt.

Bezugnehmend auf 51 ist dort ein Blockdiagramm eines einfachen RU-Spreizspektrum-Senders gezeigt, der verwendet werden könnte, um Block 1210 in 49 zu implementieren. Eine Framer-Schaltung 1260 empfängt Nutzdaten auf dem Bus 1220 von den Peripherie-Einheiten und organisiert sie in Rahmen derselben Größe, wie die CU-Rahmen. Der Framer kann die Struktur des Framers in 12 haben, oder irgendeine andere Struktur, welche die Rahmen von Informationsvektoren in verschiedener Weise organisiert. Der Framer empfängt eine Rahmen-Zeitgabe-Information in der Form von Rahmen-Sync- und Super-Rahmen-Signalen auf dem Bus 1262 von der Zeitbasis 886. Die Zeitbasis 886 empfängt ein Takt-Synchronisations-Steuerungssignal auf dem Bus 1264 von dem RU-Empfänger-Lücke-Detektor und verwendet dieses Signal, um seinen lokalen Takt in Synchronisation mit dem entsprechenden Takt in der CU zu halten. Ein synchronisiertes Chip-Takt-Referenzsignal wird auf dem Bus 1266 zu allen Schaltungen in dem Sender verteilt, welche es benötigen. Die Zeitbasis empfängt auch eine Empfangsrahmen-Zeitgabe-Referenz auf dem Bus 1268 von der Computer-Steuerungsschaltung 405. Die Steuerungsschaltung 405 empfängt Lücke-Akquisitionsdaten auf dem Bus 1270 von der Lücke-Überwachungs-Schaltung in dem RU-Empfänger und verwendet diese Lücke-Akquisitionsdaten, um zu bestimmen, wann die CU-Rahmen ankommen. Diese Information wird verwendet, um die Empfangsrahmen-Zeitgabe-Referenz zu erzeugen.

Die Framer-Schaltung 1260 gibt Informationsvektoren auf den Bus 1272 zu einem Eingang eines Schalters 1274 aus, Der andere Eingangsbus 1276 dieses Schalters ist gekoppelt mit dem Computer 405 und trägt Verwaltungs- und Steuerungsdaten. Der Schalter 1274 weist einen einzelnen Ausgabebus 1276 auf, der mit dem Datenbus-Eingang eines Pufferspeichers 1278 gekoppelt ist. Der Pufferspeicher dient dazu, die endgültigen Informationsvektoren zu speichern, die auf dem Bus 1280 zu dem Spektrum-Spreiz-Multiplexer 1282 eingegeben werden. Diese Vorrichtung funktioniert so, dass sie das Fourier-Spektrum der Daten auf dem Bus 1280 über eine viel größere Bandbreite spreizt als sie die Daten ursprünglich besaßen. In der bevorzugten Ausführungsform ist der Spektrum-Spreiz-Multiplexer ein direkter Sequenz-Code-Multiplexer, wie jener, der an anderer Stelle hierin beschrieben wurde, der eine Matrix-Multiplikation der Informationsvektoren ausführt mit einer Vielzahl von pseudo-zufälligen orthogonalen Codes, die vorzugsweise zyklische Codes sind. Zumindest ein Code ist jeder RU zugeteilt und bei der bevorzugten Ausführungsform können mehrfache Codes zugeteilt werden, wenn mehr Bandbreite benötigt wird, und die Anzahl von zugeteilten Codes kann dynamisch durch Austausch von Nachrichten zwischen der RU und CU über Kanäle variiert werden, die einem Verwaltungs- und Steuerungsverkehr gewidmet sind. Der Computer 405 empfängt Code- und Zuteilungsnachrichten von der CU sowie andere Verwaltungs- und Steuerungsdaten, welche beispielsweise den Bereichsbildungsprozess unterstützen, für den Bus 1288 von dem RU-Empfänger.

Der Computer 405 führt die Zuteilung von Codes aus (oder Frequenzkomponenten in FFT- und DMT-Ausführungsformen) durch Steuern von Lese-Zeiger-Adressen auf dem Bus 1284 und Schreib-Zeiger auf den Bus 1286. Die Lese-Zeiger steuern die Adress-Frequenz in der Framer-Schaltung, von welcher Daten gelesen werden für eine Ausgabe auf den Bus 1272. Die Schreib-Zeiger steuern die Adressfrequenz, in welche Daten auf den Bus 1276 im Puffer 1278 geschrieben werden. Da die Inhalte irgendeiner speziellen Adresse im Puffer 1278 immer mit demselben Code multipliziert werden, durch Steuern dieser Schreib-Zeiger, kann der Computer die Code-Zuteilungen implementieren und kann Verwaltungs- und Steuerungsdaten in die richtigen Kanäle bringen, falls spezielle Kanäle für Verwaltungs- und Steuerungsdaten zugeteilt sind. Die Ausführungsform von 51 beinhaltet die Möglichkeit, Codes zu mischen oder pseudo-zufällig (oder Frequenzkomponenten in DMT-Ausführungsformen) durch pseudo-zufälliges Ändern der Schreib-Zeiger, um Daten aus speziellen Kanälen in pseudo-zufällig zugeteilte Orte zu platzieren, die mit verschiedenen Codes multipliziert werden.

Der Sender von 51 kann ebenso FFT- und DMT-Ausführungsformen implementieren durch Ändern des Prozesses, der in der Spektrum-Spreizschaltung 1282 ausgeführt wird. Um FFT-Ausführungsformen zu implementieren, stellt der Block 1282 einen Prozess dar, um die inverse schnelle Fourier-Transformation zu berechnen unter Verwendung der verschiedenen Frequenz-Komponentengrößen, die durch individuelle Informationsvektor-Elemente auf dem Bus 1280 dargestellt sind. Die FFT-Ausführungsform verwendet dieselben Informationsvektor-Elemente, um die Größe derselben Frequenzkomponenten während jedes Rahmens zu definieren. Ein DMT-System ändert (entweder pseudo-zufällig oder sequentiell) die Frequenzkomponenten, die jedem Vektorelement zugeteilt sind, von Zeit zu Zeit. Um eine DMT-Ausführungsform zu implementieren, führt der Block 1282 die inverse schnelle Fourier-Transformation durch und der Computer 405 steuert die Lese- und Schreib-Zeiger, um die Frequenzkomponenten zu ändern, die jedem Informationsvektor-Element zugeteilt sind.

Was auch immer der Spektrum-Spreiz-Prozess ist, der durch den Block 1282 ausgeführt wird, werden die resultierenden Daten auf dem Bus 1290 zu einem Eingang eines Schalters 1292 ausgegeben. Der andere Eingangsbus zu diesem Schalter ist gekoppelt, um Barker-Code-Daten auf dem Bus 1294 von einem Barker-Code-Generator/Authentifikations-Sequenz-Generator 1296 zu empfangen. Der Schalter funktioniert dahingehend, dass er selektiv die Daten auf einem oder dem anderen dieser Busse zu dem Eingang eines Modulators 1298 über einen Bus 1300 koppelt. Der Zustand des Schalters 1292 wird durch den Computer 405 über ein Schaltsteuerungssignal auf Leitung 302 gesteuert. Der Schalter wird so gesteuert, dass er die Barker-Code-Daten auf dem Bus 1294 zu dem Modulator 1298 während des Bereichsbildungsprozesses sendet, und dass er Nutzdaten auf dem Bus 1294 zu dem Modulator während des normalen Betriebs sendet, nachdem eine Rahmen-Synchronisation erreicht wurde. Der Computer 405 steuert den Barker-Code-Generator 1296 über Daten auf dem Bus 1304.

Der Nutzdaten-Extraktionsprozess wird synchron in den CU- und RU-Modem-Empfängern ausgeführt. "Synchron" in der Form, wie dieses Wort in den Ansprüchen verwendet wird, bedeutet, dass die folgenden Formen einer Synchronisation in den RU- und CU-SCDMA-Empfängern und in dem RU-SCDMA-Sender praktiziert werden. Der RU-Sender verwendet die wiedergewonnenen Takt- und Träger-Referenzsignale, um seine digitale Schaltung und den Modulator in Synchronisation mit dem CU-Master-Takt und Master-Träger zu treiben. Eine synchrone oder kohärente Detektion wird in dem CU-Modem-Empfänger durchgeführt unter Verwendung des lokalen Trägersignals auf Leitung 1180 oder eines wiedergewonnenen Trägers von entweder einer in-Band-Quelle, wie dem Pilotkanal, der an anderer Stelle hierin beschrieben ist, oder einer Quelle außerhalb-des-Bandes. Der SCDMA-Empfänger der CU verwendet seinen eigenen Master-Takt und Master-Träger, ohne eines der Signale, die durch die RU übertragen werden, wiederzugewinnen. Dies schafft in dem CU-SCDMA-Empfänger die Kenntnis der SCDMA-Sender-Träger-Phase und -Frequenz der RU, da der RU-Sender eine Träger-Wiedergewinnung oder einen Träger-Synchronisationsprozess ausführt, um den Träger wiederzugewinnen, der durch den CU-Sender für Zwecke einer Synchronisation des RU-SCDMA-Senders verwendet wurde. Ein RU-SCDMA- oder eine andere Art eines Empfängers wiedergewinnt die Master-Träger-Referenz beispielsweise aus dem Pilot-Kanal, der durch die CU übertragen wird, und wiedergewinnt die Master-Takt-Referenz aus den Barker-Codes, die durch die CU während der Lücke jedes Rahmens gesendet wurden. Diese wiedergewonnenen Takt- und Trägersignale werden verwendet, um den Detektor in dem RU-Empfänger zu synchronisieren, und werden durch den RU-SCDMA-Sender verwendet. Eine Rahmen-Synchronisation ist ebenso Teil der Synchronisation, die durch den Ausdruck "synchron" in den Ansprüchen impliziert ist, und wird erreicht durch den Trial- und Error-Prozess eines Einstellens der Übertragungsrahmen-Zeitgabe-Verzögerung der RU-SCDMA-Sender, wie dies an derer Stelle hierin beschrieben ist, kann jedoch ebenso mit alternativen Bereichsbildungstechniken erreicht werden, wobei die CU anstelle der RU die Bereichsbildungsberechnung ausführt und die RU instruiert, welche Übertragungsrahmen-Zeitgabe-Verzögerung zu verwenden ist. Bei diesen Ausführungsformen übertragen die RUs ein Signal, das über dem Rauschen durch die CU leicht erkennbar ist. Die CU bestimmt dann die Identität der RU in jedem Fall, berechnet wie weit neben der Mitte der Lücke das Signal der RUs ist, und instruiert sie, wie ihre Verzögerung einzustellen ist, um eine Rahmen-Grenze-Ausrichtung der RU-Rahmen mit den CU-Rahmen zu erreichen.

Bezugnehmend auf 54 ist dort ein Blockdiagramm eines synchronen TDMA-Systems gezeigt für ein bidirektionales Kommunizieren von digitalen Daten über jegliche Art von Transmissionsmedien, einschließlich von Hybrid-Faser-Koax unter Verwendung einer FDMA-Stromaufwärts- und Stromabwärts-Kanal-Trennung, um nicht mit anderen Diensten, wie beispielsweise einer Kabel-Fernseh-Programmierung zu interferieren, welche das HFC teilt. Das CU-Modem 1380 empfängt einen TDMA-Strom von Daten von Software-Ebenen eines höheren Niveaus, Peripherie-Einheiten oder anderen Schnittstellen, wie beispielsweise einer T1/E1-Leitung, und synchronisiert ihren eigenen Master-Takt 1384 von Signalen auf dem TDMA-Bus 1382, welche die Rahmen von Zeitschlitzen darauf definieren. Der TDMA-Strom auf dem Bus 1382 wird empfangen durch einen CU-TDMA-Sender 1386, welcher ebenso ein Master-Takt-Signal auf dem Bus 1388 empfängt, und ein Master-Träger-Referenzsignal auf dem Bus 1390 von einem Master-Träger-Referenz-Oszillator 1392. Der TDMA-Sender empfangt die Rahmen von Daten und moduliert die Daten von jedem Zeitschlitz von jedem Rahmen auf ein oder mehrere Trägersignale, die durch den Master-Träger-Oszillator 1392 geliefert werden unter Verwendung irgendeines Modulationsschemas, welches den Master-Takt- und ein Träger-Referenz-Signal zu dem RU-Modem entweder in-Band oder außerhalb-des-Bandes übertragen kann. Beispiele derartiger Modulationsschemata beinhalten QAM, QPSK, etc. Beispielsweise können einer oder mehrere Zeitschlitze für das Senden von Daten bestimmt sein, welche das Master-Takt-Signal und die Master-Träger-Referenz kodieren. Die modulierten RF-Signale werden auf Leitungen 1394 zu einem Aufwärts/Abwärts-Frequenzwandler 1396 ausgegeben, der die Frequenz davon in eine Stromabwärts-Frequenz umwandelt, die nicht mit anderen Diensten, welche das Übertragungsmedium 1398 teilen, interferieren wird, wie beispielsweise einer Kabel-TV-Programmierung, die in das Medium vom Bus 1400 zugeführt wird. Die Frequenz-umgewandelten Signale (eine Frequenzumwandlung ist optional, falls der Master-Träger in dem CU-Modem einen Träger erzeugen kann bei der gewünschten Stromabwärts-Frequenz, und der Stromaufwärts-Kanal irgendeine Frequenz sein kann, die auf die Stromabwärts-Frequenz synchronisiert werden kann, wie beispielsweise eine Harmonische) werden auf die Leitung 1402 ausgegeben. Ein RU-Modem 1404 empfängt die Stromabwärts-Daten auf der Leitung 1408. Ein TDMA-Empfänger, der mit Leitung 1406 gekoppelt ist, gewinnt die Master-Takt- und Master-Träger-Referenzsignale wieder unter Verwendung irgendeiner herkömmlichen Schaltung oder der Schaltung und der Verfahren, die hierin offenbart sind, und gibt das wiedergewonnene Taktsignal auf Leitung 1410 aus und gibt das wiedergewonnene Trägersignal auf Leitung 1412 aus. Die wiedergewonnenen Nutzdaten werden in einen TDMA-Datenstrom wieder zusammengesetzt und ausgegeben auf den Bus 1414 zu Peripherie-Einheiten oder anderen Schnittstellen-Prozessen.

Diese Peripherie-Einheiten oder andere Schnittstellen-Prozesse liefern einen TDMA-Eingangsdatenstrom auf dem Bus 1416 und zum RU-Synchron-TDMA-Sender 1418. Dieser Sender empfängt den wiedergewonnenen Takt und die wiedergewonnenen Trägersignale auf den Leitungen 1410 bzw. 1412 und organisiert synchron die TDMA-Eingangsdaten auf dem Bus 1416 in TDMA-Rahmen, welche dieselbe Dauer aufweisen wie die CU-Rahmen. Diese Rahmen werden dann auf ein oder mehrere Trägersignale moduliert unter Verwendung desselben oder eines anderen Modulationsschemas, das durch den CU-Sender verwendet wird, und die Rahmen modulierter RF-Signale werden zu der CU in Rahmen-Synchronisation mit der CU übertragen, d.h., die Rahmen werden von dem RU-Sender mit einer Übertragungsrahmen-Zeitgabe-Verzögerung übertragen, die für diese spezielle Position der RU eingestellt ist in dem System relativ zu der CU, derart, dass die Rahmen, die durch die RU übertragen werden, an der CU ausgerichtet mit den CU-Rahmengrenzen ankommen. Die Übertragungsrahmen-Zeitgabe-Verzögerungen aller RU-Modems in dem System sind für ihre speziellen Positionen auf dem Netzwerk so eingestellt, dass alle ihre Rahmen an der CU ausgerichtet mit den CU-Rahmengrenzen ankommen. Die modulierten RF-Daten, die durch den RU-TDMA-Sender 1418 ausgegeben werden, sind auf Leitung 1420 mit einem Aufwärts/Abwärts-Frequenzwandler 1422 gekoppelt, der so funktioniert, dass die Frequenz des Stromaufwärts-Kanals in eine Frequenz geändert wird, die weit genug entfernt von der Stromabwärts-Kanalfrequenz ist und von der Kabel-TV-Programmierung, so dass sie nicht damit interferiert. Die Stromaufwärts-Daten werden dann über die Leitung 1424 und das Übertragungsmedium zu einem CU-TDMA-Empfänger 1426 übertragen. Dieser Empfänger empfängt ein Master-Takt-Signal auf Leitung 1428 von dem Master-Takt-Oszillator 1348 und empfängt das Master-Träger-Signal auf Leitung 1430 von dem Master-Träger-Referenz-Oszillator der CU. Der CU-TDMA-Empfänger 1426 wiedergewinnt die Nutzdaten aus den modulierten Stromaufwärts-Signalen und setzt die Nutzdaten wieder zusammen in einen TDMA-Ausgangsdatenstrom auf den Bus 1432.

Die TDMA-Sender und -Empfänger in diesem System können herkömmlich sein, jedoch muss der RU-TDMA-Sender in der Lage sein, eine Übertragung seiner Rahmen zu verzögern um eine variable Übertragungsrahmen-Zeitgabe-Verzögerung, so dass seine Rahmen in Rahmen-Synchronisation mit den Rahmengrenzen der CU ankommen. Irgendein Bereichsbildungsprozess, der hierin beschrieben ist, oder irgendein anderer bekannter Bereichsbildungsprozess kann verwendet werden, um diese Rahmen-Synchronisation zu erreichen. Falls irgendeiner der hierin beschriebenen Klasse von Trial-and-Error-Prozessen verwendet wird, stellt ein Computer 1434 in dem RU-Modem eine anfängliche Übertragungsrahmen-Zeitgabe-Verzögerung entweder aus eigener Initiative oder wegen des Empfangs einer Bereichsbildung-Erbitten-Nachricht von der CU ein über einen Verwaltungs- und Steuerungsdatenpfad 1436 von dem Empfänger 1406. Dieser anfängliche Verzögerungswert wird zu dem RU-Sender über den Bus 1438 gesendet. Der CU-Empfänger assistiert bei dem Bereichsbildungsprozess durch Senden von Daten, die dazu in Bezug stehen, welche Signale von den RUs er in den Rahmenlücken gefunden hat, falls Lücken verwendet wurden, oder welche RU-Bereichsbildungssignale über das Rahmenintervall detektiert wurden, über den Bus 1440 zu einem Computer 1442. Der Computer sendet Rückkopplungs-Bereichsbildungsdaten zu der RU über den Bus 1444, der mit dem CU-Sender 1386 gekoppelt ist. In der Klasse von Bereichsbildungs-Ausführungsformen, bei welchen die CU den Bereichsbildungsprozess für die RU ausführt durch Bestimmen, um wie viel die RU ihren Bereichsbildungspuls bewegen muss, um eine Rahmen-Synchronisation zu erreichen, und durch Anweisen der RU auf diese Weise, trägt der Bus 1440 immer noch Daten, die in Bezug dazu stehen, welche Bereichsbildungspulse der RU-Empfänger gesehen hat, jedoch findet der Computer 1442 dann heraus, um wie viel die RU von ihrer Übertragungsrahmen-Zeitgabe-Verzögerung subtrahieren oder addieren muss, und sendet eine Nachricht über den Bus 1444 zu der RU, welche diese auf diese Weise instruiert. Diese Nachricht erreicht den Computer 1434 über den Bus 1436 und der Computer stellt die instruierte Verzögerung über den Bus 1438 ein. Andere Bereichsbildungsprozesse, die eine Rahmen-Synchronisation erreichen können als diejenigen, die hierin beschrieben wurden, werden ebenso ausreichend sein, um diese spezielle Ausführungsform zu praktizieren.

Alle hierin beschriebenen Sender-Ausführungsformen können einen aktiven Bandbreite-Verwaltungsprozess verwenden, der durch einen bidirektionalen Nachrichtenverkehr ausgeführt wird zwischen den Ferneinheiten und der Zentraleinheit über die Verwaltungs- und Steuerungskanäle. Ferneinheiten können mehr oder weniger Bandbreite anfordern oder können reservierte Bandbreite anfordern, und die Zentraleinheit kann Ferneinheits-Privilegien für eine Bandbreiten-Reservierung evaluieren, kollidierende Anforderungen nach reservierter oder nach mehr Bandbreite schlichten, und dann Bandbreite in Übereinstimmung mit den Ergebnissen zusprechen und Stromabwärts-Verwaltungs- und Steuerungsnachrichten senden, welche jeder Ferneinheit mitteilen, welche Codes zugeteilt wurden, um ihren Verkehr während welcher Rahmen zu tragen.


Anspruch[de]
Verfahren zum Übertragen multipler Kanäle digitaler Daten (266) über ein Transmissionsmedium (251) in einem verteilten Kommunikationssystem, aufweisend zumindest ein Zentraleinheit-Modem (252), das durch das Transmissionsmedium mit einer verteilten Mehrzahl von Ferneinheit-Modems (254, 256) gekoppelt ist, gekennzeichnet durch die Schritte:

– Durchführen eines Messprozesses, wobei ein Wert für eine Übertragungsrahmen-Zeitgabeverzögerung (Td) bestimmt wird durch eine Trial-and-Error-Einstellung eines Übertragungsrahmen-Zeitgabeverzögerungswertes individuell durch jedes Ferneinheit-Modem (254, 256), gefolgt von der Übertragung eines Mess-Signals und Wiederholen des Prozesses in Antwort auf Rückkopplungsnachrichten (186, 190, 198, 204) von dem Zentraleinheit-Modem, bis eine Nachricht erhalten wird, dass ein Mess-Signal während eines vorbestimmten Intervalls empfangen worden ist im Rahmen einer Zentraleinheit und dann Übertragen von Authentifikations-Übertragungen und, falls notwendig, wie angezeigt durch eine Nachricht von dem Zentraleinheit-Modem, Ausführen eines Konfliktauflösungsprotokolls, so dass Mess-Signale miteinander nicht interferieren, und Fortsetzen dieses Prozesses, bis ein Wert gefunden wurde für die Übertragungsrahmen-Zeitgabeverzögerung, was eine Grobrahmen-Synchronisierung bewirkt, resultierend in Mess-Signalen von einem einzigen der Ferneinheit-Modems, die an dem Zentraleinheit-Modem innerhalb eines vorbestimmten Intervalls in jedem Rahmen ankommen, gefolgt durch Bestimmen der Identität aus den Authentifikations-Übertragungen des einzelnen Ferneinheit-Modems, das die Mess-Signale übertragen hat, gefolgt von einem Durchführen eines Feinabstimmprozesses, wobei das Zentraleinheit-Modem das Intervall zwischen der Ankunftszeit eines Mess-Signals von dem bestimmten Ferneinheit-Modem misst, das so identifiziert wurde, und einer Referenzzeit in dem Rahmen, und eine Nachricht (202) an das Ferneinheit-Modem sendet, die es anweist, in welche Richtung und um wie viel der Übertragungsrahmen-Zeitgabeverzögerungswert anzupassen ist um zu bewirken, dass jedes Mess-Signal bei oder innerhalb einer Chip-Zeit einer gewünschten Referenzzeit in einem Rahmen an dem Zentraleinheit-Modem ankommt, und Wiederholen des Prozesses für jedes Ferneinheit-Modem mit Daten, die zu dem Zentraleinheit-Modem zu übertragen sind, um eine präzise Rahmen-Synchronisation für jedes Ferneinheit-Modem zu erhalten, ungeachtet der Position des Ferneinheit-Modems relativ zum Zentraleinheit-Modem, wobei Rahmen-Synchronisation definiert ist als eine Ausrichtung bezüglich der Zeit an der Zentraleinheit der Rahmengrenzen von Rahmen von Daten, die durch die Ferneinheit-Modems übertragen werden, ungeachtet der Positionen der Ferneinheit-Modems in dem verteilten Kommunikationssystem;

– Empfangen eines oder mehrerer Ströme (258, 260, 262) von digitalen Nutzdaten an jedem Ferneinheit-Modem;

– in zumindest einigen der Ferneinheit-Modems (254, 256) Bilden von Rahmen (Fn, Fn+1) von Daten für eine Übertragung zu dem Zentraleinheit-Modem durch Auswählen von Teilen der Nutzdaten von jedem Strom, der durch das Modem empfangen wurde und Organisieren der Teile als ein oder mehrere Elemente in einem Informationsvektor (481), der n Elemente (483) aufweist, wobei jedes der n Elemente einen Stromaufwärts-Kanal aufweist, so dass die Teile von Nutzdaten in zumindest einigen der Elemente des einen oder der mehreren Informationsvektoren gespeichert sind, die Stromaufwärts-Kanälen entsprechen, die dem Ferneinheit-Modem zugeteilt sind, und Bilden von zumindest einem Informationsvektor pro Stromaufwärts-Rahmen, wobei das Bilden von Rahmen den Schritt eines Einfügens von bekannten Präambel-Daten in zumindest einige der Elemente von zumindest einigen der Informationsvektoren beinhaltet, so dass die Präambel-Daten empfangen werden, bevor irgend welche Nutzdaten empfangen werden;

– in zumindest einigen der Ferneinheit-Modems Durchführen eines Code-Multiplexens durch Durchführen einer Matrix-Multiplikation von jedem Informationsvektor (B) mit einer Code-Matrix (C), die n orthogonale Spreizcodes (#1, #2) aufweist, wobei jeder Code n Elemente darin aufweist und die dazu verwendet werden, das Spektrum der in einem Stromaufwärts-Kanal übertragenen Daten zu spreizen, wobei jeder Kanal, der Daten darin aufweist, zumindest einen dazu zugeteilten Code aufweist, wobei die Matrix-Multiplikation einen Ergebnisvektor (R) erzeugt, der n Elemente für jeden Informationsvektor aufweist;

– Verwenden der n Elemente des einen oder der mehreren Ergebnisvektoren, die einen Datenrahmen in den Ferneinheit-Modems aufweisen, um die Informationen zu erzeugen, enthalten in einem oder mehreren Radiofrequenzträgern und Übertragen der resultierenden Radiofrequenzträger zu dem Zentraleinheit-Modem über das Übertragungsmedium.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt eines Empfangens eines oder mehrerer Ströme von digitalen Nutzdaten den Unterschritt aufweist von:

– Empfangen an jedem der Ferneinheit-Modems des einen oder der mehreren Ströme von digitalen Nutzdaten, organisiert als Zeitschlitze in einem Zeitmultiplex-Zugriffs-TDMA-Strom (266) mit multiplen Zeitschlitzen.
Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Zentraleinheit-Modem auch multiple Kanäle von digitalen Daten stromabwärts zu den Ferneinheit-Modems überträgt und zumindest einige der Kanäle von digitalen Daten sowohl in die Stromaufwärts-Richtung von den Ferneinheit-Modems zu dem Zentraleinheit-Modem als auch in die Stromabwärtsrichtung von dem Zentraleinheit-Modem zu den Ferneinheit-Modems für eine Verwendung durch die Modems für eine Übertragung von Management- und Steuerungsnachrichten bestimmt sind und das Verfahren des Weiteren die Schritte aufweist:

– Wenn ein Ferneinheit-Modem Kanäle benötigt, die ihm zugeteilt sind, um Daten zu dem Zentraleinheit-Modem zu übertragen, oder Kanäle benötigt, die ausschließlich für eine Verwendung durch dieses Ferneinheit-Modem zu allen Zeiten reserviert sind, oder mehr Kanäle benötigt als ihm momentan zugeteilt sind, um das Volumen von Daten zu behandeln, das das Ferneinheit-Modem zu dem Zentraleinheit-Modem zu übertragen hat, Übertragen einer Management- und Steuerungsnachricht zu dem Zentraleinheit-Modem, die die anfordernde Ferneinheit identifiziert, und Erzeugen einer Bandbreite-Anforderungsnachricht für eine Kanalzuteilung;

– Empfangen der Bandbreite-Anforderungsnachrichten in dem Zentraleinheit-Modem und Ausführen eines Prozesses eines Evaluierens von Privilegien der anfordernden Ferneinheit-Modems, Entscheiden, wie viel Bandbreite in Form von Kanalzuteilungen jedem anfordernden Ferneinheit-Modem zuzusprechen ist durch irgendeine Vergabeprozedur, und Vergeben von Kanälen und ausgewählten orthogonalen Spreizcodes, um die Daten der zugeteilten Kanäle auf ausgewählte Ferneinheit-Modems während ausgewählter Rahmen zu spreizen, und Übertragen von Stromabwärts-Management- und Steuerungsnachrichten zu den Ferneinheit-Modems einschließlich von Informationen, welche anzeigen, welche Kanäle jedem Ferneinheit-Modem zugeteilt worden sind und der orthogonalen Spreizcodes, die durch jedes Ferneinheit-Modem zu verwenden sind, um die Daten von den Kanälen, die jedem Ferneinheit-Modem zugeteilt sind, zu spreizen;

– Empfangen der Stromabwärts-Management- und -Steuerungsnachrichten, welche Kanal- und Code-Zuteilungen in jedem Ferneinheit-Modem angeben, und Durchführen der Matrix-Multiplikation, derart, dass Daten von den Kanälen, die dem Ferneinheit-Modem zugeteilt sind Code-gemultiplext werden unter Verwendung der richtigen zugeteilten Codes, um das Spektrum der Informationsvektoren zu spreizen, die aus Daten der zugeteilten Kanäle erzeugt sind.
Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt eines Durchführens eines Messprozesses, aufweisend die Schritte:

– Setzen eines ersten Wertes für die Übertragungsrahmen-Zeitgabeverzögerung in einem Ferneinheit-Modem, das den Messprozess durchführt, und Übertragen eines RU-Mess-Signals von dem Ferneinheit-Modem zu dem Zentraleinheit-Modem, wobei die Eigenschaften des RU-Mess-Signals dem Zentraleinheit-Modem bekannt sind, und das eine ausreichend starke Korrelationsspitze oder eine ausreichend große Stärke aufweist, um durch das Zentraleinheit-Modem über jedes Rauschen, das vorhanden ist, detektiert zu werden;

– Überwachen der gesamten Dauer eine Lücke, die jedem Zentraleinheit-Rahmen vorhergeht für das Auftreten des RU-Mess-Signals und falls ein einzelnes RU-Mess-Signal gefunden worden ist, Messen des Delta-Zeitintervalls zwischen dem Auftreten des RU-Mess-Signals und einer Referenzzeit relativ zu einer Zentraleinheit-Modem-Rahmengrenze;

– basierend auf dem Delta-Zeitintervall, das an dem Zentraleinheit-Modem gemessen wurde, Erzeugen und Übertragen der Ferneinheit-Modem-Management- und -Steuerungsdaten, die das Ferneinheit-Modem instruieren, um wie viel seine Übertragungsrahmen-Zeitgabeverzögerung zu verändern ist, so dass Ferneinheit-Rahmen bei dem Zentraleinheit-Modem zeitlich ausgerichtet exakt in dem Zentrum der Lücke (61) zwischen den Zentraleinheit-Rahmen ankommen.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt eines Empfangens von einem oder von mehreren Strömen von digitalen Nutzdaten den Schritt aufweist von:

– Empfangen an jedem der Ferneinheit-Modems des einen oder der mehreren Ströme von digitalen Nutzdaten, organisiert als Zeitschlitze in einem TDMA-Strom (266) mit multiplen Zeitschlitzen, wobei n Zeitschlitze einen Rahmen der digitalen Daten aufweisen;

– und des Weiteren gekennzeichnet durch den Schritt eines Empfangens eines zeit-gemultiplexten Stromes von digitalen Daten an dem Zentraleinheit-Modem und Einrichten von CU-Rahmengrenze-Zeitgabereferenzsignalen in dem Zentraleinheit-Modem von den Rahmengrenzen des TDMA-Stromes, empfangen an dem Zentraleinheit-Modem, und Bilden und Übertragen von Zentraleinheit-Rahmen von Daten, die gebildet sind aus Daten in dem TDMA-Strom, der an dem Zentraleinheit-Modem empfangen worden ist, zu den Ferneinheit-Modems, wobei jeder Rahmen durch eine Lücke getrennt ist, und Synchronisieren von Rahmenübertragungen von dem Zentraleinheit-Modem zu den Ferneinheit-Modems mit den CU-Rahmengrenze-Zeitgabereferenzsignalen und Übertragen an die Ferneinheit-Modems eines Rahmenmarkierungssignals, das entweder den Ferneinheit-Modems bekannt ist oder ein Signaltyp ist, der einfach detektiert werden kann über Stromabwärts-Nutzdateninterferenz durch die Ferneinheit-Modems, wobei dieses Rahmenmarkierungssignal während oder zwischen jedem Stromabwärtsrahmen übertragen wird, der durch das Zentraleinheit-Modem zu den Ferneinheit-Modems übertragen wird, wobei die Eigenschaften des Rahmenmarkierungssignals so sind, dass es leicht durch die Ferneinheit-Modems durch eine Korrelation von hereinkommenden Stromabwärtssignalen gegen das bekannte Rahmenmarkierungssignal-Muster detektiert werden kann, wobei das Rahmenmarkierungssignal in jedem Ferneinheit-Modem verwendet wird, um die Rahmengrenzen der Zentraleinheit-Modem-Stromabwärts-Rahmen zu bestimmen; und

– wobei der Schritt eines Bildens von Rahmen von Daten, wie er in jedem Ferneinheit-Modem ausgeführt wird, des Weiteren gekennzeichnet ist durch den Schritt eines Bildens eines Rahmens von Daten, der dieselbe Länge hat bezüglich der Zeit, wie ein Rahmen von Daten, der in dem Zentraleinheit-Modem gebildet worden ist.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Schritte eines Bildens von Rahmen, eines Code-Multiplexens und Verwenden der n Elemente des Ergebnisvektors, um den Informationsinhalt eines oder mehrerer Radiofrequenzträger zu erzeugen, des Weiteren die Schritte aufweist von:

– Teilen jedes der n Elemente von jedem Informationsvektor in einen Inphase- (409) und einen Quadraturteil (413);

– Durchführen eines Code-Multiplexens individuell auf jeden der Inphase- und Quadraturteile von jedem Element unter Verwendung derselben orthogonalen Spreizcode-Matrix (407), um Inphase- (409) und Quadratur-Ergebnisvektoren zu erzeugen;

– Filtern der digitalen Daten der Inphase- und Quadratur-Ergebnisvektoren unter Verwendung von Inphase- und Quadratur-Formungsfiltern (421, 423, 570, 1134, 1136), von welchen jeder eine Transferfunktion aufweist, welche die Nyquist-Kriterien erfüllt und welche die Bandbreite des Fourier-Spektrums der resultierenden gefilterten Daten auf eine vorbestimmte Bandbreite und Zentralfrequenz des Bandpasses begrenzt, ausgewählt, um nicht mit den anderen Diensten zu interferieren, wobei die Transferfunktion eines der Formungsfilter die Hilbert-Transformierte der Transferfunktion der anderen der Formungsfilter ist, so dass das Fourier-Spektrum der gefilterten Daten, die von dem Inphase-Formungsfilter ausgegeben wird, orthogonal ist in dem Frequenzbereich mit dem Fourier-Spektrum der gefilterten Daten, die von dem Quadratur-Formungsfilter ausgegeben werden;

– und Summieren der digitalen Daten der gefilterten Inphase- und Quadratur-Ergebnisvektoren und Erzeugen von zumindest einer Radiofrequenzträger-Komponente zum Übertragen durch Durchführen einer Digital-zu-Analog-Umwandlung der summierten Daten.
Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der eine oder die mehreren Ströme von digitalen Nutzdaten stromaufwärts von einer Mehrzahl von Ferneinheit-Modems übertragen werden, die durch das Übertragungsmedium mit einem Zentraleinheit-Modem über das Übertragungsmedium eines Kabelfernsehsystems gekoppelt sind, wobei die Bandbreite und Frequenz des Radiofrequenzträgers, erzeugt durch die Filter- und Erzeugungsschritte, ausgewählt werden, um nicht mit einer Kabelfernsehprogrammierung zu interferieren, die gleichzeitig über das Übertragungsmedium geliefert wird, und wobei Formungsfilter sowohl in der Stromaufwärts- als auch Stromabwärts-Richtung verwendet werden, um die Bandbreite von Übertragungen in beide Richtungen auf einen 6 MHz-Kanal zu begrenzen, der Zentralfrequenzen aufweist, die weit genug getrennt sind, um ein Frequenzmultiplexen zwischen Stromaufwärts- und Stromabwärts-Übertragungsrichtungen zu implementieren, und wobei die Zentralfrequenz für Stromabwärts-Datenübertragungen auch so gewählt wird, um nicht mit Kabelfernsehsignalen zu interferieren, die simultan über das Transmissionsmedium geliefert werden. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der in den Ferneinheit-Modems ausgeführte Schritt eines Auswählens von Teilen von Digitaldaten von jedem Kanal und eines Organisierens der Teile als einen oder mehrere Informationsvektoren den Schritt aufweist:

– Organisieren von Daten, die stromaufwärts zu senden sind in M Informationsvektoren, wobei M zwei oder mehr ist, wobei N auch die Anzahl von Zeitschlitzen in jedem Rahmen des TDMA-Stroms ist und wobei jeder Zeitschlitz eine Mehrzahl von Bits enthält, wobei der Schritt eines Organisierens von Daten, die stromaufwärts zu senden sind, in M Informationsvektoren ein Verschränken eines Teils der Bits jedes Zeitschlitzes des TDMA-Stroms in die Elemente jedes der M Informationsvektoren aufweist, die Kanälen entsprechen, die dem Ferneinheit-Modem zugeteilt sind, und für alle Kanäle, die dem Ferneinheit-Modem nicht zugeteilt sind, das entsprechende der N Elemente des Informationsvektors alles Nullen sind.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Schritt eines Durchführens eines Code-Multiplexens die Schritte eines Verwendens des Spreizcodes, der momentan jedem Kanal zugeteilt ist, der für eine Verwendung dem Ferneinheit-Modem zugeteilt worden ist für ein Code-Multiplexen der Stromaufwärts-Daten dieses Ferneinheit-Modems während eines oder mehrerer Rahmen, und während eines oder mehrerer nachfolgender Rahmen, Implementieren von Code-Vielfalt durch Verändern des einen oder der mehreren Spreizcodes, die dem einen oder den mehreren Kanälen zugeteilt sind, die dem Ferneinheit-Modem zur Verwendung zugeteilt sind, aufweist. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der Schritt eines Änderns der orthogonalen Codes, die jedem zugeteilten Kanal zugeteilt sind während nachfolgender Rahmen die Schritte aufweist:

– Übertragen von Bandbreite-Anforderungsnachrichten von Ferneinheit-Modems, die mehr oder weniger Kanäle benötigen, die diesen zugeteilt sind, um ihre Digitaldatenübertragungen zu behandeln;

– Empfangen von Bandbreite-Anforderungsnachrichten an dem Zentraleinheit-Modem und Vergeben von verfügbaren Kanälen an die Ferneinheit-Modems durch irgendeine Methodik eines Vergebens von Bandbreite;

– Zuteilen von orthogonalen Spreizcodes, pseudo-zufällig oder durch irgendeine andere Methodik für ein Verwenden beim Code-Multiplexen von jedem Kanal, der einem Ferneinheit-Modem zugeteilt ist;

– Senden stromabwärts von Bandbreite-Vergabenachrichten von dem Zentraleinheit-Modem zu den Ferneinheit-Modems, die diesen mitteilen, welche Kanäle und Codes diesen für eine Verwendung zugeteilt sind.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das Zentraleinheit-Modem auch multiple Kanäle von digitalen Daten stromabwärts zu den Ferneinheit-Modems überträgt, wobei zumindest einige der Kanäle der digitalen Daten sowohl in der Stromaufwärts-Richtung von den Ferneinheit-Modems zu dem Zentraleinheit-Modem als auch in der Stromabwärts-Richtung von dem Zentraleinheit-Modem zu den Ferneinheit-Modems für eine Verwendung durch die Modems für eine Übertragung von Management- und Steuerungsdaten bestimmt sind, und das Verfahren des Weiteren die folgenden Schritte aufweist:

– wenn ein Ferneinheit-Modem Kanäle benötigt, die ihm zugeteilt sind, um Daten zu dem Zentraleinheit-Modem zu übertragen, oder Kanäle benötigt, die nur für eine Verwendung durch dieses Ferneinheit-Modem zu allen Zeiten reserviert sind, oder mehr Kanäle benötigt, als ihm momentan zugeteilt sind, um das Datenvolumen zu behandeln, das das Ferneinheit-Modem zu dem Zentraleinheit-Modem zu übertragen hat, Übertragen einer Management- und Steuerungsnachricht zu dem Zentraleinheit-Modem, welche die anfordernde Ferneinheit identifiziert und Ausführen einer Bandbreite-Anforderungsnachricht für eine Kanalzuteilung;

– Empfangen der Bandbreite-Anforderungsnachrichten in dem Zentraleinheit-Modem und Ausführen eines Prozesses eines Evaluierens von Privilegien der anfordernden Ferneinheit-Modems, Entscheiden wie viel Bandbreite in Form von Kanalzuteilungen jedem anfordernden Ferneinheit-Modem zuzusprechen sind durch irgendeine Vergabeprozedur, und Vergeben von Kanälen und ausgewählten orthogonalen Spreizcodes, um die Daten der zugeteilten Kanäle, die den ausgewählten Ferneinheit-Modems zugesprochen sind, zu spreizen während ausgewählter Rahmen, und Übertragen von Stromabwärts-Management- und Steuerungsnachrichten zu den Ferneinheit-Modems einschließlich von Informationen, die anzeigen, welche Kanäle jedem Ferneinheit-Modem zugeteilt worden sind, und der orthogonalen Spreizcodes, die durch jedes Ferneinheit-Modem zu verwenden sind, um die Daten von den Kanälen, die jedem Ferneinheit-Modem zugeteilt sind, zu spreizen;

– Empfangen der Stromabwärts-Management- und Steuerungsnachrichten, welche Kanal- und Code-Zuteilungen in jedem Ferneinheit-Modem angeben, und Durchführen der Matrixmultiplikation, so dass Daten von den Kanälen, die diesem Ferneinheit-Modem zugewiesen sind, Code-gemultiplext werden unter Verwendung der richtigen zugeteilten Codes, um das Spektrum der Informationsvektoren zu spreizen.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Schritt eines Bildens von Rahmen von Daten in dem Zentraleinheit-Modem zum Übertragen zu den Ferneinheit-Modems die Schritte eines Bildens von Informationsvektoren von Daten in dem TDMA-Eingangs-Strom und eines Code-Multiplexens der Daten in den Informationsvektoren durch eine Matrix-Multiplikation mit einer Codematrix von orthogonalen Spreizcodes beinhaltet, um einen oder mehrere Ergebnisvektoren für jeden Informationsvektor zu erzeugen, und eines Verwendens der Information in den Ergebnisvektoren, um den Informationsinhalt in einem oder mehreren Radiofrequenz-Stromabwärtsträgern zu steuern und eines Übertragens des einen oder der mehreren Radiofrequenzträger auf den Übertragungsmedien. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass alle Spreizcodes zyklische Codes sind und dass das Verfahren, nachdem das Messverfahren abgeschlossen ist und vor einem Übertragen irgend welcher Nutzdaten stromaufwärts zu dem Zentraleinheit-Modem, des Weiteren die Schritte aufweist:

– Durchführen eines Trainingsprozesses, um die Qualität der Rahmen-Synchronisation jedes Ferneinheit-Modems zu verifizieren durch Herausgreifen eines bestimmten einer Mehrzahl von orthogonalen benachbarten zyklischen Spreizcodes, die für ein Training verwendet worden sind und dem Zentraleinheit-Modem bekannt sind, zum Verwenden für ein Training und Übertragen irgendwelcher binärer Trainingsdaten auf dem ausgewählten Code unter Verwendung einer BPSK-Modulation, und Korrelieren der empfangenen Trainingsdaten in einem Zentraleinheit-Modem-Codedemultiplex-Empfänger gegen jeden der Mehrzahl von vorbestimmten orthogonalen benachbarten zyklischen Spreizcodes, die für das Training verwendet worden sind, und Bestimmen, ob die Trainingsdaten richtig demultiplext worden sind auf dem vorbestimmten der Spreizcodes, den der Ferneinheit-Modem-Sender verwendet hat, um die Trainingsdaten zu übertragen, oder auf einem der anderen Trainingscodes, und, falls die Trainingsdaten auf einem anderen Trainingscode als dem bestimmten der Trainingscodes, die verwendet wurden, um die Trainingsdaten zu spreizen, herauskam, Einstellen des Wertes der Übertragungsrahmen-Zeitgabeverzögerung für das Ferneinheit-Modem, das die Trainingsdaten übertragen hat durch Bestimmen der Menge einer Versetzung in Chips von der Referenzzeit, und Senden einer Stromabwärts-Nachricht, die anzeigt, um wie viele Chips die Übertragungsrahmen-Zeitgabeverzögerung einzustellen ist, und ein Wiederholen des Prozesses eines Übertragens der Trainingsdaten und eines Einstellens der Übertragungsrahmen-Zeitgabeverzögerung, bis die Trainingsdaten auf den korrekten, vorbestimmten der Spreizcodes, die für ein Training verwendet worden sind, herauskommen; und

– Wiederholen des Trainingsprozesses für alle anderen Ferneinheit-Modems;

– Durchführen eines Stromaufwärts-Leistungsausrichtungsprozesses durch Setzen der Verstärkung eines Ferneinheit-Modem-Senders auf einen nominalen Wert, und wiederholtes Übertragen von Trainingsdaten auf einem vorbestimmten orthogonalen Spreizcode, der für ein Training verwendet wird, und Setzen eines Verstärkungspegels eines Code-Demultiplex-Empfängers in dem Zentraleinheit-Modem auf ein Verstärkungspegel, das von einem Speicherplatz wiedergewonnen wurde, der einen Verstärkungswert speichert, der für ein Empfangen von Übertragungen verwendet wird, die durch den vorbestimmten Spreizcode gespreizt sind, und Empfangen von jeder Wiederholung der wiederholt übertragenen Trainingsdaten in dem Empfänger und Anpassen eines Verstärkungspegels in dem Empfänger über eine Anzahl von Wiederholungen von Trainingsdaten-Übertragungen durch Ausführen einer Verstärkungseinstellung in dem Zentraleinheit-Modem nach jeder Wiederholung, bis ein Verstärkungspegel erreicht worden ist, das die Fehler im Empfang der bekannten Trainingsdaten minimiert, und Lesen des finalen Verstärkungspegels in dem Empfänger, das die Fehler minimiert hat, und Senden des Verstärkungspegels zu dem Ferneinheit-Sender, um es darin in einem verstärkungsgesteuerten Verstärker zu setzen, und Setzen des Verstärkungswertes, der durch den Zentraleinheit-Modem-Empfänger zu verwenden ist beim Empfangen von Daten von diesem speziellen Ferneinheit-Modem auf den Verstärkungswert, der durch das Ferneinheit-Modem verwendet wurde, um die Trainingsdaten während des Leistungsausrichtungsprozesses zu übertragen;

– Wiederholen des oben beschriebenen Leistungsausrichtungsprozesses für alle Ferneinheit-Modems;

– Durchführen eines Stromabwärts-Entzerrungssprozesses durch Senden einer Nachricht von dem Zentraleinheit-Modem zu einem Ferneinheit-Modem, das es auffordert, Trainingsdaten zu dem Zentraleinheit-Modem in einer Mehrzahl von Wiederholungen auf einer Mehrzahl von Kanälen unter Verwendung einer Mehrzahl von vorbestimmten orthogonalen, benachbarten zyklischen Spreizcodes zu übertragen, die für ein Training verwendet werden und dem Zentraleinheit-Modem bekannt sind, und Empfangen der Trainingsdaten in einem Code-Demultiplex-Empfänger des Zentraleinheit-Modems in multiplen Wiederholungen, und Einstellen der Abgriffsgewichtungs-Koeffizienten einer Entzerrerschaltung in dem Empfänger, bis sie konvergieren und Empfangsfehler auf einen akzeptablen Pegel fallen, und Senden der finalen Abgriffsgewichtungs-Koeffizienten von dem Zentraleinheit-Modem-Empfänger zu dem Ferneinheit-Modem-Sender, und Verwenden dieser Abgriffsgewichtungs-Koeffizienten als die Abgriffsgewichtungs-Koeffizienten eines Vorcode-Filters in dem Ferneinheit-Modem-Sender für nachfolgende Übertragungen, und Setzen der Abgriffsgewichtungs-Koeffizienten der Entzerrungsschaltung in dem Zentraleinheit-Modem-Empfänger, der beim Empfangen von Daten von dem bestimmten Ferneinheit-Modem zu verwenden ist, auf nominale Werte; und

– Wiederholen des Stromaufwärts-Entzerrungsprozesses für alle anderen Ferneinheit-Modems;

– Durchführen eines Stromabwärts-Entzerrungsprozesses durch Übertragen von Entzerrungs-Trainingsdaten simultan an alle Ferneinheit-Modems auf einer Mehrzahl von verschiedenen Kanälen, gespreizt unter Verwendung einer Mehrzahl von benachbarten, orthogonalen zyklischen Spreizcodes, die den Ferneinheit-Modems bekannt sind, und Empfangen der Entzerrungs-Trainingsdaten in jedem der Ferneinheit-Modems und ermöglicht Abgriffsgewichtungs-Koeffizienten eines ersten FFE-Entzerrungsfilters und eines ersten DFE-Entzerrungsfilters über eine Anzahl von Wiederholungen auf richtige Gewichtungen zu konvergieren, um die Anzahl von Empfangsfehlern zu minimieren, und nach einer Konvergenz, Verwenden der Abgriffsgewichtungen, auf welche hin die ersten FFE- und DFE-Filter konvergiert haben als die Abgriffsgewichtungen der zweiten FFE- und DFE-Filter, die sich anderswo in den Ferneinheit-Empfängern stromabwärts der ersten FFE- und DFE-Filter befinden, und Setzen der Abgriffsgewichtungs-Koeffizienten der ersten FFE- und DFE-Filter auf Initialisierungswerte.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Spreizcodes zyklisch sind, und dass es des Weiteren den Schritt aufweist eines Durchführens, vor einer Übertragung irgendwelcher Rahmen von Daten in die Stromaufwärts-Richtung von einem Ferneinheit-Modem und nach dem Messprozesss, eines Trainingsprozesses für das Ferneinheit-Modem durch Durchführen der folgenden Schritte:

– Prüfen der Genauigkeit der Rahmen-Synchronisation, die durch den Messprozesss bestimmt wurde für jedes Ferneinheit-Modem durch Verwenden eines vorbestimmten orthogonalen Spreizcodes, um eine Trainingssequenz von Daten zu dem Zentraleinheit-Modem zu schicken, und Korrelieren der empfangenen Daten gegen den vorbestimmten orthogonalen Spreizcode in dem Zentraleinheit-Modem und gegen eine vorbestimmte Zahl von benachbarten zyklischen Spreizcodes, die dem Zentraleinheit-Modem bekannt sind, um zu bestimmen, wie viel Übersprechen zwischen den Codes besteht, und, falls Übersprechen für irgendein Ferneinheit-Modem besteht, Einstellen der Übertragungsrahmen-Zeitgabeverzögerung für das Modem, um eine Rahmen-Synchronisation zu erreichen;

– Einstellen des Leistungsniveaus von Übertragungen von jedem Ferneinheit-Modem, so dass die Trainingsfrequenzdaten, die durch das Ferneinheit-Modem übertragen werden, durch das Zentraleinheit-Modem detektiert werden mit einer akzeptierbar geringeren Fehlerrate, und Empfangen durch das Zentraleinheit-Modem bei ungefähr demselben Leistungspegel wie Übertragungen von anderen Ferneinheit-Modems;

– Senden von Trainingssequenzdaten zu dem Zentraleinheit-Modem von jedem Ferneinheit-Modem unter Verwendung jedes von einer Mehrzahl von verschiedenen benachbarten orthogonalen Spreizcodes;

– Einstellen von Abgriffsgewichtungs-Koeffizienten von einer oder mehreren adaptiven Entzerrerschaltungen in einem Empfänger in dem Zentraleinheit-Modem, um Detektionsfehler über eine Mehrzahl von Iterationen von Senden der Trainingssequenzdaten zu dem Zentraleinheit-Modem zu minimieren, und wenn Detektionsfehler nach einer Mehrzahl von Iterationen minimiert worden sind, Senden der endgültigen Abgriffsgewichtungs-Koeffizienten für eine Verwendung als die Abgriffsgewichtungs-Koeffizienten für einen adaptiven Vorcode-Filter in dem Ferneinheit-Modem und Setzen der Abgriffsgewichtungs-Koeffizienten des adaptiven Entzerrers in dem Empfänger des Zentraleinheit-Modems auf nominale Werte.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Prozess eines Erhaltens einer Grobrahmen-Synchronisation des Weiteren die Schritte aufweist:

a) Übertragen eines Triggersignals von dem Zentraleinheit-Modem zu den Ferneinheit-Modems während jedes stromabwärts übertragenen Rahmens;

b) in jedem Ferneinheit-Modem Durchführen des Schritts eines Detektierens, wann jeder Zentraleinheitrahmen ankommt durch Detektieren des Triggersignals, das durch das Zentraleinheit-Modem übertragen wird, um eine Empfangsrahmen-Zeitgabereferenz herzustellen, die anzeigt, wann ein Zentraleinheitrahmen angekommen ist;

c) in einem Ferneinheit-Modem, das den Messprozesss durchführt, Setzen eines Trial-and-Error-Wertes für den Übertragungsrahmen-Zeitgabeverzögerungswert und Auferlegen der Übertragungsrahmen-Zeitgabeverzögerung zwischen der Ankunftszeit des Triggersignals von dem Zentraleinheit-Modem und einer Übertragung eines RU-Mess-Signals zurück zu dem Zentraleinheit-Modem;

d) in dem Zentraleinheit-Modem Überwachen jeder Zentraleinheitrahmen-Lücke für den Empfang des RU-Mess-Signals und Erzeugen einer Management- und Steuerungsdaten-Nachricht für eine Übertragung zu dem Ferneinheit-Modem, die anzeigt, ob das RU-Mess-Signal während einer Zentraleinheitrahmen-Lücke empfangen wurde;

e) in jedem Ferneinheit-Modem, das den Messprozesss durchführt, Empfangen der Management- und Steuerungsnachricht und Bestimmen, ob das RU-Mess-Signal an dem Zentraleinheit-Modem während einer Zentraleinheitrahmen-Lücke angekommen ist und, falls nicht, Setzen eines neuen Wertes für die Übertragungsrahmen-Zeitgabeverzögerung;

f) Wiederholen der Schritte a) bis e), bis die Management- und Steuerungsnachricht anzeigt, dass das RU-Mess-Signal an dem Zentraleinheit-Modem in einer Lücke in einem Zentraleinheitrahmen angekommen ist.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Vermessungsschritt des Weiteren die Schritte aufweist:

a) Übertragen eines Barker-Codesignals als Rahmenmarkierungssignal von dem Zentraleinheit-Modem zu den Ferneinheit-Modems während der Lücke zwischen jedem Zentraleinheitrahmen, der stromabwärts übertragen wurde, und Kodieren eines Master-Chiptaktes des Zentraleinheit-Modems in dem Barker-Code;

b) in jedem Ferneinheit-Modem Durchführen des Schrittes eines Detektierens, wann jeder Zentraleinheitrahmen ankommt durch Detektieren des Barker-Codesignals, das durch das Zentraleinheit-Modem übertragen wird, um eine Empfangsrahmen-Zeitgabereferenz zu definieren, die anzeigt, wann ein Zentraleinheitrahmen angekommen ist, und Wiedergewinnen des Master-Chiptaktes aus dem Barker-Code und Verwenden des Master-Chiptaktes für ein Stromaufwärts-Code-Multiplexen;

c) in jedem Ferneinheit-Modem, das den Messprozesss durchführt, Setzen eines Trial-and-Error-Wertes für den Übertragungsrahmen-Zeitgabeverzögerungswert und Auferlegen der Übertragungsrahmen-Zeitgabeverzögerung zwischen der Ankunftszeit des Barker-Codesignals von dem Zentraleinheit-Modem an dem Ferneinheit-Modem und der Übertragung eines RU-Mess-Signals zurück zum Zentraleinheit-Modem von dem Ferneinheit-Modem, wobei das RU-Mess-Signal für alle Ferneinheit-Modems gemeinsam ist;

d) in dem Zentraleinheit-Modem Überwachen jeder Zentraleinheitrahmen-Lücke für den Empfang eines RU-Mess-Signals und Erzeugen einer Management- und Steuerungsdatennachricht für eine Übertragung zu den Ferneinheit-Modems, die anzeigt, ob irgendein RU-Mess-Signal während einer Zentraleinheitrahmen-Lücke empfangen wurde;

e) in jedem Ferneinheit-Modem, das den Messprozesss durchführt, Empfangen der Management- und Steuerungsnachricht, und Bestimmen, ob ein RU-Mess-Signal an dem Zentraleinheit-Modem angekommen ist während einer Zentraleinheitrahmen-Lücke und, falls nicht, Setzen eines neuen Wertes für die Übertragungsrahmen-Zeitgabeverzögerung;

f) Wiederholen der Schritte a) bis e), bis die Übertragungsrahmen-Zeitgabeverzögerung angepasst ist, so dass das RU-Mess-Signal während einer Zentraleinheitrahmen-Lücke ankommt, und Erzeugen und Übertragen zu den Ferneinheiten einer Management- und Steuerungsnachricht, die anzeigt, dass zumindest ein RU-Mess-Signal an dem Zentraleinheit-Modem in einer Lücke in einem Zentraleinheitrahmen angekommen ist, und Auffordern aller Ferneinheit-Modems, die eine Vermessung durchführen, ihre Authentifikations-Sequenzen zu senden;

g) Übertragen von jeder Ferneinheit, die einen RU-Vermessungsimpuls übertragen hat, einer Authentifikations-Sequenz, die eine Übertragung von m/2 RU-Mess-Signalen umfasst, die eindeutig gespreizt sind unter m Zentraleinheit-Modem-Rahmenlücken eines Authentifikations-Intervalls, wobei m eine gerade Zahl ist;

h) Überwachen der Zentraleinheitrahmen-Lücken, um zu bestimmen ob mehr als m/2 RU-Mess-Signale während m Zentraleinheitrahmen des Authentifikations-Intervalls angekommen sind, das der Anforderung folgt, Authentifikations-Sequenzen zu senden;

i) falls nur m/2 RU-Mess-Signale angekommen sind, Identifizieren des Ferneinheit-Modems, das die m/2 Mess-Signale übertragen hat, durch Prüfen der Sequenz der m/2 RU-Mess-Signale innerhalb der m Zentraleinheitrahmen-Lücken, innerhalb derer sie angekommen sind, und Übertragen einer ID-Management- und Steuerungsnachricht, die die so bestimmte Identität anzeigt;

j) in jedem Ferneinheit-Modem, das diesen Messprozesss ausführt, Prüfen der Management- und Steuerungsnachricht, um zu bestimmen, ob die Identität des Ferneinheit-Modems in der Management- und Steuerungsnachricht ist;

k) Feineinstellen der Übertragungsrahmen-Zeitgabeverzögerung des Ferneinheit-Modems, dessen Identität in der ID-Management- und Steuerungsnachricht beinhaltet ist, so dass die RU-Mess-Signale, die durch das Ferneinheit-Modem übertragen wurden, in der Mitte der Zentraleinheitrahmen-Lücken ankommen;

l) falls in Schritt h) das Zentraleinheit-Modem bestimmt, das mehr als m/2 RU-Mess-Signale angekommen sind, Erzeugen und Übertragen an alle Ferneinheiten einer Management- und Steuerungsnachricht, die alle Ferneinheit-Modems, welche Messprozesse ausführen, auffordert, Kollisionsauflösungs-Prozesse auszuführen;

m) in jedem Ferneinheit-Modem, das das Kollisionsauflösungs-Protokoll ausführt, Ausführen einer Zufalls-Ja/Nein-Entscheidung mit Bezug dazu, ob der Messprozesss fortzuführen ist;

n) Wiederübertragen von jedem Ferneinheit-Modem, das entschieden hat, den Messprozesss fortzuführen, der Authentifikations-Sequenz, die für das Ferneinheit-Modem einmalig ist;

o) Überwachen der Zentraleinheitrahmen-Lücken, um zu bestimmen, ob mehr als m/2 RU-Mess-Signale während Zentraleinheitrahmen-Lücken angekommen sind, welche die Authentifikations-Sequenz-Rahmen überspannen, die durch die Ferneinheit-Modems übertragen wurden, welche noch vermessen;

p) falls mehr als m/2 Mess-Signale gefunden worden sind, Erzeugen und Übertragen zu den Ferneinheit-Modems einer Management- und Steuerungsnachricht, die dies anzeigt, und Wiederholen der Schritte m) bis o), bis nur m/2 RU-Mess-Signale in den Zentraleinheitrahmen-Lücken gefunden worden sind, die das Authentifikations-Intervall überspannen, oder keine RU-Mess-Signale in den Zentraleinheitrahmen-Lücken gefunden worden sind, die das Authentifikations-Intervall überspannen;

q) falls in Schritt o) oder p) nur m/2 RU-Mess-Signale gefunden worden sind in den Zentraleinheitrahmen-Lücken, die das Authentifikations-Intervall überspannen, Identifizieren des Ferneinheit-Modems, das seine RU-Mess-Signale in den Zentraleinheitrahmen-Lücken hat, die das Authentifikations-Intervall überspannen, und Feinabstimmen der Übertragungsrahmen-Zeitgabeverzögerung davon, so dass die RU-Mess-Signale in den Mitten der Zentraleinheitrahmen-Lücken ankommen;

r) falls in Schritt o) oder p) keine RU-Mess-Signale gefunden worden sind in den Zentraleinheitrahmen-Lücken, die das Authentifikations-Intervall überspannen, Erzeugen und Übertragen einer Management- und Steuerungsnachricht zu allen Ferneinheit-Modems, die den Messprozesss durchgeführt haben, um ihre Kollisionsauflösungsprozesse wiederauszuführen;

s) in allen Ferneinheit-Modems, die die Messprozesse durchgeführt haben, und in dem Zentraleinheit-Modem Wiederholen der Schritte m) bis r), bis nur m/2 RU-Mess-Signale in den Zentraleinheitrahmen-Lücken gefunden worden sind, die das Authentifikations-Intervall überspannen, oder mehr als eine vorbestimmte Anzahl von Iterationen der Schritte m) bis r) durchgeführt worden sind;

t) falls mehr als die vorbestimmte Anzahl von Iterationen der Schritte m) bis r) durchgeführt worden sind, Wiederholen der Schritte a) bis s), bis nur eine Authentifikations-Sequenz eines Ferneinheit-Modems in den Zentraleinheitrahmen-Lücken gefunden worden ist und die Übertragungsrahmen-Zeitgabeverzögerung jener Ferneinheit feinabgestimmt ist;

u) Wiederholen der Schritte a) bis s), bis alle Ferneinheit-Modems, die den Messprozesss durchführen müssen, erfolgreich den Messprozesss abgeschlossen haben und ihre Übertragungsrahmen-Zeitgabeverzögerung feinabgestimmt haben.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Zentraleinheit-Modem auch multiple Kanäle von digitalen Daten stromabwärts der Ferneinheit-Modems überträgt, wobei zumindest einige der Kanäle von digitalen Daten sowohl in der Stromaufwärts-Richtung von den Ferneinheit-Modems zu dem Zentraleinheit-Modem als auch in der Stromabwärtsrichtung von dem Zentraleinheit-Modem zu den Ferneinheit-Modems bestimmt sind für eine Verwendung durch die Modems für eine Übertragung von Management- und Steuerungsnachrichten, und das Verfahren des Weiteren die Schritte aufweist:

– wenn ein Ferneinheit-Modem Kanäle benötigt, die ihm zugeordnet sind, um Daten zu dem Zentraleinheit-Modem zu übertragen, oder Kanäle benötigt, die ausschließlich für eine Verwendung durch dieses Ferneinheit-Modem zu allen Zeiten bestimmt sind, oder mehr Kanäle benötigt als ihm momentan zugeteilt sind, um das Volumen von Daten zu behandeln, die das Ferneinheit-Modem zu dem Zentraleinheit-Modem übertragen muss, Übertragen einer Management- und Steuerungsnachricht zu dem Zentraleinheit-Modem, das die anfordernde Ferneinheit identifiziert, und Durchführen einer Bandbreiteanfrage-Nachricht für eine Kanalzuteilung;

– Empfangen der Bandbreiteanfrage-Nachrichten in dem Zentraleinheit-Modem und Ausführen eines Prozesses eines Evaluierens von Privilegien der anfragenden Ferneinheit-Modems, Entscheiden, wie viel Bandbreite in Form von Kanalzuteilungen jedem anfordernden Ferneinheit-Modem zuzusprechen ist durch irgendeine Vergabeprozedur, und Vergeben von Kanälen und ausgewählten orthogonalen Spreizcodes, um die Daten der zugeteilten Kanäle zu ausgewählten Ferneinheit-Modems zu spreizen während ausgewählter Rahmen, und Übertragen von Stromabwärts-Management- und Steuerungsnachrichten zu den Ferneinheit-Modems, die Information beinhalten, die anzeigt, welche Kanäle jedem Ferneinheit-Modem zugeteilt worden sind, und der orthogonalen Spreizcodes, die durch jedes Ferneinheit-Modem zu verwenden sind, um die Daten von den Kanälen, die jedem Ferneinheit-Modem zugeteilt sind, zu spreizen;

– Empfangen der Stromabwärts-Management- und Steuerungsnachrichten, die Kanal- und Code-Zuteilungen in jedem Ferneinheit-Modem geben, und Durchführen der Matrix-Multiplikation, so dass Daten von den Kanälen, die diesem Ferneinheit-Modem zugeteilt sind, code-gemultiplext werden unter Verwendung der richtigen zugeteilten Codes, um das Spektrum der Informationsvektoren zu spreizen, die aus Daten von den zugeteilten Kanälen erzeugt worden sind.
Verfahren nach Anspruch 1, gekennzeichnet durch den weiteren Schritt eines Auferlegens des Übertragungsrahmen-Zeitgabeverzögerungswertes (326) vor einem Lesen der Elemente des ersten Informationsvektors aus einem Speicher und Matrix-Multiplizieren des ersten Informationsvektors mit der Code-Matrix derart, dass eine Übertragung der Radiofrequenzträger in einer Rahmen-Synchronisation an dem Zentraleinheit-Modem für jedes Ferneinheit-Modem resultiert. Verfahren nach irgend einem der Ansprüche 1–3, 5–12 oder 17–18, des Weiteren gekennzeichnet durch die Schritte eines Durchführens eines Stromaufwärts-Trainingsprozesses, der die Schritte aufweist:

– Durchführen eines Stromaufwärts-Leistungsausrichtungsprozesses durch Setzen der Verstärkung eines Ferneinheit-Modem-Senders auf einen Nominalwert und wiederholt Übertragen von Trainingsdaten auf einen vorbestimmten Spreizcode, der für ein Training verwendet wird, und Setzen eines Verstärkungspegels eines Code-Demutiplexier-Empfängers in dem Zentraleinheit-Modem auf einen vorbestimmten Verstärkungspegel, der von einem Speicherplatz gewonnen wurde, und Empfangen jeder Iteration der wiederholt übertragenen Trainingsdaten in dem Zentraleinheit-Modem-Empfänger und Anpassen eines Verstärkungspegels in dem Empfänger über eine Anzahl von Iterationen von Trainingsdaten-Übertragungen, bis ein Verstärkungspegel erreicht worden ist, der die Fehler beim Empfang der bekannten Trainingsdaten minimiert, und Lesen des finalen Verstärkungspegels in dem Zentraleinheit-Modem-Empfänger, der die Fehler minimiert hat, und Senden des Verstärkungspegels zu dem Ferneinheit-Sender und Einstellen der Verstärkung in einen verstärkungsgesteuerten Verstärker darin, und Einstellen des Verstärkungswertes, der von dem Zentraleinheit-Modem-Empfänger zu verwenden ist beim Empfangen von Daten von diesem bestimmten Ferneinheit-Modem, auf einen vorbestimmten Pegel;

– Wiederholen des oben beschriebenen Prozesses für alle Ferneinheit-Modems;

– Durchführen eines Stromaufwärts-Entzerrungsprozesses durch Senden einer Nachricht von dem Zentraleinheit-Modem zu einem Ferneinheit-Modem, die dies auffordert, Trainingsdaten zu dem Zentraleinheit-Modem in einer Mehrzahl von Iterationen auf einer Mehrzahl von Kanälen unter Verwendung einer Mehrzahl von vorbestimmten orthogonalen, benachbarten zyklischen Spreizcodes zu übertragen, die dem Zentraleinheit-Modem bekannt sind, um für ein Training verwendet zu werden, und Empfangen der Trainingsdaten in einem Code-Demultiplex-Empfänger des Zentraleinheit-Modems in multiplen Iterationen, und Einstellen der Abgriffsgewichtungs-Koeffizienten einer Entzerrerschaltung in dem Empfänger, bis sie konvergieren, und Senden der finalen Abgriffsgewichtungs-Koeffizienten von dem Zentraleinheit-Modem-Empfänger zu dem Ferneinheit-Modem-Sender, und Verwenden dieser Abgriffsgewichtungs-Koeffizienten als die Abgriffsgewichtungs-Koeffizienten für einen Vorcode-Filter in dem Sender für nachfolgende Übertragungen, und Setzen der Abgriffsgewichtungs-Koeffizienten der Entzerrungsschaltung in dem Zentraleinheit-Modem-Empfänger, die zu verwenden sind beim Empfangen von Daten von diesem bestimmten Ferneinheit-Modem auf vorbestimmte Werte; und

– Wiederholen des Prozesses für alle anderen Ferneinheit-Modems.
Verfahren nach irgend einem der Ansprüche 3, 5–12 oder 18, des Weiteren gekennzeichnet durch die Schritte:

– Durchführen eines Trainingsprozesses, um die Qualität der Rahmen-Synchronisation jedes Ferneinheit-Modems zu verifizieren durch Herauspicken eines vorbestimmten einer Mehrzahl von vorbestimmten orthogonalen, benachbarten zyklischen Spreizcodes, die dem Zentraleinheit-Modem bekannt sind, verwendet für Training, und Übertragen irgendwelcher binärer Daten auf dem ausgewählten Code unter Verwendung einer BPSK-Modulation, und in einem Zentraleinheit-Modem-Code-Demultiplex-Empfänger Korrelieren der empfangenen Daten gegen jeden der Mehrzahl von vorbestimmten orthogonalen, benachbarten, zyklischen Spreizcodes, die für ein Training verwendet werden, und Bestimmen, ob die Trainingsdaten demultiplext worden sind auf dem vorbestimmten der Spreizcodes oder auf einem der anderen benachbarten Spreizcodes, die verwendet werden, um Trainingsdaten zu spreizen, und, falls nicht, Einstellen des Wertes der Übertragungsrahmen-Zeitgabeverzögerung, bis die Trainingsdaten gefunden wurden, auf den richtigen vorbestimmten der Spreizcodes, die für ein Training verwendet wurden; und

– Wiederholen des Prozesses für alle weiteren Ferneinheit-Modems;

– Durchführen eines Stromaufwärts-Leistungsausrichtungsprozesses durch Einstellen der Verstärkung eines Ferneinheit-Modem-Senders auf einen Nominalwert und wiederholtes Übertragen von Trainingsdaten auf jedem eines oder mehrerer vorbestimmter, benachbarter orthogonaler Spreizcodes, die für ein Training verwendet werden, und Einstellen eines Verstärkungspegels eines Code-Demultiplex-Empfängers in dem Zentraleinheit-Modem auf einen vorbestimmten Verstärkungspegel, der von einem Speicherplatz gewonnen wurde, und Empfangen jeder Iteration der wiederholt übertragenen Trainingsdaten in dem Empfänger und Anpassen des Verstärkungspegels in dem Empfänger über eine Anzahl von Iterationen von Trainingsdatenübertragungen, bis ein Verstärkungspegel erreicht worden ist, der die Fehler beim Empfang der bekannten Trainingsdaten minimiert, und Lesen des finalen Verstärkungspegels in dem Empfänger, der die Fehler minimiert hat, und Senden des Verstärkungspegels zu dem Ferneinheit-Sender zum Einstellen in einen verstärkungsgesteuerten Verstärker darin, und Einstellen des Verstärkungswertes, der durch den Zentraleinheit-Modem-Empfänger zu verwenden ist beim Empfang von Daten von dem speziellen Ferneinheit-Modem auf einen Nominalwert;

– Wiederholen des oben beschriebenen Prozesses für alle Ferneinheit-Modems;

– Durchführen eines Stromaufwärts-Entzerrungsprozesses durch Senden einer Nachricht von dem Zentraleinheit-Modem zu einem Ferneinheit-Modem, das es auffordert, Trainingsdaten zu dem Zentraleinheit-Modem in einer Mehrzahl von Iterationen auf einer Mehrzahl von Kanälen unter Verwendung einer Mehrzahl von vorbestimmten orthogonalen, benachbarten zyklischen Spreizcodes, die für ein Training verwendet werden, Übertragen und Empfangen der Trainingsdaten in einem Code-Demultiplex-Empfänger des Zentraleinheit-Modems in multiplen Iterationen und Einstellen der Abgriffsgewichtungs-Koeffizienten einer Entzerrerschaltung in dem Empfänger, bis sie konvergieren, und Senden der finalen Abgriffsgewichtungs-Koeffizienten von dem Zentraleinheit-Modem-Empfänger zu dem Ferneinheit-Modem-Sender, und Verwenden dieser Abgriffsgewichtungs-Koeffizienten als die Abgriffsgewichtungs-Koeffizienten eines Vorcode-Filters in dem Sender für nachfolgende Übertragungen und Einstellen der Abgriffsgewichtungs-Koeffizienten in der Entzerrungsschaltung in dem Zentraleinheit-Modem-Empfänger, zu verwenden beim Empfang von Daten von diesem speziellen Ferneinheit-Modem, auf vorbestimmte Nominalwerte; und

– Wiederholen des Prozesses für alle weiteren Ferneinheit-Modems.
Verfahren nach irgend einem der Ansprüche 1–3, 5–13 oder 17–20, dadurch gekennzeichnet, dass das Übertragungsmedium ein Hybridfaser-Koaxialkabel-Fernsehübertragungsmedium ist. Verfahren nach irgend einem der Ansprüche 1–3, 5–13 oder 17–21, dadurch gekennzeichnet, dass die orthogonalen Spreizcodes zyklische Codes sind und die Trainingsschritte anfangs beim Einschalten jedes Ferneinheit-Modems durchgeführt werden und periodisch danach. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt eines Verwendens der n Elemente des Ergebnisvektors, um den Informationsinhalt eines oder mehrerer Radiofrequenzträger zu erzeugen, des Weiteren die Schritte aufweist eines Teilens jedes Informationsvektor-Elements in einen Inphase- und Quadraturteil und Verwenden der Inphase- und Quadraturteile jedes Informationsvektors für ein Matrix-Multiplizieren mit der Code-Matrix, um Inphase- und Quadraturergebnisvektoren zu erzeugen, und Verwenden der Inphase- und Quadraturergebnisvektoren, um eine trägerlose Modulation durchzuführen durch Verwenden von Formungsfiltern, um jeden der Inphase- und Quadraturergebnisvektoren zu filtern, wobei die Transferfunktion eines der Formungsfilter die Hilbert-Transformation der Transferfunktion des anderen der Formungsfilter ist, so dass das Fourier-Spektrum der gefilterten Daten, das von dem Inphase-Formungsfilter ausgegeben wird, orthogonal ist in dem Frequenzbereich zu dem Fourier-Spektrum der gefilterten Daten, die ausgegeben werden von dem Quadratur-Formungsfilter. Verfahren nach irgend einem der Ansprüche 2, 3, 5, 8, 10, 11, 13, 15, 20, 21, 22 oder 23, des Weiteren gekennzeichnet durch die Schritte:

– Empfangen an einem Ferneinheit-Modem einer Nachricht von einem Zentraleinheit-Modem, welche Null oder mehr der N verfügbaren Stromaufwärts-Kanäle zuteilt für eine Verwendung durch das Ferneinheit-Modem in einem ersten Stromaufwärts-Rahmen zum Übertragen von Stromaufwärts-Daten und Zuteilen spezifischer Spreizcodes für eine Verwendung beim Spreizen des Datenspektrums dieser Kanäle während des ersten Rahmens, und Fortfahren, die zugeteilten Kanäle und Codes zu verwenden für Rahmen, die dem ersten Rahmen nachfolgend sind, bis eine neue Kanal- und Code-Zuteilungsnachricht für einen oder mehrere Rahmen empfangen worden ist;

– Bilden jedes Informationsvektorelementes durch Nehmen von Datenbits von einem oder mehreren Zeitschlitzen des TDMA-Eingangsstromes und Platzieren dieser in Elementen des Informationsvektors, die dem zugeteilten Stromaufwärts-Kanal oder -Kanälen entsprechen, und Trellis-Kodieren der Bits, um redundante Bits hinzuzufügen, und Teilen der resultierenden Bits jedes Elements in Inphase- und Quadraturkomponenten und Bringen dieser Komponenten in Inphase- und Quadratur-Informationsvektoren;

– Matrix-Multiplizieren sowohl der Inphase- als auch der Quadratur-Informationsvektoren mit einer Code-Matrix, um das Spektrum der Daten von jedem Informationsvektor unter Verwendung des Spreizcodes, der zugeteilt wurde, zu spreizen, um das Spektrum der zugeteilten Kanäle zu spreizen, um Inphase- und Quadraturergebnisvektoren zu erzeugen, die jeweils N Elemente aufweisen;

– und wobei der Schritt eines Verwendens der N Elemente des Ergebnisvektors, um den Informationsinhalt eines oder mehrerer Radiofrequenzträger zu erzeugen, des Weiteren die Schritte aufweist des Verwendens der Inphase- und Quadraturergebnisvektoren, um erste und zweite Radiofrequenzträger derselben Frequenz, jedoch getrennt in Phase um 90 Grad, zu QAM-modulieren;

– Übertragen der QAM-modulierten Träger während eines ersten Rahmens; und

– während des einen oder mehrerer anderer Rahmen Verwenden der neuen Kanal- und Code-Zuteilungen, um einen oder mehrere Informationsvektoren zu bilden, und die Informationsvektoren zu code-multiplexen, um Inphase- und Quadraturergebnisvektoren zu erzeugen, und Wiederholen des Prozesses eines Verwendens der Ergebnisvektoren, um die ersten oder zweiten Radiofrequenzträger zu QAM-modulieren, und Übertragen der Ergebnisse;

– und des weiteren aufweisend den Schritt eines Viterbi-Dekodierens von empfangenen Signalen in zumindest dem Zentraleinheit-Modem unter Verwendung der redundanten Bits, die zu den Elementen hinzugefügt sind in dem Informationsvektor, um die Genauigkeit eines Empfangs der Bits zu verbessern, die verwendet wurden, um die Informationsvektoren zu bilden.
Verfahren nach irgend einem der Ansprüche 1 bis 23, dadurch gekennzeichnet, dass der Schritt eines Empfangens multipler Kanäle von Digitaldaten den Schritt eines Empfangens von multiplen Kanälen von Digitaldaten aufweist, wobei jeder Kanal, der als TDMA-Strom organisiert ist, mehrere Zeitschlitze aufweist, wobei jeder eine Mehrheit von Bits darin aufweist, wobei der Schritt des Bildens von Rahmen ein Auswählen von Teilen der Daten von jedem Zeitschlitz aufweist, um den Informationsvektor zu bilden durch Nehmen nur eines Teils der Bits in jedem Zeitschlitz, um jedes Element des Informationsvektors zu bilden, in welchem Daten platziert sind, um die Daten, die rechtzeitig zu übertragen sind, zu verschränken, und dann Teilen jedes der n Elemente des Informationsvektors in Inphase- und Quadraturteile, und Trellis-Kodieren jedes der Inphase- und Quadraturteile jedes der n Elemente des Informationsvektors, um ein oder mehrere redundante Bits zu jedem Element der Inphase- und Quadraturteile hinzuzufügen, die Daten enthalten, um Trellis-codierte Inphase- und Quadraturergebnisvektoren zu erzeugen, und wobei der Schritt eines Code-Multiplexens der n Teile des Informationsvektors des Weiteren ein Matrix-Multiplizieren jedes der Trellis-kodierten Inphase- und Quadraturergebnisvektoren mit einer Spreizcode-Matrix aufweist, um Inphase- und Quadraturergebnisvektoren zu erzeugen, und wobei der Schritt eines Verwendens der n Elemente des Ergebnisvektors, um den Informationsinhalt des einen oder der mehreren Radiofrequenzträger zu erzeugen, des Weiteren die Schritte aufweist eines Verwendens der Inphase- und Quadraturergebnisvektoren, um erste und zweite Radiofrequenzträger derselben Frequenz zu modulieren, jedoch getrennt in Phase um 90 Grad, um eine QAM-Modulation zu erhalten, oder Implementieren einer trägerlosen Modulation durch Verwenden von Formungsfiltern, um jeden der Inphase- und Quadraturergebnisvektoren mit der Transferfunktion zu filtern von einem der Formungsfilter, welcher die Hilbert-Transformation der Transferfunktion des anderen der Formungsfilter ist, so dass das Fourier-Spektrum der gefilterten Daten, ausgegeben von dem Inphase-Formungsfilter, orthogonal ist in dem Frequenzbereich zu dem Fourier-Spektrum der gefilterten Daten, ausgegeben von dem Quadratur-Formungsfilter, und dann Summieren der resultierenden gefilterten Daten und Konvertieren der summierten Daten zu einem RF-Träger. Verfahren nach irgend einem der Ansprüche 1 bis 23 oder 25, dadurch gekennzeichnet, dass der Schritt eines Empfangens multipler Kanäle von digitalen Daten den Schritt aufweist eines Empfangens multipler Ströme von digitalen Daten, wobei jeder Strom multiple Zeitschlitze in einem TDMA-Strom aufweist, wobei jeder Zeitschlitz eine Mehrzahl von Bits darin aufweist, wobei der Schritt eines Auswählens von Teilen der Daten von jedem Zeitschlitz, um ein Element des Informationsvektors zu bilden, um die Daten die rechtzeitig zu übertragen sind, zu verschränken, um Elemente eines Informationsvektors zu erzeugen, die einem Kanal oder Kanälen entsprechen, die dem Ferneinheit-Modem zugeteilt sind, und dann Teilen jedes der n Elemente des Informationsvektors in Inphase- und Quadraturteile und Trellis-Kodieren jedes der Inphase- und Quadraturteile von jedem der Elemente des Informationsvektors, der Daten enthält, um ein oder mehrere redundante Bits zu jedem der Inphase- und Quadraturteile hinzuzufügen, die Daten enthalten, um Trellis-codierte Inphase- und Quadratur-Informationsvektoren zu erzeugen, und wobei der Schritt eines Code-Multiplexens jedes Informationsvektors des Weiteren ein Matrix-Multiplizieren jedes der Trellis-codierten Inphase- und Quadratur-Informationsvektoren aufweist mit einer Spreizcode-Matrix, um Inphase- und Quadratur-Ergebnisvektoren zu erzeugen und wobei der Schritt eines Verwendens der n-Elemente des Ergebnisvektors, um einen oder mehrere Radiofrequenzträger zu modulieren des Weiteren die Schritte aufweist eines Verwendens der Inphase- und Quadratur-Ergebnisvektoren, um erste und zweite Radiofrequenzträger derselben Frequenz, jedoch getrennt in Phase durch 90 Grad, zu modulieren, um eine QAM-Modulation zu erhalten. Verfahren nach Anspruch 26, des Weiteren dadurch gekennzeichnet, dass jeder Zeitschlitz 9 Bits enthält, wovon 8 Daten sind von irgendeiner Quelle extern zu der Ferneinheit und wovon das 9te Bit durch das Ferneinheit-Modem erzeugt ist und verfügbar ist, um verschiedene Befehls- und Steuerungsinformation von dem Ferneinheit-Modem zu dem Zentraleinheit-Modem zu senden, und wobei der Schritt eines Bildens von Informationsvektoren des Weiteren die Schritte aufweist eines Bildens von drei Informationsvektoren pro Rahmen, wo jeder Informationsvektor an einem Ferneinheit-Modem gebildet ist durch Platzieren von 3 verschiedenen Bits von jedem Zeitschlitz in ein Element von einem von den drei Informationsvektoren in einem Rahmen, der einen zugeteilten Kanal darstellt, und Hinzufügen von zumindest einem redundanten Bit, das durch einen Trellis-Codierer erzeugt worden ist zu jedem der drei Bitelemente jedes Informationsvektors, um alle 9 Bits von jedem Zeitschlitz, Daten enthaltend, zu übertragen während eines Rahmens, der in der Zeit verschränkt ist, um eine bessere Burst-Rauschen-Immunität zu erhalten. Verfahren nach Anspruch 26, dadurch gekennzeichnet, dass der Schritt eines Bildens der Informationsvektoren des Weiteren die Schritte aufweist:

– Bilden eines oder mehrerer Informationsvektoren pro Rahmen in jedem Ferneinheit-Modem mit jedem Informationsvektor, der eine Mehrzahl von Elementen aufweist, wobei jedes Element ein Kanal ist, der für eine Zuteilung zu einem Ferneinheit-Modem verfügbar ist für eine Verwendung;

– Senden einer Nachricht von dem Ferneinheit-Modem, das Daten zu senden hat zu dem Zentraleinheit-Modem, welche Bandbreite anfordert;

– in dem Zentraleinheit-Modem Zuteilen von Kanälen zu ausgewählten Ferneinheit-Modems für jeden Rahmen von Daten, die stromaufwärts zu übertragen sind von den Ferneinheit-Modems zu dem Zentraleinheit-Modem und Zuteilen von Spreizcodes, die beim Verteilen des Spektrums von Daten zu verwenden sind in jedem Kanal, und Ändern der Kanalzuteilungen in nachfolgenden Rahmen, um sich auf neue Bandbreite-Anforderungen von Ferneinheit-Modems einzustellen und Ändern der Code-Zuteilungen für nachfolgende Kanalzuteilungen, um eine Code-Verschiedenheit zu erhalten;

– Senden von Nachrichten zu allen Ferneinheit-Modems, anzeigend welche Kanäle und Codes durch jedes Ferneinheit-Modem während eines oder mehrerer Rahmen von Daten, die stromaufwärts zu übertragen sind, zu verwenden sind; und

– in jedem Ferneinheit-Modem, das einen oder mehrere zugeteilte Kanäle für einen Rahmen aufweist, Bilden eines oder mehrerer Informationsvektoren für diesen Rahmen durch Setzen von Daten von den empfangenen Kanälen von digitalen Daten in nur solche Elemente des einen oder der mehreren Informationsvektoren entsprechend den zugeteilten Kanälen und Spreizen des Spektrums der Elemente, die Daten darin aufweisen, unter Verwendung der Codes, die dem Ferneinheit-Modem zugeordnet sind für diesen Rahmen, um einen Ergebnisvektor zu erzeugen für jeden Informationsvektor.
Verfahren nach einem der Ansprüche 1 bis 28, des Weiteren gekennzeichnet durch die Schritte:

– Übertragen von dem Zentraleinheit-Modem zu den Ferneinheit-Modems eines Master-Taktsignals, codiert in einem Barker-Code, übertragen während jedes Stromabwärts-Rahmens und von Master-Trägerinformationen codiert in Pilot-Kanaldaten (501), übertragen auf einem bestimmten Stromabwärts-Kanal und Codieren eines Kilo-Rahmen-Markierungssignals darin;

– Empfangen der Pilot-Kanaldaten in jedem Ferneinheit-Modem und Verwenden dieser, um einen lokalen Träger (427) zu synchronisieren (515), erzeugt an dem Ferneinheit-Modem zu der Frequenz und Phase eines Master-Trägers, erzeugt an dem Zentraleinheit-Modem und Wiedergewinnen des Kilo-Rahmen-Markierungssignals von den Pilot-Kanaldaten und Verwenden dieser, um Stromabwärts-Rahmen-Nummern und die Rahmennummern zu verfolgen, welche durch das Zentraleinheit-Modem zu jedem Stromaufwärts-Rahmen zugeteilt werden, übertragen durch jedes Ferneinheit-Modem durch Zurücksetzen eines lokalen Rahmenzählers auf Empfang jeder Kilo-Rahmen-Markierung und nach Abschluss dieses Vermessungsverfahrens, Empfangen eines nicht nummerierten Rahmens von dem Zentraleinheit-Modem und Verwenden des Zählwerts in dem Lokal-Rahmenzähler, um die Rahmennummer des empfangenen Rahmens zu bestimmen und Senden des Zählwerts zurück zu dem Zentraleinheit-Modem zusammen mit einer TTA_Service_Request und Empfangen der Rahmennummer und der TTA_Service_Request in dem Zentraleinheit-Modem und Subtrahieren der Rahmennummer, in der TTA_Service_Request-Nachricht von dem momentanen Rahmen-Zählwert in einem Rahmenzähler in dem Zentraleinheit-Modem und Senden der Differenz zu dem Ferneinheit-Modem, das die TTA_Service_Request-Nachricht übertragen hat und Verwenden der Differenz in dem Ferneinheit-Modem, welches die TTA_Service_Request-Nachricht übertragen hat, um zu bestimmen, welche Rahmennummer durch das Zentraleinheit-Modem zu jedem Rahmen zugeteilt werden wird, übertragen durch das Ferneinheit-Modem, und um zu bestimmen, welche Kanalzuteilungen und Spreizcodes zu verwenden sind, um das Spektrum der in jedem Rahmen übertragenen Daten zu spreizen;

– Empfangen des Master-Taktsignals in jedem Ferneinheit-Modem (515) und Verwenden dieses, um ein lokales Taktsignal zu synchronisieren (900), erzeugt (1350) in jedem Ferneinheit-Modem zu dem Mastertakt, erzeugt in dem Zentraleinheit-Modem;

– Verwenden der lokal erzeugten Träger- und Taktsignale in jedem Ferneinheit-Modem, die mit dem Master-Träger und Master-Takt in dem Zentraleinheit-Modem synchronisiert sind, um Stromaufwärts-Daten von jedem Ferneinheit-Modem zu dem Zentraleinheit-Modem zu übertragen; und

– Übertragen von jedem Ferneinheit-Modem bekannter Präambel-Daten (1080) als einen Vorläufer zu einer Übertragung von einem Ferneinheit-Modem von Daten von einem Kanal;

– Verwenden der Präambel-Daten von jedem Ferneinheit-Modem in dem Zentraleinheit-Modem, um Phasen- und Amplituden-Fehlerkorrektur-Faktoren für eine Verwendung durch das Zentraleinheit-Modem beim Empfang von Daten von diesem bestimmten Ferneinheit-Modem zu erfassen.
Vorrichtung zum Übertragen von multiplen Kanälen von digitalen Daten von einer Ferneinheit zu einer Zentraleinheit über ein geteiltes Übertragungsmedium unter Verwendung einer Code-Multiple-Zugriffsübertragung, dadurch gekennzeichnet, dass sie aufweist:

– Mittel in jedem Ferneinheit-Modem zum Ausführen eines Trial-and-Error-Prozesses eines Einstellens eines Übertragungsrahmen-Zeitgabe-Verzögerungswertes und Senden eines Mess-Signals zu dem Zentraleinheit-Modem und zum Empfangen von Rückkopplungs-Nachrichten von dem Zentraleinheit-Modem und Fortfahren die Übertragungsrahmen-Zeitgabeverzögerung einzustellen, bis zum Empfangen einer Nachricht von dem Zentraleinheit-Modem, dass ein Mess-Signal während eines vorbestimmten Intervalls in einem Zentraleinheit-Rahmen empfangen worden ist und um dann Authentifikations-Mess-Signale in Antwort auf eine Aufforderung von dem Zentraleinheit-Modem zu übertragen und, falls notwendig, ein Konflikt-Auflösungsprotokoll durchzuführen, um zu verhindern, dass Mess-Signale von verschiedenen Ferneinheit-Modems miteinander interferieren und Fortsetzen dieses Prozesses, bis ein Wert gefunden worden ist für den Übertragungsrahmen-Zeitgabe-Verzögerungswert, der in einer groben Rahmen-Synchronisation resultiert, die erhalten wurde, wobei das Mess-Signal von einem einzelnen Ferneinheit-Modem an dem Zentraleinheit-Modem ankommt während eines vorbestimmten Intervalls in einem Zentraleinheit-Rahmen und danach, um einen Feinabstimmungsprozess durchzuführen durch Empfangen einer Nachricht von dem Zentraleinheit-Modem, Anzeigen, in welche Richtung und durch wie viele Chips die Übertragungsrahmen-Zeitgabe-Verzögerung einzustellen ist, und die Übertragungsrahmen-Zeitgabe-Verzögerung so einzustellen, dass Messübertragungen von dem Ferneinheit-Modem bei oder innerhalb einer Chipzeit einer gewünschten Referenzzeit in einem Rahmen an dem Zentraleinheit-Modem ankommen, um eine präzise Rahmen-Synchronisation zu erhalten, wobei eine Rahmen-Synchronisation definiert ist als eine Ausrichtung in der Zeit an der Zentraleinheit der Rahmengrenzen von Rahmen von Daten übertragen durch die Ferneinheit-Modems ungeachtet der Positionen der Ferneinheit-Modems in dem verteilten Kommunikationssystem;

– Rahmungsmittel (400) zum Akzeptieren eines oder mehrerer Ströme hereinkommender Daten, von welchen jeder eines oder mehrere Bits digitaler Daten beinhaltet und Organisieren der Daten in einen Rahmen, gebildet aus M aufeinanderfolgenden Informationsvektoren (62, 64, 66) und einem Schutzband (61, 71) während welchem keine Daten übertragen werden, wobei jeder der Informationsvektoren N Elemente aufweist, wobei jedes Element einem Stromaufwärts-Kanal entspricht und nur die Elemente entsprechend Stromaufwärts-Kanälen die dem Ferneinheit-Modem zugeteilt sind, Daten enthalten, und zum Einfügen bekannter Präambel-Daten in zumindest einige der Elemente von zumindest einigen der Informationsvektoren, so dass die Präambel-Daten übertragen werden, bevor irgendwelche der hereinkommenden Daten übertragen werden;

– Sendemittel (408, 410) zum Matrix-Multiplizieren jedes der M Informationsvektoren mit einer Matrix (407), welche N orthogonale Spreizcodes (#1) verkörpert, so dass die Daten von jedem Kanal multipliziert werden mit einem orthogonalen Spreizcode, der diesem Kanal zugeteilt ist, um M Ergebnisvektoren (R) zu erzeugen und Verwenden der Daten der M Ergebnisvektoren, um den Informationsinhalt in einem oder mehreren Radio-Frequenzträgern zu erzeugen und zum Übertragen der Radio-Frequenzträger-Signale über das geteilte Übertragungsmedium (24) unter Verwendung des Wertes für die Übertragungsrahmen-Zeitgabe-Verzögerung, die zum Erreichen einer präzisen Rahmen-Synchronisation führte.
Vorrichtung aufweisend ein Zentraleinheit-Modem, gekoppelt mit einer Mehrzahl von physisch verteilten Ferneinheit-Modems durch ein geteiltes Übertragungsmedium, gekennzeichnet durch:

– Mittel (510) in dem Zentraleinheit-Modem zur Übertragung eines Master-Taktsignals, codiert in einem Barker-Code und Master-Trägerinformation beinhaltet in der Form von Pilot-Kanaldaten (501, 503, 507) zu jedem der Ferneinheit-Modems;

– Mittel in jedem Ferneinheit-Modem (515, 760, 781, 806, 808, 810) zum Empfangen der Pilot-Kanaldaten in jedem Ferneinheit-Modem und Verwenden dieser, um die Frequenz eines lokalen Trägers (427) zu synchronisieren, erzeugt an dem Ferneinheit-Modem mit der Frequenz eines Master-Trägers, erzeugt an dem Zentraleinheit-Modem;

– Mittel in jedem Ferneinheit-Modem (513, 882) zum Empfangen des Master-Taktsignals codiert in dem Barker-Code in jedem Ferneinheit-Modem und Verwenden dieses, um ein lokales Taktsignal zu synchronisieren (900), erzeugt (784) in jedem Ferneinheit-Modem, mit einem Master-Takt, erzeugt in dem Zentraleinheit-Modem;

– Sendemittel (1164) in jedem Ferneinheit-Modem zum Verwenden des lokal erzeugten Trägers und der Taktsignale in jedem Ferneinheit-Modem, die mit dem Master-Träger und Master-Takt in dem Zentraleinheit-Modem synchronisiert sind, wobei das Sendemittel geeignet ist, um einen Messprozess durchzuführen, wobei

– ein Wert für eine Übertragungsrahmen-Zeitgabe-Verzögerung (Td) bestimmt wird durch ein Trial-and-Error-Einstellen eines Übertragungsrahmen-Zeitgabe-Verzögerungswertes individuell durch jedes Ferneinheit-Modem (254, 256) gefolgt von einer Übertragung eines Mess-Signals und

– der Prozess wiederholt wird in Antwort auf Rückkopplungsnachrichten (186, 190, 198, 204) von dem Zentraleinheit-Modem, bis eine Nachricht empfangen wird, dass ein Mess-Signal während eines vorbestimmten Intervalls in einem Zentraleinheit-Rahmen empfangen worden ist und

– dann Authentifizierungs-Übertragungen übertragen werden und

– falls notwendig, wie angezeigt durch eine Nachricht von dem Zentraleinheit-Modem ein Kollisions-Auflösungsprotokoll ausgeführt wird, so dass Mess-Signale miteinander nicht interferieren und

– dieser Prozess fortgesetzt wird, bis ein Wert gefunden ist für die Übertragungsrahmen-Zeitgabe-Verzögerung, die eine grobe Rahmen-Synchronisation erzielt, resultierend in Mess-Signalen von einem einzelnen der Ferneinheit-Modems, die an dem Zentraleinheit-Modem innerhalb eines vorbestimmten Intervalls in jedem Rahmen ankommen, gefolgt durch

– ein Feinabstimmungsprozess wird durchgeführt, wobei das Zentraleinheit-Modem das Intervall misst zwischen der Ankunftszeit eines Mess-Signals von dem bestimmten Ferneinheit-Modem, das so identifiziert wurde, und einer Referenzzeit in dem Rahmen und sendet eine Nachricht (202) zu dem Ferneinheit-Modem, welches dieses anweist, in welche Richtung und um wie viel der Übertragungsrahmen-Zeitgabe-Verzögerungswert einzustellen ist, um zu bewirken, dass jedes Mess-Signal bei oder innerhalb einer Chipzeit einer gewünschten Referenzzeit in einem Rahmen bei dem Zentraleinheit-Modem kommt, und

– der Prozess wird wiederholt für jedes Ferneinheit-Modem mit Daten, die zu dem Zentraleinheit-Modem zu übertragen sind, um eine präzise Rahmen-Synchronisation für jedes Ferneinheit-Modem zu erhalten, unabhängig von der Position des Ferneinheit-Modems relativ zu dem Zentraleinheit-Modem, wobei eine Rahmen-Synchronisation definiert ist als eine Ausrichtung in der Zeit an der Zentraleinheit der Rahmengrenzen von Rahmen von Daten, die durch die Ferneinheit-Modems übertragen werden, unabhängig von den Positionen der Ferneinheit-Modems in dem verteilten Kommunikationssystem;

– wobei die Sendemittel Rahmungsmittel (400) beinhalten zum Empfangen eines oder mehrere Ströme von digitalen Nutzdaten und Bilden von Rahmen (Fn, Fn + 1) von Daten für eine Übertragung zu dem Zentraleinheit-Modem durch Auswählen von Datenmengen der Nutzdaten von jedem Strom und Organisieren der Datenteile als eines oder mehrere Elemente in einem Informationsvektor (481) entsprechend einem oder mehreren Stromaufwärts-Kanälen, zugeteilt zu dem Ferneinheit-Modem für Übertragungen zu dem Zentraleinheit-Modem, wobei jeder Informationsvektor N Elemente (483) aufweist, wobei jedes der N Elemente einen Stromaufwärts-Kanal aufweist, wobei die Rahmenmittel zumindest einen Informationsvektor pro Stromaufwärts-Rahmen bilden, wobei das Sendemittel ein Präambel-Einfügemittel (1076) beinhaltet zum Einfügen bekannter Präambel-Daten in zumindest einige der Elemente von zumindest einigen der Informationsvektoren, so dass die Präambel-Daten empfangen werden bevor Nutzdaten empfangen werden, wobei das Sendemittel Mittel (408) beinhaltet zum Durchführen eines Code-Multiplexens durch Durchführen einer Matrix-Multiplikation von jedem der Informationsvektoren mit einer Code-Matrix (C), die N orthogonale Spreizcodes (#1, #2) aufweist, wobei jeder Code N Elemente darin aufweist, und die verwendet werden, um das Spektrum der Daten, die in einem Stromaufwärts-Kanal übertragen werden, zu spreizen, wobei die Matrix-Multiplikation einen Ergebnis-Vektor (R) erzeugt, der N Elemente für jeden Informationsvektor aufweist, wobei das Sendemittel Mittel (410, 570, 576) beinhaltet zum Verwenden der N Elemente jedes Ergebnisvektors, um den Informationsinhalt in einem oder mehreren Radiofrequenzträgern zu erzeugen und Übertragen der resultierenden Radiofrequenzträger über das Übertragungsmedium (24);

– Mittel in dem Zentraleinheit-Modem (466, 796) zum Demodulieren und Demultiplexen der Daten des gespreizten Spektrums empfangen von jedem Ferneinheit-Modem und zum Verwenden der Präambel-Daten von jedem Ferneinheit-Modem in dem Zentraleinheit-Modem, um Phasen- und Amplituden-Fehlerkorrektur-Faktoren zu erfassen für eine Verwendung durch das Zentraleinheit-Modem beim Detektieren von Daten von diesem bestimmten Ferneinheit-Modem.
Vorrichtung nach Anspruch 30 oder 31, dadurch gekennzeichnet, dass die Spreizcodes zyklisch sind und die Vorrichtung des Weiteren aufweist:

– Mittel (405, 566, 564) in jedem Ferneinheit-Modem zum Durchführen einer Leistungsausrichtung nach einem Erreichen einer präzisen Rahmen-Synchronisation durch Einstellen der Verstärkung des Ferneinheit-Senders auf einen Nominalwert und wiederholt Übertragen von Trainingsdaten, die dem Zentraleinheit-Modem bekannt sind, wobei das Spektrum der Trainingsdaten gespreizt ist durch einen Ausgewählten der Spreizcodes, die für ein Training verwendet werden;

– Mittel (796, 781, 790, 788, 800, 798, 405, 514) in dem Zentraleinheit-Modem zum Empfangen der Trainingsdaten und zum Einstellen eines Anfangsverstärkungspegels und Durchführen iterativer adaptiver Änderungen an dem Verstärkungspegel über eine Anzahl von Iterationen einer Übertragung der Trainingsdaten, bis ein Verstärkungspegel erreicht ist, der Empfangsfehler minimiert und Übertragen des finalen Verstärkungspegels zu dem Ferneinheit-Modem und Einstellen des Verstärkungspegels des Zentraleinheit-Empfängers auf einen nominalen Pegel, wenn Daten empfangen werden, übertragen durch das Ferneinheit-Modem, das die Trainingsdaten übertragen hat;

– Mittel (860, 405, 566, 564) in dem Ferneinheit-Modem zum Empfangen des finalen Verstärkungspegels und Einstellen der Verstärkung des Senders des Ferneinheit-Modems auf den finalen Verstärkungspegel;

– Mittel (405, 514, 506) in dem Ferneinheit-Modem zum Durchführen einer Stromaufwärts-Entzerrung durch Übertragen einer Mehrzahl von Iterationen bekannter Entzerrungsdaten zu dem Zentraleinheit-Modem, wobei jede Iteration von Entzerrungsdaten ein Spektrum aufweist, das durch zumindest einen und bis zu allen einer Mehrzahl von benachbarten, zyklischen Spreizcodes, die für ein Training verwendet werden, gespreizt ist;

– Mittel (765, 820, 830, 767, 800, 836, 824, 405, 833, 514, 506) in dem Zentraleinheit-Modem zum Empfangen der Iterationen von Entzerrungsdaten und Durchführen iterativer Einstellungen der Abgriffs-Gewichtungs-Koeffizienten eines ersten Paares von FFE- und DFE-Entzerrungsfiltern, bis die Koeffizienten auf Werte konvergieren, die die Anzahl von Empfangsfehlern minimieren und dann Senden der finalen Abgriffs-Gewichtungs-Koeffizienten zu dem Ferneinheit-Modem und Einstellen der Abgriffs-Gewichtungs-Koeffizienten der FFE- und DFE-Filter auf vorbestimmte nominale Werte;

– Mittel (405, 860, 563, 561) in dem Ferneinheit-Modem zum Empfangen der finalen Abgriffs-Gewichtungs-Koeffizienten und Falten dieser mit den bestehenden Abgriffs-Gewichtungs-Koeffizienten in einem Vor-Code-Filter in dem Sender des Ferneinheit-Modems und Einstellen der Abgriffs-Gewichtungs-Koeffizienten des Vor-Code-Filters auf die Ergebnisse der Faltungsberechnung.
Vorrichtung nach Anspruch 30 oder 31, des Weiteren gekennzeichnet durch:

– Mittel (405) in jedem Ferneinheit-Modem zum Senden einer Bandbreite-Anforderungsnachricht zu dem Zentraleinheit-Modem, wenn das Ferneinheit-Modem Daten zu dem Zentraleinheit-Modem zu senden hat;

– Mittel (860, 405, 514) in dem Zentraleinheit-Modem zum Empfangen der Bandbreite-Anforderungsnachrichten von allen Ferneinheit-Modems und Vergeben verfügbarer Stromaufwärts-Kanäle durch irgendein Verfahren oder eine Kombination von Verfahren an verschiedene Ferneinheit-Modems und Senden von Bandbreite-Zusprechnachrichten zu den Ferneinheit-Modems;

– Mittel (860, 405, 506, 508, 532, 516) in jedem Ferneinheit-Modem zum Empfangen der Bandbreite-Zusprechnachrichten und Bilden der Informationsvektoren durch Setzen von Daten in nur die Elemente der Informationsvektoren, die den zugeteilten Kanälen entsprechen.
Vorrichtung nach Anspruch 30 oder 31 oder 32 oder 33, des Weiteren dadurch gekennzeichnet, dass

– das Rahmungsmittel (508) einen Zeit-Multiplex-Strom von Daten (399, 19) empfängt und die Informationsvektoren bildet durch Nehmen eines Teils der Bits von einem Zeitschlitz (TB1, TB2, TB3) für ein Platzieren in Elemente der Informationsvektoren (B) entsprechend den zugeteilten Stromaufwärts-Kanälen, um die Daten von den Zeitschlitzen zu verschränken, um eine Burst-Rausch-Immunität zu verbessern, und Mittel (506) zum Variieren über die Zeit der Spreizcodes, die verwendet werden, um das Spektrum der Daten in den verschiedenen Stromaufwärts-Kanälen zu spreizen, die dem Ferneinheit-Modem zugeteilt sind; und

– ein Trellis-Codier(526)-Mittel vorgesehen ist zum Empfangen von Daten von dem Informationsvektor-Element und Trellis-Codieren oder anders Codieren der Daten, um eines oder mehrere redundante Fehlerdetektions- und Korrektur-Bits zu den Bits in jedem Element zu addieren und Abbilden der resultierenden Bits auf eine Quadratur-Amplituden-Modulations-Konstellation unter Verwendung eines ersten Teils der resultierenden Bits jedes Elements, um die Koordinate des Konstellationspunktes längs einer Inphase-Achse herzustellen und der verbleibenden Bits, um die Koordinate des Konstellationspunktes längs einer Quadraturachse herzustellen, um Inphase- und Quadratur-Informationsvektoren (549R, 549I) zu erzeugen; und wobei

– das Sendemittel Mittel (527) beinhaltet zum Matrix-Multiplizieren jedes der Inphase- und Quadratur-Informationsvektoren mit einer Code-Matrix (C), um Inphase- und Quadratur-Ergebnisvektoren (409, 413) zu erzeugen, und digital die Inphase- und Quadratur-Ergebnisvektoren filtert in Inphase- und Quadratur-Bandpass-Formungsfiltern (1134, 1136) mit Hochgezogenem Quadrat-Cosinus, Transfer-Funktionen aufweisend, welche die Nyquist-Kriterien erfüllen und eine Zentralfrequenz aufweisen für den Bandpass eingerichtet bei einer Frequenz, die alle Ferneinheit-Modems verwenden für Stromaufwärts-Übertragungen mit Ausnahme, dass die Frequenz zu einer unterschiedlichen Frequenz durch eine Frequenz-Umsetzer bei einigen Ausführungsformen umgesetzt sein kann und wobei die Transfer-Funktion eines der Formungsfilter die Hilbert-Transformation des anderen ist, und wobei das Sendemittel einen Summierer (1150) beinhaltet zum Summieren der gefilterten Daten, ausgegeben durch die Formungsfilter und einen Digital-zu-Analog-Wandler (576) zum konvertieren der summierten Daten in ein analoges Signal.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com