[go: up one dir, main page]

DE19647314A1 - Verfahren zum Erkennen von Fehlern bei der Datenübertragung - Google Patents

Verfahren zum Erkennen von Fehlern bei der Datenübertragung

Info

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
Application number
DE1996147314
Other languages
English (en)
Inventor
Andre Dipl Ing Convent
Lutz Dr Ing Finn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to DE1996147314 priority Critical patent/DE19647314A1/de
Publication of DE19647314A1 publication Critical patent/DE19647314A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/201Frame 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.
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.
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.
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.
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).
DE1996147314 1996-11-13 1996-11-13 Verfahren zum Erkennen von Fehlern bei der Datenübertragung Ceased DE19647314A1 (de)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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