32
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

Índice - ulpgc.es · Técnicas de control de errores 4.1 Codificación de bloques • Mediante una look - up - table.(Código (127,92), problema) • Generación de la salida a partir

  • Upload
    dokien

  • View
    214

  • Download
    0

Embed Size (px)

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)