DE69029484T2 - Verfahren und Anordnung zur Fehlerkorrektur - Google Patents
Verfahren und Anordnung zur FehlerkorrekturInfo
- Publication number
- DE69029484T2 DE69029484T2 DE69029484T DE69029484T DE69029484T2 DE 69029484 T2 DE69029484 T2 DE 69029484T2 DE 69029484 T DE69029484 T DE 69029484T DE 69029484 T DE69029484 T DE 69029484T DE 69029484 T2 DE69029484 T2 DE 69029484T2
- Authority
- DE
- Germany
- Prior art keywords
- character
- received
- characters
- error
- syndrome
- 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 - Fee Related
Links
- 238000012937 correction Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 title claims description 4
- 208000011580 syndromic disease Diseases 0.000 claims description 67
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
- Die vorliegende Erfindung liegt auf dem Gebiet der digitalen Übertragung und insbesondere dem Bereich der Fehlerkorrektur unter Verwendung von Blockkennungen.
- Bei digitalen Übertragungssystemen ist das anerkannte Gütemaß die Fehlerrate, d.h. der Anteil empfangener Bit, die sich von den übertragenen unterscheiden. Obgleich die Fehlerrate praktisch durch alle Aspekte der Systemauslegung beeinflußt wird, ist es auch möglich, sie direkt mit Verwendung von Fehlerkorrektur zu adressieren. Eine bedeutsame Verbesserung der Fehlerrate aufgrund von Fehlerkorrektur kann die Erfordernisse an andere Systemmerkmale wie beispielsweise Verstärker, Entzerrer und Feldlängen lindern oder als Alternative kann sie die Übertragungsleistung ausgedrückt als Bit pro Sekunde des Standes der Technik erweitern.
- Bekannte Fehlerkorrektursysteme erfordern die übertragung von Informationen zusätzlich zu den Daten, bzw. "Zusatz-"Informationen, und irgendeine Art von Berechnung unter Verwendung der empfangenen Daten und Zusatzinformationen, um die korrigierten Daten zu erzeugen. Die Faktoren, die gegeneinander ausgehandelt werden können und dennoch eine effektive Fehlerkorrektur bereitstellen, sind die für die Übertragung benötigte zusätzliche Bandbreite/Zeit; die zur Durchführung der Berechnungen ben;tigte Zeitdauer und der Aufwand und die Kosten der Ausrüstung.
- Wo Bandbreite/Zeit eine sehr hohe Priorität zugemessen wird, wie beispielsweise bei digitalen Funksystemen, muß die Menge an Zusatzinformationen minimal gehalten werden.
- Bei einem sehr wirkungsvollen bekannten Fehlerkorrektursystem werden eine mehrstufige Übertragung Codierung der empfindlichsten Bit jedes übertragenen Zeichens nach einem Blockcode wie beispielsweise einem Hamming-Code und ein Maximum-Likelihood-Decoder benutzt. Der Hamming-Code umfaßt eine Reihe von Datenbit gefolgt von mehreren Prüfbit. Die Prüfbit spiegeln die Parität verschiedener Kombinationen von Datenbit wider. Für jeden kodierten Datenblock wird durch Umrechnung der Prüfbit aus den empfangenen Datenbit nach dem Hamming-Code und Vergleichen derselben mit den empfangenen Prüfbit durch Modulo-Zwei-Addition ein Syndrom abgeleitet. Wenn das Syndrom nicht Null beträgt, ist das die empfangenen Datenbit und Prüfbit umfassende empfangene Codewort nicht gültig. Vom Maximum-Likelihood-Decoder werden alle gültigen Codeworte in Betracht gezogen, die möglicherweise übertragen worden sind und die mit dem empfangenen Codewort das bestimmte Syndrom erzeugen würden. Er berechnet den euklidischen Abstand zwischen jedem gültigen Codewort und den Istamplituden der empfangenen Zeichenfolge und wählt das naheste als das korrigierte Wort aus. Das Problem besteht darin, daß bei langen Codes mit relativ geringem Zusatz die Anzahl verschiedener gültiger Codeworte, die jedes Syndrom erzeugen könnten, gigantisch wird.
- Bei dem Chase-Decoder wird eine Teilmenge von gültigen Codeworten angenommen, die jedes Syndrom erzeugen würden, und das naheste ausgewählt. Bekannte Chase- Algorithmen lassen jedoch etwas zu wünschen übrig. Wenn nur Einzelzeichenfehler in Betracht gezogen werden d.h. gültige Codeworte, die sich vom empfangenen Codewort in nur einem Zeichen unterscheiden, ist die Gesamtfehlerkorrektur nicht sehr wirksam. Wenn Mehrzeichenfehlermuster in Betracht gezogen werden, erweitert sich der Rechenaufwand schnell dahin, wo die Berechnung auf einem hochratigen Übertragungssystem nicht in Echtzeit abgeschlossen werden kann.
- Ein weiteres System nach dem Oberbegriff des Anspruchs 1 ist aus GB-A-2 185 367 bekannt.
- Eine Aufgabe der vorliegenden Erfindung ist ein Fehlerkorrektursystem, das unter Verwendung eines sehr geringen Zusatzes eine wirksame Fehlerkorrektur bei hochratigem Datendurchsatz erzeugen kann.
- Ein Datensignal zur Übertragung wird nach einem Blockcode codiert, der ein Gesamtparitätsbit aufweist. Am Empfänger werden die empfangenen Zeichen von Analog- Digitalwandelmitteln in harte Bit umgewandelt, die die empfangenen Daten darstellen, und weiche Bit, die zusätzliche weniger bedeutsame Bit darstellen. Eine die Nähe des eigentlichen empfangenen Zeichens am Abschneidepegel zwischen harten Bit anzeigende Zuverlässigkeitsmetrik wird für jedes empfangene Zeichen aus seinen weichen Bit erzeugt und das unzuverlässigste Zeichen wird gekennzeichnet. Aus den codierten harten Bit wird das Blocksyndrom berechnet. Mehrere Fehlermusterkandidaten, die jeweils ein Zeichen oder eine Zeichenkombination kennzeichnen, die, wenn sie korrigiert werden würden, ein gültiges Codewort erzeugen würden, werden als Reaktion auf jedes Nicht-Null-Syndrom abgerufen. Für jedes geradzahlige Nicht-Null-Syndrom umfassen die Fehlermusterkandidaten die vollständige Menge von Doppelfehlern, für jedes ungeradzahlige Syndrom umfassen die Kandidaten den Einzelfehler und die vollständige Menge von Dreifachfehlern, die jeweils das unzuverlässigste Zeichen enthalten. Für jeden abgeruf enen Fehlermusterkandidaten werden die Zuverlässigkeitsmetriken der implizierten Zeichen ausgewertet und die implizierten Zeichen eines Kandidaten werden korrigiert, um das den empfangenen Zeichenwerten am nächsten gelegene gültige Codewort zu erzeugen.
- Figur 1 ist ein Blockschaltbild eines digitalen Funkübertragungssystems, das die Erfindung verkörpern könnte.
- Figur 2 ist ein Blockschaltbild eines bei der Realisierung der Erfindung nützlichen Blockcodierers.
- Figur 3 ist ein Blockschaltbild eines die Erfindung verkörpernden Blockdecodierers
- Figur 4 ist eine Syndromgeneratortabelle für den Hamming-(16, 11-)Code, die bei der Erfindungsrealisierung nützuch ist.
- Figur 5 ist ein zur Erklärung der Funktionsweise der Erfindung nützliches Analog-Digital-Wandlungsdiagramm.
- Im fehlerkorrigierenden digitalen Funkübertragungssystem der Figur 1 wird der Eingangsdatenstrom zuerst in einem fehlerkorrigierenden Codierer 12 codiert. Der Codierer 12 kann Blöcke von Multibitzeichen auf zwei Ausgangsschienen I und Q erzeugen. Das niedrigstwertige Bit jedes Zeichens wird nach einem Blockcode codiert, dessen letztes Bit erfindungsgemäß ein Gesamtparitätsbit ist. Blockrahmenbildungsinformationen sind enthalten und können in der Form eines wiederholten Musters vorliegen, das für andere Rahmenbildungsinformationen typisch ist.
- Ein Digital-Analogwandler 14 in jeder Schiene wandelt die Multibitzeichen in diskrete Analogpegel zur Quadratur-Amplitudenmodulation (QAM) um. Die dargestellte Ausführungsform zeigt an, daß die I- und Q-Schienen jeweils 4-Bit-Busse sind, was 4-Bit-Zeichen zur Umwandlung in 16 diskrete Pegel und 256-QAM bedeutet. Die Erfindung ist natürlich nicht auf eine solche Wahl begrenzt und es können auch andere QAM-Werte benutzt werden, die eine andere Anzahl von Pegeln erfordern. In der Tat braucht das mehrstufige Signal nicht quadraturmoduliert sein; es können andere mehrstufige Übertragungsformate und auch andere Medien zusätzlich zum Digitalfunk zur Verwendung kommen. Durch die vorliegende Erfindung können selbst binäre Daten, die nach einem Blockcode mit einem Gesamtparitätsbit codiert worden sind, wirksam korrigiert werden. Ein Sender 17 in der Ausführungsform liefert die notwendige Modulation und Filterung zur Übertragung eines 256-QAM-Funksignals nach gut bekannten Verfahren.
- Der Empfänger 18 empfängt das 256-QAM-Signal, liefert die notwendige Demodulation, Filterung, Entzerrung, Taktwiederherstellung usw., die in der Technik bekannt sind, um die mehrstufigen analogen Signale auf I- und Q-Schienen zu erzeugen. Ein Paar Analog-Digitalwandler (A/D) 20 erzeugen jeweils als Reaktion auf jeden empfangenen diskreten Pegel ein 8-Bit-Wort. Obwohl eine 8-Bit-Auflösung in den A/D nicht notwendig ist, müssen die A/D wie noch gezeigt wird mindestens 2 Bit mehr Auflösung als die Anzahl von Bit in einem Zeichen erzeugen. Die vier höchstwertigen dieser acht Bit werden in die empfangenen Daten- und Zusatzbit umgesetzt und werden als "harte" Bit bezeichnet. Die vier übrigen Bit Spiegeln nur die Genauigkeit der empfangenen Zeichen wider und werden als "weiche" Bit bezeichnet.
- Von einem fehlerkorrigierenden Decodierer 22 wird das eine Codebit in den vier empfangenen harten Bit, und die vier weichen Bit von jedem Zeichen und die Blockbeginnanzeige wiederhergestellt. Aus diesen Informationen bestimmt er das wahrscheinlichste Fehlermuster unter einer ausgewählten Menge von Kandidaten nach der Erfindung, führt die Korrekturen aus und gibt einen korrigierten Datenstrom aus.
- In Figur 2, auf die die Aufmerksamkeit nunmehr gelenkt wird, ist ein Blockschaltbild eines Fehlerkorrekturcodierers dargestellt, der mit der Erfindung benutzt werden kann. Die zuverlässig zu übertragenden Daten werden von einem programmierten Schalter 24 in zwei Wege aufgeteilt. Zu codierende Bit können einem Hamming- Codierer 26 zugeführt werden, die übrigen Bit können an einem Ausgang 28 zu einem Zeichensammler 30 ausgegeben werden. Der Hamming-Codierer kann zwei Codebit pro Baud an den Sammler 30 ausgeben, wo sie mit den uncodierten Bit zusammengefügt werden, um Zeichen zu bilden; die Zeichen werden dann in diskrete Analogpegel zur Übertragung umgewandelt.
- Da der Codierer 26 als ein Hamming-(16, 11)- Codierer gekennzeichnet ist, empfängt er elf Datenbit pro Block, addiert fünf Prüfbit und gibt die sechzehn Bit aus, die alle codierte Bit genannt werden. Jedes der elf Datenbit als dfl und die Prüfbit als cn kennzeichnend erzeugt dieser Hamming-Code die Prüfbit wie folgt:
- c&sub1; = d&sub1; + d&sub2; + d&sub3; + d&sub4; + d&sub6; + d&sub8; + d&sub9;
- c&sub2; = d&sub2; + d&sub3; + d&sub4; + d&sub5; + d&sub7; + d&sub9; + d&sub1;&sub0;
- c&sub3; = d&sub3; + d&sub4; + d&sub5; + d&sub5; + d&sub8; + d&sub1;&sub0; + d&sub1;&sub1;
- c&sub4; = d&sub1; + d&sub2; + d&sub3; + d&sub1; + d&sub8; + d&sub1;&sub1;
- c&sub5; = d&sub1; + d&sub2;+ d&sub3; + d&sub4; + d&sub5; + d&sub6; + + d&sub8; + d&sub9;+ d&sub1;&sub0; + d&sub1;&sub1; + c&sub1; + c&sub2; + c&sub3; + c&sub4;.
- Der Schalter 24 muß daher zur Codierung jedes Blocks elf Bit aus dem Datenstrom entnehmen. Da bei einem wirksamen mehrstufigen Übertragungsformat die Möglichkeit, daß ein Fehler eine Größe von mehr als einer Stufe aufweist, winzig ist, braucht nur das niedrigstwertige Bit jedes Zeichens codiert werden. Bei einem 256-QAM- Übertragungssystem, das durch vier Bit bestimmte 16- stufige Zeichen benutzt, brauchen die drei höchstwertigen Bit jedes Zeichens nicht codiert werden. Dem Sammler 30 werden daher achtundvierzig Bit mit der Rate von sechs Bit pro Baud zugeleitet. Die zwei codierten Bit werden die jeweiligen niedrigstwertigen Bit der zwei Zeichen pro Baud.
- Der Algorithmus, mit dem der Schalter 24 die elf zu codierenden Bit aus den insgesamt neunundfünfzig Datenbit pro Block auswählt, ist unbedeutend, so lange wie der Decodierer im Empfänger konsequent die Datenbit in ihrer richtigen Folge ersetzt und am Schluß die Prüfbit verwirft. Ein einfacher Algorithmus, der eine Mindestverzögerung bewirkt, besteht in der Auswahl des ersten Bits jedes Blocks und jedes vierten Bits danach, bis alle elf ausgewählt sind.
- Das Ausgangscodewort wird dann d&sub1;, d&sub2;, d&sub3;, d&sub4;, d&sub5;, d&sub6;, d&sub7;, d&sub8;, d&sub9;, d&sub1;&sub0;, d&sub1;&sub1;, c&sub1;, c&sub2;, c&sub3;, c&sub4;, c&sub5;. Durch Beschränken der fehlerkorrigierenden Codierung auf nur die niedrigstwertigen Bit jedes übertragenen Zeichens wird die Anzahl von Zusatzbit, die übertragen werden müssen, sehr verringert. In diesem Fall werden nur 5 Zusatzbit zu 59 Datenbit hinzugefügt, um einen Block von 64 übertragenen Bit zu bilden. Bei mehrstufiger Signalübertragung wird jedoch die Wirksamkeit der Fehlerkorrektur nicht bedeutend beeinflußt.
- Es wird darauf hingewiesen, daß die vorliegende Erfindung nicht auf die Verwendung des Hamming-(16, 11)- Codes begrenzt ist. Die Wahl eines beliebigen Blockcodes, der ein Gesamtparitätsbit aufweist, genügt, um einen bedeutenden Vorteil der Erfindung zu ermöglichen. Bei allen diesen Codes kann ein ungeradzahliges Syndrom, d.h. ein in einer 1 endendes Syndrom nur durch eine ungeradzahlige Anzahl von Fehlern erzeugt werden; ein geradzahliges Syndrom kann nur durch eine geradzahlige Anzahl oder keine Fehler erzeugt werden.
- Durch Verwendung eines Blockcodes mit einem Gesamtparitätsbit wird daher die Anzahl von Fehlermusterkandidaten, die für jedes Syndrom in Betracht gezogen werden müssen, bedeutend verringert; Fehlermuster, die sowohl ungeradzahlige als auch geradzahlige Fehlerzahlen enthalten, sind niemals Kandidaten für dasselbe Syndrom. Es ist daher möglich, alle wahrscheinlichsten Einzel-, Doppel- und Dreifachfehler nach der Erfindung in Betracht zu ziehen.
- In Figur 3 ist ein Blockschaltbild eines fehlerkorrigierenden Decodierers dargestellt, der als der Decodierer 22 in dem 256-QAM-System der Figur 1 zur Durchführung der Erfindung benutzt werden kann.
- Im Decodierer können die 8-Bit-I- und Q-Schienenausgaben von A/D-Wandlern 20 in einen Taktregenerator 40 eingespeist werden, der die Verteilung von Teilen der 16 Eingangsbit pro Baud synchronisiert. Zehn Bit, die von jeder Schiene die vier Informationsbit zuzüglich des als Fehlerpolaritäts- (E.P. - error polarity) Bit bekannten höchstwertigen weichen Bits enthalten, werden über Ausgang 41 in eine Verzögerungsvorrichtung 42 eingespeist. Die vier weichen Bit von den I- und Q-Schienen werden über Ausgänge 43 bzw. 45 einem Zuverlässigkeitsmetrikgenerator zugeführt und die zwei Codebit, die die niedrigstwertigen empfangenen Informationsbit sind, werden über einen Ausgang 47 einem Syndromrechner 60 zugeführt.
- Der Zuverlässigkeitsmetrikgenerator 50 wandelt die Weichbitinformationen von jeder Schiene in eine Binärzahl um, die die Distanz zwischen dem empfangenen analogen Istwert des Zeichens und dem angezeigten Digitalzeichen anzeigt. Wenn einfache binäre A/D-Wandlung benutzt wird, läßt sich dies einfach durch Ausblenden des EP-Bits und, nur wenn das EP-Bit 1 ist, Invertieren jedes der übrigen drei Bit erreichen. Je niedriger die Binärzahl dieser abgeleiteten Metrik daher ist, desto näher liegt das empfangene Zeichen am Abschneidepegel und desto unzuverlässiger ist es. Die 3-Bit-Zuverlässigkeitsmetriken für die auf den beiden Schienen empfangenen Zeichen werden vom Metrikgenerator 50 auf Ausgängen 51 bzw. 53 ausgegeben.
- Vom Syndromrechner 60 wird das Syndrom auf gut bekannte Weise durch Neuberechnung der Prüfbit aus den empfangenen codierten Datenbit und Modub-Zwei-Addierung derselben zu den empfangenen Prüfbit berechnet. Im Fall des Hamming-(16, 11)-Codes gibt es fünf Prüfbit und daher fünf Syndrombit. Diese Funktion erfordert die Kennzeichnung des Beginns jedes Blocks, der über eine Steuerschaltung 70 empfangen werden kann.
- Während der Berechnung des Syndroms kann das unzuverlässigste Zeichen durch einen Sucher 80 des unzuverlässigsten Zeichens lokalisiert werden. Diese Vorrichtung kann die während jedes Bauds empfangenen zwei Metriken vom Metrikgenerator 50 vergleichen und die niedrigere Metrik festhalten. Ein zweiter Vergleicher kann jede derartige festgehaltene Metrik mit der nachfolgenden vergleichen und wiederum die niedrigere speichern, wobei er das Baud ihres Ursprungs verfolgt. Nach Empfang der Metriken aus allen acht Baud eines Codeblocks gibt der Sucher 80 des unzuverlässigsten Zeichens die letzte gespeicherte Metrik auf einem 3-Bit- Bus 81 und ihre Stelle, Baud und Schiene zur Ausgabe auf einem 4-Bit-Bus 83 aus. Da sich der Vorgang für jeden Block wiederholen muß, wird von der Steuerschaltung 70 eine Blockbeginnanzeige empfangen. Als Alternative kann der Baudweise Vergleich durch einzelne Vergleicher für jeden Eingangsbus durchgeführt werden, wobei der Endvergleich zwischen den zwei gespeicherten Metriken stattfindet.
- Die nach der Erfindung begrenzten Fehlermusterkandidaten können aus einem Fehlermustergenerator 90 abgerufen werden. Der Generator 90 kann vorteilhafterweise ein programmierter Festwertspeicher (PROM - programmed read-only memory) sein, der durch die fünf Syndrombit aus dem Syndromrechner 60 und die vier Ortsbit aus dem Ausgang 83 des Suchers des unzuverlässigsten Zeichens adressiert wird. An jeder der 2' Adressen können die zwei 4-Bit-Worte gespeichert sein, die die Orte von bis zu zwei Fehlern eines Fehlermusterkandidaten darstellen.
- Wenn der Hamming-(16, 11)-Code benutzt wird, müssen für jede Adresse maximal acht Fehlermusterkandidaten erzeugt werden, was nur 32,768 Bit PROM-Speicherung erfordert. In der Tat würde noch weniger Speicherraum erforderlich sein, wenn zusätzliche Logik hinzugefügt werden würde, da einige Syndrome durch eine beschränktere Menge von Fehlern erzeugt werden. Dieser einfache Ansatz, der etwas mehr Speicherraum erfordert, erscheint jedoch durch die niedrigen Kosten dieses bescheidenen Speicherraums begünstigt zu sein. Bei dem Hamming-(16, 11)-Code kann jedes Syndrom, das nicht aus nur Nullen besteht, aber in Null endet, d.h. jedes geradzahlige Nicht-Null- Syndrom durch nur acht Doppelfehlermuster, keine Einzelfehlermuster und keine Drei-Fehler-Muster erzeugt werden. Der PROM des Generators 90 kann daher an jeder der sechzehn Adressen, die ein geradzahliges Nicht-Null- Syndrom darstellen, dieselben acht 8-Bit-Worte gespeichert haben. Es gibt fünfzehn solche Syndrome und daher nur fünfzehn Mengen von acht 2-Zeichen-Fehlermustern. Das Nur-Null-Syndrom stellt natürlich keine korrigierbare Fehler beim Empfang dar. In der vorliegenden Ausführungsform haben die an diesen 16 Adressen gespeicherten Worte keine Bedeutung, da das Nur-Null- Syndrom von einer späteren Stufe des Decodierers erkannt wird.
- Bei jedem der sechzehn möglichen ungeradzahligen Syndrome gibt es genau einen Einzelfehler und sieben Dreifachfehler, wobei einer der Dreifachfehler ein spezifisches Zeichen ist. Durch Addieren des Ortes des unzuverlässigsten Zeichens zum Syndrom bei der Adressierung des Generators 90 können daher Dreifachfehlerkandidaten auf diejenigen sieben begrenzt werden, die das unzuverlässigste Zeichen einschließen. Wenn der Ort des Einzelfehlerkändidaten als erstes Ausgangswort bei jeder der sechzehn Adressen des ungeradzahligen Syndroms gespeichert wird, können diese Informationen später benutzt werden. Darüber hinaus brauchen nur die Orte der anderen zwei Zeichen gespeichert werden, da bekannt ist, daß das unzuverlässigste Zeichen in jedem Drei-Fehler- Muster-Kandidaten enthalten ist. An jeder der sechzehn möglichen Adressen für ein unzuverlässigstes Zeichen für jedes ungeradzahlige Syndrom werden daher sieben zusätzliche 8-Bit-Worte gespeichert.
- Die bestimmten zu speichernden Fehlermuster können aus der auf jeden Code bezogenen Generatormatrix erzeugt werden. Die Generatormatrix für den Hamming-(16, 11)-Code ist in Figur 4 wiedergegeben, auf die nunmehr Bezug genommen wird.
- Es gibt sechzehn Spalten mit je fünf Bit. Jede Spalte stellt ein 5-Bit-Syndrom dar; sein Ort ist derselbe wie der eines Ein-Fehler-Zeichens, das das Syndrom erzeugen wird. Ein Syndrom 11111 könnte daher von einem Fehler im dritten Zeichen (Stelle 0010) verursacht sein. Diese Stelle, d.h. das 4-Bit-Wort 0010 ist das erste Wort, das an allen vom Syndrom 11111 adressierten Stellen gespeichert ist.
- Die Generatormatrix kann auch zur Bestimmung von Mehrfachfehlermustern benutzt werden. Kombinationen von Spalten, die, wenn sie Modulo-Zweizusammenaddiert werden, ein bestimmtes Syndrom erzeugen, kennzeichnen die entsprechenden Stellen von Kombinationen von fehlerhaften Zeichen, die das Syndrom erzeugen. Da die zweite Spalte 11011, die sechste Spalte 10101 und die zwölfte Spalte 10001 sich Modub-Zwei zum Syndrom 11111 hinzuaddieren lassen, wird dieses Drei-Fehler-Muster ebenfalls mit dem Syndrom identifiziert. Damit die Anzahl von Fehlermusterkandidaten erfindungsgemäß überschaubar wird, wird sie jedoch nur an den drei durch das Syndrom und die Stelle der drei entsprechenden Zeichen daryestellten Adressen gespeichert. Das (aus Stellen zwei und sechs bestehende) 8-Bit-Wort 00010101 ist ein weiteres der acht an der Adresse 111111011 gespeicherten Worte (die aus dem Syndrom und der Stelle zwölf für das unzuverlässigsten Zeichens besteht). Gleichermassen ist das Wort 00011011 (Stelle zwei und zwölf) eines der an der Adresse 111110101 (Syndrom plus Stelle sechs für das unzuverlässigsten Zeichens) gespeicherten acht Worte, und das Wort 01011011 (7,12) wird an Stelle 111110001 (Syndrom, 2) gespeichert. Da in einem Drei-Fehler-Muster kein Ein- Fehler-Zeichen enthalten sein kann, ist der Fall, bei dem der Ein-Fehler-Kandidat auch das unzuverlässigste Zeichen ist, ein Sonderfall. Es gibt keine Drei-Fehler- Kandidaten, die das unzuverlässigste Zeichen zur Speicherung enthalten. Es hat sich als zweckdienlich erwiesen, die Stelle des Einzelfehlers, des unzuverlässigsten Zeichens, zu speichern, einmal wiederholt, um das 8-Bit-Wort für alle acht Fehlermusterkandidaten zu bilden. Beispielsweise würden an der Adresse 111110010 (Syndrom 11111, Stelle 3) alle acht gespeicherten Worte 00100010 sein.
- Die acht 8-Bit-Worte, die die Stellen der zwei fehlerhaften Zeichen für jedes der acht entsprechenden Doppelfehlermuster darstellen, die jedes geradzahlige Syndrom erzeugen, können auf ähnliche Weise vom Generator abgeleitet werden. Man betrachte beispielsweise einen Fehler sowohl im dritten Zeichen (Stelle 0010) und dem fünften Zeichen (Stelle 0100). Modub-Zwei-Addition der dritten Generatormatrixspalte (11111) und der fünften Spalte (01111) ergibt das Syndrom 10000. Eines der acht Worte, die an jeder Adresse gespeichert sind, die mit 10000 beginnt, ist daher 00100100. Da Vierfach-Muster und solche höherer Ordnung außer Acht gelassen werden, braucht diese Ausführungsform mit dem Hamming-(16, 11)- Code für jedes geradzahlige Syndrom nur acht Worte zu speichern.
- Um unter den ausgewählten Fehlermusterkandidaten das wahrscheinlichste Muster zu bestimmen, wird die mit jedem verdächtigen Zeichen verbundene Zuverlässigkeitsmetrik benötigt. Ein Metrikwähler 100 für diesen Zweck kann die Form eines oder mehrerer mit sechs parallelen Bit adressierbarer Schieberegister von einer Länge von mindestens acht Bit annehmen. Die sechs Bit, die die Zuverlässigkeitsmetriken der zwei Zeichen je Baud von Ausgängen 51 bzw. 53 des Metrikgenerators 50 darstellen, werden progressiv im Metrikwähler 100 gespeichert. Die acht Bit, die die Stellen innerhalb des codierten Blocks von zwei verdächtigen Zeichen für jeden vom Fehlermustergenerator 90 ausgegebenen Fehlermusterkandidaten darstellen, adressieren die bestimmten gespeicherten Metriken im Wähler 100. Die so ausgewählten Metriken werden über einen Ausgangsanschluß 101 an einen Fehlermusterwähler 110 ausgegeben.
- Aufgrund der mit der Suche des unzuverlässigsten Zeichens und dem Abrufen des Fehlermusterkandidaten verbundenen Verzögerung muß der Metrikwähler 100 mehr als die auf einen einzigen Codeblock bezogenen sechzehn Metriken speichern können. Zur Speicherung und zum Abrufen der Metriken aus dem entsprechenden Block kann ein Signal von der Steuerschaltung 70 benutzt werden. Ein Konstrukteur mit gewöhnlichen Fachkenntnissen kann daher den Wähler 100 unter Verwendung eines einzigen langen Schieberegisters oder einer Mehrzahl kürzerer Register konstruieren, indem er entsprechende Eingänge und Ausgänge zwischen diesen als Reaktion auf Steuersignale umschaltet.
- Für jeden Codeblock empfängt der Fehlermuster wähler 110 vom Metrikwähler 100 sechs Bit, die zwei Zuverlässigkeitsmetriken für jeden der acht Fehlermusterkandidaten darstellen, zusätzlich zu der Metrik des unzuverlässigsten Zeichens vom Ausgang 81. Um das wahrscheinlichste gültige Codewort zu bestimmen muß der Fehlermusterwähler 110 das Codewort finden, das der empfangenen Zeichenfolge am nächsten kommt. Wie schon erwähnt ist das 16-Bit-Wort, das ein Nicht-Null-Syndrom erzeugt, kein gültiges Codewort. Die Fehlermusterkandidaten kennzeichnen Kombinationen von Zeichen, deren niedrigstwertige Bit geändert werden könnten, um gültige Codeworte zu erzeugen. Die Benutzung der Metriken zur Bestimmung des gültigen Codewortes, das der empfangenen Zeichenfolge am nächsten kommt, wird anhand der Figur 5 leichter verständlich.
- Figur 5 ist ein Diagramm der Umsetzung von empfangenen analogen Zeichenamplituden in die digitale Ausgabe der A/D-Wandler. Harte Digitalzeichenstufen sind jeweils durch gestrichelte Linien 401-403 und Abschneidepegel durch durchgezogene Linien 404 und 405 dargestellt. Man betrachte zwei repräsentative Zeichen, die auf Stufe P&sub1; zwischen der harten Digitalzeichenstufe 401 und Abschneidepegel 404 bzw. P&sub2; zwischen Stufe 401 und Abschneidepegel 405 empfangen werden. Das für jedes dieser empfangenen Zeichen ausgegebene niedrigstwertige harte Bit ist 0; die entsprechenden weichen Bit sind 1110 für P&sub1; und 0101 für P&sub2;. Der euklidische Abstand zwischen dem empfangenen Zeichen und dem ausgegebenen nächsten harten Bit kann durch m&sub1; bzw. m&sub2; dargestellt werden. Der Abstand vom zweitnächsten ausgegebenen harten Bit wird daher j&sub1; und j&sub2;. Der euklidische Abstand zwischen der empfangenen Zeichenfolge und der Ausgangsfolge harter Bit beträgt daher m&sub1; + m&sub2; + ... + m&sub1;&sub6;. Dies ist immer die kürzeste Entfernung zu einem möglichen Codewort. Wenn man Fehlermusterkandidaten betrachtet, um das nächste gültige Codewort zu finden, wird bemerkt, daß der Beitrag mn für unveränderte Zeichen derselbe bleibt. Es braucht daher nur die Differenz zwischen dem aktuellen Abstand mn und dem Abstand jn zum zweitnächsten harten Bit für jedes in einem Fehlermusterkandidaten gekennzeichnete Zeichen betrachtet werden und die Mindestsumme herausgesucht werden. Es ist zu bemerken, daß jedes j die Summe von R ist, was ein halber Abschneideintervall ist, plus kn, dem Abstand zwischen dem nächstgelegenen Abschneidepegel und der empfangenen Zeichenstufe. Gleichermaßen ist mn = R - kn. Die Summe der j Abstände minus der m Abstände aller Fehler eines Fehlermusterkandidaten ist daher Σ (jn - mn) = Σ (R + kn - [R - kn]) = Σ 2kn. Beim Suchen des nächsten gültigen Codewortes muß daher der Fehlermusterwähler nur die kleinste Summe der k Abstände für die Zeichen des Fehlermusterkandidaten in jedem Block suchen.
- Es ist weiterhin zu bemerken, daß wenn das höchstwertige weiche Bit, das heißt das Fehlerpolaritäts (EP-)Bit Null ist, die übrigen drei weichen Bit ein binäres Äquivalent des Abstandes k abzüglich eines Fehlers von mindestens der Hälfte des niedrigstwertigen Bits zwischen 000 und dem Abschneidepegel sind. Wenn das EP-Bit eine Eins ist, wird durch Invertieren jedes der übrigen weichen Bit dasselbe Ergebnis erzeugt. So werden daher im Metrikgenerator 50 die Zuverlässigkeitsmetriken gebildet, die vom Metrikwähler 100 abgerufen werden.
- Zur wirkungsvollen Implementierung des vorliegenden Fehlerkorrekturalgorithmus muß der Fehlermusterwähler 110 in der Lage sein, zwischen Ein-, Doppel- und Dreifach-Fehlermustern zu unterscheiden. Für diesen Zweck kann er das letzte Syndrombit S&sub5; empfangen, das durch das Verzögerungsglied 130 richtig verzögert wurde, um mit dem Empfang der entsprechenden Metriken zusammenzutreffen. Wenn S&sub5; eine Null ist, was nur Doppelfehlermuster anzeigt, werden die abgeruf enen zwei Metriken für jeden Musterkandidat binär summiert. Zum Suchen der Mindestsumme kann jede neue Summe mit der vorherigen Summe verglichen und die niedrigere Summe für den nächsten Vergleich gesichert werden. Die Stelle innerhalb der acht Muster pro Block wird zum Kennzeichner fehlerhafter Zeichen 120 exportiert. Der Halbstufenfehler geht gleichermaßen in jeden Summenvergleich ein und kann ohne Auswirkungen ignoriert werden.
- Wenn S&sub5; eine 1 ist, sind ein Einzelfehlermuster und sieben Dreifachfehlermuster Kandidaten. Wie schon angegeben kann jedoch das Einfehlermuster das erste sein, das gespeichert und abgerufen wird. Die entsprechende einzelne 3-Bit-Metrik wird als die zutreffende Summe benutzt. Für die übrigen sieben Fehlermusterkandidaten enthält die zutreffende Summe die beiden abgeruf enen 3-Bit-Metriken zuzüglich der Metrik des unzuverlässigsten Zeichens, die entsprechend vom Sucher des unzuverlässigsten Zeichens 80 verzögert worden ist. Da die Einfehlersumme nur einen Halbstufenfehler enthält und jede Dreifachfehlersumme drei Halbstufenfehler enthält, kann für größere Genauigkeit bei der Auswahl des Fehlermusters für das nächste gültige Codewort ein zusätzlicher zu jeder Dreifachfehlersumme hinzugefügt werden. Wenn das unzuverlässigste Zeichen ebenfalls als Einfehlermusterkandidat gekennzeichnet ist, wird seine Metrik, einmal genommen, niedriger als dieselbe Metrik dreimal genommen sein; sie wird daher als der einzige Fehler zur Korrektur gewählt. Die 3-Bit-Stelle unter den acht Kandidaten wird wiederum zum Kennzeichner 120 exportiert.
- Der Kennzeichner fehlerhafter Zeichen 120 kann eine Nachschlagetabelle ähnlich der des Fehlermustergenerators 90 sein. Im vorliegenden Falle bilden jedoch zusätzlich zu den fünf Syndrombit und den vier Bit der Stelle des unzuverlässigsten Zeichens (zutreffend durch Verzögerung 130 verzögert) die drei Bit aus dem Fehlermusterwähler 110 eine Adresse. An jeder Adresse gespeichert sind acht 2-Bit-Worte, die nacheinander zu einem Zeichenkorrigierer 140 ausgegeben werden. Die Verzögerung 42 verzögert die acht harten Bit und zwei EP-Bit jedes empfangenen Bauds, um am Zeichenkorrigierer 140 mit dem entsprechenden 2-Bit-Wort vom Kennzeichner fehlerhafter Zeichen 120 zusammenzutreffen. Das 2-Bit- Wort drückt aus, ob das Zeichen auf der I-Schiene, der Q- Schiene, keiner oder beiden zu ändern ist. Für alle Adressen des Nur-Null-Syndrons zeigen daher alle 2-Bit- Worte an, daß keines der Zeichen zu ändern ist.
- Der Zeichenkorrigierer 140 ändert nicht nur die nierigstwertigen harten Bit zur Erzeugung des nächsten gültigen Codewortes, sondern die gesamten zutreffenden 4- Bit-Zeichen. Dies ermöglicht dem Code von nur 16 Bit mit einem Zusatz von nur 5 Bit, den gesamten Block von 64 Bit zu korrigieren. Die EP-Bit zeigen an, ob das korrigierte Zeichen benachbart höher oder niedriger als das empfangene ist. Die korrigierten Zeichen können auf I- und Q- Schienen zur entsprechenden Verarbeitung im Blockdecodierer 150 ausgegeben werden, um den korrigierten Ausgangsdatenstrom zu bilden.
- Der Decodierer 150 muß die fünf Prüfbit aus dem Block von sechzehn Zeichen ausblenden und den Datenstrom von neunundfünfzig Bit wiederherstellen, indem er das umgekehrte des Codierers der Figur 2 durchführt.
- So ist ein fehlerkorrigierendes Datenübertragungssystem beschrieben worden, das zu einer übertragungsverbesserung entsprechend 3 dB bei 200 Mb/s fähig ist.
- Der fachkundige Konstrukteur wird erkennen, daß die beschriebene 256-QAM-Ausführungsform auf vielerlei Weisen implementiert werden kann, einschließlich der Verwendung festverdrahteter Logik und/oder programmierter Mikroprozessoren. Gleicherweise können, da das QAM Modulationsformat das Signal in getrennte Schienen in der Digitalstufe sowohl am Sender als auch am Empfänger trennt, getrennte Codierer und Decodierer für jede Schiene innerhalb des Rahmens der Erfindung benutzt werden. In einer derartigen Ausführungsform, die den Hamming-(16, 11)-Code benutzen könnte, könnte beispielsweise ein Codeblock aus sechzehn 4-Bit-Baud bestehen und die Zeichenstellenworte könnten immer noch vier Bit umfassen. Da alle Eingaben, Ausgaben und Vorgänge für jede Funktion beschrieben sind, werden zur Implementierung der Erfindung nur gewöhnliche Fachkenntnisse benötigt.
- Auch ist zu erkennen, daß Ausführungsformen, die andere Blockcodes als den Hamming-(16, 11)-Code und/oder andere Übertragungsformate als 256-QAM benutzen, ohne aus dem Rahmen der Erfindung abzuweichen gebaut und betrieben werden können.
Claims (16)
1. Anordnung zur Korrektur eines empfangenen
codierten Datenblocks mit einer Mehrzabl empfangener Zeichen,
die einen oder mehrere Fehler enthalten können, mit
folgendem:
Analog/Digital-Wandelmittel (20) zum Umwandeln
der besagten empfangenen Zeichen in harte Bit
entsprechend den empfangenen Daten und weiche Bit, die
die Nähe der besagten empfangenen Zeichenwerte zu
gültigen Zeichenwerten anzeigen;
auf besagte harte Bit reagierende
Syndromberechnungsmittel (60) zum Berechnen des Syndroms jedes
empfangenen codierten Blocks;
auf besagte weiche Bit reagierende, eine
Zuverlässigkeitsmetrik erzeugende Mittel (50) zum Erzeugen
einer Zuverlässigkeitsmetrik für jedes empfangene
Zeichen;
auf besagtes Syndrom reagierende
Fehlermusterkandidatabrufmittel (90) zum Kennzeichnen einer Mehrzahl
von Fehlermusterkandidaten, wobei jeder derartige
Kandidat ein oder mehrere Zeichen zur Korrektur zur Erzeugung
eines gültigen Zeichenblocks umfaßt; und
auf besagte Fehlermusterkandidaten und besagte
Zuverlässigkeitsmetriken reagierende
Fehlerkorrekturmittel (100 + 110 + 120 + 140) zum Korrigieren der Zeichen
eines der besagten gekennzeichneten
Fehlermusterkandidaten zur Erzeugung des den empfangenen Zeichenwerten am
nächsten liegenden gültigen Zeichenblocks, dadurch
gekennzeichnet, daß der besagte empfangene codierte
Datenblock ein Gesamtparitätsbit aufweist; und die
besagte Anordnung weiterhin folgendes umfaßt:
auf besagte Zuverlässigkeitsmetriken reagierende,
das am wenigsten zuverlässige Zeichen kennzeichnende
Mittel (80) zum Kennzeichnen des empfangenen Zeichens in
jedem empfangenen codierten Block, das einem
Abschneidepegel am nächsten liegt;
als Reaktion auf ein geradzahliges Nicht-Null-
Syndrom kennzeichnet das besagte
Fehlermusterkandidatabrufmittel die vollständige Menge von
Zwei-Zeichen-Fehlern,
die das besagte geradzahlige Syndrom erzeugen
können; und
als Reaktion auf ein ungeradzahliges Syndrom
kennzeichnet das besagte Fehlermusterkandidatabrufmittel
den einen Ein-Zeichen-Fehler und die vollständige Menge
von Drei-Zeichen-Fehlern, die jeweils das am wenigsten
zuverlässige Zeichen enthalten, die das besagte
ungeradzahlige Syndrom erzeugen können.
2. Anordnung nach Anspruch 1, wobei das besagte
empfangene Zeichen in jedem empfangenen codierten Block,
das einem Abschneidepegel am nächsten liegt, daß
empfangene Zeichen mit der Metrik geringster Zuverlässigkeit
ist.
3. Anordnung nach Anspruch 2, wobei die besagte
Zuverlässigkeitsmetrik die übrigen weniger zuverlässigen
weichen Bit umfaßt, wenn das zuverlässigste weiche Bit
Null ist, und die übrigen weniger zuverlässigen weichen
Bit invertiert, wenn das zuverlässigste weiche Bit Eins
ist.
4. Anordnung nach Anspruch 3, wobei die besagte
Zuverlässigkeitsmetrik drei Bit umfaßt.
5. Anordnung nach Anspruch 1, wobei der besagte
Blockcode mit einem Gesamt-Paritätsbit der Hamming-(16,
11)-Code ist.
6. Anordnung nach Anspruch 1, wobei das besagte
Fehlermusterkandidatabrufmittel (90) ein durch das
besagte Syndrom und durch die Stellung des besagten am
wenigsten zuverlässigen Zeichens adressiertes erstes
Speichermittel umfaßt.
Anordnung nach Anspruch 6, wobei im besagten
ersten Speichermittel die Stellungen von zwei Zeichen
darstellenden Worten gespeichert sind.
8. Anordnung nach Anspruch 7, wobei das gespeicherte
Wort, das die Stellung eines Ein-Fehler-Kandidaten
enthält, das erste als Reaktion auf eine ungeradzahlige
Syndromadresse ausgegebene Wort ist.
Anordnung nach Anspruch 8, wobei die an Adressen
gespeicherten übrigen Worte einschließlich eines
ungeradzahligen Syndroms jeweils die Stellungen von zwei Zeichen
darstellen, die zusammen mit dem einen Teil der Adresse
bildenden, am wenigsten zuverlässigen Zeichen einen
Dreifachfehlermusterkandidat umfassen.
10. Anordnung nach Anspruch 6, wobei die besagten
Fehlerkorrekturmittel folgendes umfassen:
auf besagte Fehlermusterkandidaten und besagte
Zuverlässigkeitsmetriken reagierende Metrikabrufmittel
(100) zum Abrufen der Zuverlässigkeitsmetriken der
Zeichen in den besagten Fehlermusterkandidaten;
Fehlermusterauswählmittel (110) mit
Metrikkombiniermitteln, die auf die besagten abgeruf enen Metriken
reagieren, um eine kombinierte Metrik für jeden der
besagten Fehlermusterkandidaten zu erzeugen, und auf
besagte kombinierte Metriken reagierende Vergleichsmittel
zum Auswählen eines Fehlermusters aus der besagten
Mehrzahl von Fehlermusterkandidaten; und
auf besagte Fehlermusterauswählmittel und besagte
harte Bit reagierende Zeichenaustauschmittel (120 + 140)
zum Austauschen von wertmäßig benachbarten Zeichen gegen
die entsprechenden Zeichen im besagten einen ausgewählten
Fehlermuster zur Erzeugung des den besagten empfangenen
Zeichenwerten am nächsten liegenden gültigen
Zeichenblocks.
11. Anordnung nach Anspruch 10, wobei die besagten
Metrikkombiniermittel die einzelnen
Zuverlässigkeitsmetriken der Zeichen innerhalb jedes
Fehlermusterkandidaten summieren, um die besagte kombinierte Metrik zu
bilden, und die besagten Vergleichsmittel den
Fehlermusterkandidaten mit der niedrigsten kombinierten Metrik
auswählen.
12. Anordnung nach Anspruch 11, wobei die Summe der
besagten einzelnen Zuverlässigkeitsmetriken der Zeichen
innerhalb jedes Dreifachfehlermusterkandidaten um eins
erhöht wird, um die kombinierte Metrik zu bilden.
13. Anordnung nach Anspruch 10, wobei die besagten
Metrikabrufmittel (100) folgendes umfassen:
zweite Speichermittel mit darin gespeicherter
Zuverlässigkeitsmetrik für jedes Zeichen des besagten
Blocks an Adressen, die für die entsprechenden Stellungen
innerhalb des besagten Blocks der entsprechenden Zeichen
repräsentativ sind.
14. Anordnung nach Anspruch 11, wobei die besagten
Zeichenaustauschmittel (120 + 140) folgendes umfassen:
von besagtem Syndrom, der besagten Stellung des
besagten am wenigsten zuverlässigen Zeichens und der
Stellung der besagten niedrigsten kombinierten Metrik
adressierte dritte Speichermittel (120) mit einer darin
an adressierbaren Stellungen gespeicherten Mehrzahl von
Worten, die dafür repräsentativ sind, ob Zeichen in
entsprechenden Baud in dem besagten ausgewählten
Fehlermuster enthalten sind.
15. Anordnung nach Anspruch 10, wobei die besagten
Zeichenaustauschmittel (120 + 140) weiterhin auf das
höchstwertige der besagten weichen Bit (E.P.) reagieren,
um zu bestimmen, ob die besagten wertmäßig benachbarten
ausgetauschten Zeichen höher oder niedriger als die
besagten empfangenen Zeichenwerte sind.
16. Fehlerkorrekturverfahrenmit folgenden Schritten:
1) Empfangen eines empfangenen codierten
Datenblocks mit einem Gesamt-Paritätsbit, empfangen in der
Form von Zeichen, die übertragene Zeichen repräsentieren,
die einen oder mehrere Fehler enthalten können;
2) Umwandeln der besagten empfangenen Zeichen in
empfangenen Zeichen entsprechende harte Bit und die Nähe
der empfangenen Impulsamplituden zu theoretischen
Impulsamplituden anzeigende weiche Bit;
3) Berechnen des Syndroms des empfangenen
codierten Datenblocks aus den besagten harten Bit;
4) Erzeugen einer Zuverlässigkeitsmetrik für
jedes empfangene Zeichen aus den besagten weichen Bit;
5) Suchen des am wenigsten zuverlässigen
Zeichens innerhalb des besagten empfangenen codierten
Datenblocks durch Vergleichen der besagten
Zuverlässigkeitsmetriken;
6) Erzeugen, für jedes geradzahlige Nicht-Null-
Syndrom, einer ersten Mehrzahl von Fehlermusterkandidaten,
die jeweils zwei Zeichen kennzeichnen, die beide geändert
werden könnten, um einen gültigen Zeichenblock zu erzeugen;
7) Erzeugen, für jedes ungeradzahlige Syndrom,
einer zweiten Mehrzahl von Fehlermusterkandidaten, wobei
einer der besagten zweiten Mehrzahl von
Fehlermusterkandidaten ein einziges Zeichen kennzeichnet, das geändert
werden könnte, um einen gültigen Zeichenblock zu
erzeugen, wobei der Rest der besagten zweiten Mehrzahl von
Fehlermusterkandidaten zwei Zeichen kennzeichnet, die
zusammen mit dem besagten am wenigsten zuverlässigen
Zeichen geändert werden könnten, um einen gültigen
Zeichenblock zu erzeugen;
8) Berechnen einer kombinierten Metrik aus den
Zuverlässigkeitsmetriken der besagten gekennzeichneten
Zeichen für jeden erzeugten Fehlermusterkandidaten;
9) Vergleichen der besagten kombinierten
Metriken, und
10) Ändern der besagten gekennzeichneten Zeichen
des Fehlermusterkandidaten, was nach seiner besagten
kombinierten Metrik das den empfangenen Zeichenwerten am
nächsten liegende gültige Codewort ergibt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/350,494 US5010554A (en) | 1989-05-12 | 1989-05-12 | Error correction method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69029484D1 DE69029484D1 (de) | 1997-02-06 |
DE69029484T2 true DE69029484T2 (de) | 1997-04-10 |
Family
ID=23376970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69029484T Expired - Fee Related DE69029484T2 (de) | 1989-05-12 | 1990-05-02 | Verfahren und Anordnung zur Fehlerkorrektur |
Country Status (5)
Country | Link |
---|---|
US (1) | US5010554A (de) |
EP (1) | EP0397385B1 (de) |
JP (1) | JPH0831808B2 (de) |
CA (1) | CA2013158C (de) |
DE (1) | DE69029484T2 (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134635A (en) * | 1990-07-30 | 1992-07-28 | Motorola, Inc. | Convolutional decoder using soft-decision decoding with channel state information |
US5499251A (en) * | 1990-08-15 | 1996-03-12 | Televerket | Method of recovering lost bits in a digital transmission |
SE468413B (sv) * | 1990-08-15 | 1993-01-11 | Televerket | Metod foer aaterskapande av foerlorade bitar vid digital transmission |
US5426652A (en) * | 1991-01-08 | 1995-06-20 | The Dsp Group Inc. | Data reception technique |
US5446763A (en) * | 1991-07-02 | 1995-08-29 | Motorola, Inc. | Apparatus and method for converting soft symbols into soft bits |
US5319649A (en) * | 1991-12-27 | 1994-06-07 | Comstream Corporation | Transmission systems and decoders therefor |
US5491702A (en) * | 1992-07-22 | 1996-02-13 | Silicon Graphics, Inc. | Apparatus for detecting any single bit error, detecting any two bit error, and detecting any three or four bit error in a group of four bits for a 25- or 64-bit data word |
US5461629A (en) * | 1992-09-09 | 1995-10-24 | Echelon Corporation | Error correction in a spread spectrum transceiver |
CA2113941A1 (en) * | 1993-01-25 | 1994-07-26 | Andrew J. Macdonald | Error correcting decoder and decoding method for receivers in digital cellular communications systems |
US5363413A (en) * | 1993-05-20 | 1994-11-08 | Motorola, Inc. | Data decoder and method for use therein using a dynamically indexed channel state metric |
US5539780A (en) * | 1993-10-28 | 1996-07-23 | Motorola, Inc. | Computationally efficient data decoder and method used therein |
US5596589A (en) * | 1993-10-29 | 1997-01-21 | Motorola, Inc. | Method and apparatus for encoding and decoding error correction codes in a radio communication system |
US5592404A (en) * | 1993-11-04 | 1997-01-07 | Cirrus Logic, Inc. | Versatile error correction system |
US5481566A (en) * | 1993-12-29 | 1996-01-02 | At&T Corp. | Method and apparatus to increase efficiency of systematic codes |
AU2276995A (en) * | 1994-04-08 | 1995-10-30 | Echelon Corporation | Method and apparatus for robust communications based upon angular modulation |
EP0684712B1 (de) * | 1994-05-17 | 2005-05-04 | Nippon Telegraph And Telephone Corporation | Endgerät in SDH Netzwerken unter Verwendung fehlerkorrigierender Codes |
US5717723A (en) * | 1994-08-17 | 1998-02-10 | Roke Manor Research Limited | Apparatus for use in equipment providing a digital radio link between a fixed radio unit and a mobile radio unit |
US5533033A (en) * | 1994-12-19 | 1996-07-02 | The United States Of America As Represented By The Director, National Security Agency | Device for and method of correcting errors in formatted modem transmissions |
US5751740A (en) * | 1995-12-14 | 1998-05-12 | Gorca Memory Systems | Error detection and correction system for use with address translation memory controller |
US5996110A (en) * | 1996-12-16 | 1999-11-30 | Motorola, Inc. | Method and apparatus for decoding a data packet |
US6145110A (en) * | 1998-06-22 | 2000-11-07 | Ericsson Inc. | Digital data decoder that derives codeword estimates from soft data |
DE69829960D1 (de) * | 1998-07-07 | 2005-06-02 | Agilent Technologies Inc | Blockkode mit begrenzter Disparität |
US6728920B1 (en) | 1999-05-24 | 2004-04-27 | Adaptive Broadband Corporation | Method for correcting errors in transfer of information |
DE10049162A1 (de) * | 2000-09-27 | 2002-05-02 | Siemens Ag | Verfahren zur Kodierung von Datenpaketen insbesondere zur Übertragung über eine Luftschnittstelle |
US20020199153A1 (en) * | 2001-06-22 | 2002-12-26 | Fall Thomas G. | Sampling method for use with bursty communication channels |
US6920601B1 (en) | 2002-04-08 | 2005-07-19 | Sanera Systems Inc. | Error correction for data communication |
US7433427B2 (en) * | 2004-11-29 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Enhanced denoising system utilizing incremental parsing |
US7890842B2 (en) * | 2005-02-14 | 2011-02-15 | California Institute Of Technology | Computer-implemented method for correcting transmission errors using linear programming |
US7421640B2 (en) * | 2005-08-17 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for providing error correction capability to longitudinal position data |
US7506226B2 (en) * | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
EP2283579A1 (de) * | 2008-06-10 | 2011-02-16 | Telefonaktiebolaget L M Ericsson (PUBL) | Kontinuierlicher paralleler viterbi-decoder |
US8498349B2 (en) * | 2009-03-11 | 2013-07-30 | Texas Instruments Incorporated | Demodulation and decoding for frequency modulation (FM) receivers with radio data system (RDS) or radio broadcast data system (RBDS) |
US8327243B1 (en) * | 2010-08-16 | 2012-12-04 | Integrated Device Technology Inc. | System and method for generating locator polynomials |
US8965776B2 (en) * | 2012-03-30 | 2015-02-24 | Infinera Corporation | Iterative forward error correction (FEC) on segmented words using a soft-metric arithmetic scheme |
CA2873244A1 (en) | 2012-05-14 | 2013-11-21 | Socovar, Limited Partnership | Method and system for video error correction |
US11381260B2 (en) * | 2020-05-27 | 2022-07-05 | The Royal Institution For The Advancement Of Learning / Mcgill University | Architecture for guessing random additive noise decoding (GRAND) |
US11722152B1 (en) | 2020-11-25 | 2023-08-08 | Astera Labs, Inc. | Capacity-expanding memory control component |
US12061793B1 (en) * | 2020-11-25 | 2024-08-13 | Astera Labs, Inc. | Capacity-expanding memory control component |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4020461A (en) * | 1975-11-18 | 1977-04-26 | Trw Inc. | Method of and apparatus for transmitting and receiving coded digital signals |
JPS5387644A (en) * | 1977-01-12 | 1978-08-02 | Hitachi Ltd | Error check system |
JPS55102057A (en) * | 1979-01-29 | 1980-08-04 | Fujitsu Ltd | Error correction unit |
SU1123111A1 (ru) * | 1982-11-10 | 1984-11-07 | Ленинградский Электротехнический Институт Связи Им.Проф.М.А.Бонч-Бруевича | Цифрова система передачи и приема информации с обнаружением ошибок |
SU1270899A1 (ru) * | 1984-12-29 | 1986-11-15 | Предприятие П/Я А-7306 | Кодек блочных кодов |
US4716385A (en) * | 1985-07-24 | 1987-12-29 | Nec Corporation | Multilevel modulator comprising a compact error correcting code producing unit |
CA1296065C (en) * | 1985-12-11 | 1992-02-18 | Tadashi Matsumoto | Method for decoding error correcting block codes |
US4914660A (en) * | 1988-04-08 | 1990-04-03 | Sanyo Electric Co., Ltd. | Method and apparatus for decoding error correcting code |
-
1989
- 1989-05-12 US US07/350,494 patent/US5010554A/en not_active Expired - Lifetime
-
1990
- 1990-03-27 CA CA002013158A patent/CA2013158C/en not_active Expired - Fee Related
- 1990-05-02 DE DE69029484T patent/DE69029484T2/de not_active Expired - Fee Related
- 1990-05-02 EP EP90304789A patent/EP0397385B1/de not_active Expired - Lifetime
- 1990-05-11 JP JP2120146A patent/JPH0831808B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5010554A (en) | 1991-04-23 |
CA2013158C (en) | 1993-06-08 |
CA2013158A1 (en) | 1990-11-12 |
EP0397385A2 (de) | 1990-11-14 |
DE69029484D1 (de) | 1997-02-06 |
JPH0831808B2 (ja) | 1996-03-27 |
EP0397385A3 (de) | 1993-11-10 |
JPH033523A (ja) | 1991-01-09 |
EP0397385B1 (de) | 1996-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69029484T2 (de) | Verfahren und Anordnung zur Fehlerkorrektur | |
DE69532949T2 (de) | Verfahren und gerät zur dekoderoptimierung | |
DE3750583T2 (de) | Viterbidekodierer mit verringerter zahl von datentransportoperationen. | |
DE69609509T2 (de) | Trelliskodierung mit verminderter fehlerverbreitung | |
DE2649355C2 (de) | Verfahren und Anordnung zur Übertragung einer Bitfolge | |
DE69601343T2 (de) | Maximalwahrscheinlichkeitsdekodierung mit weichen Entscheidungen | |
DE3689733T2 (de) | Gerät zur Übertragung von Datenbitgruppen und Verfahren zur Beurteilung der mit der grössten Wahrscheinlichkeit übertragenen Sequenz. | |
EP0392603B1 (de) | Übertragungssystem | |
DE3687603T2 (de) | Kodiertes modulationssystem mit einem vereinfachten dekoder, faehig zur verminderung der folge der kanalverzerrung. | |
DE3850192T2 (de) | Verfahren und Vorrichtung zur Fehlerkorrektur bei gespeicherten Daten. | |
DE3888418T2 (de) | PRML-Kodierung. | |
DE69431772T2 (de) | Rotationsunabhängiges, trelliskodiertes Modulationssystem | |
DE69603053T2 (de) | Verfahren zum Generieren eines gleichstromfreien Kodes mit Kodierung eines Teiles der Daten durch die Sequenz der digitalen Summe aufeinanderfolgender Kodewörtern, und Vorrichtung dazu | |
DE69929652T2 (de) | Datenfehlerkorrektursystem | |
DE3751039T2 (de) | Modem und verfahren zur verwendung mehrdimensionaler kodierter modulierung. | |
DE2364874B2 (de) | Kodieranordnung für ein Differentialphasenmodulationssystem | |
DE2227148B2 (de) | Schaltungsanordnung zur Umsetzung digitaler Daten | |
EP0488456B1 (de) | Maximalwahrscheinlichkeitsempfänger | |
DE69327683T2 (de) | Erweitertes fehlergeschütztes Kommunikationssystem | |
DE4233089A1 (de) | Digitalfunkempfaenger | |
DE1499694A1 (de) | Einrichtung zur Fehlerkorrektur von parallel dargestellten,binaer codierten n-stelligen Informationszeichen | |
DE3854490T2 (de) | Dynamische Bestimmung von Multi-Mode-Kodierung für Datenkomprimierung. | |
DE69719024T2 (de) | Verfahren zur dekodierung von datensignalen mittels eines festlängenentscheidungsfensters | |
DE2053836B2 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
EP0769853B1 (de) | Logischer Block für einen Viterbi-Decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |