ECNICAS DE PROTECCI´ ON FRENTE A ERRORES (C ´ Ctsc.uc3m.es/~fernando/Codificacion_canal.pdf ·...

Preview:

Citation preview

TEMA 5

TECNICAS DE PROTECCION FRENTE A ERRORES

(CODIFICACION DE CANAL)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 99

Indice

Introduccion y definicionesCodigos bloque linealesCodigos convolucionalesCodigos de rejillaCodigos BCH y codigos RSProteccion frente a ruido impulsivo: intercalado yconcatenacion de codigosEsquemas avanzados de codificacion

Turbo codificacionCodigos LDPC

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 2 / 99

Introduccion

Los sistemas de comunicaciones comenten erroresObjetivo de un sistema de comunicaciones

BER < CalidadAlternativas para reduccion de los errores

Aumentar la energıa de la senalLimitaciones: Econonicas, fısicas, legales, interferencias, ...

Teorema de codificacion de canales con ruido (Shannon)Introduccion de bits de redundanciaTasa de codificacion: R (bits de datos/bits transmitidos)Capacidad del canal: C (bits/uso)Posibilidad de reduccion de la BER de forma arbitraria

R < C

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 3 / 99

Capacidad de canal - Canales digitales

Modelo de canal discreto sin memoria (DMC)Entrada y salida: variables aleatorias X e YProbabilidades de transicion pY|X(yj|xi)

Capacidad de canal

C = maxpX(xi)

I(X,Y) bits/uso

Ejemplo: Canal binario simetrico (BER=ε)

-

-

*

HHHHHH

HHHHHH

HHHHHH

HHHj

s

s

s

sx0

x1

y0

y11− ε

1− ε

ε

ε

C = 1− Hb(ε) bits/uso

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 4 / 99

Entropıa binaria Hb(p)

Entropıa de una v.a. binaria con pX(x0) = p y pX(x1) = 1− p

Hb(p) = −p · log2(p)− (1− p) log2(1− p)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.10.20.30.40.50.60.70.80.91

.

...................................................................................................

.

..................................................................

.

.....................................................

..............................................

....................................

................................

...........................

. .......................... . ........................ . ....................... . ....................... . ........................ . .......................... ..........................

...

..............................

....................

..................

......................................

.......

....................................

.................

.

..................................................................

.

...................................................................................................

Probabilidad p

Ent

ropi

abi

naria

Hb(

p)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 5 / 99

Capacidad de canal - Canal gausiano

Capacidad sobre canal gausiano en las siguientescondiciones:

Potencia transmitida: P watt.Potencia de ruido: PN watt.Ancho de banda: B Hz

C =1n

log M =12

log(

1 +P

PN

)PN =

∫ B

−B

No

2df = NoB

C =12· log

(1 +

PNoB

)bits/uso

C = B · log (1 + SNR) bits/s

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 6 / 99

Cotas

Capacidad en funcion de B

lımB→∞

C =PNo

log2(e) = 1,44 · PNo

Sistema de comunicaciones practico

Rb < B · log (1 + SNR) bits/s

Tasa binaria (eficiencia) espectral: η = RbB bits/s/Hz

Energıa media por bit - Eb = PRb

Relacion Eb/N0 = SNRη

η < log (1 + SNR) , η < log(

1 + η · Eb

No

)SNR > 2η − 1,

Eb

No>

2η − 1η

Cuando η → 0 EbNo

= ln2 = 0,693 ≈ −1,6 dBMMC (UC3M) Comunicaciones Digitales Codificacion de Canal 7 / 99

Tasa binaria (eficiencia) espectral frente a Eb/N0

-

6

........................................................................................................................................................

.......... ........ ............................

......... ........... ............. ........ .......... ........... ............ ............ .............. ............... ............ .............. ................ ............. .............. ................ ............. ............... ................ .............. ............... ................ ............................................101

10−1

1

0 5 10 15 20 EbNo

dB

η = RbB

−1,592

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

.....

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 8 / 99

Relacion senal a ruido normalizada

Cota inferior para SNR

SNR > 2η − 1

Definicion de SNR normalizada

SNRnorm =SNR

2η − 1

Cota inferior sobre SNRnorm

SNRnorm > 1 (0 dB)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 9 / 99

Tipos de codigos

Capacidad del codigoCodigos de deteccion de erroresCodigos de correccion de errores

Mecanismo de introduccion de la redundanciaCodigos bloque

Bloques de k bits se codifican de forma independienteConcepto clave: distancia entre palabras codigo

Codigos convolucionalesCodificacion continua mediante filtrado digital

Estadıstico para la decisionSalida dura: decodificacion a partir de los bits decididos B[`]Salida blanda: decodificacion a partir de la salida deldemodulador q[n]

Mejores prestaciones pero mayor complejidad

Borrado de bits: se “marcan” los bits/sımbolos dudosos

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 10 / 99

Ganancia de codificacion

Definicion: diferencia en decibelios entre las relacionesEb/N0 necesarias para alcanzar una determinada BER sincodificar y utilizando la codificacionPermite comparar las prestaciones de distintos codigosDepende de la BER (o de Eb/N0)Puede ser positiva a partir de un cierto valor de Eb/N0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 11 / 99

Codigos bloque - Definiciones

Codificacion independiente de bloques de k bitsConversion en bloques de n bits→ Tasa R = k/n

Definiciones para los bloques de bitsInformacion: bi = [bi[0], bi[1], · · · , bi[k− 1]], i = 0, 1, · · · , 2k − 1Codificados: ci = [ci[0], ci[1], · · · , ci[n− 1]], i = 0, 1, · · · , 2k − 1Codificacion: bi → ci

Diccionario del codigo: mensaje→ palabra codigoPeso de una palabra codigo w(ci)

Numero de unos de la palabraDistancia de Hamming entre dos palabras codigo dH(ci, cj)

Numero de bits diferentes entre ambas palabrasDistancia mınima del codigo: dmin

Mınima distancia de Hamming entre dos palabras codigodistintas

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 12 / 99

Estimador optimo - Salida dura

Observacion condicionada a la transmision de ci

r = ci + e, e = [e[0], e[1], · · · , e[n− 1]]

Modelo probabilıstico del patron de error (BER = ε)

pE(e[j]) = εe[j] · (1− ε)1−e[j] =

ε, e[j] = 11− ε, e[j] = 0

Verosimilitud

pr|c(r|ci) =n−1∏j=0

εr[j]−ci[j] · (1− ε)1−(r[j]−ci[j])

Estimador de maxima verosimilitud (ML)

ci = arg mınci

dH(r, ci)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 13 / 99

Capacidades de deteccion y correccion con salida dura

Distancia mınima del codigo: dmin

Capacidad de deteccion: d = dmin − 1 erroresCapacidad de correccion:

t =

⌊dmin − 1

2

⌋errores

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 14 / 99

Estimador optimo - Salida blanda

Constelacion: M sımbolos (m = log2(M) bits/sımboloSecuencia de sımbolos para una palabra codigo

ci → Ai = [Ai[0],Ai[1], · · · ,Ai[n′ − 1]], n′ =nm

Modelo de la observacion condicionada a ci

q = Ai + e, e = [e[0], e[1], · · · , e[n′ − 1]]

Modelo probabilıstico del error: fE(e[j]) = N(0, σ2z )

Verosimilitud: fq|A(q|Ai) = N(Ai, σ2z )

Estimador de maxima verosimilitud

c = arg mıni

de(q,Ai)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 15 / 99

Codigos bloque lineales

Codigo C(k, n)

Base del codigo: k palabras codigo linealmenteindependientes

g0, g1, · · · , gk−1gi = [gi[0], gi[1], · · · , gi[n− 1]]

Palabra codigo: combinacion lineal de las k bases

ci = bi[0] · g0 + bi[1] · g1 + · · ·+ bi[k − 1] · gk−1

Propiedadesc0 = 0 = [0, 0, · · · , 0] pertenece al codigoTodos los elementos de la base pertenencen al codigoToda combinacion lineal de palabras codigo ∈ C(k, n)Todas las palabra tienen a otra palabra a distancia dmin

dmin = mınci 6=c0

w(ci)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 16 / 99

Matriz generadora del codigo

Agrupacion de la base en una matriz k × n

G =

g0g1...

gk−1

=

g0[0] g0[1] · · · g0[n− 1]g1[0] g1[1] · · · g1[n− 1]

...... . . . ...

gk−1[0] gk−1[1] · · · gk−1[n− 1]

Obtencion de las palabras codigo

ci = bi · G

Codigos sistematicos: el mensaje bi forma parte de ci

ci = [bi|pi] → G = [Ik|P]

ci = [pi|bi] → G = [P|Ik]

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 17 / 99

Matriz generadora del codigo - Ejemplo

Codigo C(2, 5)

G =

[0 1 1 1 01 0 1 0 1

]Palabras codigo

bi ci

0 0 0 0 0 0 00 1 1 0 1 0 11 0 0 1 1 1 01 1 1 1 0 1 1

Codigo sistematicoDistancia mınima del codigo: dmin = 3

Detecta 2 erroresCorrige 1 error

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 18 / 99

Matriz de chequeo de paridad

Matriz (n− k)× n: complemento ortogonal de G

G ·HT = 0 matriz de k × (n− k) ceros

Codigos sistematicos

G = [Ik|P] → H = [PT |In−k]

G = [P|Ik] → H = [In−k|PT ]

Identificacion de palabras codigo

ci ·HT = bi · G ·HT = 0 vector de n− k ceros

Decodificacion mediante sındromeModelo de transmision: r = ci + e (e: patron de error)Sındrome

s = r ·HT = (ci + e) ·HT = e ·HT

Decodificacion: Tabla de sındromesMMC (UC3M) Comunicaciones Digitales Codificacion de Canal 19 / 99

Matriz de chequeo de paridad - Ejemplo

G =

[0 1 11 0 1

∣∣∣∣ 1 00 1

]→ H =

1 0 00 1 00 0 1

∣∣∣∣∣∣0 11 01 1

Tabla de sındromes

e s0 0 0 0 0 0 0 01 0 0 0 0 1 0 00 1 0 0 0 0 1 00 0 1 0 0 0 0 10 0 0 1 0 0 1 10 0 0 0 1 1 0 1

¿? 1 1 0¿? 1 1 1

110→ e1 = 11000, e2 = 00011, e3 = 10110, e4 = 01101Posibilidad: elegir uno de los dos patrones de dos errores

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 20 / 99

Ventaja de trabajar con G y H

Numero de palabras del codigo: 2k

k = 2, n = 5: 4 palabrask = 247, n = 255: 2247 ≈ 2,26 · 1074 palabras

Numero de sındromes posiblesk = 2, n = 5 (t = 1): 8 sındromesk = 247, n = 255 (t = 1): 256 sındromes

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 21 / 99

Metodo de eliminacion - Ejemplo

Sustitucion de filas por combinaciones lineales de otras1a fila: 1a+2a filas2a fila: 1a fila

Codigo C(2, 5)

G =

[1 1 0 1 10 1 1 1 0

]Palabras codigo

bi ci

0 0 0 0 0 0 00 1 0 1 1 1 01 0 1 1 0 1 11 1 1 0 1 0 1

Mismas palabras codigos / distintas asignacionesLa misma matriz H es valida para generar la tabla desındromes

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 22 / 99

Lımite de Hamming

Numero de sındromes con redundancia r = n− k:

2n−k = 2r

Lımite de Hamming para corregir t errores

r ≥ log2 V(n, t), V(n, t) =t∑

j=0

(nj

)

V(n, t): Esfera de Hamming de radio tInterpretacion con numero de sındromes disponibles(

00

)+

(n1

)+ · · ·+

(nt

)≤ 2r

Igualdad: Codigos perfectos

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 23 / 99

Codigos perfectos

Codigos de repeticion (decision por mayorıa)n impar, k = 1, t = (n− 1)/2

Codigos de Hammingn = 2m − 1, k = 2m − m− 1, t = 1Matriz de chequeo: en las columnas aparecen todas lasposibles combinaciones binarias de (n− k) bits, excepto latodo ceros

Ejemplo: Codigo Hamming (4,7)

H =

1 0 0 0 1 1 10 1 0 1 0 1 10 0 1 1 1 0 1

Codigo de Golay

n = 23, k = 11, t = 3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 24 / 99

Prestaciones - Decodificacion dura

Probabilidad de error de bit (BER): εSe comenten errores cuando se excede la capacidad decorreccion del codigoCodigo de correccion de t errores

Pe =n∑

j=t+1

(nj

)· εj · (1− ε)n−j

Codigos que corrigen todos los patrones de t errores y apatrones de t + 1 errores

Pe =

[(n

t + 1

)− a]·εt+1 · (1−ε)n−t−1 +

n∑j=t+2

(nj

)·εj · (1−ε)n−j

Codificacion tipo Gray o pseudo-Gray

BER ≈ 1k

Pe

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 25 / 99

Prestaciones - Decodificacion blanda

Probabilidad de error

Pe ≈ c · Q

(de

min

2√

N0/2

)de

min: mınima distancia euclıdea entre las secuencias desımbolos correspondientes a dos palabras codigodiferentesc: maximo numero de palabras de distancia mınima de unadada

Modulaciones binarias

de(ci, cj) = d(a0, a1)√

dH(ci, cj)

Pe ≈ c · Q

(d(a0, a1)

2√

N0/2

√dmin

)MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 26 / 99

Codigos cıclicos

Codigos bloque linealesDefinicion: si ci = [ci[0], ci[1], · · · , ci[n− 1]] ∈ C(k, n),entonces c′i = [ci[1], · · · , ci[n− 1], ci[0]] ∈ C(k, n)

Caracterizacion mediante un polinomio generador g(x)

Codificacion: multiplicacion por el polinomioDecodificacion: division por el polinomioImplementacion mediante registros de desplazamiento

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 27 / 99

Codificacion/Decodificacion

Representaciones polinonicasPolinomio generador: g(x), grado n− kPolinomio de chequeo: h(x), tal que g(x)× h(x) = xn − 1Palabras mensaje: b(x), grado k − 1Palabras codigo y recibida: c(x), r(x), grado n− 1Sındrome: s(x), grado n− k − 1

Codificacion

c(x) = b(x)× g(x) mod xn − 1

Decodificacion

s(x) = r(x)× h(x) mod xn − 1

r(x) = a(x)× g(x) + s(x)

Division por g(x) y quedarse con el resto

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 28 / 99

Ejemplo: codigo C(4, 7)

Polinomio generador: g(x) = x3 + x + 1Mensaje: b = [0 1 0 1]→ b(x) = x2 + 1Palabra codigo

c(x) = (x2 + 1)× (x3 + x + 1) = x5 + x2 + x + 1

c = [0 1 0 0 1 1 1]

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 29 / 99

Codificacion mediante registros de desplazamiento

n registrosRamas con sumadores: indicadas por el polinomioSe introduce el mensaje bit a bitLa palabra codificada corresponde a los bits en losregistros al final del proceso

- - n?- - - n?- - - -

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 30 / 99

Ejemplo b = [0101]

[0 1 0 1]

- 0 - k?- 0 - 0 - k?- 0 - 0 - 0 - 0

[0 1 0 1]

- 1 - k?- 1 - 0 - k?- 1 - 0 - 0 - 0

[0 1 0 1]

- 0 - k?- 1 - 1 - k?- 0 - 1 - 0 - 0

[0 1 0 1]

- 1 - k?- 1 - 1 - k?- 0 - 0 - 1 - 0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 31 / 99

Codigos de Hamming

Existen implementaciones cıclicasAlgunos ejemplos:

m = 3 (n = 7, k = 4): g(x) = x3 + x + 1m = 4 (n = 15, k = 11): g(x) = x4 + x + 1m = 5 (n = 31, k = 26): g(x) = x5 + x2 + 1m = 6 (n = 63, k = 57): g(x) = x6 + x + 1m = 7 (n = 127, k = 120): g(x) = x7 + x3 + 1m = 8 (n = 255, k = 247): g(x) = x8 + x4 + x3 + x2 + 1m = 9 (n = 511, k = 502): g(x) = x9 + x4 + 1m = 10 (n = 1023, k = 1013): g(x) = x10 + x3 + 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 32 / 99

Codigos Golay

k = 12, n = 23, t = 3 (dmin = 7)Codigo cıclico

g1(x) = x11 + x10 + x6 + x5 + x4 + x2 + 1g2(x) = x11 + x9 + x7 + x4 + x3 + x2 + x + 1

Polinomios de chequeo de paridadh1(x) = x12 + x11 + x10 + x9 + x8 + x5 + x2 + 1h2(x) = x12 + x10 + x7 + x4 + x3 + x2 + x + 1

Codigo de Golay extendidoAnade un bit de paridadTasa 1/2 (facilidad de implementacion)Capacidad de corregir el 19 % de patrones de 4 errores

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 33 / 99

Codigos cıclicos sistematicos

Definicion de la palabra codigo

c(x) = b(x)× xn−k + d(x)

d(x) = resto de(

b(x)× xn−k

g(x)

)Ejemplo: b(x)× x3 = x5 + x3

x5 + x3 = x2 × (x3 + x + 1) + x2 → d(x) = x2

c(x) = x5 + x3 + x2 → c = [0 1 0 1 1 0 0]

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 34 / 99

Division con registros de desplazamiento

n− k registrosRamas con sumadores: indicadas por g(x)

Se introduce bit a bit b(x)× xn−k

El resto es el contenido final de los registros

- ?- - ?- - -

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 35 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?0 - 0 - ?- 0 - 0 -0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?1 - 1 - ?- 0 - 0 -0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?0 - 0 - ?- 1 - 0 -0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?1 - 1 - ?- 0 - 1 -0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?0 - 1 - ?- 0 - 0 -1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?0 - 0 - ?- 1 - 0 -0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

- ?0 - 0 - ?- 0 - 1 -0

Resto: d(x) = x2 (igual que antes)Reduccion de iteraciones: colocar en los registros los datoscorrespondientes a las k primeras iteraciones

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 36 / 99

Decodificador codigos sistematicos

Tomar la parte sistematica y volverla a codificar: d′(x)

Definicion del sındrome

s(x) = d(x)− d′(x)

Generacion de tabla de sındromes para decodificacion

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 37 / 99

Limitaciones de los codigos bloque

Tamano de la tabla de sındromes - Crecimientoexponencial

Ejemplo: n = 23, t = 1: 23 entradasEjemplo: n = 23, t = 2: 276 entradasEjemplo: n = 23, t = 3: 2047 entradas

Prestaciones relacionadas con la distancia mınimaSu calculo requiere conocer las palabras del codigoNo hay aproximaciones constructivas para obtener una dmin

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 38 / 99

TEMA 5

TECNICAS DE PROTECCION FRENTE A ERRORES

(CODIGOS CONVOLUCIONALES)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 39 / 99

Codigos convolucionales

Introduccion de la redundancia mediante filtradoIntroduccion de memoria

Tasa R = k/n: Banco de filtros conk entradasn salidas

-B(0)[`]D - D - D

-C(0)[`]

-C(1)[`]

.

.......................................................................................................................................................................................................................................................................................................................................

.

........................................................................................................................................................................................................................................

................................................................................................

........................................................................................

........................................................................................

...............................

.

...................................................................................................

......................

......................

......................

......................

..........

Notacion:Entradas: B(i)[`], con i = 0, 1, · · · , k − 1Salidas: C(j)[`], con j = 0, 1, · · · , n− 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 40 / 99

Representaciones

Esquematica

-B(0)[`]D - D - D

ii-C(0)[`]

-C(1)[`]

.....................................................................................................................................................................................................

.....................................................................................................................

.................................................................................

........................................................................................

....................................

.

............................................................

......................

......................

...............

Relacion entrada salidas

C(0)[`] = B(0)[`] + B(0)[`− 1] + B(0)[`− 3]

C(1)[`] = B(0)[`] + B(0)[`− 1] + B(0)[`− 2] + B(0)[`− 3]

Notacion mediante polinomios en D

B(i)(D) =∑`

B(i)[`] · D`

PropiedadB(i)[`− d]↔ B(i)(D) · Dd

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 41 / 99

Representaciones (II)

Notacion mediante polinomios en D

C(0)(D) = B(0)(D)

1 + D + D3C(1)(D) = B(0)(D)

1 + D + D2 + D3

Notacion matricial (polinomios):

C(D)1×n = B(D)1×k · G(D)k×n

Matriz generadora de tamano k × nElemento fila i columna j: contribucion a la salida j-esima dela entrada i-esimaEjemplos

Ejemplo anterior (A): k = 1, n = 2

G(D) =[1 + D + D3, 1 + D + D2 + D3]

1×2

Otro ejemplo (B): k = 2,

G(D) =

[1 + D D D

D 1 D

]2×3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 42 / 99

Paso a representacion esqumatica - Ejemplo B

G(D) =

[1 + D D D

D 1 D

]2×3

Numero de entradas: k = 2Numero de salidas: n = 3

-B(0)[`]D

-B(1)[`]D

-C(0)[`]

-C(1)[`]

-C(2)[`]

.

.................................................................................................................

........................

........................

........................

........................

.................

.......................................................................................................................................................................................................................................................................................

.

........................................................................................................................................................................................................................................................................................

........................

........................

........................

........................

................

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 43 / 99

Parametros de interes

Memoria total del codigo: Mt

Numero total de unidades de retardo (memorias)

Mt =

k−1∑i=0

M(i)

Memoria de la entrada i-esima: M(i) = maxj

grado(gi,j(D))

Longitud de restriccion: KMaxima longitud de la respuesta al impulso del codificador(maximo numero de instantes de tiempo en los que un bitafecta a la salida del codificador)

K = 1 + maxi,j

grado(gi,j(D))

En general las prestaciones aumentan con K

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 44 / 99

Codigos sistematicos

Matriz de generacion

G(D) = [Ik P(D)]

Las entradas se “copian” en algunas de las salidasEjemplo (C)

G(D) =[1, 1 + D + D2]

-B(0)[`]D - D

-C(0)[`]

-C(1)[`].

..........................................................................................................................................................

................................................................

.

......................

......................

......................

......................

..........

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 45 / 99

Diagrama de rejilla

Definicion del estadoContenido de las memorias del codificador

ψ[`] = [B(0)[`−1], · · · ,B(0)[`−M(0)], · · · ,B(k−1)[`−1], · · · ,B(k−1)[l−M(k−1)]]

Etiquetado de la rejillaBits a la entrada del codificadorBits a la salida del codificador

B(0)[`],B(1)[`], · · ·B(k−1)[`]

∣∣∣∣ C(0)[`],C(1)[`], · · ·C(n−1)[`]

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 46 / 99

Ejemplo - Convolucional D

Estado: ψ[`] =[B(0)[`− 1],B(0)[`− 2]

]Estados: ψ0 = [0, 0], ψ1 = [1, 0], ψ2 = [0, 1], ψ3 = [1, 1]

- D - D

- k- k

-

?

-

B(0)[`]

C(0)[`]

C(1)[`]

rrrr

rrrr

. ......................................................................................................................................................................................................................................................................................................

..............................................................................................................................................................................................................................................................................................................................................

.

...............................................................................................................................................................................................................................................................................................................................................

.......................................................................................................................................................................................................................................................................................................................................................................................

.

..................................................

..................................................

..................................................

..................................................

..................................................

..................................................

...................................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

...........

.

..................................................

..................................................

..................................................

..................................................

..................................................

..................................................

................................... .....................................................................................................................................................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ψ[n] ψ[n + 1]ψ0

ψ1

ψ2

ψ3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 47 / 99

Ejemplo - Convolucional E

Estado: ψ[`] =[B(0)[`− 1],B(0)[`− 2]

]Estados: ψ0 = [0, 0], ψ1 = [1, 0], ψ2 = [0, 1], ψ3 = [1, 1]

-B(0)[`]D - D

- k-

-C(0)[`]

C(1)[`]

rrrr

rrrr

. ......................................................................................................................................................................................................................................................................................................

..............................................................................................................................................................................................................................................................................................................................................

.

...............................................................................................................................................................................................................................................................................................................................................

.......................................................................................................................................................................................................................................................................................................................................................................................

.

..................................................

..................................................

..................................................

..................................................

..................................................

..................................................

...................................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

............................

...........

.

..................................................

..................................................

..................................................

..................................................

..................................................

..................................................

................................... .....................................................................................................................................................................................................................................................................................................

0|00

1|010|10

1|110|01

1|000|11

1|10

ψ[n] ψ[n + 1]ψ0

ψ1

ψ2

ψ3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 48 / 99

Secuencia de bits - Camino a traves de la rejilla

Secuencia de datos: B(0)[`] = [11010]

Estado inicial: ψ0 (Se fija con el envıo de una cabecera debits)

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ψ[0] ψ[1] ψ[2] ψ[3] ψ[4] ψ[5]

ψ0

ψ1

ψ2

ψ3

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

Secuencia codificada: C[k] = [11 10 10 00 01]

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 49 / 99

Decodificacion - Algoritmo de Viterbi

Recuperacion de la secuencia mas verosımilEstados inicial/final

Cabecera de referencia (habitualmente ceros “bit flushing”)Salida dura: observacion de bits decididos

Secuencia con el menor numero de bits codificados distintosa la observacionMetrica de rama: distancia de Hamming con la observacion

Salida dura: observacion de q[n]

Secuencia cuyos sımbolos asociados estan a la menordistancia euclıdea de la observacionMetrica de rama: |q[n]− A[n]|2

Hay que tener en cuenta la constelacion que se utiliza parahacer la conversion de las etiquetas de la rejilla basica asımbolos de la constelacion (A[n])

Mejores prestaciones que con salida blanda

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 50 / 99

Metricas de rama - Salida dura

Secuencia recibida: R[k] = [11 10 10 00 01]

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ψ[0] ψ[1] ψ[2] ψ[3] ψ[4] ψ[5]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

2

01

10

21

1

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

1

12

01

10

2

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

1

12

01

10

2

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0

21

12

01

1

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

1

10

21

12

0

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 51 / 99

Metricas acumuladas en cada estado (Viterbi)

ψ[1] ψ[2] ψ[3] ψ[4] ψ[5]ψ3 – 0 2/3 3/4 3/2ψ2 – 2 0/5 3/4 0/0ψ1 0 3 3/4 0/5 4/3ψ0 2 3 3/4 2/3 4/3

Si no hay errores: camino con metrica acumulada nula

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 52 / 99

Metricas de rama - Salida blanda

Secuencia recibida: q[n] =[

1,10,9

] [1,1−0,8

] [0,75−0,6

] [−1,2−1,1

] [−0,71,2

]

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

s

s

s

s+1−1

+1

−1

00

01

10

11

ψ[0] ψ[1] ψ[2] ψ[3] ψ[4] ψ[5]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

8,02

0,024,42

3,620,02

8,023,62

4,42

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

4,45

3,257,65

0,053,25

4,450,05

7,65

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

3,22

2,625,62

0,222,62

3,220,22

5,62

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

0,05

9,254,45

4,859,25

0,054,85

4,45

ssss

ssss

. .........................................................................................................................................................................

....................................................................................................................................................................................................

.

.....................................................................................................................................................................................................

................................................................................................................................................................................................................................

.

..........................................

..........................................

..........................................

..........................................

.............................

........................

........................

........................

........................

........................

........................

........................

........................

........................

........

.

..........................................

..........................................

..........................................

..........................................

............................. ........................................................................................................................................................................

4,93

2,930,13

7,732,93

4,937,73

0,13

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 53 / 99

Metricas acumuladas en cada estado (Viterbi)

ψ[1] ψ[2] ψ[3] ψ[4] ψ[5]ψ3 – 0,07 5,69/11,49 10,14/15,74 10,27/8,07ψ2 – 7,67 0,29/16,89 10,54/15,34 17,87/0,47ψ1 0,02 11,27 10,89/15,09 0,34/19,54 15,47/12,47ψ0 8,02 12,47 10,29/15,69 9,54/10,34 13,47/14,47

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 54 / 99

Prestaciones

Salida dura

Pe ≈ c ·n·z∑i=t

(n · z

i

)· εi · (1− ε)n·z−i

DHmin: mınima distancia de Hamming entre salidas para

secuencias distintasz: longitud del evento erroneo de distancia mınimat =

⌊DH

min−12

⌋(capacidad de correccion sobre n · z bits)

ε: probabilidad de error de bit del sistema (BER)Salida blanda

Pe ≈ c · Q

(De

min

2√

N0/2

)De

min: mınima distancia euclıdea entre salidas parasecuencias distintas

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 55 / 99

Calculo de DHmin

Comparacion con la secuencia de todo ceros

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ψ0

ψ1

ψ2

ψ3

rrrr

rrrr

.

..........................................................................................................................................................

2

2

rrrr

.

...........................................................................................................................................................

..................................................................................................................................................................................................................

1

1

3

3

rrrr. ...............................................................................................................................

..................................

..................................

..................................

..................................

..................

.

..................................

..................................

..................................

..................................

...................

........................

........................

........................

........................

........................

........................

........................

........................

..................

1

1

0

2

4

4

3

5

DHmin = 5

z = 3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 56 / 99

TEMA 5

TECNICAS DE PROTECCION FRENTE A ERRORES

(CODIGOS DE REJILLA (TCM))

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 57 / 99

Codigos de rejilla

Conocidos tambien como codigos TCMTrellis Coded Modulation

Diseno conjunto de codigos convolucionales y delcodificador del transmisorUso eficiente del ancho de banda de un canal

La redundancia se introduce aumentando el orden de laconstelacion

Orden de la constelacion acorde al tamano de la salidacodificada

Posibilidad de tasas relativamente altas mediante las“transiciones paralelo”

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 58 / 99

Codigos de rejilla - Definiciones

Convolucionalknp, nnp

...knp ... nnp

...kp np

Constelacionn = np + nnp

bits/sımbolo

k entradaskp transiciones “paralelo” (sin proteger)knp transiciones “no paralelo” (protegidas)

n salidasnp = kp transiciones “paralelo” (sin proteger)nnp transiciones “no paralelo” (protegidas)

Constelacion: 2n sımbolos (n = np + nnp bits/sımbolo)MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 59 / 99

Codigos de rejilla - Asignacion de bits

Reglas de diseno: reglas de UngerboeckAsignacion para minimizar la probabilidad de errorDivision de la constelacion + asignacion de bits

Division de la constelacion en subconstelacionesDivision sucesiva aumentando la distancia mınimaSımbolos por subconstelacion: 2np

Numero de subconstelaciones: 2nnp

Asignacion de bitsTransiciones paralelo: seleccion de un sımbolo dentro de lasubconstelacion

Proteccion “fısica” sobre la constelacion (Gray)Transiciones no paralelo: seleccion de una subconstelacion

Proteccion mediante codigo convolucionalMaxima distancia: ramas que salen de o llegan a un mismoestadoEquiprobabilidad en la asignacion de sımbolos

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 60 / 99

Ejemplo: kp = 1, knp = 1, nnp = 2, 8-PSK

Codigo de tasa 2/3Una transicion en paraleloConvolucional de tasa 1/2 (Convolucional Ejemplo D)

Convolucional1/2

Constelacion3 bits/sımbolo

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

Constelacion con 3 bits por sımbolo: 8 sımbolos8-PSK

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 61 / 99

Ejemplo: Division de la constelacion

s s sssss s

s c scscs c

B0 c s cscsc s

B1

s c ccscc c

C0 c c scccs c

C1 c s cccsc c

C2 c c csccc s

C3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 62 / 99

Ejemplo: Asignacion de las transiciones no paralelo

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

xxxx

xxxx

. ................................................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................

.

.......................................................................................................................................................................................................................................................................................................................................................................................

.............................................................................................................................................................................................................................................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..........................................................

..........................................................

..........................................................

...........................

................................

................................

................................

................................

................................

................................

................................

................................

................................

................................

................................

................................

.............................

.

..........................................................

..........................................................

..........................................................

..........................................................

..........................................................

..........................................................

........................... ...............................................................................................................................................................................................................................................................................................................................................

C0

C1

C2

C3

C1

C0

C3

C2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 63 / 99

Asignacion (convolucional D)

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

0|00

1|110|01

1|100|11

1|000|10

1|01

ψ[n] ψ[n + 1]

ψ0

ψ1

ψ2

ψ3

ssss

ssss

. .........................................................................................................................................................................

...........................................................................................................................................................................................

.

............................................................................................................................................................................................

...............................................................................................................................................................................................................

.

..........................................................

..........................................................

..........................................................

..............

................................

................................

................................

................................

................................

................................

...............

.

..........................................................

..........................................................

..........................................................

.............. ........................................................................................................................................................................

C0

C1C2

C3C1

C0C3

C2

s sssss

ss 0|00

1|01

0|10

0|11

1|10

0|11

1|000|01

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 64 / 99

Prestaciones

Distancia mınima del codigo - La mınima de:Distancia mınima paraleloEjemplo anterior (constelacion normalizada): dp = 2

Mınima distancia entre puntos de las subconstelacionesDistancia mınima no paralelo

Distancia del convolucional medida sobre lassubconstelacionesEjemplo anterior

dnp =√

d2(C0,C1) + d2(C0,C2) + d2(C0,C1) = 2,14

Ganancia de codificacionComparacion con la constelacion equivalente sin codificar(misma velocidad de transmision efectiva)Ejemplo anterior: 4-PSK

G =ESC

b

ETCMb·(dTCM

min

)2(dSC

min

)2 = 2 (3 dB)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 65 / 99

TEMA 5

TECNICAS DE PROTECCION FRENTE A ERRORES

(CODIGOS BCH)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 66 / 99

Campos finitos (Campos de Galois)

Definicion de campoConjunto de elementos sobre el que es posible definir dosoperaciones, suma (resta) y producto (division, excepto porel elemento nulo), y dos elementos distinguidos, elementonulo (0), elemento unidad (1), que cumplen las siguientespropiedades:

AsociativaConmutativaDistributiva

Campo finitoNumero finito, q, de elementos del campo: Orden q, GF(q)Orden primo: pn con p primo y n enteroConstruccion:

Polinomio irreducible de grado n y coeficientes en GF(p)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 67 / 99

Campos finitos GF(2m)

Modelo para grupos de m bits (m-tuplas)Representaciones de los miembros del campo

Polinomios en α de grado m− 1Tupla Polinomio000 0001 1010 α011 α+ 1

Tupla Polinomio100 α2

101 α2 + 1110 α2 + α111 α2 + α+ 1

Potencia de α (αj, para j = −∞, 0, 1, · · · ,m− 2)Restriccion sobre αm para el producto (consistencia)

Polinomio generadorCoeficientes binarios (p = 2)Ejemplo: p(x) = x3 + x + 1Restriccion: α3 = α+ 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 68 / 99

Definiciones

Polinomio irreduciblePolinomio que no se puede factorizar

Polinomio primitivop(x) de grado m es primitivo si el menor entero n para el quep(x) divide a xn − 1 es n = 2m − 1

Polinomio minimal de αi

Polinomio de menor grado con αi como raız (polinomio concoeficientes binarios)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 69 / 99

Polinomio generador

Polinomio irreduciblePolinomio primitivoPolinomio de grado mα es una raız del polinomio→ restriccion sobre αm

p(α) = α3 + α + 1 = 0→ α3 = α + 1

Polinomio primitivo→ restriccion de periodicidadp(x) divide a xn − 1 (con n = 2m − 1)αn = 1 = α0

Periodicidad exponencial de perıodo nElementos del campo

Resto del cociente con p(α) (polinomio)Ejemplo: α3 + α2 + α+ 1 = (α+ 1) + α2 + α+ 1 = α2

α3 + α2 + α + 1 = (α3 + α + 1)× 1 + α2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 70 / 99

Adjudicacion de αj a una tupla

Utilizacion de la restriccion del polinomio generador

αj Polinomio Tuplaα−∞ = 0 0 000α0 = 1 1 001α1 α 010α2 α2 100α3 α + 1 011α4 α · (α3) = α2 + α 110α5 α3 + α2 = α2 + α + 1 111α6 α3 + α2 + α = α + 1 + α2 + α = α2 + 1 101α7 α3 + α = α + 1 + α = 1

Periodicidad de perıodo n = 2m − 1:

αn = α0 ←(αk = αk %n)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 71 / 99

Polinomios minimales - Cosets ciclotomicos

Coset ciclotomicoConjunto que agrupa a las raices que comparten lospolinomios minimalesExponentes de las raices agrupadas en el coset Ci

i, 2i, 22i, · · · , 2zi−1izi: mınimo valor que cumple α2zi i = αi

Raıces Polinomio minimal0 x

C0 = 1 x + 1C1 = α, α2, α4 x3 + x + 1C3 = α3, α6, α5 x3 + x2 + 1

Raıces de xn − 1: α0 (1),α, α2, · · · , αn−1

x7 − 1 = (x− 1) · (x− α) · · · (x− α6)

Producto de los polinomios minimales de los cosetsx7 − 1 = (x + 1) · (x3 + x + 1) · (x3 + x2 + 1)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 72 / 99

Formacion de los cosets (ejemplo)

Coset C0

C0 = 1, 12 = 1

Coset C1

C1 =α, α2, α4 , α8 = α

Coset C2: α2 ya esta incluido en C1

Coset C3

C3 =α3, α6, α12 = α5 , α24 = α3

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 73 / 99

Formacion de los polinomios binarios

Agrupamiento de raıces distintas a todas las de un coset

p(x) = (x− α) · (x− α2) = x2 − (α + α2) · x + α3

Polinomio con coeficientes no binariosPolinomio minimal de C1

p1(x) =(x− α) · (x− α2) · (x− α4)

=(x2 − (α + α2) · x + α3) · (x− α4)

=x3 − (α + α2 + α4) · x2 + (α3 + α5 + α6) · x− α7

=x3 + (α + α2 + α2 + α) · x2

+ (α + 1 + α2 + α + 1 + α2 + 1) · x− 1

=x3 + x + 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 74 / 99

Codigos BCH

Acronimo de Bose, Chaudhuri y HocquenghemCodigos versatiles y constructivos

Cualquier distancia mınimaCualquier longitud de codigo impar (n impar)Permite el diseno de codigos no binariosCasos particulares interesantes

HammingGolayReed Solomon (no binario)

Algoritmo eficiente de decodificacionPrincipio basico para su diseno

Teorema BCH

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 75 / 99

Teorema BCH (simplificado) - Diseno de codigos BCH

Un codigo cıclico C(k, n) con un polinimio generador g(x)que tiene δ − 1 raıces consecutivas en un campo GF(2m),con el menor m tal que 2m − 1 sea multiplo de n, es uncodigo cıclico que garantiza un distancia mınima δ

dmin ≥ δ

Codigo con capacidad de correccion de t erroresDistancia mınima dmin ≥ 2 · t + 1Buscar un entero m tal que n = 2m − 1 (o n divisor de 2m − 1)Agrupar dmin − 1 raıces consecutivas en GF(2m)

Obtencion del polinomio generador g(x)Utilizacion de los polinomios minimales→ coeficientes binariosTamano del codigo: grado(g(x))=n− k

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 76 / 99

Ejemplo: n = 63

m = 6Polinomio generador p(x) = x6 + x + 1Cosets y polinomios minimales

Elementos del coset Polinomio minimal

C0 =α0 = 1

p0(x) = x + 1

C1 =α1, α2, α4, α8, α16, α32

p1(x) = x6 + x + 1

C3 =α3, α6, α12, α24, α33, α48

p3(x) = x6 + x4 + x2 + x + 1

C5 =α5, α10, α17, α20, α34, α40

p5(x) = x6 + x5 + x2 + x + 1

C7 =α7, α14, α28, α35, α49, α56

p7(x) = x6 + x3 + 1

C9 =α9, α18, α36

p9(x) = x3 + x21

C11 =α11, α22, α25, α37, α44, α50

p11(x) = x6 + x5 + x3 + x2 + 1

C13 =α13, α19, α26, α38, α41, α52

p13(x) = x6 + x4 + x3 + x + 1

C15 =α15, α30, α39, α51, α57, α60

p15(x) = x6 + x5 + x4 + x2 + 1

C21 =α21, α42

p21(x) = x2 + x + 1

C23 =α23, α29, α43, α46, α53, α58

p23(x) = x6 + x5 + x4 + x + 1

C27 =α27, α45, α54

p27(x) = x3 + x + 1

C31 =α31, α47, α55, α59, α61, α62

p31(x) = x6 + x5 + 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 77 / 99

Polinomio generador para t = 3 errores

Distancia mınima: dmin = 7Raıces necesarias: 6 raıces consecutivas

α, α2, α3, α4, α5 y α6

Polinomios minimales necesariosp1(x) (α, α2, α4), p3(x) (α3, α6), p5(x) (α5)

Polinomio generador g(x)

p(x) =p1(x) · p3(x) · p5(x)

=x18 + x17 + x16 + x15 + x9 + x7 + x6 + x3 + x2 + x + 1

Caracterısticas del codigok = 63− 18 = 45Redundancia r = n− k = 18 (numero de raıces)6 raıces “utiles”12 raıces “no utiles”

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 78 / 99

Diseno para n 6= 2m − 1

Se puede disenar el codigo si n es un divisor de 2m − 1Ejemplo: n = 21→ 2m−1

n = 3 (para m = 6)n raıces de xn − 1 entre las 2m − 1 raıces de x2m−1 − 1

Cosets Ci tales que i · n2m−1 ∈ Z

Elementos del coset Polinomio minimal

C0 =α0 = 1

p0(x) = x + 1

C1 =α1, α2, α4, α8, α16, α32

p1(x) = x6 + x + 1

C3 =α3, α6, α12, α24, α33, α48

p3(x) = x6 + x4 + x2 + x + 1

C5 =α5, α10, α17, α20, α34, α40

p5(x) = x6 + x5 + x2 + x + 1

C7 =α7, α14, α28, α35, α49, α56

p7(x) = x6 + x3 + 1

C9 =α9, α18, α36

p9(x) = x3 + x2 + 1

C11 =α11, α22, α25, α37, α44, α50

p11(x) = x6 + x5 + x3 + x2 + 1

C13 =α13, α19, α26, α38, α41, α52

p13(x) = x6 + x4 + x3 + x + 1

C15 =α15, α30, α39, α51, α57, α60

p15(x) = x6 + x5 + x4 + x2 + 1

C21 =α21, α42

p21(x) = x2 + x + 1

C23 =α23, α29, α43, α46, α53, α58

p23(x) = x6 + x5 + x4 + x + 1

C27 =α27, α45, α54

p27(x) = x3 + x + 1

C31 =α31, α47, α55, α59, α61, α62

p31(x) = x6 + x5 + 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 79 / 99

Diseno para n 6= 2m − 1 - Cosets para n

Nuevos cosets C′i a partir de Cj

Dividir los exponentes por 2m−1n

Polinomios par las nuevas raıces

Elementos del coset Polinomio minimalC′0 =

α0 = 1

p′0(x) = x + 1

C′1 =α1, α2, α4, α8, α11, α16

p′1(x) = x6 + x4 + x2 + x + 1

C′3 =α3, α6, α12

p′3(x) = x3 + x2 + 1

C′5 =α5, α10, α13, α17, α19, α20

p′5(x) = x6 + x5 + x4 + x2 + 1

C′7 =α7, α14

p′7(x) = x2 + x + 1

C′9 =α9, α15, α18

p′9(x) = x3 + x + 1

Menos eficiencia que para n = 2m − 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 80 / 99

Decodificacion de codigos BCH binarios

Decodificacion en tres pasosObtencion del sındromeObtencion del polinomio localizador de errores Λ(x)Encontrar las raıces de Λ(x)

Dos implementaciones algorıtmicasAlgoritmo de Peterson (1960)

Complejidad escala con t2

Algoritmo de Berlekamp (1967)Complejidad escala con t

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 81 / 99

Obtencion del sındromeConstruccion del codigo: 2t raıces consecutivas

g(αa) = g(αa+1) = · · · = g(αa+2t−1) = 0

Representacion de la palabra codificada: c(x) = b(x) · g(x)

Para las palabras codigo

c(αa) = c(αa+1) = · · · = c(αa+2t−1) = 0

Representacion polinomica de la palabra recibida

r(x) = r[0] · xn−1 + r[1] · xn−2 + · · ·+ r[n− 1] · 1 =n∑

i=1

r[i− 1] · xn−i

Sındrome j (para la raız αj)

sj = r(αj) =

n∑i=1

r[i− 1] · (αj)n−i =

n∑i=1

e[i− 1] · (αj)n−i = αbj

Polinomio de sındrome

s(x) = sa · x + sa+1 · x2 + · · ·+ sa+2t−1 · x2t

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 82 / 99

Ejemplo

Codigo n = 31, k = 21, t = 2 errores

g(x) = x10 + x9 + x8 + x6 + x5 + x3 + 1

Palabra recibidar(x) = x12 + x11 + x8 + x7 + x2

Calculo de los sındromes

s1 = r(α) = α12 + α11 + α8 + α7 + α2 = α7

s2 = r(α2) = (α2)12 + (α2)11 + (α2)8 + (α2)7 + (α2)2 = α14

s3 = r(α3) = (α3)12 + (α3)11 + (α3)8 + (α3)7 + (α3)2 = α8

s4 = r(α4) = (α4)12 + (α4)11 + (α4)8 + (α4)7 + (α4)2 = α28

Polinomio de sındrome

s(x) = α7 · x + α14 · x2 + α8 · x3 + α28 · x4

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 83 / 99

Calculo de sındrome mediante matriz de paridad

Calculo de sındromes de ındice impar

s = Hr =

αn−1 αn−2 · · · α 1α3(n−1) α3(n−2) · · · α3 1

...... . . . ...

...αb(n−1) αb(n−2) · · · αb 1

·

r[0]r[1]

...r[n− 1]

b = 2t − 1

Calculo de los sındromes de ındice par

s2·i = (si)2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 84 / 99

Calculo del sındrome mediante division

Factorizacion de g(x) mediante polinomios minimales

g(x) = pa(x) · pb(x) · · · pc(x) = pa(x) · q(x)

Representacion de la palabra recibida

r(x) = c(x) · q(x) · pa(x) + R(x)

Sındrome si (Notacion: pa(x) polinomio minimal de αi)

si = r(αi) = R(αi)

Resto de la division con pa(x) evaluado en αi

Evaluacion eficiente mediante registros de desplazamiento

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 85 / 99

Polinomio localizador de error

Polinomio cuyas raices identifican las posiciones de loserroresPosiciones de los errores: i1, i2, ·iv con (v ≤ t)Polinomio localizador de error

Λ(x) =v∏

j=1

(1− αij · x

)= Λv · xv + Λv−1 · xv−1 + · · ·Λ1 · x + 1

Calculo de los coeficientes del polinomioAlgoritmo de Peterson (solucion matricial)Algoritmo de Berlekamp (solucion iterativa)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 86 / 99

Algoritmo de Peterson

Sistema matricial de ecuacioness1 s2 s3 · · · st

s2 s3 s4 · · · st+1

s3 s4 s5 · · · st+2...

...... . . . ...

st st+1 st+2 · · · s2t−1

·

Λt

Λt−1

Λt−2...

Λ1

=

st+1

st+2

st+3...

s2t

Obtencion de los coeficientes mediante la inversion de lamatrizSi el determinante es nulo

Quitar una fila y una columna (t − 1 errores)Repetir hasta que el determinante sea no nulo

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 87 / 99

Algoritmo de Berlekamp

Solucion recursiva al sistema de ecuaciones

st+k =t∑

j=1

Λj · st+k−j

Calculo mas eficiente del polinomioAlgoritmo con t iteraciones

1 Inicializacion: k = 0, Λ(0)(x) = 1, T(0)(x) = 12 Z(k) = coeficiente de x2k+1 de Λ(k)(x) · [1 + s(x)]3 Λ(k+1)(x) = Λ(k)(x) + Z(k) · [xT(k)(x)]4 Actualizar T(k+1)(x)

T(k+1)(x) = x2 · T(k)(x) si Z(k) = 0 o grado(Λ(k)(x)) > kT(k+1)(x) = x · T(k)(x)/Z(k) si Z(k) 6= 0 y grado(Λ(k)(x)) ≤ k

5 k = k + 1. Si k < t volver a 2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 88 / 99

Busqueda de las raıces de Λ(x)

Para un error en la posicion i-esima

Λ(α−i) = 0

Busqueda de Chien: probar con todas las posiciones in− 1→ Λ(α−(n−1)) = 0→ Λ(α) = 0n− 2→ Λ(α−(n−2)) = 0→ Λ(α2) = 0n− j→ Λ(α−(n−j)) = 0→ Λ(αj) = 0

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 89 / 99

Codigos Reed Solomon (RS)

Variante no binaria de los codigos BCHCodigos definidos sobre sımbolos de GF(pm)

k→ n sımbolos Reed Solomon (m-tuplas de bits)

Longitud del codigo n = pm − 1Son codigos de distancia mınima dmin = n− k + 1

Valor maximo posible (lımite de Singleton)Diseno del codigo para corregir t errores

Obtencion del polinomio generador g(x) agrupando 2t raıces

g(x) = (x− α) · (x− α2) · · · (x− α2t)

Coeficientes de g(x) en GF(2m) (no binarios)Sımbolos Reed Solomon

No hay raıces inutiles: mınima redundancia

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 90 / 99

Codificacion

Mensaje a codificarBloque de k sımbolos RS (m-tuplas de bits)Representacion polinomica b(x)

Grado k − 1Coeficientes en GF(2m) (no binarios)

Palabra codificadaBloque de n sımbolos RSRepresentacion polinomica c(x)

Grado n− 1Coeficientes en GF(2m) (no binarios)

Codificacionc(x) = b(x) · g(x)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 91 / 99

Ejemplo - Codigo RS(5, 7) - t = 1 error

Sımbolos sobre GF(23)(n = 2m − 1, m = 3)

αj Polinomio Tuplaα−∞ = 0 0 000

α0 1 001α1 α 010α2 α2 100α3 α + 1 011α4 α2 + α 110α5 α2 + α + 1 111α6 α2 + 1 101

Polinomio generador

g(x) =(x− α) · (x− α2)

=x2 + (α2 + α) · x + (α + 1)

=x2 + α4 · x + α3

Palabra mensaje b = 110 001 011 010 101

b(x) =(α2 + α) · x4 + 1 · x3 + (α + 1) · x2 + α · x + (α2 + 1) · 1=α4 · x4 + x3 + α3 · x2 + α · x + α6

Codificacion c = 110 011 110 000 111 101 100

c(x) = b(x) · g(x) = α4 · x6 +α3 · x5 +α4 · x4 +α5 · x2 +α6 · x +α2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 92 / 99

Lımite de singleton

Maxima distancia mınima para un cosigo C(k, n)

dmin ≤ n− k + 1

Para codigos RS

dmin = 2t + 1 = grado(g(x)) + 1

Redundancia del codigo

n− k = grado(g(x)) = dmin − 1

Distancia mınimadmin = n− k + 1

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 93 / 99

Decodificacion de codigos Reed Solomon

Decodificacion similar a codigos BCH binariosDecodificacion en cuatro pasos

Obtencion del sındromeObtencion del polinomio localizador de errores Λ(x)Encontrar las raıces de Λ(x)Obtencion del polinomio de error e(x)

Implementaciones algorıtmicasAlgoritmo de Peterson-Gorenstein-Zierler

Complejidad escala con t2

Algoritmo de Berlekamp-MasseyComplejidad escala con t

Algoritmo de Forney para magnitudes de error

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 94 / 99

Obtencion del sındromeConstruccion del codigo: 2t raıces consecutivas

g(αa) = g(αa+1) = · · · = g(αa+2t−1) = 0

Representacion de la palabra codificada: c(x) = b(x) · g(x)

Para las palabras codigo

c(αa) = c(αa+1) = · · · = c(αa+2t−1) = 0

Representacion polinomica de la palabra recibida

r(x) = r[0] · xn−1 + r[1] · xn−2 + · · ·+ r[n− 1] · 1 =n∑

i=1

r[i− 1] · xn−i

Sındrome j (para la raız αj)

sj = r(αj) =

n∑i=1

r[i− 1] · (αj)n−i =

n∑i=1

e[i− 1] · (αj)n−i = αbj

Polinomio de sındrome

s(x) = sa · x + sa+1 · x2 + · · ·+ sa+2t−1 · x2t

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 95 / 99

Polinomio localizador de error

Polinomio cuyas raices identifican las posiciones de loserroresPosiciones de los errores: i1, i2, ·iv con (v ≤ t)Polinomio localizador de error

Λ(x) =v∏

j=1

(1− αij · x

)= Λv · xv + Λv−1 · xv−1 + · · ·Λ1 · x + 1

Polinomio de error: magnitud de los errores

e(x) = ei1 · xi1 + ei2 · xi2 + · · ·+ eit · xit

Calculo de los coeficientes de los polinomiosAlgoritmo de Peterson-Gorensten-Zierler (solucion matricial)Algoritmo de Berlekamp-Massey (solucion iterativa)Algoritmo de Forney (solucion iterativa)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 96 / 99

Algoritmo de Peterson-Gorenstein-Zierler

Sistema matricial de ecuacioness1 s2 s3 · · · st

s2 s3 s4 · · · st+1

s3 s4 s5 · · · st+2...

...... . . . ...

st st+1 st+2 · · · s2t−1

·

Λt

Λt−1

Λt−2...

Λ1

=

st+1

st+2

st+3...

s2t

αi1 αi2 αi3 · · · αiv

(αi1)2

(αi2)2

(αi3)2 · · · (αiv)

2

......

... . . . ...(αi1)

v(αi2)

v(αi3)

v · · · (αiv)v

·

ei1ei2...

eiv

=

s1

s2...sv

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 97 / 99

Algoritmo de Berlekamp-Massey

Calculo mas eficiente del polinomio localizador Λ(x)

Algoritmo con t iteraciones1 Inicializacion: k = 0, Λ(0)(x) = 1, T(0)(x) = 1, L(0) = 0

2 k = k + 1 y Z(k) = sk −L∑

i=1

Λ(k−1)i sk−1

3 Si Z(k) = 0, ir a 74 Λ(k)(x) = Λ(k−1)(x) + Z(k) · [T(k)(x)]5 Si 2L ≥ k, ir a 76 L = k − L y T(k)(x) = Λ(k−1)(x)/Z(k)

7 T(k)(x) = x · T(k)(x)8 Si k < t volver a 2

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 98 / 99

Algoritmo de Forney

Calculo de los coeficientes del polinomio de error e(x)

Mas eficiente que la solucion matricialObtencion mediante division de polinomios

eik =αik · Ω(α−ik)

Λ′(α−ik)

Polinomio Ω(x)

Ω(x) = Λ(x) · [1 + s(x)]

Polinomio Λ′(x)

Derivada de Λ(x)

MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 99 / 99