Codificacion de Canal

46
1 Codificación de Codificación de Canal Canal Carmen Moline Carmen Moline Dpto. Telecomunicaciones y Telemátic Dpto. Telecomunicaciones y Telemátic CUJA CUJA

Transcript of Codificacion de Canal

Page 1: Codificacion de Canal

1

Codificación de Codificación de CanalCanal

Carmen MolinerCarmen MolinerDpto. Telecomunicaciones y TelemáticaDpto. Telecomunicaciones y Telemática

CUJAECUJAE

Page 2: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 2

Canal

fuente

Codif. de fuente

cifrado Codif.de canal

transmisor

receptorDecodifde canal

descifradoDecodif.de fuente

destino

Page 3: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 3

Pulsorectangular

Efectos indeseablesEfectos indeseables de la Transmisiónde la Transmisión

Atenuación

Distorsión

Interferencia

Ruido

1

0

ERRORERROR

Page 4: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 4

Probabilidad de errorProbabilidad de error• Depende de las técnicas y energía empleadas

para la transmisión, de las características del medio de transmisión y de las señales indeseables.

• Valores típicos de Pe son 10- 6 , 10- 7, 10-10 etc..

• Para aplicaciones donde los errores son intolerables resulta necesario emplear técnicas de control y recuperación de los errores.*

Page 5: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 5

Fundamentos de las técnicas Fundamentos de las técnicas de control de erroresde control de errores

TxTx RxRx

m1 0

m2 1

0

1

La ocurrencia de un error en la transmisión determina error en el mensaje recibido*

(1-p)

(1-p)

p

p

Page 6: Codificacion de Canal

6

Veamos un recurso para Veamos un recurso para proteger la informacionproteger la informacion

Regla para protección contra errores:Regla para protección contra errores:““El dígito de informacion se repite”El dígito de informacion se repite”

TxTx RxRx

m1 00

m2 11

bit de informacion

bit de chequeobit de chequeo(redundancia) (redundancia)

00

01

10

11

detecta detecta errores errores simplessimples

Código que permite detectardetectar errores simples Ante errores dobles se comete error en la Rx*.

Page 7: Codificacion de Canal

7

palabras de

código

palabras separa-doras

TxTx RxRx

m1 000

m2 111

““El bit de informacion se repite El bit de informacion se repite dos veces” dos veces”

00

11

error simpleerror doble

error triple

000001010100110101011111

Código que permite Código que permite corregircorregir errores simples* errores simples*

Page 8: Codificacion de Canal

8

Conclusión:Conclusión:introducción de redundancia de acuerdo a una

regla permite

Detección y /o corrección de

errores

•La corrección de errores requiere mas redundancia que la detección

•Se calculan los dígitos de chequeo de acuerdo a la regla, en el receptor se comprueba la regla y se detecta/corrigen los errores.

Regla = código*Regla = código*

Page 9: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 9

• •• ••

•••

no error

error

Tx

palabra de códigopalabra separadora

Rx

Códigos detectores y correctores Códigos detectores y correctores de erroresde errores

k bits de informaciónb dígitos de chequeon= b+k2k palabras de código

2n palabras totales

2n - 2k palabras

separadoras

Page 10: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 10

Espacio de codificación Espacio de codificación • Espacio de n dimensiones donde cada

palabra es representada por un punto

• •0 1

n = 1

• •n = 2

00 01

10 11• •000

100•

• • •

• •n = 3

111

• Distancia entre palabrasDistancia entre palabras: -cantidad de segmentos quebrados entre dos palabras

d= 2

d =1

d=3

• Dist. entre palDist. entre pal.= cantidad dígitos diferentes

Page 11: Codificacion de Canal

Distancia entre palabrasDistancia entre palabras

• Cantidad de digitos diferentes.

• V = 1 1 1 1 0 0 0

• U = 1 1 0 0 0 1 1

Dpto. Telecomunicaciones CUJAE 11

d=4

La potencialidad para detectar o corregir errores de un código depende de la distancia mínima entre las palabras de códigos

Page 12: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 12

Potencialidad de un código Potencialidad de un código dependiendo de la distancia mínima dependiendo de la distancia mínima

entre dos palabras de código entre dos palabras de código

• • d = 1 No detecta ni corrige

d = 2 detecta errores simples

• • d = 3 detecta dobles o corrige simples

• • d = 4 detecta triples o corrige simples

Para detectar r errores dmin = r + 1Para detectar r errores dmin = r + 1Para corregir r errores dmin = 2r + 1Para corregir r errores dmin = 2r + 1

• •

Page 13: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 13

••

••

Límite de HammingLímite de Hamming

Relación entre n, k y b para la corrección de r errores.

2k palabras de código

2n palabras totales

2k esferas de radio r con centro en “ •”

Page 14: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 14

Límite de HammingLímite de Hamming

Cantidad de palabras en cada esfera :

1: palabra de código

n: palabras sep. a distancia 1

Esfera de radio r con centro en palabra de código

•rr

n2

: palabras a dist. 2 ...nr

: palabras a dist. r

palabras en una esfera

= 1 + n + + ....+ n2

nr

Page 15: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 15

Límite de HammingLímite de Hamming

••

••

2k 1 + n + + + ....+ n2

n3

nr

2n

n = k + b

2k 2n

1 + n + + + ....+ n2

n3

nr

Relación entre k, n y b para corrección de r erroresRelación entre k, n y b para corrección de r errores

]

Page 16: Codificacion de Canal

16

Caso particular de corrección de Caso particular de corrección de errores simpleserrores simples

r = 1

1

22

n

nk

2b n + 1

k 1 2 3 4 5 6 7 8 9

b 2 3 3 3 4 4 4 4 4

n 3 5 6 7 9 10 11 12 13

Si k b/n

Page 17: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 17

Códigos de bloqueCódigos de bloque

CodificadorRegla de la palabra o bloque codificado

k dígitos de información

b dígitos de chequeo

n dígitos codificados

palabra que cumple la regla del código

Page 18: Codificacion de Canal

18

Código de paridadCódigo de paridadRegla: El numero de “1” de la palabra es PAR

1 0 1 1 1 0 0

1 0 1 1 0 0 1x1 ............... x6 c1

x1 + x2 + x3 + x4 + x5 + x6 + c1 = 0

+ : suma modulo 2

1 + 1 = 01 + 0 = 10 + 1 = 10 + 0 = 0

Page 19: Codificacion de Canal

19

• El código de paridad brinda pobre protección.

• Puede aumentarse su protección empleando paridad cruzada.

Código rectángular o de Código rectángular o de paridad cruzadaparidad cruzada

1 1 0 0 1 1 1 .

1 0 0 1 0 1 1 .

1 1 1 0 1 0 0 .

0 1 1 0 0 1 0 .

.

1

0

0

1

1 1 0 1 0 1 0 0

bits de paridad bits de paridad horizontalhorizontal

bits de paridad vertical bits de paridad vertical

Page 20: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 20

Códigos Algebraicos Códigos Algebraicos La regla se expresa a través de un conjunto de ecuaciones cuya solución determina los dígitos de chequeo.Representada matricialmente:

x1

x2

..xm

c1

...cb

Tnx1 =h11 h12 ..... h1n

h21 h22 .... h2n

. . . . .hb1 hb2 .... hbn

Hbxn =

H • T = 0

Page 21: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 21

Veamos un ejemplo

Page 22: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 22

Códigos algebraicos para la Códigos algebraicos para la corrección de errores simplescorrección de errores simples

Condiciones de H

1. b filas y n columnas

2. Ninguna columna entera de ceros

3. Todas las columnas diferentes

4. Los dígitos de chequeo en las posiciones de las columnas que contienen un único “1”.

Page 23: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 23

R : Palabra recibida, en el receptor se determina :

H • R = 0 ?

H • R = 0 No hay error detectado

H • R 0 Hay error y este puede

detectarse o corregirse según la redundancia del código

R = T + E ; H • R = H • ( T + E ) = H • E = S

S: Matriz Síndrome, distintivo de la posición del error

en códigos correctores.

Códigos AlgebraicosCódigos Algebraicos

Page 24: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 24

Subclase de códigos algebraicos con

propiedades particulares

1. Capacidad de detectar o corregir errores

según redundancia

2. Particularmente eficiente en detección de

ráfagas de errores.

3. Fácil codificación y decodificación.

4. Caracterizados por un un polinomio

generador P(x) de grado b

Códigos Cíclicos Códigos Cíclicos

Page 25: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 25

Códigos Cíclicos Representación polinómica de secuencias

1 0 1 1 0 1 ==> x5 + x3 +x2 + 1

G(x) : Secuencia de k dígitos de información

F(x) : Palabra codificada

Regla del código cíclico: Toda palabra del

código es divisible (sin residuo) entre el

polinomio generador.

Page 26: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 26

1) G(x) xb : agregar b ceros a la secuencia de información

2)

3)

4) F(x) = G(x) xb + R(x) : Palabra codificada

= Q(x) +G(x) xb

P(x)

R(x)P(x)

G(x) xb + R(x)P(x)

= Q(x)

Proceso de codificaciónProceso de codificación

Page 27: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 27

Veamos ejemplos

Page 28: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 28

Propiedades de Códigos CíclicosPropiedades de Códigos Cíclicos

• P(x) no puede tener a x como factor común.

¿Por qué?

• De ser así Todas las palabras de código terminarían en cero y ese bit no tendría valor.

Page 29: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 29

Teoremas de Códigos CíclicosTeoremas de Códigos Cíclicos

1. Cualquier P(x) con más de un término detecta cualquier error simple.

– Un error simple se representaría por 1 o por xi

que evidentemente no es divisible entre cualquier polinomio de más de un término.

Page 30: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 30

Teoremas de Códigos CíclicosTeoremas de Códigos Cíclicos

2. No existe polinomio con un número impar de términos que sea divisible entre (x + 1).

Por lo tanto con un P(x) que tenga a (x + 1) como factor común se pueden detectar la ocurrencia de cualquier combinación de errores impares.

Page 31: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 31

Teoremas de Códigos CíclicosTeoremas de Códigos Cíclicos

3. Cualquier código cíclico generado por un polinomio de grado b, es capaz de detectar todas las ráfagas de longitud b o menor. L b.

Una ráfaga de largo b se representaría por

E(x) = xi (xb-1 + xb-2+ ….+1)

P(x) no tiene a x como factor común y además el segundo término es de grado b-1, no divisible entre P(x).

Page 32: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 32

Teoremas de Códigos CíclicosTeoremas de Códigos Cíclicos

4. Se dice que un polinomio P(x) pertenece un exponente “ee”, si “e” es el menor entero positivo para el cual (xe + 1) es divisible por P(x).

Ahora, un código cíclico generado por P(x) es capaz de detectar errores simples y dobles si la longitud n de las palabras codificadas es igual o menor que el exponente e al cual pertenece P(x), es decir, si n e.

Page 33: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 33

Ejemplo de polinomio cíclico Ejemplo de polinomio cíclico perteneciente al exponente perteneciente al exponente

3276832768

• P(x) = x15 + x14 + 1

• pertenece al exponente 32 768.

• puede por lo tanto detectar cualquier error doble en tramas de esa longitud y otros múltiples patrones de error.

Page 34: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 34

•CRC- 12 = x12 + x11 + x5 + x2 + x + 1

•CRC- 16 = x16 + x15 + x2 + 1

•CRC- 32 = x32 + x26 + x23 + x22 + x16 + x12

+ x11 + x10 + x8 + x7 + x5 + x4 + x2+ x + 1

(Utilizado en IEEE 802)

Ejemplos de P(x) usados:Ejemplos de P(x) usados:

Page 35: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 35

Implementación de Implementación de codificadores y codificadores y

decodificadores de Códigos decodificadores de Códigos Cíclicos por HW.Cíclicos por HW.

Page 36: Codificacion de Canal

36

Cálculo del Residuo en las Cálculo del Residuo en las salidas de los registrossalidas de los registros

+

g1g1

+

g2g2

+

g3g3

+

gb-1gb-1

...

g0g0gbgb

+

CK

F(x)

F(x)/ (gb xb + gb-1 x(b-1) + …. g2 x2 +g1 x + g0 )

gi = 1 gi = 0

Page 37: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 37

1 1 01 1 0

Residuo de F(x) / (xResiduo de F(x) / (x33 + x + 1) + x + 1)a lo sumo de grado 2, (3 dígitos)a lo sumo de grado 2, (3 dígitos)

+ +

CK

F(x)

F(x) = x6 + x5 + x4 + x2 + x + 1 1 1 1 0 1 1 1

Residuo de [ F(x) /( x3 + x + 1)] = x +1

Page 38: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 38

Códigos cíclicosCódigos cíclicos

+

decodificador

comparar

G(x) seguida de b ceros

m

R(x)

R(x)

m’ R’ (x)G(x) xb + R(x)

codificador

11

Page 39: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 41

Conclusión Códigos CíclicosConclusión Códigos Cíclicos

• Se caracterizan por un P(x) de grado b.

• Pueden detectar y/o corregir errores.

• Muy utilizados por dos factores:

– Su eficiencia en la detección de ráfagas de errores.

– Su fácil implementación por HW con XOR y Registros de desplazamientos.

Page 40: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 42

• Código binario (23,12)* con dmin=7 Por lo que es capaz de corregir errores triples y detectar hasta 6 errores en las palabras códigos.

• *(n,k) n=k+b

Otros Códigos: Código Golay (1)Otros Códigos: Código Golay (1)

Page 41: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 43

• Código binario (24,12) con dmin=8 Por lo que es capaz de corregir errores triples y detectar hasta 7 errores en las palabras códigos.

Otros Códigos: Otros Códigos: Código Golay Código Golay extendido (2)extendido (2)

Page 42: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 44

Otros Códigos: Códigos BCH Otros Códigos: Códigos BCH (Bose-Chadhuri-Hocquenghem) (Bose-Chadhuri-Hocquenghem)

(3)(3)• Clase de códigos cíclicos capaces de corregir

múltiples errores.• Están caracterizados por:

2b = n + 1n - k = bb >= 3distancia mínima=2t + 1

• Ejemplos de códigos BCH:(15, 7) dmim=5(127, 64) Capaz de corregir 10 errores(127, 36) Capaz de corregir 15 errores

Page 43: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 45

Otros Códigos: Otros Códigos: Código Reed-Código Reed-Solomon (RS) (4)Solomon (RS) (4)

• Es una subclase de códigos BCH no binarios. Opera con símbolos de “b” bits cada uno en lugar de bits individuales.

• Muy útil y muy empleado para la corrección de errores múltiples.

Page 44: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 47

PB vs Eb/N0

PB = P error en el bloque

X Ganancia de

Codificación.

Page 45: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 48

Ganancia de CodificaciónGanancia de Codificación

• Valor en dB en que puede disminuirse (Eb/No) en el sistema con codificación manteniendo igual PB que en un sistema sin codificación.

Page 46: Codificacion de Canal

Dpto. Telecomunicaciones CUJAE 49

ConclusionesConclusiones• La codificación de canal juega un papel

importantísimo en la Transmisión de Datos.• El método empleado depende de las condiciones

de la comunicación y de la aplicación en particular.

• Los códigos cíclicos son muy empleados por su fácil implementación y su especial eficiencia en la detección de ráfagas de errores.

• Hemos visto codificación de canal para códigos de bloques**