DE19633353A1 - Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen - Google Patents

Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen

Info

Publication number
DE19633353A1
DE19633353A1 DE19633353A DE19633353A DE19633353A1 DE 19633353 A1 DE19633353 A1 DE 19633353A1 DE 19633353 A DE19633353 A DE 19633353A DE 19633353 A DE19633353 A DE 19633353A DE 19633353 A1 DE19633353 A1 DE 19633353A1
Authority
DE
Germany
Prior art keywords
binary
signal
decoding
processor
code
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.)
Withdrawn
Application number
DE19633353A
Other languages
English (en)
Inventor
Jia-Yin Wang
Mao-Chao Lin
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.)
Individual
Original Assignee
Individual
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
Priority to US08/516,217 priority Critical patent/US5703911A/en
Priority to GB9615671A priority patent/GB2315648A/en
Application filed by Individual filed Critical Individual
Priority to DE19633353A priority patent/DE19633353A1/de
Publication of DE19633353A1 publication Critical patent/DE19633353A1/de
Withdrawn 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • 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
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/186Phase-modulated carrier systems, i.e. using phase-shift keying in which the information is carried by both the individual signal points and the subset to which the individual signal points belong, e.g. coset coding or related schemes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

In einem digitalen Kommunikationssystem wird die Über­ tragung von Informationen durch Kanalrauschen oder andere Kanal­ defekte gestört, so daß wahrscheinlich Übertragungsfehler auftreten. In einem digitalen Kommunikationssystem, das hohe Zuverlässigkeit erfordert, wird normalerweise Kanalcodierung benötigt, um die Wahrscheinlichkeit von Übertragungsfehlern zu reduzieren. In einem Kanalcodierungsentwurf wird die digi­ talisierte Information in entsprechende Codewörter (oder Codepfade) übertragen (mapped). Der Satz aller Codewörter wird Code genannt. Die Entfernungseigenschaft unter den Code­ wörtern kann zur Korrektur von Übertragungsfehlern verwendet werden. Auf diese Weise kann die Zuverlässigkeit der Übertra­ gung verbessert werden. Die Übertragung zwischen dem Informa­ tionssatz und dem Satz der Codewörter wird "Codierung" oder "Verschlüsselung" genannt. Wenn die Symbole in jedem Codewort binäre Symbole sind, ist die Kanalcodierung eine binäre Co­ dierung. Manchmal wird die Übertragung auch als "Code" be­ zeichnet. Das Verfahren der Wiedergewinnung der Informationen aus den empfangenen Symbolen, die möglicherweise durch Fehler verfälscht sind, wird "Decodierung" genannt.
Der binäre Matrixcode ist eine häufig verwendete Ka­ nalcodiertechnik. Für einen binären Matrixcode einer Rate k/n gilt zu jeder Zeiteinheit, daß die k-Nachrichtenbits dem Codierer zugeführt werden, der n Codebits als Ausgabe erzeugt. Die n Codebits hängen nicht nur von den geraden als Eingabe in den Codierer verwendeten k Nachrichtenbits ab, sondern auch von Nachrichtenbits, die zu irgendwelchen früheren Zeiteinheiten als Eingabe in den Codierer verwendet wurden. Ein binärer Matrixcode ist daher eine Art Codierung mit Gedächtnis. Die Codewörter eines binären Matrixcodes können durch Pfade in einer Matrix dargestellt werden. Die wichtig­ ste Klasse binärer Matrixcodes ist der binäre Faltungscode. Ein binärer Faltungscode ist ein linearer zeitunabhängiger bninärer Matrixcode. Binäre Faltungscodes wurden vor mehreren Jahrzehnten eingeführt und sind immer noch sehr populär.
In der Veröffentlichung von 1982 mit dem Titel "Channel coding with multilevel/phase signals" veröffentlicht in IEEE Trans. Inform. Theory., Band 28, Nr. 1, Seiten 55-67, schlägt G. Ungerboeck eine neue Idee der Kanalcodierung vor, in der der Matrixcodierungs- und der Modulationsentwurf integriert sind, die matrixcodierte Modulation (TCM) genannt werden. Es ist der Signalraum Ω zu berücksichtigen, der aus 2m Signal­ punkten {z₁, z₂, . . ., } besteht. Jeder Signalpunkt z in Ω ent­ spricht einem einzigen binären m-Tupel = (s₁, s₂, . . ., sm) für z ∈ {z₁, z₂, . . ., } und s₁, s₂, . . ., sm ∈ {0,1}. Wenn man einen TCM mit r In­ formationsbits pro Signalpunkt bereitstellen will, ist die Codierung der Ungerboeck'schen TCM so, wie in Fig. 1 gezeigt ist. Bei der t-ten Zeiteinheit wandelt der Codierer des Fal­ tungscodes C die r-bitige Nachricht (t) = (u₁(t), u₂(t), . . ., ur(t)) in eine m-bitige Ausgabe (t) = (s₁(t), s₂(t), . . ., sm(t)) um, die dann in einem Signalpunkt ω((t)) des Signalraums Ω übertragen wird.
Binäre Matrixcodes und matrixcodierte Modulation (TCM) können in einer Klasse von Codes einbezogen sein, die Ma­ trixcodes genannt werden. Die Leistungsfähigkeit eines Ma­ trixcodes wird hauptsächlich durch die drei Parameter ermit­ telt: Codierungsrate, Decodierungskomplexität und Wahrschein­ lichkeit von Decodierungsfehlern. Das Entwerfen eines Ma­ trixcodes mit hoher Codierungsrate, kleiner Decodierungskom­ plexität und geringer Wahrscheinlichkeit von Decodierungsfeh­ lern ist ständig ein Ziel im Bereich der digitalen Kommunika­ tion. Um für ein Matrixcodierungssystem eine geringe Wahr­ scheinlichkeit von Decodierungsfehlern zu erreichen, wird hauptsächlich eine große freie Entfernung benötigt.
1995 schlugen Lin und Wang in ihrer US-Patentanmeldung Nr. 08/398.797, eingereicht am 6. März 1995, eine Klasse bi­ nären Matrixcodes vor, bei denen die Codierung durch Einfüh­ rung eines mehrschichtigen Verzögerungsprozessors zwischen dem binären Faltungscodierer und dem Signalverfolger imple­ mentiert werden kann. Die Codierung ist in Fig. 2 gezeigt. Bei der t-ten Zeiteinheit wandelt der Codierer des Faltungs­ codes C die r-bitige Nachricht (t) in eine m-bitige Ausgabe (t) = (ν₁(t), ν₂(t) . . ., νm(t)) um, die dem mehrschichtigen Verzöge­ rungsprozessor zugeführt wird. Die Ausgabe des mehrschichti­ gen Verzögerungsprozessors ist (t) = (s₁(t), s₂(t), . . ., sm(t)), wobei
nichtnegative Kon­ stanten sind. Durch den Signalverfolger wird in dem Signal­ raum Ω ein Signalpunkt ω((t)) als Endausgabe erzielt. Die De­ codierung der Klasse von Matrixcodes, die dieses Matrixcodie­ rungsverfahren verwenden, kann durch Verwendung der Matrix von C implementiert werden.
Bei dieser Erfindung entwickeln die Erfinder eine neue Klasse von Matrixcodes, für welche die Codierung durch Modi­ fizieren des oben erwähnten Verfahrens mittels Einführung zu­ sätzlicher mehrschichtiger Verzögerungsprozessoren und zu­ sätzlicher Signalverfolger implementiert werden kann. Die Er­ finder zeigen, daß es Matrixcodes gibt, die in der Klasse große freie Entfernungen haben. Die Erfinder schlagen ein De­ codierungsverfahren für die neue Klasse von Matrixcodes vor. Das vorgeschlagene Decodierungsverfahren muß die Matrix von C und einige zusätzliche Prozessoren verwenden.
Zusammenfassung der Erfindung
Diese Erfindung stellt ein Decodierungsverfahren für den Matrixcode T dar, bei dem die Codierung implementiert werden kann, indem zuerst der Codierer eines binären Kanalcodes C(l) verwendet wird, um eine Nachricht (t) in (1) (t) zu übertragen, die durch L Prozessoren R(1), R(2), . . ., und R(L) sequentiell in (2) (t), (3) (t), . . ., und (L+1) (t) umgewandelt wird, wie in Fig. 3 ge­ zeigt ist, wobei (l) (t) ein binäres m-Tupel, 1 l L und (L+1) (t) die codierte Ausgabe ist.
Nun zu Fig. 4. Das Decodierungsverfahren besteht aus L+1 Prozessoren P(L), PL-1, . . ., P(1), P(0). Λ(l) sei eine nichtnegative Konstante, wobei 1 l L ist. Das empfangene Symbol, das die durch Rauschen verfälschte Form des Symbols (L+1) (t) ist, sei mit y(t) bezeichnet. Der Prozessor P(L) nimmt die empfangene Sequenz
{. . ., y(t-1), y(t), y(t+1), . . .}
als Eingabe an. Auf Grund von (L) (t-j), j λ, was bei einer früheren Decodierung zurückge­ wonnen worden ist, und
{y(t + j) : j Λ(l) + . . . + Λ(L)}
bestimmt der Prozeß P(L) den Meßwert
für jeden der 2m möglichen Werte von
(L) (t + Λ(1) + . . . + Λ(L-1)).
Dann wird der Satz
dem Prozessor P(L-1) zugeführt.
Für l = L - 1, L - 2, . . ., 1 nimmt der Prozessor P(l) die Meßwert­ folge
als Eingabe an. Auf Grund von (l) (t-j), j λ, was bei einer früheren Decodierung zurückge­ wonnen worden ist, und
bestimmt der Prozessor P(l) den Meßwert
für jeden der 2m mög­ lichen Werte von
(l) (t + Λ(l) + . . . + Λ(l-1).
Dann wird der Satz
dem Prozessor P(l-1) zugeführt.
Der Prozessor P(0) nimmt die Sequenz
als Eingabe an. Auf Grund der Meßwerte
für i 0 wendet der Prozessor P(0) den Viterbi-Algorithmus auf die Matrix von C(1) an, um das übertragene Symbol (t-λ+1) zurück­ zugewinnen, und wenn die Rundungslänge der Decodierung für C(1) λ ist, um das Symbol (1) (t-λ+1) zurückzugewinnen.
Der zurückgewonnene Wert von (l) (t - λ + 1) wird dann zu P(1) zurückgeführt. Für l = 1, 2, . . ., L - 1 leitet der Prozessor P(l) aus
{(l) (t - j) : j λ - 1} (l+1) (t - λ +1)
ab und führt dann (l+1) (t - λ + 1) zu P(l+1) zurück. Die binären m-Tupel
(1) (t - λ + 1), . . ., (L) (t - λ + 1)
werden bei den folgenden Decodierungs-Zeiteinheiten verwendet.
Der Matrixcode T, der durch das vorgeschlagene Decodie­ rungsverfahren decodiert werden kann, besitzt eine besondere Struktur und kann so konzipiert werden, daß er eine große freie Entfernung hat. Im folgenden zeigen wir ein spezifi­ scheres Konzept des Matrixcodes T, für welches die Codierung auf eine mehrschichtigere Art implementiert werden kann, die den Codierer eines einzelnen binären Faltungscodes verwendet, worauf L Sätze von mehrschichtigen Verzögerungsprozessoren und Signalverfolgern folgen, wobei L 2 ist. Das schematische Diagramm der mehrschichtigen Codierung ist in Fig. 5 darge­ stellt. Angenommen, daß der in dem Übertrager verwendete Si­ gnalraum Ω sei, der aus 2m Signalpunkten besteht. Es sei an­ gemerkt, daß der Signalraum Ω eine Signalkonstellation wie z. B. 8PSK, 16QAM oder eine Zusammenfassung binärer m-Tupel wie z. B. {0,1}², {0,1}n usw. sein kann. Um einen Matrixcode T mit einer Informationsrate von r Informationsbits pro Si­ gnalpunkt in Ω bereitzustellen, werden jederzeit r Infor­ mationsbits als Eingabe des Codierers eines binären Faltung­ scodes verwendet, dem L (L 2) Sätze von mehrschichtigen Verzögerungsprozessoren und Signalverfolgern folgen, um zu einem Ausgabe-Signalpunkt in Ω zu führen.
Die Eingabe-Informationsfolge sei
= {. . ., (t - 1), (t), (t + 1), . . .}.
wobei (t) = (u₁(t), u₂(t), . . ., ur(t)) ist. Diese Eingabefolge wird in den Codierer (in Fig. 5 mit E gekenn­ zeichnet) eines Faltungscodes C(1) eingegeben, um eine Ausga­ befolge (1) zu erzeugen, wobei
(1) = {. . ., (1) (t - 1), (1) (t), (1) (t + 1), . . .}
und
entspricht. Die Folge (1) wird dann von L Sätzen mehrschichtiger Verzögerungsprozessoren (in Fig. 5 als Q(1), Q(2), . . ., Q(L) gekennzeichnet) und Signalverfol­ ger (in Fig. 5 als S(1), S(2), . . ., S(L) gekennzeichnet) wiederholt verarbeitet, wobei die Eingabefolge von Q(l) als (l) für 1 l L gekennzeichnet ist. Alle Folgen (l) und (l) für 1 l L bestehen aus binärem m-Tupel als Elemente (oder Symbole). Für 1 l L schreibt man
(l) = {. . ., (l) (t - 1), (l) (t), (l) (t + 1), . . . },
(l) = {. . ., (l) (t - 1), (l) (t), (l) (t + 1), . . .},
wobei
ist. Die Ausgabefolge von S(L) wird als
(L+1) = {. . ., (L+1)(t-1), (L+1)(t), . . .}
gekennzeichnet. Es sei angemerkt, daß das Symbol (l)(t) für 1 l L ein binäres m-Tupel ist, während das Symbol
(L)((L)(t)) = (L+1)(t)
ist, das ein Signalpunkt in Ω ist und ein binäres m-Tupel sein kann oder auch nicht.
Die Funktion des l-ten (1 l L) mehrschichtigen Verzö­ gerungsprozessors ist in Fig. 6 gezeigt, wobei die Eingabe­ folge (l) und die Ausgabefolge (l) ist. Dieser mehrschichtige Verzögerungsprozessor teilt die Sequenz (l) in m Unterse­ quenzen, die m Schichten in einer Weise entsprechen, daß ein mehrschichtiger unten-nach-oben Verzögerungsaufbau vorhanden ist, was bedeutet, daß die p-te Schicht durch Zeiteinheiten verzögert wird, wie mit der (p+1)-ten Schicht 1 p m verglichen wurd. Dies setzt voraus, daß
wobei jedes eine nichtnegative Konstante ist. Es sei an­ gemerkt, daß es zu Beginn der Übertragung in den oberen Schichten (d. h. Schichten mit kleinerem p) Bitpositionen gibt, die nicht unter Verwendung der vorher erwähnten Formel zugewiesen wurden. In diese Bitpositionen können zufällige Bitwerte eingefügt werden, die sowohl von der Übertragungs­ seite als auch von der Empfangsseite erkannt werden.
Die Funktion des l-ten (1 l L) Signalverfolgers ist in Fig. 7 gezeigt, wo die Eingabefolge (l) ist. Dieser Signal­ verfolger überträgt jede m-Tupel-Eingabe (l)(t) in ein Ausgabe­ symbol
ω(l)((l)(t)) = (l+1)(t).
Für 1 l L-1 ist das Ausgabesymbol (l+1)(t) ein binäres m-Tupel. Für den L-ten Signalverfolger kann das Ausgabesymbol (L+1)(t) ein binäres m-Tupel sein oder auch nicht. Dies hängt von dem Signalraum Ω ab.
Für diesen spezifischen Matrixcode wird gewünscht, daß Λ(l) bei der Decodierung nicht weniger als
ist, um eine gute Fehlererkennung zu erreichen.
Kurze Beschreibung der Zeichnungen
Fig. 1 zeigt das Codierungsverfahren für die Unger­ bolck′sche TCM, wobei
ω((t)) = ω(s₁(t), s₂(t), . . ., sm(t))
ist;
Fig. 2 zeigt das Codierungsverfahren für den Matrixcode, das von Lin und Wang vorgeschlagen wurde, wobei
ω((t)) = ω(s₁(t), s₂(t), . . ., sm(t))
ist;
Fig. 3 zeigt ein Codierungsverfahren des Matrixcodes T, der für das vorgeschlagene Decodierungsverfahren geeignet ist, wobei
E den Codierer des Faltungscodes C(1),
R(l) den l-ten Prozessor,
= {. . ., (t - 1), (t), (t + 1), . . .} und
(l) = {. . ., (l) (t - 1), (l) (t), (l)(t + 1), . . .}
darstellt;
Fig. 4 zeigt das Decodierungsverfahren für den Matrix- code T, wobei
P(l) einen Prozessor und
darstellt;
Fig. 5 zeigt ein mehrschichtiges Codierungsverfahren des Matrixcodes T, wobei
E den Codierer des Faltungscodes C(1),
Q(l) den l-ten mehrschichtigen Verzögerungsprozessoren und
S(l) den l-ten Signalverfolger darstellt, und
= {. . ., (t - 1), (t), (t + 1), . . .}
(l) = {. . ., (l) (t - 1), (l) (t), (l)(t + 1), . . .} und
(l) = {. . ., (l) (t - 1), (l) (t), (l)(t + 1), . . .} ist;
Fig. 6 ist das Funktionsdiagramm des l-ten mehrschichtigen Verzögerungsprozessors, wobei
ist;
Fig. 7 ist das Funktionsdiagramm des l-ten Signalver­ folgers, wobei
(l+1)(t) = ω(l) ((l)(t)) ist;
wenn l < L ist, dann ist (l+1) (t) ein binäres m-Tupel,
wenn l = L ist, dann ist (l+1) (t) ein Signalpunkt in Ω;
Fig. 8 zeigt eine Signalkonstellation 8PSK;
Fig. 9 zeigt die Simulationsergebnisse von TCM in einem additiven weißen Gaußschen Rauschkanal des ersten und des dritten Ausführungsbeispiels;
Fig. 10 zeigt die Simulationsergebnisse des binären Matrixcodes in einem additiven weißen Gaußschen Rauschkanal für das zweite Ausführungsbeispiel.
Beschreibung der bevorzugten Ausführungsbeispiele
Diese Ausführungsbeispiele werden zunächst verwendet, um zu zeigen, daß es möglich ist, Matrixcodes mit großen freien Entfernungen zu entwickeln, die durch Verwendungen des in Fig. 5 gezeigten mehrschichtigen Codierungsverfahrens codiert werden können. Dann werden diese Ausführungsbeispiele die große Leistungsfähigkeit des vorgeschlagenen Decodierungsverfahrens zeigen.
Angenommen, der Signalraum Ω besteht aus 2m Signalpunkten z₁, z₂, . . ., . Der Signalraum Ω kann in eine m-schichtige Struktur unterteilt werden, so daß jeder Signalpunkt z einem einzigen binären m-Tupel = (s₁, s₂, . . ., sm) für z ∈ {z₁, z₂, . . ., } und s₁, s₂, . . ., sm ∈ {0,1} entspricht. Die Übertragungsrelation zwischen z und sei ω() = z. Die Schichtentfernung Δp des Signalraums Ω wird wie folgt definiert:
Wenn Ω eine Signalkonstellation ist, dann steht Δ(z,z′) für die quadrierte euklidische Entfernung zwischen z und z′, d. h. D² (z,z′); und wenn Ω eine Zusammenfassung binärer m-Tupel ist, dann steht Δ (z, z′) für die Hamming-Entfernung zwischen z und z′, d. h. d (z, z′). Es kann gesagt werden, daß die Ent­ fernungsstruktur des Signalraums {D₁, Δ₂, . . ., Δm} ist. Z. B. kann die Signalkonstellation 8PSK in eine dreischichtige Struktur unterteilt werden, wie in Fig. 8 gezeigt ist, für die die Entfernungsstruktur beschrieben wird durch
Δ₁ = D₁² = 0,586, Δ₂ = D₂² = 2, Δ₃ = D₃² =4.
Darüber hinaus kann z. B. die Zusammenfassung von binären Zweier-Tupel Ω = {0,1}² = {z₀ = (0,0), z₁ = (1,0), z₂ = (0,1), z₃ = (1,1)} unterteilt werden in
Ω = {z₀, z₁, z₂, z₃}
= {w(₀) = ω (0,0) = z₀, ω(₁) = ω (1,0) = z₁,
ω(₂) = ω(0,1) = z₃, ω(₃) = ω(1,1) = z₂}.
Die Entfernungsstruktur für Ω wird beschrieben mit
Δ₁ = d₁ = min{d(z,z′) : z,z′ ∈Ω, z ≠ z′} = 1,
Δ₂ = d₂ = min{d(z,z′) : z,z′ ∈Ω, z ≠ z′, und s₁ = s₁′}
= min{d(ω(₀), ω(₂), ω(₁), ω(₃))}
= min{d(z₀, z₃), d(z₁, z₂)} = 2.
Es sei angemerkt, daß (l)(t) nicht nur von dem aktuellen Eingabesymbol abhängt, d. h. von (t), sondern auch von den vorhergehenden Eingabe-Informationssymbolen, d. h. von (t-i), i < 0, (jedes ist ein r-Tupel). Daher ist die Zusammen­ fassung aller möglichen Ausgabefolgen (l) ein Matrixcode C(l) für 1 l L+1. Es sei angemerkt, daß für 1 l L C(l) ein binärer Matrixcode ist, da jedes (l)(t) ein binäres m-Tupel ist. Außerdem sei angemerkt, daß C(L+1) der gewünschte Matrixcode T ist. Im allgemeinen kann die freie Entfernung von C(l+1) aus der Kenntnis der Entfernungseigenschaft von C(l) für l = 1, 2, . . ., L gefunden werden. Nachfolgend wird die Ableitung einer freien Entfernung von C(L+1 = T aus C(L) gezeigt, wobei die Verzögerungs­ konstanten auf
gesetzt werden.
Es seien = {. . ., (t-1), (t), (t+1), . . .} und ′ = {. . ., ′(t-1), ′(t), ′(t+1), . . .} zwei bestimmte Codefolgen des binären Matrixcodes C(L). Es seien = {. . ., (t-1), (t), (t+1), . . .} und ′ = {. . ., ′(t-1), ′(t), ′(t+1), . . .} und die entsprechenden s Folgen, die beim Durchlaufen des mehrschichtigen Verzögerungsprozessors Q(L) erhalten werden. Die entsprechenden ω Folgen sind
= {. . ., ω((t-1)), ω((t)), ω((t+1)), . . .}
bzw.
′ = {. . ., ω(′(t-1)), ω(′(t)), ω(′(t+1)), . . .}.
Es sei angemerkt, daß hier , und anstelle von (L), (L) bzw. (L+1) verwendet werden, um die Schreibweise zu vereinfachen. Angenommen, die Hamming- Entfernung zwischen und ′ sei d. Angenommen, daß unter den d Positionen, für die und ′ verschieden sind, dp da­ von in der p-ten Schicht liegen. Wir verwenden d(, ′) = (d₁, d₂, . . ., dm), um diese Bedingung darzustellen. Es ist klar, daß
ist.
Wenn λ(L) groß genug ist, kann die Entfernung zwischen und ′ so berechnet werden, daß sie
ist.
Es sei angemerkt, daß Δ( , ′) für die quadrierte eukli­ dische Entfernung zwischen und ′ steht, wenn Ω eine Si­ gnalkonstellation ist, und Δ( , ′) für die Hamming-Entfernung zwischen den binären Darstellungen von und ′ steht, wenn Ω eine Zusammenfassung binärer m-Tupel ist.
Man betrachte die folgenden Beispiele. Es sei m = 3 und = (. . ., (00), (00), (00), . . .) und ′ = (. . ., (00), ′(t) = (10), ′(t+1) = (01), ′(t+2) = (11), ′(t+3) = (10), (00), . . .). Es ist zu sehen, daß d(, ′) = (d₁ = 3, d₂ = 2) ist. Ferner ist d = 5 = d₁ + d₂. Durch den mehrschichtigen Verzögerungs­ prozessor Q(L) mit der Konstanten λ(L) = 4 werden die Folgen und ′ in Folgen und ′ umgewandelt, die jeweils wiederge­ geben werden durch
und
Die Ausgabefolgen und ′ werden durch entsprechende Zuführung von Folgen und ′ in den Signalverfolger erhalten. Angenommen, der Signalraum ist {0,1}², wie in dem vorhe­ rigen Beispiel beschrieben, das eine Entfernungsstruktur von {Δ₁ = d₁ = 1, Δ₂ = d₂ =2} hat. Es sei angemerkt, daß für i = 1 und 2 d (ω((t+i)), ω(′(t+i)) = 2 ist, und für j = 4, 6 und 7 d (ω((t+j)), ω(′(t+j)) = 1 ist. Somit ist
Δ( , ′ = d( , ′) = 2 × 2 + 1 × 3 = 7).
Es sei angemerkt, daß in diesem Beispiel λ 3 genügend groß sein wird, um sicherzu­ stellen, daß Δ( , ′) gleich 7 ist.
Es sei
Es kann gezeigt werden, daß, wenn λ(L) groß genug ist,
giltwobei d(, ′) = (d₁, d₂, . . ., dm) ist.
Es sei angemerkt, daß, wenn Ω eine Signalkonstellation ist, Δfrei die quadrierte freie Entfernung von TCM C(L+1) = T ist, und wenn Ω eine Zusammenfassung binärer m-Tupel ist, Δfrei die freie Entfernung des binären Matrixcodes C(L+1) = T ist.
Um den Matrixcode T zu decodieren, wird die Matrix für den binären Faltungscode C(l) verwendet. Wenn die Anzahl an Codierspeicherbits für C(l) gleich ν ist, dann ist die Anzahl an Zuständen für die entsprechende Matrix 2ν. Im folgenden wird der Fall L = 2 verwendet, um die Decodierprozedur zu zeigen, bei der die Verzögerungskonstanten auf
für 1 l L = 2 gesetzt werden.
Es stehe Λ(l) für die gesamte Verzögerungszeit zwischen der ersten und der letzten Schicht in dem l-ten mehrschichtigen Verzögerungsprozessor, d. h. Λ(l) = (m-1) λl, wobei l = 1, 2 ist. Es sei die bei der Decodierung des binären Faltungscodes ((l) verwendete Rundungslänge λ. Man setze λ(1) λ, λ(2) λ + Λ(1). Es sei = {. . ., (t-1), (t), (t+1), . . .} die empfangene Signalfolge, wobei (t) die durch Rauschen verfälschte Form eines übertrage­ nen Symbols ω(2)((2)(t))=(3)(t) ist. Bei der (t + Λ(1) + Λ(2))-ten Zeiteinheit der Decodierung ist (t + i) für i Λ(1) + Λ(2) schon empfangen worden.
Angenommen, daß (i)(t - j) schon korrekt zurückerhalten worden ist, wobei 1 l L und j λ. Die Decodierprozedur wird wie folgt beschrieben:Schritt 1: Für p = 1, 2, . . ., m und = 0 sowie ν(t + Λ(1)) = 1 errechne man die Bitmetrik
durch
Es sei angemerkt, daß, weil (p - i) λ(2) - Λ(1) λ ist, ν (t - ((p-i)λ(2) - Λ(1))) schon zurückerhalten worden ist, und es sei angemerkt, daß
ist.
Ferner wird zur Vereinfachung der Schreibweise si verwendet, um (t + Λ(1) + Λ(2) - (p - l) λ(2)) in der obigen Formel zu ersetzen.
Durch Addieren von
kann der Meßwert
errechnet werden, wobei
ist. Der Satz der Meßwerte
wird in Schritt 2 verwendet.
Schritt 2: für p = 1, 2, . . ., m errechne man die Bitmetrik
durch
wobei
ist, was durch unsere Annahme für i < p zurückgewonnen wurde.
Durch Addieren von
kann der Meßwert
errechnet werden. Der Satz von Meßwerten
wird in Schritt 3 verwendet.
Schritt 3: Die r-bitige Information (t-λ+1) und das ent­ sprechende (1)(t-λ+1) werden durch Anwenden des Viterbi- Algorithmus auf die 2ν-stufige Matrix für C(1) und durch die Meßwerte
für i 0 zurückgewonnen. Dann wird (1)(t-λ+1) aus {(1)(t - j) : j λ - 1} abgeleitet. Durch Zuführen von (1)(t-λ+1) in den ersten Signalverfolger wird (2)(t-λ+1) zurückgewonnen. Dann kehrt die Decodierprozessur zu Schritt 1 zurück.
Es sei angemerkt, daß für den Fall L = 2 die erste codierte Nachricht (1) bei der (λ + Λ(1) + Λ(2))-ten Zeiteinheit der Decodierung zurückgewonnen wird. Im Fall von L 2 wird die erste codierte Nachricht (1) bei der (λ + Λ(1) + . . . + Λ(L))-ten Zeiteinheit der Decodierung zurückgewonnen, wobei für jedes
ist.
Nun betrachte man das erste Ausführungsbeispiel. Man setze L = 2 und wähle Ω als Signalkonstellation 8PSK, die in eine dreischichtige Struktur mit einer Entfernungsstruktur von {Δ₁ = 0,586, Δ₂ = 2, Δ₃ = 4} unterteilt ist. Die Verzögerungs­ konstanten werden auf
für 1 l L = 2 gesetzt. Die Übertragung
für die ersten Signalverfolger wird folgendermaßen beschrieben:
ω(1)(0,0,0) = (0,0,0)   ω(1)(0,0,1) = (1,1,1)
ω(1)(0,1,0) = (1,1,0)   ω(1)(0,1,1) = (0,0,1)
ω(1)(1,0,0) = (1,0,0)   ω(1)(1,0,1) = (0,1,1)
ω(1)(1,1,0) = (0,1,0)   ω(1)(1,1,1) = (1,0,1)
Es wird eine Rate von 2/3 des binären Faltungscodes C(1) mit ν = 2 verwendet, was impliziert, daß die Anzahl an Ma­ trixzuständen 2² = 4 ist. Die Erzeugungsmatrix für den Code C(1) ist
Auf diese Weise ist der Matrixcode T eine TCM, für die seine Codierungsrate in der Signalkonstellation 8PSK 2 Info­ mationsbits pro Signalpunkt beträgt. Aus der Rechnersuche wird die quadrierte freie Entfernung dieser TCM zu Δfrei = D²frei 7,516 errechnet. Verglichen mit der uncodierten QPSK hat diese TCM im AWGN-Kanal eine asymptotische Codierungsverstärkung von 5,75 dB. Es sei angemerkt, daß die asymptotische Codie­ rungsverstärkung für die vierstufigen TCM, die von Ungerboeck 1982 entwickelt wurde, nur 3,0 dB beträgt. Durch Verwendung des vorgeschlagenen Decodierungsverfahrens und durch Setzen der Decodierkonstante λ = λ(1) = 30 und λ(2) = 90 erhaltene Simulations­ ergebnisse sind in Fig. 9 gezeigt. Aus Fig. 9 ist zu ersehen, daß unter Verwendung des vorgeschlagenen Decodierungs­ verfahrens für diese TCM die Codierungsverstärkung über die uncodierte QPSK bei einer Bitfehlerrate von 10-6 etwa 3,6 dB ist.
Man betrachte das zweite Ausführungsbeispiel, für welches L auch auf 2 gesetzt wird. Man wähle Ω ={0,1}², das in eine zweischichtige Struktur mit einer Entfernungsstruktur von {Δ₁ = 1, Δ₂ = 2} unterteilt wird. Die Verzögerungskonstanten werden auf
für 1 l L = 2 gesetzt. Die beiden Übertragungen der Signal­ verfolger sind gleich und werden wie folgt beschrieben:
ω (0,0) = (0,0), ω (0,1) = (1,1), ω (1,0) = (1,0) und ω (1,1) = (0,1), wobei ω = ω(1), ω(2) ist.
Es wird eine Rate von 1/2 eines binären Faltungscodes C(1) mit ν = 2 verwendet, die impliziert, daß die Anzahl an Matrixzuständen 2² = 4 ist. Die Erzeugungsmatrix von C(1) ist G = (5 7). Auf diese Weise ist der Matrixcode T ein binärer Matrixcode, dessen Codierungsrate 1/2 ist. Aus der Rechnersuche wird die freie Entfernung dieses binären Matrixcodes mit zumindest 11 errechnet. Im Vergleich dazu haben die besten bekannten binären Faltungscodes mit 4 Matrixzuständen eine freie Entfernung von nur 5. Simulationsergebnisse, die durch Verwendung des vorgeschlagenen Decodierungsverfahrens und durch Setzen von λ = λ(1) = 20 und λ(2) = 40 erhalten wurden, sind in Fig. 10 gezeigt. Aus Fig. 10 ist offensichtlich, daß eine Bitfehlerrate von 10-6 bei Eb/No = 5,2 dB erhalten werden kann.
In jedem der obigen zwei Ausführungsbeispiele ist des l-ten mehrschichtigen Verzögerungsprozessors entsprechend auf λ(1) für p ∈ {1, . . ., m-1} und l = 1,2 gesetzt. Das dritte Ausführungsbeispiel ist dargestellt, um einen allge­ meineren Fall von T zu zeigen, in dem irgendeine Verzöge­ rungszeit p ∈ {1, . . ., m-1} in dem l-ten mehrschichtigen Verzögerungsprozessor Null sein kann.
Das dritte Ausführungsbeispiel wird durch Modifizieren des ersten Ausführungsbeispiels erzielt. Der Signalraum Ω sowie der erste mehrschichtige Verzögerungsprozessor Q(1) und die Signalverfolger S(1) und S(2), die in dem dritten Ausfüh­ rungsbeispiel verwendet wurden, sind die gleichen wie die, die in dem ersten Ausführungsbeispiel verwendet wurden. Jedoch sind in dem dritten Ausführungsbeispiel die Rundungslänge λ und die Verzögerungskonstanten auf λ = = = 30, = = = 0 und = 90 gesetzt. In diesem Fall ist T eine TCM, für welche die quadrierte freie Entfernung als Δfrei = 5,76 berechnet werden kann. Die Decodierung für das dritte Ausführungsbeispiel ist gleich der für das erste Ausführungsbeispiel, außer der leichten Modifizierung. Für das dritte Ausführungsbeispiel ist die Decodierungs- Verzögerungszeit kürzer als für das erste Ausführungsbei­ spiel. Simulationsergebnisse, die unter Verwendung der vorge­ schlagenen Decodierung erhalten wurden, sind ebenfalls in Fig. 9 gezeigt. Es ist ersichtlich, daß die Fehlererkennung des dritten Ausführungsbeispiels fast so gut ist wie beim ersten Ausführungsbeispiel.
Eines der Merkmale des bei der Codierung für T verwen­ deten l-ten mehrschichtigen Verzögerungsprozessors ist, was in Fig. 5 gezeigt ist, das Verarbeiten der Eingabebits in jeder Schicht, so daß die p-te Schicht, verglichen mit der (p+1)-ten Schicht, durch Zeiteinheiten verzögert wird. Es sei angemerkt, daß im allgemeinen nicht jedes l, , , . . ., notwendigerweise identisch sein kann, und manche, aber nicht alle auf Null gesetzt werden können. Grund­ sätzlich verwendet diese Codierung den Codierer eines binären Faltungscodes, um m Bits zu erzeugen, die dann von den L mehr­ schichtigen Verzögerungsprozessoren und L Signalverfolgern verarbeitet werden können, wobei L 2 ist. Diese Codierung kann einfach auf eine mehrschichtige Codierung auf der Grundlage der Codierer mehrerer binärer Faltungscodes verallgemeinert werden. Der Entwurf ist folgendermaßen. Man verwendet q(q<m) Codierer binärer Faltungscodes, um m Bits total zu erzeugen, d. h.
die dann durch L (L2) mehrschichtige Verzögerungsprozessoren und Signalverfolger verarbeitet werden, um in dem Signalraum Ω einen Signalpunkt auszuwählen. In diesem Fall muß das vorgeschlagene Decodie­ rungsverfahren leicht modifiziert werden, so daß der Prozessor P(0) auf die verschiedenen binären Matrixcodes Viterbi- Decodieralgorithmen anwendet, statt den Viterbi-Decodieralgo­ rithmus auf einen einzigen Matrixcode anzuwenden.
Außerdem gibt es eine Verallgemeinerung des für das vor­ geschlagene Decodierungsverfahren geeigneten Matrixcodes T, der auf die folgende Weise implementiert werden kann. Bei jeder Zeiteinheit wird der Codierer eines binären Faltungscodes verwendet, um m/m(l) binäre m(l)-Tupel zu erzeugen, die kombi­ niert werden, um durch das binäre m-Tupel (l)(t) dargestellt zu werden. Für 1 l L wird jedes binäre m-Tupel (l)(t) in m/m(l) binäre m(l)-Tupel zerlegt. Ferner stellt (L+1)(t) m/m(L+1) Signalpunkte in Ω dar, die aus Signalpunkten bestehen. Daher liefert der Matrixcode T für jede Zeiteinheit m/m(L+1) Signalpunkte in Ω als Ausgabe. Das vorgeschlagene Decodie­ rungsverfahren ist weiterhin gültig, wenn beachtet wird, daß jedes (l)(t) mehrere binäre m(l)-Tupel für 1 l L und mehrere Signalpunkte in Ω für l = L + 1 darstellt.
Schließlich kann der bei der Codierung und Decodierung von T verwendete Codierer des binären Faltungscodes C(l) durch den Codierer eines allgemeineren binären Matrixcodes ersetzt werden.

Claims (11)

1. Decodierungsverfahren für einen Matrixcode T, bei dem das Codieren implementiert werden kann, indem zuerst ein Codierer eines binären Matrixcodes C(1) verwendet wird, um eine r-bitige Nachricht (t) in ein dazwischenliegendes binäres m-Tupel (1)(t) in einer t-ten Zeiteinheit zu codieren, die sequentiell in binäre m-Tupel (2)(t), . . ., (L)(t) und einen Si­ gnalpunkt (L+1)(t) in einem Signalraum Ω durch L (L 2) Pro­ zessoren umgewandelt wird, das folgende Decodierschritte um­ faßt:
  • (a) durch einen Prozessor P(L) bei einer (t + Λ(1) + . . . + Λ(L))-ten Zeiteinheit Feststellen eines Satzes der aus 2m Meßwerten für die 2m möglichen Werte von (L)(t + Λ(1) + . . . + Λ(L-1)) besteht, auf Grund eines Teils des Satzes{y(t + i) : i Λ(1) + . . . + Λ(L)}und eines Teils des Satzes{(L)(t - j) : j λ};Zuführen des Meßwertsatzes einem Prozessor P(L-1), wobei y(t+i) ein zu decodierendes empfangenes Signal ist, Λ(l), . . ., Λ(L) nichtnegative Konstanten sind und λ eine bei der Deco­ dierung von C(1) zu verwendende Rundungslänge ist,
  • (b) durch einen Prozessor P(l) für l = L - 1, L - 2, . . ., l Feststellen eines Satzes der aus 2m Meßwerten für die 2m möglichen Werte von (l) (t + Λ(1) + . . . + Λ(L-1) besteht, auf Grund eines Teils von und eines Teils des Satzes{(l)(t - j) : j λ};Zuführen des Meßwertsatzes einem Prozessor P(l-1), wobei Λ(l) eine nichtnegative Konstante ist;
  • (c) durch einen Prozessor P(0) Zurückgewinnen des übertra­ genen Symbols (t - λ + 1) und (1)(t - λ + 1) durch Anwenden des Viterbi-Decodieralgorithmus auf die Matrix von C(1) und durch einen Teil des Satzes Rückführen des zurückgewonnenen (1)(t - λ + 1) zu P(1);
  • 1(d) durch Pl für l = 1, 2, . . ., L - 1, Verarbeiten des Satzes {(l)(t - j) : j λ - 1}und Erlauben von (l+1)(t - λ + 1), das danach zu P(l+1) zurückgeführt wird.
2. Decodierungsverfahren nach Anspruch 1, wobei der Codierer des einzelnen binären Matrixcodes C(1) durch die Codierer einer Vielzahl von binären Matrixcodes ersetzt werden kann, die allesamt (t) in umwandeln, das dann von L mehrschichtigen Verzögerungsprozessoren und L Signalverfolgern verarbeitet wird, und der in dem Prozessor P(0) verwendete Viterbi-Decodieralgorithmus für C(1) durch eine Vielzahl von Viterbi-Decodieralgorithmen für die Vielzahl von binären Matrixcodes ersetzt wird.
3. Decodierungsverfahren nach Anspruch 1 oder 2, wobei die Codierung des Matrixcodes T durch die folgenden Schritte im­ plementiert werden kann:
  • i) Verwenden des Codierers eines einzelnen binären Matrix­ codes C(1) zum Codieren einer r-bitigen Nachricht (t) in der t-ten Zeiteinheit, um so eine m-bitige Ausgabe zu erhalten;
  • ii) Verarbeiten der Ausgabe des binären Matrixcodes durch einen mehrschichtigen Verzögerungsprozessor Q(1), der eine verarbeitete Ausgabe erlaubt, so daß ist, wobei , , . . ., nichtnegative Konstanten sind;
  • iii) Zuführen der Ausgabe von Q(1) in einen Signalverfolger S(1), um einen Signalpunkt auszuwählen;
  • iv) für l = 2, 3, . . ., L Zuführen der Ausgabe (l)(t) in einen mehrschichtigen Verzögerungsprozessor Q(l), der eine ver­ arbeitete Ausgabe (l)(t) = , , . . ., erlaubt, so daß ist, wobei , , . . ., nichtnegative Konstanten sind, und danach Zuführen von (l)(t) in einen Signalverfolger S(l), um einen Signalpunkt ω(l)((l) (t)) = (l+1)(t) auszuwählen, wobei, wenn l < L ist, (l-1)(t) ein binäres m-Tupel ist, und wenn l = L ist, (l-1)(t) in dem Signalraum Ω liegt und der Ausgabe- Signalpunkt ist.
4. Decodierungsverfahren nach Anspruch 3, wobei der Parameter Λ(l) des Prozessors P(l) für 1 l L größer/gleich ist.
5. Decodierungsverfahren nach Anspruch 1 oder 2, wobei der binäre Matrixcode oder eine Vielzahl von binären Matrixcodes ein linearer und zeitlich unveränderlicher Code oder eine Vielzahl von linearen und zeitlich unveränderlichen Codes sein kann, d. h., ein binärer Faltungscode oder eine Vielzahl von binären Faltungscodes.
6. Decodierungsverfahren nach Anspruch 3, wobei die Kon­ stanten , , . . ., bestimmte Werte sein kann und/oder zumindest eine der Konstanten , , . . ., ungleich Null ist.
7. Decodierungsverfahren nach Anspruch 3, wobei alle Kon­ stanten , , . . ., mit einer Konstanten λ(l) identisch sein können und ist.
8. Decodierungsverfahren nach Anspruch 1 oder 2, wobei der Signalraum Ω eine Signalkonstellation ist und in diesem Fall das Verfahren zum Decodieren einer matrixcodierten Modulation verwendet werden kann.
9. Decodierungsverfahren nach Anspruch 1 oder 2, wobei der Signalraum Ω eine Zusammenfassung binärer m-Tupel ist und in diesem Fall das Verfahren zum Decodieren binärer Matrixcodes verwendet werden kann.
10. Decodierungsverfahren nach Anspruch 1 oder 2, wobei die r-bitige Information (t) m/m(1) binäre (r·m(1)/m)-Tupel dar­ stellt, wobei m(l) eine positive ganze Zahl ist.
11. Decodierungsverfahren nach Anspruch 1 oder 2, wobei das binäre m-Tupel (l)(t), 1 l L in m/m(l) binäre m(l)-Tupel zer­ legt werden kann, wobei m(l) eine positive ganze Zahl ist; und (L+1)(t) m/m(L+1) Signalpunkte in Ω darstellt, die aus Signalpunkten bestehen, wobei m(L+1) eine positive ganze Zahl ist.
DE19633353A 1995-08-17 1996-08-19 Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen Withdrawn DE19633353A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US08/516,217 US5703911A (en) 1995-08-17 1995-08-17 Decoding method for trellis codes with large free distances
GB9615671A GB2315648A (en) 1995-08-17 1996-07-25 Decoding trellis codes with large free distances
DE19633353A DE19633353A1 (de) 1995-08-17 1996-08-19 Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/516,217 US5703911A (en) 1995-08-17 1995-08-17 Decoding method for trellis codes with large free distances
GB9615671A GB2315648A (en) 1995-08-17 1996-07-25 Decoding trellis codes with large free distances
DE19633353A DE19633353A1 (de) 1995-08-17 1996-08-19 Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen

Publications (1)

Publication Number Publication Date
DE19633353A1 true DE19633353A1 (de) 1998-02-26

Family

ID=27216567

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19633353A Withdrawn DE19633353A1 (de) 1995-08-17 1996-08-19 Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen

Country Status (3)

Country Link
US (1) US5703911A (de)
DE (1) DE19633353A1 (de)
GB (1) GB2315648A (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115436A (en) * 1997-12-31 2000-09-05 Ericsson Inc. Non-binary viterbi decoder using butterfly operations
JP2002526965A (ja) 1998-09-28 2002-08-20 アドバンスト ハードウェア アーキテクチャーズ,インコーポレイテッド ターボプロダクト符号復号器
US6693566B2 (en) * 1999-12-03 2004-02-17 Broadcom Corporation Interspersed training for turbo coded modulation
AU4515801A (en) * 1999-12-03 2001-06-18 Broadcom Corporation Viterbi slicer for turbo codes
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
CA2404984A1 (en) * 2000-04-04 2001-10-11 Comtech Telecommunications Corp. Enhanced turbo product code decoder system
WO2002019552A2 (en) * 2000-09-01 2002-03-07 Broadcom Corporation Satellite receiver
WO2002021702A1 (en) * 2000-09-05 2002-03-14 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US9979580B2 (en) 2001-02-01 2018-05-22 Qualcomm Incorporated Coding scheme for a wireless communication system
US6961388B2 (en) * 2001-02-01 2005-11-01 Qualcomm, Incorporated Coding scheme for a wireless communication system
WO2002091592A1 (en) * 2001-05-09 2002-11-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63111737A (ja) * 1986-10-29 1988-05-17 Nec Corp 移動通信方式
US4881241A (en) * 1988-02-24 1989-11-14 Centre National D'etudes Des Telecommunications Method and installation for digital communication, particularly between and toward moving vehicles
DE68915758T2 (de) * 1989-07-07 1994-12-08 Ibm Blockkodierungsschema für die Übertragung von partiellen Bits.
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
US5570391A (en) * 1995-03-06 1996-10-29 Chung-Chin Chen Trellis coding method using a multilevel delay device

Also Published As

Publication number Publication date
GB2315648A (en) 1998-02-04
GB9615671D0 (en) 1996-09-04
US5703911A (en) 1997-12-30

Similar Documents

Publication Publication Date Title
DE19781914C2 (de) System zum Implementieren von lauflängenbegrenzten Codes
DE69532949T2 (de) Verfahren und gerät zur dekoderoptimierung
DE3910739C2 (de)
DE69722331T2 (de) Informationsbits-Übertragungsverfahren mit Fehlerkorrektur-Kodierung, Kodier- und Dekodiervorrichtung dafür
DE69732652T2 (de) Übertragungsverfahren und -system mit adaptiver codierung auf basis von übertragungskanalcharakteristiken
DE2364874C3 (de) Kodieranordnung für ein Differentialphasenmodulationssystem
DE69732741T2 (de) Mehrträger-vermittlungssystem und verfahren zur spitzenleistungsregelung
DE19633353A1 (de) Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen
DE69233373T2 (de) TCM-Schema mit nichtganzzahligen Datenraten, Rahmensignalen und Konstellationsumformung
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
DE69433075T2 (de) Codierungsschema für Kanäle mit Intersymbolinterferenz
DE2204766C2 (de) Codeumsetzer für Datenverarbeitungssysteme
DE69831783T2 (de) Mehrstufige codierung mit zeitdiversity
DE2445926B2 (de) System zur uebertragung mehrstufiger daten
DE19518204A1 (de) Mehrschichtige Matrixkodierungsverfahren
DE2704627B2 (de) Anordnung zur Fehlerkorrektur von binärer Information
DE69737337T2 (de) Datenempfänger und Empfangsverfahren für punktierte, faltungskodierte Daten
DE69834207T2 (de) Nicht-binärer viterbi-dekoder mit butterfly-operationen
DE69735982T2 (de) Datenempfänger
DE19963687A1 (de) Modulations-Codierer und -Decodierer
DE60118716T2 (de) Log-MAP Dekodierung
DE602004006558T2 (de) Codierung und Decodierung von Trellis-Codes mit Trellis Sektionen basierend auf Blockcodes mit guten Distanzeigenschaften
EP0422560B1 (de) Verfahren zum Codieren und Decodieren von binären Daten sowie Einrichtung zur Durchführung des Verfahrens
DE10120155B4 (de) Modulation mit paralleler Turbotrelliscodierung
DE102016201408B4 (de) Verfahren zum Übertragen von Daten

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee