Вы находитесь на странице: 1из 9

CAP ITULO 3.

CODIFICACION

70

3.6.
3.6.1.

Cdigos de deteccin de errores o o


El criterio de deteccin de errores o

Un error es detectado de acuerdo a las siguientes caracter sticas que lo determinan como tal: Tasa de error de bit: BER Probabilidad de una trama sin errores: PF Probabilidad de una trama con errores no detectables: Po Probabilidad de una trama con errores detectables o sin errores indetectables: Pe Primero se considera el caso en el que no se ponen medidas para detectar errores. En ese caso la probabilidad de errores detectables es cero. Suponiendo que los sistemas son estacionarios (las distribuciones de probabilidad no modican sus parmetros en el tiempo), tenemos que: a PF = (1 BER)L Po = 1 Pe Donde L es la longitud de una secuencia dada. De ah se concluye que la probabilidad que una secuencia llegue sin errores disminuye al aumentar la longitud de la trama. La deteccin de errores se basa en el siguiente principio: Dada una secuencia, se aaden bits o n adicionales por parte del transmisor para formar un cdigo que tenga capacidad de detectar errores. o Este cdigo se calcular en funcin de los otros s o a o mbolos que se vayan a transmitir. El receptor realizar el mismo clculo y comparar los dos resultados. Se detecta un error si y slo si, los dos a a a o resultados no coinciden. Por lo tanto se incluye el valor de Pe como la probabilidad que si una trama contiene errores, el sistema de deteccin de errores los detecte. Aqu Po ser la tasa de o a error residual (RER), y es la probabilidad que un error no se detecte aunque se est usando un e esquema de deteccin de errores. Los esquemas ms comnmente usados para deteccin de errores o a u o son: Paridad y CRC. Las limitaciones tericas de la codicacin estn dadas por los resultados de la teor de la o o a a informacin (Seccin ). Este resultado es frustrante ya que ofrece una pequea pista acerca de cmo o o n o el cdigo deber realizarse. El cdigo de deteccin de errores se disea para permitir la deteccin o a o o n o de errores. Una vez detectado, el receptor puede pedir una re-transmisin de los bits errneos, o o o simplemente informar al destinatario que la transmisin fue corrupta. En un canal binario, los o cdigos de vericacin de errores se llaman Cdigos de Deteccin de Paridad. El receptor asignar a o o o o a la frase recibida otra frase codicada preasignada tal que minimice la distancia Hamming entre las dos. Se puede demostrar que para detectar hasta n bits errneos (Problema P8.1), un esquema de o codicacin requiere el uso de frases codicadas preasignadas con una distancia Hamming de por o lo menos n + 1.

3.6.2.

Deteccin de paridad simple o

Un cdigo muy comn es el Cdigo de Deteccin de Paridad Simple. Este cdigo aade a cada o u o o o n K bits de datos un bit adicional, cuyo valor se toma para hacer una secuencia con un nmero par u o impar de s mbolos iguales. Tal opcin se dice que tiene paridad par o impar. Con la paridad par o

CAP ITULO 3. CODIFICACION

71

o impar, un solo bit errneo har que la frase recibida sea impar o par, respectivamente. Las frases o a codicadas preasignadas son siempre pares o impares, por lo que estn separados por una distancia a Hamming de 2 o ms. a Ejemplo 3.7 Una secuencia de 7 bits se le inserta un bit de paridad par. En las tablas 3.5 y 3.6, se ilustran ejemplos de secuencias vlidas y no vlidas (errneas) de paridad. a a o Tabla 3.5: Secuencias vlidas con paridad par. a {X0 } (paridad) 0 1 1 1 0

{X71 } 0111001 0101001 0110001 0000001 0100001

{X71 } 0111010 0101001 0100000 1000110 1101001

Tabla 3.6: Secuencias no vlidas con paridad par. a {X0 } (paridad) 1 0 0 0 1

Para ver cmo la adicin de un bit de paridad puede mejorar la accin sobre el error, tenemos o o o lo siguiente: Dado una secuencia de K s mbolos y la probabilidad de que se presente un error en un solo s mbolo de forma independiente es igual a p (Utilizando el bit como s mbolo): P {ningn error de bit simple} = 1 p u P {error en K bits} = (1 p)K P {no detectar error en K bits} = 1 (1 p)K Insertando el bit de paridad, se tiene una secuencia de K + 1 bits: P {ningn error de bit simple} = 1 p u P {ningn error en (K + 1) bits} = (1 p)(K+1) u P {error simple en (K + 1) bits} = = (K + 1) (P {error de bit simple} P {ningn error en los otros K bits}) u K = (K + 1) p (1 p) P {no detectar error en (K + 1) bits} = = 1 P {ningn error en (K + 1) bits} P {error simple en (K + 1) bits} u (K+1) = 1 (1 p) (K + 1) p (1 p)K

(3.10)

(3.11)

Ntese que la suma de un bit de paridad ha reducido la probabilidad de tener ningn error en o u los K bits, (1 p)K , en (1 p) + p (K + 1) = 1 + pK.

CAP ITULO 3. CODIFICACION

72

Ejemplo 3.8 Una opcin comn de K es ocho bits. Suponga que la BER es p = 104 . Entonces: o u P {error en 8 bits} = (1 p)8 P {no det ectar error en 8 bits} = 1 (1 p)8 = 7,9 104 As que, la probabilidad de una transmisin con un error es 7,9 104 . Luego: o P {ningn error en 9 bits} = (1 p)9 u P {error simple en 9 bits} = = 9 (P {error de bit simple} P {ningn error en los otros 8 bits}) u 8 = 9p (1 p) P {no detectar error en 9 bits} = = 1 P {ningn error en 9 bits} P {error simple en 9 bits} u 9 = 1 (1 p) 9p (1 p)8 = 3,6 107 Como puede verse, la suma de un bit de paridad ha reducido la proporcin del error no detectado o en tres rdenes de magnitud. o

Una deteccin de errores simple y efectiva es aadiendo un d o n gito binario al nal de cada palabra de cdigo, permitiendo l deteccin de un bit errneo. Este bit adicional se denomina de vericacin o o o o de paridadEn un cdigo binario, el bit de vericacin se elige de forma que el nmero de unos en o o u cada palabra sea par (si el nmero de unos ya es par, se agrega un cero). Este cdigo entonces es u o de paridad par. Del mismo modo, en la paridad impar, el bit de paridad agregado se elige para que el nmero total de unos en la palabra sea impar. La eciencia para paridad es: u Ef iciencia = No bits de Informacin o K = No Total Enviados K +1

Para corregir el error de paridad, se puede ya sea retransmitir la trama o descartar el cdigo o recibido. Otro sistema de redundancia es agregar un nmero de bits idntico al transmitido. Por ejemplo, u e para un sistema de redundancia impar, se agregan tres ceros por cada 0 y tres unos por cada 1. Esto dar una eciencia de: a Ef iciencia = R 1 1 = , y en el caso general : Ef iciencia = 3R 3 K

Donde K es el nmero de repeticiones. Para la recepcin puede usarse una regla de decisin u o o mayoritaria para decodicar la corriente de bits recibida.

Ejemplo 3.9 Se env unos y ceros mediante un codicador, el cual utiliza repeticin de 3 s an o mbolos. Al presentarse errores en el canal, el receptor toma los 3 s mbolos de cdigo y utiliza una regla o de decisin mayoritaria para para detectar el uno o cero transmitido. En la tabla 3.7 se ilustra la o regla de decisin. o

CAP ITULO 3. CODIFICACION

73

Tabla 3.7: Regla de decisin. o {Y } 000 001 010 011 100 101 110 111 {X} 0 0 0 1 0 1 1 1

3.6.3.

Cdigos de bloque o

Un cdigo de bloque se genera cuando la secuencia de informacin de longitud K se procesa o o dentro de un registro de longitud ja L, donde L < K (ver Figura 3.1). Este bloque de tamao L se n presenta como el codicador del canal, el cual genera uno de los M posibles s mbolos del alfabeto {Xk }1 , {Xk }2 , . . . , {Xk }M , k = 1, ..., L, donde M = DL y D es la longitud del alfabeto bsico de a la secuencias (el cual se considera binario (D = 2), si no se expresa otra cosa). El cdigo de bloques o queda entonces compuesto por un vector de dimensiones X (K, L) L, donde L es el nmero de u columnas y X (K, L), el cual es una funcin dependiente de la tcnica utilizada, es el nmero de o e u las. En la mayor de los casos X (K, L) = K. a

Figura 3.1: Algoritmo Viterbi. La tasa de codicacin es la relacin K/L, y la redundancia del cdigo es 1 K/L. La habilidad o o o de detectar errores depende de la tasa. Una baja tasa tiene una probabilidad de deteccin alta, o pero una redundancia alta. Cualquiera de estos M s mbolos de longitud L queda representado por el conjunto de Mc seales de energ nita {sm (t)} , m = 1, ..., Mc , cuya duracin ser KTb . Mientras el codicador n a o a pueda aparecer tal que se ejecute una funcin simple e indivisible, puede en efecto ser dividida o en operaciones de tiempo continuo y de tiempo discreto. La justicacin de esta separacin reo o cae en el procedimiento de ortogonalizacin de Gram-Schmidt dado en (3.12), el cual permite la o representacin de cualquiera de las Mc seales de energ nita como una combinacin lineal de o n a o Nc Mc funciones base ortonormales {n }. Esto es, sobre el intervalo nito 0 t T . Las Mc seales {sm (t)} que representan una de las M posibles secuencias de bloque {Xn }m se pueden n

CAP ITULO 3. CODIFICACION

74

expresar entonces, de acuerdo a (3.13):


N

sm (t) =
n=1

Cmn n (t) m = 1, ..., Mc


T

(3.12)

Cmn =
0

sm (t)n (t)dt

(3.13)

Con Nc Mc . En efecto, Nc = Mc si y solo si, las seales son linealmente independientes. Una n consecuencia de esta representacin es que las energ de la seal pueden ser expresadas como o as n normas cuadradas de los vectores: sm = {Cm1 , Cm2 , ..., CmNC } , Y la energ de cada seal es: a n
T T N 2

m = 1, ..., Mc

(3.14)

Em =
0 N N

(sm (t)) dt =
0 T n=1

Cmn n (t)

dt =

=
n=1 n=1

Cmn Cmj
0

n (t)j (t)dt =
n=1

(Cmn )2 = |m |2 s

(3.15)

La representacin dada por 3.15 sugiere la implementacin del codicador/modulador de la o o Figura 3.2.

Figura 3.2: Modelo Viterbi/Omura. Por lo que el codicador llega a ser un mapeo de un conjunto discreto de M secuencias posibles a un vector de Nc Mc nmeros reales. El modulador mas general consiste en Nc moduladores de u amplitud (n (t) se modula con las amplitudes Cmn para n = 1, ..., Nc ), seguido de un sumador. En efecto, esta forma ms general se simplica considerablemente, cuando las amplitudes Cmn se a restringen a ser elementos de un alfabeto nito tal que estrictamente se utilizan los codicadores de tipo digital, y cuando las funciones base {n (t)} se escogen para que sean ortogonalmente independientes en el tiempo (en efecto, las funciones de valores no-cero en intervalos de tiempos distintos) solo se necesita implementar un modulador simple de particin de tiempos. o

CAP ITULO 3. CODIFICACION

75

3.6.4.

Cdigos Lineales o

En la forma ms directa, la codicacin puede tratarse como una operacin de revisin de a o o o tablas; cada uno de los Mc vectores {m } es almacenado en un registro de estado Nc del banco de s memoria y, siempre que la secuencia {Xk } est siendo transmitida, el vector de seal correspondiente a n sm se lee en el modulador. Alternativamente, podemos etiquetar cada una de las M secuencias posibles, por un vector de longitud L. Entonces la codicacin llega a ser un conjunto de mensajes o dentro del conjunto de vectores {m } = {1 , s2 , , sM c }. Un mapeo particularmente conveniente s s para implementar es el cdigo lineal, con lo que X (K, L) = K. Para una secuencia de entrada o binaria, un cdigo lineal consiste simplemente en un conjunto de combinaciones lineales mdulo 2 o o de los s mbolos de datos, el cual puede ser implementado como se ve en la Figura 3.3.

Figura 3.3: Mapeo de secuencias. La suma mdulo 2 se puede representar por la funcin lgica OR exclusiva (XOR o EOR). Esta o o o funcin tiene una tabla de verdad mostrada en la Tabla 3.8. o

Tabla 3.8: Tabla de verdad para OR exclusiva. {Xi } {Xj } {Xi } {Xj } 0 0 0 0 1 1 1 0 1 1 1 1 El registro de L estados corresponde precisamente al registro de bloque de datos en forma general. El codicador entonces consiste en L sumadores mdulo 2, cada uno de los cuales aade o n conjuntamente un subconjunto de s mbolos de datos expresados por el vector la binario {Xk } = [X1 , X2 , ..., Xu ] para generar el cdigo dado por vl , l = 1, 2, ..., v, como se muestra en la Figura o 3.4. Entonces el vector la v = [v1 , v2 , ..., vv ] es el vector de codicacin. Se puede demostrar por o mtodos de vericacin exhaustiva que esta operacin es asociativa y conmutativa (Ejercicio ), por e o o lo que la primera etapa de la operacin de codicacin lineal para datos binarios puede representarse o o

CAP ITULO 3. CODIFICACION

76

Figura 3.4: Generador del vector de cdigo. o

por: v1 = X1 g11 X2 g12 Xu g1u v2 = X1 g21 X2 g22 Xu g2u . . . vv = X1 gv1 X2 gv2 Xu gvu Donde gkn pertenece al alfabeto binario {0, 1}. El trmino Xk gkn es un producto escalar, tal e que Xk entra en una combinacin lineal para vkn si y solo si, gkn = 1. Por lo tanto la matriz: o g11 g12 g1L g1 g21 g22 g2L g2 [G] = . . . = . .. . . . . . . . . . g1u g2u gvu gv Se denomina la matriz generadora del cdigo lineal y gk = [gk1 , gk2 , ..., gkL ] posee sus vectores o la. Entonces (3.16) puede ser expresado en forma vectorial como: vn = {Xk } [G] = Xk gkn ,
k=1 K

(3.16)

n = 1, ..., L

Donde expresa una suma mdulo 2, y tanto {Xk } como v son vectores la binarios, es decir, o son secuencias binarias. Ntese que el conjunto de todos los cdigos posibles es el espacio limitado o o por los vectores la de [G]. Las las de [G] forman entonces una base, siendo los bits de informacin o los coecientes base del cdigo. Como los vectores base no son unicos para cualquier espacio lineal, o es claro que existen muchas matrices generadoras que darn el mismo conjunto de cdigos. a o Para completar la codicacin lineal, debemos convertir el vector v de dimensin L en un vector o o de longitud Mc de las seales {m }. n s Ejemplo 3.10 Una representacin bifase utiliza un mapeo unidimensional, por lo que el mapeo del o codicador es: vmn = Cmn = Es En general, K = L. Para un esquema de modulacin ms elaborado, se toma K < L. o a

CAP ITULO 3. CODIFICACION

77

Figura 3.5: .

Ejemplo 3.11 Sea el modulador de amplitud de cuatro niveles de la Figura 3.5. Para este caso K = 2L, por lo que las cuatro combinaciones posibles del par genera uno del los cuatro valores. Ejemplo 3.12 Una fuente binaria transmite la siguiente secuencia de informacin: o {Xk } = 101101110010111101110111010 Halle la secuencia cuando pasa por un codicador 1 0 [G] = 0 1 1 1 de bloque, utilizando la matriz de generacin: o 1 1 1

La codicacin de la secuencia por codicador de bloque resulta en las siguientes operaciones: o


v Cantidad de informacin del cdigo Kc = K u , donde v es el nmero de las y u el nmero de o o u u columnas de la matriz generadora. Con u = v = 3, Kc = K = 27.

Secuencia de cdigo, tomando grupos de u = 3 bits de la secuencia original: o 101 : 101 : 110 : 010 : 111 : 101 : 110 : 111 : 010 : Secuencia codicada: {Xk } = 101101110010111101110111010 010010110011001010110001011 101 101 100 000 101 101 100 101 000 001 001 010 010 011 001 010 011 010 101 101 110 010 111 101 110 111 010 = 010 = 010 = 110 = 011 = 001 = 010 = 110 = 001 = 011

CAP ITULO 3. CODIFICACION

78

Ejemplo 3.13 El cdigo de bloque 4B3T est determinado por la siguiente matriz generadora: o a 1 1 0 1 1 0 1 0 [G] = 0 0 1 1 1 1 1 0 Al enviar la secuencia {Xk } = {1011000101010000}, determine la secuencia resultante. La codicacin de la secuencia por codicador de bloque resulta en las siguientes operaciones: o
v Cantidad de informacin del cdigo Kc = K u , donde v es el nmero de las y u el nmero de o o u u columnas de la matriz generadora. Con u = v = 4, Kc = K = 16.

Secuencia de cdigo, tomando grupos de u = 4 bits de la secuencia original: o 1011 : 0001 : 0101 : 0000 : 1001 0001 0101 0000 1010 0000 0000 0000 0011 0001 0001 0000 1010 0000 0100 0000 = 0000 = 1010 = 0011 = 0000

Secuencia codicada: {Xk } = 1011000101010000 0000101000110000

Los bits de paridad simple son comunes en transmisiones de tipo caracter de modo as ncrono. En el caso de usar transmisin s o ncrona, se agregan los s mbolos de paridad adicional que no slo o verica la paridad por cada la de L = 8 bits, sino tambin la paridad de cada columna de K = 8 e bits. La columna se forma listando cada secuencia sucesiva de 8 bits uno debajo del otro. Este tipo de revisin de paridad se llama la comprobacin de suma de bloques, y puede corregir cualquier error o o de 2 bits en el bloque transmitido de las y columnas. Sin embargo, hay algunas combinaciones de errores que no llegarn a detectarse en algn esquema. En la Tabla 3.9, se observa un ejemplo de a u una comprobacin de suma de bloque exhibiendo errores no detectados, donde P 1 indica una pario dad impar de las, P 2 indica una paridad par de columnas y el astarisco marca una combinacin o de errores no detectados) La comprobacin de paridad de esta forma, proporciona una buena proteccin contra errores o o de bit simples y mltiples, cuando las probabilidades de error son independientes. Sin embargo, en u muchas circunstancias, los errores ocurren en grupos, o de forma dispersa. Para este tipo de errores la comprobacin de paridad da una reducida proteccin. En estas circunstancias, se usan cdigos o o o polinomiales.

Вам также может понравиться