Veure perfil

33
Codificación de Canal. Transmisión de Datos. Codificación de Canal. Transmisión de Datos. Codificación de Canal Mónica Aguilar Igartua

Transcript of Veure perfil

Page 1: Veure perfil

Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Codificación de Canal

Mónica Aguilar Igartua

Page 2: Veure perfil

22/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Índice

• Resumen fundamentos de codificación de canal• Códigos bloque

– Código Lineal.

– Matrices generadora y de comprobación.

– Distancia mínima de un código.

– Redundancia mínima para una capacidad correctora/detectora determinada.

– Probabilidad de error residual.

– Eficiencia de un código.

– Códigos e-perfectos.

– Códigos de Hamming.

– Código ISBN.

– Códigos cíclicos y polinómicos.

Page 3: Veure perfil

33/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Fundamentos de Codificación de Canal

• Objetivos de la transmisión digital de la información:

• Codificación de canal:

– Transmisión fiable (control de errores)

– Transmisión rápida (compresión)

– Transmisión segura (autenticidad, privacidad)

→ Codificación de canal

→ Codificación de fuente

→ Criptografía

– Protege la información frente a degradaciones del canal.

– Añade redundancia de forma inteligente.

– Detecta y/o corrige errores que produce el canal.

Page 4: Veure perfil

44/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Fundamentos de Codificación de Canal

• Ubicación del codificador/decodificador de canal en el Sistema de Transmisión de Datos:

Decodificaciónde canal

FuenteEquivalente

Codificaciónde canal

Destino MapeoInverso

Mapeo Modulación

Demodulación

Canal

Canal discreto equivalente

Page 5: Veure perfil

55/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Fundamentos de Codificación de Canal

• Estrategias de uso:

• Clasificación en función de cómo se introduce la redundancia:

– Detectora: ARQ (Automatic Repeat Request), solicitud automática de re-envío.

– Correctora: FEC (Forward Error Correction), corrige a partir de la información recibida.

– Códigos Convolucionales

– Códigos Bloque

⇒ De forma continua a medida que llega la información al codificador

⇒ Asociada a bloques de información

Códigox(i) y(i)

CódigoX Y

Page 6: Veure perfil

66/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Codificación de Bloque

X(x(1), …, x(k))

Y(y(1), …, y(n))

Z(z(1), …, z(n))

X(x(1), …, x(k))Canal

discretoequivalente

Codificadorde canal

Decodificadorde canal

X (k digitos)Mensaje de usuario

Y (n digitos, n>k)Palabra código

Z (n digitos)Palabra recibida

X (k digitos)Mensaje estimado

Código (n, k) →→ Redundancia = r = n-k

x(i) ∈ alfabeto de q símbolos

Para ser útil

• Aplicación biyectiva.– qk palabras código distintas.

• Código Lineal.

– se reduce la complejidad del código.

• Estructura sistemática de la palabra código.

– extraer de inmediato el mensaje de usuario.

X

qk

Codificador

Código Bloque

Y

qk

qn

k r

mensaje redundanciapalabra, n dígitos

Page 7: Veure perfil

77/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código Lineal de Bloque

El código bloque de qk palabras código (de longitud n) es un Código Lineal Bloque

(n, k) si y sólo si tiene estructura de subespacio vectorial k-dimensional (del espacio

vectorial formado por las n-tuplas) sobre un Cuerpo de Galois (GF).

• El Codificador se elige de tal manera que sea una aplicación lineal:

X1 → Y1

X2 → Y2c1 ⋅ X1 + c2 ⋅ X2 → c1 ⋅ Y1 + c2 ⋅ Y2

c1, c2 ∈ GF

{ {000001010011100101110111

00011011

01 ⊕ 11 = 10 → 101

011 ⊕ 110 = 101

Ejemplo:

Conjunto finito de elementos con los cuales se opera comocon los números reales. Consideraremos GF(2).

Page 8: Veure perfil

88/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Matriz Generadora del Código Lineal de Bloque, G

• Del Código Lineal (n, k) hallamos k palabras código lin. indep. (g1, g2, ..., gk) → Base

Cada palabra código Y es una combinación lineal de esas k palabras código:

k=3 → Y = x1·g1 + x2·g2 + x3·g3 , xi = {0, 1}

=

=

knkk

n

k

ggg

ggg

g

g

g

kxn

K

MMM

K

M21

112112

1

)G(X = (x1, x2, ..., xk) ⇒ Y = X · G

• Matriz Generadora del Código

• Todo mensaje de usuario X puede expresarse como combinación lineal de una base:

X = (x1, x2, x3) = x1· (100) + x2· (010) + x3· (001)

• El código queda determinado conociendo la codificación de una base del conjunto de

mensajes de usuario, X: (100) → (g11 g12 ... g1n) = g1(010) → (g21 g22 ... g2n) = g2(001) → (g31 g32 ... g3n) = g3

Page 9: Veure perfil

99/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código Lineal Sistemático de Bloque

• Un código lineal (n, k) SISTEMÁTICO de bloque queda definido por una matriz G(kxn):

( ))P( I

pp

p

pp

100

010

001

)(G

krk1

21

1r11

kxrkxn k=

=M

L

K

MOM

L

k r

palabra, n dígitos

mensaje redundancia• Estructura Sistemática

• Ejemplo:

Código de paridad.

k=2, n=3.

00011011

00011011

0110

=

=

1

1 I

1

1

10

01)3x2(G 2

⇒ r=n-k=1

Page 10: Veure perfil

1010/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Detección/corrección de errores

• ¿Cómo detectar errores?

X(x(1), …, x(k))

Y(y(1), …, y(n))

Z(z(1), …, z(n))Canal discreto

equivalenteCodificador

de canalDecodificador

de canal

Y=X·G

?

• Si Z ≠ Y ⇒ ERROR. Pero Y no es conocida en recepción!

• Si Z ∉ código ⇒ ERROR. Es cierto.

• Si Z ∈ código ⇒ NO ERROR. Es una suposición: puede que el error haya transformado

una palabra código en otra! Diseñar el Código para que sea poco probable.

• ¿Cómo saber si Z ∈ a un código C? ⇒ Comparar Z con todas las Y del código. Ineficaz si k es grande!

• Una palabra Z ∈ a un código C si es ⊥ a C⊥ , subespacio vectorial ⊥ a C.

Page 11: Veure perfil

1111/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Un código lineal de bloque (n, k) tiene asociada otra matriz H(rxn):

Matriz de Comprobación del Código Lineal de Bloque, H

2n palabras Z

Código C: 2k palabras Y

Subespacio vectorial ortogonal a C

=

=

nr r1

2n21

1n11

r

2

1

hh

hh

hh

h

h

h

)(H

L

MM

L

L

Mrxn

G(kxn)

gi

H(rxn)

hj gi ⊥ hj ⇒ gi · hj = 0

Y·HT = 0

G·HT = 0

Matriz de Comprobación del Código

Page 12: Veure perfil

1212/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• En un código lineal de bloque (n, k) SISTEMÁTICO, la matriz H es de la forma:

Matriz de Comprobación del Código Lineal de Bloque, H

G(kxn) = ( Ik | P(kxr) )

G ·HT = 0 ⇒ HT = ⇒ H(rxn) = ( -PT | Ir)-P Ir

Nota: En GF(2) , 1+1=0, -1≡1, -P≡P

• Ejemplo:

Código de paridad. k = 2, n = 3 ⇒ r = n - k = 1

( ) ( ) ( )111I11H(1x3) P(2x1) I1

1

10

01)3x2(G 12 ==⇒=

=

Z = 011 → Z · HT = (011) · = 0

Z ∈ C

111

Z = 001 → Z · HT = (001) · = 1 ≠ 0

Z ∉ C

111

Page 13: Veure perfil

1313/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Sea un código lineal de bloque (n, k) sistemático del que conocemos sus matrices G y H.

• Sea Y una palabra código que se transmite por un canal ruidoso.

• Se recibe la palabra Z.

• Z = Y + e

• e = (e1, ..., en) con

• Una vez que se ha obtenido e ⇒

• SÍNDROME de Z: s = Z·HT → s = (s1, ..., sr) →

• s = Z·HT = (Y+ e ) ·HT = Y·HT + e ·HT = e ·HT

Síndrome y detección de errores

Y Zcanal

e, vector de error

ei = 1 si Zi ≠ Yi

ei = 0 si Zi = Yi

si Z·HT = 0 → s = 0 ⇒ No error(*)

si Z·HT ≠ 0 → s ≠ 0 ⇒ Error

Y = Z + e

s = e ·HT(*) ¿Es posible que Z sea errónea siendo s=0?

- Si e ∈C, e≠0 ⇒ Z=Y+e ⇒ Z ∈C ⇒ s=0

- Hay 2k-1 palabras código ≠ 0 ⇒ Hay 2k-1 errores no detectables

Page 14: Veure perfil

1414/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Para obtener e, basta con resolver r ecuaciones lineales, ¡con n incógnitas!

• Hay n - r = k grados de libertad.

Síndrome y detección de errores

s = e ·HT ( )

⋅=

nr n 2n 1

2r 2212

1r 2111

n21r21

hhh

hhh

hhh

)e ..., ,e ,e(s ..., ,s ,s

L

MMM

L

L

• Para minimizar la probabilidad de error, se elige el error e más probable.

• Regla de decisión para corregir errores: ¿Cómo determinar Y a partir de Z recibida?

• Distancia d(Y, Z) mínima → Depende del Modelo de Canal.

• Hay 2k soluciones, es decir hay 2k errores que producen igual síndrome:

Page 15: Veure perfil

1515/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Canal Binario Simétrico (BSC)

Modelo de Canal

canalY Z

– errores aleatorios e independientes– no hay ráfagas de errores

yi = 0 zi = 0p

1-p

yi = 1 zi = 1p

1-pCanal discreto equivalente p = Prob. error bit

• Distancia, d(Y, Z) = Nº de bits diferentes entre Z e Y = Distancia de Hamming =

= Peso (nº bits =1) de la suma = W(Y+Z)

Canal sin

memoria

• Ejemplo: Código de paridad. k=2, n=3

Y1 000

Y2 011

Y3 101

Y4 110

d(Y1, Y4 )=W(000+110)=W(110)=2

d(Y2, Y3 )=W(011+101)=W(110)=2

ya

yb

yc

Y1

Y4

1

1

Y2

Y3

1

1

√2

√2

distancias de Hamming

distancias Euclídeas

Page 16: Veure perfil

1616/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Canal con memoria. Se producen ráfagas de errores ⇒ ENTRELAZADO:• Ejemplo:

Modelo de Canal

– Canal b) necesita código con capacidad correctora 3 ⇒ Es necesaria una redundancia ≥ 6– Canal a) necesita código con capacidad correctora 1 ⇒ Es necesaria una redundancia ≥ 2.

– Diseñar código para canal del tipo a), pero procesar las Y antes de enviarlas al canal con memoria.

a)

b)

...

...

X X X X X

X X X X X

Y1 Y2 Y3 Y4 Y5

1 2 3 4 5 6 7 8 9 10 11 12

n = 4

códigoX Y

Y1

Y2

Y3

Y4

Y5

1 2 3 4

5 6 7 8X

X

X

X

X

n = 4

D = profundidad de entrelazado

D ≥ Longitud media ráfaga

Aumenta el retardo

¿Qué valor debe tener D?

¿Qué problema surge?

canal

Page 17: Veure perfil

1717/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Distancia de Hamming = d(Y, Z) = W(Y+Z)

• Dado un código C lineal de bloque (n, k), su distancia mínima dmín se define como:

Distancia mínima de un código

dmín = mín. d(Yi, Yj), con Yi, Yj ∈ C, i≠j

• Dado que C es un subespacio vectorial, Yi + Yj es otra palabra código, por tanto:

dmín = mín. W(Yk) = Wmín ⇒ El menor de los pesos de todas las YYk≠0

Y1 000

Y2 011

Y3 101

Y4 110

• Ejemplo: Código de paridad. k=2, n=3

W2 = 2

W3 = 2

W4 = 2

⇒ Wmín = 2 = dmín

¿Qué relación guarda la dmín de un Códigocon su capacidad detectora y correctora de errores?

Page 18: Veure perfil

1818/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Ejemplo:

Capacidad correctora/detectora de un código

e = 3δ = 6

Yi

Yj

dmín = 7

Z

Capacidad correctorade errores

Capacidad detectorade errores

=

2

1-de min

1-d min=δ

1e2dmin +⋅≥ 1 dmin +≥ δ

• BORRÓN:

canalY Z

{0, 1} {0, 1, #}

– Indica incertidumbre en su valor

– Corregir un error ⇒

– Conocemos la posición

– Mayor facilidad de corrección

Capacidad correctorade borrones

1 dmin +≥ ρ

- dónde?- valor?

1-d min=ρ

Page 19: Veure perfil

1919/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• REDUNDANCIA: ¿Cuál es el valor mínimo de r para garantizar una cierta capacidad correctora? ⇒ planteemos un caso extremo.

Redundancia y Probabilidad de error residual

– Ejemplo: Código lineal de bloque (5, 3) sistemático, que consiste en añadir 1’s al mensaje de usuario.

n=5k=3

⇒ r = n-k = 2

k=3 r=2

⇒ dmín = 1 + r

– En general, dmín ≤ r + 1 ⇒ dmín ≥ 2·e + 1 ⇒ r ≥ dmín -1 ≥ 2·e ⇒ r ≥ 2·e

• PE , Probabilidad de error residual:

– Código bloque capaz de corregir e errores– Canal binario simétrico con prob. error p

( ) inin

ei

ppi

n −

+=

−⋅⋅

= ∑ 1 P

1E

001 11010 11 100 11

Page 20: Veure perfil

2020/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

• Códigos e-perfectos.

– Corrige hasta e errores y ningún otro más.

– Cada error corregible ⇔ Un síndrome diferente

Códigos e-perfectos y Códigos de Hamming

s = (s1, ..., sr)

++

+

+==

e

n ...

2

n

1

n 1 2 síndromes de Nº r

no error1 error e errores

• Códigos de Hamming.

– Código 1-perfecto ⇒ e = 1 ⇒ corrige errores simples.

– 2r = 1 + = 1 + n

n = 2r -1

n1

r = 2 ⇒ n = 22-1=3 ⇒ k=n-r=1 ⇒ Código (3, 1)

r = 3 ⇒ n = 23-1=7 ⇒ k=n-r=4 ⇒ Código (7, 4)

r = 4 ⇒ n = 24-1=15 ⇒ k=n-r=11 ⇒ Código (15, 11)

Page 21: Veure perfil

2121/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código (7, 4) de Hamming

• Ejercicio. Generar un Código (7, 4) de Hamming.

– Se trata de obtener la matriz generadora G(kxn).

– Código (n, k) ⇒ n = 7, k = 4 ⇒ r = n - k = 3

– Corrige 1 error simple: e = 1 ⇒ Sólo una componente de e es diferente de cero.

– e tiene n=7 componentes, e = (e1, e2, ..., e7)

· Hay 7 vectores error e diferentes· Hay 7 errores corregibles ⇒ 7 síndromes s diferentes

– Como s = e · HT ,

· Cada síndrome asociado a error corregible, coincide con una columna de H(rxn)· H(3x7) tiene 7 columnas

( ) ( )

=−=

100

010

001

I P3x7H rT

xxxx

xxxx

xxxx – No puede haber una columna .

– 2 columnas no pueden ser iguales.

– Las 4 columnas serán las 23-1-3 = 4 ternas restantes, en cualquier orden.

000

¿Cómo elegimos las 4 columnas de H?

Page 22: Veure perfil

2222/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código (7, 4) de Hamming

( ) ( )rT I P-

1001110

0100111

0011101

3x7H =

= ( ) ( )P I

1011000

1110100

1100010

0110001

4x7G k=

=r x n k x n

• Código generado:

0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111

XY

Y = X·G

s = e ·HT

error ↔ síndrome 1000000 110 0100000 011 0010000 111

0000001 001

1ª columna de H

2ª columna de H

3ª columna de H

7ª columna de H

Y = 0001101 – Corrección de errores simples– Detección de errores– Corrección de borrones

Page 23: Veure perfil

2323/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código (7, 4) de Hamming

Y = Z + e =

s = Z·HT

b) Capacidad detectora de errores: Y = 0001101 → Z = 1101101

= (1101101) · = (101) ≠ (000) ⇒ Ha habido error. Los 2 errores han sido detectados.

110011111101100010001

No debo corregir, pues el número de errores (2) excede la capacidad correctora, e=1:

1101101 + 0001000 = 1100101 ≠ Y

δ = 2·e = 2

s = Z·HT

a) Corrección de error simple: Y = 0001101 → Z = 0001100

= (0001100) · = (001) ⇒

110011111101100010001

e = (0000001) Y = Z + e = 0001100 + 0000001 =

= 0001101 = Y

⇒ e = (0001000)

Page 24: Veure perfil

2424/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código (7, 4) de Hamming

Y = 0001101 → Z = # # 01101ρ = δ = 2c) Corrección de borrones:

0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111

Comparando con todas las palabrascódigo, podemos decir SIN DUDA

que la palabra código transmitida

es Y = 0001101.

Con un número mayor de borrones, no podemosasegurar el poder discernir entre varias palabras código.

Ejemplo:

Z = # # 0 # 110 ⇒Y = 0101110

Y = 1000110?

Page 25: Veure perfil

2525/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Códigos de Hamming recortados

0000 0000001 1010010 1110011 0100100 0110101 1100110 1000111 0011000 1101001 0111010 0011011 1001100 1011101 0011110 0101111 111

• Si borramos cualesquiera B columnas de la matriz de comprobación H(rxn) de un código Hamming, obtenemos una matriz H’ de orden r x (n-B).

• A partir de H’ podemos obtener la matriz G’ (estructura sistemática) de un código Hamming recortado con los siguientes parámetros:

n’ = n - Bk’ = k - Br’ = re = 1 → dmín = 3

( ) ( ) ( )rT I P-

10011

01001

00111

3x5H'

1001110

0100111

0011101

3x7H =

=⇒

=

( ) ( )

==

10110

11101P I2x5G' k

Por ejemplo, B=2:

Código(6,3)

Código(5,2)

k’ x n’

r’ x n’

n’ = 7-2 = 5k’ = 4-2 = 2r’ = 3e = 1 → dmín = 3

r x n

X 00011011

Y=X·G

Page 26: Veure perfil

2626/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código (5, 2) de Hamming recortado

• Diseñar un Código (5,2) con el simulador Ptolemy.

1.- La probabilidadde error del canalequivalente es del 2%.

2.- Diseñar las tablas deemisor y receptor.

3.- Hallar la probabilidadde error final residual.

4.- Hallar la eficiencia delcódigo. Compararla con la del Código (7,4).

5.- Conclusiones.

p(0)

Código (5, 2)

E = k/n = 2/5 = 0,4 = 40%

PE = 0,38%

Código (7, 4)

E = k/n = 4/7 = 0,57 = 57%

PE = 0,78%

Page 27: Veure perfil

2727/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Ejercicios

• 1. La matriz de comprobación H(3x7) de un Código de Hamming (7, 4) es:

( )

=

1001110

0100111

0011101

3x7H Se recibe la palabra Z = 10ab110.

¿Cuál fue el mensaje enviado?

Es de Hamming → Capacidad correctora de errores e=1 → Capacidad correctora de borrones ρ=2

s = (10ab110) · HT = (a+b+1, b, a+1) = (0, 0, 0) ⇒ b=0, a=1 ⇒ Mensaje = 1010

• 2. Se tiene un canal caracterizable por una prob. de error de bit de 10-3 que genera ráfagas de error

de longitud 2. Es inaceptable una prob. de error de usuario de 10-7. Considere n=5.

¿Con qué codificador es posible?

a) e=1, D=4 → D≥2, PE ≅ 10-6 · = 10-5 > 10-7, No.

b) e=2, D=1 → No, no se está entrelazando.

c) e=2, D=2 → D≥2, PE ≅ 10-9 · = 10-9 < 10-7, Sí.

52

53

El proceso de entrelazado permite suponer erroresindependientes y aleatorios.

Es aplicable la expresión PE ≅ · pe+1ne+1

Page 28: Veure perfil

2828/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código ISBN

• Código ISBN (International Standard Book Number).

– Código utilizado para detectar errores producidos al mecanografiar.

– El mensaje de usuario consta de k=9 símbolos ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X}.

– Se añade otro símbolo de ese mismo alfabeto como redundancia, r=1.

– La palabra código consta de n=k+r=10 símbolos.

– Trabajamos en el Cuerpo de Galois GF(11) , utilizando aritmética módulo 11.

– El código es sistemático: la palabra código está formada por el mensaje de usuario seguido de la redundancia.

– Obtención de la redundancia: Suma de los 9 dígitos del mensaje ponderados por su posición ⇒Proporciona información para detectar errores comunes de transposición.

– Puede corregir 1 borrón -> ρ=1 => No corrige ningún error => e=0

Page 29: Veure perfil

2929/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código ISBN

• Código ISBN. Obtención de las matrices de generación G y de comprobación H.

mensaje → m1 m2 m3 m4 m5 m6 m7 m8 m9

* * * * * * * * *

posición → 1 2 3 4 5 6 7 8 9 → redundancia = 1·m1+2·m2+3·m3+4·m4+5·m5+6·m6+ + 7·m7+8·m8+9·m9

( ))19P( I

9100000000

8010000000

7001000000

6000100000

5000010000

4000001000

3000000100

2000000010

1000000001

)109(G 9 xx =

=kxn kxr

( ) ( )1 2 3 4 5 6 7 8 9 10I P)101(H rT =−=x

rxn

01

2

3

4

56

7

10

9

8

-1

-2

-3

-4-5

-6

-7

-8

-9

-10

X

“El manuscrito carmesí”, A. Gala. → 84 320 7022-X

Page 30: Veure perfil

3030/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Código ISBN

• Código ISBN. Ejemplo.

( ) ( ) ( )X84320702210843207022

9100000000

8010000000

7001000000

6000100000

5000010000

4000001000

3000000100

2000000010

1000000001

843207022GXY ≡=

⋅=⋅=

( ) ( ) 011 mod 2091 2 3 4 5 6 7 8 9 X843207022XHY TT ==⋅=⋅

“El manuscrito carmesí”, A. Gala. → 84 320 7022-X

Redundancia =

= 1·8+2·4+3·3+4·2+5·0+6·7+7·0+8·2+9·2 =

= 109 mod 11 =

= 10 ≡ X

Corrige 1 borrón ⇒ ρ = 1 ⇒ e = 0

Page 31: Veure perfil

3131/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Códigos cíclicos y Códigos polinómicos

• Códigos cíclicos.

– Subconjunto de los códigos bloque lineales.

– Pueden ser modelados fácilmente mediante polinomios.

– Pueden ser implementados con registros de desplazamiento LFSR (Lineal Feedback Shift Register).

• Un código bloque lineal C es cíclico si:

Y = yn-1 yn-2 ... y3 y2 y1 y0 ∈ C

Y’ = yn-2 ... y3 y2 y1 y0 yn-1 ∈ C

Y’’ = y0 yn-1 yn-2 ... y3 y2 y1 ∈ C

• Correspondencia polinómica: Y = yn-1 yn-2 ... y3 y2 y1 y0 → Y(D) = y0 + y1⋅D + y2 ⋅D2 + ... + yn-1 ⋅Dn-1

(MPI=Más Peso a la Izquierda)

Page 32: Veure perfil

3232/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Códigos cíclicos y Códigos polinómicos

• Códigos cíclicos sistemáticos.

Y(D) = y0 + y1⋅ D + y2 ⋅ D2 + ... + yr-1 ⋅ Dr-1 + yr ⋅ Dr + ... + yn-1 ⋅ Dn-1

Dr ⋅ X(D)Y(D) = R(D) + Dr ⋅ X(D)

R(D) = Dr ⋅ X(D) mod g(D)

k posiciones r

Dr ⋅ X(D) R(D)

Dr ⋅X(D) = g(D)⋅C(D) + R(D)Dr ⋅X(D) g(D)

C(D)R(D)

Y(D) = R(D) + Dr ⋅X(D) = g(D)⋅C(D)

Y(D) mod g(D) = 0

Y(D) = g(D)⋅C(D)

g(D) = polinomio generador, grado r

Errores: Z(D) = Y(D) + e(D) S(D) = Z(D) mod g(D) = Y(D) mod g(D) + e(D) mod g(D) = e(D) mod g(D)

= 0, No error

≠ 0, Error

Aquellos cuyo e(D) no sea múltiplo de g(D).¿Qué errores se detectan?

Page 33: Veure perfil

3333/33/33Codificación de Canal. Transmisión de Datos.Codificación de Canal. Transmisión de Datos.

Códigos cíclicos y Códigos polinómicos

• Ejemplo.

– Código cíclico (7, 4) sistemático definido por el polinomio generador g(D) = D3 + D2 + 1.

– Hallar la palabra código asociada al mensaje de usuario X = 1011.

X=1011 → X(D) = D3 + D + 1

r = n-k = 7-4 = 3

Y(D) = R(D) + Dr ⋅ X(D)

R(D) = Dr ⋅ X(D) mod g(D)

Dr ⋅ X(D) = D3 ⋅ (D3 + D + 1) = D6 + D4 + D3

D6 + D4 + D3 D3 + D2 + 1

D3 + D2D6 + D5 + D3

D5 + D4

D5 + D4 + D2

D2 = R(D)

Y(D) = R(D) + Dr ⋅ X(D) = D2 + D6 + D4 + D3 = D6 + D4 + D3 + D2

Y = 1011 100