-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Verschachtelung
eines eintreffenden Datenstroms, wie im nicht kennzeichnenden Teil von
Anspruch 1 definiert, auf ein Verfahren zur Entschachtelung eines
eintreffenden verschachtelten Datenstroms, wie im nicht kennzeichnenden
Teil von Anspruch 6 definiert, und auf Geräte zur Verschachtelung und
Entschachtelung, wie im nicht kennzeichnenden Teil von Anspruch
7, bzw. Anspruch 10 definiert.
-
Ein
solches Verfahren zur Verschachtelung und Entschachtelung, solche
Geräte
zur Verschachtelung und Entschachtelung und ein solches Kommunikationssystem
sind bereits in der Technik bekannt, z.B. aus dem Patent der Vereinigten
Staaten
US 4,559,625 mit
dem Titel "Interleavers
for digital communications" der
Erfinder Elwyn R. Berlekamp und Po Tong. Auch das europäische Patent
EP 0 048 151 A1 beschreibt
auf Seite 8, Zeile 23–30
und Seite 9, Zeile 27–34
einen herkömmlichen
dreieckig geformten Verschachteler, der sich für den Einsatz in einem Fernsehsignal-Codierer/Decodierer
eignet.
-
In
dem in
US 4,559,625 beschriebenen
Kommunikationssystem entwickelt eine Codiervorrichtung redundante
Information auf eine mathematisch vorgeschriebene Weise und fügt diese
redundante Information den Datenbytes von Codeworten hinzu. Die
Datenbytes von mehreren unabhängig
codierten Codeworten werden dann von einem Verschachteler wieder
der Reihe nach angeordnet. Auf diese Weise wird die Übertragung
der Codeworte über
eine Übertragungsverbindung
unabhängiger
gegen impulsartige Störungen
großer
Länge.
Durch Neuanordnung der Datensymbole werden impulsartige Störungen gleichmäßiger über unabhängig codierte
Codeworte verteilt. Als Folge davon wird die Fehlerkorrektur durch
Decodierung der übertragenen
Codeworte verbessert. Zusammenfassend kann man sagen, dass der Verschachteler
die Reihenfolge von Datenbytes mehrerer Codeworte ändert, um
den Effekt der Signalverschlechterung oder Störungen auf der Übertragungsleitung
gleichmäßiger über verschiedene
Codeworte zu verteilen. Im Verschachteler werden Datenbytes dazu
in Speicherzellen eingegeben und später aus diesen Speicherzellen
in einer Reihenfolge ausgelesen, die sich von der Reihenfolge unterscheidet,
in der sie in den Speicher eingegeben wurden. Die Verschachtelungs-Verzögerung eines
Datenbytes ist das Zeitintervall, das zwischen dem Eintritt in den
und dem Verlassen des Speichers vergeht, und wird üblicherweise
als Menge der Bytes ausgedrückt,
die zwischen dem Zeitpunkt des Eintretens und des Verlassens des
betrachteten Datenbytes aus dem Speicher ausgelesen werden. Ein
weiterer wichtiger Parameter, der gleich der Anzahl der Datenbytes
im abgehenden verschachtelten Datenstrom zwischen zwei Datenbytes
ein und desselben Codewortes ist, wird Verschachtelungstiefe genannt. Die
Verschachtelungstiefe ist eine quantitative Anzeige für die Verbesserung
der Unempfindlichkeit gegen impulsartige und ähnliche Störungen. In dem in
US 4,559,625 beschriebenen Verschachteler
bilden die Speicherzellen, in denen Datenbytes gespeichert werden,
eine dreieckig geformte Matrix, d.h. das obere rechte Dreieck in
der in
4a in
US 4,559,625 gezeigten rechteckigen
Matrix. Wenn jede Zeile der dreieckig geformten Matrix durch eine First-In-First-Out-Warteschlange
implementiert wird, und wenn eintreffende Datenbytes in hinten liegenden
Speicherzellen der Zeilen gespeichert werden, während abgehende Datenbytes
aus vorne liegenden Speicherzellen der Zeilen ausgelesen werden, ändert sich
die Verschachtelungs-Verzögerung
jedes Bytes linear zur Ordnungs-Position des Datenbytes. Dies wird
in Spalte 2, Zeile 34–41
des zitierten US-Patentes angegeben. Mit anderen Worten besteht
in dem bekannten dreieckigen Verschachteler ein linearer Zusammenhang
zwischen der Verschachtelungs-Verzögerung eines Datenbytes und der
Ordinate der Zeile, in der das Datenbyte gespeichert ist. Die Verschachtelungstiefe,
welche die Störunempfindlichkeit
der Übertragung
definiert, ist konstant und durch die Verzögerungs-Zunahme pro Zeile der
Matrix bestimmt. Diese Verzögerungs-Zunahme
ist die Längendifferenz
zwischen zwei aufeinander folgenden Zeilen der Matrix, ausgedrückt als Menge
von Speicherzellen.
-
In
einem Kommunikationssystem mit variablen Übertragungsraten ist der Einfluss
der Verschachtelung auf die Störunempfindlichkeit
der Übertragung
abhängig
von der aktuellen Übertragungsrate.
Wenn die Übertragungsrate
zum Beispiel in einer ersten Situation die Hälfte der Übertragungsrate einer zweiten
Situation beträgt,
werden impulsförmige Fehler
gleicher Dauer in der zweiten Situation die doppelte Menge an Daten
beschädigen,
wie in der ersten Situation beschädigt werden. Wenn die Verschachtelungstiefe
in Situation 2 gleich der in Situation 1 ist und die zu den Codeworten
hinzugefügten Fehlerkorrektur-Codes
in beiden Situationen gleich sind, ist die Störunempfindlichkeit in Situation
2, ausgedrückt
als maximale Dauer eines impulsförmigen Fehlers,
der beseitigt werden kann, nur die Hälfte der Störunempfindlichkeit in Situation
1. Entwickler von Kommunikationssystemen müssen üblicherweise einen bestimmten
Mindest-Grad an Fehlerkorrektur realisieren, um Standard-Spezifikationen
einzuhalten. Die Verschachtelungstiefe und die Länge des Fehlerkorrektur-Codes
werden vom Entwickler gewählt,
um diesen Mindest-Grad an Fehlerkorrektur in einem schlechtmöglichsten
Fall einzuhalten. In einem Kommunikationssystem mit variablen Übertragungsraten
ist dieser schlechtmöglichste
Fall die Situation, in der Daten mit der höchsten zulässigen Übertragungsrate übertragen
werden. Wenn der oben beschriebene bekannte Verschachteler benutzt wird,
und Daten mit einer kleineren Übertragungsrate übertragen
werden, ist die Störunempfindlichkeit besser
als erforderlich, dies wird jedoch durch eine Verschachtelungs-Verzögerung erkauft,
die länger als
erforderlich ist, um die Störunempfindlichkeit
bei dieser kleineren Übertragungsrate
exakt auf den erforderlichen Mindest-Grad einzustellen.
-
In
anderen Kommunikationssystemen kann es gewünscht werden, dass die Störunempfindlichkeit
angepasst werden kann, so dass die Kapazität für die Beseitigung des Einflusses
von impulsförmigen
Störungen
auf die Übertragungsleitung
in Abhängigkeit
von der Qualität
der Leitung, von den Störungen,
von dienstabhängigen
oder benutzerbhängigen
Anforderungen und so weiter geändert
werden kann.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
zur Verschachtelung und Entschachtelung und Geräte zur Verschachtelung und
Entschachtelung des bekannten Typs bereitzustellen, in denen jedoch
die Störunempfindlichkeit geändert werden
kann oder unabhängig
von der Übertragungsrate
auf der Übertragungsleitung
gemacht werden kann.
-
Gemäß der Erfindung
wird dieses Ziel durch das in Anspruch 1 definierte Verfahren zur
Verschachtelung eines eintreffenden Datenstroms, durch das in Anspruch
6 definierte Verfahren zur Entschachtelung eines verschachtelten
Datenstroms, sowie durch die in Anspruch 7, bzw. 10 definierten Geräte zur Verschachtelung
und Entschachtelung realisiert.
-
Eine
offensichtliche Möglichkeit
zur Realisierung des oben beschriebenen Ziels ist es, die Form der
dreieckigen Matrix anzupassen, indem der Verschachtelungs-Speicher
vollständig
geleert wird und die dreieckige Matrix neu formatiert wird, so dass zum
Beispiel die Verzögerungs-Zunahme
pro Zeile der Matrix steigt. Wird die Verzögerungs-Zunahme pro Zeile zum
Beispiel jedes Mal angepasst, wenn sich die Übertragungsrate ändert, ändert sich
die Verschachtelungstiefe entsprechend und als Folge davon bleibt
die Störunempfindlichkeit
im Wesentlichen unabhängig
von der Übertragungsrate.
Die offensichtliche Möglichkeit
ist jedoch nicht sehr effizient, da sie einen sehr langen Übergangszustand
aufweist, in dem die Übertragung
unterbrochen werden muss.
-
Gemäß der Erfindung
wird die Verschachtelungstiefe geändert, indem die Form der dreieckigen Anordnung
auf dynamische Weise geändert
wird, d.h. ohne den gesamten Verschachtelungs-Speicher zu leeren.
In der Tat wird, wenn die Anzahl verschachtelter Datenbytes, die
aus einer Zeile der Matrix ausgelesen werden, während eines Übergangszustandes,
in dem die Übertragungsrate
sinkt oder steigt, positiv oder negativ linear mit der Ordinate
dieser Zeile verknüpft
wird, die Verzögerungs-Zunahme pro
Zeile der Matrix gesenkt oder erhöht. Wenn zum Beispiel 1 Datenbyte
aus Zeile 1 ausgelesen wird, 2 Datenbytes aus Zeile 2 ausgelesen
werden, ..., l – 1 Datenbytes
aus Zeile l – 1
ausgelesen werden, wird die Längendifferenz
zwischen zwei aufeinander folgenden Zeilen der Matrix (was die Verzögerungs-Zunahme
pro Zeile ist) um 1 verringert. Wenn sich in einem solchen System
die Verzögerungs-Zunahme pro
Zeile erhöht,
erhöht
sich die Verschachtelungstiefe entsprechend und als Folge davon
verbessert sich der Schutz gegen Fehler. Auf die gleiche Weise wird der
Schutz gegen Fehler schlechter, wenn die Verzögerungs-Zunahme pro Zeile verringert
wird. Somit wird der Einfluss der sich ändernden Übertragungsrate auf die Unempfindlichkeit
gegen impulsförmige Störungen durch
eine justierte Verschachtelungstiefe des Verschachtelers/Entschachtelers
kompensiert, so dass die Störunempfindlichkeit
im Wesentlichen konstant bleibt.
-
Wenn
die Zeilen der dreieckigen Matrix so nummeriert werden, dass die
Ordinaten-Nummern mit der Länge
der Zeile wachsen, sinkt die Verzögerungs-Zunahme pro Zeile,
wenn die Anzahl ausgelesener verschachtelter Datenbytes pro Zeile
positiv mit der Ordinaten-Nummer der Zeile verknüpft wird. Eine verkleinerte
Verzögerungs-Zunahme
pro Zeile führt
zu einer kleineren Verschachtelungstiefe und somit zu einer kleineren
Unempfindlichkeit gegen impulsförmige
Störungen.
Ein Sinken der Übertragungsrate
hat andererseits die Wirkung, dass die Unempfindlichkeit gegen impulsförmige Störungen steigt.
Beide Effekte können
sich kompensieren, so dass die Störunempfindlichkeit im Wesentlichen
unabhängig
von der Übertragungsrate
bleibt.
-
Nimmt
man erneut an, dass die Zeilen der dreieckigen Matrix nummeriert
sind, so das die Ordinaten-Nummern mit der Länge der Zeilen wachsen, kann
auf ähnliche
Weise wie oben abgeleitet werden, dass die Störunempfindlichkeit im Wesentlichen
unempfindlich gegen einen Anstieg der Übertragungsrate bleibt, wenn
die Menge verschachtelter Datenbytes, die aus den Zeilen der Matrix
ausgelesen werden, negativ mit der Ordinaten-Nummer dieser Zeilen verknüpft wird.
-
Es
muss darauf hingewiesen werden, dass der in den Ansprüchen verwendete
Begriff "enthält" nicht als Einschränkung der
danach aufgelisteten Mittel interpretiert werden darf. Somit ist
der Umfang des Ausdrucks "Eine
Einrichtung, die Mittel A und B enthält" nicht auf Einrichtungen begrenzt, die
nur aus den Komponenten A und B bestehen. Er bedeutet, dass bezogen
auf die vorliegende Erfindung die einzigen relevanten Komponenten
der Einrichtung A und B sind.
-
Auf ähnliche
Weise muss darauf hingewiesen werden, dass der ebenfalls in den
Ansprüchen verwendete
Begriff "gekoppelt" nicht auf direkte
Verbindungen begrenzt ist. Somit ist der Umfang des Ausdrucks "Eine Einrichtung
A, die mit einer Einrichtung B gekoppelt ist" nicht auf Einrichtungen oder Systeme
begrenzt, in denen ein Ausgang von Einrichtung A direkt mit einem
Eingang von Einrichtung B verbunden ist. Er bedeutet, dass ein Pfad
zwischen einem Ausgang von A und einem Eingang von B vorhanden ist,
wobei der Pfad andere Einrichtungen oder Mittel enthalten kann.
-
Eine
weitere Anmerkung ist, dass eine offensichtliche Variante des vorliegenden
Systems und Verfahrens eine ist, in der die Rolle von Spalten und Zeilen
der Verschachtelungs- und Entschachtelungs-Matrix vertauscht ist.
Die Anwendbarkeit der vorliegenden Erfindung ist offensichtlich
nicht auf solche Implementationen beschränkt, in denen Zeilen der Matrizen
horizontal und Spalten vertikal gezeichnet sind. Aus offensichtlichen
Gründen
erhält
man dasselbe technische Ergebnis, wenn in der gesamten Patentanmeldung
die Begriffe "Spalte" und "Zeile" vertauscht werden.
Der Umfang des durch den Anspruch definierten Schutzes darf somit
nicht auf Ausführungen
der vorliegenden Erfindung beschränkt werden, in denen "Zeile" synonym für eine horizontale
Struktur ist und "Spalte" mit einer vertikalen
Struktur assoziiert wird.
-
Weiterhin
muss betont werden, dass die Ordinaten-Nummern von Zeilen oder Spalten
in den Verschachtelungs- und/oder Entschachtelungs-Matrizen je nach
den Vorlieben der Entwickler von unten nach oben, von oben nach
unten, von links nach rechts oder von rechts nach links ansteigen
können. Als
Folge davon kann die dreieckige Matrix eine Spitze haben, die nach
oben, nach unten, nach links oder nach rechts zeigt. Für den Entwickler
ist es nur wichtig, eine Adressierung zu haben, die konform zu seiner
Wahl der Ordinaten-Nummern ist. Der Umfang der Ansprüche darf
nicht so interpretiert werden, dass er für diese Auswahl einschränkend ist.
-
Es
wird hier auch darauf hingewiesen, dass die Verzögerungs-Zunahme pro Zeile der
dreieckigen Verschachtelungs-Matrix auf ähnliche Weise angepasst werden
kann, um in Systemen mit konstanten Übertragungsraten den Schutz
gegen Fehler zu erhöhen
oder zu verringern. Weitere Kriterien als der Anstieg oder Abfall
der Übertragungsrate
müssen
in solchen Systemen verwendet werden, um zu entscheiden, wann Bytes
in linearem Zusammenhang zu Zeilen-Ordinaten-Nummern aus der Matrix ausgelesen
werden. In einem solchen System steigt die Verzögerungs-Zunahme pro Zeile,
die Verschachtelungstiefe erhöht
sich entsprechend und als Folge davon verbessert sich der Schutz
gegen Fehler. Auf die gleiche Weise verschlechtert sich der Schutz
gegen Fehler, wenn die Verzögerungs-Zunahme
pro Zeile verringert wird. Um die Verschachtelungstiefe zu verringern,
können
abgehende Bytes in einer ersten speziellen Implementation der vorliegenden
Erfindung ausgelesen werden, wie in Anspruch 2 definiert.
-
In
der Tat ist die Anzahl der aus jeder Zeile der Matrix ausgelesenen
Datenbytes gleich der Ordinaten-Nummer der Zeile. Wie später erläutert wird, erfordert
diese Implementation das Vorhandensein eines Puffers sowohl im Verschachteler
als auch im Entschachteler.
-
In
einer zweiten speziellen Implementation des vorliegenden Verfahrens
zur Verschachtelung können
abgehende Datenbytes ausgelesen werden, wie in Anspruch 3 definiert,
um die Verschachtelungstiefe zu verringern.
-
Auf
diese Weise ist die Anzahl der aus jeder Zeile in der Matrix ausgelesenen
Datenbytes wieder gleich der Ordinaten-Nummer der Zeile. Die Leer-Bytes werden
im Verschachteler eingefügt,
aber im Entschachteler nicht entschachtelt. Ein Vorteil dieser Implementation
ist, dass am Entschachteler kein Puffer benötigt wird, aber die Größe des Verschachtelungs-Puffers hat sich
verdoppelt, wie später
noch gezeigt wird. Ein weiterer Vorteil ist, dass der Verschachteler
und der Entschachteler wie für
die erste spezielle Implementation erhalten werden können, und
die Störunempfindlichkeit
bleibt konstant, während
die Verschachtelungstiefe angepasst wird.
-
Um
die Verzögerungs-Zunahme
pro Zeile zu erhöhen,
wird in Anspruch 4 eine erste spezielle Implementation definiert,
und in Anspruch 5 wird eine zweite Implementation definiert.
-
Ähnlich wie
die in Anspruch 2 und 3 definierten Implementationen zur Verringerung
der Verzögerungs-Zunahme
kann die zweite Implementation auf weniger komplizierte Weise realisiert
werden und erfordert keinen Puffer im Verschachteler oder Entschachteler.
Die erste Implementation erfordert das Vorhandensein eines Puffers
im Verschachteler, realisiert aber einen besseren Durchsatz, da
keine Bandbreite für
Leer-Bytes benutzt wird.
-
Die
oben angegebenen und weitere Aufgaben und Eigenschaften der Erfindung
werden deutlicher, und die Erfindung selbst wird am besten verstanden,
wenn man auf die folgende Beschreibung einer Ausführung in
Zusammenhang mit den begleitenden Zeichnungen Bezug nimmt, in denen:
-
1 ein
Blockdiagramm einer Ausführung des
Kommunikationssystems gemäß der vorliegenden
Erfindung ist;
-
2 ein
Blockdiagramm einer Ausführung des
Verschachtelungs-Gerätes
INTERLEAVER gemäß der vorliegenden
Erfindung ist;
-
3 ein
Blockdiagramm einer Ausführung des
Entschachtelungs-Gerätes
DE-INTERLEAVER gemäß der vorliegenden
Erfindung ist;
-
4A eine
Zeichnung ist, die das Füllen des
Verschachtelungs-Speichers entsprechend dem bekannten Verfahren
mit Datenbytes während
eines stabilen Zustands zeigt, in dem die Verzögerungs-Zunahme M gleich 3
ist;
-
4B eine
Zeichnung ist, die das Füllen des
Entschachtelungs-Speichers entsprechend dem bekannten Verfahren
mit Datenbytes während
eines stabilen Zustands zeigt, in dem die Verzögerungs-Zunahme M gleich 3
ist;
-
5A eine
Zeichnung ist, die das Füllen des
Verschachtelungs-Speichers mit Datenbytes während eines Übergangszustands
zeigt, in dem die Verzögerungs-Zunahme
M von 3 auf 2 verringert wird;
-
5B eine
Zeichnung ist, die das Füllen des
Entschachtelungs-Speichers mit Datenbytes während dieses Übergangszustands
zeigt, in dem die Verzögerungs-Zunahme
M von 3 auf 2 verringert wird;
-
6A eine
Zeichnung ist, die das Füllen des
Verschachtelungs-Speichers mit Datenbytes während eines Übergangszustands
zeigt, in dem die Verzögerungs-Zunahme
M von 3 auf 4 erhöht
wird;
-
6B eine
Zeichnung ist, die das Füllen des
Entschachtelungs-Speichers mit Datenbytes während dieses Übergangszustands
zeigt, in dem die Verzögerungs-Zunahme
M von 3 auf 4 erhöht wird.
-
Das
in 1 gezeigte Kommunikationssystem besteht aus einem
Sender TX, einem Empfänger RX
und einer Übertragungsleitung
TL. Der Sender TX enthält
eine Datenquelle DATA SOURCE, einen Codierer ENCODER, ein Verschachtelungs-Gerät INTERLEAVER
und einen Modulator MOD. Der Empfänger RX enthält einen
Demodulator DMOD, ein Entschachtelungs-Gerät DE-INTERLEAVER, einen Decodierer DECODER
und eine Datensenke DATA SINK.
-
Ein
Ausgang des Senders TX ist über
die Übertragungsleitung
TL an einen Eingang des Empfängers
RX angeschlossen. Im Sender TX sind die Datenquelle DATA SOURCE,
der Codierer ENCODER, der Verschachteler INTERLEAVER und der Modulator
MOD in Reihe geschaltet. Ein Ausgang des Modulators MOD ist über den
Sender-Ausgang an die Übertragungsleitung
TL angeschlossen. Das andere Ende der Übertragungsleitung TL ist über den Empfänger-Eingang
an einen Eingang des Demodulators DMOD angeschlossen. Im Empfänger RX
sind der Demodulator DMOD, der Entschachteler DE-INTERLEAVER, der
Decodierer DECODER, und die Datensenke DATA SINK in Reihe geschaltet.
-
Die
Datenquelle DATA SOURCE erzeugt einen Datenstrom, der Anwender-Datenbytes
und/oder Kopfinformations-Datenbytes enthalten kann. Eine feste
Menge dieser Bytes bildet ein einzelnes Wort, und jedes dieser Worte
wird vom Codierer ENCODER codiert. Das hat zur Folge, dass der Codierer ENCODER
jedes der Worte gemäß einem
vordefinierten mathematischen Verfahren erweitert, indem er redundante
Bytes hinzufügt.
Diese redundanten Bytes und die mathematischen Verfahren versetzen den
Empfänger
RX in die Lage, Fehler in übertragenen
Worten zu erkennen und wahrscheinlich zu korrigieren. Die vom Codierer
ENCODER erzeugten erweiterten Worte werden Codeworte genannt und
bilden einen eintreffenden Datenstrom ID für den Verschachteler INTERLEAVER.
Indem er die Reihenfolge der Datenbytes unterschiedlicher Codeworte
des eintreffenden Datenstroms ID umsortiert, erzeugt der Verschachteler
INTERLEAVER einen abgehenden verschachtelten Datenstrom, OID, der
besser gegen impulsförmige
Störungen
auf der Übertragungsleitung
TL geschützt
ist als der eintreffende Datenstrom ID. Der Modulator MOD moduliert
schließlich
die Datensymbole, d.h. Kombinationen von Datenbits des Datenstroms
OID, die einen Punkt im Konstellationsschema des Modulationsverfahrens
darstellen, auf einen oder mehrere Träger, um sie über die Übertragungsleitung
TL zu übertragen.
-
Am
Empfänger
RX demoduliert der Demodulator DMOD die Datensymbole von dem/den
Träger(n)
und erzeugt aus den demodulierten Datensymbolen einen Strom von
Datenbytes, der eintreffender verschachtelter Datenstrom IID genannt
wird. Die Reihenfolge der Bytes des eintreffenden verschachtelten
Datenstroms IID wird im Entschachteler DE-INTERLEAVER so umsortiert,
dass die Wirkung des Verschachtelers INTERLEAVER auf die Reihenfolge
der Bytes kompensiert wird, und der erzeugte abgehende Datenstrom
OD wieder die ursprüngliche Reihenfolge
der Datenbytes enthält.
Im Decoder DECODER werden Übertragungsfehler
erkannt und korrigiert, indem die oben erwähnten mathematischen Verfahren
angewendet und die Informationen der hinzugefügten redundanten Bytes benutzt
werden. Der so bestimmte Datenstrom wird dann an die Datensenke
DATA SINK angelegt, die jede Art von Endgerät, Schnittstelle oder ähnliches
sein kann.
-
In
dem in 1 gezeigten Kommunikationssystem sind der Verschachteler
INTERLEAVER und der Entschachteler DE-INTERLEAVER so konstruiert, dass sie
für den übertragenen
Datenstrom eine von der Übertragungsrate
unabhängige
Unempfindlichkeit gegen impulsförmige
Störungen
bieten. Die Struktur des Verschachtelers INTERLEAVER und des Entschachtelers
DE-INTERLEAVER, die diese Aufgabe realisieren, ist in 2,
bzw. 3 gezeigt und wird in den folgenden Abschnitten
detailliert beschrieben.
-
Der
Verschachteler INTERLEAVER in 2 enthält Schreib-Mittel WRITE, Lese-Mittel
READ, einen Speicher MEM, einen Adressgenerator ADDRESS und eine
Steuerung CTRL. Der Speicher MEM ist mit einer dreieckig geformten
Matrix MAT aus Speicherzellen ausgestattet, in der jede Zeile aus einer
First-In-First-Out-Warteschlange aus Speicherzellen besteht. In 2 werden
fünf Zeilen
der Matrix MAT mit den entsprechenden Ordinaten 0, 1, 2, 3 und 4
durch die Warteschlangen Fifo0, Fifo1, Fifo2, Fifo3 und Fifo4 gebildet,
die eine schrittweise ansteigende Länge haben, wobei die Zunahme
pro Zeile M = 3 ist.
-
Die
Schreib-Mittel WRITE, die Speicher-Mittel MEM und die Lese-Mittel
READ sind zwischen dem Eingang der eintreffenden Daten ID und einem Ausgang
für die
verschachtelten Daten OID des Verschachtelers INTERLEAVER in Reihe
geschaltet. Ein Ausgang der Steuerung CTRL und ein Steuereingang
CI des Adressgenerators ADDRESS sind miteinander verbunden, und
zwei Ausgänge
des Adressgenerators ADDRESS sind an Adresseingänge AI1 der Schreib-Mittel
WRITE, bzw. AI2 der Lese-Mittel READ angeschlossen.
-
Die
eintreffenden Datenbytes, die über
seinen Eingang für
eintreffende Daten ID an den Verschachteler INTERLEAVER angelegt
werden, werden in hinten liegende Speicherzellen der Warteschlangen
der Verschachtelungs-Matrix MAT geschrieben. Gleichzeitig werden
abgehende Datenbytes durch die Lese-Mittel READ aus den vorne liegenden
Speicherzellen der Warteschlangen der Matrix MAT ausgelesen und
an den Ausgang für
abgehende Daten OID des Verschachtelers INTERLEAVER angelegt. In
welcher Warteschlange die Schreib-Mittel WRITE eintreffende Datenbytes
zu speichern haben, und aus welchen Speicherzellen die Lese-Mittel READ abgehende
Datenbytes auszulesen haben, wird durch die vom Adressgenerator ADDRESS
erzeugten Adressen definiert. In der Tat erzeugt der Adressgenerator
ADDRESS eine erste Sequenz von Zeilen-Ordinaten oder Schreibadressen,
die anzeigen, an welche Zeilen der Verschachtelungs-Matrix MAT nachfolgend
eintreffende Datenbytes angelegt werden müssen, und eine zweite Sequenz
von Zeilen-Ordinaten oder Leseadressen, die anzeigen, von welchen
Zeilen der Verschachtelungs-Matrix MAT nachfolgend abgehende Datensymbole
ausgelesen werden müssen.
Wie beide Sequenzen aussehen, ist von dem Zustand abhängig, in den
der Adressgenerator ADDRESS von der Steuerung CTRL geschaltet wird.
In den folgenden Abschnitten werden drei Zustände kurz beschrieben, in die
der Adressgenerator ADDRESS geschaltet werden kann.
-
Wenn
der Adressgenerator ADDRESS in einen stabilen Zustand geschaltet
wird, werden nachfolgend eintreffende Datenbytes auf umlaufende Weise
an aufeinander folgende Zeilen der Matrix MAT angelegt. Mit Bezug
auf 2 bedeutet dies, dass ein erstes eintreffendes
Datenbyte an Fifo0, ein zweites an Fifo1, ein drittes an Fifo2,
ein viertes an Fifo3, ein fünftes
an Fifo4, ein sechstes wieder an Fifo0 angelegt wird, und so weiter.
In diesem stabilen Zustand werden nachfolgende abgehende Datenbytes
aus aufeinander folgenden Zeilen der Matrix MAT auf umlaufende Weise
ausgelesen. Dies wird zum Beispiel realisiert, wenn die eintreffende
und die abgehende Datenrate gleich ist und ein Byte aus jeder Zeile
ausgelesen wird, in die ein Byte eingeschrieben ist. Da die Zeilen
unterschiedliche Längen haben,
werden nacheinander gelesene Datenbytes nicht nacheinander in die
Matrix MAT geschrieben.
-
Wenn
der Adressgenerator ADDRESS in einen Übergangszustand geschaltet
wird, in dem die Verschachtelungstiefe verringert wird, wird die
Anzahl von Datenbytes, die aus jeder Zeile der Matrix MAT ausgelesen
wird, positiv linear mit der Ordinate dieser Zeile verknüpft. Am
Ende dieses Übergangszustandes
wird der Zunahme-Parameter M verringert, und die mittlere Verschachtelungs-Verzögerung (die
Zeit zwischen dem Eintreten und Verlassen des Verschachtelers INTERLEAVER
für ein
einzelnes Datenbyte) wird ebenfalls verringert.
-
Wenn
der Adressgenerator ADDRESS in einen Übergangszustand geschaltet
wird, in dem die Verschachtelungstiefe erhöht wird, wird die Anzahl von
Datenbytes, die aus jeder Zeile der Matrix MAT ausgelesen wird,
negativ linear mit der Ordinate dieser Zeile verknüpft. Am
Ende dieses Übergangszustandes
wird der Zunahme-Parameter M erhöht,
und die mittlere Verschachtelungs-Verzögerung
wird ebenfalls erhöht.
-
Zusammenfassend
kann man sagen, dass die Sequenz des Auslesens von Datenbytes aus
dem Verschachteler INTERLEAVER sich in verschiedenen Zuständen unterscheidet.
Weitere Einzelheiten hierzu werden später angegeben. Zunächst wird
die Struktur des in 3 gezeigten Entschachtelers DE-INTERLEAVER beschrieben.
-
Der
Entschachteler DE-INTERLEAVER in 3 enthält Schreib-Mittel
WRITE', Lese-Mittel READ', einen Speicher
MEM', einen Adressgenerator
ADDRESS' und eine
Steuerung CTRL'.
Der Speicher MEM' ist
mit einer dreieckig geformten Matrix MAT' aus Speicherzellen ausgestattet, in
der jede Zeile aus einer First-In-First-Out-Warteschlange aus Speicherzellen
besteht. In 3 werden fünf Zeilen der Matrix MAT' mit den entsprechenden
Ordinaten 0, 1, 2, 3 und 4 durch die Warteschlangen Fifo0', Fifo1', Fifo2', Fifo3' und Fifo4' gebildet, die eine
schrittweise kleiner werdende Länge
haben, wobei die Abnahme pro Zeile M = 3 ist.
-
Die
Schreib-Mittel WRITE',
die Speicher-Mittel MEM' und
die Lese-Mittel READ' sind
zwischen dem Eingang der eintreffenden verschachtelten Daten IID
und dem Ausgang für
die abgehenden Daten OD des Entschachtelers DE-INTERLEAVER in Reihe geschaltet.
Ein Ausgang der Steuerung CTRL' und ein
Steuereingang CI' des
Adressgenerators ADDRESS' sind
miteinander verbunden, und zwei Ausgänge des Adressgenerators ADDRESS' sind an Adresseingänge AI1' der Schreib-Mittel
WRITE', bzw. AI2' der Lese-Mittel
READ' angeschlossen.
-
Die
eintreffenden verschachtelten Datenbytes, die über seinen Eingang für eintreffende
verschachtelte Daten IID an den Entschachteler DE-INTERLEAVER angelegt
werden, werden in hinten liegende Speicherzellen der Warteschlangen
der Entschachtelungs-Matrix MAT' geschrieben.
In der Zwischenzeit werden abgehende Datenbytes durch die Lese-Mittel
READ' aus den vorne
liegenden Speicherzellen der Warteschlangen der Matrix MAT' ausgelesen und an
den Ausgang für
abgehende Daten OD des Entschachtelers DE-INTERLEAVER angelegt.
In welche Speicherzellen die Schreib-Mittel WRITE' Datenbytes zu speichern
haben, und aus welchen Speicherzellen die Lese-Mittel READ' Datenbytes auszulesen haben, wird durch
die vom Adressgenerator ADDRESS' erzeugten
Adressen definiert. Dieser Adressgenerator ADDRESS' erzeugt eine erste
Sequenz von Zeilen-Ordinaten oder Schreibadressen, die anzeigen,
an welche Zeilen der Verschachtelungs-Matrix MAT' nachfolgend eintreffende verschachtelte
Datenbytes angelegt werden müssen,
und eine zweite Sequenz von Zeilen-Ordinaten oder Leseadressen,
die anzeigen, von welchen Zeilen der Verschachtelungs-Matrix MAT' nachfolgend abgehende
Datenbytes ausgelesen werden müssen.
Wie beide Sequenzen aussehen, ist von dem Zustand abhängig, in
den der Adressgenerator ADDRESS' von
der Steuerung CTRL' geschaltet wird.
In den folgenden Abschnitten werden drei Zustände kurz beschrieben, in die
der Adressgenerator ADDRESS' geschaltet
werden kann.
-
Wenn
der Adressgenerator ADDRESS' in
einen stabilen Zustand geschaltet wird, werden nachfolgend eintreffende
verschachtelte Datenbytes an aufeinander folgende Zeilen der Matrix
MAT' angelegt, und
nachfolgend abgehende Datenbytes werden aus aufeinander folgenden
Zeilen der Matrix MAT' auf
umlaufende Weise ausgelesen. Somit wird jedes Mal, wenn ein eintreffendes
Byte in die vorne liegende Speicherzelle einer Warteschlange geschrieben
wird, ein abgehendes Byte aus dieser Warteschlange ausgelesen. Da
die Summe der Längen einer
Warteschlange im Verschachteler INTERLEAVER in 2 und
der Länge
der entsprechenden Warteschlange im Entschachteler DE-INTERLEAVER in 3 konstant
ist, ist die globale Verschachtelungs-/Entschachtelungs-Verzögerung für alle Bytes
gleich.
-
Wenn
der Adressgenerator ADDRESS' in
einen Übergangszustand
geschaltet wird, in dem die Verschachtelungstiefe verringert wird,
wird die Anzahl von Datenbytes, die in jede Zeile der Matrix MAT' eingeschrieben wird,
positiv linear mit der Ordinate dieser Zeile verknüpft. Am
Ende dieses Übergangszustandes
wird der Abnahme-Parameter M verringert, und die mittlere Entschachtelungs-Verzögerung (die
Zeit zwischen dem Eintreten und Verlassen des Entschachtelers DE-INTERLEAVER)
wird ebenfalls verringert.
-
Wenn
der Adressgenerator ADDRESS' in
einen Übergangszustand
geschaltet wird, in dem die Verschachtelungstiefe erhöht wird,
wird die Anzahl von Datenbytes, die in jede Zeile der Matrix MAT' eingeschrieben wird,
negativ linear mit der Ordinate dieser Zeile verknüpft. Am
Ende dieses Übergangszustandes
wird der Abnahme-Parameter M erhöht,
und die mittlere Entschachtelungs-Verzögerung wird ebenfalls erhöht.
-
Zusammenfassend
kann man sagen, dass die Sequenz des Schreibens von Datenbytes in
den Entschachteler DE-INTERLEAVER sich in verschiedenen Zuständen unterscheidet.
Weitere Einzelheiten hierzu werden in den nächsten Abschnitten angegeben.
-
Das
Füllen
der Verschachtelungs- und Entschachtelungs-Matrizen MAT und MAT' in den oben definierten Zuständen wird
nun detaillierter beschrieben. Zunächst wird mit Bezug auf 4A und 4B das
Füllen
der Matrizen MAT und MAT' beschrieben,
wenn die Adressgeneratoren ADDRESS und ADDRESS' im stabilen Zustand arbeiten, in dem der
Verzögerungs-Zunahme-Parameter M gleich
3 ist. Zweitens wird angenommen, dass die Adressgeneratoren ADDRESS
und ADDRESS' in
den Übergangszustand
gebracht werden, in dem der Verzögerungs-Zunahme-Parameter
M von 3 auf 2 verringert wird. Zur Erklärung des Füllens von MAT und MAT' in diesem Zustand
wird auf 5A und 5B Bezug genommen.
In einem letzten Abschnitt werden die Adressgeneratoren ADDRESS
und ADDRESS' in den Übergangszustand
gebracht, in dem der Verzögerungs-Zunahme-Parameter
M von 3 auf 4 erhöht wird.
Das Füllen
von MAT und MAT' in
diesem letzten Zustand wird mit Bezug auf 6A und 6B beschrieben.
-
In 4A ist
die Matrix MAT gezeigt. Jede Zeile der Matrix MAT wird durch einen First-In-First-Out-Speicher
gebildet, dessen hinten liegende Speicherzelle auf der linken Seite
und dessen vorne liegende Speicherzelle auf der rechten Seite liegt.
Wenn ein Byte an eine Zeile von Matrix MAT angelegt wird, wird es
somit in der hinten liegenden Speicherzelle gespeichert. Bevor dieses
Byte in die hinten liegende Speicherzelle geschrieben wird, wird
jedoch das Byte in der vorne liegenden Speicherzelle ausgelesen,
und alle Bytes in dem First-In-First-Out-Speicher werden eine Position
in Richtung auf die vorne liegende Speicherzelle verschoben. Ein
solcher First-In-First-Out-Speicher kann in Hardware (z.B. als Schieberegister)
oder Software realisiert werden (indem die Zeiger auf die hinten
und die vorne liegende Speicherzelle jedes Mal, wenn ein Byte geschrieben
oder gelesen wird, mit einem Programm angepasst werden). Die Schreib-Lese-Verzögerung,
die ein an eine Zeile der Matrix MAT angelegtes Byte erfährt, ist
proportional zur Länge
des First-In-First-Out-Speichers,
der diese Zeile bildet. Die in 4A gezeigte
Matrix enthält
5 Zeilen mit den Ordinaten 0, 1, 2, 3 und 4 und First-In-First-Out-Speicher
Fifo0, Fifo1, Fifo2, Fifo3 und Fifo4. Die Verzögerung, die ein Byte in MAT
erfährt,
ist gleich j.M.l. Hierin ist j die Ordinate der Zeile, M ist die
Verzögerungs-Zunahme
pro Zeile, und l ist die Anzahl der Zeilen in der Matrix MAT.
-
Die
Entschachtelungs-Matrix MAT' in 4B ist
gleich der Verschachtelungs-Matrix MAT in 4A, die
Zeilen-Ordinaten sind jedoch umgekehrt, so dass Zeilen-Ordinaten,
die in der Verschachtelungs-Matrix MAT kurzen First-In-First-Out-Speichern entsprechen,
in der Entschachtelungs-Matrix MAT' langen First-In-First-Out-Speichern
entsprechen.
-
Wenn
ein Byte an eine Zeile im Verschachteler INTERLEAVER angelegt wird,
zum Beispiel Zeile 2, wird es in der hinten liegenden Speicherzelle
von Fifo2 gespeichert, nachdem ein Byte aus der vorne liegenden
Speicherzelle von Fifo2 ausgelesen wurde, um über die in 1 gezeigte Übertragungsleitung
TL übertragen
zu werden. Bei Empfang am Entschachteler DE-INTERLEAVER wird dieses
Byte in der hinten liegenden Speicherzelle von Fifo2' gespeichert, nachdem
ein Byte aus der vorne liegenden Speicherzelle von Fifo2' ausgelesen wurde.
Da die Summe der Schreib-Lese-Verzögerung einer Zeile des Verschachtelers
INTERLEAVER und der der entsprechenden Zeile im Entschachteler DE-INTERLEAVER
konstant ist, erfährt
jedes Byte dieselbe globale Verzögerung.
Nacheinander eintreffende Bytes werden in aufeinander folgende Zeilen
der Matrix MAT eingeschrieben. Das erste Byte erfährt keine Verschachtelungs-Verzögerung und
wird sofort zum Empfänger übertragen.
Fifo0 ist daher in 4A eine leere Warteschlange.
Das zweite Byte wird in Fifo1 geschrieben, was in 4A mit
w2 gekennzeichnet ist. Das dritte Byte, vierte Byte und fünfte Byte
wird an Fifo2, Fifo3, bzw. Fifo4 angelegt und füllt die mit w3, w4 und w5 bezeichneten
Speicherzellen. Das sechste Byte durchläuft wieder Fifo0 und erfährt keine
Verschachtelungs-Verzögerung,
und die Bytes 7, 8, 9 und 10 werden nacheinander in den neuen hinten
liegenden Speicherzellen von Fifo1, Fifo2, Fifo3 und Fifo4 gespeichert,
die mit w7, w8, w9, bzw. w10 bezeichnet sind. Während Bytes in die hinten liegenden Speicherzellen
der Warteschlangen geschrieben werden, werden Bytes aus den vorne
liegenden Speicherzellen ausgelesen. Somit wird das erste Byte ohne
Verschachtelungs-Verzögerung übertragen
und wird von den Bytes r2, r3, r4, r5 gefolgt, die aus Fifo1, Fifo2,
Fifo3, bzw. Fifo4 ausgelesen werden. Dann wird wieder ein Byte ohne
Verschachtelungs-Verzögerung übertragen,
und auf dieses folgen die Bytes r7, r8, r9 und r10. Die in 4B verwendeten
Indizes mit den vorangestellten Buchstaben w und r zeigen auf ähnliche
Weise, wie der verschachtelte eintreffende Strom von Bytes in der
Entschachtelungs-Matrix MAT' gespeichert
und aus ihr ausgelesen wird, um den nicht verschachtelten Ausgangs-Datenstrom zu bilden.
In 4B ist Fifo4' eine
leere Warteschlange, die anzeigt, dass an diese Zeile angelegte
Bytes keine Entschachtelungs-Verzögerung erfahren.
-
Es
wird angenommen, dass während
des stabilen Zustandes des Systems die verschiedenen Bitraten an
den Eingängen
und den Ausgängen
des Verschachtelers und Entschachtelers gleich sind. Die Verschachtelungstiefe
D ist gleich l·M
+ 1. Hierin ist 1 wieder die Anzahl von Zeilen der Verschachtelungs-Matrix
MAT.
-
Der Übergangszustand,
in dem M von 3 auf 2 verringert wird, wird eingenommen, indem ein
Byte w1 in eine Speicherzelle von Fifo0 geschrieben wird. Statt
ein Byte aus Fifo0 auszulesen, wird nun ein Byte r1 aus Fifo4 ausgelesen.
Die nächsten
zu übertragenden
Bytes werden ausgelesen aus:
- – Fifo3
(r2) und Fifo4 (r3);
- – Fifo2
(r4), Fifo3 (r5) und Fifo4 (r6);
- – Fifo1
(r7), Fifo2 (r8), Fifo3 (r9) und Fifo4 (r10).
-
In
der Zwischenzeit werden die Bytes w2 bis w10 in den Speicher des
Verschachtelers geschrieben. Die Bytes, die aus der Matrix MAT im
Verschachteler ausgelesen werden, werden zum Empfänger übertragen
und im Entschachteler in entsprechenden Zeilen der Matrix MAT' gespeichert. Die Bytes
r1 bis r10 von 5A repräsentieren somit die Bytes w1' bis w10' in 5B.
Auf ähnliche
Weise werden die Bytes r1' bis
r10' aus der Matrix
MAT' ausgelesen,
um den entschachtelten Ausgangs-Datenstrom
zu bilden, der an den Decodierer in 1 angelegt
wird. Die Bytes, die während
des Übergangszustandes
geschrieben und gelesen werden, sind in 5A und 5B grau
schattiert. Am Ende des Übergangszustandes
ist ein Puffer BUF der Größe l·(l – 1)/2 sowohl
im Verschachteler (siehe 5A), als auch
im Entschachteler (siehe 5B) vorhanden. Um
einen Verschachteler mit einem Verzögerungs-Zunahme-Parameter M
= 2 zu erhalten, müssen
diese beiden Puffer BUF geleert werden. Der Speicherbedarf zur Durchführung des Übergangs von M
= 3 auf M = 2 ist somit l(l – 1)/2
Bytes im Verschachteler und im Entschachteler. Dieser Speicher kann
durch eine vergrößerte Kapazität der First-In-First-Out-Warteschlangen
der Matrizen MAT und MAT' bereitgestellt
werden, oder er kann durch einen normalen Speicher ohne eine First-In-First-Out-Struktur
implementiert werden.
-
Es
soll darauf hingewiesen werden, dass statt nur Nutz-Bytes über die Übertragungsleitung
TL zu übertragen,
Leer-Bytes in dem
gesendeten Datenstrom eingefügt
werden können.
Solche Leer-Bytes werden nicht entschachtelt. Eine alternative Übertragungs-Sequenz
für die
oben beschriebene ist:
- – 4 Leer-Bytes werden gesendet,
Byte r1 aus Fifo4 wird gesendet;
- – 3
Leer-Bytes werden gesendet, Byte r2 und r3 aus Fifo3 und Fifo4 werden
gesendet;
- – 2
Leer-Bytes werden gesendet, Byte r4, r5 und r6 aus Fifo2, Fifo3
und Fifo4 werden gesendet;
- – 1
Leer-Byte wird gesendet, Byte r7, r8, r9 und r10 aus Fifo1, Fifo2,
Fifo3 und Fifo4 werden gesendet.
-
Im
Vergleich zur obigen Version des Übergangszustandes hat die letztgenannte
Implementation den Nachteil, dass ein Teil der Bandbreite der Übertragungsleitung
TL für
die Übertragung
von Leer-Bytes benutzt wird, hat aber den Vorteil, dass während der Änderung
von M die Störunempfindlichkeit
nicht verloren geht. Die letztgenannte Implementation erfordert
darüber
hinaus keinen Puffer BUF im Entschachteler, aber die Größe des Puffers
im Verschachteler hat sich verdoppelt.
-
Wenn
die Senderate für
die Übertragung über die
Leitung TL steigt, muss die Verschachtelungstiefe D auch steigen,
um die Unempfindlichkeit gegen impulsförmige Störungen konstant zu halten. Dies
kann wieder dadurch realisiert werden, dass M und die Struktur der
Matrizen MAT und MAT' manipuliert
werden. In den folgenden Abschnitten wird geklärt, wie M während der in 6A und 6B gezeigten Übergangszustände von
3 auf 4 erhöht
werden kann.
-
Die Übergangsphase
zur Erhöhung
von M von 3 auf 4 wird ausgelöst,
indem ein Puffer BUF mit l·(l – 1) Bytes
im Verschachteler gefüllt
wird. Anschließend
wird folgende Sequenz von Bytes gesendet:
- – Ein Byte
(r1) aus Fifo0;
- – Ein
Byte (r2) aus Fifo0 und ein Byte (r3) aus Fifo1;
- – Ein
Byte (r4) aus Fifo0, ein Byte (r5) aus Fifo1 und ein Byte (r6) aus
Fifo2;
- – Ein
Byte (r7) aus Fifo0, ein Byte (r8) aus Fifo1, ein Byte (r9) aus
Fifo2 und ein Byte (r10) aus Fifo3.
-
Während dieses Übergangszustandes
werden über
die Übertragungsleitung
TL übertragene Bytes
in die entsprechenden Zeilen des Entschachteler-Speichers geschrieben,
aber keine Bytes werden aus dem Entschachteler-Speicher ausgelesen.
Nach dem Übergangszustand
kehren der Entschachteler und der Verschachteler in den stabilen
Zustand mit der Verzögerungs-Zunahme-Schrittweite
M = 4 zurück.
Im Verschachteler-Speicher enthält
ein Puffer BUF von l·(l – 1)/2 Speicherzellen
nun Bytes. Um einen Verschachteler mit der Verzögerungs-Zunahme M = 4 zu erhalten,
muss dieser Puffer BUF geleert werden. Der Speicherbedarf zur Durchführung des Übergangs
von M = 3 auf M = 4 ist l·(l – 1) Bytes
im Verschachteler. Dieser kann wieder durch eine vergrößerte Kapazität der First-In-First-Out-Speicher FifoO,
Fifo1, Fifo2, Fifo3 und Fifo4 der Matrix MAT bereitgestellt werden,
oder der Puffer BUF kann durch einen normalen Speicher ohne First-In-First-Out-Struktur
implementiert werden.
-
Es
soll darauf hingewiesen werden, dass statt nur Nutz-Bytes über die Übertragungsleitung
TL zu übertragen,
man erneut an eine alternative Implementation denken kann, in der
Leer-Bytes gesendet werden. Die Sequenz zur Übertragung von Bytes kann dann
folgende sein:
- – Ein Byte (r1) aus Fifo0,
gefolgt von 4 Leer-Bytes;
- – Ein
Byte (r2) aus Fifo0 und ein Byte (r2) aus Fifo1, gefolgt von 3 Leer-Bytes;
- – Ein
Byte (r4) aus Fifo0, ein Byte (r5) aus Fifo1 und ein Byte (r6) aus
Fifo2, gefolgt von 2 Leer-Bytes; und
- – Ein
Byte (r7) aus Fifo0, ein Byte (r8) aus Fifo1, ein Byte (r9) aus
Fifo2 und ein Byte (r10) aus Fifo3, gefolgt von einem Leer-Byte.
-
Im
Vergleich zur ersten Version hat die letztgenannte Implementation
des Übergangszustandes den
Nachteil, dass ein Teil der Bandbreite der Übertragungsleitung TL für die Übertragung
von Leer-Bytes benutzt wird, hat aber den Vorteil, dass während der Änderung
von M die Störunempfindlichkeit
nicht verloren geht. Die letztgenannte Implementation erfordert
darüber
hinaus keinen Puffer im Verschachteler und der Adressgenerator kann
weniger kompliziert sein.
-
Es
soll darauf hingewiesen werden, dass die Anwendbarkeit der vorliegenden
Erfindung nicht durch das Übertragungsmedium
der Übertragungsleitung
TL eingeschränkt
wird. Insbesondere kann jede beliebige Verbindung zwischen dem Sender
TX und dem Empfänger
RX, z.B. eine Kabelverbindung, eine Telefonleitung, eine Satellitenverbindung,
eine optische Faser, eine Funkverbindung über die Luft und so weiter
durch impulsförmige
Störungen
beeinflusst werden und kann somit durch ein Verfahren gemäß der vorliegenden
Erfindung geschützt
werden.
-
Die
vorliegende Erfindung ist sehr geeignet für den Einsatz in VDSL-(Very
High Speed Digital Subscriber Line)-Modems oder ähnlichem. Diese Modems übertragen
digitale Daten mit hohen Bitraten über Telefonleitungen. Die Telefonleitungen
können
durch mehrere Quellen impulsförmiger
Störungen
beeinträchtigt
werden, insbesondere wenn die Leitungen oberirdisch verlegt sind.
Funkstörungen von
Funkamateuren, kritische Wetterbedingungen, Transienten durch Klingeln
und Einhängen
sind einige der Störquellen,
durch welche die Übertragung über solche
Telefonleitungen beeinflusst wird. Obwohl die vorliegende Erfindung
eine interessante Lösung
zur Bereitstellung einer von der Übertragungsrate unabhängigen Unempfindlichkeit
gegen impulsförmige
Störungen
in solchen VDSL-Systemen ist, ist die Anwendbarkeit der vorliegenden
Erfindung nicht auf diese Systeme oder auf ähnliche Systeme, die denselben
Typ von Modulation und/oder Codierung haben, begrenzt. Wie ein Fachmann
erkennt, sind die Modulations-Konstellation
und das Codierverfahren, das vom Modulator, bzw. dem Codierer verwendet wird,
für die
vorliegende Erfindung nicht von Bedeutung.
-
Es
wird weiterhin darauf hingewiesen, dass der Sender TX und der Empfänger RX
gemäß der vorliegenden
Erfindung in einen einzigen Transceiver integriert werden können. Dies
ist so in Modems, die Daten zu und von einer bidirektionalen Übertragungsleitung
senden und empfangen. In dem Fall, dass der Sender und der Empfänger integriert
sind, können
die dreieckigen Verschachtelungs- und Entschachtelungs-Matrizen
MAT und MAT' so
gruppiert werden, dass sie eine rechteckige Verschachtelungs-/Entschachtelungs-Matrix
bilden. Offensichtlich können
auch die Funktionalitäten
beider Schreib-Mittel WRITE und WRITE', beider Lese-Mittel READ und READ', beider Adressierungs-Mittel ADDRESS
und ADDRESS' und
beider Steuerungen CTRL und CTRL' kombiniert
und in eine Schreib-Einheit, eine Lese-Einheit, eine Adressierungs-Einheit, bzw. eine
Steuereinheit integriert werden.
-
Es
wird weiterhin darauf hingewiesen, dass mit der vorliegenden Erfindung
der Verzögerungs-Zunahme-Parameter
M um mehr als eine Einheit erhöht
oder verringert werden kann. Sowohl für den Erhöhungs- als auch den Verringerungs-Prozess reicht
es aus, die oben beschriebenen Übergangszustände mehr
als einmal auszuführen.
-
Obwohl
die Prinzipien der vorliegenden Erfindung oben in Verbindung mit
einer speziellen Vorrichtung beschrieben wurden, muss deutlich verstanden
werden, dass diese Beschreibung nur als Beispiel erfolgt und nicht
als Einschränkung
des Umfangs der Erfindung.