-
HINTERGRUND
DER ERFINDUNG
-
Bereich der Erfindung
-
Die
vorliegende Erfindung betrifft ein Datenfehler-Korrektursystem,
welches zur Verbesserung der Leitungsqualität einer Übertragungsleitung durch Codieren
von Daten in Fehler-Korrekturcodes verwendet wird, um Fehler, welche
in der Übertragungsleitung
erzeugt werden, so weit wie möglich
zu korrigieren, und zwar in den Bereichen Satellitenkommunikation
und Raumkommunikation, in welchen Daten, wie beispielsweise komprimierte
Bilddaten, übertragen
werden.
-
Stand der
Technik
-
Es
existiert ein Datenkorrekturverfahren in der digitalen Kommunikation,
welches als "Vitabi
Decodierverfahren" bezeichnet
wird (G. D. Forney Jr., "The
Viterbialgorithum",
IEEE, Bd. 61, S. 268 bis 278, März
1973). Um die Fehlerkorrekturfähigkeit
zu verbessern wird durch G D. Forney Jr. ein verbundener Code vor geschlagen,
welcher eine Kombination aus einem Faltungscode mit dem anderen
Code darstellt. Ein weiterer allgemein verwendeter verbundener Code
ist eine Verbindung aus einem Faltungscode und einem Reed-Solomon-Code,
welcher durch Kombination eines Blockcodierers mit einem Reed-Solomon-Codierer
erhalten wird. Die Decodierung der codierten Daten wird basierend
auf dem Viterbi-Algorithmus
ausgeführt,
und die Viterbi-decodierten Daten werden einer Reed-Solomon-Decodierung
unterzogen.
-
Da
jedoch die Fehlerkorrektur unabhängig durch
den Viterbi-Decodierer und durch den Reed-Solomon-Decodierer durchgeführt wird,
bringt das vorstehend beschriebene herkömmliche Datenfehler-Korrektursystem
das Problem mit sich, dass es nicht möglich ist, einen ausreichenden
Fehlerkorrektureffekt zu erhalten und somit die Leitungsqualität einer Übertragungsleitung
zu verbessern.
-
Sechadri
et al.: "Generalized
Viterbi Algorithms for Error Detection with Convolutional Codes" IEEE-1989, Bd. 27.
November 1989, Seiten 1534–1538,
XP000144863 beschreibt zwei verallgemeinerte Viterbi-Algorithmen
(Generalized Viterbi Algorithms, GVAs) zum Decodieren von Faltungscodes.
Der Betrieb eines Empfängers,
welcher einen GVA zur Verbesserung der Leistung eines verketteten
Codierungsschemas verwendet, ist in 1 gezeigt.
Gemäß dem beschriebenen
Korrektursystem und wie in 1 gezeigt
werden die zu übertragenden
Daten zunächst
mit einem Außenfehler-Detektions-Blockcode
codiert, wodurch der verbesserte Datenblock dann durch den inneren
Faltungscode codiert wird. Der Innendecodierer erzeugt basierend auf
dem GVA die beste Schätzung
der verbesserten Daten, und der Außendecodierer führt die
Paritätsprüfung der
decodierten Daten durch. Wird herausgefunden, dass sie nicht die
korrekte Parität
aufweisen, so fordert der Außendecodierer
beim Innendecodierer den nächstbesten
Block an, dessen Parität dann
durch den Außencode überprüft wird
(S. 1534, linke Spalte, zweiter Absatz [des englischen Textes]).
-
Durch
die Korrektursysteme dieses Dokumentes werden jedoch Sequenzen von
L besten Kandidaten im Voraus abgeleitet, und zwar nicht nur dann,
wenn sie das parallele GVA-Schema verwenden, sondern auch denn,
wenn sie das serielle GVA-Schema verwenden. Zu diesem Zweck werden die
L besten Kandidaten zu jedem Zeitpunkt aktualisiert, während der
normale Viterbi-Algorithmus ausgeführt wird, wie beispielsweise
auf Seite 1535, linke Spalte [des englischen Textes] beschrieben.
-
Weiter
wird, nachdem die L besten Kandidaten abgeleitet sind, die Sequenz
des zweitbesten Kandidaten in diesem System ausgegeben, falls bestimmt
wird, dass die Sequenz des besten Kandidaten unzuverlässig ist.
Jedoch erfordert dies ein System mit einer komplexen Struktur, um
die vorstehenden komplexen Operationen durchzuführen.
-
Aus
der EP-A1-413 505 ist ein verallgemeinerter Viterbi-Decodieralgorithmus
bekannt, welcher parallel und seriell verallgemeinerte Viterbi-Decodieralgorithmen
erfordert, die eine nach Rang geordnete Liste der L besten Kandidaten
nach einer Gittersuche erzeugen.
-
Es
ist daher ein Ziel der vorliegenden Erfindung, die vorstehend beschriebenen
Probleme zu lösen
und ein Fehlerkorrektursystem bereitzustellen, welches in der Lage
ist, Datenfehler wiederholt zu korrigieren, wobei Bitfehler, welche
in der Übertragungsleitung
erzeugt werden, ausreichend korrigiert werden, und die Leitungsqualität zu verbessern,
und welches eine Struktur aufweist, die einfacher ist und die eine
bessere Funktionalität
im Vergleich mit der Struktur von Sechardi et al. aufweist.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung versteht sich gemäß den Ansprüchen 1 bis
5.
-
Gemäß dem ersten
Aspekt der vorliegenden Erfindung weist ein Datenfehler-Korrektursystem
Folgendes auf einen Puffer für
den Empfang von Daten, welche mit Hilfe eines Blockcodierers und
eines Faltungscodierers codiert sind; einen Viterbi-Decodierer für das Decodieren
eines Datenblcoks, der vom Datenausgang aus dem ersten Puffer in Übereinstimmung
mit dem Viterbi-Algorithmus bestimmt wird; einen Blockcodierer,
der mit dem Decodiervorgang beginnt, wenn er Daten empfängt, die
einer Blockcodelänge
von dem Viterbi-Decodierer entsprechen, um wenn möglich die
Fehlerkorrektur auszuführen
und das Ergebnis an einen Blockcodierer auszugeben; und einen Regelschaltkreis
zum Regeln der Ausführung
einer erneuten Decodierung mit Hilfe des Viterbi-Decodierers, so
dass eine Decodierung mit Hilfe des Blockdecodierers für diejenigen
Daten durchgeführt
wird, die der Blockcodelänge
entsprechen, deren Fehler noch nicht korrigiert werden konnte, basierend
auf der Ausgabe eines Fehlererfassungssignals durch den Blockdecodierer,
wenn die Fehlerkorrektur nicht möglich
war.
-
Gemäß dem zweiten
Aspekt der vorliegenden Erfindung ist das Datenfehler-Korrektursystem gemäß dem ersten
Aspekt dadurch gekennzeichnet, dass das Datenfehler-Korrekturystem
wiederholte Ausführungen
der Decodierung durch den Viterbi-Decodierer und den Blockdecodierer
durch den Fehlererfassungsschaltkreis erlaubt, bis die Fehlerkorrektur
freigegeben wird, wenn die zweite Fehlererfassung nicht möglich war.
-
Gemäß dem dritten
Aspekt der vorliegenden Erfindung ist das Datenfehler-Korrektursystem
gemäß dem ersten
Aspekt dadurch gekennzeichnet, dass in den Puffer eingegebene Daten
die Bitdaten sind, welche durch eine weiche Entscheidungsdarstellung
ausgedrückt
werden.
-
Gemäß dem vierten
Aspekt der vorliegenden Erfindung ist das Datenfehler-Korrektursystem
gemäß dem ersten
Aspekt dadurch gekennzeichnet, dass der Viterbi-Decodierer Folgendes
aufweist: einen Generator für
die Zweigmetrik zum Erhalt einer Wahrscheinlichkeit der Fälle, in
welchen jedes übertragbare
Symbol übertragen
wurde, wenn die Daten für
jeweilige Symbole, die aus dem Puffer ausgegeben werden, empfangen
werden; ein Register für
die Pfadmetrik, das die kumulative Metrik des Überlebenspfads speichert; einen
Additions-, Vergleichs- und Auswahlschaltkreis zur Ausgabe eines
Pfadmetrikwerts bei n Zuständen
und von Auswahlinformationen bei dem durch Ausführung eines Vergleichs, einer
Addition und einer Auswahl von Ausgangssignalen aus dem Pfadmetrik-Register
und aus dem Zweigmetrikregister ausgewählten Zustand n immer dann,
wenn die einem Symbol entsprechende Zeit entlang eines Gitterdiagramms
abläuft;
einen Detektor für
die Zustandszahl-Reihenfolge des Pfads mit der maximalen Wahrscheinlichkeit
zum Erhalt einer Zustandszahl, die den maximalen metrischen Pfadwert
unter den metrischen Pfadwerten bei dem Zustand n, der von dem Additions-,
Vergleichs- und Auswahlschaltkreis ausgegeben wird, aufweist; einen
Pfadspeicher zum Speichern der Auswahlinformationen bei dem vom
Additions-, Vergleichs- und Auswahlschaltkreis ausgegebenen Zustand
n; einen Rückverfolgungsschaltkreis
zu Ausgeben decodierter Daten mit (u + k) Bits ab dem letzten ankommenden
Bit bei der Rückverfolgung
nach hinten ab dem Zustandszahl-Ausgangssignal vom Detektor für die Reihenfolge
der Zustandszahl des Pfads mit der maximalen Wahrscheinlichkeit
zu jedem Zeitpunkt (u + k), wenn die codierten Daten alle k Bits
geteilt werden und u Bits als redundante Bits hinzugefügt werden; und
einen Decodier-Regelschaltkreis der eine Ausführung einer erneuten Decodierung
ermöglicht, wenn
ein Regelsignal vom Regelschaltkreis empfangen wird.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, welches ein Datenkorrektursystem gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ist
ein Blockdiagramm zur Erläuterung des
Fehlerkorrekturcodierers;
-
3 ist
ein Blockdiagramm, welches den Viterbi-Decodierer in 1 zeigt;
-
4 ist
ein Konzeptdiagramm, welches den Faltungscodierer zur Erläuterung
der vorliegenden Erfindung zeigt;
-
5 ist
ein Diagramm, welches die Datenreihe in jeweiligen Blöcken in 2 erläutert;
-
6 ist
ein Diagramm zur Erläuterung
einer Gitterdarstellung des Faltungscodierers in 4;
-
7 ist
ein Diagramm zur Erläuterung
der Struktur des Additions-, Vergleichs- und Auswahl-Schaltkreises
in 3;
-
8 ist
ein Diagramm zur Erläuterung
der Gitterdarstellung der Rückverfolgungsverarbeitung
in der vorliegenden Erfindung; und
-
9 ist
ein Diagramm zur Erläuterung
der weichen Drei-Bit-Entscheidungsdaten
in der vorliegenden Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Nachfolgend
wird ein Ausführungsbeispiel der
vorliegenden Erfindung mit Bezug auf die anliegenden Zeichnungen
beschrieben.
-
1 zeigt
ein erfindungsgemäßes Datenfehler-Korrektursystem.
Die Bezugszeichen 10 und 11 bezeichnen Eingangsanschlüsse zur
Eingabe empfangener Daten P bzw. empfangener Daten Q; 12 bezeichnet
einen Puffer zur Eingabe des Ausgangssignals eines Faltungscodierers,
d.h. empfangener Daten P und empfangener Daten Q, welche einen Bitfehler
enthalten, der in einer Übertragungsleitung
erzeugt wurde; 13 bezeichnet einen Viterbi-Decodierer,
welcher die Decodierung eines Eingangssignals der benannten empfangenen
Daten-Ausgangssignale P und der benannten empfangenen Daten-Ausgangssignale
Q aus dem Puffer 12 gemäß dem Viterbi-Algorithmus
ausführt; 14 bezeichnet
einen Blockdecodierer, welcher die Decodierung der Decodierungsdaten
mit einer Länge,
welche einem Blockcode des Viterbi-Decodierers 13 ent spricht, ausführt; 17 ist
ein Puffer zur Ausgabe der decodierten Daten aus dem Blockdecodierer 14 nach
außen.
-
Das
Bezugszeichen 15 bezeichnet einen Regelschaltkreis, welcher
ein Detektionssignal empfängt,
das von dem Blockdecodierer 14 ausgegeben wird, wenn entschieden
wird, dass der Fehler an diesem Punkt nicht korrigiert werden kann,
ein Regelsignal R ausgibt, so dass der Viterbi-Decodierer 13 wiederholt
eine erneute Decodierung eine im Voraus bestimmte Anzahl von Malen
ausführt,
und ein Regelsignal für
den Viterbi-Decodierer ausgibt, so dass dieser die benannten empfangenen
Daten P und die benannten empfangenen Daten Q an den Puffer 12 ausgibt.
Der Viterbi-Decodierer 13 ist wie in 3 gezeigt
ausgebildet. In 3 bezeichnet 14 einen Generator
für die
Zweigmetrik zum Erhalt von Wahrscheinlichkeiten der Übertragung
jedes Symbols in dem Fall, dass jedes übertragbare Symbol übertragen
wird, wenn Daten für
jedes aus dem Puffer 12 ausgegebene Symbol empfangen werden, 43 bezeichnet
ein Register für
die Pfadmetrik, welches eine kumulative Metrik von Überlebenspfaden
speichert; 42 ist ein Additions-, Vergleichs- und Auswahlschaltkreis
(addition comparison selection circuit, nachfolgend auch als ACS-Schaltkreis
bezeichnet) zur Ausführung
einer Addition (ADD), eines Vergleichs (VERGLEICH) und einer Auswahl
(WAHL) für das
Ausgangssignal aus dem Generator für die Zweigmetrik 41 zum
Zeitpunkt jedes Symbols und das Ausgangssignal aus dem Register
für die
Pfadmetrik 43 gemäß dem Gitterdiagramm,
sowie zur Ausgabe der somit verglichenen und ausgewählten Pfadmetrikwerte
bei n Zuständen
und Auswahlinformationen bei n Zuständen.
-
Weiterhin
ist in 3 die 44 ein Detektor für die Zustandszahl-Reihenfolge
des Pfads mit der maximalen Wahrscheinlichkeit zum Erhalt der Zustandszahl
mit dem maximalen Pfadmetrikwert unter Pfadmetrikwerten im Ausgangssignal
beim Zustand n von dem ACS-Schaltkreis 42; 45 ist
ein Pfadspeicher zum Speichern der Auswahlinformationen auf dem
Ausgangssignal beim Zustand n von dem ACS-Schaltkreis 42 zum
Zeitpunkt jedes Symbols; 46 ist ein Rückverfolgungsschaltkreis, welcher
die (u + k) Bits als decodier te Daten ab dem letzten Bit, welches schließlich durch
Rückverfolgung
des Pfadspeichers 45 von dem Zustandszahl-Ausgangssignal
von dem Detektor 44 für
die Reihenfolge der Zustandszahl des Pfads mit der maximalen Wahrscheinlichkeit
in Richtung nach hinten für
die Symbolzeit g erreicht wird; 47 bezeichnet einen Re-Decodierungsschaltkreis 15 zur Ausführung einer
erneuten Decodierung beim Empfang des Regelsignals R von dem in 1 gezeigten Regelschaltkreis.
-
Als
nächstes
wird der Betrieb beschrieben. Zu Erläuterungszwecken wird angenommen,
dass der Blockcodierer 32 die Daten alle k Bits teilt und
u Bits als redundante Bits zu allen k Bits hinzufügt, und es
wird ebenfalls angenommen, dass das Codierungsverhältnis R
und die Restriktionslänge
K des Faltungscodierers 33 bei R = 1/2 bzw. K = 3 festgemacht
ist.
-
Zunächst wird
eine Erläuterung
des Fehlerkorrekturcodierers auf der Sendungsseite beschrieben.
Auf der Sendungsseite werden, wie in 2 gezeigt,
Daten in den Blockcodierer 32 durch den Eingangsanschluss 31 eingegeben.
-
Wie
in 5 gezeigt führt
der Blockcodierer 32 die Codierung aus, um u Bits des redundanten
Bit, c1, c2, ..., cu zu den ersten k Bits, i1, 12, ..., 1k hinzuzufügen und
cu + 1, cu + 2, ..., c2u Bits als die redundanten Bits zu dem folgenden
Bit k, ik + 1, ik + 2, ..., i2k hinzuzufügen.
-
Anschließend wird
das Ausgangssignal des Blockcodierers 32 durch den Faltungscodierer 33 codiert,
welcher durch ein Schieberegister mit drei Stufen und ein exklusives
ODER-Gatter aufgebaut wird. Dies bedeutet, dass in diesem Faltungscodierer 33 das
Ausgangssignal des Blockcodierers 32, wie in 4 gezeigt,
in das Schieberegister 50 zum Zeitpunkt jedes Symbols eingegeben
wird, und die Ausgangssignale benannter Stufen einer logischen Verarbeitung
an exklusiven ODER-Gattern 51 und 52 unterzogen
werden, und Daten P, P1, P2, ..., und Daten Q, Q1, Q2, ... aus den
Ausgangsanschlüssen 55 und 56 ausgegeben
werden. Daten P und Daten Q, welche aus dem Faltungscodierer 33 ausgegeben werden,
werden zur Eingabe in den Puffer 12 durch die Eingangsanschlüsse 10 und 11 des
Fehlerkorrekturdecodierers übertragen.
Zu diesem Zeitpunkt werden diese Daten P und Daten Q durch den weichen Entscheidungsausdruck
zur Übertragung
an den Viterbi-Decodierer 13 dargestellt, wie diese Daten durch
das während
der Übertragung
erzeugte Rauschen verändert
werden. 9 stellt die weiche Entscheidungsdarstellung
von "0" und "1" durch drei Bits dar.
-
Als
Nächstes
wird der Betrieb des Viterbi-Decodierers 13 beschrieben. 6 illustriert
eine Gitterdarstellung des Faltungscociderers 33. {0, 0},
{0, 1}, {1, 0} und {1, 1} in der linken Spalte von 6 stellen die
Inhalte des ersten und zweiten Schritts {a, b} dar. Die auf der
rechten Seite der Pfeile gezeigten Werte werden durch Berechnung
der Formel (a × 2
+ b) erhalten, und diese Werte werden nachfolgend als Zustandszahl
bezeichnet. 6 erläutert kurz Folgendes. Wenn
die Zustandszahl 0 ist und die in den Faltungscodierer 33 eingegebenen
Daten "0" sind, erfolgt eine
Umwandlung auf die Zustandszahl 0, und der Ausgangssignalwert "0 0" (wobei das auf der
Linie gezeigte Bezugszeichen die Umwandlung von der Zustandanzahl
0 auf die Zustandszahl 0 anzeigt) der Daten P und der Daten Q wird
ausgegeben. Wenn die Eingangsdaten "1" sind,
erfolgt eine Umwandlung auf die Zustandszahl 1, und der Ausgangssignalwert "1 1" wird ausgegeben.
Im Hinblick auf die anderen Zustandszahlen wird ein Ziel der Umwandlung
in Übereinstimmung
mit den in den Faltungscodierer 33 eingegebenen Daten bestimmt,
und die Ausgangssignalwerte der Daten P und der Daten Q werden auf
den Übertragungsleitungen
gezeigt. Der Viterbi-Decodierer führt eine Decodierungsverarbeitung
gemäß dem durch
die Gitterdarstellung gezeigten Diagramm aus.
-
Dies
bedeutet, dass wenn die weichen Entscheidungsdaten P und Q in den
Viterbi-Decodierer 13 von dem Puffer 12 aus durch
ein Regelsignal S von dem Regelschaltkreis 15 eingegeben
werden, der Generator für
die Zweigmetrik 41 eine Zweigmetrik für die weichen Entscheidungsdaten
P1 und Q1 berechnet, d.h. Wahrschein lichkeiten des Übertragungsdatensatzes
(P, Q) waren (0, 0), (1, 0), (0, 1), (1, 1). Für weiche Entscheidungsdaten
P1 und Q1 wird die Zweigmetrik zu dem Zeitpunkt, wenn der Übertragungsdatensatz
(0, 0) ist, zu λ0,
die Zweigmetrik wenn der Übertragungsdatensatz
(0, 1) ist, ist λ1,
die Zweigmetrik für
den Übertragungsdatensatz (0,
1) wird λ2,
und die Zweigmetrik für
den Übertragungsdatensatz
(1, 1) wird λ3.
-
Der
Generator für
die Zweigmetrik 41 gibt diese Zweigmetriken λ0, λ1, λ2 und λ3 an den ACS-Schaltkreis 42 aus.
Wie in 7 gezeigt, werden die Pfadmetrikwerte jeder Zustandszahl
zum Zeitpunkt m0 zu Γ0(m0), Γ1(m0), Γ2(m0) und Γ3(m0). Das
Register für
die Pfadmetrik 43 gibt diese Pfadmetriken Γ0(m0), Γ1(m0), Γ2(m0) und Γ3(m0) an
den ACS-Schaltkreis 42 aus. Der ACS-Schaltkreis 42 führt eine
Operation basierend auf der in 7 gezeigten
Gitterdarstellung aus. Dies bedeutet, dass die in der Zustandszahl
0 zum Zeitpunkt m1 zusammenfließende
Umwandlung diejenigen von der Zustandszahl 0 und der Zustandszahl 2 enthält. Da die Ausgangsdaten
von dem Faltungscodierer zum Zeitpunkt der Umwandlung von der Zustandszahl
0 "0 0" sind, ist die Zweigmetrik
zu diesem Zeitpunkt λ0,
und da die Ausgangsdaten von dem Faltungscodierer zum Zeitpunkt
der Umwandlung von der Zustandszahl 2 "1 1" sind,
ist die Zweigmetrik λ3.
Die Pfadmetriken der Zustandszahlen 0 und 2 zum Zeitpunkt m0 sind Γ0(m0) und Γ2(m0), und
nach der Ausführung der
Berechnung von Γ0(m0)
+ λ0 und Γ2(m0) + λ3 wird der
größere durch
die vorstehende Berechnung erhaltene Wert in dem Register für die Pfadmetrik 43 als
der Pfadmetrikwert Γ0(m1)
der Zustandszahl 0 zum Zeitpunkt m1 gespeichert.
-
Die
simultan gewählten
Zweigwerte (der Wert ist "0", wenn der durch
die durchgehende Linie angezeigte Pfad gewählt wird, und der Wert ist "1", wenn der durch die unterbrochene Linie
angezeigte Pfad gewählt
wird) werden in einem Pfadspeicher 45 als der Zweigwert
S0(m1) gespeichert. Nachfolgend werden die Pfadmetrikwerte Γ1(m1), Γ2(m1), Γ3(m1) und
Zweigwerte S1(m1), S2(m1), S3(m1) zum Zeitpunkt m1 durch dieselbe
Verarbeitung erhalten, die Pfadmetrikwerte werden in dem Register
für Pfad metrik 43 gespeichert,
und die Zweigwerte werden in einem Pfadspeicher 45 gespeichert.
Der Pfadspeicher 45 weist eine Speicherkapazität auf, welche
in der Lage ist, die Zweiginformationen innerhalb der Periode mg
zu speichern. Der ACS-Schaltkreis 42 gibt die Pfadmetrikwerte Γ0(m1), Γ1(m1), Γ2(m1) und Γ3(m1) zu
einem Zeitpunkt m1 an das Register für Pfadmetrik 6 sowie den Detektor 44 für die Zustandszahl-Reihenfolge
des Pfads mit der maximalen Wahrscheinlichkeit aus. Dies ist das
Ende einer Reihe von Prozessen (nachfolgend als ACS-Verarbeitung
bezeichnet). Wenn die nächsten
weichen Entscheidungsdaten P2 und Q2 eingegeben werden, wird die
vorstehend beschriebene ACS-Verarbeitung wiederholt. Wenn die Verarbeitung
abgeschlossen ist, erteilt der Regelschaltkreis 47 die
nächste
Anweisung.
-
Der
Detektor 44 für
die Zustandszahl-Reihenfolge des Pfads mit der maximalen Wahrscheinlichkeit
gibt an den Rückverfolgungsschaltkreis 46 die
Zustandszahl mit den maximalen Pfadmetrikwerten unter den Pfadmetrikwerten
mit maximaler Wahrscheinlichkeit Γ0(mg), Γ1(mg), Γ2(mg) und Γ3(mg) aus.
Falls zwei oder mehr Zustandszahlen existieren, welche dieselben
maximalen Pfadmetrikwerte aufweisen, wird die niedrigste Zustandszahl
gewählt. wenn
die Zustandszahl mit maximalen Pfadmetrikwerten zum Zeitpunkt mg "2" ist, verfolgt der Rückverfolgungsschaltkreis 46 zum
Zeitpunkt mg entlang der durchgehenden Linie die Pfade zurück, welche sich
von der Zustandszahl 2 aus erstrecken, die die maximalen Pfadmetrikwerte
aufweist, wie in 8 gezeigt, während die Inhalte der Pfadspeicher
gelesen werden.
-
Der
Rückverfolgungsschaltkreis 46 liest
die bei der Zustandszahl 2 gespeicherten Daten zum Zeitpunkt m(g – 1) in
dem Pfadspeicher 45, um zu überprüfen, ob der in die Zustandszahl
einfließende Pfad
die Zustandszahl 1 oder die Zustandszahl 3 ist, und weiß, dass
die Zustandszahl 1 ist. Durch Wiederholung derselben Verarbeitung
wird der Pfad zum Zeitpunkt m0 zurück verfolgt, und schließlich die
(k + m) Datensegmente (entsprechend den Daten vom Zeitpunkt m1 zum
Zeitpunkt (k + m)), welche von dem Pfad speicher 45 als
die decodierten Daten erhalten werden (nachfolgend als Rückverfolgungsverarbeitung
bezeichnet), ausgegeben.
-
Weiterhin
ist der Pfadspeicher 45 bereitgestellt, welcher eine Leseoperation
in der ACS-Verarbeitung und eine Leseoperation in der Rückverfolgungsverarbeitung
simultan durchführen
kann. Da der Pfadspeicher in einer Ringstruktur mit einer Speicherkapazität für die Zeitperiode
von (g + f) konfiguriert ist, werden die nötigen Daten nicht durch die ACS-Verarbeitung
ersetzt. Jedesmal dann, wenn die ACS-Verarbeitung für die Zeitperiode
g ausgeführt wird,
werden die decodierten Daten nach der Rückverfolgungsverarbeitung ausgegeben.
Die (m + u) Bits decodierter Daten von dem Viterbi-Decodierer 13 werden
an den Blockdecodierer 14 geliefert.
-
Der
Blockdecodierer 14 beginnt mit der Decodierung für die (m
+ u) Bits decodierter Daten, und falls der Fehler korrigiert werden
kann, werden nur k Bits eines Bilddatenbestandes an den Puffer 17 ausgegeben.
Falls die Fehlerkorrektur nicht möglich ist, wird das Fehlererfassungssignal
an den Regelschaltkreis 15 gesendet. Wenn der Regelschaltkreis 15 das Fehlererfassungssignal
empfängt,
wird das Regelsignal R dann an den Regelschaltkreis 47 in
dem Viterbi-Decodierer 13 gesendet.
-
Wenn
der Regelschaltkreis 47 das Regelsignal R empfängt, veranlasst
der Detektor 44 für
die Zustandszahl-Reihenfolge des Pfads mit der maximalen Wahrscheinlichkeit
den Rückverfolgungsschaltkreis 46 zur
Ausgabe der Zustandszahl mit dem nächstgrößten Pfadmetrikwert. Falls
zwei oder mehr Zustandszahlen mit denselben Pfadmetrikwerten existieren,
wird die nächstniedrigste
Zahl nach der vorangehenden gewählt.
Falls die Zustandszahl mit dem nächstgrößten Pfadmetrikwert,
die auf die Zustandszahl 2 mit der maximalen Zahl zum Zeitpunkt
mg folgt, "0" ist, verfolgt der
Rückverfolgungsschaltkreis 46 den
Pfad zurück,
der sich von der Zustandszahl 2 erstreckt, während er die Inhalte des Pfadspeichers 45 liest.
Der Rückverfolgungsschaltkreis 46 liest
die bei der Zustandszahl 0 gespeicherten Daten zum Zeitpunkt m(g – 1) in dem
Pfadspeicher 45, um zu überprüfen, ob
der in die Zustandszahl 0 einfließende Pfad die Zustandszahl
0 oder die Zustandszahl 2 ist, und weiß, dass die Zustandszahl 0
ist.
-
Der
Rückverfolgungsschaltkreis 46 verfolgt den
Pfad zum Zeitpunkt m0 zurück,
indem er dieselbe Operation wiederholt, und gibt schließlich die
(k + m) Datensegmente (entsprechend den Daten vom Zeitpunkt m1 bis
zum Zeitpunkt m(k + m)) als die decodierten Daten aus. Der Blockdecodierer 14 empfängt die
(m + u) Bits decodierter Daten von dem Viterbi-Decodierer 13 und
beginnt mit der Decodierung. Falls die Fehlerkorrektur ausgeführt wird,
werden nur k Bits an Dateninformation an den Puffer 17 ausgegeben.
Falls der Fehler nicht korrigiert wird, werden die Fehlererfassungsdaten
an den Regelschaltkreis 15 gesendet, und die vorstehenden
Operationen werden wiederholt, bis der Fehler korrigiert ist oder gleich
der Zahl der Zustandszahl ist. Falls der Fehler nicht korrigiert
ist, nachdem die Operationen so oft wiederholt wurden, wie die Zahl
der Zustandszahl ist, werden (k + u) durch die erste Rückverfolgungsverarbeitung
erhaltene Bits an den Puffer 17 ausgegeben.
-
Der
Regelschaltkreis 15 sendet das Regelsignal 1 an den Puffer 12,
und der Puffer 12 gibt in Reihenfolge die empfangenen weichen
Entscheidungsdaten P und Q an den Viterbi-Decodierer 13 aus.
Der Viterbi-Decodierer 13 decodiert die nächsten (k
+ u) Bits und überprüft die Wahrscheinlichkeit
der (k + u) Bits, um das Ergebnis an den Puffer 17 auszugeben. Der
Puffer 17 gibt die decodierten Bilddaten durch den Ausgangsanschluss 18 aus.
Die Anwesenheit einer Pufferart 12 und die Anwesenheit
einer anderen Pufferart 17 sollen die Fluktuation während des
Decodierbetriebs in Abhängigkeit
von der Menge der in der Übertragungsleitung
erzeugten Bitfehler absorbieren.
-
In
dem vorstehenden Ausführungsbeispiel ist
es, obgleich der Fall beschrieben wird, wenn die Rückverfolgungsverarbeitung
in dem Viterbi-Decodierer 13 für alle (k + u) Bits ausgeführt wird,
möglich, die
Rückverfolgungsverarbeitung
für eine
kleinere Ein heit als (k + u) Bits auszuführen. Durch eine Reduktion
der Einheitsgröße ist es
möglich,
die Position der Fehlerdaten in der Einheit (k + u) bei der wiederholenden
Fehlerkorrektur klarzustellen, wenn der Blockdecodierer 14 das
Fehlererfassungssignal sendet, was zu einer Verbesserung der Fehlerkorrekturfähigkeit
führt.
Zusätzlich
ist es durch Begrenzung der Anzahl von Fehlerkorrekturbits (wenn
beispielsweise ein Fehlerkorrektursignal zur Korrektur von vier Bits
fähig ist,
wird die Fehlerkorrektur für
drei Bits ausgeführt,
und falls ein Vier-Bit-Fehler vorliegt, wird das Fehlererfassungssignal
ausgegeben) möglich, die
Einheit von (k + u) zu korrigierenden Bits klarzustellen, was die
Ausführung
der Fehlerkorrektur durch wiederholte Decodierung vereinfacht. Weiterhin
ist es möglich,
die Skala des Schaltkreises zu reduzieren, welcher einen Fehlererfassungscode
verwendet, indem ein Paritätsbit
ohne Verwendung der Fehlerkorrekturcodes hinzugefügt wird.
-
Wie
vorstehend beschrieben weist das Fehlerkorrektursystem der vorliegenden
Erfindung einen Blockcodierer, einen Puffer zum Empfang von durch den
Faltungscodierer codierten Daten, einen Viterbi-Decodierer für den Empfang
der durch den Puffer benannten Daten und die Ausführung der
Decodierung der Daten, sowie einen Blockdecodierer auf, welcher
die Decodierung beginnt, wenn er die Daten mit einer Länge der
Blockcodelänge
empfängt,
und ausführt,
wenn die Fehlerkorrektur möglich
ist. Wenn die Fehlerkorrektur nicht möglich ist, ist das System so
entworfen, dass der Regelschaltkreis den Viterbi-Decodierer so regelt,
dass er die Ausführung
einer erneuten Decodierung für
eine Blocklänge
von Daten regelt, welche für
die Fehlerkorrektur unmöglich
gemacht wurde. Eine derartige Konstruktion ermöglicht die Wiederholung des
Fehlerkorrekturbetriebes nach der Beurteilung der Evaluation der
Verlässlichkeit
der durch den Viterbi-Decodierer decodierten Daten und ermöglicht eine
Korrektur von in der Übertragungsleitung
erzeugten Fehlern, was zu einer Verbesserung der Qualität der Übertragungsleitung
führt.