View
214
Download
0
Category
Preview:
Citation preview
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 bloques4.1.1 Códigos cíclicos
4.2 Codificación convolucional (no lo daremos en Audio Digital)4.3 Entrelazado y códigos concatenados4.4 Aplicaciones prácticas
Autora: Sofía Martín González
Departamento de Señales y Comunicaciones - ULPGC
Técnicas de control de errores
2.Tipos de control de errores2.Tipos de control de errores
HOOLLA!!HOOLLA!!
HOOLLA!!HOOLLA!!
AUTOMATIC REPEAT
REQUEST
FORWARD ERROR
CONTROL
¿QUÉ?¿QUÉ?
Técnicas de control de errores
2. Tipos de control de errores2. Tipos de control de errores
FECEmisor Receptor
Mensaje
Errores
Error detectado Error corregido. . .
Emisor ReceptorMensaje
Errores
Error detectadoPetición de retransmisión
Retransmisión del mensaje
ARQ
Técnicas de control de errores
3. Técnicas ARQ3. Técnicas ARQ
Transmisor
Transmisión
Receptor
1
1
2
ACK2
ACK
3
3ACK
4
4ACK
5
5
…a) ARQ de parada
y espera
Transmisor
Transmisión
Receptor
1 2…
3 4 5 6 7 8 4 5 6 7 8
1 2 3 4 5 6 7 8 4 5 6 7 8
ACK NACK
4
b) ARQ continuo con vuelta atrás
ACK NACK
Transmisor
Transmisión
Receptor
1 2…
3 4 5 6 7 8 4 9 101112
1 2 3 4 5 6 7 8 4 9 1011 124
c) ARQ continuo con repetición selectiva
Técnicas de control de errores
3. Técnicas ARQ3. Técnicas ARQ
• Bit de paridad
1 0 1 1 0 1 0 0 Paridad par1 0 1 0 0 1 0 1 Paridad par1 0 1 1 0 1 0 1 Paridad impar
Bit de paridad
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)
Técnicas de control de errores
4. Técnicas FEC 4. Técnicas FEC
CADInformación analógica
Información digital
MUX
Modulador TransmisorInformación de caracteres
Codificador de caracteres
Canal
Receptor
Información analógica DAC
Información de caracteres
Infromacióndigital
DEMUX
Demodulador
Bits de la fuente
Fuente de información
Destino de información
Codificador de canal Modulador Transmisor
Canal
ReceptorDemoduladorDecodificador de canal
Bits de la fuente Bits codificados
Decodificador de caracteres
Técnicas de control de errores
4.1 Codificación de bloques4.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
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
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
Datos +
Redundancia
Mensaje ≡ Palabra del código
Conjunto de palabras del
código Código
Técnicas de control de errores
4.1 Codificación de bloques4.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
Técnicas de control de errores
4.1 Codificación de bloques4.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ódigo0 0 0 0 0 0 00 0 1 0 0 1 10 1 0 0 1 0 10 1 1 0 1 1 01 0 0 1 0 0 11 0 1 1 0 1 01 1 0 1 1 0 01 1 1 1 1 1 1
Distancia mínima (dmin):
dmin = 2
Técnicas de control de errores
4.1 Codificación de bloques4.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
Técnicas de control de errores
4.1 Codificación de bloques4.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-exclusiva0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0
Multiplicación módulo 2 ≡ AND0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1
Recordatorio
Técnicas de control de errores
4.1 Codificación de bloques4.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
[ ]Guv =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.
[ ] [ ]kIPG M=[ ]P Matriz [ k x (n - k) ] que contiene los coeficientes de paridad.
[ ]kI Matriz identidad [ k x k ] .
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
EJEMPLO DE GENERACIÓN DE CÓDIGO DE BLOQUES LINEAL (7, 4):
[ ]
=
1000101010011100101100001011
G
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
Observaciones :
• Código sistemático.
• Contiene el vector todo ceros.
• La suma de dos vectores cualesquieratambién pertenece al código.
• Bits de paridad.
Código lineal
Técnicas de control de errores
4.1 Codificación de bloques4.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.
( ) ( )yxWyxD +=,
+
dmin = 3
La suma de dos palabras del código es otra palabra válida
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
MATRIZ PARA LA COMPROBACIÓN DE LA PARIDAD:
[ ] [ ]kIPG M=
[ ]G Matriz [ k x n ] generadora.
[ ]P Matriz [ k x (n - k) ] que contiene los coeficientes de paridad.
[ ]kI Matriz identidad [ k x k ] .
[ ]
=
1000101010011100101100001011
G
[ ] [ ]Tkn PIH M−= [ ]
=
−
P
IH
knT ...
[ ]
=
1
01
110100
111010101001
H [ ]
=
101
111110011
100010
001
H T
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
MATRIZ PARA LA COMPROBACIÓN DE LA PARIDAD:
[ ] [ ]000
101111110
011100010
001
1101001 =
Vector del mensajeMatriz
generadora G Vector del código
Vector del códigoMatriz para la
comprobación de la paridad H
Vector todo ceros
[ ] 0=THv
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
DETECCIÓN Y CORRECCIÓN DE ERRORES: SÍNDROME
[ ] 0=THv [ ][ ] [ ][ ] [ ] [ ] [ ]TTTTT HeHeHvHevHr =+=+=
[ ] [ ]0001000=eVector error:
[ ] [ ]011
101111110011100010001
1100001 =
[ ] [ ]011
101111110011100010001
0001000 =
≡
Técnicas de control de errores
4.1.1 Códigos cíclicos4.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[ ]1210 ,,,, −= nvvvvV K [ ]22101
)1( ,,,,, −−= nn vvvvvV K
Técnicas de control de errores
4.1.1 Códigos cíclicos4.1.1 Códigos cíclicos
[1 0 1 1 1 0 1]VECTOR:
POLINOMIO:
6432
6543210
1
1011101
XXXX
XXXXXXX
++++=
=×+×+×+×+×+×+×
( ) knkn XgXgXggXg −
−++++= L2210 ; g0 y gn-k = 1
POLINOMIO GENERADOR:
)()()( XgXuXV ⋅=)(XV
)(Xu
Polinomio de grado n - 1 ó inferior
Polinomio de los diferentes mensajes originales
Técnicas de control de errores
4.1.1 Códigos cíclicos4.1.1 Códigos cíclicos
[ 0 1 0 1 ]MENSAJE ORIGINAL
(k = 4):
POLINOMIO GENERADOR
(n - k = 3):( ) kn
kn XgXgXggXg −−++++= L2
210
632
64342
33 )1()()()()(
XXXX
XXXXXX
XXXXXgXuXV
+++=
=+++++=
=++⋅+=⋅=
( ) 31 XXXg ++=
[ 1 1 0 1 ]
( ) 3XXXu +=
( ) 11
2210
−−++++= k
k XuXuXuuXu L
]0111001[=v
Código cíclico ( 7 , 4 )
Técnicas de control de errores
4.1.1 Códigos cíclicos4.1.1 Códigos cíclicos
DETECCIÓN Y CORRECCIÓN DE ERRORES:
Tx. Canal Rx.)()()( XgXuXV ⋅= )()()( XeXVXZ +=
¿ ?)()(
XgXZ Resto = 0 ⇒ No hay error
Resto ≠ 0 ⇒ Hay error
)()()()( XSXgXqXZ +⋅=
Síndrome
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
Pro
babi
lidad
de
erro
r de
bit,
PB
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
Técnicas de control de errores
4.1 Codificación de bloques4.1 Codificación de bloques
Sin codificarHamming (7,4); t = 1Hamming (15,11); t = 1
Hamming (31,26); t = 1
Golay extendido (24,12); t = 3BCH (127,36); t = 15
BCH (127,64); t = 10
Eb / N0 (dB)
Pro
babi
lidad
de
erro
r de
bit,
PB
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
D4D3D2D1C4C3C2C1B4B3B2B1A4A3A2A1
A B C D
D4C4B4A4D3C3B3A3D2C2B2A2D1C1B1A1
1 2 3 4
X X X X ← Ráfaga de errores
Técnicas de control de errores
4.3 Entrelazado y códigos concatenados 4.3 Entrelazado y códigos concatenados
ENTRELAZADO POR BLOQUES:
2420161284
2319151173
2218141062
211713951
Desde el codificador
Al modulador
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
CanalDel codificador
Al decodificador
Sistema que realiza el entrelazado Sistema que realiza el proceso contrario al entrelazado
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
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ónDatos de entrada
Canal
Decodificación exterior
Entrelazado-1 Decodificación interior
DemodulaciónDatos 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)
Técnicas de control de errores
4.4 Aplicaciones prácticas 4.4 Aplicaciones prácticas
Codificación C2
Entrelazado Codificación C1
EntrelazadoEntrada del codificador
Decodificación C2
Entrelazado-1 Decodificación C1
Entrelazado-1Salida del decodificador
Entrada del decodificador
Entrelazado
Salida del codificador
Entrelazado-1
M
Ejemplo: Compact Disc (CD)
CIRC (Cross – Interleave Reed – Solomon Code)
Recommended