La empresa sostenible: Principales Características, Barreras para su Avance y...
Lecture 19 codificación para control de errores. generación códigos lineales.
1. Universidad Nacional de Ingeniería
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 Management
Profesor Titular, Departamento de Sistemas Digitales y Telecomunicaciones.
Universidad Nacional de Ingeniería
2. 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
3. RED RED
SUBCAPA LLC
SUBCAPA MAC
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
4. 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.
5. 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).
6. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
6
La Capa de Enlace
7. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
7
Algunos protocolos de la Capa de Enlace
8. ö
æ
P Q d
d = [s (t)-s (t)]2dt
12 1 2
ö
æ
b
P Q 2E
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
2
12 ò¥
-¥
donde
•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
e N
9. 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.
10. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
10
Tipos de errores
Error de un bit
Errores en
ráfaga de bits
11. 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.
kk- -b bitists d dee m meennssaajejess Codificador de
Canal
Lógica
Generadora
de bits de Control
Código (n,k)
p- bits de paridad k- bits de mensajes
Secuencia Mensaje
k bits
Secuencia Palabra de Código a Transmitir
n bits
12. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
12
Redundancia
13. bits de redundancia
r k
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 datos
Codificador de
Canal Palabra de Código
k bits n bits
Tasa de codificación
n
n-k
c =
14. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
14
Codificación
15. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
15
Decodificación o Detección
16. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
16
Concepto de Paridad
17. 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.
18. 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.
19. 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.
20. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
20
Paridad Bidimensional
21. 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é?
22. 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:
23. 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.
24. 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.
25. SISTEMA DE COMUNICACIÓN DIGITAL
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
Medio de
transmisión
25
El codificador de canal en el sistema
Codificado
r de línea
Modulador
Filtro
pasabajos
Decodificador
de Canal
Detector
de línea
Demodulador
Información
Fuente
Analógica
Información
Analógica en
el destino
Formas de
Onda de
pulsos
Codificado
r
Binario
Codificado
A/D r de Canal
Decodificador
Binario
Formateo y
entramado
Información
Fuente Digital
Deformateo y
Información de-entramado
Digital en el
destino
26. Comentarios sobre la codificación de canal
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
26
• 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
27. Técnicas de Detección y Corrección de errores
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
27
Detección y Corrección
Técnicas de Detección
y Corrección de Errores
Forward Error
Correction (FEC)
Receptor es capaz de
DETECTAR Y CORREGIR
posibles errores
localmente
Técnicas de Detección
de Errores
Automatic Request
Query (ARQ)
(*) En el sentido estricto, el
Receptor SOLO DETECTA
posibles errores
(*) ARQ realiza la corrección de errores al solicitar la
retransmisión de paquetes encontrados corruptos o dañados
28. 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
29. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
29
ARQ comparado a FEC
k
Algoritmo de
Codificación
ARQ o FEC p k
Rb
Rc=(n/k)Rb
Codificación
línea M-ario
Modulador
Pasabanda Tx Pasa banda
R=Rc/(log2M)
Tx Banda Base
R=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. .
30. ¿Por qué usar codificación para corrección de error?
ö
÷ ÷ø
æ
- ÷ ÷ø
G Eb b
ç çè
ö
æ
=
E
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
30
– 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) 0 E N b
b P
Codificado
A
F
B
D
C
E No Codificado
Ganancia de codificación:
Para una probabilidad de error de bit, la
reducción en la Eb/No que puede ser
alcanzada a través del uso de códigos, es:
[dB] [dB] [dB]
0 u 0 c
ç çè
N
N
U: significa “No Codificada”
C: significa “Codificada”
31. 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)
32. Códigos Lineales: Algunas definiciones
Adición Multiplicación
Å =
0 0 0
Å =
0 1 1
Å =
1 0 1
Å =
1 1 0
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.
× =
0 0 0
× =
0 1 0
× =
1 0 0
× =
1 1 1
Un campo binario también es llamado campo de Galois, GF(2).
33. Códigos Lineales: Algunas definiciones
"a,bÎF Þa + b = b + aÎF
"a,bÎF Þa ×b = b×aÎF
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:
a × (b + c) = (a ×b) + (a ×c)
34. "u, vÎV Þu + v = v + uÎF
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:
"aÎF,"vÎVÞa × v = uÎV
• 3. Asociativo:
(a + b) × v = a × v + b× v and a × (u + v) = a ×u + a × v
"a,bÎF,"vÎV Þ(a ×b) × v = a × (b × v)
"vÎV, 1× v = v
35. {(0000),(0001),(0010),(0011),(0100),(0101),(0111), 4 V =
(1000),(1001),(1010),(1011),(1100),(1101),(1111)}
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
35
Códigos Lineales: Algunas definiciones
– Ejemplos de espacios vectoriales
n V
• El conjunto de n-tuplas binarias, denotadas por :
• Subespacio Vectorial:
n V
– 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:
{(0000), (0101),(1010),(1111)} es un subespacio de . 4 V
36. { } n G v , v , , v = 1 2
{(1000),(0110),(1100),(0011),(1001)} expande . 4 V
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: {(1000),(0100),(0010),(0001)} is a basis for . 4 V
37. C ÌVn k
n V
k n V ®C ÌV
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 M = 2
se llama
e 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.
38. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
38
Códigos Lineales: Algunas definiciones
n V
k V
C
Bases de C
mapeando
39. c =mG
V
0
c c c c m m m m
= ×
( , , , , ) ( , , , , )
V
-
n k
- -
ù
ú ú ú ú
û
é
ê ê ê ê
V
ë
k
V V V V
c c c c m m m m
= × + × + × + + ×
n k k
0 1 2 1 0 0 1 1 2 2 1 1
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.
1
1
0 1 2 1 0 1 2 1
( , , , , )
- - -
Vectorialmente:
40. 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 ,c ,...,c } 0, 1 2 M-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:
k i j c =c Åc 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ódigo
k: número de bits de palabra mensaje
d: distancia de Hamming
41. d H (c ,c ) = w H
(c Å
c ) i j
i j
H
mín d mín d c ,c
c ,c
i j
¹
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 dH
min:
– Es la mínima distancia de Hamming entre cualquier par de código ci y
cj. Esta distancia también denota la capacidad de H
detección ( ) y
corrección de error del código:
i j
i j
=
42. H
wmín mín w c
Tasa de Tx
de bits
codificados
r k b
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
y R = 1
c R
42
Capacidad de detección/corrección
• Ponderación o Peso mínimo de un código wH
mí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
( ) i
H
c
i ¹0
=
H
mín
H
mín d = w
t = d
H
-mín 1
2
= H -1
mín v d
= 0 £ £1 c c r
n
r
c
43. H ³a +b +1
mín d
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 a y corrección b 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.
44. 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ín
H = 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
45. 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.
46. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
H, cualquiera de r o
46
Capacidad correción de eliminación (erasure)
•Si el código tienen una distancia mínima de Hamming dmín
menos eliminaciones (erasures) pueden ser corregidas:
H ³ r +1
mín d
•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ín
H 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 a errores y g eliminaciones (ersures) pueden
ser corregidas simulatánemente si:
H ³ 2a +g +1
mín d
47. 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 g posiciones eliminadas (erased) son reeplazadas con ceros (0’s)
y la palabra de código resultante se decodifica normalente.
•Luego, las g 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 g posiciones eliminadas
(erased) es finalmente seleccionada. Esta técnica siempre resultará en una
decodificación correcta si se satisface la condición anteriormente dada:
H ³ 2a +g +1
mín d
48. CÓDIGOS DE BLOQUE SISTEMÁTICOS:
•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.
•Con k bits es posible obtener hasta Me=2k distintos mensajes.
•Asimismo, sea cada palabra de código de n bits expresada como: 0 1 n-1 c c ,...,c
•El bloque de bits de paridad de p bits se escribe como: 0 1 p-1 p p ,..., p
p- bits de paridad k- bits de mensajes
p0,p1,...,pn-k-1 m0,m1,...,mn-k-1
Bits de paridad Bits de mensaje
p , i =
, ,...,n-k-c
m , i n-k, n-k ,...,n-
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: 0 1 k-1 m m ,...,m
î í ì
0 1 1
= +
=
+ 1 1
i k-n
i
i
•Podemos escribir:
49. i i i k- ,i k- ji j p p m p m ... p m p m
•Los coeficientes pji se definen como sigue:
si p depende de m
p i j
ji 0
•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:
k
m m ,m ,...,m
0 1 -
1
=
p =
p ,p ,...,p
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
0
0 0 1 1 1 1
k
j
î í ì
=
en otra parte
1
[ ]
[ ]
0 1 - -
1
[ ] 0 1 -
1
=
n
n k
c c ,c ,...,c
50. é
=
,n k
p p p
p
00 01 02 0 - -
1
,n k
p p p p
10 11 12 1 - -
1
p p p p
k- , k , k , k ,n k
1 0 1 1 1 2 1 1
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: p = mP
•La matriz DE PARIDAD P con coeficientes k(filas)x(n-k)(columnas), está definida por:
ù
ú ú ú ú ú
û
ê ê ê ê ê
ë
- - - - -
P
donde pji es 0 ó 1.
•Aplicando álgebra matricial se puede demostrar:
c =[ pm]
[ ] k c =m P I
•Factorizando la matriz m se puede llegar a:
51. ù
é
=
1 0 0
0
0 1 0
0
0 0 0 1
•De la relación matricial anterior, ahora se puede definir la matriz auxiliar denominada
matriz GENERADORA G (kxn) definida como:
Vector mensaje m Vector código c
GENERACIÓN
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:
ú ú ú ú
û
ê ê ê ê
ë
k I
[ ] k G = P I
•Lo que permite reescribir la relación vectorial de forma tal que: c =mG
Matriz
Generadora
G
52. [ ] k G = P I •Expandiendo, en detalle tenemos:
ù
é
=
,n k
- -
p p p
p
00 01 02 0 1
,n k
- -
p p p p
10 11 12 1 1
p p p p
k- , k k k ,n k
é
=
y
• por tanto, la matriz generadora es:
,n k
- -
p p p p
00 01 02 0 1
,n k
- -
p p p p
10 11 12 1 1
1 0 0 0
0 1 0 0
G
p p p p
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
1 0 0
0
0 1 0
0
0 0 0 1
V
V
52
Generación de Códigos Lineales de Bloque
ú ú ú ú ú
û
ê ê ê ê ê
ë
- - - - -
1 0 1,1 1,2 1 1
P
ù
ú ú ú ú
û
é
=
ê ê ê ê
ë
Ik
ù
ú ú ú ú ú
û
é
ê ê ê ê ê
ë
=
ù
ú ú ú ú ú
û
ê ê ê ê ê ë
0
-
- - - - -
1
1
1 0 1,1 1,2 1 1
0 0 0 1
k
k- , k k k ,n k
V
53. mapeando
{ , , , } 1 2 k V V V
[ ] k G = P I
[ ] k c =m P I
é
=
ù
é
n
v v
v
00 01 0, 1
n
v v
v
10 11 1, 1
V
0
V
k v v
v
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
53
Generación de Códigos Lineales de Bloque
n V
k V
C
Bases de C
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:
ù
ú ú ú ú
û
ê ê ê ê
ë
ú ú ú ú ú
û
ê ê ê ê ê
ë
=
-
-
- - - -
-
1,0 1,1 1, 1
1
1
k k k n
V
G
c =mG
0 1 k-1 m m ,...,m
0 1 n-1 c c ,...,c
54. 1 1 0
é
=
1 0 1
é
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
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.
ù
ú ú ú ú
0 1 1
û
ê ê ê ê
1 1 1
ë
P
ú ú ú ú ú
û
ê ê ê ê ê
ë
=
1 0 1 0 0 0 1
G
• SOLUCION:
Aplicaremos a relación matricial c=mG. Para ello debemos construir la matriz
Generadora G=[P|Ik], la cual resulta ser:
55. • Calculando el producto matricial c=mG con m=01011 tenemos:
é
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1
0 1 0 1
ù
c mG
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
55
Ejemplo 1: Generación código
[ ]
[1 1 0 | 0 1 0 1]
=
ú ú ú ú ú
û
ê ê ê ê ê
ë
= = ×
c
Mensaje Original k=4 bits
Palabra de código
N=7 bits p=3 bits de paridad
56. 2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de
Canal
56