-
Schaltungsanordnung zur Erkennung und Korrektur von Bitfehlern Die
Erfindung betrifft eine Schaltungsanordnung zur Erkennung und Korrektur von Bitfehlern,
insbesonde-e bei der digitalen Tonsignalverarbeitung, nach dem Oberbegriff des Anspruchs
1.
-
In der DE-PS 31 22 763.5 ist bereits vorgeschlagen worden, eine Fehlerkorrektur
bei der Demodulation eines digitalen Informationssignals, bei dem aus einem Leitungscode
ein Bit-Nuster gebildet und beim Auftreten eines von einer Fehlererkenmtng.sscha'tung
im Bit-Nuster erkannten Fehlers eine Fehlermeldung erzeugt wird, durchzuführen,
indem durch Verwendung unterschiedlicher Demodulationsschaltungen und/oder durch
Mittel zur Änderung einzelner Bits der Demodulationsergebuisse verschiedene Bit-Nuster
erzeugt und diese in einer Fehlererkennungsschaltung auf Fehlerfreiheit überprüft
werden. Es werden dabei in einer besonderen Ausführungsform durch eine CRC-Schaltung
erkannte fehlerhafte Blocks an einzelnen Bits solange verändert, bis die CRC-Schaltung
eine Richtigmeldung abgibt.
-
Ein CRC-Signal dient zur Fehlererkennung in einem Datenblock0
Zur
Bildung des CRC-Signals wird der Datenstrom durch ein vorbestimmtes Polynom Modulo-2
geteilt. Der dabei entstehende Rest, dessen Stellenzahl den Grad des Polynoms entspricht,
wird allgemein als Prüfwort an den Datenstrom angehängt. In einem Ausführungsbeispiel
wird an einen Datenstrom von 6 x 14 = -84 Bit ein 16 Bit CRC-Signal angehängt, so
daß ein Datenblock von 100 Bit entsteht. Das CRC-Ploynom ist also vom Grad 16 und
lautet zum Beispiel 16 + X12 + X5 + .
-
Eine derartige Fehlerkorrekturmethode führt zu Fehlermeldungen, sobald
ein oder mehrere Bits des durch das CRC-Wort geprüften Blocks falsch sind. Bei bestimmten
Fehlermustern, die von dem jeweils verwendeten Polynom abhängen, versagt diese Methode.
Es erfolgt keine Fehlermeldung, obwohl der Datenblock bei der tibertragung verändert
wurde.
-
ni Fe Fehlermuster entsprechen (1aln verwHnl1e-ten Polynom.
-
Wenn ein derartiges Fehlermuster auftritt, wird keine Fehlermeldung
abgegeben, obwohl der entsprechende Datenblock falsch ist. Es kann daher an dieser
Stelle eine Störung entstehen, die nicht korrigierbar ist.
-
Es ist Aufgabe der Erfindung, eine Schaltungsanordnung anzugeben,
mit deren Hilfe erkennbar ist, ob im Datenstrom Fehlermuster vorhanden sind, die
zu einem Versagen des Fehlererkennungs-Tests führen können.
-
Die Aufgabe wird durch die im Anspruch 1 angegebene Erfindung gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in Unteransprüchen beschrieben.
-
Durch die erfindungsgemäße Prüfung des Fehlermusters können Fehlermuster,
bei denen die Gefahr eines Versagens der Fehlererkennung besteht, erkannt und damit
z.B. von Fehlerkorrekturversuchen durch Variation der fehlerverdächtigen Bits ausgeschlossen
werden. Mit Hilfe der erfindungsgemäßen
Schaltung wird daher dann
eine Fehlermeldung erzeugt, obwohl die eigentliche Fehlererkennung eventuell eine
Richtigmeldung abgeben würde.
-
Die Erfindung wird nachstehend an Hand eines Ausfuhrungsbeispiels
näher erläutert. Es zeigen: Fig. 1 zwei Fehlermuster, Fig. 2 ein Ausführungsbeispiel
der Erfindung, Fig. 3 eine Darstellung zur-Wirkungswe5se der Erfindung.
-
Das Ausführungsbeispiel bezieht sich auf einen Datenstrom, der einzelne
Blöcke von 6 x 14 Bit = 84 Bit enthält. An jeden derartigen Block wird ein 16 Bit
CRC-Signal ange hängt, so daß ein Datenblock von insgesamt 100 Bit entsteht. Das
CRC-Signal wird mit Hilfe einer integrierten Schaltung, z.B. 9401 von Fairchild
erzeugt. Durch äußere Beschaltung der integrierten Schaltung kann das Polynom, z,B,
x16 + X12 + X5 + XO entsprechend CCITT, eingesbblt werden.
-
Die auf der Senderseite zur Bildung des ORC-Prüfwortes eingesetzte
Schaltung wird auf der Empfangsseite zur Fehlererkennung benutzt. Nach Durchlauf
des Datenstroms von 84 Bit befindet sich im Schieberegister der CRC-Schaltung wieder
der gleiche Rest, der das Prüfwort bildet. Nachdem das an die 84 Bit angehängte
CRC#Prüfwort durch das Schieberegister gelaufen ist, muB bei PiJerfreihet des übertragenen
Datenblocks im Schieberegister der Rest 0 verbleiben. Das ist das Zeichen für Fehlerfreiheit.
Sofern ein oder mehrere Bits im übertragenen Datenblock einschließlich des CRC-Prüfwortes
falsch sind, sollte nach Übertragung des gesamten Blocks ein Rest im Schieberegister
verbleiben, durch den eine Fehlermeldung ausgelöst wird.
-
In Fig. 1 sind Fehlermuster dargestellt, die keine Fehlermeldung erzeugen.
Bei diesen Fehlermustern entspricht die Anordnung der Fehler den Exponenten des
CRC-Polynomse In der ersten Zeile der Fig. 1 ist ein Fehlermuster dargestellt das
an den Stellen n + 169 n + 12s n + 5 und n jeweils einen
Bitfehler
enthält. Nur beim Auftreten speziell dieses Fehlermusters, das an einer beliebigen
Stelle n des Blocks liegen kann, versagt die CRC-Prüfung. Es dürfen dann keine weiteren
Bitfehler vorhanden sein. In Fig. 1 zweite Zeile ist ein Fehlermuster dargestellt,
das aus der Überlagerung zweier Fehlermuster der ersten Zeile von Fig. 1 entsteht.
-
Das gestrichelt dargestellte Bit läßt sich dabei als doppelt gestörtes
Bit betrachten, wobei durch die zweite Störung die erste Störung aufgehoben wird.
Die Wahrscheinlichkeit für das Auftreten derartiger Fehlermuster ist zwar gering,
jedoch kann es sein, daß diese geringe Restfehlerwahrscheinlichkeit für eine hochwertige
POM-Tonübertragung noch zu groß ist.
-
In der Patentanmeldung P 31 22 763.5 ist bereits vorgeschlagen worden,
bei Datenblöcken, bei denen das CRC-Wort Fehler anzeigt, einzelne Bits des betreffenden
Datenblocks solange zu verändern, bis der C#C-Schaltkreis eine Richtigmeldung abgibt.
Erst dann wird der betreffende Datenblock weiterverarbeitet. Venn nach einer bestimmten
Anzahl von Bitvariationen keine Richtigmeldung des CRC-Schaltkreises erfolgt, erfolgt
eine Fehlermeldung, die entweder dem Datenblock direkt angehängt wird, oder zur
Steuerung nachfolgender Schaltkreise verwendet wird.
-
Diese Methode der Fehlerkorrektur durch Bitvariation ist umso erfolgreicher,-je
sicherer die fehlerverdächtigen Bits ermittelt werden können. In P 31 44 263.3 wird
eine Methode beschrieben, durch die bei der Demodulation von Biphase-Signalen fehlerverdächtige
Bits mit großer Sicherheit ermittelt werden können. Als fehlerverdächtig werden
die Bits des NRZ-@@ des NRZ-@igna 1 %- hezeichnet 1#ej })ei qenen nicht sicher ist,
ob der durch den Demodulationsvorgang zugewiesene Binärwert der richtige ist. Bei
n fehlerverdächtigen Bits in einem Datenblock kann nur eine von 2n möglichen Variationen
dieser Bits den fehlerfreien Datenblock ergeben. Ist nun z.B. n = 4 und entspricht
die Anordnung der fehlerverdächtigen
Bits den Exponenten des CRC-Polynoms
(Fig. 1, Zeile 1), dann ist die Wahrscheinlichkeit 1 : 2, daß bei der Bitvariation
zuerst die Bitkombination entsteht, bei der CRC richtig meldet, obwohl alle 4 Bits
falsch sind. Bei dem vorhandenen Fehlermuster wäre die Wahrscheinlichkeit -für ein
CRC-Versagen ohne Bitvariation 1 : 16. Durch die Bitvariation wird diese Wahrscheinlichkeit
auf 1 : 2 erhöht.
-
Um hierdurch bedingte Fehler zu vermeiden 7 müßte bei jedem als richtig
gefundenen Datenblock eine Gegenprobe mit dem komplementären Bitvariationsmuster
durcieführt r n. Bei dieser Gegenprobe haben dann alle Bits de Fehlermusters den
entgegengesetzten Wert zum als richtig befundenen Datenblock. Ergibt diese Gegenprobe
ebenfalls keine Fehlermeldung durch CRC, so muß in einem Fall ein CRC-Versagen vorliegen.
-
Dieser Datenblock muß daher als- fehlerhaft an die nachfolgenden Schaltungen
übergeben werden.
-
Die Methode mit Gegenprobe benötigt einen gewissen Zeitaufwand. Während
die Gegenprobe durchgeführt wird, könnte bereits der nächste Block bearbeitet werden.
Wenn sich am Ende herausstellt, daß der Block nicht korrigierbar ist, waren alle
Variationsversuche vergeblich. Es ist daher vorteilhalt, bereits vor der eRez Durchführung
ullg v)n v variatiens- nversuchen die Anordnung der fehlerverdächtigen Bits darauf
zu untersuchen, ob die Bitvariation zu einem Versagen der Fehlererkennungsschaltung
(CRC) führen kann.
-
In Fig. 2 ist eine erfindungsgemäße Schaltungsanordnung dargestellt.
Dem Demodulator 2 wird an der Klemme 1 ein Biphasesignal zugeführt, das durch den
Demodulator 2 in zwei NRZ-Signale 3 und 4 umgewandelt wird. Eine Schaltung zur Erzeugung
dieser NRZ-Signale ist in P 31 44 263.3 beschrieben. Die beiden NRZ-Signale 3 und
4 führen auf eine Pufferschaltung 5, die als RAN-Schaltkreis aufgebaut sein kann.
Die Fortschaltung der Einleseadressen erfolgt mit dem Einlese/Auslesezähler 7. Die
Taktfrequenz fT wird aus dem Demodulator 2 dem Einlesezähler 7 zugeführt. Das Auslesen
der
NRZ-Signale aus dem Pufferspeicher 5 erfolgt mit der ebenfalls aus dem Demodulator
2 abgeleiteten Taktfrequenz 2 . fT über den Auslese-/Einlesezähler 8. Das Auslesen
aus dem Pufferspeicher 5 erfolgt daher mit doppelter Geschwindigkeit wie das Einlesen
inden Pufferspeicher 5. Nach der Verarbeitung der NRZ-Signale wird das resultierende
NRZ-Signal mit der Taktfrequenz 2fT mit Hilfe des Auslese/ Einlesezählers 8 in den
Pufferspeicher 6 eingelesen. Das Auslesen erfolgt mit rille des Einlese/Auslesezählers
7 mit der Taktfrequenz fT. Aus dem Pufferspeicher 6 erfolgt also das Auslesen wieder
mit der gleichen Taktfrequenz, wie das Einlesen in den Pufferspeicher 5. Es ergibt
sich somit an der Ausgangsklemme 9 lediglich ein zeitlicher Versatz des NRZ-Signals.
Die Wirkungsweise einer solchen Anordnung ist in der Patentanmeldung P 31 22 763.5
näher beschrieben.
-
Die aus dem Pufferspeicher 5 ausgelesenen NRZ-Signale 3 und 4 führen
auf ein Exk#usiv-0DER-Gatter 10, an dessen Ausgang 11 das resultierende Fehlermuster
anliegt. Mit-Fehlermuster ist hier die Anordnung der -fehlerverdächtigen Bits gemeint.
Das sind die Bits, die in den beiden NRZ-Signalen unterschiedlich sind. Im Schaltungsbeispiel
soll dann mit Hilfe der Variationslogik 14 das tatsächliche Fehlermuster F' des
NRZ-Signals 3 ermittelt werden. Das aus dem Pufferspeicher 5 ausgelesene NRZ-Signal
3 wird einer zweiten Exklusiv-ODER-Schaltung 12 zugeführt, deren zweiter Eingang
mit dem Ausgang 13 der Variationslogik 14 verbunden ist.
-
In der Variationslogik 14 werden die vom Ausgang 11 des Exklusiv-ODER-Gatters
10 kommenden Fehlersignale nach einem Variationsschema verändert. Das-am Ausgang
11 des Exklusiv-ODER-Gatters 10 anliegende Fehlersignal F wird damit in das Fehlersignal
!'umgewandelt, It , das dem Exklusiv-0DER-Gatter 12 zugeführt wird. Mit Hilfe der
am Ausgang des Exklusiv-ODER-Gatters 12 angeordneten CRC-Schaltung 15 erfolgt die
Prüfung jedes Datenblocks auf Fehlerfreiheit. Die Bitvariationen werden abgebrochen,
sobald der CRC-Schaltkreis 15 eine Richtigmeldung abgibt. Dann verbleibt das zuletzt
eingelesene
Bit-Xuster zur Weiterverarbeitung im Pufferspeicher 6. Damit bei Fehlermustern,
die zu einem CRC-Versagen führen können (s. Fg. 1), erst gar keine Bitvariationsversuche
durchgeführt werden, ist erfindungsgemäß eine weitere CRC-Schaltung 16 vorgesehen,
die am Ausgang 11 des Exklusiv-ODER-Gatters 10 das Fehlermuster F überprüft. Wenn
das Fehlermuster einem Signal, wie z.B. in Fig. 1 dargestellt, entspricht, gibt
der CRC-Schaltkreis 16 kein Fehlersignal ab. Dies ist ein Zeichen dafür, daß das
vorhandene Fehlersignal nicht mit einde.tiger Si Sicherheit derart verändert werden
kann, das ein richtig Signal am Ausgang des Exklusiv-ODER-Gatters 12 vorliegt. In
diesem Fall unterbleiben alle Bitvariationen in der Variationslogik 14. Der nächste
Block kann sofort bearbeitet werden. Der ein solches Fehlersignal enthaltende Datenblock
kann dann z.B.
-
eine Fehlermarkierung erhalten, die zweckmäßig von der Variationslogik
14 über erhalten, die r 1'? d# m betreffenden Datenblock angehängt wird. Da die
Schaltung das Fehlererkennungssignal (CRC) vollständig überträgt und auch korrigiert,
hängt es von den nachfolgenden Signalverarbeitungsstufen ab, ob eine Fehlermarkierung
nicht korrigierbarer Blocks zweckmäßig ist. Die Zahl der Korrekturversuche in der
Variationslogik 14 ist durch die Größe der Pufferspeicher 5 und 6 begrenzt. Bei
vergeblichen Korrekturversuchen und, wenn die Anzahl der Fehler in einem Block zu
hoch ist, erfolgt dabei auch eine Fehlermarkierung.
-
Bei dem in diesem Beispiel verwendeten CRC-Polynom, das aus vier Gliedern
besteht sollten Korrekturversuche durch Bitvariation nur bis zu vier Einzelfehlern
je Block durchgeführt werden. Bei höherer Fehlerzahl können Fehlermuster, die bei
Bitvariation zu einem CRC-Versagen führen können, nicht mehr mit Sicherheit erkannt
werden. Sollen daher mehr als vier EiazelSehler je Block durch Bitvariation korrigiert
werden, dann muß ein anderes Polynom mit entsprechend mehr Gliedern verwendet werden.
-
Fig. 3 zeigt eine Darstellung zur Erläuterung der Fig. 2.
-
In Zeile 1 ist ein NRZ-Signal 3 dargestellt, das drei Bitfehler an
den Stellen n + 16, n + 5 und n enthält. Das darunter dargestellte NRZ-Signal enthält
einen Bitfehler an der Stelle n + 12. In der dritten Zeile ist das Fehlersignal
F, das am Augang 11 des Exklusiv-ODER-Gatters 10 anliegt, dargestellt. Wenn ein
durch eine Bitvariation in der Variationslogik 14 entstandes F'-Signal entsprechend
der vierten Zeile auf den zweiten Eingang des Exklusiv-ODER-Gatters 12 gegeben wird,
entsteht am Ausgang 18 des Exklusiv-ODER-Gatters 12 ein NRZ-Signal, das 4 Bit-Fehler
enthält mit einer Verteilung, die den Exponenenten des verwendeten CRC-Polynoms
X16 + X12 + X5 +1 entspricht. Das komplementäre Fehlermuster, das in der 6. Zeile
von Fig. 3 dargestellt ist, würde dagegen das fehlerfreie NRZ-Signal am Ausgang
18 des Exklusiv-ODER-Gatters 12 erzeugen. In beiden Fällen erhält man eine Richtigmeldung
der CRC-Schaltung 15. Die Variationsversuche, die zu den beiden Nf?Z-Signalen geführt
haben, führen in diesem Fall zu keinem verwertbaten Ergebnis,da nicht Il#i#verwertbaren
Ergebnis,da nicht entschieden werden kann, welches der beiden Signale richtig ist.
-
Die Aufgabe der CRC-Schaltung 16 besteht nun darin, Fehlermuster,
die zu einem CRC-Versagen führen können, sofort zu erkennen. Dazu wird das Schieberegister
der CRC-Schaltung zu Beginn jedes Blocks auf Null gesetzt. Bei einem fehlerlosen
Block enthält das Signal F, das in das Schieberegister eingelesen wird, ausschließlich
die logischen Werte Null. Am Ende des Blocks erfolgt keine Fehlermeldung. Enthält
das Signal Fehlerimpulse, dann sollte die CRC-Schaltung 16 eine Fehlermeldung abgeben.
Erfolgt in diesem Fall keine Fehlermeldung, dann ist das ein Zeichen dafür, daß
die Anordnung der fehlerverdächtigen Bits so ist, daß im Verlaufe der Bitvariation
ein Fehlermuster entstehen kann, bei dem der eigentliche CRC-Test mit der Schaltung
15 versagt. Beide CRC-Schaltungen müssen auf das gleiche Polynom eingestellt sein.
-
Mit Hilfe des erfindungsgemäßen Verfahrens ist es daher bei
sicherer
Erkennung aller fehlerverdächtigen Bits vermeidbar, daß ein CRC-Versagen zu einem
Fehler führt. Bis zu vier fehlerverdächtige Bits können in einem Block gefahrlos
zwecks Fehlerkorrektur variiert werden, wenn der erfindungsgemäe CRC-Test mit der
Schaltung 16 eine Fehlermeldung abgibt.
-
Das Verfahren ist auch für andere Fehlererkennungsmethoden anwendbar.
Die Überprüfung des Musters der fehlerverdächtigen Bits (F) mit Hilfe der gleichen
FehlereIl-ennungs~hode 7 die auch für das Signal vorgesehen ist, zwecks Feststellung
der Gefahr für ein Versagen der Fehlererkennung, ist nicht nur im Zusammenhang mit
der Bitvariation nützlich. Außerdem @@@@ #j tit f i @@ mit @@@@@@ n Fchlere @@@@@@@@@@@
a tun sequentiell sowohl das Fehlermuster als auch das eigentliche Datensignal zu
überprüfen.