DE19647314A1 - Verfahren zum Erkennen von Fehlern bei der Datenübertragung - Google Patents
Verfahren zum Erkennen von Fehlern bei der DatenübertragungInfo
- Publication number
- DE19647314A1 DE19647314A1 DE1996147314 DE19647314A DE19647314A1 DE 19647314 A1 DE19647314 A1 DE 19647314A1 DE 1996147314 DE1996147314 DE 1996147314 DE 19647314 A DE19647314 A DE 19647314A DE 19647314 A1 DE19647314 A1 DE 19647314A1
- Authority
- DE
- Germany
- Prior art keywords
- hamming distance
- data
- received
- sequence
- metric
- 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.)
- Ceased
Links
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/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- 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/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
- H04L1/201—Frame classification, e.g. bad, good or erased
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Erkennen von Fehlern
bei der Übertragung digitaler faltungscodierter Daten von ei
nem Sender zu einem Empfänger, bei dem die codierten Daten in
Codewörtern vorgegebener Länge enthalten sind, die im Sender
nach einem Faltungscode aus zu übertragenden Daten erzeugt
werden. Vom Empfänger wird ein Empfangssignal empfangen, in
welchem die codierten Daten enthalten sind. Dabei kann ein
Teil der empfangenen codierten Daten von den gesendeten co
dierten Daten abweichen. Aus dem Empfangssignal wird eine
Folge von diskreten Empfangswerten erzeugt, welche anschlie
ßend bearbeitet wird.
Derartige Verfahren werden z. B. in Mobilfunknetzen einge
setzt, in denen eine Vielzahl von Störungen bei der Übertra
gung von Signalen zwischen einer Mobilstation und einer Ba
sisstation auftreten können. Diese Störungen sind zum Bei
spiel auf sogenanntes "Fading" zurückzuführen, bei dem es zu
einem variierenden Empfangspegel durch Dämpfung, Abschattun
gen und Mehrwegeausbreitung kommt. Zusätzlich tritt bei der
Übertragung Rauschen auf.
Um trotz der Störungen eine Übertragung zu ermöglichen, wer
den die zu sendenden Daten im Sender mit einem Faltungsco
dierer codiert. Durch die Faltungscodierung wird Redundanz in
die zu übertragenden Informationen eingefügt, die es im Emp
fänger gestattet, die wahrscheinlichste Sequenz von gesende
ten Daten zurückzugewinnen.
Da in der Basisstation und der Mobilstation stark verzerrte
und gestörte Signale empfangen werden, ist es bekannt, zur
Entzerrung einen Viterbi-Entzerrer einzusetzen, um eine mög
lichst störungsfreie Empfangswertfolge zu erhalten, die fal
tungscodierte Daten enthält. Der Viterbi-Entzerrer verwendet
den Viterbi-Algorithmus, der zum Beispiel von G.D. Forney,
Jr., in "Proceedings of the IEEE", Band 61, Nummer 3, März
1973, Seite 268 bis 278, erläutert ist. Die Grundidee des Vi
terbi-Algorithmus besteht darin, im Empfänger das Übertra
gungsverhalten des Kanals zwischen Sender und Empfänger nach
zubilden, wozu eine Kanal-Impulsantwort {H}=[h1, . . ., hK] er
mittelt wird. Dabei gibt K die Anzahl der Abtastwerte beim
Ermitteln der Impulsantwort {H} an. Eine geschweifte Klammer
bedeutet im folgenden, daß es sich um eine Folge von Werten
handelt; eckige Klammern geben die konkreten Werte der Folge
an. Da der konkrete Wert für K meist kleiner ist, als die An
zahl von Symbolen, die von einem Teilnehmer in einer Sequenz
(auch Burst genannt) ausgesendet werden, wird beim Viterbi-
Algorithmus die Symbolfolge in mehreren Schritten sj ab
schnittsweise beginnend mit den ersten gesendeten Symbolen
betrachtet, worin j eine Laufvariable für den Schritt s ist.
Da im Empfänger die tatsächlich gesendete Symbolfolge nicht
bekannt ist, werden alle in Frage kommenden Symbolfolgen oder
zumindest ein wesentlicher Teil der in Frage kommenden Sym
bolfolgen im Empfänger generiert. Aus den in Frage kommenden
Symbolfolgen werden dann durch Faltung mit der Impulsantwort
{H} Empfangsfolgen generiert, die anschließend mit der tat
sächlich empfangenen Empfangsfolge verglichen werden. Von den
in Frage kommenden Symbolfolgen wird diejenige Symbolfolge
als gesendet angenommen, deren zugehörige generierte Emp
fangsfolge die geringsten Abweichungen von der tatsächlich
empfangenen Empfangsfolge hat.
Um den Aufwand zu reduzieren, werden beim bekannten Viterbi-
Algorithmus beim Vergleich für die Abschnitte der Symbolfol
gen sogenannte Metrikinkremente berechnet, die anschließend
zu einer Gesamtmetrik für eine der in Frage kommenden Sym
bolfolgen addiert werden. Zu vorgegebenen Schritten sj gibt
es beim Durchführen des Viterbi-Algorithmus eine Anzahl von
Symbolfolgen bzw. Symbolvektoren {gQm(sj)}=[gqm(sj) 1, . . ., gqm(sj)L-1].
Dabei kennzeichnet m die verschiedenen in Frage
kommenden Symbolvektoren zu einem bestimmten Schritt sj; L
kennzeichnet die Anzahl von Symbolen in weiter unten erläu
terten Übergängen. Wird im Verlaufe des Viterbi-Algorithmus
die nächste Teilsymbolfolge betrachtet, so wird genau ein
Symbol von links in den als Symbolfolge vorliegenden Symbol
vektor {gQm(sj)} nach Art einer Schiebeoperation in einem
Schieberegister geschoben, so daß sich ein Symbolvektor
{gQm(sj+1)}=[gqm(sj+1) 1, . . ., gqm(sj+1)L-1] ergibt. Selbst
verständlich kann das Schieben der Symbole alternativ auch
von rechts erfolgen. Einzelne Symbole innerhalb eines Vektors
sind hierbei durch Nachstellen einer Zahl gekennzeichnet. Die
ersten L-2 Elemente des Symbolvektors {gQm(sj)} stimmen mit
den letzten L-2 Elementen des Symbolvektors {gQm(sj+1)} über
ein. Die Symbolvektoren {gQm} werden auch als Zustände be
zeichnet. Für den Übergang vom Zustand {gQm(sj)} zu einem Zu
stand {gQm(sj+1} beim Einschieben eines Symbols, kann auch
ein Übergangsvektor {gSm(sj)}=[gsm(sj) 1, . . ., gsm(sj+1)L]
definiert werden, dessen erstes Element gsm(sj)1 mit dem Ele
ment gqm(sj+1)1 übereinstimmt. Die weiteren Elemente des
Übergangsvektors {gSm(sj+1)} sind mit denen des Zustandsvek
tor {gQm(sj)} identisch.
Die entzerrte Empfangswertfolge muß noch decodiert werden.
Für dieses Decodieren kann ebenfalls der Viterbi-Algorithmus
verwendet werden, wobei jedoch die Kanal-Impulsantwort nicht
mehr verwendet wird. Da auch die entzerrte Empfangswertfolge
fehlerhafte Werte enthalten kann, muß vor dem weiteren Ver
wenden der in der Empfangswertfolge enthaltenen Nutzdaten be
kannt sein, ob die Empfangswertfolge nur wenig fehlerhafte
Werte enthält, so daß eine Weiterbearbeitung technisch sinn
voll ist, oder ob die Empfangswertfolge so viele fehlerhafte
Werte enthält, daß z. B. die Übertragung der Nutzdaten wieder
holt werden muß. Erforderlich ist demzufolge die Bestimmung
eines Fehlermaßes.
Ein bekanntes Fehlererkennungssystem zur Bestimmung des Feh
lermaßes ist in der Patentschrift DE 41 92 982 C2 erläutert.
Bei diesem bekannten Fehlererkennungssystem wird die Emp
fangswertfolge in einem Viterbi-Decoder decodiert, nochmals
faltungscodiert und anschließend mit einer Referenzfolge aus
codierten Daten elementweise verglichen. Die Referenzfolge
wird dabei aus der Empfangswertfolge mit Hilfe einer Schwell
werteinheit erzeugt. Treten beim Vergleich Abweichungen zwi
schen Elementen auf, so werden diese als Fehler gewertet.
Beim bekannten Fehlererkennungssystem erfolgt im Empfänger
ein nochmaliges Faltungscodieren, für das ein schaltungstech
nischer bzw. softwaretechnischer Aufwand erforderlich ist.
Außerdem kann beim bekannten Fehlererkennungssystem die Feh
lererkennung erst nach einer längeren Zeit durchgeführt wer
den, die durch die Zeit bestimmt ist, die der Viterbi-Decoder
zum Decodieren benötigt. Erst nachdem die decodierte Emp
fangswertfolge am Ausgang des Viterbi-Decoders vorliegt, kann
sie erneut codiert werden. Das bedeutet, daß auch der an
schließende Vergleich der erneut codierten Empfangswertfolge
mit der Referenzfolge zu einem späten Zeitpunkt durchgeführt
wird. Folgerichtig werden beim bekannten Fehlererkennungssy
stem Elemente der Referenzfolge in einem Puffer zwischenge
speichert.
Bei dem bekannten Fehlererkennungssystem läßt sich eine zeit
liche Parallelisierung der durchzuführenden Operationen durch
mehrfaches Anordnen von gleichartigen Einheiten nur in stark
begrenztem Maße erreichen, da bis zum Abschluß der nochmali
gen Faltungscodierung nur wenige Operationen bezüglich der
Fehlerberechnung durchgeführt werden können.
Es ist Aufgabe der Erfindung, ein einfaches Verfahren zum Er
kennen von Fehlern bei der Übertragung digitaler faltungsco
dierter Daten anzugeben, das ein schnelles Erkennen der Feh
ler gestattet.
Diese Aufgabe wird für ein eingangs genanntes Verfahren ge
löst, bei dem aus der Empfangswertfolge unter Verwenden des
Viterbi-Algorithmus neben den decodierten Daten eine erste
Folge von codierten empfangenen Daten ermittelt wird. Außer
dem wird aus der Empfangswertfolge durch Vergleich der Emp
fangswerte mit mindestens einem Schwellwert eine zweite Folge
von codierten empfangenen Daten ermittelt. Abweichungen der
beiden Folgen von codierten empfangenen Daten zeigen die Feh
ler an.
Die Erfindung geht von der Erkenntnis aus, daß mit Hilfe des
Viterbi-Algorithmus beim Decodieren geringe Fehlerraten er
reicht werden können, wenn sogenannte Soft-Metriken verwendet
werden. Üblich ist das Verwenden von gaußglockenförmigen Ex
ponentialverteilungen bei der Berechnung der Soft-Metriken,
wobei als Funktionswert der Exponentialverteilung ein Fehler
wert verwendet wird, der die Abweichung eines Teils der Emp
fangswertfolge von einer Sollempfangswertfolge wiedergibt.
Die Soft-Metriken können zwar als Fehlermaß interpretiert
werden, die Anzahl der gestörten bzw. fehlerhaften Codesym
bole am Eingang des Viterbi-Decodierers kann jedoch nicht aus
ihnen gewonnen werden. Eine einfachere Form des Viterbi-Algo
rithmus verwendet sogenannte Hard-Metriken, bei denen Ham
mingdistanzen bestimmt werden, d. h. Abweichungen in einander
zugeordneten Bitpositionen. Die erzielbaren Fehlerraten nach
der Decodierung beim Verwenden von Hard-Metriken liegen aber
oberhalb der Fehlerraten nach der Decodierung beim Verwenden
von Soft-Metriken. Nach der Decodierung ist beim Verwenden
von Hard-Metriken jedoch in vorteilhafter Weise die Anzahl
der gestörten bzw. fehlerhaften Codesymbole am Eingang des
Decodierers unmittelbar aus dem numerischen Wert der letzten
Hard-Metrik eines letztlich gewählten Pfades bekannt.
Bei der Erfindung wird aus der Empfangswertfolge unter Ver
wenden des Viterbi-Algorithmus eine erste Folge von codierten
empfangenen Daten ermittelt. Dabei wird der Viterbi-Algorith
mus je nach Anforderung an die Fehlerrate entweder mit Soft-
Metriken oder mit Hard-Metriken durchgeführt. Aus der Emp
fangswertfolge wird durch Vergleich der Empfangswerte mit
mindestens einem Schwellwert die zweite Folge von codierten
empfangenen Daten ermittelt. Das Verwenden eines Schwellwer
tes ist eine einfache Möglichkeit, um aus den Empfangswerten
eine Entscheidung für die Festlegung eines codierten Datums
abzuleiten. Die einfach zu bestimmende Abweichung der beiden
so erzeugten Folgen in zugeordneten Bitpositionen ist die
Hammingdistanz. Die Bestimmung der Hammingdistanz bietet, wie
bereits erwähnt, den großen Vorteil, daß sie die Anzahl der
Fehler direkt angibt.
Somit entfällt bei dem Verfahren nach der Erfindung insbeson
dere ein erneutes Faltungscodieren im Empfänger, da die erste
Folge aus Codeworten besteht, die beim Durchführen des Viter
bi-Algorithmus generiert werden. Auch auf einen Puffer wie
beim oben erläuterten Stand der Technik kann bei der Erfin
dung verzichtet werden.
Ein Parallelisieren der Viterbi-Decodierung und des Berech
nens des Fehlermaßes ist bei der Erfindung möglich, da be
reits beim Durchführen des Viterbi-Algorithmus die erste
Folge sofort weiter bearbeitet werden kann, ohne daß erst ei
ne mit Verzögerung zur Verfügung stehende decodierte Emp
fangswertfolge nochmals codiert werden muß.
In einem Ausführungsbeispiel der Erfindung sind die codierten
Daten der ersten Folge die Codeworte der Faltungscodierung.
Die Codeworte werden in dem Ausführungsbeispiel der Erfindung
den beim Viterbi-Algorithmus auftretenden Zustandsübergängen
zugeordnet. Das Zuordnen kann z. B. auf einfache Weise mittels
einer Tabelle erfolgen, in der jedem möglichen Zustandsüber
gang für einen Schritt des Viterbi-Algorithmus genau ein
Codewort zugeordnet ist. Das Zuordnen beruht auf der Tatsa
che, daß die Bildungsvorschrift für die Codeworte im Sender
und im Empfänger bekannt ist. Die Bildungsvorschrift ist in
Generatorpolynomen hinterlegt, aus denen jederzeit das einem
betrachteten Übergang zugeordnete Codewort bestimmt werden
kann.
In einem weiteren Ausführungsbeispiel der Erfindung wird beim
Durchführen des Viterbi-Algorithmus ein erstes Codewort und
ein zweites Codewort erzeugt, die beim Berechnen der jeweils
letzten Metrikinkremente mindestens zweier Metriken verwendet
werden, die miteinander verglichen werden. Noch bevor das
Vergleichsergebnis bekannt ist, wird zwischen einem zum er
sten Codewort und einem zum zweiten Codewort gehörenden Ab
schnitt aus der zweiten Folge und dem ersten Codewort die
Hammingdistanz bestimmt. Diese Hammingdistanz wird als Ham
mingdistanz-Inkrement zu einer ersten Gesamthammingdistanz
addiert, die der ersten Metrik zugeordnet ist. Analog wird
für den Abschnitt aus der zweiten Folge und dem zweiten Code
wort die Hammingdistanz bestimmt und als Hammingdistanz-In
krement zu einer zweiten Gesamthammingdistanz addiert, die
der zweiten Metrik zugeordnet ist. Nach dem Vergleich der
beiden Metriken wird beim bekannten Viterbi-Algorithmus nur
die Metrik, die dem wahrscheinlichsten Pfad zugeordnet ist,
zum weiteren Bearbeiten bereitgehalten. Im folgenden wird
diese Metrik die bessere Metrik genannt. Die andere Metrik,
d. h. die schlechtere Metrik, wird aus einem Speicher ge
löscht.
Beim genannten Ausführungsbeispiel der Erfindung ist die Be
rechnung der Hammingdistanz für mindestens eines der Code
worte eigentlich nicht erforderlich, da sie nach dem Ver
gleich der Metriken verworfen wird. Der Vorteil dieses Aus
führungsbeispiels besteht jedoch darin, daß unmittelbar nach
dem Vergleich der Metriken die Hammingdistanzen für beide Me
triken verwendet werden können, da die Hammingdistanzen be
reits vor oder gleichzeitig mit dem Vergleich der Metriken
berechnet wurden. Somit muß nur noch eine Auswahl zwischen
den beiden Gesamthammingdistanzen erfolgen, die wenig Rechen
zeit im Vergleich zur Berechnung der aktualisierten Gesamt
hammingdistanzen beansprucht, da die bereits bei den Metriken
erfolgte Entscheidung des Vergleichs bei diesem Ausführungs
beispiel der Erfindung auch für eine Entscheidung zwischen
den beiden Gesamthammingdistanzen übernommen wird. Der be
kannte Viterbi-Algorithmus wird durch dieses Ausführungsbei
spiel der Erfindung mit unverändert hoher Geschwindigkeit
ausgeführt, wenn eine schaltungstechnische oder softwaretech
nische Parallelisierung des Viterbi-Algorithmus und der Feh
lerberechnung erfolgt. Eine Verzögerung durch die Fehlerbe
rechnung tritt in diesem Fall nicht auf.
Zweckmäßigerweise wird nur die Gesamthammingdistanz der bes
seren Metrik zur weiteren Bearbeitung bereitgehalten und die
Gesamthammingdistanz der schlechteren Metrik aus einem Spei
cher gelöscht. Somit läßt sich Speicherplatz einsparen.
Bei einem anderen Ausführungsbeispiel wird ein Codewort er
zeugt, das beim Berechnen des letzten Metrikinkrements einer
Metrik verwendet wurde, die beim Vergleich mit mindestens ei
ner anderen Metrik den besseren numerischen Wert hat. In die
sem Ausführungsbeispiel wird zwischen dem Codewort und einem
zu diesem Codewort gehörenden Abschnitt aus der zweiten Folge
die Hammingdistanz bestimmt und als Hammingdistanz-Inkrement
zu einer Gesamthammingdistanz addiert, die der besseren Me
trik zugeordnet ist. In diesem Ausführungsbeispiel wird nur
dasjenige Hammingdistanzinkrement bestimmt, das auch tatsäch
lich zur weiteren Bearbeitung benötigt wird. Allerdings kann
die Bestimmung dieses Hammingdistanzinkrements erst erfolgen,
nachdem der Vergleich der Metriken durchgeführt wurde.
Bei einem weiteren Ausführungsbeispiel der Erfindung zeigt
die zur besseren Metrik gehörende Gesamthammingdistanz die
Fehleranzahl an. Wie bereits erwähnt, kann die Hammingdistanz
unmittelbar als die vor der Decodierung vorhandene Fehleran
zahl interpretiert und verwendet werden, so daß sich ein ein
fach zu bestimmendes Fehlermaß ergibt.
Wird die Gesamthammingdistanz eines sogenannten Pfades ver
wendet, der einem gesamten gesendeten Block von codierten Da
ten entspricht, so bezieht sich die Fehleranzahl auf den ge
samten gesendeten Block. Beim GSM-Mobilfunk sind in einem ge
sendeten Block jedoch Abschnitte unterschiedlicher Wichtig
keitsklassen enthalten. In diesem Fall können die momentanen
Gesamthammingdistanzen beim Durchführen des Verfahrens mehr
mals gespeichert werden, so daß durch Differenzbildung der
gespeicherten Gesamthammingdistanzen eines bestimmten Pfades
auch die Fehleranzahl in Abschnitten des Blocks bestimmt wer
den kann, wobei die Abschnitte jeweils zu einer Wichtigkeits
klasse gehören können. Außerdem kann auf diese Weise eine
Häufung von Fehlern in bestimmten Abschnitten erkannt werden.
Diese Häufung von Fehlern führt nämlich zu besonders fehler
behafteten Ergebnissen des Viterbi-Algorithmus im Decodierer.
Bei einer zu großen Fehleranzahl bezüglich einer festgelegten
Anzahl von empfangenen codierten Daten wird in einem weiteren
Ausführungsbeispiel ein Fehlersignal erzeugt. Dieses Fehler
signal kann z. B. dazu verwendet werden, um an den Sender bei
der Übertragung digitaler Daten einer Datenverarbeitungsan
lage eine Anforderung zum nochmaligen Senden zu übermitteln.
Wird das Fehlersignal zur Kennzeichnung eines zu stark ge
störten Blocks bzw. Rahmens beim GSM-Mobilfunk verwendet, so
kann später anhand der Kennzeichnung eine Behandlung des Feh
lersignals abhängig davon erfolgen, ob Sprache oder Daten ei
ner Datenverarbeitungsanlage gesendet wurden.
In einem weiteren Ausführungsbeispiel der Erfindung hat min
destens ein Datum im Wertebereich der empfangenen codierten
Daten einen Datenwert, der beim Bestimmen der Hammingdistanz
zu keiner Erhöhung der Hammingdistanz führt, da eine Einrich
tung zur Bestimmung der Hammingdistanz beim Auftreten dieses
Datenwerts an einer bearbeiteten Bitposition keine Abweichung
prüft, sondern automatisch zur nächsten Bitposition übergeht.
Dieses Datum ist auch als sogenanntes punktiertes Element in
punktierten Codes bekannt. Somit können in diesem Ausfüh
rungsbeispiel der Erfindung auch punktierte Codes bearbeitet
werden.
Die Erfindung betrifft gemäß einem weiteren Aspekt einen Emp
fänger, der zum Durchführen des erfindungsgemäßen Verfahrens
geeignet ist. Demzufolge übertragen sich die oben genannten
technischen Wirkungen auch auf den Empfänger.
Die Erfindung ist besonders gut für ein Parallelisierung des
Viterbi-Algorithmus und einer gleichzeitigen Berechnung der
Fehleranzahl geeignet. Je nach schaltungstechnischem oder
softwaretechnischem Aufwand werden dabei z. B. nur wenige
Schritte parallelisiert, um gegebenenfalls mehrfache Spei
cherzugriffe zu verhindern. Im Extremfall werden die Metri
kinkremente, die Hammingdistanzinkremente sowie die momenta
nen Gesamtmetriken und die momentanen Gesamthammingdistanzen
für jeden Schritt des Viterbi-Algorithmus gleichzeitig be
rechnet.
Die Erfindung bezieht sich auf Codeworte, deren Elemente zwei
(binär) oder mehr Werte haben. Außerdem wird die Erfindung
auch bei Coderaten angewendet, bei denen die Anzahl der
Pfade, die sich in einem Zustand treffen, größer als zwei
ist. In diesem Fall werden mehrere Symbole gleichzeitig in
den weiter oben erwähnten Symbolvektor geschoben.
Im folgenden wird die Erfindung anhand von Ausführungsbei
spielen unter Bezugnahme auf die Zeichnung erläutert. Darin
zeigen:
Fig. 1A und 1B ein Flußdiagramm des verwendeten Vi
terbi-Algorithmus und Verfahrens
schritte für eine gleichzeitige Be
stimmung der Fehleranzahl, und
Fig. 2 ein Blockschaltbild von Funktionsein
heiten für die Bestimmung der Fehler
anzahl.
Fig. 1 zeigt ein Flußdiagramm für den Viterbi-Algorithmus
und Verfahrensschritte für eine gleichzeitige Bestimmung der
Fehleranzahl von gestörten Daten. Schritte, die auch beim be
kannten Viterbi-Algorithmus durchgeführt werden, sind als
Blöcke mit durchgezogenen Linien dargestellt. Schritte, die
vom bekannten Viterbi-Algorithmus abweichen, sind als Blöcke
mit Strichlinien dargestellt.
Im Schritt 100 beginnt das Verfahren, das in einem Empfänger
durchgeführt wird, in welchem ein Empfangssignal z(t) über
der Zeit t empfangen wird. Aus diesem Empfangssignal z(t)
wird in einer Vorbearbeitung eine Empfangsfolge y aus quanti
sierten Werten y(j) (m) erzeugt. Zur Vorbearbeitung gehören
neben einer Abtastung verschiedene Filterungen des Empfangs
signals z(t) sowie eine Demodulation und Entzerrung. Die
quantisierten Werte y(j) (m) sind nach Codeworten gruppiert,
z. B. y(j). Die Werte j und m sind ganzzahlige Laufvariable,
wobei j die Nummer eines empfangenen Codewortes und m inner
halb des empfangenen Codewortes ein Element, z. B. das erste
Element "0" in einem empfangenen Codewort "011" bezeichnet.
Im Schritt 102 werden Vorbereitungen zum Durchführen des Vi
terbi-Algorithmus und der Bestimmung der Fehleranzahl durch
geführt. Zu diesen Vorbereitungen gehören z. B. das Bereit
stellen von Speicherplatz sowie das Belegen der Speicherzel
len mit Ausgangswerten.
Im Verfahrensschritt 104, wird der Viterbi-Schritt sj auf den
numerischen Wert "1" gesetzt. Die Viterbi-Schritte sj bezie
hen sich auf den jeweiligen Zyklus beim Durchführen des Vi
terbi-Algorithmus, wobei j eine Laufvariable ist. Das
schrittweise Abarbeiten des Viterbi-Algorithmus ist mit dem
schrittweisen Abarbeiten der empfangenen Codeworte gekoppelt.
Im Schritt 106 muß das zum jeweiligen Schritt sj gehörende
empfangene Codewort y(j) mit dem Elementen y(j) (m) vorliegen.
Anschließend wird in einem Schritt 108 der aus dem Viterbi-
Algorithmus bekannte erste Trelliszustand tz im Schritt sj
als betrachteter Trelliszustand festgelegt.
Im Schritt 110 werden, wie auch beim bekannten Viterbi-Algo
rithmus, die Metrikinkremente aus Codeworten zu Übergängen
bestimmt, die in den Trelliszustand tz führen. Das Bestimmen
der Metrikinkremente erfolgt mit sogenannten Soft-Metrikin
krementen Ms, die zu Gesamtmetriken Gs für jeweilige Pfade im
Trellis addiert werden. Die Formel für die Berechnung der Me
trikinkremente Ms ist z. B. im Buch "Digital Communications"
von J.G. Proakis, 2. Auflage, McGraw-Hill International Edi
tions, auf der Seite 458 angegeben. Diese Formel lautet mit
abgewandelten Bezeichnungen für die Metrikinkremente Ms:
wobei r einen jeweils betrachteten Pfad im Trellis bezeich
net. Jedem Pfad r ist im jeweiligen Schritt sj eindeutig ei
nem Trelliszustand tz zugeordnet, da ein Pfad gerade durch
eine bestimmte Abfolge von Trelliszuständen tz zu aufeinan
derfolgenden Schritten sj definiert ist. Mit c ist ein Refe
renzcodewort gekennzeichnet, welches dem r-ten Pfad im sj-ten
Schritt im Viterbi-Algorithmus zugeordnet ist und welches m
Elemente enthält. Mit n ist die Länge der empfangenen Code
wörter bzw. der Referenzcodeworte c gekennzeichnet. Im
Schritt 110 werden die Metrikinkremente Ms(r0) (j) und
Ms(r1) (j) bestimmt, die am Ende zweier Pfade r0 und r1 lie
gen, welche sich im betrachteten Trelliszustand tz vereinen.
Zur Berechnung des Metrikinkrements Ms(r0) (j) wird das Refe
renzcodewort c(r0) (j) (m) verwendet. Analog wird zur Berech
nung des Metrikinkrements Ms(r1) (j) ein Referenzcodewort
c(r1) (j) (m) verwendet. Das Referenzcodewort c(r0) (j) (m) ist
einem ersten Zustandsübergang {gSm0(sj)} von einem Trelliszu
stand tz0 für den Schritt sj-1 zum Trelliszustand tz im
Schritt sj zugeordnet. Die Zuordnung ergibt sich durch Anwen
den der Generatorpolynome des Faltungscodes auf den Zustands
übergang {gSm0(sj)}. Analog dazu ist das Referenzcodewort
c(r1) (j) (m) einem Zustandsübergang {gSm1(sj)} zugeordnet, der
einen Übergang von einem Zustand tz1 im Schritt sj-1 zum
Trelliszustand tz im Schritt sj entspricht. Mit Hilfe der Ge
neratorpolynome kann auch aus dem Zustandsübergang {gSm1(sj)}
das Referenzcodewort c(r1) (j) (m) bestimmt werden. Die Zu
stände tz0 und tz1 unterscheiden sich nur in einer Bitposi
tion an jeweils einem ihrer Enden.
Im Schritt 112, der unmittelbar nach dem Schritt 110 folgt,
werden die Referenzcodeworte c(r0) (j) (m) bzw. c(r1) (j) (m) aus
der Formel (1), die zur Berechnung eines jeweiligen Metrikin
krements Ms(r0) (j) bzw. Ms(r1) (j) verwendet wurden, nochmals
zur Bestimmung zweier Hammingdistanzinkremente Mh(r0) (j) (m)
bzw. Mh(r1) (j) (m) verwendet. Aus den quantisierten Werten
y(j) (m) wird dazu mit Hilfe einer elementweise arbeitenden
Schwellwerteinheit für feste m nach Art einer JA/NEIN-Ent
scheidung (Hard-Entscheidung) ein empfangenes Codewort
Y(j) (m) erzeugt, das anschließend elementweise mit den m-ten
Elementen der Referenzcodeworte c(r0) (j) (m) bzw. c(r1) (j) (m)
verglichen wird. Stimmen Elemente überein, so wird das Ham
mingdistanzinkrement Mh(r0) (j) (m) bzw. Mh(r1) (j) (m) nicht er
höht. Unterscheiden sich jedoch Elemente mit gleichem m, so
wird das Hammingdistanzinkrement Mh(r0) (j) (m) bzw.
Mh(r1) (j) (m) jeweils um den Wert "1" erhöht.
Nach dem Schritt 112 erfolgt in einem Schritt 114 die Additi
on des Metrikinkrements Ms(r0) (j) bzw. des Metrikinkrements
Ms(r1) (j) zu bereits berechneten Gesamtmetriken Gs(r0) (j-1)
bzw. Gs(r1) (j-1) nach folgenden Formeln:
Gs(r0) (j)=Gs(r0) (j-1)+Ms(r0) (j) (2),
Gs(r1) (j)=Gs(r1) (j-1)+Ms(r1) (j) (3).
Die Gesamtmetriken Gs(r0) (0) und Gs(r1) (0) haben im Schritt
s3=1 einen Initialwert. Nach dem Schritt 114 folgt unmit
telbar der Schritt 116.
Im Schritt 116 erfolgt die Addition der im Schritt 112 be
rechneten Hammingdistanzinkremente Mh(r0) (j) bzw. Mh(r1) (j)
zu Gesamthammingdistanzen Gh(r0) (j-1) bzw. Gh(r1) (j-1) gemäß
folgender Formeln:
Gh(r0) (j)=Gh(r0) (j-1)+Mh(r0) (j) (4),
Gh(r1) (j)=Gh(r1) (j-1)+Mh(r1) (j) (5).
Die Gesamthammingdistanzen Gh haben am Anfang des Verfahrens
den Wert null.
Im Schritt 118 wird aus den beiden im Schritt 114 berechneten
Gesamtmetriken Gs(r0) (j) bzw. Gs(r1) (j) die größere und damit
auch bessere Gesamtmetrik ausgewählt. Das die größere Metrik
ausgewählt wird, ist darauf zurückzuführen, daß die Berech
nung der Metrikinkremente Ms(r0) (j) bzw. Ms(r1) (j) und damit
auch die Berechnung der Gesamtmetriken Gs(r0) (j) bzw.
Gs(r1) (j) bereits stark vereinfacht wurde. Die in der Formel
(1) angegebene Metrikberechnung ist letztlich aus einem Ver
hältnis von logarithmischen Wahrscheinlichkeiten entstanden.
Durch die Auswahl der größeren Gesamtmetrik Gs(r0) (j) oder
Gs(r1) (j) im Schritt 118 wird der Pfad r0 bzw. r1 ausgewählt,
dessen zugehörige Codeworte am wenigsten von den tatsächlich
empfangenen Codeworten abweichen. Im Ausführungsbeispiel er
folgt die Selektion nach der folgenden Formel:
Gs(r) (j)=Max{Gs(r0) (j), Gs(r1) (j)} (6),
worin Gs(r) (j) die ausgewählte Gesamtmetrik ist.
Im Verfahrensschritt 120 wird bei Übereinstimmung der ausge
wählten Gesamtmetrik Gs(r) (j) mit der Gesamtmetrik Gs(r0) (j)
die Gesamthammingdistanz Gh(r0) (j) als ausgewählte Gesamt
hammingdistanz Gh(r) (j) festgelegt. Ebenso wird bei Überein
stimmung der ausgewählten Gesamtmetrik Gs(r) (j) mit der Ge
samtmetrik Gs(r1) (j) die Gesamthammingdistanz Gh(r1) (j) als
ausgewählte Gesamthammingdistanz Gh(r) (j) festgelegt. Die
Auswahl der Gesamtmetriken Gs(r0) (j) bzw. Gs(r1) (j) im
Schritt 118 beeinflußt also unmittelbar die Auswahl der Ge
samthammingdistanzen Gh(r0) (j) bzw. Gh(r1) (j) im Schritt 120.
In einem nachfolgenden Schritt 122 wird ein Pfadspeicher mit
den decodierten Daten aktualisiert, die zum sogenannten über
lebenden Pfad gehören, das heißt zum Pfad mit der größeren
Gesamtmetrik im Trelliszustand tz.
Anschließend wird das Verfahren im Schritt 124 fortgesetzt,
in welchem die Gesamtmetrik Gs(r) (j) in einem Pfadmetrikspei
cher zur weiteren Bearbeitung im nächsten Viterbi-Schritt
sj+1 gespeichert wird. Im Schritt 126 wird die im Schritt 120
ausgewählte Gesamthammingdistanz Gh(r) (j) zur weiteren Bear
beitung in einem Hammingdistanzspeicher abgelegt.
Im Schritt 128 wird überprüft, ob bereits der letzte Trellis
zustand im Schritt sj erreicht wurde. Dazu wird der numeri
sche Wert des Trelliszustandes tz mit einem Maximalwert tzMax
verglichen. Ist der numerische Wert des Trelliszustandes tz
kleiner als der Maximalwert tzMax, so wird in einem Schritt
130 der Trelliszustand tz um den Wert "1" erhöht. Anschlie
ßend wird das Verfahren in dem bereits erläuterten Schritt
110 fortgesetzt, so daß es sich in einer Schleife mit den
Schritten 110 bis 130 befindet. Diese Schleife kann nur ver
lassen werden, wenn im Schritt 128 der numerische Wert des
Trelliszustands tz gleich dem maximalen Trelliszustand tzMax
ist. In diesem Fall folgt unmittelbar nach dem Schritt 128
der Schritt 132.
Im Schritt 132 wird ein decodiertes Datum ausgegeben, falls
bereits eine Entscheidung über das wahrscheinlichste Datum
getroffen werden kann. Das decodierte Datum wird dann sofort
für die weitere Bearbeitung genutzt.
Im Schritt 134 wird überprüft, ob bereits der letzte Schritt
sj beim Durchführen des Viterbi-Algorithmus erreicht ist. Da
zu wird der numerische Wert sj mit einem Wert sjMax vergli
chen. Ist der numerische Wert sj kleiner als der numerische
Wert sjMax. so folgt unmittelbar nach dem Schritt 134 ein
Schritt 136, in welchem der numerische Wert sj um den Wert
"1" erhöht wird. Anschließend wird das Verfahren im bereits
erläuterten Schritt 106 fortgesetzt. Das Verfahren befindet
sich nunmehr in einer Schleife mit den Verfahrensschritten
106 bis 136. Diese Schleife kann nur im Schritt 134 verlassen
werden, wenn alle Schritte des Viterbi-Algorithmus ausgeführt
worden sind. In diesem Fall ist der numerische Wert sj gleich
dem Maximalschrittwert sjMax, so daß unmittelbar nach dem
Schritt 134 der Schritt 138 durchgeführt wird. Im Schritt 138
wird der noch nicht bearbeitete Rest von dekodierten Daten
zur weiteren Bearbeitung ausgegeben.
Im Schritt 140 wird überprüft, ob die Gesamthammingdistanz
Gh(r) (sjMax) des Pfades mit der geringsten Abweichung von den
Empfangswerten kleiner als ein maximaler Fehlerwert FMax ist.
Ist dies nicht der Fall, so wird in einem Schritt 142 ein
Fehlersignal erzeugt, da bereits vor dem Dekodieren zu viele
Fehler vorhanden waren. Nach dem Schritt 142 wird das Verfah
ren beendet (Schritt 144). Wird im Schritt 140 festgestellt,
daß die Fehleranzahl kleiner als der maximale Fehlerwert FMax
ist, so wird sogleich zum Schritt 144 verzweigt, um das Ver
fahren zu beenden.
Fig. 2 zeigt ein Blockschaltbild mit Funktionseinheiten für
die Bestimmung der Fehleranzahl in einer kombinierten Viter
bi-Fehlereinheit 200, in welcher das anhand der Fig. 1 er
läuterte Verfahren durchgeführt wird. Der bekannte Viterbi-
Algorithmus, der in der Fig. 1 durch Blöcke mit durchge
zeichneten Linien verdeutlicht wurde, wird in einem Viterbi-
Decoder 202 durchgeführt. Eingangsseitig werden dem Viterbi-
Decoder 202 die quantisierten Empfangswerte y(j) (m) zuge
führt. Mit Hilfe des bereits erläuterten Viterbi-Algorithmus
wird aus den quantisierten Empfangswerten y eine Folge deco
dierter Daten {S+} erzeugt. Zusätzlich zur Durchführung des
bekannten Viterbi-Algorithmus gibt der Viterbi-Decoder 202
die Referenzcodeworte c(r) (j) (m) aus. Die Referenzcodeworte
c(r) (j) (m) werden zwei Hammingdistanzeinheiten 204 und 206
zugeführt. Eingangsseitig wird den Hammingdistanzeinheiten
204 und 206 ein empfangenes Codewort Y(j) (m) zugeführt, wel
ches mit Hilfe einer Schwellwerteinheit 208 aus dem jeweils
betrachteten quantisierten Empfangswertwort y(j) (m) erzeugt
wird. Die Hammingdistanzeinheit 204 bestimmt die Hammingdi
stanz zwischen dem Referenzcodewort c(r0) (j) (m) und dem emp
fangenen Codewort Y(j) (m), wobei das Metrikinkrement
Mh(r0) (j) am Ausgang der Hammingdistanzeinheit 204 erzeugt
wird. Die Hammingdistanzeinheit 206 bestimmt die Hammingdi
stanz aus dem Referenzcodewort c(r1) (j) (m) und dem empfange
nen Codewort Y(j) (m), wobei das Metrikinkrement Mh(r1) (j) er
zeugt wird.
In einer Addiereinheit 210 erfolgt die Addition gemäß der
oben genannten Formel (4). Dazu ist die Addiereinheit 210
eingangsseitig mit dem Ausgang der Hammingdistanzeinheit 204
und mit einem ersten Ausgang eines Gesamthammingdistanz-Spei
chers 212 verbunden, in welchem die Gesamthammingdistanzen
Gh(r) (j-1) abgelegt sind, die jeweils im zuvor durchgeführten
Schritt sj-1 berechnet wurden. Die Addiereinheit 210 entnimmt
dem Speicher 212 die Gesamthammingdistanz Gh(r0) (j-1).
In einer Addiereinheit 214 wird die Addition gemäß der oben
genannten Formel (5) durchgeführt. Dazu ist die Addiereinheit
214 eingangsseitig mit dem Ausgang der Hammingdistanzeinheit
206 und mit einem zweiten Ausgang des Speichers 212 verbun
den, über welchen die Gesamthammingdistanz Gh(r1) (j-1) ent
nommen wird.
Zwei Schalter S1 bzw. S2 zwischen der Addiereinheit 210 bzw.
der Addiereinheit 214 und den Ausgängen des Speichers 212 er
möglichen in einer Anfangsstellung i, daß der Anfangswert "0"
für die Gesamthammingdistanzen Gh verwendet wird. In einer
Arbeitsstellung n der Schalter S1 und S2 sind die Addierein
heiten 210 und 214 direkt mit den Ausgängen des Gesamtham
mingdistanz-Speichers 212 verbunden.
Die Addiereinheit 210 ist mit einem ersten Eingang einer Aus
wahleinheit 216 verbunden. Mit einem zweiten Eingang der Aus
wahleinheit 216 ist der Ausgang der Addiereinheit 214 verbun
den. Abhängig von einem Auswahlsignal auf einer Auswahllei
tung 218 erfolgt in der Auswahleinheit 216 die Auswahl der
Gesamthammingdistanz Gh(r0) (j) oder der Gesamthammingdistanz
Gh(r1) (j). Das Auswahlsignal wird vom Viterbi-Decoder korre
spondierend zur jeweils gewählten Gesamtmetrik Gs(r0) (j) bzw.
Gs(r1) (j) erzeugt. Am Ausgang der Auswahleinheit 216 wird die
der größeren Gesamtmetrik zugeordnete Gesamthammingdistanzen
Gh(r0) (j) bzw. Gh(r1) (j) als Gesamthammingdistanz Gh(r) (j)
ausgegeben und im Gesamthammingdistanz-Speicher 212 abgelegt.
Der Viterbi-Decoder 202 signalisiert dem Speicher 212 außer
dem den Endzustand tze, welcher den zu den decodierten Daten
{S+} gehörenden Pfad abschließt. Aus dem Gesamthammingdi
stanzspeicher 212 wird am Ende des anhand der Fig. 1 erläu
terten Verfahrens die zum Trelliszustand tze gehörende Ge
samthammingdistanz Gh(r) (j) ausgelesen und als Gesamtfehler
anzahl vor der Decodierung interpretiert.
In einem anderen Ausführungsbeispiel gibt es neben dem Ge
samthammingdistanz-Speicher 212 weitere Gesamthammingdistanz-
Speicher 220, welche ebenfalls mit dem Ausgang der Auswahl
einheit 216 verbunden sind. Eine nicht dargestellte Steuerlo
gik steuert das Beschreiben der Speicher 212 und 220 so, daß
zum Beispiel in den ersten 53 Schritten sj der Speicher 212
ständig neu beschrieben wird. Die Steuerlogik erzeugt auch zu
dem Endstand tze korrespondierende Signale für die Speicher 212
bis 220. In den nachfolgenden Schritten wird jedoch der
Speicher 220 jeweils neu beschrieben. Durch diese Maßnahme
kann am Ende des Verfahrens die Verteilung der Fehler be
stimmt werden, indem die Gesamthammingdistanzen Gh zum ge
wählten Pfad aus den Speichern 212 und 220 ausgelesen werden.
Die Gesamthammingdistanz im Speicher 212 bezieht sich in die
sem Fall auf einen ersten Abschnitt der Empfangswertfolge.
Die Differenz der Gesamthammingdistanzen Gh aus dem Speicher
220 und dem Speicher 212 bezieht sich auf den anderen Ab
schnitt der Empfangswertfolge.
Die in der Fig. 2 dargestellte Schaltung kann dahingehend
geändert werden, daß weitere Hammingdistanzeinheiten nach Art
der Hammingdistanzeinheiten 204 und 206 neben diesen angeord
net werden, so daß eine gleichzeitige Bearbeitung mehrerer
Trelliszustände tz möglich wird. Neben den Addierern 210 und
214, sowie der Auswahleinheit 216 sind dann ebenfalls mehrere
gleichartig wie diese aufgebaute Addierer bzw. Auswahleinhei
ten anzuordnen.
Claims (10)
1. Verfahren zum Erkennen von Fehlern bei der Übertragung di
gitaler faltungscodierter Daten von einem Sender zu einem
Empfänger,
bei dem die codierten Daten in Codewörtern vorgegebener Länge enthalten sind, die im Sender nach einem Faltungscode aus zu übertragenden Daten erzeugt werden,
vom Empfänger ein Empfangssignal (z(t)) empfangen wird, in dem die codierten Daten enthalten sind,
aus dem Empfangssignal eine Folge von diskreten Empfangs werten (y(j) (m)) erzeugt wird (Schritt 106),
aus der Empfangswertfolge (y(j)) unter Verwenden des Viterbi- Algorithmus neben den decodierten Daten ({S+}) eine erste Folge von codierten empfangenen Daten (c(r) (j) (m)) ermittelt wird,
aus der Empfangswertfolge (y, y(j)) durch Vergleich der Empfangswerte mit mindestens einem Schwellwert eine zweite Folge (Y, Y(j)) von codierten empfangenen Daten (Y(j) (m)) ermittelt wird,
und bei dem Abweichungen der beiden Folgen (c(r) (j), Y(j)) von codierten empfangenen Daten (c(r) (j) (m), Y(j) (m)) die Fehler anzeigen.
bei dem die codierten Daten in Codewörtern vorgegebener Länge enthalten sind, die im Sender nach einem Faltungscode aus zu übertragenden Daten erzeugt werden,
vom Empfänger ein Empfangssignal (z(t)) empfangen wird, in dem die codierten Daten enthalten sind,
aus dem Empfangssignal eine Folge von diskreten Empfangs werten (y(j) (m)) erzeugt wird (Schritt 106),
aus der Empfangswertfolge (y(j)) unter Verwenden des Viterbi- Algorithmus neben den decodierten Daten ({S+}) eine erste Folge von codierten empfangenen Daten (c(r) (j) (m)) ermittelt wird,
aus der Empfangswertfolge (y, y(j)) durch Vergleich der Empfangswerte mit mindestens einem Schwellwert eine zweite Folge (Y, Y(j)) von codierten empfangenen Daten (Y(j) (m)) ermittelt wird,
und bei dem Abweichungen der beiden Folgen (c(r) (j), Y(j)) von codierten empfangenen Daten (c(r) (j) (m), Y(j) (m)) die Fehler anzeigen.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß die codierten Daten (c(r) (j) (m)) der ersten Folge (c) die
Codeworte (c(r)) sind und daß diese Codeworte den beim Viter
bi-Algorithmus auftretenden Zustands-Übergängen ({gSm(sj)})
zugeordnet sind.
3. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß ein erstes Codewort (c(r0) (j)) und ein zweites Codewort (c(r1) (j)) erzeugt werden, die beim Berechnen der jeweils letzten Metrikinkremente (Ms(r0) (j), Ms(r1) (j)) mindestens zweier Metriken (Gs(r0) (j), Gs(r1) (j)) verwendet werden, die miteinander verglichen werden,
daß zwischen einem zum ersten Codewort (c(r0) (j)) und zum zweiten Codewort (c(r1) (j)) gehörenden Abschnitt (Y(j)) aus der zweiten Folge (Y) und dem ersten Codewort (c(r0) (j)) die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r0) (j)) zu einer ersten Gesamthammingdistanz (Gh(r0) (j-1)) addiert wird, die der ersten Metrik (Gs(r0) (j)) zugeord net ist,
und daß zwischen dem Abschnitt (Y(j)) und dem zweiten Code wort (c(r1) (j)) die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r1) (j)) zu einer zweiten Gesamt hammingdistanz (Gh(r1) (j-1)) addiert wird, die der zweiten Metrik (Gs(r1) (j)) zugeordnet ist.
daß ein erstes Codewort (c(r0) (j)) und ein zweites Codewort (c(r1) (j)) erzeugt werden, die beim Berechnen der jeweils letzten Metrikinkremente (Ms(r0) (j), Ms(r1) (j)) mindestens zweier Metriken (Gs(r0) (j), Gs(r1) (j)) verwendet werden, die miteinander verglichen werden,
daß zwischen einem zum ersten Codewort (c(r0) (j)) und zum zweiten Codewort (c(r1) (j)) gehörenden Abschnitt (Y(j)) aus der zweiten Folge (Y) und dem ersten Codewort (c(r0) (j)) die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r0) (j)) zu einer ersten Gesamthammingdistanz (Gh(r0) (j-1)) addiert wird, die der ersten Metrik (Gs(r0) (j)) zugeord net ist,
und daß zwischen dem Abschnitt (Y(j)) und dem zweiten Code wort (c(r1) (j)) die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r1) (j)) zu einer zweiten Gesamt hammingdistanz (Gh(r1) (j-1)) addiert wird, die der zweiten Metrik (Gs(r1) (j)) zugeordnet ist.
4. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
daß nach dem Vergleich der beiden Metriken (Gs(r0) (j), Gs(r1) (j)) die Gesamthammingdistanz (Gh(r0) (j)) bzw. Gh(r1) (j)) der besseren Metrik (Gs(r0) (j) oder Gs(r1) (j)) zur weiteren Bearbeitung als Gesamthammingdistanz Gh(r) (j) eines Pfades r bereitgehalten wird (Schritt 126),
und/oder die Gesamthammingdistanz (Gh(r1) (j)) bzw. Gh(r0) (j)) der schlechteren Metrik (Gs(r1) (j) oder Gs(r0) (j)) aus einem Speicher gelöscht wird.
daß nach dem Vergleich der beiden Metriken (Gs(r0) (j), Gs(r1) (j)) die Gesamthammingdistanz (Gh(r0) (j)) bzw. Gh(r1) (j)) der besseren Metrik (Gs(r0) (j) oder Gs(r1) (j)) zur weiteren Bearbeitung als Gesamthammingdistanz Gh(r) (j) eines Pfades r bereitgehalten wird (Schritt 126),
und/oder die Gesamthammingdistanz (Gh(r1) (j)) bzw. Gh(r0) (j)) der schlechteren Metrik (Gs(r1) (j) oder Gs(r0) (j)) aus einem Speicher gelöscht wird.
5. Verfahren nach einem der Ansprüche 1 oder 2,
dadurch gekennzeichnet,
daß ein Codewort (c(r) (j) (m)) erzeugt wird, wobei das Codewort (c(r) (j) (m)) beim Berechnen des letzten Metrikinkrements (Ms(r) (j)) einer Metrik (Gs(r) (j)) verwendet wurde, die beim Vergleich mit mindestens einer anderen Metrik den besseren numerischen Wert hat,
daß zwischen dem Codewort (c(r) (j) (m)) und einem zu diesem Codewort (c(r) (j) (m)) gehörenden Abschnitt (Y(j)) aus der zweiten Folge die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r) (j)) zu einer Gesamthamming distanz (Gh(r) (j-1)) addiert wird, die der besseren Metrik (Gs(r) (j)) zugeordnet ist.
daß ein Codewort (c(r) (j) (m)) erzeugt wird, wobei das Codewort (c(r) (j) (m)) beim Berechnen des letzten Metrikinkrements (Ms(r) (j)) einer Metrik (Gs(r) (j)) verwendet wurde, die beim Vergleich mit mindestens einer anderen Metrik den besseren numerischen Wert hat,
daß zwischen dem Codewort (c(r) (j) (m)) und einem zu diesem Codewort (c(r) (j) (m)) gehörenden Abschnitt (Y(j)) aus der zweiten Folge die Hammingdistanz bestimmt wird und als Hammingdistanzinkrement (Mh(r) (j)) zu einer Gesamthamming distanz (Gh(r) (j-1)) addiert wird, die der besseren Metrik (Gs(r) (j)) zugeordnet ist.
6. Verfahren nach einem der Ansprüche 2 bis 5,
dadurch gekennzeichnet,
daß die zur besseren Metrik (Gs(r) (j)) gehörende Gesamt
hammingdistanz (Gh(r) (j)) die momentane Fehleranzahl zu einem
Zeitpunkt j anzeigt.
7. Verfahren nach Anspruch 6,
dadurch gekennzeichnet,
daß mindestens einmal die Differenz aus einer ersten Gesamt
hammingdistanz (Gh(r) (j1)) eines ersten Teils eines soge
nannten Pfades (r) und einer zweiten Gesamthammingdistanz
(Gh(r) (j2)) eines den ersten Teil enthaltenden zweiten Teils
des Pfades (r) gebildet und als Fehleranzahl für den zweiten
Teil verwendet wird.
8. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß ein Fehlersignal erzeugt wird, wenn für eine festgelegte
Anzahl zumindest eines Teils von empfangenen codierten Daten
(y(j) (m)) die Fehleranzahl in diesen Daten einen vorgegebenen
Maximalwert (FMax) überschreitet (Schritt 142).
9. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß mindestens ein Datum im Wertbereich der empfangenen
codierten Daten einen Datenwert hat, der beim Bestimmen der
Hammingdistanz zu keiner Erhöhung der Hammingdistanz führt.
10. Empfänger zum Empfangen digitaler faltungscodierter Daten
von einem Sender,
wobei die codierten Daten in Codewörtern vorgegebener Länge enthalten sind, die im Sender nach einem Faltungscode aus zu übertragenden Daten erzeugt werden,
mit einer Empfangseinrichtung zum Empfangen der codierten Daten, wobei ausgangsseitig ein Empfangssignal (z(t)) erzeugt wird,
einer Vorbearbeitungseinheit zum Erzeugen einer Folge (y) diskreter Empfangswerte (y(j) (m)) aus dem Empfangssignal z(t)
einer Viterbi-Einheit (202), in welcher unter Verwenden des Viterbi-Algorithmus neben den decodierten Daten ({S+}) eine erste Folge (c) von codierten empfangenen Daten (c(r) (j) (m)) ermittelt wird, wobei die Viterbi-Einheit (202) ein Entschei dungssignal auf einer Ausgangsleitung (218) erzeugt,
einer Schwellwerteinheit (208), in der durch Vergleich der Empfangswerte (y(j) (m)) mit mindestens einem Schwellwert eine zweite Folge (Y) von codierten empfangenen Daten (Y(j) (m)) ermittelt wird,
und mit einer Auswerteeinheit (204 bis 220) zum Bestimmen einer Fehleranzahl aus Abweichungen der beiden Folgen (Y, c) von codierten empfangenen Daten, abhängig vom Entscheidungs signal auf der Ausgangsleitung (218).
wobei die codierten Daten in Codewörtern vorgegebener Länge enthalten sind, die im Sender nach einem Faltungscode aus zu übertragenden Daten erzeugt werden,
mit einer Empfangseinrichtung zum Empfangen der codierten Daten, wobei ausgangsseitig ein Empfangssignal (z(t)) erzeugt wird,
einer Vorbearbeitungseinheit zum Erzeugen einer Folge (y) diskreter Empfangswerte (y(j) (m)) aus dem Empfangssignal z(t)
einer Viterbi-Einheit (202), in welcher unter Verwenden des Viterbi-Algorithmus neben den decodierten Daten ({S+}) eine erste Folge (c) von codierten empfangenen Daten (c(r) (j) (m)) ermittelt wird, wobei die Viterbi-Einheit (202) ein Entschei dungssignal auf einer Ausgangsleitung (218) erzeugt,
einer Schwellwerteinheit (208), in der durch Vergleich der Empfangswerte (y(j) (m)) mit mindestens einem Schwellwert eine zweite Folge (Y) von codierten empfangenen Daten (Y(j) (m)) ermittelt wird,
und mit einer Auswerteeinheit (204 bis 220) zum Bestimmen einer Fehleranzahl aus Abweichungen der beiden Folgen (Y, c) von codierten empfangenen Daten, abhängig vom Entscheidungs signal auf der Ausgangsleitung (218).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE1996147314 DE19647314A1 (de) | 1996-11-13 | 1996-11-13 | Verfahren zum Erkennen von Fehlern bei der Datenübertragung |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE1996147314 DE19647314A1 (de) | 1996-11-13 | 1996-11-13 | Verfahren zum Erkennen von Fehlern bei der Datenübertragung |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE19647314A1 true DE19647314A1 (de) | 1998-05-14 |
Family
ID=7811798
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE1996147314 Ceased DE19647314A1 (de) | 1996-11-13 | 1996-11-13 | Verfahren zum Erkennen von Fehlern bei der Datenübertragung |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE19647314A1 (de) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4192982C2 (de) * | 1990-11-21 | 1994-05-26 | Motorola Inc | Fehlererkennungssystem |
| EP0748057A1 (de) * | 1993-06-21 | 1996-12-11 | Oki Electric Industry Company, Limited | Bitfehler zählverfahren und zähler |
-
1996
- 1996-11-13 DE DE1996147314 patent/DE19647314A1/de not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4192982C2 (de) * | 1990-11-21 | 1994-05-26 | Motorola Inc | Fehlererkennungssystem |
| EP0748057A1 (de) * | 1993-06-21 | 1996-12-11 | Oki Electric Industry Company, Limited | Bitfehler zählverfahren und zähler |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69029542T2 (de) | Viterbidekodierer | |
| EP0391354B1 (de) | Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens | |
| EP0392603B1 (de) | Übertragungssystem | |
| DE69420470T2 (de) | Echtzeitfaltungskodierer mit Blocksynchronisationsfunktion | |
| EP0488456B1 (de) | Maximalwahrscheinlichkeitsempfänger | |
| DE10254187A1 (de) | Dekodiereinrichtung mit einem Turbodekodierer und einem RS-Dekodierer in Reihenschaltung und hiermit Durchgeführtes Dekodierverfahren | |
| DE19827815B4 (de) | Empfänger | |
| DE69427630T2 (de) | Integrierte Schaltung mit Koprozessor zur Viterbi-Dekodierung | |
| DE69719024T2 (de) | Verfahren zur dekodierung von datensignalen mittels eines festlängenentscheidungsfensters | |
| EP0992116B1 (de) | Verfahren und einrichtung zur quellengesteuerten kanaldecodierung mit hilfe eines kalman-filters | |
| DE69434249T2 (de) | Digitaler Signalprozessor mit Coprozessor zur Viterbi Decodierung | |
| DE69836119T2 (de) | Tail-biting Faltungskode-Dekodierverfahren und -system | |
| DE68911032T2 (de) | Bit und Symbol-Taktwiedergewinnung für sequentielle Dekoder. | |
| EP1130788A2 (de) | Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer | |
| DE69328636T2 (de) | Bitfehler zählverfahren und zähler | |
| DE60035099T2 (de) | Verfahren zur bestimmung der rahmenfrequenz eines datenrahmens in einem kommunikationssystem | |
| DE19647314A1 (de) | Verfahren zum Erkennen von Fehlern bei der Datenübertragung | |
| EP1198890A2 (de) | Verfahren zum erzeugen von zuverlässigkeitsinformationen für die kanaldecodierung in einem funkempfänger sowie entsprechender funkempfänger | |
| EP1252716B1 (de) | Verfahren und anordnung zur dekodierung von informationen | |
| DE102015115281B4 (de) | Dekodierer und Verfahren zum Dekodieren | |
| WO2001020839A1 (de) | Verfahren zum schätzen der bitfehlerrate in einem funkempfänger sowie entsprechender funkempfänger | |
| DE19647653A1 (de) | Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren | |
| DE60118716T2 (de) | Log-MAP Dekodierung | |
| DE69901566T2 (de) | Schnelle metrikberechnung für einen viterbi- dekoder | |
| DE69813132T2 (de) | Decodierung von Faltungscodes mit Gleitkomma ACS Verarbeitung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8131 | Rejection |