1. Técnicas de control de errores
Índice
Índice
1. INTRODUCCIÓN
2. TIPOS DE CONTROL DE ERRORES (ARQ y FEC)
3. TÉCNICAS ARQ: SOLICITUD DE REPETICIÓN AUTOMÁTICA
4. TÉCNICAS FEC: CODIFICACIÓN PARA LA DETECCIÓN Y
CORRECCIÓN DE ERRORES
4.1 Codificación de bloques
4.1.1 Códigos cíclicos
4.2 Codificación convolucional (no lo daremos en Audio Digital)
4.3 Entrelazado y códigos concatenados
4.4 Aplicaciones prácticas
Autora: Sofía Martín González
Departamento de Señales y Comunicaciones - ULPGC
2. Técnicas de control de errores
2.Tipos de control de errores
2.Tipos de control de errores
HOOLLA!!
HOOLLA!!
HOOLLA!!
HOOLLA!!
AUTOMATIC
REPEAT
REQUEST
FORWARD
ERROR
CONTROL
¿QUÉ?
¿QUÉ?
3. Técnicas de control de errores
2. Tipos de control de errores
2. Tipos de control de errores
FEC
Emisor Receptor
Mensaje
Errores
Error detectado Error corregido
. . .
Emisor Receptor
Mensaje
Errores
Error detectado
Petición de retransmisión
Retransmisión del mensaje
ARQ
5. Técnicas de control de errores
3. Técnicas ARQ
3. Técnicas ARQ
• Bit de paridad
1 0 1 1 0 1 0 0 Paridad par
1 0 1 0 0 1 0 1 Paridad par
1 0 1 1 0 1 0 1 Paridad impar
Bit de paridad
6. Técnicas de control de errores
4. Técnicas FEC
4. Técnicas FEC
• Codificación convolucional (Codificador con memoria)
• Codificación de bloques (Codificador sin memoria)
0110001
0001011
1001011 010010110100
000010110101
101101000010
1001011010001 1011010000100011010
Forward Error Correction (FEC)
7. Técnicas de control de errores
4. Técnicas FEC
4. Técnicas FEC
CAD
Información
analógica
Información
digital
M
U
X
Modulador Transmisor
Información de
caracteres
Codificador
de caracteres
Canal
Receptor
Información
analógica DAC
Información de
caracteres
Infromación
digital
D
E
M
U
X
Demodulador
Bits de la fuente
Fuente de
información
Destino de
información
Codificador
de canal
Modulador Transmisor
Canal
Receptor
Demodulador
Decodificador
de canal
Bits de la fuente Bits codificados
Decodificador
de caracteres
8. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
A) Conceptos generales
B) Estructura algebraica de los códigos de bloque
– Matriz generadora
– Matriz para la comprobación de la paridad
– Detección y corrección de errores: Síndrome
9. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
0110001
0001011
1001011 010010110100
000010110101
101101000010
Bloques
de k bits
Bloques
de n bits
n > k
•Código (n,k)
•Tasa del código: R = k / n
•Redundancia del código: ( n - k ) / k
•Incremento del ancho de banda
Ej: Tasa de código = 1/2
Redundancia del 100%
Ancho de banda: Doble
10. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Datos
+
Redundancia
Mensaje ≡ Palabra del código
Conjunto de
palabras del
código
Código
11. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
k bits ⇒
2k secuencias distintas
n bits ⇒
2n secuencias distintas
3 bits ⇒ 8 secuencias distintas 4 bits ⇒ 16 secuencias distintas
12. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Distancia Hamming (d):
Ej: 000 y 111 → d = 3 Ej: 010 y 011 → d = 1
Nº de posiciones en las que dos palabras difieren.
Aplicación de este concepto a los códigos de bloques:
Información Palabra código
0 0 0 0 0 0 0
0 0 1 0 0 1 1
0 1 0 0 1 0 1
0 1 1 0 1 1 0
1 0 0 1 0 0 1
1 0 1 1 0 1 0
1 1 0 1 1 0 0
1 1 1 1 1 1 1
Distancia mínima (dmin):
dmin = 2
13. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Código con distancia mínima dmin = 3:
CAPACIDAD DE DETECCIÓN O CORRECCIÓN DE ERRORES
EN FUNCIÓN DE LA DISTANCIA MÍNIMA DEL CÓDIGO:
• Detección de hasta dmin - 1 errores.
• Corrección de (dmin - 2) / 2 errores, si dmin es par.
• Corrección de (dmin - 1) / 2 errores, si dmin es impar.
1 1
1
14. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
• Mediante una look - up - table.(Código (127,92), problema)
• Generación de la salida a partir de la entrada.(Matriz generadora)
(Relación entrada - salida lineal:
• Dos palabras de código sumadas en aritmética módulo dos dan
como resultado otra palabra del código.
• El vector todos ceros forma parte del código.)
¿Cómo hacemos la asignación entrada - salida ?
ESTRUCTURA ALGEBRAICA DE LOS CÓDIGOS DE BLOQUES:
Suma módulo 2 ≡ OR-exclusiva
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
Multiplicación módulo 2 ≡ AND
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
Recordatorio
15. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Códigos sistemáticos: c1 c2 … cm u1 u2 … uk
MATRIZ GENERADORA: código lineal (n,k)
m bits redundantes k bits de información
[ ]
G
u
v =
u Vector [ 1 x k ] que representa la información.
v Vector [ 1 x n ] que representa la palabra del código.
[ ]
G Matriz [ k x n ] generadora.
[ ] [ ]
k
I
P
G M
=
[ ]
P Matriz [ k x (n - k) ] que contiene los coeficientes de paridad.
[ ]
k
I Matriz identidad [ k x k ] .
17. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
EJEMPLO DE GENERACIÓN DE
CÓDIGO DE BLOQUES LINEAL (7, 4):
Información Palabra código
0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 1 0 0 0 1
0 0 1 0 1 1 1 0 0 1 0
0 0 1 1 0 1 0 0 0 1 1
0 1 0 0 0 1 1 0 1 0 0
0 1 0 1 1 1 0 0 1 0 1
0 1 1 0 1 0 0 0 1 1 0
0 1 1 1 0 0 1 0 1 1 1
1 0 0 0 1 1 0 1 0 0 0
1 0 0 1 0 1 1 1 0 0 1
1 0 1 0 0 0 1 1 0 1 0
1 0 1 1 1 0 0 1 0 1 1
1 1 0 0 1 0 1 1 1 0 0
1 1 0 1 0 0 0 1 1 0 1
1 1 1 0 0 1 0 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1
¿Cuál es la distancia mínima de este código ?
Distancia entre dos palabras = Peso de su suma (OR-exclusiva)
⇒ Distancia mínima =
Mínimo peso de entre todas las
palabras distintas de la de todo
ceros.
( ) ( )
y
x
W
y
x
D +
=
,
+
dmin = 3
La suma de dos palabras del código es otra palabra válida
18. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
MATRIZ PARA LA COMPROBACIÓN DE LA PARIDAD:
[ ] [ ]
k
I
P
G M
=
[ ]
G Matriz [ k x n ] generadora.
[ ]
P Matriz [ k x (n - k) ] que
contiene los coeficientes de
paridad.
[ ]
k
I Matriz identidad [ k x k ] .
[ ]
=
1
0
0
0
1
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
G
[ ] [ ]
T
k
n P
I
H M
−
= [ ]
=
−
P
I
H
k
n
T
...
[ ]
=
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
H [ ]
=
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
H
T
19. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
MATRIZ PARA LA COMPROBACIÓN DE LA PARIDAD:
[ ] [ ]
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1 =
Vector del mensaje
Matriz
generadora G Vector del código
Vector del código
Matriz para la
comprobación de
la paridad H
Vector todo ceros
[ ] 0
=
T
H
v
20. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
DETECCIÓN Y CORRECCIÓN DE ERRORES: SÍNDROME
[ ] 0
=
T
H
v [ ][ ] [ ][ ] [ ] [ ] [ ]T
T
T
T
T
H
e
H
e
H
v
H
e
v
H
r =
+
=
+
=
[ ] [ ]
0
0
0
1
0
0
0
=
e
Vector error:
[ ] [ ]
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
0
1 =
[ ] [ ]
0
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0 =
≡
21. Técnicas de control de errores
4.1.1 Códigos cíclicos
4.1.1 Códigos cíclicos
Subclase importante dentro de los códigos
de bloques lineales.
CÓDIGOS CÍCLICOS:
Características:
* Un desplazamiento cíclico de una palabra del código da como
resultado otra palabra del código.
0100111 1010011
* Pueden ser implementados fácilmente con registros de
desplazamiento con realimentación.
* El cálculo del síndrome también puede ser realizado fácilmente con
registros de desplazamiento.
Desplazamiento cíclico a la derecha
[ ]
1
2
1
0
,
,
,
, −
= n
v
v
v
v
V K [ ]
2
2
1
0
1
)
1
(
,
,
,
,
, −
−
= n
n v
v
v
v
v
V K
22. Técnicas de control de errores
4.1.1 Códigos cíclicos
4.1.1 Códigos cíclicos
[1 0 1 1 1 0 1]
VECTOR:
POLINOMIO:
6
4
3
2
6
5
4
3
2
1
0
1
1
0
1
1
1
0
1
X
X
X
X
X
X
X
X
X
X
X
+
+
+
+
=
=
×
+
×
+
×
+
×
+
×
+
×
+
×
( ) k
n
k
n X
g
X
g
X
g
g
X
g −
−
+
+
+
+
= L
2
2
1
0
; g0 y gn-k = 1
POLINOMIO GENERADOR:
)
(
)
(
)
( X
g
X
u
X
V ⋅
=
)
(X
V
)
(X
u
Polinomio de grado n - 1 ó inferior
Polinomio de los diferentes mensajes
originales
23. Técnicas de control de errores
4.1.1 Códigos cíclicos
4.1.1 Códigos cíclicos
[ 0 1 0 1 ]
MENSAJE
ORIGINAL
(k = 4):
POLINOMIO
GENERADOR
(n - k = 3):
( ) k
n
k
n X
g
X
g
X
g
g
X
g −
−
+
+
+
+
= L
2
2
1
0
6
3
2
6
4
3
4
2
3
3
)
1
(
)
(
)
(
)
(
)
(
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
g
X
u
X
V
+
+
+
=
=
+
+
+
+
+
=
=
+
+
⋅
+
=
⋅
=
( ) 3
1 X
X
X
g +
+
=
[ 1 1 0 1 ]
( ) 3
X
X
X
u +
=
( ) 1
1
2
2
1
0
−
−
+
+
+
+
= k
k X
u
X
u
X
u
u
X
u L
]
0111001
[
=
v
Código cíclico ( 7 , 4 )
24. Técnicas de control de errores
4.1.1 Códigos cíclicos
4.1.1 Códigos cíclicos
DETECCIÓN Y CORRECCIÓN DE ERRORES:
Tx. Canal Rx.
)
(
)
(
)
( X
g
X
u
X
V ⋅
= )
(
)
(
)
( X
e
X
V
X
Z +
=
¿ ?
)
(
)
(
X
g
X
Z
Resto = 0 ⇒ No hay error
Resto ≠ 0 ⇒ Hay error
)
(
)
(
)
(
)
( X
S
X
g
X
q
X
Z +
⋅
=
Síndrome
25. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Probabilidad
de
error
de
bit,
P
B
Eb / N0 (dB)
Ganancia de codificación
ideal = 11.2 dB
Ganancia de codificación = 2.15 dB
BPSK con codificación
Golay(23,12)
Ganancia de codificación = 1.33 dB
Sistema ideal de
Shannoncon codificación
BPSK sin
codificación
26. Técnicas de control de errores
4.1 Codificación de bloques
4.1 Codificación de bloques
Sin codificar
Hamming (7,4); t = 1
Hamming (15,11); t = 1
Hamming (31,26); t = 1
Golayextendido (24,12); t = 3
BCH (127,36); t = 15
BCH (127,64); t = 10
Eb / N0 (dB)
Probabilidad
de
error
de
bit,
P
B
27. Técnicas de control de errores
4.3 Entrelazado y códigos concatenados
4.3 Entrelazado y códigos concatenados
ENTRELAZADO (Interleaving):
Convertir ráfagas de errores en errores aleatorios
D4
D3
D2
D1
C4
C3
C2
C1
B4
B3
B2
B1
A4
A3
A2
A1
A B C D
D4
C4
B4
A4
D3
C3
B3
A3
D2
C2
B2
A2
D1
C1
B1
A1
1 2 3 4
X X X X ← Ráfaga de errores
28. Técnicas de control de errores
4.3 Entrelazado y códigos concatenados
4.3 Entrelazado y códigos concatenados
ENTRELAZADO POR BLOQUES:
24
20
16
12
8
4
23
19
15
11
7
3
22
18
14
10
6
2
21
17
13
9
5
1
Desde el codificador
Al modulador
29. Técnicas de control de errores
4.3 Entrelazado y códigos concatenados
4.3 Entrelazado y códigos concatenados
ENTRELAZADO CONVOLUCIONAL:
J
2J
(N – 2)J
(N – 1)J
.
.
.
(N – 2)J
2J
J
.
.
.
(N – 1)J
Canal
Del
codificador
Al
decodificador
Sistema que realiza el entrelazado Sistema que realiza el proceso
contrario al entrelazado
30. Técnicas de control de errores
4.3 Entrelazado y códigos concatenados
4.3 Entrelazado y códigos concatenados
ENTRELAZADO
CONVOLUCIONAL:
Ejemplo
Desde el
codificador
Conmutadores
1
2
3
4
1
x
x
x
2
3
4
x
x
x
x
1
5
6
7
8
5
2
x
x
6
7 3
8 4
x
x
x
x
5 1
2
9
10
11
12
9
6
3
x
10
11 7
12 8 4
x
x
x
x
9 5 1
6 2
3
13
14
15
16
13
10
7
4
14
15 11
16 12 8
1
2
3
4
13 9 5
10 6
7
Al
decodificador
31. Técnicas de control de errores
4.3 Entrelazado y códigos concatenados
4.3 Entrelazado y códigos concatenados
CÓDIGOS CONCATENADOS:
Codificación
exterior
Entrelazado Codificación
interior
Modulación
Datos de
entrada
Canal
Decodificación
exterior
Entrelazado-1 Decodificación
interior
Demodulación
Datos
decodificados
Interferencia y
ruido
Código interior: Código convolucional (decodificación de Viterbi)
Código exterior: Código Reed - Solomon
Asociación frecuente
(PB = 10-5 con Eb / N0 = 2 – 2.5 dB)
32. Técnicas de control de errores
4.4 Aplicaciones prácticas
4.4 Aplicaciones prácticas
Codificación
C2
Entrelazado Codificación
C1
Entrelazado
Entrada del
codificador
Decodificación
C2
Entrelazado-1 Decodificación
C1
Entrelazado-1
Salida del
decodificador
Entrada del
decodificador
Entrelazado
Salida del
codificador
Entrelazado-1
M
Ejemplo: Compact Disc (CD)
CIRC (Cross – Interleave Reed – Solomon Code)