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.