DE69024282T2 - Verallgemeinernder Viterbi-Dekodier-Algorithmus - Google Patents

Verallgemeinernder Viterbi-Dekodier-Algorithmus

Info

Publication number
DE69024282T2
DE69024282T2 DE69024282T DE69024282T DE69024282T2 DE 69024282 T2 DE69024282 T2 DE 69024282T2 DE 69024282 T DE69024282 T DE 69024282T DE 69024282 T DE69024282 T DE 69024282T DE 69024282 T2 DE69024282 T2 DE 69024282T2
Authority
DE
Germany
Prior art keywords
sequence
measure
path
paths
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69024282T
Other languages
English (en)
Other versions
DE69024282D1 (de
Inventor
Nambirajan Seshadri
Carl-Erik W Sundberg
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.)
AT&T Corp
Original Assignee
AT&T 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 AT&T Corp filed Critical AT&T Corp
Application granted granted Critical
Publication of DE69024282D1 publication Critical patent/DE69024282D1/de
Publication of DE69024282T2 publication Critical patent/DE69024282T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H03M13/4115Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors list output Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

    Die vorliegende Erfindung betrifft Verfahren der Signalverarbeitung.
  • Kanalcodierung ist ein Mittel zur wirksamen Einführung von Redundanz in eine Folge von Datensymbolen zur Förderung der Übertragungszuverlässigkeit. Zwei Hauptverfahren, die zur Anwendung kommen, sind Block- und Faltungscodierung. Man siehe beispielsweise Error Control Coding - Fundamentals and Applications (Fehlersicherungscodierung - Grundsätze und Anwendungen) von S. Lin und D.J. Costello, prentice-Hall, 1983.
  • Blockcodes
  • Binäre Blockcode werden erzeugt, indem man n-k Prüfbit an k Informationsbit anhängt, um einen Block von n Bit für die Übertragung auf einem Kommunikationskanal zu bilden. Diese n-Bit-Blöcke werden dann typischerweise unter Verwendung standardmäßiger Modulationsverfahren, beispielsweise Amplituden-, Frequenz-, Phasen- oder Impulsmodulation an den Kanal angelegt. Am Empfängerende des Kanals werden nach der Demodulation Schätzungen der ursprünglichen k Informationsbit unter Verwendung der Empfangsfolge einschließlich der durch die n-k Prüfbit eingeführten Redundanz durchgeführt.
  • Entscheidungen hinsichtlich der empfangenen n Bit können mit einem beliebigen einer Anzahl von Verfahren getroffen werden, von denen einige unquantisierte Schätzungen der Empfangsbit (Decodierung mit weicher Entscheidung) und andere quantisierte Schätzungen der Empfangsbit (Decodierung mit harter Entscheidung) verwenden. Anwender haben festgestellt, daß, obwohl Blockcodes einfach zu implementieren sind, sie ziemliche Schwierigkeiten bieten, wenn eine wirksame Decodierung nit weicher Entscheidung erreicht werden soll.
  • Auf einem Kanal mit additivem weißem Gaußschem Rauschen ergibt eine Decodierung mit harter Entscheidung (unter Verwendung binärer Quantisierung der Empfangswerte) einen Leistungsverlust von zirka 2-3 dB im Vergleich zur Decodierung mit weicher Entscheidung. Das bedeutet, daß bei Verwendung von Decodierung mit weicher Entscheidung das Leistungserfordernis am Sender um 2-3 dB erniedrigt werden kann. Man siehe Principles of Digital Communications and Coding (Grundsätze der digitalen Kommunikation und Codierung), A.J. Viterbi und J.K. Omura, McGraw-Hill, 1979.
  • Es ist gut bekannt, die Struktur des Mindest- Hamming-Abstandes eines Blockcodes für eine kombinierte Fehlerkorrektur und Fehlererkennung mit Decodierung mit harter Entscheidung zu verwenden. Dies kann durch Verwendung eines Vorgangs einer unvollständigen Decodierung erreicht werden, wo der Decodierer nicht versucht, jedes fehlerhafte Empfangswort zu decodieren. So wird die Fehlererkennung durch Nichtdecodierung erreicht. Es bestehen Verfahren zur Durchführung einer verbesserten Fehlererkennung und -korrektur bei Blockcodes ohne bedeutende Aufwandserhöhung, wenn an einem Kanalausgang grobe weiche Entscheidungen (logisch null, logisch eins oder Löschung) verfügbar sind. Man siehe beispielsweise Error Control Technigues for Digital Communication (Fehlersicherungsverfahren für digitale Kommunikation) von A.M. Michelson und A.H. Levesque, John Wiley & Sons, New York, 1985.
  • Faltungscodes
  • Faltungscodes werden durch Durchführen einer Informationsfolge durch ein Schieberegister erzeugt, bei dem Stufen mit linearen algebraischen Funktionsgeneratoren verbunden sind. Die Ausgänge der Funktionsgeneratoren werden dann gezielt kombiniert, um die codierte Ausgangsfolge zu erzeugen.
  • Der Viterbi-Aigorithmus (VA) für die Decodierung von Faltungscodes wurde von A.J. Viterbi "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm" (Fehlergrenzen für Faltungscodes und ein asymptotisch optimaler Decodieralgorithmus) IEEE Trans. on Info. Theory, Band IT-13, Seiten 260-269, 1967 eingeführt. Der Algorithmus wird auch in G.D. Forney, Jr., "The Viterbi Algorithm" (Der Viterbi-Algorithmus), Proceedings of the IEEE, Band 16, Seiten 268-278, 1973 beschrieben.
  • Forney zeigte auch in -Maximum Likelihood Sequence Estimation of Digital Sequences in the Presence of Intersymbol Interference" (Abschätzung der Folge mit der größten Wahrscheinlichkeit von digitalen Folgen in der Gegenwart von Nachbarzeichenstörung) IEEE Trans. on Info. Theory, Band IT-18, Seiten 363-378N 1972, daß der VA ein Decodieralgorithmus nach größter Wahrscheinlichkeit für Kreuzgittercodes ist und benutzte ihn für die Entzerrung von Kanälen mit Nachbarzeichenstörung. Der VA ist auch für die Demodulierung von kreuzgittercodierter Modulation benutzt worden, man siehe G. Ungerbock, "Channel Coding With Multilevel Phase Signals" (Kanalcodierung mit Mehrebenen-Phasensignalen) IEEE Trans. on Info. Theory, Band IT-28, Seiten 55-67, Januar 1982. Der VA ist auch für die Demodulation von phasenkonstanter Pseudo-Mehrstufenmodulation benutzt worden. Man siehe J.B. Anderson, T. Aulin und C-E. Sundberg, Digital Phase Modulation (Digitale Phasenmodulation), Plenum Press, NY, 1986.
  • Es ist daher ersichtlich, daß der VA nicht nur bei der Decodierung von Faltungscodes, sondern auch bei einer Vielzahl anderer Codes und anderer Übertragungsverfahren vorteilhaft angewandt wird, die sich alle im allgemeinen durch eine kreuzgitterähnliche Struktur auszeichnen.
  • Selbst bei einem niedrigen Decodieraufwand sind mit Faltungscodes unter Verwendung von weichen Demodulationsausgaben und Decodierung mit größter Wahrscheinlichkeit mit dem VA gute Ergebnisse erreicht worden. Man siehe die Literaturstelle Lin und Costello oben. Normalerweise werden Faltungscodes für kontinuierliche Datenübertragung benutzt. Durch Rahmenbildung der Daten in Blöcke und Abschliessen der Blöcke können jedoch Faltungscodes zur Auslegung von nichtsystematischen Blockcodes benutzt werden, die dann optimal mit dem VA decodiert werden können.
  • Im begensatz zu den Blockcodes ist jedoch der Decodierer nach größter Wahrscheinlichkeit für Faltungscodes und andere kreuzgitterbasierende Strukturen vollständig, indem er jede Empfangsfolge decodiert. So mangelt es den Decodierern für Faltungscodes an der Fähigkeit, bei einem möglichen Decodierfehler eine Warnung zu signalisieren. Die vorliegende Erfindung verbessert solche Decodierer nach größter Wahrscheinlichkeit, indem sie Mittel zum Signalisieren eines möglichen Decodierfehlers einschließt.
  • In der Literatur sind verschiedene Verallgemeinerungen des standardmäßigen VA dargestellt worden. In "Convolutional Codes 11: Maximum Likelihood Decoding" (Faltungscodes 11: Decodierung nach größter Wahrscheinlichkeit), Information and Control, 25, Seiten 222-266, Juli 1974 und "Convolutional Codes 111: Seguential Decoding" (Faltungscodes 111: Seguentielle Decodierung), Inf. Control, 25, Seiten 267-297, Juli 1974 schlug Forney einen Decodierer mit einer Liste von 2 mit größter Wahrscheinlichkeit vor, der auf das Ziel begrenzt war, einen Einblick in die Analyse von seguentiellen Decodierverfahren zu gewinnen.
  • In "Viterbi Decoding Algorithm for Convolutional Codes with Repeat Reguest" (Viterbi-Decodieralgorithmus für Faltungscodes mit Wiederholungsanforderung), IEEE Trans. Info. Theory, IT-26, Seiten 540-547, September 1980, schlugen Yamamoto und Itoh einen ARQ-Algorithmus vor, der jedesmal dann eine Wiederholungsanforderung signalisiert, wenn der beste Weg in jeden Zustand auf irgendeiner Kreuzgitterebene dem zweitbesten Weg in jeden Zustand "zu nahe" liegt. In ihrer ARQ-Strategie finden sie jedoch nicht den global zweitbesten Weg und geringere beste Wege und nutzen sie auch nicht ausdrücklich aus. Der Algorithmus von Yamamoto, Itoh ist erfolgreich in einem verketteten Codierverfahren eingesetzt worden. Der innere Code ist ein Faltungscode mit weicher Viterbi- Decodierung. Der äußere Code ist ein Reed-Solomon-Code, der Fehler und Löschungen korrigiert, wobei die Zeichenlöschungsinformation am inneren Decodiererausgang durch Verwendung eines verallgemeinerten Viterbi-Algorithmus geliefert wird.
  • In "A List-Type Reduced-Constraint Generalization of the Viterbi Algorithm" (Eine listenartige Verallgemeinerung mit verringerter Beschränkung des Viterbi- Algorithmus), IEEE Trans. Info. Theory, IT-33, Seiten 866-876, November 1987, schlug Hashimoto eine listenartige Verallgemeinerung mit verringerter Beschränkung des Viterbi-Algorithmus vor, die den Viterbi-Algorithmus und den sogenannten M-Algorithmus als Sonderfälle enthält. Der Zweck dieses Algorithmuses besteht darin, den Decodieraufwand nicht den des gebräuchlichen Viterbi- Algorithmuses überschreiten zu lassen und Fehlerfortpflanzung aufgrund einer verringerten Zustandsdecodierung zu vermeiden. Nach der Enddecodierung wird wiederum kein ausdrücklicher Gebrauch von den Überlebenden, abgesehen vom Besten, gemacht und es ist daher kein Listendecodieralgorithmus.
  • Nach einem Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 1 bereitgestellt.
  • Nach einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 17 bereitgestellt.
  • Eine Schar von verallgemeinerten Viterbi- Algorithmen (GVA - Generalized Viterbi Algorithms) wird in der vorliegenden Offenbarung auf die weiche oder harte Decodierung von Faltungscodes angewandt, aber sie gelten gleichermaßen für Blockcodes und andere Codes, verschiedene Modulationsverfahren und sonstige kreuzgitterbasierende Strukturen. Insbesondere werden die GVA in den hier offenbarten beispielhaften Ausführungsformen benutzt, um kombinierte Fehlererkennung und -korrektur für faltungscodierte Daten mit unguantisierten weichen Entscheidungen vom Demodulator durchzuführen.
  • In einer Anwendungsform der vorliegenden Erfindung werden Daten in Blöcken mit fester Größe, die als Rahmen bezeichnet werden, übertragen. Messungen und Entscheidungen werden getrennt von Rahmen zu Rahmen am Decodierer durchgeführt. Wie bei dem klassischen VA- Decodierer gibt ein GVA-Decodierer die Folge mit der größten Wahrscheinlichkeit (ML - Maximum Likelihood) frei. Er heftet jedoch auch eine Markierung an den decodierten Rahmen an, um anzuzeigen, ob die Entscheidung zuverlässig (korrekt mit hoher Wahrscheinlichkeit) oder unzuverlässig ist. Diese Zuverlässigkeitsbestimmung basiert auf der gemessenen Wahrscheinlichkeit der Richtigkeit für die wahrscheinlichste Folge im Vergleich zur Wahrscheinlichkeit der zweitwahrscheinlichsten Folge und wahlweise Folgen sukzessiv geringerer Wahrscheinlichkeit. Wenn ein Ausgangssignal derart markiert ist und die Daten Sprachsignale darstellen, dann wird eine bevorzugte Rahmendecodierung auf der Grundlage von Rahmen-Rahmen-Redundanz durchgeführt. Gleichermaßen kann bei einem nichtsprachlichen Datenkommunikationssystem die Löschungsinformation zur Anforderung einer Rahmenwiederholung vom Sender benutzt werden.
  • Als Alternative kann der GVA die besten L Kandidaten bei einer Löschung freigeben. Die Rahmen-Rahmen- Redundanz wird dann zur Auswahl des besten Kandidaten für die Sprachdecodierung aus den L freigegebenen Kandidaten benutzt.
  • Eine weitere Anwendung der vorliegenden Erfindung liegt bei automatischen Wiederholungsanforderungs- (ARQ - Automatic Repeat Request) Systemen. In dieser Anwendung wird ein Datenblock zuerst mit zusätzlichen Paritätsbit standardmäßig codiert. Der gesamte verstärkte Block (Daten und Paritätsbit) wird dann mit einem Faltungscode codiert, der sich durch GVA-Verfahren decodieren läßt. Wenn sich erweist, daß der mit den GVA am Empfänger erzeugte beste Kandidat nach Bestimmung durch standardmäßige Paritätsprüfverfahren die richtige Parität aufweist, dann werden die Datenbit als richtig bestimmt. Wenn der beste Kandidat von der GVA-Decodierung bei der Paritätsprüfung ein falsches Resultat ergibt, dann wird der GVA-Decodierer auf den zweitbesten Kandidaten abgefragt. Wenn dieser zweitbeste Kandidat erfolgreich die Paritätsprüfung besteht, dann werden seine Datenbit als richtig erachtet. In den Verfahren des Standes der Technik wäre zur Bereitstellung eines neuen Kandidaten für die Paritätsprüfung eine zeitaufwendige Wiederholung erforderlich. Die Verwendung drittbester und nachfolgender Kandidaten kann ebenfalls dazu benutzt werden, die Notwendigkeit einer Wiederholung zu vermeiden, wenn "bessere" (offensichtlich wahrscheinlichere) Kandidaten kein richtiges Resultat ergeben, wenn sie auf Parität überprüft werden.
  • Kurze Beschreibun der Zeichnun
  • Fig. 1 zeigt ein verallgemeinertes Blockschaltbild/Fließdiagramm eines Kommunikationssystems, in dem die vorliegende Erfindung angewandt werden kann;
  • Fig. 2 zeigt einen Faltungscodierer nach dem Stand der Technik zur Darstellung der vorliegenden Erfindung;
  • Fig. 3 zeigt das Zustandsfolgediagramm für den Faltungscodierer der Fig. 2;
  • Fig. 4 zeigt das vollständige Kreuzgitterdiagramm für den Codierer der Fig. 2 für eine typische Codierung;
  • Fig. 5, die aus Figuren 5A und 5B besteht, zeigt graphische Darstellungen zur Erleichterung der Kennzeichnung zweitbester Wege;
  • Fig. 6 zeigt Tabelleninformationen, die bei der Ausübung der vorliegenden Erfindung nützlich sind;
  • Fig. 7 ist ein Teil eines Kreuzgitterdiagramms, das die Kennzeichnung zweitbester Wege darstellt;
  • Fig. 8 zeigt einen weiteren Aspekt der Kennzeichnung zweitbester Wege; und
  • Fig. 9 zeigt wie ein GVA zur Verringerung der Anzahl von Wiederholungsanforderungen benutzt werden kann, die in Systemen erforderlich sind, die zur Fehlerkorrektur die Wiederholung von Blöcken benutzen. Detaillierte Beschreibun
  • Definitionen
  • In der gesamten folgenden Beschreibung werden die Begriffe "Rahmen" und "Block" nebeneinander angewandt. Das heißt, bei Sprachübertragung wird "Rahmen" zur Darstellung eines verarbeiteten Segments (typisch 16 ms) von Sprache mit einem zusätzlichen Kopfteil für Kanalcodierung benutzt. Für Unterrahmen und für Datenübertragung wird der Begriff "Block" benutzt.
  • Der Begriff "Verallgemeinerter Viterbi-Algorithmus" (GVA) bedeutet eine Verallgemeinerung des gut bekannten Viterbi-Algorithmus, der in der Lage ist, eine Liste der L besten in Frage kommenden Decodierungen entsprechend einem (typischerweise verrauschten) Rahmen (beziehungsweise Block) faltungscodierter Daten frei zugeben. Die im GVA enthaltenen Verallgemeinerungen des VA werden ausführlicher unten beschrieben.
  • Ein paralleler GVA ist einer, der gleichzeitig alle L Kandidaten kennzeichnet, während ein serieller GVA den l-sten Kandidaten auf Grundlage der Kenntnis der vorhergegangenen l-1-besten Kandidaten iterativ freigibt.
  • Decodierung mit weicher Entscheidung bezieht sich auf die Zuweisung einer der Menge möglicher Codefolgen auf Grundlage unguantisierter (beziehungsweise unvollständig guantisierter) Informationen am Ausgang des Kanaldemodulators im Empfänger. So wird beispielsweise das durch Rauschen verstümmelte Empfangssignal vom Kanal an einen Satz angepaßter Filter entsprechend jedem möglichen Codewort angelegt. Die Ausgaben der angepaßten Filter werden dann verglichen und das der größten Ausgabe eines angepaßten Filters entsprechende Codewort wird als das Empfangscodewort ausgewählt. "Größtes" bedeutet in diesem Sinn typischerweise größtes als Funktion von Abtastwerten entsprechend jedem Bit im Empfangscodewort. Man siehe beispielsweise Digital Coxnmunications (Digitale Nachrichtenübermittlung) von J.G. Proakis, McGraw-Hill, New York, 1983, Seiten 258 et seq.
  • Decodierung mit harter Entscheidung bezieht sich auf Decodierung von Kanalsignalen, bei denen jedem Empfangsbit entsprechende Abtastwerte auantisiert werden, oftmals auf die beiden Werte 0 oder 1. Man siehe Proakis oben, Seiten 265 et seq.
  • Verallgemeinerte Viterbi Algorithmus (GVA)
  • Die Fig. 1 stellt die Art und Weise dar, auf die der GVA vorteilhaft eingesetzt wird.
  • Die Fig. 1 zeigt ein System zur Übermittlung von Informationen von einer Datenguelle 100 zu einer Empfangsstelle über einen Koinmunikationskanal 130. Wenn das System für Sprachsignale benutzt werden soll, dann enthält die Datenguelle 100 gut bekannte Mittel zur Umformung dieser Sprache in Rahmen von Digitalsignalen.
  • Der Blockcodierer 110 wird zur Hinzufügung entsprechender Redundanz, d.h. von Paritätsprüfbit zum Ausgang der Datenquelle 100 vor Zuführung dieser Daten zum Faltungscodierer 120 benutzt. Der Blockcodierer 110 kann von jeder standardmäßigen Art sein, die beispielsweise in Literaturstellen wie Lin und Costello oben beschrieben worden sind. Da nicht alle Anwendungen der vorliegenden Erfindung aus Blockcodierung Nutzen ziehen werden, ist der Blockcodierer 110 in der Figur 1 als wahlfrei dargestellt.
  • Der Faltungscodierer 120 ist standardmäßiger Konstruktion und wird vom Fachmann auf Grundlage von solchen Systemparametern wie Datengeschwindigkeit und übertragungskanaleigenschaften ausgewählt werden. Die Fig. 2 zeigt einen typischen Faltungscodierer, der unten zur Darstellung des GVA beschrieben wird.
  • Der Modulator 125 kann jeder für den übertragungskanal 130 geeigneten Art sein. Im allgemeinen wird der Kanal 130 Rauschen und andere Beeinträchtigungen, z.B. Frequenz- und Phasenverzerrung und eine einer Vielzahl von Schwundeigenschaften aufweisen. In entsprechenden Fällen, z.B. wenn ein bedeutender Kanalschwund erwartet werden kann, erweist es sich als zweckdienlich, Informationen von Nachbarrahmen als Teil des Modulations- (bzw. Codier-)Vorgangs zu verschachteln. Dies dient zur Verteilung der Schwundwirkung über eine Mehrzahl von Rahmen, wodurch die Auswirkung auf jeden Einzelrahmen verringert wird. Diese Verfahren sind in der Technik gut bekannt.
  • Der Demodulator 140 in der Fig. 1 führt standardmäßige Demodulation auf eine zu der vom Modulator 125 gebotenen Modulation entgegengesetzte Weise durch. Die Ausgabe vom Denodulator 140 wird dem Decodierer 145 zugeführt. Der Decodierer 145 kann in einigen Anwendungen einen wahlfreien zum Blockcodierer 110 komplementären Blockdecodierer enthalten, aber dieser Blockdecodierer wird zugunsten einer ausführlicheren Besprechung in Verbindung mit der Figur 5 aus der gegenwärtigen Besprechung herausgelassen. Gleicherweise wird, wenn am Sender Verschachtelung von Bit oder Bitgruppen (Zeichen) eingesetzt wird, dieser Vorgang durch Entschachteln am Empfänger auf standardmäßige Weise umgekehrt. Der Block 150 stellt die ausführlicher unten zu beschreibenden GVA- Operationen dar. Für gegenwärtige Zwecke genügt es, zu bemerken, daß der Decodierer 150 einen Kandidaten mit größter Wahrscheinlichkeit für die tatsächlich von der Datenquelle 100 übertragene Datenfolge bietet. Zusätzlich bietet der Decodierer 150 auch eine Anzeige (bzw. Markierung), um anzuzeigen, ob dieser Kandidat bedeutend wahrscheinlicher als jeder andere am Decodierer verfügbare mögliche Kandidat ist oder nicht.
  • Wenn die übermittelte Information Sprachinformation ist, dann wird der decodierte Rahmen von Sprachinformation entsprechend der vom Entscheidungsblock 160 und den Blöcken 170 und 180 dargestellten Funktionalität verarbeitet. Wenn die übermittelte Information willkürliche (Nicht-Sprach-) Daten sind, dann gelten die durch Blöcke 185, 190 und 195 angedeuteten Operationen. In beiden Fällen wird auf das Vorhandensein einer Markierung geprüft, die den der in Frage kommenden Datenfolge zuzuordnenden Zuverlässigkeitsgrad anzeigt.
  • Wenn die am Block 160 angezeigte Prüfung ein Ergebnis "keine Markierung gesetzt" ergibt, dann wird die in Frage kommende Folge (der decodierte Rahmen von Sprachinformationen) angenommen. Wenn eine Markierung festgestellt wird, dann wird der Rahmen nicht angenommen. Stattdessen wird eine Neuschätzung des Rahmens von Sprachinformationen unternommen. Dies wird typischerweise unter Verwendung der von Rahmen zu Rahmen in der Sprachkommunikation bestehenden Redundanz erzielt. Besondere Verfahren für eine solche Neuschätzung werden unten besprochen.
  • Auf gleiche Weise wird, wenn Nicht-Sprach- Informationen verarbeitet werden und bei Durchführung der vom Block 185 angezeigten Prüfung keine Markierung gesetzt wird, der Rahmen von Nicht-Sprach-Information angenommen. Wenn festgestellt wird, daß bei Durchführung der vom Block 185 angezeigten Prüfung eine Markierung gesetzt wird, dann wird eine Korrekturmaßnahme, typischerweise eine Anforderung zur Wiederholung des Blocks, die zur Sendestelle zurückzusenden ist, unternommen. Dies ist als 190 in der Fig. 1 dargestellt. Eine bevorzugte Alternative mit Verwendung der vom Blockcodierer 110 eingeführten rahmeninternen Redundanz wird unten beschrieben.
  • Implementierung der GVA
  • Nunmehr werden die Verfahren zur Implementierung der parallelen und seriellen Versionen des GVA beschrieben. Beim parallelen GVA-Algorithmus wird die Aufgabe der Kennzeichnung der L wahrscheinlichsten Kandidaten in einem Durchlauf durch ein Kreuzgitter mit einer Struktur erreicht, die sich etwas von der mit dem gebräuchlichen Viterbi-Algorithmus verbundenen unterscheidet. Der serielle Algorithmus wird mit auf einanderfolgenden Durchläufen durch eine Kreuzgitterstruktur implementiert, die im wesentlichen dieselbe Komplexität wie die mit dem normalen Viterbi-Algorithmus verbundene aufweist.
  • Die Algorithmen werden an dem Beispiel eines Faltungscodes der Rate R = 1/2 mit 4 Zuständen erläutert. Verallgemeinerung auf andere Codes folgt leicht. In der gesamten Besprechung werden (ohne Verlust der Allgemeinheit) Faltungscodes mit Rahmenbildung benutzt, wo das mit Faltungscodes verbundene Kreuzgitter in einem bekannten Zustand abschließt. Dies wird durch Hinzufügung von M bekannten Informationsbit (typischerweise Nullen) am Ende des Datenblocks auf standardmäßige Weise erreicht.
  • Nunmehr bezugnehmend auf Fig. 2 ist der beispielhaf te Codierer dargestellt. An den Eingang 200 wird eine Eingangsfolge von Bit bitweise angelegt. Diese Bit laufen in die Schieberegisterstufe 210 und danach in die Schieberegisterstufe 220. Exklusive-ODER-Schaltungen 230 und 240 empfangen als Eingaben die Eingaben und Ausgaben der Schieberegisterstufen wie in Fig. 2 gezeigt, wobei deren Ausgaben an Knotenpunkten 250 bzw. 260 erscheinen. Vom Multiplexer 270 werden diese Ausgangsknotenpunkte (mit dem Knotenpunkt 260 zuerst) während jeder Eingangsbitperiode abgetastet. So bietet der Multiplexer 270 Ausgangsbit am Knotenpunkt 280 mit der doppelten Rate, mit der Eingangsbit am Eingangsknotenpunkt 200 zugeführt werden. Damit wird die Rate R = 1/2 definiert. Die Eingangsdaten nehmen die Werte 0 und 1 mit gleicher Wahrscheinlichkeit an. Die Ausgabe des Kanalcodierers wird auf Zeichen +1 und -1 abgebildet, entsprechend der Abbildung: 0T +1; 1T -1.
  • Allgemeiner gesagt läßt sich ein Faltungscodierer als das 3-Tupel (n,k,M) charakterisieren, wobei n die Anzahl von Ausgangsbit für alle k Eingangsbit ist und M die Anzahl von K-Bit-Stufen im Schieberegister ist. Unter Verwendung dieser Charakterisierung ist der Codierer der Fig. 2 ein (2, 1, 2)-Codierer.
  • Wie gut bekannt ist kann die Funktionsweise von Faltungscodierern vollständig entweder als Kreuzgitterdiagramm oder als Zustandsfolgediagramm oder -tabelle beschrieben werden. Man siehe beispielsweise die Literaturstelle Lin und Costello oder die Literaturstelle Proakis oben.
  • Die Fig. 3 zeigt das Zustandsfolgediagramm (entsprechend der i-ten Stufe des entsprechenden Kreuzgitters) für den Codierer der Fig. 2. Da es zwei Schieberegisterstufen gibt, bestehen 4 mögliche Zustände, die als S&sub0; bis S&sub3; gekennzeichnet sind und mit den in Fig. 3 gezeigten jeweiligen Bitmustern 00, 01, 10 und 11 verbunden sind. Da der Codierer der Fig. 2 ein binärer Faltungscodierer ist, bestehen zwei Zweige, die jeden Zustand betreten und verlassen. Das Eingangsbit bestimmt die Zustandsübergänge. Der Kreuzgitterabschnitt der Fig. 3 wird als i-te Kreuzgitterebene (entsprechend dem Übergang von einem Zustand zur Zeit i-1 zu einem weiteren zur Zeit i) bezeichnet.
  • Das vollständige Kreuzgitter für den Codierer der Fig. 2 für einen Code mit Länge N, wobei N die Anzahl von k-Bit-Informationsteilblöcken ist (k = 1 im Beispiel), ist in Fig. 4 dargestellt. Auf jeder Stufe i entspricht der einen Zustand zur Zeit i verlassende obere Zweig einer Eingabe von 0, während der untere Zweig einer Eingabe von 1 entspricht. Es ist ersichtlich, daß das Kreuzgitter eine Stufenzahl aufweist, die gleich N + M + 1 beziehungsweise 8 für das angegebene Beispiel ist. Wie angenommen beginnt die Codierung einer Folge stets mit dem Zustand S&sub0; und kehrt zu S&sub0; zurück. So ist für eine Eingangs folge 0000000 (fünf Informationsbit und M = 2 nullwertige "Nachlauf"-Bit zur Vervollständigung des Rahmens) die vom Codierer der Fig. 2 erzeugte codierte Folge 00 00 00 00 00 00 00.
  • Wie bei Beschreibungen von Codierung und anderen Zusammenhängen, die zweckdienlicherweise als Kreuzgitterstrukturen beschrieben werden, gebräuchlich ist, erweist es sich als zweckdienlich, die Folge von nur Nullen als typisch zu benutzen. Die folgenden Ergebnisse sind im allgemeinen nicht darauf begrenzt.
  • Die Eingangs folge in den Faltungscodierer ist
  • u = (u&sub1; ... uN)
  • wobei u- ein k-Bit-Teilblock ist. u wird nach Abschluß in eine Folge v codiert
  • v = (v&sub1; ..., vN+M).
  • wobei vi ein n-Bit-Teilblock ist. Der Abschluß am Ausgang besteht aus M bekannten n-Bit-Teilblöcken. Die codierte Folge wird dann über den Kanal übertragen und empfangen als
  • r = (r&sub1;, ...rN+M.
  • Bei der Decodierung von r berechnet der Viterbi- Algorithmus die logarithmische Wahrscheinlichkeit von Funktion log P(rO), die als die mit dem Weg v in dem mit dem benutzten Code verbundenen Kreuzgitter verbundene Metrik bekannt ist. Diese Metrik wird zweckdienlicherweise als die Summe der Einzelzweigmetriken log P(rO) berechnet, die den Zweigen des Weges v entsprechen. Die Teilwegmetrik für die ersten j Zweige eines Weges wird dann berechnet als
  • i=j
  • Σ log P (ri vi)
  • i=l
  • Viterbi lehrte, daß die Folge der größten Wahrscheinlichkeit (d.h. die mit dem Weg der größten Wahrscheinlichkeit durch das Kreuzgitter verbundene) durch Verarbeitung von r auf iterative Weise Zweig um Zweig gefunden werden kann. Mit jedem Schritt werden die Metriken aller in jeden Zustand eingehenden Wege verglichen und der Weg mit der größten Metrik (der Überlebende) und seine Metrik werden gespeichert. Die für die Ableitung des wahrscheinlichsten Kandidaten für die Sendefolge benutzten detaillierten Berechnungen sind in Literaturstellen wie dem Buch von Lin und Costello oben zu finden und werden hier nicht wiederholt.
  • Bislang ging die Beschreibung von einem speicherlosen Kanal aus. Wenn der Kanal jedoch Speicherung aufweist, dann kann zur Verteilung der Signale (z.B. Bit) von einem Rahmen auf benachbarte Rahmen wie oben bemerkt ein als Verschachtelung bekanntes Verfahren benutzt werden. Bei Entschachtelung am Empfänger bewirkt dies eine Verteilung von Fehlern, die die Nutzinformationen aus einem oder sogar einigen benachbarten Empfangsrahmen gelöscht haben oder sehr verschlechtert haben können. Wenn solche Kanäle angetroffen werden, erweist es sich daher als zweckdienlich, in Betracht zu ziehen, daß der Modulator 125 in der Fig. 1 diese gut bekannte Verschachtelungsfunktion vor der eigentlichen Kanalmodulation einfügt. Gleicherweise führt der Demodulator 140 in diesen Fällen das Umgekehrte dieser Verschachtelung aus, um die Reihenfolge von Signalen zu der vor der Modulation vorherrschenden wiederherzustellen.
  • Auch ist zu bemerken, daß in Speicherung aufweisenden Kanälen die Metriken für die teilweisen und vollständigen Wege durch das Kreuzgitter im allgemeinen nicht den Maßen größter Wahrscheinlichkeit sondern irgendeinem anderen gleicherweise zufriedenstellenden Gütemaß entsprechen werden. Solche Metriken sind für viele gebräuchliche Anwendungen in der Technik gut bekannt.
  • Parallele GVA
  • Die bei der Berechnung der L wahrscheinlichsten Sendefolgen für eine gegebene verrauschte Empfangsfolge durchgeführten Schritte werden nunmehr unter Anwendung des parallelen GVA beschrieben. Eine wichtige Feststellung, auf der der GVA beruht, ist die, daß, um die global L besten decodierten Kandidaten zu finden, es notwendig ist und ausreicht, die L besten Kandidaten in jedem Zustand auf jeder Ebene zu finden und zu behalten.
  • Diese Feststellung wird für den Fall von L=2 bewiesen. Insbesondere wird gezeigt, daß, um die zwei besten globalen Wege (d.h. das gesamte Kreuzgitter durchlaufenden Wege) freizugeben, es notwendig ist und ausreicht, die zwei besten Wege in jeden Zustand auf jeder Kreuzgitterebene zu finden und zu behalten.
  • Die Bedingung notwendig folgt aus der Tatsache, daß sich der global zweitbeste Weg vom global besten Weg über mindestens einen Teil des Kreuzgitters unterscheidet. Am Ende läuft er zu irgendeinem Zeitpunkt wieder mit dem besten Weg zusammen. Wenn der zweitbeste Weg in den Zustande wo dieses Wiederzusammenlaufen eintritt (der a priori nicht bekannt ist), nicht gefunden wird, dann ist der global zweitbeste Weg überhaupt nicht bekannt.
  • Die Bedingung ausreichend folgt aus der Tatsache, daß der drittbeste (oder niedrigere) Kandidat nicht überleben kann, weil er in irgendeinem Zustand der Zweitbeste ist, da es schon einen Kandidaten gibt, nämlich den Zweitbesten mit besserer Metrik.
  • Nunmehr wird die zur Berechnung der zwei besten Wege erforderliche Verarbeitung beschrieben.
  • Die Decodierung beginnt zur Zeit i=0, wenn die angesammelten Metriken des besten und zweitbesten Weges, die gefunden werden können, für den bekannten Beginnzustand auf Null und für die übrigen Zustände auf einen sehr großen negativen Wert initialisiert werden. Man nehme an, daß zur Zeit i-1 die zwei wahrscheinlichsten Wege in S&sub0;(i-1) (die Hochstellung bezeichnet die Zeit) gefunden worden sind Zur Zeit i gibt es vier bei S&sub0;(i) ankommende Wege, je zwei von S&sub0;(i-1) und S&sub1;(i-1). Die Erweiterung von S&sub0;(i-1) auf S&sub1;(i) umfaßt die Berechnung der Inkrementalmetrik, die gegeben wird durch
  • Δλ = ri1 xi1 + ri2 xi2
  • = ri1 + ri2
  • wobei ri1 und ri2 die Empfangszeichen (reelle Zahlen) sind und xi1 und xi2 die Kreuzgitterzweigzeichen (+1 oder -1; +1, +1 für den Ubergang von S&sub0;(i-1) zu S&sub0;(i)) auf Kreuzgitterebene (bzw. Stufe) i sind. Die Inkrementalmetrik wird zu den Saznmelmetriken der beiden Überlebenden bei S&sub0;(i-1) hinzugefügt und ergibt damit die Gesamt-Sainmelmetriken für die zwei Wege erweitert von S&sub0;(i-1) auf S&sub0;(i). Ähnliche Berechnungen werden während der Erweiterung der beiden Wege von S&sub1;(i-1) auf S&sub0;(i) durchgeführt.
  • Aus den vier Erweiterungen werden die zwei Wege mit den höchsten Sammelmetriken ausgewählt und für weitere Erweiterung von S&sub0;(i) zurückbehalten. Ähnliche Berechnungen werden bei allen anderen Zuständen durchgeführt. Abschliessend schließt das Kreuzgitter in einem bekannten Zustand ab und die beiden überlebenden Wege, die in diesem Zustand abschliessen, werden als die wahrscheinlichsten und zweitwahrscheinlichsten Kandidaten freigegeben (wobei die Wege-Metriken in dieser Reihenfolge liegen). Sie werden der beste und zweitbeste Weg genannt.
  • Die Erweiterung diese Beispiels auf den Algorithmus zum Finden der L wahrscheinlichsten Kandidaten erfordert, daß die L wahrscheinlichsten Kandidaten für jeden Zustand und auf jeder Ebene gefunden werden müssen. Für den binären Faltungscode mit Rate 1/n (n≥2) gibt es 2L an jedem Zustand ankommende Wege, aus denen die besten L ausgewählt werden.
  • Verallgemeinerung auf hochratige Codes mit nichtbinärem Kreuzgitter ist leicht zu erreichen. Man siehe beispielsweise S. Benedetto et al., Digital Transmission Theory (Theorie der digitalen Übertragung), Prentice Hall, Englewood Cliffs, N.J., 1987, wo eine Besprechung solch hochratiger Codes enthalten ist. Gleichermaßen ist die Anwendung dieser Verfahren auf hochratige Faltungscodes auf Grundlage von durchbrochenen Codes unkompliziert. Eine Besprechung solcher Codes ist in Hagenauer "Rate Compatible Punctured Convolutional Codes (RCPC codes) and Their Applications" (Ratenkompatible durchbrochene Faltungscodes (RCPC-Codes) und ihre Anwendungen), IEEE Trans. Comm. Band COM-36, Seiten 389- 400, April 1988 zu finden.
  • Erwägungen über die Implementierung des parallelen Algorithmus
  • Bei der Ausführung des parallelen GVAS erweist es sich als zweckdienlich, L Gruppierungen der Größe 2M x (N+M) zu erhalten, wobei 2M die Anzahl von Zuständen und N die Anzahl von Informationsbit proRahmem ist. Der ij-ste Eintrag in der l-sten Gruppierung wird als Eijl bezeichnet, wobei 1≤i≤2M; 1≤j≤(N+M) ist. Eijl ist ein Protokoll der Vorgeschichte des l-sten besten Weges im Zustand Si-1 und im Augenblick j. Die Vorgeschichte dieses Weges wird vollständig angegeben durch
  • (i) den vom Weg zur Zeit j-1 belegten Zustand, und
  • (ii) die relative Rangordnung unter den besten l Überlebenden für den vom Weg zur Zeit j-1 belegten Zustand.
  • Diese Information wird während des ersten "Vorwärts-"Durchlaufs des Algorithmuses bewertet. Der zweite Schritt ist in wesentlichen ein Rückverfolgungsschritt, wo der l-ste beste Kandidat freigegeben wird, wo das erste freigegebene Informationsbit der Kreuzgitterebene N entspricht und das letzte freigegebene Bit der Kreuzgitterebene 1 (zeitlich umgekehrte Reihenfolge) entspricht.
  • Die folgende alternative Implementierung ergibt eine Verringerung des Speicherraums zum Suchen des zweitbesten Weges. Die Implementierung beruht auf der Tatsache, daß der zweitbeste Weg nach einer Abweichung vom besten Weg zu einem späteren Zeitpunkt wieder zusammenläuft und wie in Fig. 5A gezeigt niemals mehr abweicht. Dies ist so, da nach dem Wiederzusammenlaufen der beste Weg die höchste Metrik über die verbleibende Kreuzgitterspanne aufweist. Eine Abweichung vom besten Weg nach einem solchen Wiederzusammenlaufen (wie in Fig. 5B) würde einen Kandidaten mit einer zugehörigen Metrik ergeben, die kleiner (schlechter) als die des Kandidaten ohne Abweichung ist.
  • Wenn man dies in Erinnerung behält, erweist es sich als zweckdienlich, zwei Gruppierungen, eine Hauptwegzustandsgruppierung von 2M x (N+M) und eine Hilfsgruppierung von der Größe 2M x 1 zu erhalten. Der Eintrag Eij in die Hauptwegzustandsgruppierung ist eine Zusammenfassung der Vorgeschichte des besten Weges, der zur Zeit j im Zustand Si-1 abschließt. Die Vorgeschichte wird einmalig durch den von diesem Weg zur Zeit j-1 belegten Zustand angegeben.
  • Der i1-ste Eintrag in die Hilfsgruppierung wird als E'i1 bezeichnet. Das Element E'i1 ist der Augenblick, in dem der zweitbeste Weg in den Zustand Si-1 auf einer gegebenen Ebene zum ersten Mal wieder mit dem besten Weg durch denselben Zustand zusammengelaufen ist. Diese Information wird zu jedem Augenblick aktualisiert (wie oben sind Augenblicke mit Kreuzgitterstufen oder -ebenen verbunden) . Abschliessend wird das Kreuzgitter in einem bekannten Zustand, dem Zustand von nur Nullen abschliessen.
  • Der freigegebene zweitbeste Weg ist derselbe wie der beste Weg von E'&sub1;&sub1; zu (N+M), wobei E'&sub1;&sub1; der Augenblick ist, in dem der zweitbeste Weg in den Zustand von nur Nullen endlich mit dem besten Weg in diesen Zustand zusammenläuft. Zu E'&sub1;&sub1; ist der freigegebene Zustand für den zweitbesten Weg derjenige, der sich von dem für den besten unterscheidet. Da es von einer Ebene nur zwei Zustände gibt, die sich in einen Zustand auf der nächsten Ebene erstrecken, kann dieser Freigabeschritt einmalig durchgeführt werden. Im Augenblick E'&sub1;&sub1;-1 schaltet der Rückverfolgungsteil des Algorithmus auf die Hauptgruppierung um und fährt entlang der Vorgeschichte des zu E'&sub1;&sub1; freigegebenen Zustandes für den zweitbesten Weg fort.
  • Diese Realisierungsalternative wird durch das Beispiel in Figur 6 für einen Code mit Rate 1/2 aufgezeigt, wo die beste Folge der Weg mit nur Nullen ist. Rückverfolgung wird für den besten Weg durch durchgezogene Pfeile gezeigt, die von rechts nach links zeigen. Die aktualisierte Hilfsgruppierung zeigt, daß der zweite Weg vom besten Weg zum Zeitaugenblick j=8 abweicht. Hier ist der freigegebene Zustand für den besten Weg S&sub0; und ist daher für den zweitbesten Weg S&sub1;. Zu j=7 ist der freigegebene Zustand für den Zweitbesten S&sub2;. Zu j=6 ist der freigegebene Zustand S&sub0; und zu diesem Zeitpunkt ist der zweitbeste Weg mit dem besten Weg (rückwärts) zusammengelaufen und die nachfolgenden Zustände, die freigegeben werden, sind dieselben wie die des besten Weges.
  • Bei dieser Realisierung wird ein Code mit Rate R = 1/n angenommen. Bei einem allgemeinen Code mit Rate R = k/n gibt es 2k Wege, die in jeden Zustand eintreten. So enthält E'&sub1;&sub1; die oben angezeigten Informationen für den Code mit R=1/n, enthält aber auch Informationen über den Zustand, aus dem der zweitbeste Weg wieder mit dem besten Weg zusammenlief.
  • Rechenerfordernisse
  • Die die Ausführungsgeschwindigkeit beeinflussenden Faktoren sind die Berechnungen der Metrik und die Auswahl der L besten Kandidaten in jeden Zustand auf jeder Kreuzgitterebene. Zur Darstellung eines typischen Rechenvorgangs ist ersichtlich, daß für einen Code mit R=1/2 auf jeder Ebene 4 Inkrementalmetriken ausgewertet werden müssen. Jede davon erfordert zwei Multiplikationen und eine Addition. Die Metrik für die L Überlebenden aus jedem Zustand wird aktualisiert und erfordert damit L Additionen der zuvor angesammelten Metriken zur Inkrementalmetrik. Für den Code mit R=1/2 ist daher auf jeder Kreuzgitterebene die Durchführung von insgesamt 2M+1L+4 Additionen und 8 Multiplikationen erforderlich.
  • Zusätzlich zu den obigen Metrikberechnungen müssen für jeden Zustand die L besten Kandidaten aus den 2L ankommenden Kandidaten ausgewählt werden. Dies erfordert genau L paarweise Metrikvergleiche, da die 2L Kandidaten sich in zwei geordneten Listen mit der Größe L befinden. Als Beispiel gibt es für L=4 zwei geordnete Listen mit Metriken von, zum Beispiel, a&sub1;> b&sub1;> c&sub1;> d&sub1; und a&sub2;> b&sub2;> c&sub2;> d&sub2;. a&sub1; und a&sub2; werden zuerst verglichen und wenn a&sub1;> a&sub2;(a&sub2;< a&sub1;), dann wird der Kandidat mit der Metrik a&sub1;(a&sub2;) als der beste erklärt. Am nächsten zu vergleichen sind b&sub1; und a&sub2;, dann b&sub2; und a&sub1; usw. Es läßt sich leicht überprüfen, daß in diesem Fall genau vier paarweise Vergleiche benötigt werden.
  • Serieller verallgemeinerter Viterbi-Algorithmus
  • Mit der seriellen Version des verallgemeinerten Viterbi-Algorithmus werden die L wahrscheinlichsten Kandidaten einzeln berechnet, beginnend mit dem wahrscheinlichsten Weg. Während des ersten Durchlaufs wird die normale Viterbi-Suche durchgeführt, um den wahrscheinlichsten Weg zu identifizieren. In diesem Vorgang wird die Hauptzustandsgruppierung aufgebaut. Am Ende dieses ersten Durchlaufs ist die beste Weise, jeden Zustand auf jeder Ebene aus einem bekannten Startzustand heraus zu erreichen gefunden worden. Angenommen der wahrscheinlichste Kandidat ist der Weg mit nur Nullen. Dieser wird in dem in der Fig. 7 dargestellten Teil- Kreuzgitter als durchgezogener Weg dargestellt. Es sind noch die übrigen L-1 wahrscheinlichsten Wege zu finden.
  • Um den global zweitbesten Weg unter allen möglichen Kandidaten, die mit dem besten Weg mit nur Nullen zur Zeit j zusammenlaufen, zu finden, wird der mit der höchsten Metrik ausgewählt. Dies findet sequentiell statt, beginnend bei j=0, und fortschreitend zu j=N. Unter Isolierung des Zustandes mit nur Nullen zur Zeit j, um einen solchen Kandidaten zu finden&sub1; wird der zweitbeste Kandidat, der zur Zeit j-1 überlebt, zur Zeit j erweitert. Dieser Kandidat wird durch die gepunktete Linie in der Fig. 7 dargestellt.
  • Als zweites findet man den besten unter allen möglichen Kandidaten, die mit dem Weg mit nur Nullen zur Zeit j zum ersten Mal wieder zusammenlaufen (zur Zeit j-1 noch nicht mit dem Weg mit nur Nullen zusammengelaufen) Dieser Kandidat wird durch die strich-punktierte Linie in Fig. 7 dargestellt. Man bemerke, daß dieser Kandidat ein Wettbewerber für die Stelle des global Besten war und zugunsten des Weges mit nur Nullen zurückgewiesen wurde. Seine Vorgeschichte ist daher schon während des ersten Durchlaufs (der normalen Viterbi-Suche) aufgezeichnet worden.
  • Der beste der beiden Kandidaten verbleibt dann im Wettbewerb für die Stelle des Zweitbesten zur Zeit j. Der am Ende überlebende Kandidat ist der global Zweitbeste. Während dieses Suchvorgangs muß nur der Zeitaugenblick aufgezeichnet werden, zu dem der zweitbeste Weg wieder mit dem besten zusammenläuft. Dieser wird in einer Hilfsgruppierung der Größe 1 x 1 gespeichert. Dies ist mit dem parallelen Algorithmus in Vergleich zu setzen, der eine Hilfsgruppierung mit der Größe 2M x 1 benötigt. Auf Grundlage der Hauptzustandsgruppierung, die während der normalen Viterbi-Suche angefüllt wird, und der Hilfsgruppierungsinformationen kann der zweitbeste Weg wie bei dem parallelen Algorithmus erläutert gefunden werden.
  • Es ist veranschaulichend, noch ein Beispiel durchzuarbeiten, nämlich das des Suchens nach dem Drittbesten, wonach die Methodik verallgemeinert werden wird. Die Figur 8 zeigt die global besten und zweitbesten Wege. Der zweitbeste Weg läuft nach einer Anfangsabweichung zu j=d&sub1; zum ersten Mal zu j=d&sub2; wieder mit dem Besten zusammen. Die zu jedem Zeitaugenblick j entlang dem besten Weg durchgeführten Grundberechnungen sind wie folgt: der zu j-1 als global Drittbester überlebende beste Kandidat wird zu Zeit j verlängert. Als zweites sucht man nach dem Besten unter allen im Wettbewerb für die Stelle als global Drittbester stehenden und wieder mit dem global besten Weg zu j zusammenlaufenden (nicht schon zur Zeit j-1 zusammengelaufenen) Wegen.
  • Die beiden Kandidaten werden verglichen und der Beste der beiden überlebt für eine weitere Verlängerung. Es ist zu bemerken, daß für die Ereignisse in der Figur 8 der zu j=d&sub2;-1 als Drittbester überlebender Kandidat in Wirklichkeit der zweitbeste Kandidat in j=d&sub2;-1 ist. Dies ist deshalb, weil dieser (drittbeste) Kandidat nicht ein Teil des global zweitbesten Kandidaten ist. Dieser Weg wird bis j=d&sub2; verlängert und ist einer der zwei Kandidaten, die im Wettbewerb für die Stelle als Drittbester zu j=d&sub2; stehen. Der andere Wettbewerber ist der beste unter allen in j=d&sub2; wieder zusammenlaufenden Kandidaten ausschließlich des global zweitbesten Kandidatens. So ist dieser Wettbewerber der Zweitbeste nach dem global zweitbesten Weg zwischen j=0 bis j=d&sub2;. Da nunmehr bekannt ist, wie der zweitbeste nach einem Weg berechnet wird, kann dies durchgeführt werden. Der beste der beiden überlebt für eine weitere Verlängerung. Es sollte nunmehr klar sein, daß eine rekursive Realisierung hervortritt, bei der die Aufgabe des Suchens nach dem l-t besten Kandidaten in die Aufgabe des Suchens nach einem k-t besten Kandidaten zwischen zwei Verbindungsknoten zerlegt wird, wobei k< l.
  • Zur Verallgemeinerung zur Suche nach dem l-t besten Kandidaten zu jedem Augenblick j entlang dem besten Weg wird der beste verfügbare Kandidat für diese Stelle von j-1 verlängert. Auch wird der beste verfügbare Kandidat für diese Stelle, der mit dem besten Weg im Augenblick j (und nicht zu j-1) zusammenläuf t, gesucht. Der beste der beiden Wettbewerber überlebt für eine weitere Verlängerung. Während diese Beschreibung auf einen Code mit R = 1/n zutrifft, besteht für R = k/n die einzige erforderliche Abänderung darin, daß die Hilfsgruppierung auch Informationen über den Zustand enthält, aus dem der zweitbeste Weg in den besten Weg einlief.
  • So läßt sich der allgemeine Ansatz des seriellen GVA in folgenden Schritten zusammenfassen:
  • 1. Initialisieren l=0.
  • 2. (a) Erstellen einer Zustandsfolgegruppierung, die die Zustandsfolge der bereits gefundenen l besten Überlebenden enthält (Gruppierung mit Größe Lx(N+M)).
  • (b) Bilden einer Zustandszählungsgruppierung mit Größe 2Mx(N+M). Das ij-te Element dieser Gruppierung Cij ist die Anzahl von Wegen unter den global l besten Kandidaten, die den Zustand i zur Zeit j durchlaufen. (Wenn l=0, so sind sowohl die Zustandsfolge als auch die Zustandszählungsgruppierungen leer).
  • 3. Erhöhen l um 1.
  • 4. Durchführen des parallelen GVA bei Rückbehaltung der Cij+1 Wege mit den höchsten Metriken in den Zustand i zur Zeiteinheit j. Am Ende, d.h. wenn j=N+M, ist der (1+1)te beste Kandidat zusammen mit allen l vorhergefundenen global besten Kandidaten gefunden.
  • 5. Fortfahren mit Schritt 3 bis l=L.
  • Es wird darauf hingewiesen, daß dieser serielle GVA ungleich dem parallelen Algorithmus nicht erfordert, daß die L besten Wege in jeden Zustand zu jeder Zeiteinheit j zu finden seien.
  • Anwendun des GVA auf Fehlersicheruxi Die obige Beschreibung betrifft Algorithmen, die die L besten Wege durch ein abgeschlossenes Kreuzgitter kennzeichnen. Diese Algorithmen werden nunmehr auf die Durchführung von Fehlererkennung mit Faltungscodes mit Rahmenbildung angewandt.
  • Fehlererkennung kann mit dem GVA durch Vergleichen des Unterschiedes der Metriken der wahrscheinlichsten und der zweitwahrscheinlichsten Wege und durch Erklären des wahrscheinlichsten Weges als unzuverlässig, wenn der Unterschied weniger als ein voreingestellter Schwellwert T beträgt, durchgeführt werden.
  • Die Metrik kann optimal sein wie bei Decodierung mit größter Wahrscheinlichkeit oder kann eine andere "sinnvoele" Metrik sein, die bei verschiedenen technischen Lösungen für einen suboptimalen ad-hoc- Decodierer erscheinen könnte. Darüber hinaus ist die Wahl einer Metrik für den GVA oder seine Anwendung auf Fehlererkennung nicht kritisch. Der dem größten angesammelten Metrikwert entsprechende Weg ist (bei einer solchen sinnvollen Metrikwahl) der wahrscheinlichste Weg, der auch als der beste Weg bezeichnet wird. Der Weg mit der zweitgrößten Metrik wird der zweitbeste Weg genannt. Gleichermaßen werden Wege mit fortschreitend kleineren Metriken als drittbeste, viertbeste usw. bezeichnet.
  • So ist "wahrscheinlichster" nicht nur als am wahrscheinlichsten (größte Wahrscheinlichkeit) in einem probabilistischen Sinn, sondern auch als der ein Maximum in irgendeinem vernünftigen "Güte-"Sinn aufweisende (Weg, Kandidat usw.) zu verstehen.
  • Wie aus dem Stand der Technik bekannt ist kann bei Erkennung eines Fehlers in einem Rahmen mit Sprachinformationen eine Löschung erklärt werden und der gelöschte Rahmen wird auf Grundlage von Rahmen-Rahmen- Sprachredundanz neu geschätzt. Dies läßt sich wie von D.J. Goodman in "Waveform substitution techniques for recovering missing speech segments in packet voice communications" (Wellenformsubstitutionsverfahren zur Wiedergewinnung fehlender Sprachsegmente in Paketsprachkommunikationen), IEEE Trans. Acoust. Speech, Signal Processing, Band ASSP-34, Seiten 1440-1448, Dezember 1986, beschrieben, auf der Wellenformebene durchführen. Als Alternative kann die Neuschätzung auf Bitstromebene unter Verwendung von beispielsweise quantisierten Informationen über Spektralparameter der Sprache wie die auf Energie in Freguenzbändern bezogenen, von denen erwartet wird, daß sie ein Verhältnis von Rahmen zu Rahmen aufrechterhalten, durchgeführt werden.
  • Die Markierung einer Empfangsfolge (Rahmens) als unzuverlässig kann zur Folge haben, daß die Empfangsfolge als Löschung behandelt wird. Im Fall einer solchen Löschung werden die L besten Kandidaten vom GVA freigegeben und zur Auswahl des Besten aus den L Kandidaten wird Rahmen-Rahmen-Redundanz benutzt. Dies kann durchgeführt werden, indem die Sprachredundanz zur Erzeugung einer Erstschätzung des gelöschten Rahmens benutzt wird. Diese wird dann als Bezugswert für die Auswahl des besten auszugebenden der L Kandidaten unter Verwendung einer für den gegebenen Sprachcodierer zutreffenden Auswahlregel benutzt.
  • Beispielsweise kann in sogenannten Teilbandcodierern mit dynamischer Bitzuweisung (D-SBC), die in Cox et al. "New Directions in Sub-Band Coding" (Neue Richtungen in der Teilbandcodierung) IEEE Journal on Selected Areas in Communications, Band SAC-6, Nr. 2, Seiten 391-409; Cox et al., "A Sub-Band Coder Designed for Combined Source and Channel Coding" (Ein für kombinierte Quellen- und Kanalcodierung ausgelegter Teilbandcodierer) proc. IEEE Conf. Acoust., Speech, Signal Processing, 1988, Seiten 235-238 und Hagenauer et al., "Variable-Rate Sub-Band Speech Coding and Matched Channel Coding for Mobile Radio Channels" (Teilbandsprachcodierung mit veränderlicher Rate und angepaßter Kanalcodierung für Mobilfunkkanäle) Proc. 38th IEEE Vehicular Technology Conf. Seiten 139-146 beschrieben sind, die Rahmen-Rahmen-Redundanz zur Neuschätzung eines aktuellen Rahmens auf der Basis des vorhergegangenen Rahmens benutzt werden. Insbesondere kann, wenn ein D-SBC-codierter Rahmen als zu löschen bestimmt wird, derjenige der vom erfindungsgemäßen GVA verfügbaren L Kandidaten, der der Folge, die dem gelöschten Rahmen unmittelbar vorangeht, am nächsten liegt, als Neuschätzung der Löschung benutzt werden. Diese "Nähe" kann beispielsweise auf einer hohen Korrelation für einige Bitstellen in einem Rahmen-Rahmen- Vergleich basieren.
  • Fehlererkennung kann ebenfalls ohne explizite Auswertung des zweitwahrscheinlichsten Weges durchgeführt werden, wenn nur Information darüber, ob der wahrscheinlichste Kandidat zuverlässig oder unzuverlässig ist, gewünscht werden. Dieses Ziel kann durch leichte Abänderung des gewöhnlichen Viterbi-Algorithmus erreicht werden. Diese implizite Fehlererkennung reicht zur Einleitung der Neuschätzung für Sprachsignale wie oben beschrieben aus.
  • In einer seriellen Version schreitet man auf dieselbe Weise fort, als wenn man den Viterbi-Algorithmus benutzt, und kennzeichnet damit den besten Kandidaten. Der Vorgang schreitet dann sequentiell fort, beginnend mit dem bekannten Zustand, um herauszufinden, ob die zum ersten Mal mit dem besten Weg zu j, j = 1,2, ..., N wieder zusammenlaufende beste Alternative eine Metrik aufweist, die sich von der besten Metrik um weniger als ein festgelegter Schwellwert unterscheidet. Wenn in irgendeinem Stadium während der Suche ein solcher Kandidat gefunden wird, dann wird der beste Weg als unzuverlässig erklärt.
  • Abschliessend wird die oben eingeführte Anwendung der automatischen Wiederholung (ARQ) für den GVA jetzt ausführlicher besprochen. Es wird Bezug genommen auf die Figur 9, in der ein Fließdiagramm für ein typisches ARQ- System gezeigt wird.
  • Es ist zu sehen, daß eine Empfangssignalfolge aus dem Kanal in den Demodulator 910 eintritt, um die am Sender angelegte Modulation auf im wesentlichen die gleiche Weise wie in Fig. 1 dargestellt umzukehren. Die demodulierte Folge wird dann vom GVA-Decodierer wie von dem in Fig. 9 dargestellten Block 920 angedeutet verarbeitet. Der GVA-Decodierer kann ein beliebiger der mehreren oben beschriebenen Versionen sein, nur wird angenommen, daß der GVA die L besten in Frage kommenden Folgen liefert.
  • In typischen ARQ-Systemen erweist es sich als vorteilhaft, redundante Bit ebenfalls in die Quellenfolge einzuschliessen, die die Paritätsbit eines entsprechenden Blockcodes darstellen. So wird nach Decodierung vom GVA eine nachfolgende Blockdecodierung durchgeführt, wie vom Block 930 in der Fig. 9 angezeigt.
  • Wenn die Blockdecodierung ohne Fehleranzeige durchgeführt wird, d.h. die Paritätsbit sich als angemessen für die vom GVA verfügbar gemachte wahrscheinlichste Folge erweisen, dann wird angenommen, daß die blockdecodierte Version der vom GVA bereitgestellten wahrscheinlichsten Folge die gesandte Folge ist. Diese Folge wird wie vom Block 940 angezeigt zur Weiterverarbeitung durch die sie verwendete Anwendung, zum Beispiel Sprach- oder Datenverarbeitung, gesandt.
  • Wenn jedoch die vom Block 930 in der Fig. 9 dargestellte Blockfehlerdecodierung anzeigt, daß ein Fehler aufgetreten ist, dann wird zum GVA-Decodierer eine Anforderung nach der nächstwahrscheinlichsten Sendefolge gesandt. Diese zweitwahrscheinlichste Folge wird dann vom Blockdecodierer decodiert und, wenn sie fehlerfrei ist, als die von der Sendestelle herstammende Folge zur Verarbeitung gesandt. Wenn die vom GVA bereitgestellte zweitwahrscheinlichste Folge sich ebenfalls als fehlerhaft herausstellt, kann dann eine Anforderung nach der drittwahrscheinlichsten Folge usw. gestellt werden, bis sich ein fehlerfreier decodierter Block wie vom Block 940 in der Fig. 9 angezeigt sich als für die Ablieferung geeignet herausstellt.
  • Sollte keine vom GVA-Decodierer 920 decodierte Folge sich als fehlerfrei herausstellen, nachdem eine Anzahl L der wahrscheinlichsten Folgen untersucht worden ist, dann wird wie vom Entscheidungsblock 960 angezeigt eine Wiederholungsanforderung zur Sendestelle zurückgesandt. Es wird jedoch darauf hingewiesen, daß die Verfügbarkeit der wahrscheinlichsten in Frage kommenden Folgen für die Auswertung vom Blockdecodierer die Wahrscheinlichkeit sehr erhöht, daß die richtige Folge identifiziert wird. Dies hat die günstige Wirkung, die Anzahl benötigter Wiederholungsanforderungen sehr zu reduzieren.
  • Die obige Beschreibung fand unter Benutzung einzelner Verfahren statt, die dem Fachmann gut bekannt sind. Die Verfahren und Algorithmen sind ohne Bezugnahme auf einen bestimmten Prozessor bzw. ein bestimmtes Steuerprogramm beschrieben worden. Stattdessen sind die Einzelschritte so beschrieben worden, daß der Fachmann die Prozessoren, Modulatoren, Programmiersprachen und dergleichen, die für bestimmte Anwendungen verfügbar oder bevorzugt sein können, leicht anpassen kann.
  • Während in der obigen Beschreibung die Decodierung von Faltungscodierung als Beispiel einer möglichen Anwendung des GVA der vorliegenden Erfindung benutzt worden ist, ist zu betonen, daß die Verfahren über Faltungscodes hinausschreitende Anwendung finden. Insbesondere kann die Verarbeitung von Signalfolgen, die auf andere Weisen codiert worden sind, z.B. Blockcodes, oder verschiedenen Modulationsverfahren unterworfen worden sind (z.B. kreuzgittercodierte Modulation oder phasenkonstante Modulation oder in Kanäle mit der klassischen Frequenz-, Amplituden-, Phasen- oder sonstiger Verarbeitung einschließlich von Entzerrern zur Korrektur von Kanalwirkungen eingeordnet worden sind) unter Anwendung der vorliegenden Erfindung erreicht werden. Eine vereinheitlichende Eigenschaft aller dieser und sonstiger Anwendungen ist die Anwendung einer Kreuzgitterstruktur zur Beschreibung der Zustände der Verarbeitung zu jedem der entsprechenden Zeitpunkte während der Decodierung. Eine weitere Besprechung von kreuzgitterstrukturierten Zusammenhängen, bei denen sich die gegenwärtige Erfindung als nützlich erweisen wird, findet sich beispielsweise in dem Hagenauer und Sundberg am 21 Februar 1989 erteilten US-Patent Nr. 4,807,253.
  • In der obigen Beschreibung der vorliegenden Erfindung ist die Verarbeitung von Sprachsignalen als eine typische Anwendung benutzt worden, besonders wenn Rahmen-Rahmen-Redundanz zum Vorteil benutzt werden kann. Es ist jedoch zu verstehen, daß die vorliegende Erfindung in zahlreichen anderen Zusammenhängen einschließlich vieler, bei denen eine solche Rahmen-Rahmen-Redundanz erwartet werden kann, angewandt werden wird. So enthalten bekannterweise viele codierte Informationen, die visuelle Bilder kennzeichnen, bedeutsame Redundanz. Ebenso enthalten auch andere Tonsignale als Sprache und auch Faksimilesignale oft nützliche Rahmen-Rahmen-Redundanz. In jedem Fall kann die redundante Information auf eine ebenbürtige Weise zu der oben für die Verarbeitung codierter Sprachsignale beschriebene benutzt werden.
  • Typisch für bildbasierende Informationen, die sich für die Verarbeitung nach der vorliegenden Erfindung eignen, sind Informationen, die durch in der am 5. Mai 1989 von J.D. Johnston und R.J. Safranek eingereichten US-Patentanmeldung Serien-Nr. 350,435 mit dem Titel "Perceptually-Tuned Sub-Band Image Coder" (Perzeptorisch abgestimmter Teilband-Bildcodierer) (betreffende europäische Anmeldung: EP-A 0396368) beschriebene Codierverfahren dargestellt werden. Darüber hinaus kann Codierung der in der am 11. November 1988 von T. Kim eingereichten US-Patentanmeldung Serien-Nr. 272,860 mit dem Titel "Data Coding for Image Transmission Using Vector Quantization" (Datencodierung für Bildübertragung mit Vektorquantisierung) (betreffende europäische Anmeldung: EP-A 0369689) beschriebenen Art vorteilhafterweise entsprechend der vorliegenden Erfindung verarbeitet werden. Jede dieser letzteren Patentanmeldungen ist dem Rechtsnachfolger der vorliegenden Anmeldung zugewiesen.

Claims (21)

  1. Verfahren zur Verarbeitung eines von einem Sender über einen Übertragungskanal empfangenen Signals mit einer codierten Informationsfolge mit folgenden Schritten:
    Bestimmen des Wertes für ein Maß, das die relative Güte von jeder der L besten in Frage kommenden Folgen, die als die tatsächlich übertragene Folge auszuwählen ist, anzeigt, wobei L größer als 1 ist,
    wobei die besagten in Frage kommenden Folgen jeweils Wegen durch eine Kreuzgitterstruktur mit einer Mehrzahl von Stuf en und einer Mehrzahl von Zuständen auf jeder Stufe entsprechen,
    wobei jeder auf jeder Stufe in jeden Zustand eintretende Weg ein zugehöriges Teilmaß aufweist,
    wobei das besagte Bestimmen das Finden der L-Wege durch das besagte Kreuzgitter umfaßt, die die höchste Summe von Teilmaßen aufweisen,
    wobei das besagte Bestimmen weiterhin das Erkennen auf jeder Stufe des Kreuzgitters der in jeden Zustand eintretenden L Wege umfaßt, die das höchste Summenmaß auf dieser Stufe aufweisen,
    Bewahren solcher erkannter Wege als Teilwege, die zu den L Wegen durch das Kreuzgitter mit der größten Summe von Teilmaßen führen, und
    Wiedergewinnen der besagten codierten Informationsfolge als Funktion der erkannten Wege.
  2. 2. Verfahren nach Anspruch 1 mit Kennzeichnen der in Frage kommenden Folge mit dem höchsten Wert für das besagte Maß als unzuverlässig, jedesmal dann, wenn der besagte höchste Wert sich von dem Wert für das besagte Maß für eine andere der besagten L Folgen um weniger als eine vorbestimmte Menge unterscheidet.
  3. 3. Verfahren nach Anspruch 2 mit Annahme der in Frage kommenden Folge mit dem höchsten Wert für das besagte Maß als die übertragene Folge, wenn sie nicht als unzuverlässig gekennzeichnet ist, und Neuschätzen einer übertragenen Folge, wenn die in Frage kommende Folge mit dem höchsten Wert für das besagte Maß als unzuverlässig gekennzeichnet ist.
  4. 4. Verfahren nach Anspruch 3, wobei das besagte Neuschätzen unter Verwendung von redundanten Informationen in den besagten Folgen ausgeführt wird.
  5. 5. Verfahren nach Anspruch 4, wobei das besagte Neuschätzen unter Verwendung von Informationen über eine oder mehrere vorher empfangene Folgen ausgeführt wird.
  6. 6. Verfahren nach Anspruch 4, wobei die besagten codierten Informationen Sprachinformationen enthalten.
  7. 7. Verfahren nach Anspruch 4, wobei die besagten codierten Informationen Bildinformationen enthalten.
  8. 8. Verfahren nach Anspruch 3, wobei die besagten Informationsfolgen in mindestens einem äußeren Code codiert sind, um redundante Informationen einzuführen,
    die besagte Verarbeitung den Schritt des Decodierens des besagten äußeren Codes umfaßt, und
    besagtes Neuschätzen durch Auswählen von derjenigen der besagten L in Frage kommenden Folgen als die Sendefolge, die am nächsten eine fehlerfreie Decodierung des besagten äußeren Codes widerspiegelt, ausgeführt wird.
  9. 9. Verfahren nach Anspruch 8, wobei der besagte äußere Code ein Blockcode ist und
    die besagte Neuschätzung weiterhin durch Auswählen derjenigen der besagten L in Frage kommenden Folgen, die bei Decodierung des besagten äußeren Codes eine folgerichtige Menge von Paritätssignalen ergibt, ausgeführt wird.
  10. 10. Verfahren nach Anspruch 1, wobei der besagte Schritt des Bestimmens das Finden der L Kandidaten mit den L höchsten Wahrscheinlichkeiten, die vom besagten Sender übertragene Folge zu sein, umfaßt.
  11. 11. Verfahren nach Anspruch 4, wobei die besagten codierten Informationen von einem Faltungscodierer codiert worden sind und Berechnen durch Vergleichen der Maße für jeden der besagten L Wege in dem besagten dem besagten Faltungscode kennzeichnenden Kreuzgitter ausgeführt wird.
  12. 12. Verfahren nach Anspruch 11, wobei das besagte Bestimmen das Auswählen der in jeden Zustand für jede Stufe des besagten Kreuzgitters eintretenden L Wege mit dem höchsten Teilmaß umfaßt.
  13. 13. Verfahren nach Anspruch 1 mit Anfordern einer Wiederholung einer übertragenen Folge, wenn sich eine verarbeitete Folge als unzuverlässig herausgestellt hat.
  14. 14. Verfahren nach Anspruch 1 mit wiederholter Auswertung der besagten L Wege mit den höchsten Werten für das besagte Maß.
  15. 15. Verfahren nach Anspruch 14, wobei der i-te beste Weg, i=2,...,L, durch Auswählen für alle in Frage kommenden Wege auf Stufe j und alle j=0 bis j=N+M des in Frage kommenden Weges bestimmt wird, der zuerst auf Stufe j mit dem Weg mit dem höchsten Wert für das besagte Maß zusammenläuft und das i-größte Teilmaß der in die Stufe j eintretenden Wege aufweist.
  16. 16. Verfahren nach Anspruch 14, wobei der besagte Schritt des wiederholten Auswertens folgendes umfaßt:
    Bestimmen des Weges mit dem höchsten Maß und
    Bestimmen der Kreuzgitterstufe für jedes l = 2,3,...L, auf der der l-te beste Weg wieder mit dem besten Weg zusammenläuft.
  17. 17. Verfahren zum Verarbeiten von Empfangssignalen mit codierten Informationsfolgen von einem Sender über einen Übertragungskanal, wobei die Empfangsfolgen entsprechenden Wegen durch eine Kreuzgitterstruktur mit einer Mehrzahl von Stufen und einer Mehrzahl von Zuständen auf jeder Stufe entsprechen, mit folgenden Schritten:
    Bestimmen des Wertes für ein Maß, das die relative Güte der besten als die tatsächliche übertragende Folge auszuwählenden in Frage kommenden Folge anzeigt,
    bei L-1 nachfolgenden Auswertungen des besagten Maßes für das gesamte Kreuzgitter durchlauf ende Wege im Zusammenhang mit den besagten vom besagten Sender empfangenen Folgen, Bestimmen des Maßwertes für die L-1 nächstbesten in Frage kommenden Folgen,
    wobei die besagten nachfolgenden Auswertungen Auswertungsmaße für Teilwege umfassen, die zum ersten Mal auf einer Stufe j des besagten Kreuzgitters mit dem Weg für die beste in Frage kommende Folge zusammenlaufen, nachdem sie vom besagten Weg für die beste in Frage kommende Folge abgewichen sind, und Bewahren der Teilwege mit dem besten Maß auf Stufe j und Verwerfen aller anderen,
    auf der Endstufe, Auswählen des Weges mit dem zweitbesten Maß und Wiedergewinnen der besagten codierten Informationsfolge als Funktion der L besten in Frage kommenden Folgen.
  18. 18. Verfahren nach Anspruch 17 mit Erzeugen einer Anzeige, daß die besagte beste in Frage kommende Folge unzuverlässig ist, jedesmal dann, wenn sich das besagte Maß für den besagten besten Weg um weniger als eine vorbestimmte Menge von einem beliebigen der besagten nächstbesten in Frage kommenden Folgen unterscheidet.
  19. 19. Verfahren nach Anspruch 18 mit Anfordern, daß die übertragene Folge wiederholt werden soll.
  20. 20. Verfahren nach Anspruch 1, 14 oder 19, wobei L=2.
  21. 21. Verfahren nach Anspruch 19 mit Neuschätzen der übertragenen Folge, jedesmal dann, wenn die beste in Frage kommende Folge als unzuverlässig angezeigt ist.
DE69024282T 1989-08-18 1990-08-09 Verallgemeinernder Viterbi-Dekodier-Algorithmus Expired - Fee Related DE69024282T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US39593089A 1989-08-18 1989-08-18

Publications (2)

Publication Number Publication Date
DE69024282D1 DE69024282D1 (de) 1996-02-01
DE69024282T2 true DE69024282T2 (de) 1996-05-15

Family

ID=23565129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69024282T Expired - Fee Related DE69024282T2 (de) 1989-08-18 1990-08-09 Verallgemeinernder Viterbi-Dekodier-Algorithmus

Country Status (6)

Country Link
EP (1) EP0413505B1 (de)
JP (1) JP2595372B2 (de)
KR (1) KR100203722B1 (de)
CA (1) CA2020899C (de)
DE (1) DE69024282T2 (de)
FI (1) FI98422C (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416804A (en) * 1991-08-21 1995-05-16 U.S. Philips Corporation Digital signal decoder using concatenated codes
DE4137609C2 (de) 1991-11-15 1998-04-16 Bosch Gmbh Robert Kombiniertes Sprach- und Kanaldecodierverfahren
US5537444A (en) * 1993-01-14 1996-07-16 At&T Corp. Extended list output and soft symbol output viterbi algorithms
US5424881A (en) 1993-02-01 1995-06-13 Cirrus Logic, Inc. Synchronous read channel
US20010049868A1 (en) 2000-01-25 2001-12-13 Batesville Services, Inc. Lightweight casket
US5685937A (en) * 1993-09-22 1997-11-11 Batesville Casket Company, Inc. Method for constructing a casket
US5770291A (en) * 1993-09-22 1998-06-23 Batesville Casket Company, Inc. Blank for a lightweight casket
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US5550870A (en) * 1994-03-02 1996-08-27 Lucent Technologies Inc. Viterbi processor
JP3090842B2 (ja) * 1994-04-28 2000-09-25 沖電気工業株式会社 ビタビ復号法に適応した送信装置
JP3394119B2 (ja) * 1995-10-17 2003-04-07 沖電気工業株式会社 誤り訂正符号化装置、誤り訂正復号化装置及び通信システム
US5771549A (en) * 1996-06-24 1998-06-30 Batesville Casket Company, Inc. Casket shell structures
US5917837A (en) * 1996-09-11 1999-06-29 Qualcomm, Incorporated Method and apparatus for performing decoding of codes with the use of side information associated with the encoded data
JP3154679B2 (ja) * 1996-10-18 2001-04-09 三菱電機株式会社 連接符号の誤り訂正復号装置及び復号方法
US5751725A (en) * 1996-10-18 1998-05-12 Qualcomm Incorporated Method and apparatus for determining the rate of received data in a variable rate communication system
US6108372A (en) * 1996-10-30 2000-08-22 Qualcomm Inc. Method and apparatus for decoding variable rate data using hypothesis testing to determine data rate
US5872775A (en) * 1996-10-30 1999-02-16 Qualcomm Incorporated Method and apparatus for performing rate determination
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
US5974640A (en) * 1998-02-04 1999-11-02 Batesville Casket Company Lightweight burial casket
JP3239870B2 (ja) * 1998-12-28 2001-12-17 日本電気株式会社 データ誤り訂正システム
KR100321978B1 (ko) * 1998-12-31 2002-07-02 윤종용 통신시스템에서반복복호장치및방법
KR100359035B1 (ko) * 2000-04-04 2002-10-30 정계임 생약재를 이용한 한방 기능성 빵의 제조방법
US7159164B1 (en) 2000-06-05 2007-01-02 Qualcomm Incorporated Method and apparatus for recovery of particular bits of a frame
EP1168705A1 (de) * 2000-06-30 2002-01-02 Koninklijke Philips Electronics N.V. Vorrichtung und verfahren zum Erkennung von Sprachrahmen schlechter Qualität
KR20020008727A (ko) * 2000-07-25 2002-01-31 유종근 호박과 생약재료를 이용한 한방 건강음료 호박대보(大補)탕 및 그의 제조방법
US7017104B1 (en) 2001-08-24 2006-03-21 Mediatek Inc. Method and system for decoding block codes by calculating a path metric according to a decision feedback sequence estimation algorithm
US7298798B1 (en) 2001-08-24 2007-11-20 Mediatek, Inc. Method and system for decoding block codes
KR20030047627A (ko) * 2001-12-10 2003-06-18 서봉석 산수유(Comi Fructus)를 주제로한 건강식품
US7162675B2 (en) * 2002-04-05 2007-01-09 Lucent Technologies Inc. Error detection methods in wireless communication systems
KR100441666B1 (ko) * 2002-05-14 2004-07-27 김윤선 사물가루가 첨가된 절편 및 제조방법
KR20040007357A (ko) * 2003-11-28 2004-01-24 장근홍 한약제를 이용한 기능성 찐빵 제조방법 및 그 찐빵
US7877674B2 (en) * 2006-07-25 2011-01-25 Broadcom Corporation Method and system for redundancy-based decoding of voice content in a wireless LAN system
CN101335000B (zh) 2008-03-26 2010-04-21 华为技术有限公司 编码的方法及装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2088676B (en) * 1980-11-14 1985-09-04 Plessey Co Ltd Transmission systems
EP0054583B1 (de) * 1980-12-23 1984-03-07 International Business Machines Corporation Verfahren zur Übertragung binärer Datenfolgen und Einrichtung zur schnellen Ermittlung des Endes einer übertragenen binären Datenfolge
US4527279A (en) * 1982-07-12 1985-07-02 Kokusai Denshin Denwa Co. Synchronization circuit for a Viterbi decoder
US4644564A (en) * 1983-08-05 1987-02-17 International Business Machines Corporation Decoding the output signal of a partial-response class-IV communication or recording device channel
JPS6041832A (ja) * 1983-08-17 1985-03-05 Japan Radio Co Ltd Arq方式
US4545054A (en) * 1983-09-09 1985-10-01 Harris Corporation Diode-configured Viterbi algorithm error correcting decoder for convolutional codes
JPS6081925A (ja) * 1983-10-12 1985-05-10 Nec Corp 誤り訂正装置
US4677624A (en) * 1985-03-01 1987-06-30 Paradyne Corporation Self-synchronizing de-interleaver for viterbi decoder used in wireline modems
US4677626A (en) * 1985-03-01 1987-06-30 Paradyne Corporation Self-synchronizing interleaver for trellis encoder used in wireline modems
US4641327A (en) * 1985-07-09 1987-02-03 Codex Corporation Frame synchronization in trellis-coded communication systems
US4660214A (en) * 1985-08-01 1987-04-21 Infinet, Inc. QANI Trellis-coded signal structure
FR2585906B1 (fr) * 1985-08-02 1987-09-25 Battail Gerard Procede de decodage d'un code convolutif et decodeur correspondant
US4730322A (en) * 1985-09-27 1988-03-08 California Institute Of Technology Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network
DE3600905A1 (de) * 1986-01-15 1987-07-16 Ant Nachrichtentech Verfahren zum dekodieren von binaersignalen sowie viterbi-dekoder und anwendungen
JPS62233933A (ja) * 1986-04-03 1987-10-14 Toshiba Corp ヴイタビ復号法
US4748626A (en) * 1987-01-28 1988-05-31 Racal Data Communications Inc. Viterbi decoder with reduced number of data move operations
US4788694A (en) * 1987-02-20 1988-11-29 American Telephone And Telegraph Company, At&T Bell Laboratories Trellis coding with substrates
DE3721884A1 (de) * 1987-07-02 1989-01-12 Meyr Heinrich Prof Dr Verfahren zur ausfuehrung des viterbi-algorithmus mit hilfe parallelverarbeitender strukturen
JPH01300732A (ja) * 1988-05-30 1989-12-05 Toshiba Corp 再送要求方式
JPH0254639A (ja) * 1988-08-19 1990-02-23 Nec Corp 誤り訂正機能付データ変復調装置
JPH02211724A (ja) * 1989-02-10 1990-08-23 Matsushita Electric Ind Co Ltd データ伝送装置

Also Published As

Publication number Publication date
EP0413505A1 (de) 1991-02-20
KR100203722B1 (ko) 1999-06-15
CA2020899A1 (en) 1991-02-19
FI903874A0 (fi) 1990-08-03
EP0413505B1 (de) 1995-12-20
FI98422B (fi) 1997-02-28
CA2020899C (en) 1995-09-05
JP2595372B2 (ja) 1997-04-02
JPH0388517A (ja) 1991-04-12
FI98422C (fi) 1997-06-10
KR910005590A (ko) 1991-03-30
DE69024282D1 (de) 1996-02-01

Similar Documents

Publication Publication Date Title
DE69024282T2 (de) Verallgemeinernder Viterbi-Dekodier-Algorithmus
DE69532949T2 (de) Verfahren und gerät zur dekoderoptimierung
DE60307800T2 (de) Fehlererkennungsverfahren in drahtlosen Kommunikationssystemen
DE69815087T2 (de) Listenausgaben-viterbi-dekodierung mit crc aussenkode für mehrratensignal
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
EP0682415B1 (de) Codiereinrichtung für punktierten Faltungscode
DE69923970T2 (de) Kanaldecodiereinrichtung und Verfahren zum Kanaldecodieren
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE69634155T2 (de) Erfassung einer Konfidenz und eines Rahmen-Qualitäts-Signals in einem &#34;soft decision&#34;-Faltungs-Dekoder
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE69924752T2 (de) Systeme und methoden zum empfangen eines modulierten signals, welches kodierte und nicht kordierte bits enthält, durch mehrdurchgangsdemodulation
DE602004012417T2 (de) Dekodierungsvorrichtung und dekodierungsverfahren
DE60003071T2 (de) Verfahren zur dekodierung von mit einem entropie-code kodierten daten, entsprechende dekodierungsvorrichtung und übertragungssystem
DE69936316T2 (de) Faltungskodierungsverfahren und vorrichtung in einem digitalen system
EP1236281A1 (de) Turbo-code-decoder und turbo-code-decodierverfahren mit iterativer kanalparameterschätzung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE10310812A1 (de) Dekodiervorrichtung, Trellis-Prozessor und Verfahren
DE60308509T2 (de) Blinde transportformatdetektion für übertragungsverbindung
DE69908820T2 (de) Verfahren und system zur schnellen maximale-a-posteriori-dekodierung
DE69918912T2 (de) Verfahren und ausführung für verbesserte leistungsfähigkeiten in einem system welches faltungsdekodierung anwendet
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
EP1046254B1 (de) Verfahren und vorrichtung zur codierung und übertragung von informationen, unter verwendung von quellengesteuerter kanaldecodierung
EP1252716B1 (de) Verfahren und anordnung zur dekodierung von informationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee