lecture 19 codificación para control de errores. generación códigos lineales
Post on 07-Jul-2015
330 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
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.
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).
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
6
La Capa de Enlace
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
7
Algunos protocolos de la Capa de Enlace
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
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.
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
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)
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
12
Redundancia
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 =
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
14
Codificación
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
15
Decodificación o Detección
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
16
Concepto de Paridad
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.
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.
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.
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
20
Paridad Bidimensional
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é?
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:
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.
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.
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
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
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
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
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. .
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”
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)
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
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
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 ,
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
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 =
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 ⊂→
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
38
Códigos Lineales: Algunas definiciones
nVkV
C
Bases de C
mapeando
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:
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
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
≠
=
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
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
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
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.
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
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
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:
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:
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:
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
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:
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
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:
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
2S 2009 I. Zamora
Uni VII-Conf 19: Codificación de Canal
56
top related