DE19633353A1 - Decodierungsverfahren für Matrixcodes mit großen freien Entfernungen - Google Patents
Decodierungsverfahren für Matrixcodes mit großen freien EntfernungenInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims description 66
- 238000000034 method Methods 0.000 title claims description 40
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- LFVLUOAHQIVABZ-UHFFFAOYSA-N Iodofenphos Chemical compound COP(=S)(OC)OC1=CC(Cl)=C(I)C=C1Cl LFVLUOAHQIVABZ-UHFFFAOYSA-N 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/18—Phase-modulated carrier systems, i.e. using phase-shift keying
- H04L27/186—Phase-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.
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), . . .},
(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.
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;
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
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;
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 Ω;
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.
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₂}.
= {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.
Δ₂ = 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.
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)
ω(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.
ω (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.
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)
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)
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 |
-
1995
- 1995-08-17 US US08/516,217 patent/US5703911A/en not_active Expired - Fee Related
-
1996
- 1996-07-25 GB GB9615671A patent/GB2315648A/en not_active Withdrawn
- 1996-08-19 DE DE19633353A patent/DE19633353A1/de not_active Withdrawn
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 |