lecture 19 codificación para control de errores. generación códigos lineales

56

Click here to load reader

Upload: nica2009

Post on 07-Jul-2015

326 views

Category:

Education


0 download

DESCRIPTION

Telecom

TRANSCRIPT

Page 1: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

1

Comunicaciones II

Conferencia 21: Codificación para el control de error. Generación en Códigos Lineales de Bloque.

UNIDAD VII: CODIFICACIÓN DE CANAL

Instructor: Israel M. Zamora, MS Telecommunications ManagementProfesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.

Universidad Nacional de Ingeniería

Universidad Nacional de Ingeniería

Page 2: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

2

Outline

• La Capa de Enlace de Datos• Introducción a la Codificación de Canal• La Promesa de la Codificación de Canal• El codificador de canal en el sistema• Comentarios sobre la codificación de canal• Técnicas de Detección y Corrección de errores• ARQ comparado a FEC• FEC: Forward Error Correction• Códigos Lineales de Bloque• Capacidad de detección/corrección• Generación de Códigos Lineales de Bloque

– Ejemplo 1: Generación código

• Código de Hamming

Page 3: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

3

Hasta ahora: La capa física…

•En este punto es importante resaltar que la mayoría de los temas que hemos abordado anteriormente, están enfocados en lo que se denomina CAPA FÍSICA del modelo OSI de la ISO.•En lo que corresponde a esta unidad, estaremos tratando sobre una de las funciones que realiza la denominada CAPA DE ENLACE DE DATOS, y mas particularmente, la que también se denomina la SUBCAPA LÓGICA DE ENLACE DE DATOS (LLC).

RED O MEDIO DE TRANSMISIÓN

CAPA FÍSICA

SUBCAPA LLC

SUBCAPA MAC

CAPA FÍSICA

SUBCAPA LLC

SUBCAPA MAC

RED RED

Page 4: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

4

La Capa de Enlace

• Algunas funciones que son propias de la CAPA DE ENLACE DE DATOS, se muestran en el diagrama inferior.

Page 5: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

5

La Capa de Enlace

• En esta Unidad trataremos el tema del Control de Errores (FEC y ARQ) y Control de Flujo (ARQ).

Page 6: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

6

La Capa de Enlace

Page 7: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

7

Algunos protocolos de la Capa de Enlace

Page 8: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

8

Introducción a la Codificación de Canal

•Hemos estudiado en las conferencias “Representaciones Espacial de Señales” y “Transmisión de Señales Pasabanda” que la probabilidad de error de señales digitales depende de la distancia (raíz cuadrada de la energía) entre las señales puntos de una constelación.•Para señales binarias equiprobables, la probabilidad de error puede expresarse como:

=

O

e N

dQP

212 ∫

∞−−= dt(t)]s(t)[sd 2

2112donde

•Y que en el caso de señales binarios con demodulación coherente, se tiene mejor desempeño cuando d12=√E por lo que tenemos:

=

O

be N

EQP

2

Page 9: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

9

La Promesa de la Codificación de Canal

•CODIFICACIÓN DE CANAL:

Se transforman las señales para mejorar el desempeño de la comunicación, incrementando la robustez contra los efectos dañinos del canal (ruido, interferencia, desvanecimiento, etc.)

• Codificación de forma de onda: Se transforman las formas de ondas para formas de ondas mejores

• Secuencias estruradas: Se transforman las secuencias de datos en mejores secuencias, teniendo redundancia estructurada.

– “Mejor” en el sentido de hacer el proceso de decisión menos sujeto de errores.

•OBJETO: •La Codificación tiene por objeto el control de error. Por control se entiende la

posibilidad de i) detectar errores de bits ó de ii) detectar y corregir errores de bits en las palabras de códigos que son recibidos en el receptor. Las palabras de códigos son las secuencias de información (1’s y 0’s en el caso binario) y están compuesta de la información mensaje mas la información de control de error.

Page 10: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

10

Tipos de errores

Error de un bit

Errores enráfaga de bits

Page 11: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

11

La Promesa de la Codificación de Canal

•Existe una manera de transmitir mensajes confiablemente sobre un canal ruidoso a una tasa (velocidad) positiva sin incurrir en un aumento exponencial del ancho de banda de transmisión y esa manera es a través de la codificación de canal.

•QUE ES: •La Codificación de Canal consiste en agregar (p) bits de paridad (control) a los bits de información mensaje (k) creando redundancia que permita al receptor detectar y corregir algunos de los bits (n) del paquete o palabra de código de información

recibido, minimizando el efecto de ruido de canal. Siempre se cumple que n > k.

k- bits de mensajesk- bits de mensajesCodificador de

Canal

LógicaGeneradora

de bits de Control

k- bits de mensajesp- bits de paridad

Secuencia Mensajek bits

Secuencia Palabra de Código a Transmitir n bits

Código (n,k)

Page 12: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

12

Redundancia

Page 13: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

13

Codificación

• El flujo de bits de información se particiona en bloques de k bits. • Cada bloque se codifica a un bloque de bits mas largo de n bits.• Los bits codificados se modulan para ser enviados a través del canal.• El proceso inverso se realiza en el receptor.

Bloque de datosCodificador de

Canal Palabra de Código

k bits n bits

óncodificaci de Tasa

aredundanci de bits

n

kr

n-k

c =

Page 14: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

14

Codificación

Page 15: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

15

Decodificación o Detección

Page 16: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

16

Concepto de Paridad

Page 17: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

17

Concepto de Paridad

• Suponga que el transmisor desea enviar la palabra “world”. En código ASCII los cinco caracteres se codifican como:

• Cuando la verificación de paridad se utiliza, los bits realmente enviados son los mostrados abajo:

• Ahora supongamos que la palabra world se recibe en el receptor sin ningún tipo de corrupción en la transmisión.

• El receptor cuenta el número de 1’s en cada caracter y resulta en un número par (6, 6, 4, 4, 4). Los datos son aceptados.

Page 18: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

18

Concepto de Paridad

• Suponga que la palabra “world” del ejemplo anterior se corrompe durante la transmisión, donde cada código de los cinco caracteres que se reciben son los siguientes:

• El receptor cuenta el número de 1’s en cada caracter y resulta en números pares e impares.

• El receptor concoce que los datos están corrompidos.• ¿Cómo se corrigen?• Luego, el receptor los descarta, y solicita retransmisión.

Page 19: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

19

Paridad Bidimensional

• La verificación paridad simple puede detectar únicamente todos los errores de un solo bit.

• Sólo podrá detectar todos los patrones de errores (errores en ráfagas) si el número total de errores en la unidad de datos es impar.

Page 20: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

20

Paridad Bidimensional

Page 21: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

21

Paridad Bidimensional

• Supongamos que el siguiente bloque de bits es enviado:

• Sin embargo, dicho bloque es golpeado por ruido en ráfaga de longitud de 8 bits, y algunos de los bits son corrompidos:

• Cuando el receptor verifica los bits de paridad, algunos de los bits no siguen la regla de paridad par, y el bloque completo es descartado.

• ¿Ahora, qué?

Page 22: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

22

Paridad Bidimensional

• En el esquema de verificación de paridad bidimensional, un bloque de bits se divide en filas y se agrega una fila de bits de redundancia a todo el bloque completo.

• Si dos bits en exactamente la misma posición respecto a otra unidad de datos están dañados, entonces:

Page 23: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

23

Check Sum: Suma de Verificación

• Este el mecanismo a tratar en esta y la siguiente conferencia.

Page 24: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

24

CRC: Código de Redundancia Cíclica

• Este mecanismo se desarrolla en la conferencia relativa a los códigos cíclicos.

Page 25: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

25

El codificador de canal en el sistema

Codificador de línea

Modulador

Filtropasabajos

Decodificadorde Canal

Detector de línea

Demodulador

Medio de transmisión

Información Fuente

Analógica

Información Analógica en

el destino

Formas de Onda de pulsos

Codificador

Binario

Codificador de Canal

A/D

DecodificadorBinario

Formateo y entramado

Información Fuente Digital

Deformateo y de-entramadoInformación

Digital en el destino

SISTEMA DE COMUNICACIÓN DIGITAL

Page 26: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

26

Comentarios sobre la codificación de canal

• La tarea del diseñador de un sistema de telecomunicaciones digitales es la de proveer una facilidad costo-efectiva para la transmisión de información desde un extremo a otro a una tasa y nivel de calidad que son aceptable para los usuarios

• Parámetros claves de sistema disponibles para el diseñador son:

– Potencia o energía de la señal (S ó E/Eb)

– Ancho de banda del canal

• Debe tomarse en cuenta el efecto de la PSD del ruido en el receptor

• La razón Eb/No es una limitación práctica en el diseño real en tanto que determina la tasa de errores BER

• En casi todos los casos, se fija Eb/No y se reduce el BER a través de códigos de control de error

• Permite reducir los requerimientos de Eb/No

• Permite reducir potencia de radiación en sistemas inalámbricos

• Permite reducir costos en hardware

• Precio a pagar: Demanda un mayor ancho de banda

Page 27: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

27

Técnicas de Detección y Corrección de errores

Detección y Corrección

Técnicas de Deteccióny Corrección de Errores

Forward Error Correction (FEC)

Receptor es capaz deDETECTAR Y CORREGIR

posibles errores localmente

Técnicas de Detecciónde Errores

Automatic RequestQuery (ARQ)

(*) En el sentido estricto, elReceptor SOLO DETECTA

posibles errores

(*) ARQ realiza la corrección de errores al solicitar la retransmisión de paquetes encontrados corruptos o dañados

Page 28: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

28

ARQ comparado a FEC

•Dos métodos más comunes: FEC y ARQ

•Forward Error Correction (FEC)• Sólo requiere enlace de una sola vía (Half Duplex)• Conexión es simplex• Bits de paridad funcionan para detección y corrección• El receptor trata de corregir algunos errores• Capacidad de corrección es limitada

•Distancia de Hamming

• Automatic Repeat Query (ARQ)• Basado en enlace half-duplex o conexiones full-duplex• Utiliza códigos de detección de errores (Bits de paridad en el bloque de datos)• El receptor envía una retroalimentación al transmisor, diciendo si algún error, o ninguno, se ha detectado en el paquete recibido (NACK/ACK)• Si hay algún error, el transmisor retransite el paquete previamente enviado• Entidad de recepción solo detecta error y lo notifica. No lo corrige• Corrección se logra por retransmisión

Page 29: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

29

ARQ comparado a FEC

k

Algoritmo deCodificaciónARQ o FEC kp

Rb

Rc=(n/k)Rb

Codificaciónlínea M-ario

ModuladorPasabanda Tx Pasa banda

R=Rc/(log2M)

Tx Banda BaseR=Rc /(log2M)

• ARQ Híbrido (ARQ+FEC)• Implementación en conexión full-duplex• Utiliza códigos para detección y corrección de errores• Combina las ventajas de FEC con la seguridad de ARQ

Diagrama ilustrativo del proceso de codificación de canal en sistemas Pasabanda y Bandabase.

OBSERVACIÓN: La tasa de transmisión física R, y el mismo ancho de banda de transmisión, dependen ahora de la tasa o velocidad de bits codificados por segundo, es decir, RC. .

Page 30: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

30

¿Por qué usar codificación para corrección de error?

– Rendimiento respecto al error vs. ancho d banda

– Potencia vs. ancho de banda

– Tasa de datos vs. ancho de banda

– Capacidad vs. ancho de banda

(dB) / 0NEb

bP

A

F

B

D

C

E No Codificado

CodificadoGanancia de codificación:Para una probabilidad de error de bit, lareducción en la Eb/No que puede seralcanzada a través del uso de códigos, es:

[dB][dB] [dB] c0u0

=

N

E

N

EG bb

U: significa “No Codificada”C: significa “Codificada”

Page 31: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

31

FEC: Forward Error Correction

• Al igual que ARQ, está basado en código de paridad

• Detecta y corrige errores en el receptor

• No hay retransmisión

• Usado cuando:– No hay canal inverso (retorno)– Distancia de transmisión es considerable– Medio no es muy confiable (BER es alta)

• Clases de código:– Códigos lineales de bloque– Códigos Cíclicos– Códigos Convolucionales (Si el tiempo permite)– Códigos Compuestos tales como Turbo códigos y códigos de

bits de paridad de baja densidad (No tratados en este curso)

Page 32: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

32

• Repaso breve de algunos algunas definiciones básicas que son útilies para entender los códigos de bloque lineales.

• Campo Binario : – El conjunto {0,1}, bajo adición y multiplicación binaria en módulo 2

forman un campo.

Un campo binario también es llamado campo de Galois, GF(2).

Códigos Lineales: Algunas definiciones

011

101

110

000

=⊕=⊕=⊕=⊕

111

001

010

000

=⋅=⋅=⋅=⋅

Adición Multiplicación

Page 33: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

33

• Campos – Sea F un conjunto de objeto en el cual dos

operaciones ‘+’ y ‘.’ se definen. – Se dice que F es un campo si y solo si:

1. F forma un grupo conmutativo bajo la operación “+”. El elemento de identidad aditiva se representa como “0”.

2. F-{0} forma un grupo conmutativo bajo la operación “.”. El elemento de identidad multiplicativa se representa como “1”.

3. Las operaciones “+” y “.” son distributivas:

FabbaFba ∈+=+⇒∈∀ ,

FabbaFba ∈⋅=⋅⇒∈∀ ,

)()()( cabacba ⋅+⋅=+⋅

Códigos Lineales: Algunas definiciones

Page 34: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

34

Códigos Lineales: Algunas definiciones

• Espacio vectorial:– Sea V un conjunto de vectores y F un campo

de elementos llamados escalares. V forma un espacio vectorial sobre F si:

• 1. Conmutativo:

• 2. Distributivo:

• 3. Asociativo:VuvVv ∈=⋅⇒∈∀∈∀ aFa ,

vuvuvvv ⋅+⋅=+⋅⋅+⋅=⋅+ aaababa )( and )(

FV ∈+=+⇒∈∀ uvvuvu,

)()(,, vvv ⋅⋅=⋅⋅⇒∈∀∈∀ babaVFba

vvVv =⋅∈∀ 1 ,

Page 35: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

35

Códigos Lineales: Algunas definiciones

– Ejemplos de espacios vectoriales• El conjunto de n-tuplas binarias, denotadas por :

• Subespacio Vectorial:– Un subconjunto S de un espacio vectorial es

llamado un subespacio si:• El vector todos-cero está en S.• La suma de cualquiera dos vectores en S está también

en S.• Ejemplo:

. de subespacioun es )}1111(),1010(),0101(),0000{( 4V

nV

nV

)}1111(),1101(),1100(),1011(),1010(),1001(),1000(

),0111(),0101(),0100(),0011(),0010(),0001(),0000{(4 =V

Page 36: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

36

Códigos Lineales: Algunas definiciones

• Conjunto expansivo:– Un colección de vectores , se dice

que es un conjunto expansivo o que expanden V si:• Las combinaciones lineales de vectores en G pueden generar

todos los vectores en el espacio vectorial V, • Example:

• Bases:– El conjunto expansivo de V que tienen la mínima

cardinalidad se denomina la base de V.• La cardinalidad de un conjunto es el número de objetos en el

conjunto.• Ejemplo: { } .for basis a is )0001(),0010(),0100(),1000( 4V

{ } . expande )1001(),0011(),1100(),0110(),1000( 4V

{ }nG vvv ,,, 21 =

Page 37: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

37

Códigos Lineales: Algunas definiciones

• Código lineal de bloque– Un conjunto con cardinalidad se llama

un código lineal de bloque si, y solo si, es un subespacio del espacio vectorial .

• Miembros de C son llamados palabras de código.• La palabra de código todos-cero también es una palabra de

código válida.• Cualquier combinación lineal de palabras de código es también

una palabra de códigos.

nV

nVC ⊂ keM 2=

nk VCV ⊂→

Page 38: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

38

Códigos Lineales: Algunas definiciones

nVkV

C

Bases de C

mapeando

Page 39: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

39

Generación de Códigos Lineales de Bloque

• Codificación códigos de bloque

• La generación de códigos lineales de bloque consiste en la codificación de cada mensaje m con base en una matriz generadora compuesta por lo vectores generadores Vk que forman el subespacio vectorial que contiene las palabras de código de C.

– Las filas de G son linealmente independientes.

mGc =

112211001210

1

1

0

12101210

),,,,(

),,,,(),,,,(

−−−

−−

⋅++⋅+⋅+⋅=

⋅=

kkn

k

kn

mmmmcccc

mmmmcccc

VVVV

V

V

V

Vectorialmente:

Page 40: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

40

Códigos Lineales de Bloque en datalle

•Un código lineal de bloque (n,k,d) está totalmente definido por Me = 2k secuencias binarias de longitud n llamada palabra de código.

•Un código C consiste de las Me palabras de códigos ci para 1≤ i ≤ 2k

}c,...,c,c{cC M210, 1−=

•Linealidad del código•Un código de bloque es lineal si cualquier combinación lineal de dos palabras de código es también una palabra de código. Si ci y cj palabras de códigos, entonces:

jik ccc ⊕= es también una palabra de código.

Nótese que la operación corresponde a una suma en lógica booleana en modo 2 también conocida como operación EXOR.

EXOR

X Y X⊕Y

0 0 0

0 1 1

1 0 1

1 1 0

Valores iguales de X e Y resulta en 0 Valores distintos de

de X e Y resulta en 1

n: número de bits de la palabra códigok: número de bits de palabra mensajed: distancia de Hamming

Page 41: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

41

Capacidad de detección/corrección

• Distancia de Hamming dH:– La distancia entre dos palabras de códigos ci y cj denotado por

dH(ci,cj), es el número de posiciones o componentes en los cuales las dos palabras difieren.

– Ej: sea c1=(10011); c2=(11010) entonces dH(c1,c2)=2

• Ponderación o Peso de Hamming wH(ci):– Es el número de posiciones o componentes en una palabra de código

ci que son distintos de cero. Su notación es wH(ci).

Ej: Sea ci=(1011001) se tiene que wH(ci)=4

• Distancia mínima de un código dHmin:

– Es la mínima distancia de Hamming entre cualquier par de código ci y cj. Esta distancia también denota la capacidad de detección y corrección de error del código:

( ) )c(cwc,cd jiH

jiH ⊕=

( )jiH

jic,c

Hmín ,ccdmínd

ji

=

Page 42: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

42

Capacidad de detección/corrección

• Ponderación o Peso mínimo de un código wHmín(ci):

– Es el mínimo de las palabras de códigos, excepto por la palabra de código donde todos los componentes o posiciones son cero.

• Teorema: En todo código lineal se cumple

• Capacidad del Código:

– Capacidad de corrección de error “t”:

– Capacidad de detección de error “v”:

• Tasa de codificación

( )iH

c

Hmín c wmínw

i 0≠=

Hmín

Hmín wd =

21−=

Hmínd

t

1−= Hmíndv

10 ≤≤= cc r n

kr b

cc R

rR

1=y

Tasa de Txde bits

codificados

Page 43: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

43

Capacidad de detección/corrección

•Capacidad del Código (Continuación):

– Capacidad de detección α y corrección β de error simultánea, sujeta a:

•Cuando ocurren t o menos errores, el código es capaz de detectar y corregirlos.

•Cuando ocurren mas de t errores pero menos de v+1 error, donde v se define como en la diapositiva anterior, el código es capaz de detectar la presencia de errores pero corregirá únicamente un subconjunto de ellos.

1++≥ βαHmínd

Page 44: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

44

Capacidad de detección/corrección

•Por ejemplo, un código con dmínH = 7 puede ser usado para detectar y

corregir simultáneamente, en cualquiera de los siguientes formas:

Detectar (β) Corregir (α)

3 3

4 2

5 1

6 0

Page 45: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

45

Capacidad correción de eliminación (erasure)

•Un receptor puede ser diseñado para declarar un símbolo como eliminado o borrado (erased) cuando se recibe ambiguamente o cuando el receptor reconoce la presencia de interferencia o un malfuncionamiento transitorio.

•Tal canal tienen un alfabeto de entrada del tamaño Q y una alfabeto de salida de tamaño Q+1; el símbolo extra a la salida se denomina bandera de eliminación (erasure flag), o simplemente una eliminación (erasure).

•Cuando un demodulador comete un error de símbolo, se requieren dos parámetros necesarios para corregir tal error, como son su localización y el valor correcto del símbolo.

• En el caso de símbolos binarios, esto se reduce únicamente a su localización. No obstante, si el demodulador declara un símbolo eliminado (erased), aunque el valor del símbolo correcto no sea conocido, la localización del símbolo es conocida, y por esta razón, la decodificación de palabras de códigos eliminadas (erased) es mas sencilla que la corrección de errores.

•Un código de control de errores puede ser usado para corregir eliminaciones (erasures) o para corregir errores y eliminaciones (erasures) simulatáneamente.

Page 46: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

46

Capacidad correción de eliminación (erasure)

•Si el código tienen una distancia mínima de Hamming dmínH, cualquiera de ρ o

menos eliminaciones (erasures) pueden ser corregidas:

1+≥ ρHmínd

•Asuma por un momento que no hay errores fuera de las posiciones de eliminación (erasures). La ventaja de corregir por medio de eliminaciones (erasures) se expresa cuantitativamente como sigue:

•Si el código tiene una distancia mínima de Hamming dmínH entonces dmín

H - 1 eliminaciones pueden ser reconstituidas. Debido que el número de errores que pueden ser corregidos sin eliminación (erasure) de información es (dmín

H – 1)/2 a lo sumo, la ventaja de corrección por medio de eliminaciones (erasures) es clara.

•Además, cualquier patrón de α errores y γ eliminaciones (ersures) pueden ser corregidas simulatánemente si:

12 ++≥ γαHmínd

Page 47: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

47

Capacidad correción de eliminación (erasure)

•La corrección simultánea de eliminaciones (erasures) y errores puede realizarse de la siguiente manera.

•Primero, las γ posiciones eliminadas (erased) son reeplazadas con ceros (0’s) y la palabra de código resultante se decodifica normalente.

•Luego, las γ posiciones eliminadas (erased) son reemplazadas con unos (1’s), y la operación de decodificación se repite en esta versión de palabra de código.

•De las dos palabras de códigos obtenidas (una mediante el reemplazo de los 0’s y la otra por el reemplazo de los 1’s), la palabra de código que corresponde al menor número de errores corregidos fuera de las γ posiciones eliminadas (erased) es finalmente seleccionada. Esta técnica siempre resultará en una decodificación correcta si se satisface la condición anteriormente dada:

12 ++≥ γαHmínd

Page 48: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

48

Generación de Códigos Lineales de Bloque

•Consideremos que los mensajes de k bits pueden escribirse como:110 −km,...,mm

•Los códigos de bloque sistematicos satisfacen la condición que los primeros p (=n-k) bits de la izquierda (o los últimos de la derecha) son idénticos a los correspondientes bits de paridad. Los últimos k bits de la derecha (o de la izquierda) son idénticos a los bits de mensaje.

+==

=+ 11

110

,...,n-n-k, n-k, im

,...,n-k-, i, pc

k-ni

ii

•Con k bits es posible obtener hasta Me=2k distintos mensajes.

•Asimismo, sea cada palabra de código de n bits expresada como: 110 −nc,...,cc•El bloque de bits de paridad de p bits se escribe como: 110 −pp,...,pp

k- bits de mensajesp- bits de paridad

•Podemos escribir:

p0,p1,...,pn-k-1 m0,m1,...,mn-k-1

Bits de paridad Bits de mensaje

CÓDIGOS DE BLOQUE SISTEMÁTICOS:

Page 49: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

49

Generación de Códigos Lineales de Bloque

•Los primeros p (=n-k) bits de paridad son una combinación lineal de los k bits de mensaje como se muestra en la relación generalizada siguiente:

∑−

=

=+++=1

0111100

k

jjjik-,ik-iii mpmp...mpmpp

=otra parte en

de m depende p si p ji

ji0

1

•Los coeficientes pji se definen como sigue:

[ ][ ]

[ ]110

110

110

−−

===

n

kn

k

,...,c,ccc

,...,p,ppp

,...,m,mmm

•Los coeficientes pji se escoge de modo que las filas de la matriz generadora sea linealmente independiente y la ecuación de paridad es única. Este sistema de ecuaciones se pueden expresar matricialmente como sigue:

Page 50: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

50

Generación de Códigos Lineales de Bloque

•Reescribiendo el conjunto de ecuaciones simultáneas que definen los bits de paridad en la forma matricial compacta:

mPp =

•La matriz DE PARIDAD P con coeficientes k(filas)x(n-k)(columnas), está definida por:

=

−−−−−

−−

−−

11211101

11121110

10020100

k,nk,k,k,k-

k,n

k,n

p p pp

p p pp

p p pp

P

donde pji es 0 ó 1.

•Aplicando álgebra matricial se puede demostrar:

[ ]mpc =

[ ]kIPmc =•Factorizando la matriz m se puede llegar a:

Page 51: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

51

Generación de Códigos Lineales de Bloque

•Donde la matriz Ik es la matriz identidad (kxk) definida como:

=

10 0 0

00 1 0

00 0 1

kI

[ ]kIPG =

•De la relación matricial anterior, ahora se puede definir la matriz auxiliar denominada matriz GENERADORA G (kxn) definida como:

mGc =•Lo que permite reescribir la relación vectorial de forma tal que:

MatrizGeneradora

GVector mensaje m Vector código c

GENERACIÓN

Page 52: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

52

Generación de Códigos Lineales de Bloque

=

−−−−−

−−

−−

112,11,101

11121110

10020100

k,nkkk,k-

k,n

k,n

p p pp

p p pp

p p pp

P

=

10 0 0

00 1 0

00 0 1

Ik

=

=

−−−−−−

−−

−−

1

1

0

112,11,101

11121110

10020100

10 0 0

00 1 0

00 0 1

kk,nkkk,k-

k,n

k,n

p p pp

p p pp

p p pp

V

V

V

G

[ ]kIPG =•Expandiendo, en detalle tenemos:

y

• por tanto, la matriz generadora es:

Page 53: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

53

Generación de Códigos Lineales de Bloque

Vemos que la matriz generador G se construye al tomar las filas de los vectores bases, que se han obtenido de las matrices de paridad y de identidad de la diapositiva anterior:

nVkV

C

Bases de C

mapeando

},,,{ 21 kVVV

=

=

−−−−

−1,11,10,1

1,11110

1,00100

1

1

0

nkkk

n

n

k vvv

vvv

vvv

V

V

V

G

mGc =

[ ]kIPG =

[ ]kIPmc =

110 −km,...,mm110 −nc,...,cc

Page 54: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

54

Ejemplo 1: Generación código

• Un sistema de comunicación digital utiliza la matriz de coeficientes de paridad P indicada abajo. Determine la palabra de códigos (7,4) que se genera para el mensaje m=0101.

=

1 0 1

1 1 1

1 1 0

0 1 1

P

=

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

• SOLUCION:

Aplicaremos a relación matricial c=mG. Para ello debemos construir la matriz Generadora G=[P|Ik], la cual resulta ser:

Page 55: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

55

Ejemplo 1: Generación código

[ ]

[ ]1 0 1 0 | 0 1 1

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

1 0 1 0

=

⋅==

c

mGc

• Calculando el producto matricial c=mG con m=01011 tenemos:

Mensaje Original k=4 bitsPalabra de códigoN=7 bits p=3 bits de paridad

Page 56: Lecture 19 codificación para control de errores. generación códigos lineales

2S 2009 I. Zamora

Uni VII-Conf 19: Codificación de Canal

56