T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC...

24
T EMA 5 T ´ ECNICAS DE PROTECCI ´ ON FRENTE A ERRORES (C ODIFICACI ´ ON DE C ANAL ) MMC (UC3M) Comunicaciones Digitales Codificaci ´ on de Canal 1 / 38 ´ Indice Introducci ´ on y definiciones odigos bloque lineales odigos convolucionales odigos de rejilla odigos BCH y c´ odigos RS Protecci ´ on frente a ruido impulsivo: intercalado y concatenaci ´ on de c ´ odigos Esquemas avanzados de codificaci´ on Turbo codificaci´ on odigos LDPC MMC (UC3M) Comunicaciones Digitales Codificaci ´ on de Canal 2 / 38

Transcript of T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC...

Page 1: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

TEMA 5

TECNICAS DE PROTECCION FRENTE A ERRORES(CODIFICACION DE CANAL)

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

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 / 38

Page 2: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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=!)

!

!""""""""""""

"""""""""#$$$$$$$$$$$$

$$$$$$$$$%""""""""""""

!

!

!

!x0

x1

y0

y11! !

1! !

!

!

C = 1! Hb(!) bits/uso

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

Page 3: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 +P

NoB

"bits/uso

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

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

Page 4: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

Tasa binaria (eficiencia) espectral frente a Eb/N0

!

&

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

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

10!1

1

0 5 10 15 20 EbNo

dB

" = RbB

!1,592

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

.....

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

Page 5: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 complejidadBorrado de bits: se “marcan” los bits/sımbolos dudosos

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

Page 6: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 " ciDiccionario del codigo: mensaje " palabra codigo

Peso de una palabra codigo w(ci)Numero de unos de la palabra

Distancia de Hamming entre dos palabras codigo dH(ci, cj)Numero de bits diferentes entre ambas palabras

Distancia mınima del codigo: dmin

Mınima distancia de Hamming entre dos palabras codigodistintas

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

Page 7: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 ! 12

'errores

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

Page 8: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

Codigos bloque lineales

Codigo C(k, n)

Base del codigo: k palabras codigo linealmenteindependientes

{g0, g1, · · · , gk!1}gi = [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 dmindmin = mın

ci %=c0w(ci)

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

Page 9: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

Matriz generadora del codigo - Ejemplo

Codigo C(2, 5)

G =

.0 1 1 1 01 0 1 0 1

/

Palabras codigobi 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 sistematico

Distancia mınima del codigo: dmin = 3Detecta 2 erroresCorrige 1 error

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

Page 10: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Matriz generadora del codigo - Ejemplo

Codigo C(2, 5)

G =

.0 1 1 1 01 0 1 0 1

/

Palabras codigobi 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 / 38

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 / 38

Page 11: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Matriz de chequeo de paridad - Ejemplo

G =

.0 1 11 0 1

00001 00 1

/" H =

(

*1 0 00 1 00 0 1

000000

0 11 01 1

+

-

Tabla de sındromese s

0 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 / 38

Matriz de chequeo de paridad - Ejemplo

G =

.0 1 11 0 1

00001 00 1

/" H =

(

*1 0 00 1 00 0 1

000000

0 11 01 1

+

-

Tabla de sındromese s

0 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 / 38

Page 12: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Matriz de chequeo de paridad - Ejemplo

G =

.0 1 11 0 1

00001 00 1

/" H =

(

*1 0 00 1 00 0 1

000000

0 11 01 1

+

-

Tabla de sındromese s

0 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 / 38

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 / 38

Page 13: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 codigobi 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 / 38

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) =t1

j=0

!nj

"

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

!00

"+

!n1

"+ · · · +

!nt

"' 2r

Igualdad: Codigos perfectosMMC (UC3M) Comunicaciones Digitales Codificacion de Canal 23 / 38

Page 14: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 Golayn = 23, k = 11, t = 3

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

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 =n1

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 +

n1

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 / 38

Page 15: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Prestaciones - Decodificacion blanda

Probabilidad de error

Pe # c · Q

2de

min

23

N0/2

4

demin: mınima distancia euclıdea entre las secuencias de

sımbolos correspondientes a dos palabras codigodiferentesc: maximo numero de palabras de distancia mınima de unadada

Modulaciones binarias

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

dH(ci, cj)

Pe # c · Q

2d(a0, a1)23

N0/2

3dmin

4

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

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 / 38

Page 16: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 restoMMC (UC3M) Comunicaciones Digitales Codificacion de Canal 28 / 38

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 / 38

Page 17: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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

! ! "'! ! ! "'! ! ! !

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

Ejemplo b = [0101]

[0 1 0 1]

! 0 ! #'! 0 ! 0 ! #'! 0 ! 0 ! 0 ! 0

[0 1 0 1]

! 1 ! #'! 1 ! 0 ! #'! 1 ! 0 ! 0 ! 0

[0 1 0 1]

! 0 ! #'! 1 ! 1 ! #'! 0 ! 1 ! 0 ! 0

[0 1 0 1]

! 1 ! #'! 1 ! 1 ! #'! 0 ! 0 ! 1 ! 0

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

Page 18: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 / 38

Page 19: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 / 38

Page 20: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''0 ! 0 !$%&''! 0 ! 0 !0

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

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''1 ! 1 !$%&''! 0 ! 0 !0

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

Page 21: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''0 ! 0 !$%&''! 1 ! 0 !0

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

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''1 ! 1 !$%&''! 0 ! 1 !0

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

Page 22: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''0 ! 1 !$%&''! 0 ! 0 !1

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

Ejemplo b = [0101]

[0 1 0 1 0 0 0]

!$%&''0 ! 0 !$%&''! 1 ! 0 !0

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

Page 23: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38

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 / 38

Page 24: T ON FRENTE A ERRORES (CODIFICACION DE ´ CANALmlazaro/Docencia/MMC-CD/MMC-CD-T5-01-Codi… · MMC (UC3M) Comunicaciones Digitales Codificacion de Canal 1 / 38´ ´Indice Introduccion

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 / 38