Está en la página 1de 46

Codificación de

Canal
Fernando Velez Varela
Departamento de Ingenierías
USC
1
Codif. cifrado Codif. transmisor
C
fuente de fuente de canal a
n
Decodif. descifrado Decodif receptor
a
de fuente de canal
destino l

2
Efectos indeseables
de la Transmisión
Atenuación

Distorsión 1

Pulso
rectangular Interferencia 0
ERROR
Ruido

3
Probabilidad 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.*

4
Fundamentos de las técnicas
de control de errores
Tx Rx
(1-p)
m1 0 p 0

p
m2 1 (1-p)
1

La ocurrencia de un error en la transmisión


determina error en el mensaje recibido*
5
Veamos un recurso para
proteger la informacion
Regla para protección contra errores:
“El dígito de informacion se repite”
bit de
informacion Tx Rx
m1 00 00
bit de chequeo 01 detecta
(redundancia) errores
10 simples
m2 11 11
Código que permite detectar errores simples
Ante errores dobles se comete error en la Rx*.
6
“El bit de informacion se repite
dos veces”
Tx Rx
m1 000 error 000
e rr s imp l
or e 001
do 0
er 010
ble
ror
palabras
t
100 palabras
de rip
código le 110 separa-
101 doras
1
011
m2 111 111
Código que permite corregir errores simples*
7
Conclusión:
introducción de Detección y /o
redundancia de
acuerdo a una permite corrección de
errores
regla

•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*
8
Códigos detectores y correctores
de errores 2 palabras n

k bits de información totales


b dígitos de chequeo 2n - 2k
palabras
n= b+k separadoras
no error
2k palabras de código

• • Tx • •Rx •

error
• palabra de código
palabra separadora 9
Espacio de codificación
• Espacio de n dimensiones donde cada
palabra es representada por un punto
• Distancia entre palabras:
palabras -cantidad de segmentos
quebrados entre dos palabras
• Dist. entre pal.=
pal cantidad dígitos diferentes
d=3 • •
d= 2

•10 •11 • •
111

0 1
• n=1
• 00 01
000
•d =1 •
• n=2
• •100 •
n=3
10
Distancia entre palabras
• Cantidad de digitos diferentes.
• V= 1111000
• U= 1100011
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
11
Potencialidad de un código
dependiendo de la distancia mínima
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 + 1


Para corregir r errores dmin = 2r + 1
12
Lí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 “ ” • 13
Límite de Hamming
Esfera de radio r con centro en palabra de código
Cantidad de palabras en cada
r esfera :
• 1: palabra de código
n: palabras sep. a distancia 1
n : palabras a dist. 2 ... n
: palabras a dist. r
2 r

palabras en n n
=1+n+ + ....+
una esfera 2 r
14
Límite de Hamming
Relación entre k, n y b para corrección de r errores


• •
n=k+b • •
n n n
2  2
n k 1+n+ + + ....+
2 3 r

2n
2k 
 ]
n n n
1+n+ + + ....+
2
Dpto. Telecomunicaciones 3
CUJAE r 15
Caso particular de corrección de
errores simples
r=1
n
k 2
2 
n 1
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 16
Códigos de bloque

k dígitos de n dígitos
Codificador
información Regla de la palabra
codificados
o bloque codificado
palabra que
cumple la
b dígitos de chequeo regla del
código
17
Código de paridad
Regla: El numero de “1” de la palabra es PAR
1 0 1 1 1 0 0
1 0 1 1 0 0 1
x1 ............... x6 c1
x 1 + x2 + x 3 + x 4 + x 5 + x 6 + c 1 = 0
1 + 1 = 0
1 + 0 = 1
+ : suma modulo 2 0 + 1 = 1
0 + 0 = 0 18
Código rectángular o de
paridad cruzada
• El código de paridad brinda pobre protección.
• Puede aumentarse su protección empleando
paridad cruzada.

1 1 0 0 1 1 1 1.
1 0 0 1 0 1 1 0 . bits de paridad
1 1 1 0 1 0 0 0. horizontal
0 1 1 0 0 1 0 1 .
1 1 0 1 0 1 0 0 . bits de paridad vertical 19
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
h11 h12 ..... h1n x2
Hbxn = h21 h22 .... h2n Tnx1 = ..
xm
. . . . . c1
hb1 hb2 .... hbn ...
cb

H•T =0
20
Veamos un ejemplo

21
Códigos algebraicos para la
correcció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”.
22
Códigos Algebraicos
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.
23
Códigos Cíclicos
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
24
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.
25
Proceso de codificación
1) G(x) xb : agregar b ceros a la secuencia de
información
2) G(x) x = Q(x) +
b R(x)
P(x) P(x)

3) G(x) xb + R(x) = Q(x)


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

26
Veamos ejemplos

27
Propiedades 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.

28
Teoremas 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.

29
Teoremas 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.

30
Teoremas 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).
31
Teoremas de Códigos Cíclicos
4. Se dice que un polinomio P(x) pertenece un
exponente “e”, 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.
32
Ejemplo de polinomio cíclico
perteneciente al exponente
32768
• 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.

33
Ejemplos de P(x) usados:
•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)
34
Implementación de
codificadores y
decodificadores de Códigos
Cíclicos por HW.

35
Cálculo del Residuo en las
salidas de los registros
g0 g1 g2 g3 gb-1 gb

F(x) + + + + ... +

CK

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


gi = 1 gi = 0
36
Residuo de F(x) / (x3 + x + 1)
a lo sumo de grado 2, (3 dígitos)

1 1 0
F(x) + +

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

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


37
Códigos cíclicos
R(x)
codificador

m
+
G(x) seguida de b ceros m’
1 decodificador R’ (x)
G(x) xb + R(x)
R(x) comparar

38
Conclusió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.

41
Otros Códigos: Código Golay (1)
• 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

42
Otros Códigos: Código Golay
extendido (2)
• 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.

43
Otros Códigos: Códigos BCH
(Bose-Chadhuri-Hocquenghem)
(3)
• Clase de códigos cíclicos capaces de corregir múltiples
errores.
• Están caracterizados por:
2b = n + 1
n-k=b
b >= 3
distancia 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
44
Otros Códigos: Código Reed-
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.

45
PB vs Eb/N0
PB = P error en el bloque

X Ganancia de

Codificación.

Dpto. Telecomunicaciones CUJAE 47


Ganancia 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.

48
Conclusiones
• 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**

49

También podría gustarte