DE60204994T2 - Reduzieren von Szintillationseffekten bei optischer Freiraumübertragung - Google Patents

Reduzieren von Szintillationseffekten bei optischer Freiraumübertragung Download PDF

Info

Publication number
DE60204994T2
DE60204994T2 DE60204994T DE60204994T DE60204994T2 DE 60204994 T2 DE60204994 T2 DE 60204994T2 DE 60204994 T DE60204994 T DE 60204994T DE 60204994 T DE60204994 T DE 60204994T DE 60204994 T2 DE60204994 T2 DE 60204994T2
Authority
DE
Germany
Prior art keywords
sdram
read
write
page
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60204994T
Other languages
English (en)
Other versions
DE60204994D1 (de
Inventor
Marc J. Randolph Township Beacken
Alex Randolph Township Pidwerbetsky
Dennis M. Morristown Romain
Richard R. Shively
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE60204994D1 publication Critical patent/DE60204994D1/de
Application granted granted Critical
Publication of DE60204994T2 publication Critical patent/DE60204994T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)
  • Road Signs Or Road Markings (AREA)
  • Optical Communication System (AREA)

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die optische Freiraumübertragung neigt zu einer Leistungsminderung, die aus den Szintillationseffekten im Übertragungsmedium hervorgeht. Die optischen Freiraumsignale erfahren von der Szintillation einen Schwund über Zeiten in der Größenordnung von mehreren Millisekunden. Während dieser Zeiten kann ein Signal von mehreren Gigabit/Sekunde einige Zehnmillionen Bits verlieren. Zum Beispiel ist ein Schwundereignis von 8 Millisekunden in einem Datenstrom von 2,5 Gigabit/Sekunde gleich einem Verlust von 20.000.000 Bits zu setzen.
  • Wenn ein Datenstrom über optische Fasern übertragen wird, dann wird die blockorientierte Vorwärts-Fehlerkorrektur (FEC) in großem Umfange verwendet. Die Leistungsminderung jedoch, die aus den Szintillationseffekten in der optischen Freiraumübertragung hervorgeht, kann Millionen von Bits dauern im Vergleich zu der üblicherweise weit kürzeren Dauer der Fehlerhäufungen in den optischen Fasermedien. Der Einzelblock-FEC-Fehlerkorrekturprozess ist deshalb außerordentlich unpraktikabel für die Korrektur von Fehlern der Längen, die in der optischen Freiraumübertragung auftreten. Für solche großen Fehlerhäufungen ist es wegen der Echtzeitcharakters der Kommunikationsprozesse, wie z.B. von Video, auch nicht praktikabel, das Problem, das aus den Szintillationseffekten hervorgeht, durch eine selektive Wiederübertragung von betroffenen Blöcken zu behandeln.
  • Die Praxis des Verschränkens oder Ineinandermischens von Datenströmen wird verwendet, um eine größere Robustheit und Rauschminderung bei vielen Kommunikationsanwendungen zu erreichen. Das allgemeine Prinzip, wie es in der Veröffentlichung „Fehlerkorrigierende Codes" von W. Peterson und E. J. Weldon, MIT Press (1972), S. 371, dargelegt ist, besteht darin, dass ein t-fehlerkorrigierender Code, der bis zum Grad i verschränkt ist, in der Lage ist, alle Einzelanhäufungen der Länge i·t oder darunter zu korrigieren. Durch das Verschränken kann die Fehlerhäufung so bearbeitet werden, dass sie die Wirkung vieler isolierter Fehler hat, vorausgesetzt dass die Daten über eine Spanne verschränkt sind, die groß im Vergleich zur Häufungsdauer ist. Der Reed-Solomon-Code ist ein solcher fehlerkorrigierender Code, der das Verschränken für viele Kommunikationsanwendungen einsetzt, einschließlich zum Beispiel für die Datenübertragung in umbauten Räumen, wie in der am 27. Oktober 1999 veröffentlichten Europäischen Patentanmeldung EP 0 952 689 A2 beschrieben ist.
  • Die Verschränkung ist deshalb ein Kandidat für eine Fehlerkorrektur von Szintillationseffekten in der optischen Freiraumübertragung, weil sie in der Theorie Fehlerhäufungen korrigieren kann, die über einige Zehnmillionen aufeinander folgender Bits andauern. Bei einem Korrigieren einiger Zehnmillionen Bits in einer Fehlerhäufung innerhalb eines einzelnen Kodeblocks ist jedoch für das Kommunikationsterminal ein außerordentlich großer Kodierer/Dekodierer und Pufferspeicher unter den geläufigen Terminal-Konzeptentwürfen erforderlich. Erwägungen hinsichtlich der Kosten, der Größe und des Energieverbrauchs der Szintillationseffekt-Fehlerkorrekturvorrichtung müssen zu Einschränkungen bei der Realisierung eines kommerziell praktikablen Kommunikationsterminals führen.
  • Es sind Synchrone Dynamische Schreib-Lese-Speicher(SDRAM)-Geräte verfügbar, die ein praktikables Mittel zur Verwirklichung der großen Permutationsmatrix-Kapazität, die für das Verschränken erforderlich ist, bereitstellen. Die SDRAM-Zeilen oder „Seiten" verursachen jedoch einen beträchtlichen Mehrzyklus-Overheadaufwand, sooft ein Wechsel der Zeilenadresse, d.h. ein „Seiten"-Wechsel, nötig wird. Das Spalten adressfeld ist gewöhnlich gleich den niederwertigen Ziffern in der physikalischen Adresse des SDRAM, so dass beim Adressieren von aufeinander folgenden oder gruppierten Datensätzen ein Minimum von Seitenwechseln einbezogen ist. Wurden die SDRAM-Geräte auf direktem Wege adressiert, und zwar durch Speichern von Segmenten des Block-FEC-Kodeworts in aufeinander folgenden Adressen, dann erfordert das Auslesen der Kodewortabfolge in permutierter Reihenfolge zum Ausführen des Verschränkens bei jedem Speicherzugriff einen Wechsel der Seitenadressen wegen der erforderlichen großen Adresseninkremente. Ein analoger Vorgang ist der des Speicherns einer Matrix mit Zeilenelementen in aufeinander folgende Adressen und des anschließenden spaltenweisen Lesens der Matrix. Beim Lesen der transponierten Matrix würden Adresseninkremente gleich der Zeilenlänge erforderlich werden.
  • In dem am 7. November 2000 erteilten Suzuki-Patent US 6,144,616 wird ein Halbleiterspeichergerät beschrieben, in welchem die Daten-Schreiblatenz und die Daten-Leselatenz (beide definiert durch die Anzahl von Taktzyklen in der Zwischenzeit zwischen dem Daten-Lese/Schreib-Befehl und der Lese/Schreib-Datenausgabe) zueinander gleich gemacht werden können, indem verschiedene Abfolgen von nacheinander auszuführenden Lese- und/oder Schreibbefehlen verwendet werden. Das Ergebnis ist ein reduzierter Gesamt-Lese-Schreib-Zyklus.
  • Genauer gesagt wird in einer geeigneten SDRAM-Gerätegruppe, die eingerichtet ist, einen Pufferspeicher für eine große Permutationsmatrix bereitzustellen, die für ein Verschränken und Entschränken benötigt wird, eine große Zahl von Zyklen (zum Beispiel 7) benötigt, um die Seitenadressen zu wechseln. Das Ergebnis eines direkten Adressierens ist dann eine siebenfache Verringerung der effektiven Speichergeschwindigkeit. Die mit optischen Übertragungen verbundenen hohen Bitraten erfordern bereits einen Einsatz der schnellsten verfügbaren SDRAM-Geräte, um diesen Verschränkungsprozess auszuführen. Deshalb würde ein solches Verlangsamen die Anwendbarkeit von SDRAM-Geräten beim Einsatz für das Ausführen eines Prozesses beeinträchtigen, der Szintillationseffekte n bei der optischen Freiraumübertragung bewältigt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • In den unabhängigen Ansprüchen werden ein Verfahren und eine Vorrichtung gemäß der Erfindung dargestellt. Bevorzugte Formen werden in den abhängigen Ansprüchen dargelegt.
  • Diese Erfindung stellt einen Prozess und eine Vorrichtung zum Kodieren-Verschränken und Entschränken-Dekodieren eines optischen Datenstroms bereit, welche die Übertragungsleistungsminderung infolge von Szintillationseffekten überwindet. Eine Fehlerhäufung der Größenordnung von 20 Millionen aufeinander folgender Bits kann bei einem vertretbaren Aufwand an Komponenten und einem vernachlässigbaren Aufwand an zusätzlicher Latenz abgedeckt werden.
  • Ein Nutzbitstrom wird unter Verwendung der (255,223)-Reed-Solomon-Kodierung in Kodewörter hinein kodiert, und die entstehenden Kodewörter werden zerlegt sowie über einen Permutations-Pufferspeicher verteilt, wo sie mit anderen Kodewörtern über eine. Spanne verschränkt werden, die ausreichend groß ist, dass eine Fehlerhäufung mit einer Dauer von E Bits höchstens b Bits in einem beliebigen Kodewort beeinflusst, wobei zum Beispiel E/b = 156.250 ist.
  • In einer Ausführungsform verwendet die Erfindung SDRAM-Geräte als Permutations-Pufferspeicher. Die Erfindung überwindet jedoch die Einschränkungen des typischen SDRAM-Gerätes, wenn es zum Ausführen umfangreicher Bereichspermutationen eingesetzt wird, indem eine Adressenumverteilung verwendet wird, welche die READ- zu den WRITE-Raten abgleicht. Entsprechend dieser Ausgestaltung der Erfindung wird ein eindeutiger Vorteil aus einer Besonderheit der SDRAM-Geräte vom Stande der Technik gezogen, dass die READ- oder WRITE-Operationen der Geräte innerhalb einer Seite (d.h. Zeile) mit der Gerätezyklusrate ausführbar sind.
  • Bei der Matrixumstellung, die während des Ladens des SDRAM-Pufferspeichers im Verschränkungsprozess am Übertragungsende und im Entschränkungsprozess am Empfangsende verwendet wird, wird eine Umverteilung ausgeführt, wenn die Anzahl der Spalten, die in einer Seite gespeichert werden können, zu klein ist, das heißt, wenn die Overheadzyklen der SDRAM-Geräte – abgearbeitet durch die Anzahl von Speicherzugriffen, die vor einem Seitenwechsel (wenn eine Zeile gelesen wird) stattfinden können – zu einer effektiven Speicherzyklusrate führen, die nicht den Systemanforderungen entspricht.
  • Die erfindungsgemäße Adressenumverteilung verteilt die Overheadoperationen von WRITE zu READ um, was eine weitgehend in Echtzeit ablaufende Operation mit einem Minimum an elastischem Speicher ermöglicht. Somit kommt es bei zeilenweisem Empfang der Matrixeingaben zum Beispiel bei jeder 15-ten Eingabe zu einem physikalischen SDRAM-Seitenwechsel anstatt bei jeder 512-ten Eingabe. Das Ergebnis ist, dass der zu den Zeilenadresswechseln gehörende Overhead sowohl beim WRITE (d.h. der Eingabe in den Permutations-Pufferspeicher) als auch beim READ (Auslesen aus dem Permutations-Pufferspeicher) annähernd gleich gemacht wird. Auf diesem Wege werden die Overheadzyklen für eine große Anzahl von Speicherzugriffen sowohl für den READ- als auch für den WRITE-Prozess derart abgearbeitet, dass die effektive Speicherzyklusrate asymptotisch die physikalische Häufungszyklusrate erreicht.
  • Die Erfindung löst somit das Problem eines ökonomischen Handhabens der sehr großen Verschränkungs- oder Permutationsspanne, die für ein Abdecken der Fehlerhäufungen in der optischen Freiraumübertragung in der Größenordnung von 20 Millionen Bits erforderlich ist, die zum Beispiel während einer Übertragung mit 2,5 Gigabit/s einen 8-Millisekunden-Schwund ergeben würde.
  • Obwohl die Erfindung in einer veranschaulichenden Ausführungsform beschrieben ist, die optische Freiraumübertragungen einbezieht, ist die Erfindung zum Beispiel auch auf drahtlose HF-Kommunikationssysteme (z.B. Millimeterwellen) anwendbar. Da diese Systeme mit ständig größer werdenden Datenraten arbeiten, erzeugen die Schwundereignisse, die sie erfahren, auch einen Verlust von Megabits. Unter Verwendung der Verfahren und der Vorrichtung, die nachfolgend dargelegt werden, können die bei den Schwundereignissen verlorenen Megabits in der drahtlosen HF-Kommunikation wieder hergestellt werden.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein schematisches Blockdiagramm eines optischen Freiraumübertragungssystems;
  • 2 ist ein schematisches Blockdiagramm, das ein Übertragerendsystem und Komponenten zum Ausführen der Erfindung darstellt;
  • 3 ist ein Schema, welches das Zerlegen eines Kodeworts in Segmente zur Vorbereitung auf die Verschränkung veranschaulicht;
  • 4 ist ein Flussdiagramm, das ein Protokoll für die Verschränkung von Blöcken von Kodewortsegmenten zeigt;
  • 5 ist ein schematisches Blockdiagramm, das ein Empfängerendsystem und Komponenten zum Ausführen der Erfindung darstellt;
  • 6A ist ein Schema, welches das Umverteilen von Adressen in der SDRAM-Matrix zum Abgleichen des „READ"- zum „WRITE"-Overhead bezüglich der SDRAM-Seitenwechsel veranschaulicht;
  • 6B ist ein Schema, das einen weiteren beispielhaften Weg zum Umverteilen von SDRAM-Adressen zum Abgleichen des „READ"- zum „WRITE"-Overhead veranschaulicht;
  • 6C ist ein Schema, das die Konsequenzen des Bereitstellens einer empfangenen Matrix auf einer 512-Adress-Seite veranschaulicht, wenn der Empfänger die Eintragungen sequentiell speichert;
  • 7A ist ein Flussdiagramm des Prozesses einschließlich der Adressenumverteilung am Übertragungsende; und
  • 7B ist ein Flussdiagramm des Prozesses einschließlich der Adressenumverteilung am Empfängerende.
  • AUSFÜHRUNGSBEISPIEL
  • In dem unten beschriebenen Ausführungsbeispiel wird das Prinzip des Verschränkens von mäßig großen Fehlerhäufungskorrektur-Kodeblöcken verwendet, jedoch auf einer Makroskala, die viel größer ist als die herkömmlich verwendete, so dass die Verschränkung für die dargestellten Beispiele Hunderte Millionen Bits überspannt, um das Ausheilen von Fehlerhäufungen der Größenordnung von einigen Zehnmillionen Bits zu unterstützen. Die Gerätetechnik der Synchronen Dynamischen Schreib-Lese-Speicher (SDRAM) wird als ein Beispiel für eine brauchbare und wirtschaftliche Unterstützung der außerordentlich großen Speicherbereiche verwendet, die zum Realisieren eines solchen Prozesses benötigt werden. Der große Zeilen-Spalten-Overhead mit wahlfreiem Zugriff, der bei der SDRAM-Technik universell ist, wird durch eine Adressenumverteilung der physikalischen Adressen beträchtlich reduziert. Die Adressenumverteilung hat zum Ergebnis, dass Overheadzyklushäufungen verteilt sind statt in Gruppen von aufeinander folgenden Speicherzugriffen aufzutreten, was typisch ist, wenn eine direkte Nutzung des Speicheradressraumes Anwendung findet. Das ermöglicht das Beibehalten der Hochgeschwindigkeits-Speicherzugriffsrate der Erfindung mit einer minimalem Elastizität im Datenfluss.
  • Der Prozess umfasst als erstes ein herkömmliches Kodieren des Datenstroms in Kodewörter oder Blöcke mit jeweils n Bits, die k Nutzbits und (n – k) Fehlerkorrekturbits umfassen. Der Prozess legt dann als b die maximale Anzahl von Fehlern fest, die in einem Kodewort korrigiert werden können, wobei berücksichtigt wird, dass die maximale Anzahl von Bits, die durch einen beliebigen linearen Code korrigiert werden können, ist: b = 0,5·(n – k),(Gleichung 1) und dieser Grenzwert wird für ausgewählte Beispiele der Reed-Solomon-Kodierung erreicht.
  • Es wird ein beispielhafter Reed-Solomon-Code von (255,223) angenommen, was bedeutet, dass das Kodewort eine Länge von 255 Symbolen hat, von denen 223 Nutzsymbole sind, 255 – 223 = 32 sind Prüfsymbole, und das Symbol ist ein Acht-Bit-Oktett. Der durch Gleichung 1 angezeigte Grenzwert der korrigierbaren Symbole, der für dieses Beispiel erreicht wird, liegt bei bis zu 0,5 ·(255 – 223) = 16 Symbolen. Das bedeutet, dass für dieses Beispiel die Kodewortgröße in Bits gleich 8· 255 = 2040 ist und dass eine Fehlerhäufung in einem Kodewort bis zu b = 16 × 8 = 128 Bits korrigiert werden kann.
  • Wenn beabsichtigt ist, Fehlerhäufungen der Dauer von E Bits abzudecken, dann ist die Anzahl der Kodewörter M, die zu verschränken sind, gleich: M = E/b. (Gleichung 2)
  • Somit würde eine Korrektur einer Fehlerhäufung der Größenordnung von 20 Millionen Bits ein Verschränken von M = 20 × 106/128 = 156.250 Kodewörternerfordern. Die Spanne der Verschränkung (das ist die Dimension der Permutationsmatrix, d.h. die Größe S des erforderlichen Pufferspeichers und folglich die Dauer der Latenz, die durch diesen Prozess hinzugefügt wird) ist. S = M·n. (Gleichung 3)
  • Für das obige Beispiel ist M gleich 156.250 und n (ausgedrückt in Bits) gleich 2040, so dass ein Pufferspeicher von M·n = 3,1875 × 108 erforderlich ist.
  • Die Einflüsse der Szintillations-Leistungsminderung bei der optischen Freiraumübertragung können sich als eine Funktion vieler Umweltbedingungen verändern. Zum Beispiel liegt für eine optische Punkt-zu-Punkt-Reichweite von 4,4 km und einen Seitenwind in der Größenordnung von 10 Meilen/h die zeitliche Korrelation der Szintillation in der Größenordnung von 15 Millisekunden. Für eine Reichweite von 1 km und einen Seitenwind von 10 Meilen/h ist die Zeitskala 7–8 Millisekunden. Wenn im Bereich von 1 km der Seitenwind in der Größenordnung von 20 Meilen/h liegt, dann wird die zeitliche Korrelation zu etwa 4 Millisekunden. Das Ausmaß des Szintillationseffekts verändert sich auch als eine Funktion der anderen atmosphärischen Bedingungen, zum Beispiel einschließlich der Lufttemperatur, der Emissionen und der relativen Feuchte. Das Einsetzen von Szintillationszuständen kann auch durch Überwachen des empfangenen Signals vom Rückweg einer optischen Freiraumverbindung bestimmt werden.
  • Die Erfindung wird als ein Teil eines in 1 gezeigten optischen Freiraumübertragungssystems veranschaulicht. Das System empfängt an einem Eingabeende eine Nutzdatenstrom 10. Die Nutzdaten können die Form eines kontinuierlichen Datenstroms haben oder Datensignalfolgen umfassen, wobei die Bitlänge der Nutzdaten von Signalfolge zu Signalfolge unterschiedlich sein kann.
  • Der Fehlerhäufungskorrekturprozess kann für alle übermittelten Daten unbedingt und kontinuierlich verwendet werden, oder er kann wahlweise eingesetzt werden, wenn bestimmte Freiraumbedingungen, wie die gerade beschriebenen, zum Beispiel durch Sensoren 19 nachgewiesen werden. Die Sensoren 19 sind mit der Rechnersteuerung 26 verbunden, wobei die Anweisungen Schwellwerte enthalten, die festlegen, ob die Freiraumszintillationsbedingungen vorliegen. Treten die Freiraumszintillationsbedingungen auf, dann wird der Nutzdatenstrom 10 durch den Signalaufbereiter 11 geleitet. Hier werden die Daten in einer Weise, die noch zu beschreiben ist, kodiert und in einen Pufferspeicher hinein verschränkt. Die Ausgabe des Signalaufbereiters 11 wird durch den Übertrager 12 zur Übertragung durch ein Freiraummedium 13 auf einen Empfänger 14 ausgesendet. Wurde das empfangene Signal hinsichtlich Szintillation aufbereitet, dann wird es einem Signalextraktor 15 zum Entschränken und Dekodieren zugeführt, bevor es zur abschließenden Verwendung, zum Beispiel in Video- oder Hochgeschwindigkeits-Datenanwendungen, weitergeleitet wird.
  • Mit Bezugnahme auf 2 weist der Signalaufbereiter 11 einen Kodierer 20 auf, der vorzugsweise vom (255,223)-Reed-Solomon-Typ ist. Ein Nutzdatenstrom 10 von 2,5 GBit wird in den Reed-Solomon-Kodierer 20 eingespeist, der in dieser veranschaulichenden Aus führungsform einen 2,86 Gbit-Strom ausgibt. Vorzugsweise wird eine Reed-Solomon-Kodierung verwendet, die ein Galois-Feld von 8-Bit-Symbolen und eine (255,223)-Codekonfiguration aufweist. Die Reed-Solomon-Kodierung wird in dem oben erwähnten Text „Error Correcting Codes" von Peterson und Weldon, 1992, umfassend beschrieben. Der Kodierer 20 kodiert den Nutzdatenstrom 10 in Kodewörter, jedes von einer Länge n, wie aus 3 ersichtlich ist. Ein Kodewortbeispiel 30 wird in die gewünschte Zahl (zum Beispiel 30) von Kodewortfragmenten aufgeteilt, von denen der Einfachheit halber nur sechs Fragmente 30a30f dargestellt sind. Das nächste Kodewort wird dann auf die gleiche Weise in 34 Fragmente aufgespaltet, und diese letzteren Fragmente werden mit den vorhergehenden vierunddreißig Fragmenten verschränkt. Das Verschränken von Kodewörtern geschieht über eine Spanne, die groß genug ist, dass die Fehlerhäufung der Länge von E Bits höchstens b Bits in einem beliebigen gegebenen Kodewort beeinflusst. Die Methodik für das Ausführen der Verschränkens ist gut bekannt, wobei ein Beispiel in der US-Patentschrift 5,889,791 beschrieben ist, die hier durch Bezugnahme eingeschlossen ist.
  • 4 zeigt eine Folge von Schritten, durch welche Segmente eines jeden Kodeworts durch ein 2-Tupel gekennzeichnet werden können, wobei n die Kodewortnummer und m ein 60-Bit-Segment in dem gekennzeichneten Kodewort ist. Nachdem er gekennzeichnet ist, wird der erste Block aus 156.250 Kodewörtern in Zellen des Pufferspeichers 22 hinein verschränkt. Nach dem Verschränken dieses ersten Blocks aus 156.250 Kodewörtern wird die Kodewortabfolge durch die eingeklammerten Zahlenfolgen dargestellt, welche das Schreiben von „Spalteneintragungen" für das nachfolgende zeilenweise READOUT verdeutlicht. Auf die gleiche Weise werden der zweite Block von Kodewörtern und weitere verschränkt. Aufeinander folgende Eintragungen von demselben Kodewort sind durch 60 × 156.250 = 9,375 Megabits getrennt. Somit hat ein Löschen oder ein Verlust von beliebigen zwei der eingeklammerten Folgen (jede mit 9,375 Megabits) nicht mehr als 120 Fehlerbits in einem beliebigen Kodewort zur Folge.
  • Erneut mit Bezug auf 2 nimmt ein 60-Bit-Eingabe-Schieberegister 21 die Ausgabe des Kodierers 20 auf. Sechzig-Bit-Segmente des Kodeworts werden gewählt, weil 60 ein ganzzahliger Teiler von 2040 ist und 60 Bit × 156.250 × 2 nahe an dem nominellen 20-Megabit-Fehlerhäufungslängenrichtwert von 18,75 Megabit liegt. Eine Fehlerhäufung von 18,75 Millionen Bits würde zwei 60-Bit-Segmente (120 Bits) in jedem der 156.250 verschränkten Kodewörter zerstören, weil aber alle Kodewörter die Fähigkeit zur Korrektur von 128 Bits aufweisen, würden alle Daten in dem Beispiel wiederhergestellt werden.
  • Das Eingabe-Schieberegister 21 verteilt die im Kodierer 20 erzeugten Fragmente auf einen Pufferspeicher 22, der eine Bank von acht SDRAMs 22a ... 22h umfasst, die in Gruppen zu vier zusammengefasst sind. Die SDRAMs sind 16-Bit × 8-Megawort-Speicher. Die SDRAM-Geräte werden in Übereinstimmung mit den Adressen geladen, die durch ein als Adressenerzeuger 23, 24 konfiguriertes Feld-programmierbares Gate-Array (FPGA) bereitgestellt werden. Der Betrieb des Pufferspeichers 22 und der FPGA-Adressenerzeuger 23, 24 wird durch die Rechnersteuerung 26 geregelt. Das READOUT aus den SDRAM-Geräten wird zum Ausgabe-Schieberegister 25 ausgegeben, welches den Übertrager 12 mit einem Strom kodierter und verschränkter Bits versorgt. Ein im Wesentlichen identischer Pufferspeicher 52 am Empfängerende wird für das Entschränken verwendet und wird nachfolgend sowie in 5 beschrieben.
  • Die Kodierungsprozesse des Kodierers 20, die Adressierungsfunktionen der Adressenerzeuger 23, 24, die Speicherfunktionen der SDRAMs 22a ... h und der Betrieb der Eingabe- und Ausgabe-Schieberegister 21, 25 kann in getrennten Hardwarekomponenten mit einer Funktionsvielfalt ausgeführt werden, die durch den Befehlscode koordiniert wird, der in der Rechnersteuerung 26 abläuft, die in 2 dargestellt ist. Wenn Hardware bevorzugt ist, dann sind die geeigneten marktüblichen Komponenten: Vitesse-Semiconductor-VSC7146-Gerät für die Schieberegister 21, 25 und ORCA-FPGA-ORT8850-Komponenten von Lucent Technology für die Adressenerzeuger 23, 24. Die Funktionen der Adressenerzeuger 23, 24 und der Eingabe-Schieberegister 21, 25 wie auch des Kodierers 20 können alternativ als Codebefehle gesteuert durch die Rechnersteuerung 26 bereitgestellt werden.
  • In dem vorliegenden Beispiel verwendet der Reed-Solomon-Code ein Galois-Feld von 8-Bit-Symbolen und einen (255,223)-Code. Somit hat ein Kodewort eine Länge von 255 Oktetts (Bytes), von denen 223 Nutzdaten und die übrigen 32 Prüfsymbole sind. Der Code weist die Fähigkeit zur Korrektur von 32/2 oder 16 Fehlerbytes auf. Das bedeutet, dass lediglich 16 isolierte Fehler (d.h. wenn jeder Fehler in einem anderen Oktett liegt) korrigiert werden könnten, aber dass nicht weniger als 16 × 8 = 128 Bitfehler in irgendeinem Block korrigiert würden, wenn die Fehler alle innerhalb von 16 Bytes auftreten.
  • Bei einer beispielhaften Feldmessung einer optischen Freiraumübertragung über einen Bereich von 10 km hatten annähernd 90% der Schwundereignisse eine Dauer von weniger als 8 ms. Eine Datenstrom-Bitrate von 2,5 × 109/s würde einen Wert von E = 20 × 106 Bits ergeben, die während eines Schwundereignisses von 8 ms verloren gehen. Da höchstens 128 Bits irgendeines Kodeworts wegen der Fehlerhäufung verloren gehen können und die Häufung noch überdecken, ist die Anzahl der Kodewörter, die in diesem Beispiel verschränkt werden müssen, gleich: E/b = 2 × 107/128 = 156.250 (Gleichung 4).
  • Da das Kodewort 255 × 8 = 2040 Bits lang ist, hat der Verschränkungs-Pufferspeicher 22 die Größe: (E/b)·n = 156.250·2040 = 318.750.000 Bits (Gleichung 5).
  • Ein Pufferspeicher dieser Größe kann durch Verwendung von SDRAMs der Größe 128 oder 256 Megabit realisiert werden.
  • Der WRITE-Prozess in die SDRAM-Geräte im Pufferspeicher 22 erfordert ein Ausbilden von 60-Bit-Wörtern in 20,8 ns (60 mal die Bitperiode des mit 2,8 × 109 Bit/s kodierten Datenstroms. Das Ausführen des Verschränkens auf direktem Wege umfasst das Schreiben von Eintragungen bei Adresseninkrementen von 156.250 (d.h. Matrixspalteneintragungen), dann das AusLESEN aufeinander folgender Adressen (Zeilen), um die verschränkten Kodewörter zu übertragen. Die den SDRAM-Geräten vom Stand der Technik eigenen Parameter erschweren dies aufgrund von Latenzeffekten der voneinander isolierten READ- oder WRITE-Operationen. Mit SDRAM-Geräten mit einer CAS-Latenz von 2 ist die maximale Rate zum Schreiben in unterschiedliche Zeilen (Seiten) der SDRAMs gleich einmal aller 7 Zyklen. Als Beispiel dienen die Kenngrößen des Micron Technologies SDRAM-Geräts Nr. MT48LC8M16A2. Mehr Informationen über diese und ähnliche SDRAM-Geräte von Micron Technologies Inc. können auf deren Webseite unter http://www.micron.com erhalten werden. Andere Hersteller stellen auch SDRAM-Geräte her, und es ist verständlich, dass alle solchen gleichartigen Geräte durch Fachleute angepasst werden können, um die Erfindung auszuführen.
  • Um die Funktionen mit einem Minimum an Overhead- Operationen in den SDRAM-Geräten zu realisieren, ist es erwünscht, SDRAM der Klasse 2 mit einer maximalen Taktrate von 133 MHz oder 7,5 ns Zykluszeit zu verwenden. Jedoch ist dieser WRITE-Zeitraum von sieben Zyklen, der mit den SDRAM-Geräten des Pufferspeichers 22 verknüpft ist, nicht vereinbar mit der READOUT-Rate von 20,8 ns, mit der neue 60-Bit Kodewortsegmente erzeugt werden.
  • Um diese Unvereinbarkeit zu überwinden, nutzt die Erfindung eine einmalige Besonderheit der SDRAM-Geräte vom Stand der Technik aus, welche darin besteht, dass innerhalb einer Seite das READ oder WRITE in die Geräte mit der Gerätezyklusrate erfolgen kann. Zur Veranschaulichung: Für das oben erwähnte Micron-Technologies-SDRAM-Gerät Nr. MT48LC8M16A2 (mit 16 Bits × 2M × 4 Bänke), ist die Seitengröße 512 Sechzehn-Bit-Wörter, und die Taktrate ist 133 MHz (7,5 ns). Werden diese Geräte in einer herkömmlichen Art und Weise adressiert, dann würden sie 7 × 7,5 = 52,5 ns pro WRITE erfordern, weil die WRITE-Adresseninkremente die Seitengröße bei weitem übersteigen. Die aufeinander folgend adressierten READ-Operanden können jedoch asymptotisch mit einer Rate von 7,5 ns ausgeführt werden, welche weit unter der Rate von 20,7 ns liegt, die für Echtzeitübertragungen erforderlich ist.
  • Die allgemeine Umverteilungsstrategie besteht deshalb in einem Abgleichen der „READ"- zu den „WRITE"-Raten. Im Wesentlichen besteht die Idee darin, jede Seite im SDRAM-Speicher als mehrere „virtuelle" Seiten anzusehen und die schnelle WRITE-Rate auf dieselbe (physikalische) Seite im Austausch dafür auszunutzen, dass während des READ in der Permutationsoperation ein häufigerer Seitenwechsel erforderlich wird. Mit Bezug auf 6A besteht der allgemeine Ansatz darin, K aufeinander folgende Eintragungen in eine physikalische Seite zu SCHREIBEN, mit dem Ergebnis, dass der LESE-Vorgang dann die Seiten [K] mal so oft wechseln muss im Vergleich mit dem einfachen LESEN jeder P-Eingangsseite des SDRAM als eine einzige Abfolge von aufeinander folgenden Adressen (wobei P die Seitengröße ist).
  • Für die in dem Beispiel enthaltenen Zahlen wird für jede physikalische 512-Wort-SDRAM-Seite festgelegt, dass sie aus 34 Seiten zu je 15 Wörtern besteht (zwei Wörter werden verworfen). Da die Permutationsmatrix die Größe 34 × 150250 Bits hat, wurde die Zahl 34 ausgewählt, um das Indizieren systematisch auszuführen.
  • Im Folgenden werden die Hardware und die Rechnersteuerungen zum Ausführen des Entschränkens und Dekodierens sowie der Entscheidungen beschrieben, wann die Adressenumverteilung der Pufferspeicher 22 und 52 auszuführen ist.
  • Mit Bezug auf 5 weist der Signalextraktor 15 beim Empfänger eine Rechnersteuerung 50 und einen SDRAM-Pufferspeicher 52 auf, der im Wesentlichen konstruktionsgleich mit dem Pufferspeicher 22 am Übertrager sein kann. In 5 wird der Pufferspeicher jedoch als eine Matrix von Speicherzellen, wie z.B. die Zelle 51, dargestellt, wobei jede Zelle durch den Schnittpunkt der Zeilen 1, 2, ..., R und der Spalten 1, 2, ..., C festgelegt ist. Die Rechnersteuerung 50 empfängt das dekodierte und verschränkte Signal 9, das vom Übertrager 12 durch das Freiraummedium 13 übermittelt wird. Ein Adressendekodierer 53, der durch die Rechnersteuerung 50 gesteuert wird, nimmt die Adresseninformationen auf, die mit jedem empfangenen verschränkten Kodewortsegment, wie z.B. dem Segment 30f in 3, verbunden sind, und spezifiziert die Zelladressen im Pufferspeicher 52, in welche die sequentiell empfangenen Kodewortsegmente zu speichern sind.
  • Jede Zeile von Zellen des Pufferspeichers 52 wird durch einen WRITE-Freigabetreiber 54 und jede Spalte von Zellen des Pufferspeichers 52 wird durch einen WRITE-Datentreiber 55 bedient. Die Adressen, an welche die verschränkten Elemente zu senden sind, werden dem WRITE-Freigabetreiber 54 durch den Adressendekodierer 53 bereitgestellt. Die empfangenen verschränkten Kodewortsegmente werden im Eingabe-Schieberegister 56 gesammelt und zum WRITE-Datentreiber 55 weitergeleitet. Gesteuert durch den WRITE-Freigabetreiber 54 übermittelt der WRITE-Datentreiber 55 Segmente an die Speicherzellenmatrix des SDRAM-Pufferspeichers 52.
  • Für das AusLESEN ist ein READ-Freigabetreiber 57 mit jeder Zeile von Speicherzellen des SDRAM-Pufferspeichers 52 verbunden, und ein READ-Datentreiber 58 ist mit jeder Spalte von Zellen des SDRAM-Pufferspeichers 52 verbunden. Vor dem AusLESEN aus dem SDRAM-Pufferspeicher 52 wird in der Rechnersteuerung 50 bestimmt, ob die Matrix des SDRAM-Pufferspeichers 52, wenn sie auf dem direkten Wege abgebildet wird, den Prozess beim Lesen nicht verlangsamt oder ob stattdessen die Notwendigkeit vorliegt, die Matrix umzuverteilen, um das Entschränken auf einem solchen Wege auszuführen, dass die READ- zu den WRITE-Raten abgeglichen werden. Die AusLESE-Daten aus dem Pufferspeicher 22 werden im Ausgabe-Schieberegister 59 gesammelt, und der entschränkte Ausgangsdatenstrom 60 wird anschließend in den Reed-Solomon-Dekodierer 61 geleitet, der den entschränkten Datenstrom dekodiert. Ein entschränkter und dekodierter Datenstrom 62 wird vom Reed-Solomon-Dekodierer 61 zum Endverbrauch in Video- oder Datenanwendungen hin gelenkt. Steuersignalpfade, die der Einfachheit halber alle durch 51 gekennzeichnet sind, werden von der Rechnersteuerung 50 für die Funktionen 53, 54, 55, 56, 57, 58 und 59 bereitgestellt.
  • Für das Entschränken wird der Pufferspeicher 52 durch Aktivieren des READ-Freigabetreibers 57 gelesen, um die Daten zu lesen, die durch den READ-Datentreiber 58 abgerufen wurden. Wo es nötig ist, wird ein Umverteilen der physikalischen Adressen in Übereinstimmung mit den folgenden Kriterien ausgeführt. Im Allgemeinen wird – ob am Übertrager oder am Empfänger – die Adressenumverteilung ausgeführt, wenn die Anzahl der Matrixspalten, die in einer Seite des SDRAM-Pufferspeichers 52 gespeichert werden kann, zu klein ist, was der Fall ist, wenn die Overhead-Zyklen, die über die Anzahl von Speicherzugriffen abgearbeitet werden, welche vor einem Seitenwechsel (beim Lesen einer Zeile) erfolgen können, zu einer effektiven Speicherzyklusrate führen, die nicht den Systemanforderungen entspricht. Für die speziellen Gerätegeschwindigkeitsparameter, die in dem vorliegenden Beispiel verwendet werden, muss die Anzahl der Spalten, die auf einer Seite enthalten sein müssen, gleich 4 oder größer sein. Ein der Reihenfolge nach arbeitender elastischer Speicher von 4 Eingängen stellt wegen des 7-Zyklus-Overheads, wenn ein Seitenwechsel (bei 7,5 ns/s) bezogen auf die Systemzyklusrate von 20,8 ns auftritt, ein Mittel zum Überbrücken des Seitenwechsels bereit. Die Unterbrechung von 52,5 ns, die durch den Seitenwechsel verursacht wird, wird effektiv mit einem Überhang von 3 Eingängen in dem elastischen Speicher abgedeckt.
  • Die Adressenumverteilung in der Matrix des Pufferspeichers 52 wird in den 6A, 6B und 6C veranschaulicht. (Die Adressenumverteilung in der Matrix des Pufferspeichers 22 wird auf die gleiche Weise ausgeführt, wie nachfolgend beschrieben ist). Erneut mit Bezug auf 6A werden während der WRITE-Operation die Eintragungen 1,1 1,2 .... 1,34 in den physikalischen Adressen 0,15, .... 495 der ersten SDRAM-Seite gespeichert. Diese werden jedoch während der READ-Operation jeweils als Adressen 0, 156.250, ..., 33 × 156.250 gespeichert. Weil die Faktorisierung von Adressenabbildungen die Zeilenlänge als einen Faktor aufweist, passen in diesem Beispiel genau 15 Zeilen zu je 34 Eintragungen in eine physikalische Seite. Die in 6A dargestellten „virtuellen" Adressen beziehen sich auf die Abfolge, in welcher das AusLESEN ausgeführt wird, um die Permutation abzuschließen.
  • Die Umverteilungsstrategie wird unten in Form von Matrixumstellungsoperationen beschrieben. Für die obigen Beispielparameter von Kodewörtern einer Länge von 2040-Bit, die zum Zwecke der Verschränkung in 34 60-Bit-Eintragungen faktorisiert sind, wird angenommen, dass die Eintragungen im ersten Kodewort gekennzeichnet sind mit:
    1,1 1,2 1,3 ..... 1,34,
    und im Allgemeinen wird die n-te Eintragung im Kodewort m mit m,n bezeichnet.
  • In dem obigen Beispiel, das eine Verschränkung zugehöriger Eintragungen von jedem der 156.250 Kodewörter erfordert, sind die Dimensionen der Matrix 34 Zeilen × 156.250 Spalten. Wird die Matrix wie in der 6B geschrieben, dann wird die Matrix am Übertragerende in Spaltenanordnung eingelesen, und in diesem speziellen Beispiel ist es wegen der kleinen Spaltendimension nicht nötig, die Adressenumverteilung am Übertrager auszuführen. Fünfzehn Spalten dieser Matrix besetzen eine 512-Adressen-SDRAM-Seite (15 × 34 = 510, und zwei Adressen werden übersprungen). Deshalb ergibt ein Speichern dieser ersten 510 Eintragungen auf der ersten Seite, die in 6B mit 27 gekennzeichnet ist, während der SCHREIB-Operation ein Adressierungsmuster während der AusLESE-Operation (d.h., wenn das Umstellen ausgeführt wird), in dem ein physikalischer SDRAM-Seitenwechsel nur alle 15 Speicherzugriffe ausgeführt zu werden braucht, da die Matrix zeilenweise gelesen wird. Das heißt, das Lesen der aufeinander folgenden Untermatrizen, das an das Lesen der Untermatrix 27 anschließt, erfordert nur aller 15 Speicherzugriffe einen physikalischen SDRAM-Seitenwechsel. Dieses Abarbeiten des Seitenwechsel-Overhead ist ausreichend, um den Echtzeitbetrieb für die Beispielparameter aufrechtzuerhalten.
  • Jedoch wird am Empfängerende dieselbe Matrix zeilenweise in die Matrix des SDRAM-Pufferspeichers 52 aufgenommen. Diese Matrix muss zum Ausführen eines Entschränkens umgestellt werden. Würden die empfangenen Eintragungen sequentiell in den SDRAM-Pufferspeicher 52 eingeschrieben, wie es in 6C dargestellt ist, so würde das Ergebnis ein Seitenwechsel aller 512 Speicherzugriffe während des WRITE sein, aber das nachfolgende spaltenweise READ der Matrix würde SDRAM-Seitenwechsel bei jedem Speicherzugriff erfordern. Das würde bedeuten, dass der Echtzeitbetrieb mit den Beispielparametern nicht aufrechterhalten werden könnte.
  • Das Problem wird durch die Umverteilung von Adressen überwunden. Dieselben 34 × 15 Untermatrix-Dimensionen, wie sie in 6B dargestellt sind, werden am Empfängerende reproduziert, um die Overheadoperationen vom WRITE zum READ umzuverteilen und folglich einen Echtzeitbetrieb mit einem Minimum an elastischem Speicher zu ermöglichen. Das bedeutet, dass wegen des zeilenweisen Empfangs der Eintragungen ein physikalischer SDRAM-Seitenwechsel aller 15 Eingaben anstatt aller 512 auftritt. Nach einem schrittweisen Schreiben von 15 Eintragungen auf jede der 10416 derartigen Seiten, um eine ganze Zeile der Matrix zu speichern (die letzte Seite enthält für diese Zahlen eher 10 als 15), werden die nächsten 15 Eintragungen derart auf die erste physikalische SDRAM-Seite geschrieben, dass jede Eintragung von der zweiten Zeile der Matrix auf derselben physikalischen Seite wie die entsprechende erste Zeile erscheint, usw..
  • Der exakte Abgleich von READ- und WRITE-Overhead umfasst vorteilhaft eine Auswahl einer quadratischen Untermatrix mit Dimensionen gleich der Quadratwurzel aus der Seitengröße. Für die Beispielparameter (512- Wort-Seitengröße) ist dies keine ganze Zahl. Eine beliebige Untermatrix-Dimensionierung (wobei die Untermatrix den Satz von Eintragungen repräsentiert, die auf eine einzige physikalische Seite zu schreiben sind) ist hinreichend, für welche die minimale Matrixdimension (welche die Anzahl aufeinander folgender Speicherzugriffe darstellt, die vor einem Seitenwechsel stattfinden) ausreicht, um den SDRAM-Overhead für einen Seitenwechsel abzuarbeiten. Dieses Abarbeiten ist abhängig von dem Verhältnis der maximalen Häufungsrate des Speichers zur Übertragungsrate von neuen Eintragungen, die zu lesen oder zu schreiben sind. Der Überschuss der Häufungsrate zur Übertragungsrate muss ausreichen, um die Overheadzyklen abzudecken. So ist für das Beispiel einer Eintragungsempfangs- oder -senderate von 20,8 ns eine 7,5 ns-SDRAM-Rate auf einer Seite sowie ein 52,5 ns-SDRAM-Seitenwechseloverhead – wobei der Overhead über 15 Speicherzugriffe abgearbeitet wird – mehr als ausreichend, um die Echtzeit mit einem elastischen Speicher von 4 Wörtern aufrechtzuerhalten.
  • Die Frage, wann im allgemeinen Falle die Umverteilung realisiert wird, ist abhängig von der speziellen SDRAM-Gerätegeschwindigkeit, der Anzahl von Spalten, die auf einer Seite enthalten sein muss (4 oder mehr in dem obigen Beispiel), der Datenrate und anderen Faktoren.
  • Zum Beispiel erfordern die Parameter des obigen Beispiels wegen der hohen Geschwindigkeit des Datenstroms und der Notwendigkeit, dabei die Taktrate auf einen Wert zu verringern, der mit leicht verfügbaren Speicher- und Digitallogikgeräten kompatibel ist, die Wahl eines großen Datenfragments oder einer großen Wortgröße (60 Bits). Als eine Konsequenz aus der großen Wortgröße ist die Anzahl von solchen Wörtern, die in die Zerlegung des Reed-Solomon-Codeworts von 2040 Bits zum Zwecke der Verschränkung einbezogen sind, nur 34. Das ergibt keine ausreichende Anzahl von aufeinander folgenden Speicherzugriffen zwischen den Seitenwechseln, um den 7-Zyklus-Overhead abzuarbeiten, wenn die Eingabewörter in aufeinander folgenden Adressen gespeichert werden, und folglich wird die Adressenumverteilung angewendet.
  • Das Flussdiagramm von 7A fasst die oben beschriebenen grundlegenden Prozessschritte zusammen, die einen Abgleich der SDRAM-READ- zu den WRITE-Operationen am Übertragungsende gewährleisten. 7B veranschaulicht die grundlegenden Prozessschritte des Entschränkens eines kodierten und verschränkten Signals am Empfangsende, das durch den Prozess und die Vorrichtung am Übertragungsende erzeugt wird.

Claims (12)

  1. Verfahren zum Übertragen eines Übertragungs-Nutzdatenbitstroms durch ein optisches Freiraummedium (13), wobei das Verfahren die Schritte umfasst: Kodieren (20) eines Übertragungs-Nutzdatenbitstromes (10) in Kodewörter; Zerlegen jedes Kodewortes in Segmente (30a30f); Definieren einer x-y-Untermatrix (22a ... 22h) in einem SDRAM-Pufferspeicher (11, 22), der eine Eingangsempfangs- und Übertragungsrate aufweist und eine Matrix von Speicherzellen umfasst, aus den besagten Zellen, welche den Satz von Eingängen, die eine einzelne physikalische SDRAM-Seite umfassen, verkörpern; Verschränken von zugehörigen Segmenten der aufeinander folgenden Kodewörter in einer WRITE-Operation (21, 26), die eine erste Seitenwechsel-Overheadoperation aufweist, in die Untermatrix (22a ... 22h) von Zellen hinein; Auslesen der Inhalte der Untermatrix von Zellen in einer READ-Operation (25, 26), die eine zweite Seitenwechsel-Overheadoperation aufweist; und Übertragen (12) des kodierten und verschränkten Datenbitstroms der READ-Operation in das Medium (13) hinein, wobei das Verfahren durch den Schritt gekennzeichnet ist, dass die Rate der READ- und WRITE-Operationen in die Untermatrix von Zellen und aus ihr heraus im Wesentlichen abgeglichen wird, indem die Seitenwechsel-Overheadoperationen von der WRITE- zur READ-Operation umverteilt (26, 23, 24) werden (6A).
  2. Verfahren nach Anspruch 1, wobei der Schritt zum Kodieren des Übertragungs-Nutzdatenbitstroms in Kodewörter unter Verwendung der Reed-Solomon-Kodierung (20) ausgeführt wird.
  3. Verfahren nach Anspruch 2, ferner den Schritt zum Dimensionieren (26, 23, 24) der Untermatrix von Zellen derart umfassend, dass die minimale Matrixdimension, welche die Anzahl von aufeinander folgenden Speicherzugriffen verkörpert, die während einer READ-Operation vor einem Seitenwechsel stattfinden, ausreicht, um den SDRAM-Overhead für einen besagten Seitenwechsel abzuarbeiten (6A).
  4. Verfahren nach Anspruch 3, wobei die Umverteilung der Seitenwechsel-Overheadoperationen von der WRITE-Operation zur READ-Operation die weiteren Schritte umfasst: SCHREIBEN in aufeinander folgende Spalten der Untermatrix(22a ... 22h)-Zellen, die zu Segmenten der aufeinander folgenden Kodewörter gehören, welche eine besagte SDRAM-Seite umfassen; und Umverteilen (6A) von Untermatrix-Zelladressen für das AusLESEN (23, 24), um die Anzahl der auf einer Seite aufgenommenen Spalten auf einer Zahl zu halten, die in Abständen einen physikalischen SDRAM-Seitenwechsel gewährleistet, welcher die READ- und WRITE-Raten im Wesentlichen gleich macht.
  5. Verfahren nach Anspruch 4, außerdem die Schritte umfassend: Abtasten (19, 26) von Bedingungen in dem Medium, welche Szintillationseffekte erzeugen; und Aktivieren der Kodierungs- und Verschränkungsschritte (11), wenn die Bedingungen nachgewiesen sind.
  6. Verfahren nach Anspruch 1, 2, 3, 4, oder 5, außerdem den Schritt umfassend: Entschränken (52, 54, 55, 57, 58) der zugehörigen Segmente von aufeinander folgenden Kodewörtern (15) an einem Fernempfänger (14), um den kodierten Datenbitstrom zu reproduzieren; und Dekodieren (59, 61) des kodierten Datenbitstroms.
  7. Vorrichtung zum Übertragen eines Übertragungs-Nutzdatenbitstroms durch ein optisches Freiraummedium (13), wobei die Vorrichtung umfasst: Hilfsmittel zum Kodieren (20) eines Übertragungs-Nutzdatenbitstromes (10) in Kodewörter unter Verwendung der Reed-Solomon-Kodierung; Hilfsmittel (26) zum Zerlegen jedes Kodewortes in Segmente (30a ... 30f); einen SDRAM-Pufferspeicher (22), der eine Eingangsempfangs- und Übertragungsrate aufweist und eine Matrix (22a ... 22h) von Speicherzellen umfasst, wobei der SDRAM-Pufferspeicher außerdem eine definierte sich wiederholende x-y-Untermatrix aus den Zellen aufweist, welche den Satz von Eingängen, die eine einzelne physikalische SDRAM-Seite umfassen, verkörpern; Hilfsmittel zum Ausführen einer WRITE-Operation (21, 26), um zugehörige Segmente der aufeinanderfolgenden Kodewörter in die Untermatrix von Zellen hinein zu verschränken (4), wobei die WRITE-Operation eine zugeordnete erste Seitenwechsel-Overheadoperation aufweist; Hilfsmittel zum Ausführen einer READ-Operation (25, 26), um die Inhalte der Untermatrix von Zellen auszulesen, wobei die READ-Operation eine zugeordnete zweite Seitenwechsel-Overheadoperation aufweist, außerdem gekennzeichnet durch Hilfsmittel für das weitgehende Abgleichen der Rate der READ- und WRITE-Operationen in die Untermatrix von Zellen und aus ihr heraus, indem die Seitenwechsel-Overheadoperationen von der WRITE- zur READ-Operation umverteilt werden (6A) und Hilfsmittel (12) zum Übertragen des kodierten und verschränkten Datenbitstroms der READ-Operation in das Medium hinein.
  8. Vorrichtung nach Anspruch 7, außerdem umfassend: Hilfsmittel für das Dimensionieren (26, 23, 24 und 4) der Untermatrix von Zellen derart, dass die minimale Matrixdimension, welche die Anzahl von aufeinander folgenden Speicherzugriffen verkörpert, die während einer READ-Operation vor einem Seitenwechsel stattfinden, ausreicht, um den SDRAM-Overhead für einen besagten Seitenwechsel abzuarbeiten (6A).
  9. Vorrichtung nach Anspruch 8, wobei die Umverteilung der Seitenwechsel-Overheadoperationen von der WRITE-Operation zur READ-Operation außerdem umfasst: Vorrichtung (23, 26, 22a ... 22h) zum SCHREIBEN in aufeinander folgende Spalten der Untermatrix-Zellen, die zu Segmenten der aufeinander folgenden Kodewörter gehören, die eine besagte SDRAM-Seite umfassen; und Vorrichtung zum Umverteilen (23, 24) von Untermatrix-Zelladressen für das AusLESEN, um die Anzahl der auf einer Seite aufgenommenen Spalten auf einer Zahl zu halten, die in Abständen einen physikalischen SDRAM-Seitenwechsel gewährleistet, welcher die READ- und WRITE-Raten im Wesentlichen gleich macht (6A).
  10. Vorrichtung nach Anspruch 7, 8 oder 9, wobei: der SDRAM-Pufferspeicher eine Speicherzellenkapazität (22) aufweist, die ausreichend groß ist, um eine Fehlerhäufung der Größenordnung von 20 Millionen Bit zu korrigieren; der Reed-Solomon-Kode das Format (255,223) hat; die Kodierungshilfsmittel (20) den einlaufenden Datenstrom im Wesentlichen in 156,250-Kodewörter kodieren, die zu verschränken sind; die Kodewortgröße 2040 Bit ist; und die Segmentierungshilfsmittel (22, 24) jedes Kodewort für das Verschränken in den Untermatrizen des SDRAM-Pufferspeichers in 60-Bit-Segmente segmentiert.
  11. Vorrichtung nach Anspruch 7, 8 oder 9, außerdem umfassend: Hilfsmittel (19, 26) für das Abtasten von Bedingungen in dem Medium (13), welche Szintillationseffekte erzeugen; und Hilfsmittel (26) für das Aktivieren der Kodierungs- und Verschränkungsschritte, wenn die Bedingungen nachgewiesen sind.
  12. Vorrichtung nach Anspruch 7, 8 oder 9, außerdem umfassend: einen Fernempfänger (14), wobei der Empfänger Hilfsmittel für das Entschränken (52, 54, 55, 57, 58) und Dekodieren (61) des kodierten und verschränkten Datenbitstroms (9) umfasst.
DE60204994T 2001-04-23 2002-03-22 Reduzieren von Szintillationseffekten bei optischer Freiraumübertragung Expired - Lifetime DE60204994T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/839,486 US6868519B2 (en) 2001-04-23 2001-04-23 Reducing scintillation effects for optical free-space transmission
US839486 2001-04-23

Publications (2)

Publication Number Publication Date
DE60204994D1 DE60204994D1 (de) 2005-08-18
DE60204994T2 true DE60204994T2 (de) 2006-04-27

Family

ID=25279853

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60204994T Expired - Lifetime DE60204994T2 (de) 2001-04-23 2002-03-22 Reduzieren von Szintillationseffekten bei optischer Freiraumübertragung

Country Status (5)

Country Link
US (1) US6868519B2 (de)
EP (1) EP1253729B1 (de)
JP (1) JP4108359B2 (de)
AT (1) ATE299627T1 (de)
DE (1) DE60204994T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE276572T1 (de) * 1999-12-17 2004-10-15 Thomson Licensing Sa Benutzung eines sdram's als speicher zur fehlerkorrektur und spurpufferung in frontend- ic's von optischen aufzeichnungs- oder wiedergabevorrichtungen
US7158517B2 (en) * 2001-05-21 2007-01-02 Intel Corporation Method and apparatus for frame-based protocol processing
JP4077355B2 (ja) * 2003-04-16 2008-04-16 三菱電機株式会社 通信装置および通信方法
US7408913B2 (en) 2003-05-12 2008-08-05 Lucent Technologies Inc. Method of real time hybrid ARQ
US8644341B1 (en) * 2003-09-26 2014-02-04 Sigma Designs Israel S.D.I. Ltd MAC structure with packet-quasi-static blocks and ARQ
KR100596435B1 (ko) 2003-12-17 2006-07-05 주식회사 하이닉스반도체 어드레스 억세스타임을 줄일 수 있는 반도체 메모리 장치
US7835264B2 (en) * 2004-12-29 2010-11-16 Mitsubishi Denki Kabushiki Kaisha Interleaver, deinterleaver, communication device, and method for interleaving and deinterleaving
US20060176966A1 (en) * 2005-02-07 2006-08-10 Stewart Kenneth A Variable cyclic prefix in mixed-mode wireless communication systems
US20060245384A1 (en) * 2005-05-02 2006-11-02 Talukdar Anup K Method and apparatus for transmitting data
US7649788B2 (en) * 2006-01-30 2010-01-19 Unity Semiconductor Corporation Buffering systems for accessing multiple layers of memory in integrated circuits
KR100764052B1 (ko) * 2006-08-03 2007-10-08 삼성전자주식회사 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
US8400998B2 (en) * 2006-08-23 2013-03-19 Motorola Mobility Llc Downlink control channel signaling in wireless communication systems
US8392955B2 (en) * 2007-09-04 2013-03-05 Hayim Shaul Apparatus and method for representing a sequence of content as projections for reconstructing the sequence at full or lower quality
US7941711B2 (en) * 2007-12-04 2011-05-10 Texas Instruments Incorporated Determining bit error rate using single data burst
CN102801488B (zh) * 2011-05-23 2015-12-16 中兴通讯股份有限公司 一种适用于WiMAX的交织或解交织的实现方法和装置
FR2986889B1 (fr) * 2012-02-09 2014-10-17 Thales Sa Systeme de paiement, terminal de paiement de ce systeme, et procede de paiement associe
GB2497154B (en) * 2012-08-30 2013-10-16 Imagination Tech Ltd Tile based interleaving and de-interleaving for digital signal processing
JP6988092B2 (ja) * 2017-01-16 2022-01-05 富士通株式会社 並列処理装置およびバーストエラー再現方法
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
US10289330B2 (en) * 2017-03-30 2019-05-14 Western Digital Technologies, Inc. Allocating shared memory among multiple tasks in a multiprocessor environment
CN109495207B (zh) * 2017-09-11 2021-08-10 上海诺基亚贝尔股份有限公司 用于在无线通信系统中交织数据的方法和设备
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
US11637657B2 (en) * 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063533A (en) * 1989-04-10 1991-11-05 Motorola, Inc. Reconfigurable deinterleaver/interleaver for block oriented data
US5907563A (en) * 1996-03-07 1999-05-25 Kokusai Denshin Denwa Co. Ltd. Error control method and apparatus for wireless data communication
US5889791A (en) * 1996-08-13 1999-03-30 Motorola, Inc. System, device and method of FEC coding and interleaving for variable length burst transmission
US6044429A (en) * 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6075824A (en) * 1997-08-04 2000-06-13 Motorola, Inc. Method and apparatus for re-encoding decoded data
GB2334641A (en) * 1998-02-11 1999-08-25 Northern Telecom Ltd Multiplexed transmission of optical signals
JP4110613B2 (ja) * 1998-04-22 2008-07-02 ソニー株式会社 送信装置、送信方法、提供媒体、並びに伝送システム
US6163871A (en) * 1998-05-29 2000-12-19 Adaptec, Inc. RAM based error correction code encoder and syndrome generator with programmable interleaving degrees
DE19951677B4 (de) * 1998-10-30 2006-04-13 Fujitsu Ltd., Kawasaki Halbleiterspeichervorrichtung
US6625763B1 (en) * 2000-07-05 2003-09-23 3G.Com, Inc. Block interleaver and de-interleaver with buffer to reduce power consumption

Also Published As

Publication number Publication date
EP1253729B1 (de) 2005-07-13
DE60204994D1 (de) 2005-08-18
ATE299627T1 (de) 2005-07-15
JP4108359B2 (ja) 2008-06-25
US6868519B2 (en) 2005-03-15
EP1253729A2 (de) 2002-10-30
US20020157060A1 (en) 2002-10-24
JP2003051813A (ja) 2003-02-21
EP1253729A3 (de) 2004-07-28

Similar Documents

Publication Publication Date Title
DE60204994T2 (de) Reduzieren von Szintillationseffekten bei optischer Freiraumübertragung
DE69932962T2 (de) Kodierungsverfahren und Speicheranordnung
DE10133595B4 (de) Pufferschaltung, Speicherzugriffsverfahren und Reed-Solomon-Decoder
DE60122155T2 (de) Flashspeicherarchitektur zur implementierung von gleichzeitigen programmierbaren flashspeicherbanken mit host-kompatibilität
DE69732896T2 (de) Verfahren und Geräte zur Schachtelung/Entschachtelung von digitalen Daten und Kommunikationssystem
DE69922707T2 (de) Sender und Empfänger mit Ratenanpassung
DE60032441T2 (de) Vorrichtung und verfahren zur turboverschaltelung
DE69529546T2 (de) Sequentieller Interleaver und Adressgenerator mit verringertem Speicheraufwand
EP0276753B1 (de) Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe
DE102005053625B4 (de) Speichermodul mit einer Mehrzahl von Speicherbausteinen
DE3618136C2 (de)
DE60004407T2 (de) Verschachteler und verschachtelungsverfahren einer dateneingangsbitfolge mit verwendung einer kodierten aufzeichnung von symbolen und zusätzlicher information
DE10008064B4 (de) Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
DE60108892T2 (de) Modul, vorrichtung und verfahren zum hochbitratigen dekodieren eines verketteten codes
EP2115948A1 (de) Verfahren und anlage zur optimierten übertragung von daten zwischen einer steuereinrichtung und mehreren feldgeräten
DE112018005762T5 (de) Neuschreiben von datenobjekten auf speichermedien mit sequenziellem zugriff
EP0219917B1 (de) Vermittlungsanlage mit Fehlerkorrektur
EP0554300B1 (de) Verfahren, coder und decoder zur datenübertragung und/oder -speicherung
WO2006029665A1 (de) Sender und empfänger für die übertragung von digitalen informationspaketen unter verwendung von vorwärtsfehlerkorrektur
DE2805294A1 (de) Kodierende (daten-)uebertragungsanlage fuer faksimilesignale
DE69721495T2 (de) Empfänger, entschachtelungsmittel und verfahren zur speicherentschachtelung in verkürzter zeit
DE10227165A1 (de) Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten
DE10036446B4 (de) Vorrichtung zum Erzeugen einer Speicheradresse, Mobilstation und Verfahren zum Schreiben/Lesen von Daten
DE60008268T2 (de) Wandler und verfahren zum wandeln eines eingangsdatenpaketstroms in einen ausgangsdatenpaketstroms
DE102004026800B4 (de) Verfahren zum Verändern einer Tiefe einer Interleaver-Vorrichtung oder Deinterleaver-Vorrichtung sowie entsprechende Interleaver-Vorrichtung, Deinterleaver-Vorrichtung und Kommunikationseinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition