ntmkap94itfec2

Werbung
Faltungscodes
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 22
Vorteile
einfache Encodierung und relativ einfache Dekodierung
vergleichbare / höhere Performance als äquivalente Block-Codes
soft-decision decoding einfach realisierbar
(N,K,m) bzw. Rate R=K/N Faltungscode mit Gedächtnis m
K Infobits => N Codebits, abhängig von m+1 letzten K-Bit-Blöcken
Encoder ist eine „finite state machine“, N,K,m typischerweise klein
Beispiel: Rate R=1/2 Faltungscode mit m=2
Infosequenz:
Codesequenz:
u[n]
TBit
u[n] = [1 0 1 1 0 0 ... ]
x[n] = [1 1 1 0 0 0 0 1 0 1 1 1 ...]
TBit
u[n-2]
x[2n] = u[n]+u[n-1]+u[n-2]
x[2n+1] = u[n]+u[n-2]
=> Faltung von u[n] mit
[1 1 1] und [1 0 1] (mod 2)
Trellisdiagramm
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 23
10
11
01
01
Zustand
u[n-1] u[n-2]
01
10
10
u[n]=1
Trellis: baumartige
Struktur mit Zweigen,
die verschmelzen
11
01
10
Codewörter
=> Trellispfade
10
10
10
00
u[n]=0
01
11
11
11
00
u
x
11
00
1
11
00
01
01
11
11
00
1
01
00
00
1
10
00
00
0
01
00
00
0
11
00
tail bits
Zustandsdiagramm
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 24
1 / 10
11
1 / 01
0 / 01
0 / 10
01
10
1 / 00
1 / 11
0 / 11
00
u[n] / x[2n] x[2n+1]
0 / 00
Distanzspektrum
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 25
Faltungscodes sind linear
z.B. xi+xj = [11 01 10 01 11] + [00 11 10 11 00] = [11 10 00 10 11] = xk
Distanzen zwischen 0-Codewort und anderen CW x≠0 wichtig
freie Distanz dfree = minimale dH(0,Umweg)
x
0
00
00
Analyse der Umwege (detours) => Distanzprofil
D
D
11
D
10
D2
1=D0
00
Transferfunktion
D
T(D) = D5 / (1-2D)
01
D2 => Pfad
mit 2 Einer
= D5 + 2·D6 + …
=> 1 Umweg mit dfree = 5
=> 2 Umwege mit dH = 6
Maximum dfree-Codes
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 26
Codetabellen mit maximalem dfree für Parameter R und m
dfree ist wichtigster Parameter für Fehlerkorrekturfähigkeit
kleine Anzahl dfree-Umwege ist zweitwichtigstes Kriterium
Rate R=1/2
m Generatoren
dfree
Rate R=1/3
Generatoren (oktal)
dfree
2
3
4
5
15
23
7
17
35
5
6
7
5
13
25
7
15
33
7
17
37
8
10
12
5
6
7
8
53
133
247
561
75
171
371
753
8
10
10
12
47
133
225
557
53
145
331
663
75
175
367
711
13
15
16
R=1/2, m=3 Code
15 => [1 1 0 1]
17 => [1 1 1 1]
18
Viterbi-Dekoder (BSC)
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 27
minimiere Metrik
m[n+1] = m[n] + dH(x,y)
survivor
m=1
m=1
10
11
11
01
01
m=0
10
01
10
m=2 01
m=2
10
10
10
10
m=1 00
00
u
y
00
1
11
00
11
m=4
00
1
11
00
01
11
11
11
m=2
m=1
m=2
01
01
11
man kann sich auch
hier schon für u[n-5m]
entscheiden !
11
freie Wahl
m=2
00
1
10
00
00
0
01
m=3
m=1
00
00
00
0 u decoded
11
Soft-Decision Decoding
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 28
AWGN-Kanal (Basisband-Darstellung)
im Entscheider geht Information verloren (Quantisierung!)
besser real-Werte als Dekoder-Inputs verwenden
ca. 2 dB zusätzlicher Gewinn durch soft-decision decoding
real-Werte
n(t)
y[n]
x[n]
p(t)
Pulsform
p(-t)
Matched Filter
Tb
Entscheider
Viterbi-Dekoder für soft-decision decoding anpassbar
Algorithmus bleibt gleich
neue Metrik: maximiere m[n+1] = m[n] + x·yT
Soft-Decision Decoding
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 29
m=7
m=4.5
-11
11
maximiere Metrik
m[n+1] = m[n] + x·yT
11
1-1
1-1
1-1
m=2.5
1-1
m=0.5
m=-2.6
10
10
10
-11
-11
-11
11
m=0.5
01
00
u
-1-1
m=-2.5
11
1
y -1.10 -1.40
00
11
1
-1-1
m=-2.4
00
1.05 -0.95
01
-1-1
-1-1
-1-1
m=9.25
m=2
01
-1-1
m=1.75
m=0.5
11
1
00
-1.25 1.25
11
0
00
1.25 -1.00
m=11.10
11
0
00
u decoded
-0.90 -0.95
Performance
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 30
BPSK-Datenübertragung über AWGN-Kanal
uncodiert
R=1/2, m=2
Faltungscode
(soft-decision
decoding)
G
Kodierungsgewinn
G ≈ 10·log10(R·dfree) = 4 dB
ohne Kodierung: 1 Infobit der Dauer Tb und Energie Eb
R=1/2 Kodierung: 2 Codebits je mit Dauer RTb und Energie REb
N0: Rauschleistungsdichte (Energie)
Tb
RTb
Kombinationen
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 31
Concatenated Coding
Faltungscodes produzieren burstartige Fehler (Umweg im Trellis)
zyklische (N,K) Block-Codes können „gut“ Fehlerbursts korrigieren
„aussen“
„innen“
linearer, zyklischer
(N,K)-Block-Code
Faltungscode
Rate R, Memory m
Detektion oder Korrektur
z.B. K/N=0.8
soft-decision decoding
z.B. R=1/2
„Modulator“
Trellis Coded Modulation (TCM)
Kombination von Kanalkodierung und Modulation
Nettorate wird nicht reduziert, z.B. QPSK mit 2 Bit / Symbol oder
TCM
R=2/3
Faltungscode
8-PSK
Mapper/Mod.
„Sender“
Beispiel TCM
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 32
x1,x2,x3
x1
u1
TBit
TBit
100
010
001
110
111
√Es
x2
u2
x3
000
001
00
111
10
101
00
110
110
111
000
001
011
01
100
101
11
000
011
10
kürzester Umweg 2√Es
(gegenüberliegende Punkte)
01
Abstand √2 mal grösser als
bei QPSK
010
3 dB Gewinn @ QPSK-Rate !
101 100
010
011
11
Anhang: Maximum-Likelihood-Metrik
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 33
AWGN z[n]
u[n]
Encoder
x[n]
y[n]
Dekoder
ue[n]
Annahme: Quelle produziert alle möglichen 01-Folgen u[n]
Annahme trifft gut zu, wenn die Quelle komprimiert ist
ML-Dekoder dekodiert höchstwahrscheinliche Quellenfolge ue[n]
bzw. minimiert BER bzw. ist optimal
ML-Dekoder: maximiere Wahrscheinlichkeit pYIX(yIx) über alle x
aber pYIX(yIx) = pZ(y-x) = Konstante·exp(-Σn(y[n]-x[n])2/2σ2)
ML-Dekoder: minimiere Σn(y[n]-x[n])2 über alle möglichen Codes x
d.h. minimiere quadratische Abweichung zwischen y und x
aber Σn(y[n]-x[n])2 = Σn y2[n] - 2·y[n]·x[n] + x2[n],
nur der mittlere Term ist über x optimierbar
ML-Dekoder: maximiere additive Metrik Σn y[n]·x[n] über alle x
Anhang: Performance-Beispiele
NTM, 2006/06, 9.4 Kanalcodierung, Rur, 34
Übertragung kurzer Text über AWGN-Kanal mit Eb/N0 = 3 dB
keine Fehlerschutz-Kodierung, BER=0.02:
Dc3 iyt ein Tesu mit einem kurzen Text von&e4!jeichen/
R=1/2, m=2 Faltungscode, W=2 Bit Quantisierung, BER=0.008:
Das ist ein Test mit einem i5rzen Text von 54 Zeichen.
abs(ue-u)
Faltungsdekoder macht Burstfehler:
R=1/2, m=2 Faltungscode, W=4 Bit Quantisierung, BER=0.0025:
Das ist ein Test mit einem kurzen Text von 54!Zeichen.
Herunterladen