SlideShare una empresa de Scribd logo
1 de 34
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
3. FUNDAMENTOS DE CODIFICACION
La teoría de la codificación es una parte de la teoría de la información, que estudia los
métodos de identificación de los mensajes, con las señales que los representa.
La codificación se utiliza ampliamente durante la transmisión, conservación y procesamiento
de la información en diferentes sistemas.
La tarea de la teoría de la codificación es lograr la mejor adaptación, en un cierto sentido, de
la fuente de información con el canal de comunicación. Ejemplos de esta adaptación puede
ser, lograr la máxima velocidad de transmisión para características estadísticas dadas de los
mensajes, lograr una inmunidad a las interferencias dad para características conocidas de
las interferencias en el canal, lograr la máxima velocidad de procesamiento de la información
durante las operaciones aritméticas, etcétera.
En correspondencia con el criterio de optimización escogido, se diferencian algunas
direcciones de la teoría de la codificación. Las más conocidas entre ellas son la codificación
eficiente o estadística y la codificación redundante.
El código ( del latín codex) es un método universal de representación de la información
durante la conservación, transmisión y procesamiento de dicha información, esta
representación se hace en forma de un sistema de correspondencia entre los elementos de
los mensajes y las señales. El código se utiliza para representación discreta en las líneas y
canales de comunicaciones, en sistemas automáticos, en los dispositivos de cómputo y en
otros sistemas utilizados en diferentes campos de la técnica.
En la figura 3.1 se representa el esquema general de un sistema de transmisión de
información.
Figura3.1 Esquema general de un sistema de transmisión de información.
Al mensaje en la salida de la fuente de información FI es necesario asociarle una
determinada señal. Por cuanto la cantidad de posibles mensajes para un aumento ilimitado
del tiempo tiene a infinito y para un intervalo de tiempo suficientemente grande es
considerable, crear para cada mensaje una señal, es prácticamente imposible. Para grandes
volúmenes del alfabeto de la fuente, usualmente se recurre a la representación de los
elementos en otro alfabeto, con una menor cantidad de elementos, frecuentemente llamados
símbolos.
1
FI CF CC M LC DM DC DF D
FIn
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Como el alfabeto de los símbolos es menor que el alfabeto de la fuente, entonces a cada
letra de la fuente le corresponde una cierta secuencia de símbolo, conocida por combinación
de código determina la longitud de la palabra código.
En el proceso de la transformación de los elementos del mensaje en señales, como se
planteado, pueden perseguirse varios objetivos; uno de ellos consiste en transformar la
información en un sistema tal de símbolos (código) de forma que este logre la simplificación
y confiabilidad de la realización física de los dispositivos de información, así como la
eficiencia de dicha información. Esta exigencia significa la simplificación de los dispositivos
de separación de los diferentes símbolos, mínimo tiempo de transmisión o mínimo volumen
de memoria durante la conservación, simplificación de las operaciones lógicas y aritméticas
en este sistema. Las propiedades estadísticas de la fuente de información y las
interferencias en el canal de comunicación es este caso no son tomadas en consideración.
La realización técnica del proceso de codificación, en este caso sencillo para una señal de
entrada continua, se lleva a cabo mediante conversores análogos digitales.
En los teoremas fundamentales sobre la codificación, como se verá más adelante, Shannon
fundamentó ña eficiencia de introducir, en el sistema de transmisión de información, los
dispositivos codificadores y decodificadores, con el objetivo de adaptar las prioridades del
canal de comunicación.
Uno de estos, el codificador de la fuente CF, tiene el objetivo de introducir una codificación
tal que por medio de la eliminación de la redundancia, disminuye, apreciablemente, la
cantidad promedio de símbolos necesarios por elemento de mensaje. En ausencia de
interferencias esto logra una ganancia en el tiempo de transmisión o en el volumen de
memoria, o sea, aumente la eficiencia del sistema. Por esto, tal codificación ha recibido el
nombre de eficiente
En presencias de interferencias en el canal, este método de codificación permite transformar
la información de entrada en una secuencia de símbolos máximamente comprimidos y
preparados para una posterior transformación.
El segundo dispositivo codificador mostrado en figura 3.1, el codificador del canal CC,
persigue el objetivo de lograr una veracidad dada durante la transmisión o conservación de
la información, introduciendo una redundancia adicional, con ayuda de determinados
algoritmos y teniendo en consideración la intensidad y las leyes estadísticas de las
transferencias en el canal de comunicación. Esta codificación recibe el nombre de
redundante.
La racionalidad de la eliminación de la redundancia de los mensajes, por los métodos de la
codificación eficiente con la posterior codificación redundante, está fundamentada en la
redundancia de la fuente de los mensajes, en la mayoría de los casos, no está adaptada con
las leyes estadísticas de las interferencias en el canal de comunicación y por esto, no puede
ser utilizada totalmente para el aumento de la veracidad del mensaje recibido, mientras que
frecuentemente es posible elegir códigos redundante conveniente. Además, la redundancia
de la fuente de los mensajes, frecuentemente es consecuencia de complejas dependencias
estadísticas y permite detectar y corregir errores sólo después de la codificación de todo el
mensaje, utilizando complejísimos algoritmos y, además, intuición.
De esta forma, la elección de los dispositivos codificadores y decodificadores dependen de
las propiedades estadísticas de la fuente de los mensajes, así como del nivel y carácter de la
2
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
interferencia en el canal de comunicación. Si la redundancia de la fuente de los mensajes y
las interferencias en el canal de comunicación prácticamente no existen, la introducción,
tanto del codificador de la fuente como del codificador del canal, no es racional.
Cuando la redundancia de la fuente de los mensajes es grande y las interferencias son
pequeñas, es oportuno introducir sólo el codificador de la fuente. Cuando la redundancia de
la fuente es pequeña y las interferencias son de consideración, es racional la introducción
del canal.
En el caso de gran redundancia y alto nivel de interferencia es recomendable utilizar ambos
dispositivos codificadores y decodificadores.
Después del codificador de canal CC, la señal codificada es aplicada e un dispositivo
codificador de los símbolos en señales, el modulador. La señal obtenida a la salida del
modulador está lista par su transmisión, por una línea de comunicación LC (fig 7.1) o para su
conservación, en una cierta memoria.
En la línea de comunicación a la señal se le añaden interferencias, que llegan de la fuente
de interferencias FIn (fig 3.1), de esta forma al dispositivo decodificador de señales en
símbolos (demodulador DM), llegan del canal de comunicación, señales distorsionadas por
el ruido. El dispositivo decodificador del código redundante, el decodificador del canal DC y
el dispositivo decodificador del mensaje, el decodificador de la fuente DF, ofrecen el
mensaje decodificado al destinatario D.
3.1 Definiciones preliminares
Como ya es conocido, un código es un correspondencia de todas las posibles secuencias de
un alfabeto fuente M = m 1,m2 , …, m en secuencia de símbolos de otro alfabeto X = x1, x2 ,
… , xr, siendo el conjunto X el alfabeto del código.
Esta definición es demasiado general y puede interpretarse que cualquier correspondencia
entre los símbolos del alfabeto cumple las características que deben poseer los códigos para
ser utilizados con propósitos de transmisión o conservación de la información.
Una de las características es que a cada mensaje de la fuente se le asocia una secuencia de
símbolos del código, o sea, una palabra del código. A está característica se le llama código
del bloque.
Ejemplo 3.1
Código del bloque binario
Símbolos de fuente Código
M1 0
M2 11
M3 00
M4 11
3
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Esta condición no es suficiente con respecto a la utilidad práctica de este código. Una
restricción lógica que deben tener los códigos es que todas las palabras del código Xi, sean
diferentes. Tales códigos reciben el nombre de códigos no singulares, o sea, en un código
no singular, a cada mensaje se le asocia una secuencia diferente de símbolo del código.
Note que el código mostrado en el ejemplo 7.1 no cumple con esta condición, ya que las
palabras del código X2 y X4 son iguales. Por lo tanto este código es singular.
Ejemplo 7.2
Código del bloque binario no
singular
Símbolo de Código
La fuente
m1 0
m2 01
m3 11
m4 1
El código mostrado en el ejemplo 3.2 posee aún una insuficiencia importante. Suponga se
que en el proceso de transmisión de información utilizando este código se recibe, del canal
de comunicación, la secuencia codificada 00111. Esta secuencia no puede ser interpretada
unívocamente en términos de los símbolos de la fuente, en particular, ésta pudiera
corresponder a las secuencias de símbolos de la fuente siguientes
m1 m2 m3
00111 m1 m2 m3 m4
m1 m1 m4 m4 m4
De este análisis es evidente que no basta que las diferentes palabras del código Xi sean
diferentes, sino que las secuencias de palabras del código Xi1 Xi2 … Xii se correspondan con
una única secuencia de los símbolos o mensajes de la fuente. Los códigos que cumplen esta
condición son denominados códigos unívocamente decodificables, separables o desifrables.
Usualmente, la definición de estos códigos está asociada al concepto de extensión de orden
n de un código.
La extensión n-ésima de un código de bloque que transforme los símbolos de la fuente mi en
las palabras del código Xi es el código del bloque que transforma las secuencias de los
símbolos de la fuente (mi1, mi2, …. min ) en las secuencias de las palabras del código (Xi1 Xi2
… Xin ) .
4
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Ejemplo 3.3
Segunda extensión de un código de bloque
Símbolo de la Código Símbolo de la Código
Fuente
m1 m1 00 m3 m1 110
m1 m2 001 m3 m2 1101
m1 m3 011 m3 m3 1111
m1 m4 01 m3 m4 111
m2 m1 010 m4 m1 10
m2 m2 0101 m4 m2 101
m2 m3 0111 m4 m3 111
m2 m4 011 m4 m4 11
Note que en la extensión mostrada en el ejemplo 3.3 todas las palabras no son diferentes.
Es por esta razón que, por ejemplo, a las secuencias de mensaje m1 y m2 m3 m4 le
correspondan la misma secuencia de palabras del código. Para que esto no suceda, todas
las palabras de la extensión deben ser diferentes, o sea, la extensión debe ser singular. Por
lo tanto, puede enunciarse entonces que, para ser un código unívocamente decodificable,
las extensiones de cualquier orden n, de este código deben ser no singulares.
Es evidente que en aquellos casos en que las palabras del código tienen la misma longitud,
la condición de no singularidad del código original es suficiente para garantizar su condición
de decodificación unívoca.
Ejemplo 3.4
Códigos unívocamente decodificables
Símbolo de Código 1 Código 2
La fuente
m1 0 0
m2 01 10
m3 011 110
m4 0111 1110
Los códigos mostrados en el ejemplo 3.4 aunque aparentemente similares, presentan entre
sí una diferencia sustancial. En este caso del código 1 la secuencia de código recibida 01 no
puede ser interpretada como correspondiente al símbolo m2 hasta tanto se reciba el
siguiente símbolo del código. Si el siguiente símbolo del código es 0, entonces pude
determinarse que la secuencia 01 correspondían al símbolo m2 . Si, por el contrario, el
5
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
próximo símbolo del código hubiera sido 1 entonces la secuencia 011 no podría ser
interpretada como correspondiente a m3 hasta que se obtenga el siguiente símbolo del
código.
Esta situación no sucede en el caso del código 2, ya que por ejemplo, la secuencia de
código recibida 10, puede interpretarse instantáneamente, sin tener que esperar la aparición
de símbolos adicionales como la secuencia de código asociada al símbolo m2.
Los códigos univocamente decodificables en que cada palabra es una secuencia puede ser
decodificada sin referencia a los sucesivos símbolos de código, son denominados
instantáneos. Esta condición debe ser también satisfecha por los códigos a utilizar en los
sistemas de transmisión o almacenamiento de la información.
Obviamente el código mostrado en el ejemplo 3.4 es un código univocamente decodificable
no instantáneo, mientras que el código 2 es un código instantáneo, a demás es último es
denominado código como, pues, como puede observarse, el símbolo 0 sirve para separar las
diferentes palabras del código.
Un breve análisis de los códigos que aparecen en el ejemplo 3.4 sirve para evidenciar la
condición que garantiza el carácter instantáneo de un código. Nótese, por ejemplo, que en el
código 1 ( no instantáneo) la palabra del código 0 (correspondiente al mensaje m1 ) aparece
como primer símbolo en las restantes palabras del código. De igual forma, la palabra 01
( asociada al mensaje m2 ) constituye los primeros símbolos de las palabras del código,
asociadas a los mensajes m3 y m4 . Esta es precisamente la causa de la no instantaneidad.
Por la analogía del lenguaje, sin un código posee palabras Xi = Xi1, Xi2 , … Xmi, de longitud
m, la secuencia de los símbolos del código ( Xi1, Xi2 , … Xij ) , siendo j≤ m, es denominada
prefijo de la palabra del código Xi .
Entonces la condición necesaria y suficiente para que un código sea instantáneo es que
ninguna palabra del código sea prefijo de cualquier otra.
3.2 Arbol de Código
Existen diversas representaciones de los códigos: la tabular, como ha sido mostrado en las
tablas de los ejemplos anteriores: la geométrica, que representa las palabras del código
como las vértices de una cierta figura geométrica en el espacio y otras.
El llamado árbol del código es otra de las formas de representar los códigos.
Esta representación tiene forma de ramas y a estas se les asocian los símbolos del código,
las bifurcaciones que se forman son las distintas palabras en cuestión, partiendo de un punto
cúspide central.
6
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
En la figura 3.2 se muestra los árboles correspondientes a los códigos 1 y 2 del ejemplo 7.4
respectivamente.
0
0 m1 1
0 m1
1 1
0 m2
1 m2 1
m3
m3 0
1
m4
m4
Figura 3.2 Árboles de los códigos del ejemplo 3.4
En los síntesis de los códigos eficientes se utiliza, posteriormente, la técnica de
representación del árbol del código.
3.3 Codificación eficientes o codificación de fuente
Para que un código pueda ser utilizado con propósitos de transmisión o almacenamiento de
información debe cumplirse una serie de características, siendo la más generalizadora de
todas la que el código debe ser instantáneo. Como es conocido, la condición suficiente y
necesaria para que un código sea instantáneo, es que ninguna palabra del código sea prefijo
de cualquier otra.
Para cumplir con esta condición existe una serie de técnicas, que van desde las más
primitivas hasta elaborados algoritmos. Entre las técnicas primitivas puede señalarse la
simple observación.
Supóngase que es necesario sintetizar un código instantáneo binario para una fuente de
cinco símbolos, teniendo como punto de partida el árbol del código mostrado en la figura
3. 3.
1
0
1
0 1 0
1 0 1 0 1 0
1
1 0 0
0
Figura 3.3 Árbol de un código binario
7
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Sea 0 la palabra del código como punto de partida al mensaje m1, o sea,
m1 0
En este caso para cumplir con la condición de prefijo, las restantes palabras del código
tienen que comenzaron el símbolo 1. Sin embargo, la palabra del código formada por el
símbolo simple 1 no puede ser asignada a ningún mensaje, pies, no podría formarse las
otras tres palabras del código instantáneo. Una posible asignación pudiera ser
m2 10.
Esto exige que las tres restantes palabras del código tengan que comenzar con símbolos 11.
Así,
m3 110
Por lo que las restantes dos palabras pueden ser escogidas en la forma siguiente:
M4 1110
m5 1111.
Es de notar que. El hecho de haber asignado al primer mensaje la palabra del código 0,
provoca una limitación considerable de las palabras del código, que sean posibles asignar a
los restantes. Evidentemente, si en calidad de primera palabra del código, se hubiera elegido
una palabra de mayor longitud, esto hubiera dado más posibilidades de elección del resto de
las palabras del código. En el ejemplo 7.5 se muestran otros dos códigos sintetizados a partir
del mismo árbol de la figura 7.3.
Ejemplo 3.5
Código 1 Código 2
m1 00 000
m2 01 0100
m3 10 011
m4 110 10
m5 111 11
El código 1 Del ejemplo 7.5 tiene una característica que lo diferencia de 2 y es que, en
general, utiliza menos símbolos del código, por mensaje de la fuente.
Para responder a la pregunta del cuál de estos dos códigos da el mejor resultado, es
necesario realizar posteriormente análisis.
3.4 Desigualdad de Kraft
El análisis cualitativo recíen realizado, sobre la síntesis de códigos instantáneos, puede
llevarse, al campo cuantitativo. La condición necesaria y suficiente para la existencia de un
código instantáneo está dad por la desigualdad de Kraft, expresada por
8
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
s
∑ r -λi
≤ 1,
i = 1
donde
s - es la cantidad de mensajes de la fuente,
r - es la cantidad de símbolos diferentes en el alfabeto del código y
λi - es la longitud de las palabras del código.
En el caso de códigos binarios, la desigualdad de Kraft se expresa como
s
∑ 2 -λi
≤ 1.
i = 1
Ejemplo 3.6
Determine si es posible sintetizar un código instantáneo si quiere utilizarse un código binario,
para las condiciones mostradas a continuación
Mensajes m1 m2 m3 m4 m5
Longitudes
Del código 1 2 3 2
En este caso
s
∑ 2 -λi
= 2 -1
+2 -2
+ 2 -3
+ 2 -2
+ 2 -2
= 1,1875 > 1.
i = 1
por lo tanto, no es posible sintetizar un código binario instantáneo para las condiciones de
longitud de las palabras del código planteadas.
Ejemplo3.7
Se quiere sintetizar un código binario instantáneo para una fuente de 10 mensajes. Se
requiere que el primer mensaje se codifique con un solo símbolo del código, que el segundo
mensaje se codifique con dos símbolos del código y que los ocho mensajes restantes tengan
la misma longitud. Determine cuál debe ser la mínima longitud de estos ocho mensajes.
Para solucionar este problema, debe ser empleada la desigualdad de Kraft, que es este caso
toma la forma,
10
9
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
∑ 2 -λi
= 2 -1
+2 -2
+ 8.2-λi
≤ 1
i = 1
por lo que λi ≥ 5.
Es evidente que la desigualdad de Kraft determina la existencia del código instantáneo, pero
no da respuesta a las vías para sintetizarlo.
Se ha demostrado por Mc Millan (1956) y por Karush (1961), que la desigualdad de Kraft
también establece la condición necesaria y suficiente para la existencia de un código
unívocamente decodificable.
3.5 Longitud promedio de las palabras del código
Se ha podido comprobar, mediante el ejemplo 7.5, que es posible a partir de un alfabeto de
la fuente y un alfabeto del código dados, sintetizar varios códigos instantáneos.
Uno de los criterios más empleados para elegir el posible código a utilizar es tener la mayor
cantidad posible de palabras del código, con pequeñas longitudes, pues en general, esto
debe contribuir a disminuir el tiempo de transmisión de los mensajes, a simplificar los
equipos de comunicación y otras ventajas.
Para ayudar a establecer este criterio, se define el concepto de longitud promedio de las
palabras del código, como
s
L= ∑p(mi) λi
i = 1
donde
s - es la cantidad de mensajes de la fuente,
p(mi) - es la probabilidad de ocurrencia de los mensajes y
λi - es la longitud de la palabra del código asociada al mensaje mi .
Esta magnitud establece la cantidad de símbolos del código que, como promedio, son
necesario para representar los mensajes de la fuente.
Si la cantidad de símbolos diferentes en el alfabeto del código, o base del código, es r, es
obvio que la máxima cantidad de información que puede brindar la ocurrencia de uno
cualquiera de los r símbolos del código es, log r. Si como promedio, la cantidad de símbolos
del código por mensaje es L, entonces la cantidad máxima de información que puede
obtenerse debido a la ocurrencia de cualquier palabra del código es L log r.
Si se supone que H(M) es la entropía de la fuente de mensaje asociada a esta código. Debe
recordarse que ésta se interpreta como la cantidad promedio de información que se obtiene,
debido a la ocurrencia de un mensaje cualquiera de la fuente.
Para que el proceso de codificación pueda realizarse sin pérdidas de información de la
fuente es necesario que se cumpla
10
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
H(M)≤ L log r, (3.1)
Lo que establece una condición de mínimo para el valor de la longitud promedio de las
palabras del código, o sea,
H(M)
L ≥ .
Log r
Si por ejemplo, se trabajo con códigos binarios, o sea, r= 2, entonces la expresión (7.1)
puede escribirse como
L ≥ H(m).
Esta condición sugiera una conclusión interesante: la entropía de la fuente de mensajes
puede ser interpretada como la mínima cantidad promedio de símbolos del código a asociar
a cada mensaje de la fuente.
El código que garantice una longitud promedio de palabras menor o igual que las longitudes
promedio de todos los códigos instantáneos, para la misma fuente y el mismo alfabeto del
código, es denominado código compacto.
3.6 Eficiencia de un código
La expresión (3.1) puede servir para caracterizar la eficiencia de un determinado código
instantáneo.
Si la expresión se cumple que
H(M)
L > ,
Log r
Puede concluirse que, como promedio, las palabras del código pueden portar más
información que la brindada por los mensajes de la fuente, por lo que el código no se ésta
empleando eficientemente. No debe confundirse esto con el hecho de que las palabras del
código realmente sean portadoras de más información que los mensajes de la fuente, pues
el proceso de codificación no es capaz de crear información. Se trata sólo de una posibilidad
potencial.
Si por otra parte, la expresión (3.1) se cumple con el signo de igualdad, o sea,
H(M)
L= = H r (M) ,
Log r
Puede afirmarse que en este caso se están aprovechando eficientemente las posibilidades
potenciales de las palabras del código de portar información.
Por lo tanto, la eficiencia de la codificación puede definirse como
H(M)
11
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
η = = .
L log r
Puede mostrarse que para lograr la máxima eficiencia de la codificación debe cumplirse que,
a su vez, la desigualdad de Kraft se convierta en igualdad, o sea que,
s
∑r -λi
= 1,
i = 1
para esto, la condición suficiente y necesaria es que los mensajes de la fuente ocurran con
probabilidades
1
p(mi) = r-λi λi (3.2)
r
o
1
logr = λi. (3.3)
p(mi)
Ejemplo 3.8
Determine la eficiencia del código binario ( r= 2) asociado a la fuente, con las características
mostradas a continuación.
mi m1 m2 m3 m4
p(mi) 1/2 1/4 1/8 1/8
λi 1 2 3 3
en este caso
s
L= ∑p(mi) λi = 1/2 + 2. 1/4+ 2 . 3 . 1/8 = 1,75 bit / mensaje
i = 1
s 1
L= ∑p(mi) λi log =1/2 + 1/4. 2 + 1/8 . 3 = 1,75 bit / mensaje
i = 1
P(mi )
de ahí que L = H(M) y por lo tanto, η = 1.
Nótese que según el ejemplo anterior, en todos los casos se cumple para esta código la
condición expresada en (3.2).
3.7 Teorema de la codificación de Shannon para canales sin ruido
12
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Si se tiene en consideración las propiedades estadísticas de la fuente de mensajes es
posible minimizar la cantidad promedio de símbolos necesarios, para representar la fuente,
lo que en ausencia de ruido e interferencias permite disminuir el tiempo de transmisión o el
volumen de memoria.
Tal codificación eficiente es basada en el teorema fundamental de Shannon, para canales
sin ruido.
Shannon demostró que '' los mensajes, formados por letras de un cierto alfabeto, pueden
ser codificados de forma tal que la cantidad promedio de símbolos de código necesarios
porque representar un mensaje de la fuentes, puede ser semejante a la entropía de la fuente
de esos mensajes, pero nunca menor que esta magnitud .''
Este teorema puede ser demostrado. Cuando las probabilidades de los mensajes de la
fuente cumplen la condición (3.2), entonces la longitud de las palabras del código puede ser
hallados a partir de la expresión (3.3), o sea
1
λi log ,
P(mi )
Esto supone que el miembro derecho de la igualdad sea un número entero ( ver ejemplo
3.8).
Cuando la magnitud logr (1/P(mi ) no es un número entero, es razonable suponer que puede
hallarse un código compacto si λi es elegido como el entero mayor más cercano a este
valor. O sea, λi puede ser elegida como el entero que satisfaga la condición
1 1
log r ≤ λi < log + 1 (3.4)
P(mi ) , P(mi )
La expresión 3.3 se observa en la igualdad de la expresión 3.4, sin el miembro derecho.
Si se multiplican todos los términos de (3.4) por P(mi ) se obtiene
1 1
P(mi) log r ≤ P(mi) λi < P(mi) log r P(mi)
P(mi ) , P(mi )
Que, sumada para todas las palabras del código da por resultado
Hr(M)≤ L < Hr(M) + 1 (3.5)
Como esta condición es válida para cualquier fuente de mensajes sin memoria, entonces la
expresión (3.5) puede escribirse en términos de la extensión n-ésima de esta fuente, o sea,
Hr(Mn
)≤ Ln < Hr(Mn
) + 1,
13
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Donde Ln representa la longitud promedio de las palabras del código correspondiente a los
mensajes de la extensión n-ésima de la fuente original. Si se representa por Λi la longitud de
las palabras del código asociadas a los mensajes σi de la fuente extendida, entonces
s
n
Ln = ∑ P(σi )Λi .
i=1
Ln
De aquí que la magnitud puede ser interpretada como la cantidad promedio de
n
símbolos del código necesarios por mensaje original de la fuente.
La expresión (2.15) estableció que la entropía de la fuente extendida en n veces la entropía
de la fuente original. Tomando en consideración este hecho, la expresión (3.6) puede
escribirse como
Ln 1
Hr(Mn
)≤ < Hr(M) + (3.7)
n n
o
Ln
Lim = Hr(M) .
n ∞
n
la expresión (3.7) es, precisamente, el teorema de codificación de Shannon para canales sin
ruido. Esta expresión se interpreta como el promedio de símbolos de un código r-ario
necesario por mensaje de la fuente y que puede hacerse tan pequeña, como la entropía de
la fuente expresada en unidades a-rias, pero nunca menor que esta magnitud. Para esto
debe someterse a codificación, no la fuente original sino su extensión n-ésima, lo que
complica el proceso de codificación debido al número excesivo (Sn
) de mensajes de la
fuente a codificar.
En el caso de fuentes con memoria, puede demostrarse que el teorema de codificación de
Shannon, para canales sin ruido, puede expresarse como
Hr(M) - Hr(M) Ln Hr(M) - Hr(M)
Hr(M) ≤ < Hr(M) + + 1,
n n n
donde Hr(M) es la entropía de la fuente adjunta de Markov.
3.8 Códigos eficientes
El teorema de codificación se Shannon, para canales sin ruido analizado en el epígrafe
anterior, es un teorema de existencia, por cuanto no señala la forma concreta de
codificación.
14
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Sin embargo, puede concluirse que la elección de cada símbolo de la palabra del código
debe realizarse de forma tal que porte la mayor cantidad de información posible.
Consecuentemente, cada símbolo del código debe tomarse lo más equiprobablemente
posible y cada elección debe realizarse independientemente de los valores de los símbolos
precedentes.
Por otra parte, un análisis de las vías para aumenta la eficiencia de la codificación
H(M)
η ,
L log r
Para una fuente de mensajes dad y una base del código elegida, da como resultado:
1. El único parámetro que puede variarse para mejorar la eficiencia de la codificación es la
longitud promedio de las palabras del código.
2. Para aumentar la eficiencia es necesario disminuir la longitud L al mínimo posible.
La forma más evidente de disminuir la longitud promedio de las palabras del código es
asociado a los mensajes más probables, las menores longitudes de palabras del código y
viceversa.
A continuación sean examinados dos algoritmos de codificación eficiente, que reúne las
características anteriormente mencionadas.
3.9 Código de Shannon - Fano
En el caso de ausencia de dependencia estadística entre los mensajes, los primeros
algoritmos para la síntesis de códigos eficientes propuestos por Shannon y Fano. Sus
métodos no se diferencian sustancialmente de aquí que recibira el nombre de código de
Shannon - Fano.
El código se construye de la forma siguiente: los mensajes del alfabeto se colocan en una
tabla en orden decreciente de probabilidades. Después, éstos se dividen en r grupos ( r es la
base del código elegido) de forma tal que la suma de las probabilidades, en cada grupo, sea
casi igual. A cada mensaje de estos grupos se le asocia, como primer símbolo de la palabra
codificada, uno de los r símbolos del código. Cada uno de los grupos obtenidos es dividido a
su vez en r subgrupos, con probabilidades totales lo más parecidas posible.
El proceso continua hasta tanto en cada subgrupo queden r mensajes.
Supóngase un alfabeto de ocho mensajes. Es evidente que para una codificación que no
tome en consideración las características estadísticas de la fuente, para representar cada
mensaje son necesarios tres símbolos del código.
El mayor efecto de compresión se logra como se evidenció en (3.2), cuando las
probabilidades de los mensajes representan potencias enteras negativas de la base del
código.
15
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Ejemplo 3.9
Codifique, según el algoritmo de Shannon- Fano, la fuente que tiene como mensajes los que
aparecen en la tabla. Utilice la base binaria (r= 2) para el código.
mi m1 m2 m3 m4 m5 m6 m7 m8
P(mi ) 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/128
El resultado de esta codificación es.
mi P(mi ) Palabras del código Orden división
m1 1/2 1 I
m2 1/4 0 1 II
m3 1/8 0 0 1 III
m4 1/16 0 0 0 1 IV
m5 1/32 0 0 0 0 1 V
m6 1/64 0 0 0 0 0 1 VI
m7 1/128 0 0 0 0 0 0 1 VII
m8 1/128 0 0 0 0 0 0 0
La longitud promedio de las palabras, en este caso, es igual a la entropía. Efectivamente,
s s 1 63
L = ∑ P(mi )λi = H(M) = ∑P(mi ) log = 1 .
i=1 i = 1
P(mi ) 64
puede notarse en el código hallado, que al haberse podido realizar todas las divisiones en
subgrupos equiprobables, se garantiza que los símbolos del código sean equiprobables. Por
otra parte, es evidente que se ha logrado, gracias al algoritmo de codificación utilizando,
asignar las mayores longitudes de palabras a los mensajes menos probables y viceversa.
Todo esto, unido al hecho de que en este caso las probabilidades de la fuente cumple la
condición (3.2) ha posibilitado obtener un código totalmente eficiente.
En un caso más general, para un alfabeto, para un alfabeto de ocho mensajes, la longitud
promedio de las palabras del código es menor que tres, pero mayor que la entropía de la
fuente H(M).
16
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Ejemplo 3.10
Codifique, según el algoritmo de Shannon-Fano en código binario, la fuente que tiene como
mensajes los que se muestran en la tabla
mi m1 m2 m3 m4 m5 m6 m7 m8
P(mi ) 0,22 0,20 0,16 0,16 0,10 0,10 0,04 0,02
El resultado de la codificación en este caso es
mi P(mi ) Palabras del código Orden división
m1 0,22 1 1 I
m2 0,20 1 0 1 II
m3 0,16 1 0 0 III
m4 0,16 0 1 IV
m5 0,10 0 0 1 V
m6 0,10 0 0 0 1 VI
m7 0,04 0 0 0 0 1 VII
m8 0,02 0 0 0 0 0
puede comprobarse que
s 1
H(M) = ∑ P(mi ) log = 2,76 bit / mensaje
i=1
P(mi )
y
s
L = ∑ P(mi ) λi = 2,84 símbolo / mensaje
i=1
Consecuentemente, existen una cierta redundancia en las secuencias de los símbolos del
código.
Según el teorema de codificación de Shannon, para canales sin ruido, la redundancia
existente en las secuencias de las símbolos del código, como en el ejemplo 3.10 puede
eliminarse si se realiza la codificación de bloques considerablemente largos.
17
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Supóngase una fuente formada por los mensajes m1 y m2 , con probabilidades de ocurrencia
P(m1 ) = 0,9 y P(m2 ) = 0,1. Por cuanto estas probabilidades no son iguales, la secuencia de
tales mensajes tiene un cierta redundancia. Sin embargo, si se codifica por mensajes, no se
obtiene ningún efecto. Realmente, durante la transmisión de cada mensaje se necesita un
solo símbolo, 0 o 1, mientras que la entropía es igual a 0,47.
Si se codifica en bloques que contengan dos mensajes, se puede obtener un código como el
mostrado en la tabla 10, ya que los mensajes son estadísticamente independientes, las
probabilidades de los bloques se determinan por el producto de las probabilidades de los
mensajes que lo constituyen.
TABLA 10
Bloques Probabilidad Código Orden división
m1 m1 0,81 1 I
m2 m2 0,09 0 1 II
m2 m1 0,09 0 0 III
m2 m2 0,01 0 0 0
La cantida promedio de símbolos por bloque obtenida es igual a 1,29 y por mensaje es 0,645
La codificación de bloques que contienen tres mensajes logran aún un efecto mayor. El
conjunto de bloques y el código asociado, se muestran en la tabla 11.
TABLA 11
Bloques Probabilidad Código Orden división
m1 m1 m1 0,729 1 I
m2 m1 m1 0,081 0 1 1 III
m1 m2 m1 0,081 0 1 0 II
m1 m1 m2 0,081 0 0 1 IV
m2 m2 m1 0,009 0 0 0 1 1 VI
m2 m1 m2 0,009 0 0 0 1 0 V
m1 m2 m2 0,009 0 0 0 0 1 VII
m2 m2 m2 0,001 0 0 0 0 0
La cantidad promedio de símbolos por bloque es de 1,59 y por mensajes 0,53 lo que es sólo
un 12% mayor que la entropía. El mínimo teórico H(m) = 0,47 pude lograrse si se codifica
bloques formados por una cantidad infinita de mensajes.
Debe señalarse que el aumento de la eficiencia de la codificación, como la ampliación de los
bloques, no ésta relacionado con la consideración de ulteriores dependencias estadísticas,
ya que se están analizando fuentes sin memoria. El aumento de la eficiencia está
18
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
determinado sólo porque el conjunto de probabilidades que se obtiene, con la ampliación de
los bloques, puede dividirse en subgrupos con probabilidades totales más cercanas entre sí.
La metódica de Shannon- Fano analizada, no siempre conlleva a una situación única en la
síntesis del código, ya que durante la división en subgrupos puede tomarse como el de
mayor probabilidad total, tanto el superior como el inferior. Así, la tabla del ejemplo 3.10
puede haberse dividido de otras formas, una de las cuales aparece en la tabla 12.
TABLA 12
mi P(mi ) Palabras del código Orden división
m1 0,22 1 1 I
m2 0,20 1 0 1 II
m3 0,16 1 0 0 III
m4 0,16 0 1 IV
m5 0,10 0 0 1 V
m6 0,10 0 0 0 1 VI
m7 0,04 0 0 0 0 1 VII
m8 0,02 0 0 0 0 0
En este caso la cantidad promedio de de símbolos por mensaje es de 2,80. De esta forma, el
código construido puede no resultar el mejor. Este problema es mayor en la medida en que
se aumenta la base r del código.
Esta insuficiencia no la presenta la metódica de codificación eficiente de Huffman.
3.10 Código de Huffman
El algortimo de codificación eficiente de Huffman garantiza una única solución en la síntesis
del código, con la menor cantidad promedio de símbolos por mensaje, para una distribución
de probabilidades dada de los mensajes de la fuente.
Para el caso de códigos binarios el algoritmo de codificación de Huffman se plantea en los
términos siguientes: los mensajes del alfabeto de la fuente se escriben en la columna
fuandamenta, en orden decreciente de probabilidades. Los dos últimos mensajes se
fucionan en un mensaje complementario y se le asigna, como probabilidad, la suma de las
probabilidades de los mensajes no participantes en la función y la probabilidad suma
obtenida, de nuevo se sitúan en orden descendente en una columna auxiliar y los dos
últimos mensajes, de nuevo se fusionan. El proceso continúa hasta obtener un mensaje
complementario, de forma tal que la probabilidad sea la unidad.
En el caso de los códigos r-arios el algoritmo de codificación es semejante, con la única
diferencia de que en vez de fusionar dos mensajes, se fusionan r mensajes, continuándose
el proceso hasta obtener un mensaje complementario, que haya sido formado por r
19
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
mensajes anteriores y con probabilidad igual a la unidad. Puede demostrarse fácilmente que
para lograr esto es necesario que la cantidad de mensajes de la fuente sea.
s= r + α(r -1), (3.8)
siendo α un número entero. En el caso en que la fuente no tenga esa cantidad de mensajes,
se completa con mensajes de probabilidad cero, hasta llegar a la cantidad expresada en
(3.8).
La metódicaplanteada se ilustra con el ejemplo 3.11. los valores de las probabilidades son
los mismos que en el ejemplo 3.10.
Ejemplo 3.11
Columnas complementarias
mi p(mi) 1 2 3 4 5 6 7
m1 0,22 0,22 0,22 0,26 0,32 0,42 0,58 1,0
m2 0,20 0,20 0,20 0,22 0,26 0,32 0,42
m3 0,16 0,16 0,16 0,20 0,22 0,26
m4 0,16 0,16 0,16 0,16 0,20
m5 0,10 0,10 0,16 0,16
m6 0,10 0,10 0,10
m7 0,04 0,06
m8 0,02
Para la construcción de las palabras del código, correspondiente a los mensajes, es
necesario seguir los pasos de transición de los emansajes por las filas y las columna del
ejemplo 3.11.
Para visualizar mejor este procedimeinto, se construye el árbol del código. Desde el punto
correpondiente a la probabilidad unitaria, se dirige dos ramas. A la rama con mayor
probabilidad se le asigna el símbolo 1 ; a la de menor probabilidad el símbolo 0. Esta
ramificación continúa hasta llegar a las probabilidades de cada mensaje (fig 3.4).
0,58 0,42
1 0
0,32 0,2
0,26 0,22 1 0
1 0 m1 m2
0,16 0,10
0,16 0,16 1 0
0 1 0 0,06 m5
20
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
0,10
m3 m4 1 0
m6 0,04 1 0 0,02
m7 m8
Figura 3.4 Árbol del código construido según el ejemplo 3.11 por el algoritmo de Huffman.
Trasladándose por las ramas del árbol, de arriba hacia abajo, puede escribirse las palabras
del código correspondiente a cada mensaje
m1 m2 m3 m4 m5 m6 m7 m8
01 00 111 110 100 1011 10101 10100
3.11 codificaciones reduntante
el modelo matemático del canal de comunicación discreto con ruido analiza en los epígrafes
del 24 al 2.6.
La teoría de la codificación redundante se basa en los resultados de las investigaciones
realizadas por shannon y fomuladas en el teorema fundamental para el canal discreto con
ruido que plantea : para cualquier velocidad de transmisión del os símbolos binarios, menor
que la capacidad del canal, existen un código con probabilidad de codificación errónea tan
pequeña como se quiera; la probabilidad de error no puede hacerse arbitraria mente
pequeña, si la velocidad de transmisión es mayor que la capacidad del canal.
Como puede verse, en el teorema no están planteadas la formas de construcción del código
que posibilita tal transmisión ideal. Sin embargo, el significado es importantísimo pues,
habiendo fuandamentado la posibilidad potencial de tal codificación los esfuerzos de lo
científicos en la búsqueda de los códigos concretos.
La codificación debe realizarse de forma tal que la señal correspondiente a la secuencia de
símbolos recibida después de la interferencia supuesta en el canal, se reciba más semejante
posible a la señal proporcionada por la secuencia de símbolos transmitida, que a las señales
representantes de otras posibles secuencias. Esto se logra por el valor de la redundancia
introducida durante la codificación, la que permite imponer, a la secuencia de símbolos
transmitidas, una serie de condiciones adicionales, la comprobación de las cuales, en el
extremo receptor, brinda la posibilidad de detectar y corregir errores.
Los códigos que posean estas propiedades son denominados códigos redundantes o
correctores. En la gran mayoría de los códigos correctores existen en la actualidad, estas
condiciones se logran como consecuencia de sus propiedades algebraicas, de aquí que
también sean llamados códigos algebraicos.
21
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Los códigos algebraicos pueden ser divididos en dos clases : de bloques y recurrentes.
En el caso de los códigos de bloque, como ya se mencionó, el procedimiento de codificación
consistente en la asignación, a cada mensaje o a la secuencia de k símbolos los
correspondientes a este mensaje, de un bloque de n símbolos. El código de bloques se
denomina uniforme si el valor de n se mantiene constante para todos los mensajes de la
fuente.
Si la cantidad de símbolos en las secuencias correspondientes a los diferentes mensajes de
la fuente varía, entonces el código del bloque se denonima no uniforme.
Este código se obtiene, como ya se ha visto durante una codificación eficiente. Por la
complejidad de los positivos, para la realización de los códigos correctores, es que no han
tenido una gran popularidad.
Los códigos de bloques se clasifican también en códigos divisibles o indivisibles. Durante la
codificación con códigos divisibles las secuencias de salida codificadas consiste en
símbolos, con papel limitado claramente. Puede ser símbolo de información, coincidente con
los símbolos que llegan a la entrada del codificador del canal símbolos redundantes ( o de
chequeo) introducidos en la secuencia original por el codificador del canal, que sirve para
detectar y corregir los errores. Cuando se codifica con códigos indivisibles, es imposible
dividir los símbolos de la secuencia de salida del canal, en símbolos de información y
símbolos de chequeo.
Los códigos recurrentes son aquellos códigos en los que la introducción de los símbolos
redundantes, en la secuencia codificada de los símbolos de información recurrentes también
pueden clasificarse en divisibles e indivisibles.
3.12 Principios generales de utilización de la redundancia
La capacidad del código de detectar y corregir está determinada por la existencia de
símbolos redundantes. En la entrada del dispositivo codificador aparece una secuencia de k
símbolos de información. A la salida de éste dispositivo le corresponde una secuencia de n
símbolos, donde n > k.
En total puede existir 2k
diferentes secuencias de entrada y 2n
diferentes secuencias de
salida, en el caso de códigos binarios. De la 2n
secuencia de salida, solo 2k
secuencia
correspondiente a las de entrada. Estas secuencias son denominadas palabras código
permisibles. Las restantes 2n
- 2k
posibles secuencias de salida, no son utilizadas para la
transmisión. Estas otras secuencias son denominadas palabras código prohibidas.
La distorsión de la información en el proceso de transmisión se produce cuando algunos de
los símbolos transmitidos se cambian por otros, no vereces. Por cuanto, cada una de las 2k
palabras del código permisibles, como resultado de la acción de las interferencias, puede
transformarse en cualquiera otra, se tiene en total 2k
2n
posibles casos de transmisión ( fig
3.5).
A1 . B1
. .
. .
22
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
. .
Ai Bi Mi
. .
. .
. .
Aj . Bj Mj
. .
. .
. .
. B2
n
A2
k
.
Figura 3.5 Posibles transformaciones de las palabras de código permisibles al pasar por un canal con
interferencias.
En esta cantidad total están incluidos:
2k
en caso de transmisión sin error ( en la figura 3.5 se representa por líneas gruesas).
2k
(2k
- 1) casos de transmisión a otras palabras permisibles, que corresponden a errores no
detectables (en la figura 3.5 se representa por líneas discontinuas).
2k
(2n
- 2) casos de transición a las palabras prohibidas, que pueden ser detectados ) en la
figura 7.5 se representa por líneas finas).
Consecuentemente, la parte de errores detectados de la cantidad total de posibles casos de
transmisión es :
2k
(2n
- 2k
) 2k
= 1 - .
2k
2n
2n
si la palabra del código contiene sólo un símbolo redundante, o sea, n= k + 1, entonces la
cantidad total de secuencias de salida es de 2k+1
, el doble de la cantidad total de la
secuencias codificadas de entrada. Como subconjunto de las palabras del código
permisibles pueden ser tomado, por ejemplo el subconjunto de 2k
palabras, que contengan
una cantidad par de unos ( o de ceros).
Durante la codificación, a cada secuencia de k símbolos de información se le agrega un
símbolo ( 0 o 1) de forma tal que la cantidad total de unos en la palabra codificada sea par.
La distorsión de cualquier cantidad impar de símbolos traslada la palabra codificada
permisible al conjunto de las palabras prohibidas, lo que se detecta en el extremo receptor,
debido a la cantidad impar de unos. La fracción de errores detectados en este caso es
2k
1
1 - = .
2k+1
2
Una situación algo diferente tiene lugar con la corrección de errores. Cualquier método de
decodificación puede ser interpretado como una regla de división de todo el conjunto de las
palabras prohibidas en 2k
subconjuntos disjuntos M, a cada uno de ellos se la asocia una de
las palabras permisibles. Al recibir una palabra prohibida, perteneciente al subconjunto Mi ,
23
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
se toma la decisión que fue transmitida la palabra permisible Ai (fig 7.5). el error será
corregido en aquellos casos en que realmente la palabra recibida haya sido formada por Ai o
sea, en 2n
- 2k
casos.
La cantidad total de transformaciones a palabras prohibidas es 2k
(2n
- 2k
). De esta forma,
cualquier código correcto es capaz de corregir errores. La relación de la cantidad de
palabras codificadas erróneas, corregidas por el código, entre la cantidad de palabras
erróneas detectada es
2n
- 2k
1
= .
2k
(2n
- 2k
). 2k
El método de división en subconjuntos, depende del tipo de errores que deben corregirse por
el código especifico.
La mayoría de los códigos desarrollados hasta el momento, están destinados a la corrección
de errores mutuamente independientes de determinada multiplicidad y ráfagas de errores.
Los errores mutuamente independientes son aquellos errores en la secuencia transmitida de
símbolos, para los que la probabilidad de ocurrencia de cualquier combinación de símbolos
erróneos, depende solo de la cantidad r de símbolos erróneos y de la probabilidad de error p
de un símbolo.
La cantidad de símbolos erróneos en la palabra es denominada multiplicidad del error.
Bajo errores mutuamente independientes, la probabilidad de error de cualesquiera r
símbolos en una palabra codificada de n posiciones es
Pr = Cr
n pr ( 1 -p) n-r
.
Si se tienen en cuenta que p << 1, entonces, en este caso, lo más probables son los errores
de menor multiplicidad. Estos deben ser detectados y corregidos en primer lugar.
3.13 Relación entre la capacidad de detección y corrección del código, con la
distancia entre las palabras
De lo anterior se deduce, que bajo errores mutuamente independientes, la más probable es
la transición a la palabra codificada, que se diferencia de la dada en la menor cantidad de
símbolos.
El grado de diferencia de dos palabras codificadas cualesquiera se caracteriza por la
distancia entre ellas, en el sentido de Hamming, o simplemente, por la distancia del código.
Esta representa la cantidad de símbolos en los que estas palabras se diferencian una de otra
y se simboliza por d.
Para obtener la distancia del código entre dos palabras codificadas de un código binario, es
suficiente contar la cantidad de unos, en la suma módulo 2 de estas palabras. Por ejemplo
1 0 0 1 1 1 1 1 0 1
24
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
+ 1 1 0 0 0 0 1 0 1 0
0 1 0 1 1 1 0 1 1 1 d= 7.
La decodificación después de la recepción puede realizarse de forma tal que la palabra
codificada recibida, se identifique con aquella palabra permisible que se encuentre con ella,
a la menor distancia del código. Con esto se corrige el error más probable. Es evidente que
cuando d= 1 todas las palabras del código son permisibles.
Por ejemplo si n= 3, las palabras permisibles forman el conjunto siguiente 000, 001, 010,
011, 100, 101, 110, 111.
Cualquier error simple transforma una palabra dada en otra palabra permisible. Este es el
caso de un código que posee capacidad correctora.
Si d= 2, ninguna palabra del código permisible se transforma en otra permisible, con la
ocurrecia de un error simple. Por ejemplo, el subconjunto de las palabras del código
permisibles puede constituirse por el principio de la paridad de unos, como se muestra a a
continuación para n = 3
000,011, 101, 110
palabras permisibles
001, 010, 100, 111
palabras prohibidas
el código detecta todos los errores simples. En general, si es necesario detectar errores de
multiplicidad r, la mínima distancia entre palabras del código permisible, debe ser, al menos,
en una unidad mayor que r, o sea,
dd ≥ r +1 .
para la corrección de un error simple, a cada palabra del código permisible es necesario
hacer corresponder un subconjunto de palabras del código prohibidas. Para que estos
subconjuntos sean disjuntos, la distancia entre las palabras del código permisibles, debe ser
no menor de tres. Para n = 3 como palabras permisibles pueden mostrarse, por ejemplo, 000
y 111. Entonces a la palabra permisible 000 es necesario hacer corresponder el subconjunto
de las palabras del código prohibidas 001, 010, 100, formada como resultado de la
ocurrencia de un error simple en la palabra 000.
De forma similar, a la palabra permisible 111 es necesario hacer corresponder el
subconjunto de las palabras del código prohibidas 110, 011, 101, formadas como resultado
de la ocurrencia de un error simple en la palabra 111
001
000 010
palabras 100 palabras
pemisibles 011 prohibidas
25
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
111 101
110
En general, paras la corrección de errores de multiplicidad s, la distancia mínima entre
palabras del código permisibles debe satisfacer la relación
dc ≥ 2s + 1.
No es difícil convencerse, que la corrección de todos los errores de multiplicidad s y,
simultaneamente, la detección de todos los errores de multiplicidad r, la mínima distancia
entre las palabras permisibles del código debe tomarse de la condición
dd+ c≥ r + s + 1.
Las fórmulas anteriores, obtenidas para el caso de errores mutuamente independientes,
brindan valores aumentados de la mínima distancia del código, bajo interferencias
correlacionadas con la señal.
En los canales reales de comunicación la duración de las pulsos interferentes sobrepasa la
duración de un símbolo, sucediendo que simultáneamente se distorsionen la duración de un
símbolo, sucediendo que simultáneamente se distorsione varios símbolos de la palabra
situados cerca uno de otros. Los errores de este tipo han recibido el nombre de ráfaga de
errores. La longitud de la ráfaga de errores es la cantidad de símbolos que se encuentran
entre dos símbolos erróneos, incluyendo estos, si después de este último han ocurrido al
menos α símbolos correctos. El valor que se escoja de α depende de una serie de factores.
Si por ejemplo, la palabra 101011001111011 como resultado de la cción de las
interferencias, se transforma en la palabra 101010101011011, entonces la longitud de la
ráfaga de errores formada es de cinco símbolos,
101011001111011
+ 101010101011011
000001100100000
λ=5
El método de decodificación descrito con anterioridad no es el más efectivo en este caso.
Para ráfagas de errores y canales asimétricos, para la misma capacidad de corrección, la
mínima distancia entre palabras del código permisibles puede ser menor.
Es necesario destacar que cada código corrector no garantiza la corrección de cualquier
combinación de errores. Los códigos están destinados para la corrección de los errores más
probables para el canal dado.
Si el carácter y el nivel de las interferencias son diferentes a los supuestos, la eficiencia de
utilización del código se reduce bruscamente. La utilización de un código corrector no puede
garantizar una recepción sin errores, pero brinda la posibilidad de aumentar la probabilidad
de obtención en la salida de un resultado correcto.
3.14 Indicadores de calidad del código corrector
26
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Una de las características fundamentales del código corrector es la redundancia del código,
que indica el grado de prolongación de la palabra del código para el logro de una
determinada capacidad correctora. Si por cada n símbolos de la secuencia de salida del
codificador del canal, hay k de información y - n - k de chequeo, entonces la redundancia
relativa del código puede ser expresada por una de las relaciones siguientes
n - k
Rn
n
o
n - k
Rk
k
La magnitud Rk es preferible, ya que ésta responde mejor a la idea del concepto de
redundancia. Los códigos que garantizan una capacidad de corrección dad, con la mínima
redundancia posible, se denomina óptimos.
En relación con la determinación de los códigos óptimos debe evaluarse, por ejemplo, la
mayor cantidad posible Q de palabras permisibles de un código binario de n posiciones,
que sea capaz de corregir errores mutuamente independientes de multiplicidad s. esto
equivale a buscar la cantidad de combinaciones con distancia mínima entre ellas, dc =
2s+ 1.
La cantidad total de diferentes errores corregibles para cada una de las palabras permisibles
es
s
∑ C i
n .
i=1
Cada uno de estos errores debe llevarse a una palabra prohibida, relacionada con el
subconjunto de la palabra permisible dad. Esta palabra, además de la cantidad recién
mencionada, también forma parte del subconjunto. La decodificación unívoca es posible solo
en el caso en que los subconjuntos mencionados sean disjuntos. Por cuanto la cantidad total
de palabras diferentes del código binario de n posiciones es 2n
, la cantidad de palabras del
código permisibles no puede exceder la longitud
2n
s
1 + ∑ C i
n
i=1
o
2n
Q= s .
∑ C i
n
27
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
i=0
Este límite se conoce como el limite de Hamming. Para algunos valores concretos de la
distancia del código d, los correspondientes valores de N se muestran en la tabla 13.
TABLA 13
d N d N
1 2n
5 ≤ 2n +1
/ (n2
+ n+ 2)
2 2n +1 .
3 2n +1
/ (n+1) .
4 2n +1
/ n 2k + 1 ≤ 2n
/ (1+ Cn
1
+ Cn
2
+
… + Cn
k
)
Sin embargo, no siempre es racional tender a la utilización de códigos, cercanos a los
óptimos. Es necesario tener en cuenta otro indicador, no menor importante, de calidad del
código corrector, la complejidad de la realización técnica de los procesos de codificación y
decodificación.
Si la información debe transmitirse por una línea de comunicación de acción lenta (no
confiable y costosa) y los dispositivos codificador y decodificador (realizados con elementos
muy confiables y de gran velocidad ), entonces, la complejidad de estos dispositivos no
juegan un papel fundamental. El factor decisivo, en este caso, es deseable en la utilización
de la línea de comunicación y por esto, es aumentar la eficiencia en la utilización de la línea
de comunicación u por esto, es deseable utilizar códigos correctores con mínima
redundancia.
Si el código corrector debe ser utilizado en un sistema, realizado con elementos de
confiabilidad y velocidad iguales o cercanas a la confiabilidad y velocidad de los equipos
codificador y decodificador ( por ejemplo, para el aumento de la veracidad de reproducción
de la información desde la memoria de una computadora) , entonces el criterio de calidad del
código correcto es la confiabilidad del sistema en su conjunto, o sea, tomado en cuenta las
posibles distorsiones o interrupciones en los equipos de codificación y decodificación. En
este caso, frecuentemente son más racionales los códigos con gran redundancia, pero que
sea sencilla su realización técnica.
3.15 Interpretación geométrica de los códigos de bloqueo correctores
Cualquier palabra codificada binaria de n posiciones puede ser interpretada como el vértice
de un cubo unitario n-dimensional, o se, de un cubo con longitud de arista unitaria.
para n= 2 , las palabras codificadas se ubican en los vértices de un cuadrado (fig 3.6) ; para
n= 3 en los vértices de uncubo unitario (fig 7.7) ; para n= 4 en los vértices de un cubo
tetradimensional (fig 3.8).
28
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
01 11
00 10
Figura 3.6 Interpretación geómetrica de un código binario de dos posiciones.
010 110
d=2
011 111
d=3
100
000
001 101
Figura3.7 Interpretación geométrica de un código binario de tres posiciones.
1010 1110
1111
1011
0110
0011
0111
0110
0000 1100
0001
29
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
0101
1001 1101
Figura 3.8 Interpretación geométrica de un código binario de cuatro posiciones.
En general, el cubo unitario n-dimensional tiene 2n vértices que es igual a la mayor cantidad
posible de palabras del código. Este modelo brinda una interpretación geométrica sencilla a
la distancia entre diferentes palabras del código, que corresponde a la menor cantidad de
aristas del cubo unitario por las que es necesario pasar para ir de una palabra a la otra.
Al subconjunto de cada palabra se asocian todos los vértices que se encuentren en una
esfera de radio (d-1)/2 y con centro en el vértice correspondiente a la palabra del código
permisible en cuestión. Si como resultado de la acción del ruido la palabra se traslada a un
punto que se encuentra dentro de la esfera de radio (d-1)/2, entonces el error puede ser
corregido. Este método se llama método de decodificación para errores simples
independientes.
Si la interferencia traslada el punto de la palabra permisible hasta la frontera de dos esferas
(a la distancia d/2) o más (pero no hasta el punto correspondiente a otra palabra permisible),
entonces la distorsión puede ser detectada. Para los canales con distorsión independiente
de los símbolos, los mejores códigos correctores son aquellos donde los puntos
correspondientes a palabras del código permisibles, se encuentran situados en el espacio
uniformemente.
3.16 Teorema de codificación de Shannon para canales con ruido
El teorema fundamental de Shannon sobre la codificación para el canal con ruido, enunciado
a continuación, sin demostración, es análogo el teorema para el canal no ruidoso.
Si la fuente de información tiene una entropía H(M) y el canal de comunicación posee una
capacidad C, entonces :
1. Los mensajes, elaborados por la fuente, siempre puede ser codificados de forma tal que
la velocidad de transmisión Bm sean tan cercana como se quiera a la magnitud.
Bm max = C/H(M)
Y que la probabilidad de error en la determinación de cada símbolo transmitido sea menor
que cualquier cantidad dada,
2. No existe método de codificación que permita realizar la transmisión con una velocidad
mayor que Bmmax y con una pequeña probabilidad de error.
En otras palabras, si el flujo de información
H´(M) = Bm H(M) ≤ C,
30
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
Entonces puede escogerse un código especial, que permita transmitir toda la información
con una probabilidad de error tan pequeña como se quiera. Si H´(M) > C, no existe código .
Este resultado particularmente valioso, ya que la intuición no lo apoya. Realmente es
evidente que con la disminución de la velocidad de transmisión de información puede
aumentarse la veracidad. Esto puede lograrse, por ejemplo, por la vía de la múltiple
repetición de cada letra del mensaje. Sin embargo, para lograr el error nulo intuitivamente
parece que la velocidad de transmisión bm debe reducirse a cero (la cantidad de
repeticiones debe ser infinitamente grande). El teorema , sin embargo, afirma que siempre
es posible lograr una velocidad de transmisión cercana a bmmax ( por vía de elección del
código conveniente). El teorema no responde a la pregunta de cómo elegir tal código. Pero
para la aproximación al límite (3.9), el método general como en el caso del canal no ruidoso,
es la codificación de largos mensajes y no de símbolos por separado.
Ejemplo 3.12
Supóngase que por un canal puede transmitirse señales binarias, con una velocidad vx. De
esta forma, el alfabeto de las señales está compuesto de dos símbolos X= (x1, x2) . las
interferencias en el canal son tales que, en cada trío de símbolos transmitidos se distorsiona
( o sea, x, pasa, o viceversa) no más de un símbolo siendo las probabilidades de distorsión
de cada trío y la probabilidad de recepción del trío no distorsionado, iguales entre sí.
Por definición la capacidad de tal canal es
Cvx max { I(X,Y) }.
La velocidad de transmisión vx, de las señales elementales por el canal, se considera
conocida y para la determinación de C hace falta hallar el max I(X,Y).
La cantidad promedio de información portada por la señal es
I(X,Y) = H(Y) - H(Y /X).
Consecuentemente, la tarea se reduce a hallar las expresiones de H(Y) y H(Y/X) y
maximizar su diferencia.
Para el cálculo de estas magnitudes se examina un nuevo alfabeto X´, que contiene todos
los posibles grupos de tres símbolos. La cantidad de tales grupos es 8.
x1 x1 x1 x1 x2 x2
x1 x1 x2 x2 x1 x2
x1 x2 x1 x2 x2 x1
x2 x1 x1 x2 x2 x2
A cada uno de estos grupos se le hace corresponder u nuevo símbolo xi´. como resultado se
obtiene un nuevo alfabeto X´= (x1´, x2´…., x8´) .
La cantidad promedio de información I(Y´, X´), transmitida por símbolo de la señal x´, estrés
veces mayor que la cantidad promedio de información I(Y ; X), transmitida por la señal x, ya
que la cada señal x´ está compuesta por tres símbolos x. Pero, la velocidad de transmisión v
31
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
´x de los símbolos x´, por el canal es tres veces menor que la velocidad vx, por esto la
capacidad del canal puede ser calculada como
C= v´x max { I(Y´,X´) },
Donde
I(Y´,X´) = H (Y´) - H(Y´/ X´).
Por condición cada símbolo transmitido xi´ puede convertirse en uno de los cuatro símbolos
yj´ posibles siendo iguales las probabilidades de transformación P(yj´ / xi´) = ¼. Por ejemplo,
x1´ puede convertirse, como resultado de la acción de la interferencia, en y2´, y3´, y4´, o no
distorsionarse (yj´ ). De esta forma, la tabla de las probabilidades condicionales toma la
forma :
p(y1´ / x1´), p(y2´ / x1´), …………., p(y8´ / x1´)
p(y1´ / x1´), p(y2´ / x1´), …………., p(y8´ / x2´)
. . .
. . .
. . .
. . .
p(y1´ / x8´), p(y2´ / x8´), …………., p(y8´ / x8´)
En cada fila, cuatro términos valen 1/4 y el resto son iguales a cero. Consecuentemente
8 8
H(Y´/ X´) = - ∑p(xi´) ∑p(yj´ / xi´) log p(yj´ / xi´)
i=1 i=1
= - ( p(xi´) . 4 . 1/4 . log 1/4 + p(x2´) . 4 . 1/4 . log 1/4 +
+ ………..+ p(x8´) . 4 .1/4 . log 1/4) = log 4.
De aquí puede verse que la entropía condicional H( Y´/ X´) no depende de la entropía de la
fuente. Por esto,
max { I(Y´,X´) } = Hm (y´) - H(Y´/X´).
Pero la entropía H(y´) logra su máximo valor para eventos equiprobables. En este caso,
Hm (Y´) = log 8.
Consecuentemente,
max { I(Y´,X´) } = log 8 - log 4 = log 2.
La capacidad del canal de comunicación es
vx
C= v´x log 2 = log 2.
3
32
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
En ausencia de interferencias, H(Y´/X´) = 0 y
max { I(Y´,X´) } = Hm (Y´) = log 8 = 3 log 2.
Y entonces
vx
C= 3 log 2 = vx log 2.
3
de aquí se deduce que la presencia de interferencias de tipo señalado en el canal, reduce su
capacidad en tres veces.
Para aplicar ahora el teorema fundamental de Shannon, supóngase que la fuente de
información crea mensajes con símbolos del alfabeto Z = (z1, z2, …., zn) siendo H(Z) la
entropía de la fuente. Entonces, de acuerdo con el teorema fundamental, los símbolos z
pueden ser transmitidos con una velocidad tan cercana como se quiera a
C vx log 2
Vxz= = ,
H(Z) 3 H(Z)
Con una probabilidad de error tan pequeña como se quiera. Para esto, los mensajes deben
ser codificados de cierta forma. La tarea de la elección del código conveniente para cada
canal concreto, se soluciona en cada caso, individualmente. Para este ejemplo puede
señalarse el método de codificación siguiente.
Supóngase inicialmente que el canal es libre de interferencias, entonces realizando la
codificación de mensajes, lo suficientemente largos, por el método de Shannon-Fano, puede
lograrse una velocidad tan cercana como se quiera al límite
vx log 2
B´n max = .
3H(X)
en este caso, los símbolos en el canal se suceden con una frecuencia vx / 3. Para utilizar
totalmente la capacidad del canal, es posible , después de cada símbolo del código, que es
denominado de información, transmitir dos símbolos redundantes adicionales, que no porten
información del mensaje. Estos símbolos sirven para el aumento de la veracidad( corrección
de los errores ).
Supóngase, que en cada par de símbolos transmitidos q1 q2 q3 el símbolo q1 sea de
información y q2 q3 los correctores. Los símbolos q2 y q3 pueden tomarse de forma tal que las
sumas
q1 + q2 y q1 +q3
sean pares. Durante la recepción del mensaje estas sumas son calculadas. El
incumplimiento de la paridad atestigua la presencia de un error simple, la que después de la
detección, puede ser corregida. Por cuanto, por condición no puede distorsionarse más de
un símbolo en cada trío, no habrá errores durante la transmisión. De esta forma, la
transmisión, con la velocidad señalada, puede realizarse sin errores, como si esta se
realizara realmente por un canal sin interferencias.
33
Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico
Memorias de Clase, Seminario 3
34

Más contenido relacionado

La actualidad más candente

Señalizacion de Comunicaciones
Señalizacion de ComunicacionesSeñalizacion de Comunicaciones
Señalizacion de ComunicacionesJosibell Guerrero
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de erroresRonie Martínez
 
Multiplexación por división de tiempo
Multiplexación por división de tiempoMultiplexación por división de tiempo
Multiplexación por división de tiempoMichael Tejada
 
Grupo 4 metodos de multiplexacion
Grupo 4   metodos de multiplexacionGrupo 4   metodos de multiplexacion
Grupo 4 metodos de multiplexacionCarlos Ventura Luyo
 
multiplexacion por division de division de frecuencias
multiplexacion por division de division de frecuenciasmultiplexacion por division de division de frecuencias
multiplexacion por division de division de frecuenciasyeziik hernadez
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSStudent A
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaCarmen Ea
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Informe tele
Informe teleInforme tele
Informe telediiegollp
 
Medios de transmision de datos
Medios de transmision de datosMedios de transmision de datos
Medios de transmision de datos001cesae
 
Trabajo especial modulacion angular
Trabajo especial modulacion angularTrabajo especial modulacion angular
Trabajo especial modulacion angularVictor Diaz
 
Capacidad de un canal
Capacidad de un canalCapacidad de un canal
Capacidad de un canalarquitectura5
 
TRANSMISIONES DIGITALES
TRANSMISIONES DIGITALESTRANSMISIONES DIGITALES
TRANSMISIONES DIGITALESalexlombana
 
1.3 ancho de banda y capacidad de transmisión
1.3 ancho de banda y capacidad de transmisión1.3 ancho de banda y capacidad de transmisión
1.3 ancho de banda y capacidad de transmisiónjkn2012
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de líneaOscar Llanos
 

La actualidad más candente (20)

Investigación técnicas de modulación
Investigación técnicas de modulaciónInvestigación técnicas de modulación
Investigación técnicas de modulación
 
Señalizacion de Comunicaciones
Señalizacion de ComunicacionesSeñalizacion de Comunicaciones
Señalizacion de Comunicaciones
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Multiplexación por división de tiempo
Multiplexación por división de tiempoMultiplexación por división de tiempo
Multiplexación por división de tiempo
 
Grupo 4 metodos de multiplexacion
Grupo 4   metodos de multiplexacionGrupo 4   metodos de multiplexacion
Grupo 4 metodos de multiplexacion
 
Ssh telnet
Ssh telnetSsh telnet
Ssh telnet
 
multiplexacion por division de division de frecuencias
multiplexacion por division de division de frecuenciasmultiplexacion por division de division de frecuencias
multiplexacion por division de division de frecuencias
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuencia
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones III
 
Ofdm final
Ofdm finalOfdm final
Ofdm final
 
Informe tele
Informe teleInforme tele
Informe tele
 
Codificacion BCH
Codificacion BCHCodificacion BCH
Codificacion BCH
 
Medios de transmision de datos
Medios de transmision de datosMedios de transmision de datos
Medios de transmision de datos
 
Trabajo especial modulacion angular
Trabajo especial modulacion angularTrabajo especial modulacion angular
Trabajo especial modulacion angular
 
Capacidad de un canal
Capacidad de un canalCapacidad de un canal
Capacidad de un canal
 
TRANSMISIONES DIGITALES
TRANSMISIONES DIGITALESTRANSMISIONES DIGITALES
TRANSMISIONES DIGITALES
 
PCM y Delta - Telecomunicaciones III
PCM y Delta - Telecomunicaciones IIIPCM y Delta - Telecomunicaciones III
PCM y Delta - Telecomunicaciones III
 
1.3 ancho de banda y capacidad de transmisión
1.3 ancho de banda y capacidad de transmisión1.3 ancho de banda y capacidad de transmisión
1.3 ancho de banda y capacidad de transmisión
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de línea
 

Destacado

Tema 2 teoría de la información y capacidad de canal
Tema 2   teoría de la información y capacidad de canalTema 2   teoría de la información y capacidad de canal
Tema 2 teoría de la información y capacidad de canalJosé Ramón Cerquides Bueno
 
Entropía y código de Huffman del mismo texto en diferentes idiomas.
Entropía y código de Huffman del mismo texto en diferentes idiomas.Entropía y código de Huffman del mismo texto en diferentes idiomas.
Entropía y código de Huffman del mismo texto en diferentes idiomas.Jose Rodrigo Espinoza Bautista
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacion Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacion elviz12
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacionjorgedxguaman1997
 
Procesamiento de información 2012 (1)
Procesamiento de información 2012 (1)Procesamiento de información 2012 (1)
Procesamiento de información 2012 (1)NoemiRamosAliaga
 
Ejemplos de sistemas de información
Ejemplos de sistemas de informaciónEjemplos de sistemas de información
Ejemplos de sistemas de informaciónpaulboada
 
Ejemplos de sistemas de información
Ejemplos de sistemas de informaciónEjemplos de sistemas de información
Ejemplos de sistemas de informaciónperez-j
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informaciondiegowiz
 
Sistemas operativos ejemplos de algunos
Sistemas operativos ejemplos de algunosSistemas operativos ejemplos de algunos
Sistemas operativos ejemplos de algunosJorge Alberto
 
Definiciones Y Ejemplos Pp2003
Definiciones Y Ejemplos   Pp2003Definiciones Y Ejemplos   Pp2003
Definiciones Y Ejemplos Pp2003diego_aacc
 
Sistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartidoSistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartidocamilo_flores
 
Teoria de procesamiento de la informacion
Teoria de procesamiento de la informacionTeoria de procesamiento de la informacion
Teoria de procesamiento de la informacionSilvia Picca
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacionandyv97
 
Procesos tecnológicos de octavo entrada proceso- salida
Procesos tecnológicos  de   octavo  entrada proceso- salidaProcesos tecnológicos  de   octavo  entrada proceso- salida
Procesos tecnológicos de octavo entrada proceso- salidahectormoralesalvares
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacionMarlon Cacuango
 
Sistemas de información
Sistemas de información Sistemas de información
Sistemas de información dianadevia
 
PROCESO DE MADURACION DE LA CARNE
PROCESO DE MADURACION DE LA CARNEPROCESO DE MADURACION DE LA CARNE
PROCESO DE MADURACION DE LA CARNEManuel Torres Reyes
 

Destacado (20)

Tema 2 teoría de la información y capacidad de canal
Tema 2   teoría de la información y capacidad de canalTema 2   teoría de la información y capacidad de canal
Tema 2 teoría de la información y capacidad de canal
 
Entropia
EntropiaEntropia
Entropia
 
Entropía y código de Huffman del mismo texto en diferentes idiomas.
Entropía y código de Huffman del mismo texto en diferentes idiomas.Entropía y código de Huffman del mismo texto en diferentes idiomas.
Entropía y código de Huffman del mismo texto en diferentes idiomas.
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacion Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacion
 
ejemplos de sistemas
ejemplos de sistemasejemplos de sistemas
ejemplos de sistemas
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacion
 
Procesamiento de información 2012 (1)
Procesamiento de información 2012 (1)Procesamiento de información 2012 (1)
Procesamiento de información 2012 (1)
 
Ejemplos de sistemas de información
Ejemplos de sistemas de informaciónEjemplos de sistemas de información
Ejemplos de sistemas de información
 
Ejemplos de sistemas de información
Ejemplos de sistemas de informaciónEjemplos de sistemas de información
Ejemplos de sistemas de información
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacion
 
Sistemas operativos ejemplos de algunos
Sistemas operativos ejemplos de algunosSistemas operativos ejemplos de algunos
Sistemas operativos ejemplos de algunos
 
Definiciones Y Ejemplos Pp2003
Definiciones Y Ejemplos   Pp2003Definiciones Y Ejemplos   Pp2003
Definiciones Y Ejemplos Pp2003
 
Sistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartidoSistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartido
 
Sistemas de informacion de mercadotecnia
Sistemas de informacion de mercadotecniaSistemas de informacion de mercadotecnia
Sistemas de informacion de mercadotecnia
 
Teoria de procesamiento de la informacion
Teoria de procesamiento de la informacionTeoria de procesamiento de la informacion
Teoria de procesamiento de la informacion
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacion
 
Procesos tecnológicos de octavo entrada proceso- salida
Procesos tecnológicos  de   octavo  entrada proceso- salidaProcesos tecnológicos  de   octavo  entrada proceso- salida
Procesos tecnológicos de octavo entrada proceso- salida
 
Ejemplos de sistemas de informacion
Ejemplos de sistemas de informacionEjemplos de sistemas de informacion
Ejemplos de sistemas de informacion
 
Sistemas de información
Sistemas de información Sistemas de información
Sistemas de información
 
PROCESO DE MADURACION DE LA CARNE
PROCESO DE MADURACION DE LA CARNEPROCESO DE MADURACION DE LA CARNE
PROCESO DE MADURACION DE LA CARNE
 

Similar a Teoria de la informacion

Codificacion De Datos
Codificacion De DatosCodificacion De Datos
Codificacion De Datoscarlosjsm26
 
Deteccion de errores y Red de Conmutacion
Deteccion de errores y Red de ConmutacionDeteccion de errores y Red de Conmutacion
Deteccion de errores y Red de Conmutacionesolimando
 
transmisión de datos, detección y corrección de errores y compresión de datos
transmisión de datos, detección y corrección de errores y compresión de datostransmisión de datos, detección y corrección de errores y compresión de datos
transmisión de datos, detección y corrección de errores y compresión de datosedithvelasquez
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datosYsabelLeal03
 
Presentacion de transmision de datos practicas 1-8
Presentacion de transmision de datos practicas 1-8Presentacion de transmision de datos practicas 1-8
Presentacion de transmision de datos practicas 1-8CarlyVG
 
Capa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio YepezCapa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio YepezMauricio Yepez Martinez
 
Presentacion primera unidad redes local basico
Presentacion primera unidad redes local basicoPresentacion primera unidad redes local basico
Presentacion primera unidad redes local basicoJimmy Diaz
 
Teoría de la información
Teoría de la informaciónTeoría de la información
Teoría de la informaciónEdwin Ortega
 
Informe comuNICACIONES
Informe comuNICACIONESInforme comuNICACIONES
Informe comuNICACIONESluis labarca
 
Ventajas de la codificación lineal
Ventajas de la codificación linealVentajas de la codificación lineal
Ventajas de la codificación linealMirlayda Peña
 
Transmisión de información
Transmisión de informaciónTransmisión de información
Transmisión de informaciónAlex Campiño
 

Similar a Teoria de la informacion (20)

Codificacion De Datos
Codificacion De DatosCodificacion De Datos
Codificacion De Datos
 
Deteccion de errores y Red de Conmutacion
Deteccion de errores y Red de ConmutacionDeteccion de errores y Red de Conmutacion
Deteccion de errores y Red de Conmutacion
 
TRANSMISION DE DATOS
TRANSMISION DE DATOSTRANSMISION DE DATOS
TRANSMISION DE DATOS
 
transmisión de datos, detección y corrección de errores y compresión de datos
transmisión de datos, detección y corrección de errores y compresión de datostransmisión de datos, detección y corrección de errores y compresión de datos
transmisión de datos, detección y corrección de errores y compresión de datos
 
Semana 05
Semana 05Semana 05
Semana 05
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
Presentacion de transmision de datos practicas 1-8
Presentacion de transmision de datos practicas 1-8Presentacion de transmision de datos practicas 1-8
Presentacion de transmision de datos practicas 1-8
 
Capitulo2.desbloqueado
Capitulo2.desbloqueadoCapitulo2.desbloqueado
Capitulo2.desbloqueado
 
Redes locales básico
Redes locales básicoRedes locales básico
Redes locales básico
 
Capa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio YepezCapa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio Yepez
 
Presentacion primera unidad redes local basico
Presentacion primera unidad redes local basicoPresentacion primera unidad redes local basico
Presentacion primera unidad redes local basico
 
Teoría de la información
Teoría de la informaciónTeoría de la información
Teoría de la información
 
Transmisiondedatos
TransmisiondedatosTransmisiondedatos
Transmisiondedatos
 
Redes de computadoras
Redes de computadorasRedes de computadoras
Redes de computadoras
 
La comunicación
La comunicación La comunicación
La comunicación
 
Teleproceso e Importancia
Teleproceso e ImportanciaTeleproceso e Importancia
Teleproceso e Importancia
 
Informe comuNICACIONES
Informe comuNICACIONESInforme comuNICACIONES
Informe comuNICACIONES
 
Presentacion tema 1
Presentacion tema 1Presentacion tema 1
Presentacion tema 1
 
Ventajas de la codificación lineal
Ventajas de la codificación linealVentajas de la codificación lineal
Ventajas de la codificación lineal
 
Transmisión de información
Transmisión de informaciónTransmisión de información
Transmisión de información
 

Último

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 

Teoria de la informacion

  • 1. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 3. FUNDAMENTOS DE CODIFICACION La teoría de la codificación es una parte de la teoría de la información, que estudia los métodos de identificación de los mensajes, con las señales que los representa. La codificación se utiliza ampliamente durante la transmisión, conservación y procesamiento de la información en diferentes sistemas. La tarea de la teoría de la codificación es lograr la mejor adaptación, en un cierto sentido, de la fuente de información con el canal de comunicación. Ejemplos de esta adaptación puede ser, lograr la máxima velocidad de transmisión para características estadísticas dadas de los mensajes, lograr una inmunidad a las interferencias dad para características conocidas de las interferencias en el canal, lograr la máxima velocidad de procesamiento de la información durante las operaciones aritméticas, etcétera. En correspondencia con el criterio de optimización escogido, se diferencian algunas direcciones de la teoría de la codificación. Las más conocidas entre ellas son la codificación eficiente o estadística y la codificación redundante. El código ( del latín codex) es un método universal de representación de la información durante la conservación, transmisión y procesamiento de dicha información, esta representación se hace en forma de un sistema de correspondencia entre los elementos de los mensajes y las señales. El código se utiliza para representación discreta en las líneas y canales de comunicaciones, en sistemas automáticos, en los dispositivos de cómputo y en otros sistemas utilizados en diferentes campos de la técnica. En la figura 3.1 se representa el esquema general de un sistema de transmisión de información. Figura3.1 Esquema general de un sistema de transmisión de información. Al mensaje en la salida de la fuente de información FI es necesario asociarle una determinada señal. Por cuanto la cantidad de posibles mensajes para un aumento ilimitado del tiempo tiene a infinito y para un intervalo de tiempo suficientemente grande es considerable, crear para cada mensaje una señal, es prácticamente imposible. Para grandes volúmenes del alfabeto de la fuente, usualmente se recurre a la representación de los elementos en otro alfabeto, con una menor cantidad de elementos, frecuentemente llamados símbolos. 1 FI CF CC M LC DM DC DF D FIn
  • 2. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Como el alfabeto de los símbolos es menor que el alfabeto de la fuente, entonces a cada letra de la fuente le corresponde una cierta secuencia de símbolo, conocida por combinación de código determina la longitud de la palabra código. En el proceso de la transformación de los elementos del mensaje en señales, como se planteado, pueden perseguirse varios objetivos; uno de ellos consiste en transformar la información en un sistema tal de símbolos (código) de forma que este logre la simplificación y confiabilidad de la realización física de los dispositivos de información, así como la eficiencia de dicha información. Esta exigencia significa la simplificación de los dispositivos de separación de los diferentes símbolos, mínimo tiempo de transmisión o mínimo volumen de memoria durante la conservación, simplificación de las operaciones lógicas y aritméticas en este sistema. Las propiedades estadísticas de la fuente de información y las interferencias en el canal de comunicación es este caso no son tomadas en consideración. La realización técnica del proceso de codificación, en este caso sencillo para una señal de entrada continua, se lleva a cabo mediante conversores análogos digitales. En los teoremas fundamentales sobre la codificación, como se verá más adelante, Shannon fundamentó ña eficiencia de introducir, en el sistema de transmisión de información, los dispositivos codificadores y decodificadores, con el objetivo de adaptar las prioridades del canal de comunicación. Uno de estos, el codificador de la fuente CF, tiene el objetivo de introducir una codificación tal que por medio de la eliminación de la redundancia, disminuye, apreciablemente, la cantidad promedio de símbolos necesarios por elemento de mensaje. En ausencia de interferencias esto logra una ganancia en el tiempo de transmisión o en el volumen de memoria, o sea, aumente la eficiencia del sistema. Por esto, tal codificación ha recibido el nombre de eficiente En presencias de interferencias en el canal, este método de codificación permite transformar la información de entrada en una secuencia de símbolos máximamente comprimidos y preparados para una posterior transformación. El segundo dispositivo codificador mostrado en figura 3.1, el codificador del canal CC, persigue el objetivo de lograr una veracidad dada durante la transmisión o conservación de la información, introduciendo una redundancia adicional, con ayuda de determinados algoritmos y teniendo en consideración la intensidad y las leyes estadísticas de las transferencias en el canal de comunicación. Esta codificación recibe el nombre de redundante. La racionalidad de la eliminación de la redundancia de los mensajes, por los métodos de la codificación eficiente con la posterior codificación redundante, está fundamentada en la redundancia de la fuente de los mensajes, en la mayoría de los casos, no está adaptada con las leyes estadísticas de las interferencias en el canal de comunicación y por esto, no puede ser utilizada totalmente para el aumento de la veracidad del mensaje recibido, mientras que frecuentemente es posible elegir códigos redundante conveniente. Además, la redundancia de la fuente de los mensajes, frecuentemente es consecuencia de complejas dependencias estadísticas y permite detectar y corregir errores sólo después de la codificación de todo el mensaje, utilizando complejísimos algoritmos y, además, intuición. De esta forma, la elección de los dispositivos codificadores y decodificadores dependen de las propiedades estadísticas de la fuente de los mensajes, así como del nivel y carácter de la 2
  • 3. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 interferencia en el canal de comunicación. Si la redundancia de la fuente de los mensajes y las interferencias en el canal de comunicación prácticamente no existen, la introducción, tanto del codificador de la fuente como del codificador del canal, no es racional. Cuando la redundancia de la fuente de los mensajes es grande y las interferencias son pequeñas, es oportuno introducir sólo el codificador de la fuente. Cuando la redundancia de la fuente es pequeña y las interferencias son de consideración, es racional la introducción del canal. En el caso de gran redundancia y alto nivel de interferencia es recomendable utilizar ambos dispositivos codificadores y decodificadores. Después del codificador de canal CC, la señal codificada es aplicada e un dispositivo codificador de los símbolos en señales, el modulador. La señal obtenida a la salida del modulador está lista par su transmisión, por una línea de comunicación LC (fig 7.1) o para su conservación, en una cierta memoria. En la línea de comunicación a la señal se le añaden interferencias, que llegan de la fuente de interferencias FIn (fig 3.1), de esta forma al dispositivo decodificador de señales en símbolos (demodulador DM), llegan del canal de comunicación, señales distorsionadas por el ruido. El dispositivo decodificador del código redundante, el decodificador del canal DC y el dispositivo decodificador del mensaje, el decodificador de la fuente DF, ofrecen el mensaje decodificado al destinatario D. 3.1 Definiciones preliminares Como ya es conocido, un código es un correspondencia de todas las posibles secuencias de un alfabeto fuente M = m 1,m2 , …, m en secuencia de símbolos de otro alfabeto X = x1, x2 , … , xr, siendo el conjunto X el alfabeto del código. Esta definición es demasiado general y puede interpretarse que cualquier correspondencia entre los símbolos del alfabeto cumple las características que deben poseer los códigos para ser utilizados con propósitos de transmisión o conservación de la información. Una de las características es que a cada mensaje de la fuente se le asocia una secuencia de símbolos del código, o sea, una palabra del código. A está característica se le llama código del bloque. Ejemplo 3.1 Código del bloque binario Símbolos de fuente Código M1 0 M2 11 M3 00 M4 11 3
  • 4. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Esta condición no es suficiente con respecto a la utilidad práctica de este código. Una restricción lógica que deben tener los códigos es que todas las palabras del código Xi, sean diferentes. Tales códigos reciben el nombre de códigos no singulares, o sea, en un código no singular, a cada mensaje se le asocia una secuencia diferente de símbolo del código. Note que el código mostrado en el ejemplo 7.1 no cumple con esta condición, ya que las palabras del código X2 y X4 son iguales. Por lo tanto este código es singular. Ejemplo 7.2 Código del bloque binario no singular Símbolo de Código La fuente m1 0 m2 01 m3 11 m4 1 El código mostrado en el ejemplo 3.2 posee aún una insuficiencia importante. Suponga se que en el proceso de transmisión de información utilizando este código se recibe, del canal de comunicación, la secuencia codificada 00111. Esta secuencia no puede ser interpretada unívocamente en términos de los símbolos de la fuente, en particular, ésta pudiera corresponder a las secuencias de símbolos de la fuente siguientes m1 m2 m3 00111 m1 m2 m3 m4 m1 m1 m4 m4 m4 De este análisis es evidente que no basta que las diferentes palabras del código Xi sean diferentes, sino que las secuencias de palabras del código Xi1 Xi2 … Xii se correspondan con una única secuencia de los símbolos o mensajes de la fuente. Los códigos que cumplen esta condición son denominados códigos unívocamente decodificables, separables o desifrables. Usualmente, la definición de estos códigos está asociada al concepto de extensión de orden n de un código. La extensión n-ésima de un código de bloque que transforme los símbolos de la fuente mi en las palabras del código Xi es el código del bloque que transforma las secuencias de los símbolos de la fuente (mi1, mi2, …. min ) en las secuencias de las palabras del código (Xi1 Xi2 … Xin ) . 4
  • 5. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Ejemplo 3.3 Segunda extensión de un código de bloque Símbolo de la Código Símbolo de la Código Fuente m1 m1 00 m3 m1 110 m1 m2 001 m3 m2 1101 m1 m3 011 m3 m3 1111 m1 m4 01 m3 m4 111 m2 m1 010 m4 m1 10 m2 m2 0101 m4 m2 101 m2 m3 0111 m4 m3 111 m2 m4 011 m4 m4 11 Note que en la extensión mostrada en el ejemplo 3.3 todas las palabras no son diferentes. Es por esta razón que, por ejemplo, a las secuencias de mensaje m1 y m2 m3 m4 le correspondan la misma secuencia de palabras del código. Para que esto no suceda, todas las palabras de la extensión deben ser diferentes, o sea, la extensión debe ser singular. Por lo tanto, puede enunciarse entonces que, para ser un código unívocamente decodificable, las extensiones de cualquier orden n, de este código deben ser no singulares. Es evidente que en aquellos casos en que las palabras del código tienen la misma longitud, la condición de no singularidad del código original es suficiente para garantizar su condición de decodificación unívoca. Ejemplo 3.4 Códigos unívocamente decodificables Símbolo de Código 1 Código 2 La fuente m1 0 0 m2 01 10 m3 011 110 m4 0111 1110 Los códigos mostrados en el ejemplo 3.4 aunque aparentemente similares, presentan entre sí una diferencia sustancial. En este caso del código 1 la secuencia de código recibida 01 no puede ser interpretada como correspondiente al símbolo m2 hasta tanto se reciba el siguiente símbolo del código. Si el siguiente símbolo del código es 0, entonces pude determinarse que la secuencia 01 correspondían al símbolo m2 . Si, por el contrario, el 5
  • 6. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 próximo símbolo del código hubiera sido 1 entonces la secuencia 011 no podría ser interpretada como correspondiente a m3 hasta que se obtenga el siguiente símbolo del código. Esta situación no sucede en el caso del código 2, ya que por ejemplo, la secuencia de código recibida 10, puede interpretarse instantáneamente, sin tener que esperar la aparición de símbolos adicionales como la secuencia de código asociada al símbolo m2. Los códigos univocamente decodificables en que cada palabra es una secuencia puede ser decodificada sin referencia a los sucesivos símbolos de código, son denominados instantáneos. Esta condición debe ser también satisfecha por los códigos a utilizar en los sistemas de transmisión o almacenamiento de la información. Obviamente el código mostrado en el ejemplo 3.4 es un código univocamente decodificable no instantáneo, mientras que el código 2 es un código instantáneo, a demás es último es denominado código como, pues, como puede observarse, el símbolo 0 sirve para separar las diferentes palabras del código. Un breve análisis de los códigos que aparecen en el ejemplo 3.4 sirve para evidenciar la condición que garantiza el carácter instantáneo de un código. Nótese, por ejemplo, que en el código 1 ( no instantáneo) la palabra del código 0 (correspondiente al mensaje m1 ) aparece como primer símbolo en las restantes palabras del código. De igual forma, la palabra 01 ( asociada al mensaje m2 ) constituye los primeros símbolos de las palabras del código, asociadas a los mensajes m3 y m4 . Esta es precisamente la causa de la no instantaneidad. Por la analogía del lenguaje, sin un código posee palabras Xi = Xi1, Xi2 , … Xmi, de longitud m, la secuencia de los símbolos del código ( Xi1, Xi2 , … Xij ) , siendo j≤ m, es denominada prefijo de la palabra del código Xi . Entonces la condición necesaria y suficiente para que un código sea instantáneo es que ninguna palabra del código sea prefijo de cualquier otra. 3.2 Arbol de Código Existen diversas representaciones de los códigos: la tabular, como ha sido mostrado en las tablas de los ejemplos anteriores: la geométrica, que representa las palabras del código como las vértices de una cierta figura geométrica en el espacio y otras. El llamado árbol del código es otra de las formas de representar los códigos. Esta representación tiene forma de ramas y a estas se les asocian los símbolos del código, las bifurcaciones que se forman son las distintas palabras en cuestión, partiendo de un punto cúspide central. 6
  • 7. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 En la figura 3.2 se muestra los árboles correspondientes a los códigos 1 y 2 del ejemplo 7.4 respectivamente. 0 0 m1 1 0 m1 1 1 0 m2 1 m2 1 m3 m3 0 1 m4 m4 Figura 3.2 Árboles de los códigos del ejemplo 3.4 En los síntesis de los códigos eficientes se utiliza, posteriormente, la técnica de representación del árbol del código. 3.3 Codificación eficientes o codificación de fuente Para que un código pueda ser utilizado con propósitos de transmisión o almacenamiento de información debe cumplirse una serie de características, siendo la más generalizadora de todas la que el código debe ser instantáneo. Como es conocido, la condición suficiente y necesaria para que un código sea instantáneo, es que ninguna palabra del código sea prefijo de cualquier otra. Para cumplir con esta condición existe una serie de técnicas, que van desde las más primitivas hasta elaborados algoritmos. Entre las técnicas primitivas puede señalarse la simple observación. Supóngase que es necesario sintetizar un código instantáneo binario para una fuente de cinco símbolos, teniendo como punto de partida el árbol del código mostrado en la figura 3. 3. 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 Figura 3.3 Árbol de un código binario 7
  • 8. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Sea 0 la palabra del código como punto de partida al mensaje m1, o sea, m1 0 En este caso para cumplir con la condición de prefijo, las restantes palabras del código tienen que comenzaron el símbolo 1. Sin embargo, la palabra del código formada por el símbolo simple 1 no puede ser asignada a ningún mensaje, pies, no podría formarse las otras tres palabras del código instantáneo. Una posible asignación pudiera ser m2 10. Esto exige que las tres restantes palabras del código tengan que comenzar con símbolos 11. Así, m3 110 Por lo que las restantes dos palabras pueden ser escogidas en la forma siguiente: M4 1110 m5 1111. Es de notar que. El hecho de haber asignado al primer mensaje la palabra del código 0, provoca una limitación considerable de las palabras del código, que sean posibles asignar a los restantes. Evidentemente, si en calidad de primera palabra del código, se hubiera elegido una palabra de mayor longitud, esto hubiera dado más posibilidades de elección del resto de las palabras del código. En el ejemplo 7.5 se muestran otros dos códigos sintetizados a partir del mismo árbol de la figura 7.3. Ejemplo 3.5 Código 1 Código 2 m1 00 000 m2 01 0100 m3 10 011 m4 110 10 m5 111 11 El código 1 Del ejemplo 7.5 tiene una característica que lo diferencia de 2 y es que, en general, utiliza menos símbolos del código, por mensaje de la fuente. Para responder a la pregunta del cuál de estos dos códigos da el mejor resultado, es necesario realizar posteriormente análisis. 3.4 Desigualdad de Kraft El análisis cualitativo recíen realizado, sobre la síntesis de códigos instantáneos, puede llevarse, al campo cuantitativo. La condición necesaria y suficiente para la existencia de un código instantáneo está dad por la desigualdad de Kraft, expresada por 8
  • 9. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 s ∑ r -λi ≤ 1, i = 1 donde s - es la cantidad de mensajes de la fuente, r - es la cantidad de símbolos diferentes en el alfabeto del código y λi - es la longitud de las palabras del código. En el caso de códigos binarios, la desigualdad de Kraft se expresa como s ∑ 2 -λi ≤ 1. i = 1 Ejemplo 3.6 Determine si es posible sintetizar un código instantáneo si quiere utilizarse un código binario, para las condiciones mostradas a continuación Mensajes m1 m2 m3 m4 m5 Longitudes Del código 1 2 3 2 En este caso s ∑ 2 -λi = 2 -1 +2 -2 + 2 -3 + 2 -2 + 2 -2 = 1,1875 > 1. i = 1 por lo tanto, no es posible sintetizar un código binario instantáneo para las condiciones de longitud de las palabras del código planteadas. Ejemplo3.7 Se quiere sintetizar un código binario instantáneo para una fuente de 10 mensajes. Se requiere que el primer mensaje se codifique con un solo símbolo del código, que el segundo mensaje se codifique con dos símbolos del código y que los ocho mensajes restantes tengan la misma longitud. Determine cuál debe ser la mínima longitud de estos ocho mensajes. Para solucionar este problema, debe ser empleada la desigualdad de Kraft, que es este caso toma la forma, 10 9
  • 10. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 ∑ 2 -λi = 2 -1 +2 -2 + 8.2-λi ≤ 1 i = 1 por lo que λi ≥ 5. Es evidente que la desigualdad de Kraft determina la existencia del código instantáneo, pero no da respuesta a las vías para sintetizarlo. Se ha demostrado por Mc Millan (1956) y por Karush (1961), que la desigualdad de Kraft también establece la condición necesaria y suficiente para la existencia de un código unívocamente decodificable. 3.5 Longitud promedio de las palabras del código Se ha podido comprobar, mediante el ejemplo 7.5, que es posible a partir de un alfabeto de la fuente y un alfabeto del código dados, sintetizar varios códigos instantáneos. Uno de los criterios más empleados para elegir el posible código a utilizar es tener la mayor cantidad posible de palabras del código, con pequeñas longitudes, pues en general, esto debe contribuir a disminuir el tiempo de transmisión de los mensajes, a simplificar los equipos de comunicación y otras ventajas. Para ayudar a establecer este criterio, se define el concepto de longitud promedio de las palabras del código, como s L= ∑p(mi) λi i = 1 donde s - es la cantidad de mensajes de la fuente, p(mi) - es la probabilidad de ocurrencia de los mensajes y λi - es la longitud de la palabra del código asociada al mensaje mi . Esta magnitud establece la cantidad de símbolos del código que, como promedio, son necesario para representar los mensajes de la fuente. Si la cantidad de símbolos diferentes en el alfabeto del código, o base del código, es r, es obvio que la máxima cantidad de información que puede brindar la ocurrencia de uno cualquiera de los r símbolos del código es, log r. Si como promedio, la cantidad de símbolos del código por mensaje es L, entonces la cantidad máxima de información que puede obtenerse debido a la ocurrencia de cualquier palabra del código es L log r. Si se supone que H(M) es la entropía de la fuente de mensaje asociada a esta código. Debe recordarse que ésta se interpreta como la cantidad promedio de información que se obtiene, debido a la ocurrencia de un mensaje cualquiera de la fuente. Para que el proceso de codificación pueda realizarse sin pérdidas de información de la fuente es necesario que se cumpla 10
  • 11. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 H(M)≤ L log r, (3.1) Lo que establece una condición de mínimo para el valor de la longitud promedio de las palabras del código, o sea, H(M) L ≥ . Log r Si por ejemplo, se trabajo con códigos binarios, o sea, r= 2, entonces la expresión (7.1) puede escribirse como L ≥ H(m). Esta condición sugiera una conclusión interesante: la entropía de la fuente de mensajes puede ser interpretada como la mínima cantidad promedio de símbolos del código a asociar a cada mensaje de la fuente. El código que garantice una longitud promedio de palabras menor o igual que las longitudes promedio de todos los códigos instantáneos, para la misma fuente y el mismo alfabeto del código, es denominado código compacto. 3.6 Eficiencia de un código La expresión (3.1) puede servir para caracterizar la eficiencia de un determinado código instantáneo. Si la expresión se cumple que H(M) L > , Log r Puede concluirse que, como promedio, las palabras del código pueden portar más información que la brindada por los mensajes de la fuente, por lo que el código no se ésta empleando eficientemente. No debe confundirse esto con el hecho de que las palabras del código realmente sean portadoras de más información que los mensajes de la fuente, pues el proceso de codificación no es capaz de crear información. Se trata sólo de una posibilidad potencial. Si por otra parte, la expresión (3.1) se cumple con el signo de igualdad, o sea, H(M) L= = H r (M) , Log r Puede afirmarse que en este caso se están aprovechando eficientemente las posibilidades potenciales de las palabras del código de portar información. Por lo tanto, la eficiencia de la codificación puede definirse como H(M) 11
  • 12. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 η = = . L log r Puede mostrarse que para lograr la máxima eficiencia de la codificación debe cumplirse que, a su vez, la desigualdad de Kraft se convierta en igualdad, o sea que, s ∑r -λi = 1, i = 1 para esto, la condición suficiente y necesaria es que los mensajes de la fuente ocurran con probabilidades 1 p(mi) = r-λi λi (3.2) r o 1 logr = λi. (3.3) p(mi) Ejemplo 3.8 Determine la eficiencia del código binario ( r= 2) asociado a la fuente, con las características mostradas a continuación. mi m1 m2 m3 m4 p(mi) 1/2 1/4 1/8 1/8 λi 1 2 3 3 en este caso s L= ∑p(mi) λi = 1/2 + 2. 1/4+ 2 . 3 . 1/8 = 1,75 bit / mensaje i = 1 s 1 L= ∑p(mi) λi log =1/2 + 1/4. 2 + 1/8 . 3 = 1,75 bit / mensaje i = 1 P(mi ) de ahí que L = H(M) y por lo tanto, η = 1. Nótese que según el ejemplo anterior, en todos los casos se cumple para esta código la condición expresada en (3.2). 3.7 Teorema de la codificación de Shannon para canales sin ruido 12
  • 13. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Si se tiene en consideración las propiedades estadísticas de la fuente de mensajes es posible minimizar la cantidad promedio de símbolos necesarios, para representar la fuente, lo que en ausencia de ruido e interferencias permite disminuir el tiempo de transmisión o el volumen de memoria. Tal codificación eficiente es basada en el teorema fundamental de Shannon, para canales sin ruido. Shannon demostró que '' los mensajes, formados por letras de un cierto alfabeto, pueden ser codificados de forma tal que la cantidad promedio de símbolos de código necesarios porque representar un mensaje de la fuentes, puede ser semejante a la entropía de la fuente de esos mensajes, pero nunca menor que esta magnitud .'' Este teorema puede ser demostrado. Cuando las probabilidades de los mensajes de la fuente cumplen la condición (3.2), entonces la longitud de las palabras del código puede ser hallados a partir de la expresión (3.3), o sea 1 λi log , P(mi ) Esto supone que el miembro derecho de la igualdad sea un número entero ( ver ejemplo 3.8). Cuando la magnitud logr (1/P(mi ) no es un número entero, es razonable suponer que puede hallarse un código compacto si λi es elegido como el entero mayor más cercano a este valor. O sea, λi puede ser elegida como el entero que satisfaga la condición 1 1 log r ≤ λi < log + 1 (3.4) P(mi ) , P(mi ) La expresión 3.3 se observa en la igualdad de la expresión 3.4, sin el miembro derecho. Si se multiplican todos los términos de (3.4) por P(mi ) se obtiene 1 1 P(mi) log r ≤ P(mi) λi < P(mi) log r P(mi) P(mi ) , P(mi ) Que, sumada para todas las palabras del código da por resultado Hr(M)≤ L < Hr(M) + 1 (3.5) Como esta condición es válida para cualquier fuente de mensajes sin memoria, entonces la expresión (3.5) puede escribirse en términos de la extensión n-ésima de esta fuente, o sea, Hr(Mn )≤ Ln < Hr(Mn ) + 1, 13
  • 14. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Donde Ln representa la longitud promedio de las palabras del código correspondiente a los mensajes de la extensión n-ésima de la fuente original. Si se representa por Λi la longitud de las palabras del código asociadas a los mensajes σi de la fuente extendida, entonces s n Ln = ∑ P(σi )Λi . i=1 Ln De aquí que la magnitud puede ser interpretada como la cantidad promedio de n símbolos del código necesarios por mensaje original de la fuente. La expresión (2.15) estableció que la entropía de la fuente extendida en n veces la entropía de la fuente original. Tomando en consideración este hecho, la expresión (3.6) puede escribirse como Ln 1 Hr(Mn )≤ < Hr(M) + (3.7) n n o Ln Lim = Hr(M) . n ∞ n la expresión (3.7) es, precisamente, el teorema de codificación de Shannon para canales sin ruido. Esta expresión se interpreta como el promedio de símbolos de un código r-ario necesario por mensaje de la fuente y que puede hacerse tan pequeña, como la entropía de la fuente expresada en unidades a-rias, pero nunca menor que esta magnitud. Para esto debe someterse a codificación, no la fuente original sino su extensión n-ésima, lo que complica el proceso de codificación debido al número excesivo (Sn ) de mensajes de la fuente a codificar. En el caso de fuentes con memoria, puede demostrarse que el teorema de codificación de Shannon, para canales sin ruido, puede expresarse como Hr(M) - Hr(M) Ln Hr(M) - Hr(M) Hr(M) ≤ < Hr(M) + + 1, n n n donde Hr(M) es la entropía de la fuente adjunta de Markov. 3.8 Códigos eficientes El teorema de codificación se Shannon, para canales sin ruido analizado en el epígrafe anterior, es un teorema de existencia, por cuanto no señala la forma concreta de codificación. 14
  • 15. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Sin embargo, puede concluirse que la elección de cada símbolo de la palabra del código debe realizarse de forma tal que porte la mayor cantidad de información posible. Consecuentemente, cada símbolo del código debe tomarse lo más equiprobablemente posible y cada elección debe realizarse independientemente de los valores de los símbolos precedentes. Por otra parte, un análisis de las vías para aumenta la eficiencia de la codificación H(M) η , L log r Para una fuente de mensajes dad y una base del código elegida, da como resultado: 1. El único parámetro que puede variarse para mejorar la eficiencia de la codificación es la longitud promedio de las palabras del código. 2. Para aumentar la eficiencia es necesario disminuir la longitud L al mínimo posible. La forma más evidente de disminuir la longitud promedio de las palabras del código es asociado a los mensajes más probables, las menores longitudes de palabras del código y viceversa. A continuación sean examinados dos algoritmos de codificación eficiente, que reúne las características anteriormente mencionadas. 3.9 Código de Shannon - Fano En el caso de ausencia de dependencia estadística entre los mensajes, los primeros algoritmos para la síntesis de códigos eficientes propuestos por Shannon y Fano. Sus métodos no se diferencian sustancialmente de aquí que recibira el nombre de código de Shannon - Fano. El código se construye de la forma siguiente: los mensajes del alfabeto se colocan en una tabla en orden decreciente de probabilidades. Después, éstos se dividen en r grupos ( r es la base del código elegido) de forma tal que la suma de las probabilidades, en cada grupo, sea casi igual. A cada mensaje de estos grupos se le asocia, como primer símbolo de la palabra codificada, uno de los r símbolos del código. Cada uno de los grupos obtenidos es dividido a su vez en r subgrupos, con probabilidades totales lo más parecidas posible. El proceso continua hasta tanto en cada subgrupo queden r mensajes. Supóngase un alfabeto de ocho mensajes. Es evidente que para una codificación que no tome en consideración las características estadísticas de la fuente, para representar cada mensaje son necesarios tres símbolos del código. El mayor efecto de compresión se logra como se evidenció en (3.2), cuando las probabilidades de los mensajes representan potencias enteras negativas de la base del código. 15
  • 16. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Ejemplo 3.9 Codifique, según el algoritmo de Shannon- Fano, la fuente que tiene como mensajes los que aparecen en la tabla. Utilice la base binaria (r= 2) para el código. mi m1 m2 m3 m4 m5 m6 m7 m8 P(mi ) 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/128 El resultado de esta codificación es. mi P(mi ) Palabras del código Orden división m1 1/2 1 I m2 1/4 0 1 II m3 1/8 0 0 1 III m4 1/16 0 0 0 1 IV m5 1/32 0 0 0 0 1 V m6 1/64 0 0 0 0 0 1 VI m7 1/128 0 0 0 0 0 0 1 VII m8 1/128 0 0 0 0 0 0 0 La longitud promedio de las palabras, en este caso, es igual a la entropía. Efectivamente, s s 1 63 L = ∑ P(mi )λi = H(M) = ∑P(mi ) log = 1 . i=1 i = 1 P(mi ) 64 puede notarse en el código hallado, que al haberse podido realizar todas las divisiones en subgrupos equiprobables, se garantiza que los símbolos del código sean equiprobables. Por otra parte, es evidente que se ha logrado, gracias al algoritmo de codificación utilizando, asignar las mayores longitudes de palabras a los mensajes menos probables y viceversa. Todo esto, unido al hecho de que en este caso las probabilidades de la fuente cumple la condición (3.2) ha posibilitado obtener un código totalmente eficiente. En un caso más general, para un alfabeto, para un alfabeto de ocho mensajes, la longitud promedio de las palabras del código es menor que tres, pero mayor que la entropía de la fuente H(M). 16
  • 17. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Ejemplo 3.10 Codifique, según el algoritmo de Shannon-Fano en código binario, la fuente que tiene como mensajes los que se muestran en la tabla mi m1 m2 m3 m4 m5 m6 m7 m8 P(mi ) 0,22 0,20 0,16 0,16 0,10 0,10 0,04 0,02 El resultado de la codificación en este caso es mi P(mi ) Palabras del código Orden división m1 0,22 1 1 I m2 0,20 1 0 1 II m3 0,16 1 0 0 III m4 0,16 0 1 IV m5 0,10 0 0 1 V m6 0,10 0 0 0 1 VI m7 0,04 0 0 0 0 1 VII m8 0,02 0 0 0 0 0 puede comprobarse que s 1 H(M) = ∑ P(mi ) log = 2,76 bit / mensaje i=1 P(mi ) y s L = ∑ P(mi ) λi = 2,84 símbolo / mensaje i=1 Consecuentemente, existen una cierta redundancia en las secuencias de los símbolos del código. Según el teorema de codificación de Shannon, para canales sin ruido, la redundancia existente en las secuencias de las símbolos del código, como en el ejemplo 3.10 puede eliminarse si se realiza la codificación de bloques considerablemente largos. 17
  • 18. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Supóngase una fuente formada por los mensajes m1 y m2 , con probabilidades de ocurrencia P(m1 ) = 0,9 y P(m2 ) = 0,1. Por cuanto estas probabilidades no son iguales, la secuencia de tales mensajes tiene un cierta redundancia. Sin embargo, si se codifica por mensajes, no se obtiene ningún efecto. Realmente, durante la transmisión de cada mensaje se necesita un solo símbolo, 0 o 1, mientras que la entropía es igual a 0,47. Si se codifica en bloques que contengan dos mensajes, se puede obtener un código como el mostrado en la tabla 10, ya que los mensajes son estadísticamente independientes, las probabilidades de los bloques se determinan por el producto de las probabilidades de los mensajes que lo constituyen. TABLA 10 Bloques Probabilidad Código Orden división m1 m1 0,81 1 I m2 m2 0,09 0 1 II m2 m1 0,09 0 0 III m2 m2 0,01 0 0 0 La cantida promedio de símbolos por bloque obtenida es igual a 1,29 y por mensaje es 0,645 La codificación de bloques que contienen tres mensajes logran aún un efecto mayor. El conjunto de bloques y el código asociado, se muestran en la tabla 11. TABLA 11 Bloques Probabilidad Código Orden división m1 m1 m1 0,729 1 I m2 m1 m1 0,081 0 1 1 III m1 m2 m1 0,081 0 1 0 II m1 m1 m2 0,081 0 0 1 IV m2 m2 m1 0,009 0 0 0 1 1 VI m2 m1 m2 0,009 0 0 0 1 0 V m1 m2 m2 0,009 0 0 0 0 1 VII m2 m2 m2 0,001 0 0 0 0 0 La cantidad promedio de símbolos por bloque es de 1,59 y por mensajes 0,53 lo que es sólo un 12% mayor que la entropía. El mínimo teórico H(m) = 0,47 pude lograrse si se codifica bloques formados por una cantidad infinita de mensajes. Debe señalarse que el aumento de la eficiencia de la codificación, como la ampliación de los bloques, no ésta relacionado con la consideración de ulteriores dependencias estadísticas, ya que se están analizando fuentes sin memoria. El aumento de la eficiencia está 18
  • 19. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 determinado sólo porque el conjunto de probabilidades que se obtiene, con la ampliación de los bloques, puede dividirse en subgrupos con probabilidades totales más cercanas entre sí. La metódica de Shannon- Fano analizada, no siempre conlleva a una situación única en la síntesis del código, ya que durante la división en subgrupos puede tomarse como el de mayor probabilidad total, tanto el superior como el inferior. Así, la tabla del ejemplo 3.10 puede haberse dividido de otras formas, una de las cuales aparece en la tabla 12. TABLA 12 mi P(mi ) Palabras del código Orden división m1 0,22 1 1 I m2 0,20 1 0 1 II m3 0,16 1 0 0 III m4 0,16 0 1 IV m5 0,10 0 0 1 V m6 0,10 0 0 0 1 VI m7 0,04 0 0 0 0 1 VII m8 0,02 0 0 0 0 0 En este caso la cantidad promedio de de símbolos por mensaje es de 2,80. De esta forma, el código construido puede no resultar el mejor. Este problema es mayor en la medida en que se aumenta la base r del código. Esta insuficiencia no la presenta la metódica de codificación eficiente de Huffman. 3.10 Código de Huffman El algortimo de codificación eficiente de Huffman garantiza una única solución en la síntesis del código, con la menor cantidad promedio de símbolos por mensaje, para una distribución de probabilidades dada de los mensajes de la fuente. Para el caso de códigos binarios el algoritmo de codificación de Huffman se plantea en los términos siguientes: los mensajes del alfabeto de la fuente se escriben en la columna fuandamenta, en orden decreciente de probabilidades. Los dos últimos mensajes se fucionan en un mensaje complementario y se le asigna, como probabilidad, la suma de las probabilidades de los mensajes no participantes en la función y la probabilidad suma obtenida, de nuevo se sitúan en orden descendente en una columna auxiliar y los dos últimos mensajes, de nuevo se fusionan. El proceso continúa hasta obtener un mensaje complementario, de forma tal que la probabilidad sea la unidad. En el caso de los códigos r-arios el algoritmo de codificación es semejante, con la única diferencia de que en vez de fusionar dos mensajes, se fusionan r mensajes, continuándose el proceso hasta obtener un mensaje complementario, que haya sido formado por r 19
  • 20. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 mensajes anteriores y con probabilidad igual a la unidad. Puede demostrarse fácilmente que para lograr esto es necesario que la cantidad de mensajes de la fuente sea. s= r + α(r -1), (3.8) siendo α un número entero. En el caso en que la fuente no tenga esa cantidad de mensajes, se completa con mensajes de probabilidad cero, hasta llegar a la cantidad expresada en (3.8). La metódicaplanteada se ilustra con el ejemplo 3.11. los valores de las probabilidades son los mismos que en el ejemplo 3.10. Ejemplo 3.11 Columnas complementarias mi p(mi) 1 2 3 4 5 6 7 m1 0,22 0,22 0,22 0,26 0,32 0,42 0,58 1,0 m2 0,20 0,20 0,20 0,22 0,26 0,32 0,42 m3 0,16 0,16 0,16 0,20 0,22 0,26 m4 0,16 0,16 0,16 0,16 0,20 m5 0,10 0,10 0,16 0,16 m6 0,10 0,10 0,10 m7 0,04 0,06 m8 0,02 Para la construcción de las palabras del código, correspondiente a los mensajes, es necesario seguir los pasos de transición de los emansajes por las filas y las columna del ejemplo 3.11. Para visualizar mejor este procedimeinto, se construye el árbol del código. Desde el punto correpondiente a la probabilidad unitaria, se dirige dos ramas. A la rama con mayor probabilidad se le asigna el símbolo 1 ; a la de menor probabilidad el símbolo 0. Esta ramificación continúa hasta llegar a las probabilidades de cada mensaje (fig 3.4). 0,58 0,42 1 0 0,32 0,2 0,26 0,22 1 0 1 0 m1 m2 0,16 0,10 0,16 0,16 1 0 0 1 0 0,06 m5 20
  • 21. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 0,10 m3 m4 1 0 m6 0,04 1 0 0,02 m7 m8 Figura 3.4 Árbol del código construido según el ejemplo 3.11 por el algoritmo de Huffman. Trasladándose por las ramas del árbol, de arriba hacia abajo, puede escribirse las palabras del código correspondiente a cada mensaje m1 m2 m3 m4 m5 m6 m7 m8 01 00 111 110 100 1011 10101 10100 3.11 codificaciones reduntante el modelo matemático del canal de comunicación discreto con ruido analiza en los epígrafes del 24 al 2.6. La teoría de la codificación redundante se basa en los resultados de las investigaciones realizadas por shannon y fomuladas en el teorema fundamental para el canal discreto con ruido que plantea : para cualquier velocidad de transmisión del os símbolos binarios, menor que la capacidad del canal, existen un código con probabilidad de codificación errónea tan pequeña como se quiera; la probabilidad de error no puede hacerse arbitraria mente pequeña, si la velocidad de transmisión es mayor que la capacidad del canal. Como puede verse, en el teorema no están planteadas la formas de construcción del código que posibilita tal transmisión ideal. Sin embargo, el significado es importantísimo pues, habiendo fuandamentado la posibilidad potencial de tal codificación los esfuerzos de lo científicos en la búsqueda de los códigos concretos. La codificación debe realizarse de forma tal que la señal correspondiente a la secuencia de símbolos recibida después de la interferencia supuesta en el canal, se reciba más semejante posible a la señal proporcionada por la secuencia de símbolos transmitida, que a las señales representantes de otras posibles secuencias. Esto se logra por el valor de la redundancia introducida durante la codificación, la que permite imponer, a la secuencia de símbolos transmitidas, una serie de condiciones adicionales, la comprobación de las cuales, en el extremo receptor, brinda la posibilidad de detectar y corregir errores. Los códigos que posean estas propiedades son denominados códigos redundantes o correctores. En la gran mayoría de los códigos correctores existen en la actualidad, estas condiciones se logran como consecuencia de sus propiedades algebraicas, de aquí que también sean llamados códigos algebraicos. 21
  • 22. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Los códigos algebraicos pueden ser divididos en dos clases : de bloques y recurrentes. En el caso de los códigos de bloque, como ya se mencionó, el procedimiento de codificación consistente en la asignación, a cada mensaje o a la secuencia de k símbolos los correspondientes a este mensaje, de un bloque de n símbolos. El código de bloques se denomina uniforme si el valor de n se mantiene constante para todos los mensajes de la fuente. Si la cantidad de símbolos en las secuencias correspondientes a los diferentes mensajes de la fuente varía, entonces el código del bloque se denonima no uniforme. Este código se obtiene, como ya se ha visto durante una codificación eficiente. Por la complejidad de los positivos, para la realización de los códigos correctores, es que no han tenido una gran popularidad. Los códigos de bloques se clasifican también en códigos divisibles o indivisibles. Durante la codificación con códigos divisibles las secuencias de salida codificadas consiste en símbolos, con papel limitado claramente. Puede ser símbolo de información, coincidente con los símbolos que llegan a la entrada del codificador del canal símbolos redundantes ( o de chequeo) introducidos en la secuencia original por el codificador del canal, que sirve para detectar y corregir los errores. Cuando se codifica con códigos indivisibles, es imposible dividir los símbolos de la secuencia de salida del canal, en símbolos de información y símbolos de chequeo. Los códigos recurrentes son aquellos códigos en los que la introducción de los símbolos redundantes, en la secuencia codificada de los símbolos de información recurrentes también pueden clasificarse en divisibles e indivisibles. 3.12 Principios generales de utilización de la redundancia La capacidad del código de detectar y corregir está determinada por la existencia de símbolos redundantes. En la entrada del dispositivo codificador aparece una secuencia de k símbolos de información. A la salida de éste dispositivo le corresponde una secuencia de n símbolos, donde n > k. En total puede existir 2k diferentes secuencias de entrada y 2n diferentes secuencias de salida, en el caso de códigos binarios. De la 2n secuencia de salida, solo 2k secuencia correspondiente a las de entrada. Estas secuencias son denominadas palabras código permisibles. Las restantes 2n - 2k posibles secuencias de salida, no son utilizadas para la transmisión. Estas otras secuencias son denominadas palabras código prohibidas. La distorsión de la información en el proceso de transmisión se produce cuando algunos de los símbolos transmitidos se cambian por otros, no vereces. Por cuanto, cada una de las 2k palabras del código permisibles, como resultado de la acción de las interferencias, puede transformarse en cualquiera otra, se tiene en total 2k 2n posibles casos de transmisión ( fig 3.5). A1 . B1 . . . . 22
  • 23. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 . . Ai Bi Mi . . . . . . Aj . Bj Mj . . . . . . . B2 n A2 k . Figura 3.5 Posibles transformaciones de las palabras de código permisibles al pasar por un canal con interferencias. En esta cantidad total están incluidos: 2k en caso de transmisión sin error ( en la figura 3.5 se representa por líneas gruesas). 2k (2k - 1) casos de transmisión a otras palabras permisibles, que corresponden a errores no detectables (en la figura 3.5 se representa por líneas discontinuas). 2k (2n - 2) casos de transición a las palabras prohibidas, que pueden ser detectados ) en la figura 7.5 se representa por líneas finas). Consecuentemente, la parte de errores detectados de la cantidad total de posibles casos de transmisión es : 2k (2n - 2k ) 2k = 1 - . 2k 2n 2n si la palabra del código contiene sólo un símbolo redundante, o sea, n= k + 1, entonces la cantidad total de secuencias de salida es de 2k+1 , el doble de la cantidad total de la secuencias codificadas de entrada. Como subconjunto de las palabras del código permisibles pueden ser tomado, por ejemplo el subconjunto de 2k palabras, que contengan una cantidad par de unos ( o de ceros). Durante la codificación, a cada secuencia de k símbolos de información se le agrega un símbolo ( 0 o 1) de forma tal que la cantidad total de unos en la palabra codificada sea par. La distorsión de cualquier cantidad impar de símbolos traslada la palabra codificada permisible al conjunto de las palabras prohibidas, lo que se detecta en el extremo receptor, debido a la cantidad impar de unos. La fracción de errores detectados en este caso es 2k 1 1 - = . 2k+1 2 Una situación algo diferente tiene lugar con la corrección de errores. Cualquier método de decodificación puede ser interpretado como una regla de división de todo el conjunto de las palabras prohibidas en 2k subconjuntos disjuntos M, a cada uno de ellos se la asocia una de las palabras permisibles. Al recibir una palabra prohibida, perteneciente al subconjunto Mi , 23
  • 24. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 se toma la decisión que fue transmitida la palabra permisible Ai (fig 7.5). el error será corregido en aquellos casos en que realmente la palabra recibida haya sido formada por Ai o sea, en 2n - 2k casos. La cantidad total de transformaciones a palabras prohibidas es 2k (2n - 2k ). De esta forma, cualquier código correcto es capaz de corregir errores. La relación de la cantidad de palabras codificadas erróneas, corregidas por el código, entre la cantidad de palabras erróneas detectada es 2n - 2k 1 = . 2k (2n - 2k ). 2k El método de división en subconjuntos, depende del tipo de errores que deben corregirse por el código especifico. La mayoría de los códigos desarrollados hasta el momento, están destinados a la corrección de errores mutuamente independientes de determinada multiplicidad y ráfagas de errores. Los errores mutuamente independientes son aquellos errores en la secuencia transmitida de símbolos, para los que la probabilidad de ocurrencia de cualquier combinación de símbolos erróneos, depende solo de la cantidad r de símbolos erróneos y de la probabilidad de error p de un símbolo. La cantidad de símbolos erróneos en la palabra es denominada multiplicidad del error. Bajo errores mutuamente independientes, la probabilidad de error de cualesquiera r símbolos en una palabra codificada de n posiciones es Pr = Cr n pr ( 1 -p) n-r . Si se tienen en cuenta que p << 1, entonces, en este caso, lo más probables son los errores de menor multiplicidad. Estos deben ser detectados y corregidos en primer lugar. 3.13 Relación entre la capacidad de detección y corrección del código, con la distancia entre las palabras De lo anterior se deduce, que bajo errores mutuamente independientes, la más probable es la transición a la palabra codificada, que se diferencia de la dada en la menor cantidad de símbolos. El grado de diferencia de dos palabras codificadas cualesquiera se caracteriza por la distancia entre ellas, en el sentido de Hamming, o simplemente, por la distancia del código. Esta representa la cantidad de símbolos en los que estas palabras se diferencian una de otra y se simboliza por d. Para obtener la distancia del código entre dos palabras codificadas de un código binario, es suficiente contar la cantidad de unos, en la suma módulo 2 de estas palabras. Por ejemplo 1 0 0 1 1 1 1 1 0 1 24
  • 25. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 + 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 d= 7. La decodificación después de la recepción puede realizarse de forma tal que la palabra codificada recibida, se identifique con aquella palabra permisible que se encuentre con ella, a la menor distancia del código. Con esto se corrige el error más probable. Es evidente que cuando d= 1 todas las palabras del código son permisibles. Por ejemplo si n= 3, las palabras permisibles forman el conjunto siguiente 000, 001, 010, 011, 100, 101, 110, 111. Cualquier error simple transforma una palabra dada en otra palabra permisible. Este es el caso de un código que posee capacidad correctora. Si d= 2, ninguna palabra del código permisible se transforma en otra permisible, con la ocurrecia de un error simple. Por ejemplo, el subconjunto de las palabras del código permisibles puede constituirse por el principio de la paridad de unos, como se muestra a a continuación para n = 3 000,011, 101, 110 palabras permisibles 001, 010, 100, 111 palabras prohibidas el código detecta todos los errores simples. En general, si es necesario detectar errores de multiplicidad r, la mínima distancia entre palabras del código permisible, debe ser, al menos, en una unidad mayor que r, o sea, dd ≥ r +1 . para la corrección de un error simple, a cada palabra del código permisible es necesario hacer corresponder un subconjunto de palabras del código prohibidas. Para que estos subconjuntos sean disjuntos, la distancia entre las palabras del código permisibles, debe ser no menor de tres. Para n = 3 como palabras permisibles pueden mostrarse, por ejemplo, 000 y 111. Entonces a la palabra permisible 000 es necesario hacer corresponder el subconjunto de las palabras del código prohibidas 001, 010, 100, formada como resultado de la ocurrencia de un error simple en la palabra 000. De forma similar, a la palabra permisible 111 es necesario hacer corresponder el subconjunto de las palabras del código prohibidas 110, 011, 101, formadas como resultado de la ocurrencia de un error simple en la palabra 111 001 000 010 palabras 100 palabras pemisibles 011 prohibidas 25
  • 26. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 111 101 110 En general, paras la corrección de errores de multiplicidad s, la distancia mínima entre palabras del código permisibles debe satisfacer la relación dc ≥ 2s + 1. No es difícil convencerse, que la corrección de todos los errores de multiplicidad s y, simultaneamente, la detección de todos los errores de multiplicidad r, la mínima distancia entre las palabras permisibles del código debe tomarse de la condición dd+ c≥ r + s + 1. Las fórmulas anteriores, obtenidas para el caso de errores mutuamente independientes, brindan valores aumentados de la mínima distancia del código, bajo interferencias correlacionadas con la señal. En los canales reales de comunicación la duración de las pulsos interferentes sobrepasa la duración de un símbolo, sucediendo que simultáneamente se distorsionen la duración de un símbolo, sucediendo que simultáneamente se distorsione varios símbolos de la palabra situados cerca uno de otros. Los errores de este tipo han recibido el nombre de ráfaga de errores. La longitud de la ráfaga de errores es la cantidad de símbolos que se encuentran entre dos símbolos erróneos, incluyendo estos, si después de este último han ocurrido al menos α símbolos correctos. El valor que se escoja de α depende de una serie de factores. Si por ejemplo, la palabra 101011001111011 como resultado de la cción de las interferencias, se transforma en la palabra 101010101011011, entonces la longitud de la ráfaga de errores formada es de cinco símbolos, 101011001111011 + 101010101011011 000001100100000 λ=5 El método de decodificación descrito con anterioridad no es el más efectivo en este caso. Para ráfagas de errores y canales asimétricos, para la misma capacidad de corrección, la mínima distancia entre palabras del código permisibles puede ser menor. Es necesario destacar que cada código corrector no garantiza la corrección de cualquier combinación de errores. Los códigos están destinados para la corrección de los errores más probables para el canal dado. Si el carácter y el nivel de las interferencias son diferentes a los supuestos, la eficiencia de utilización del código se reduce bruscamente. La utilización de un código corrector no puede garantizar una recepción sin errores, pero brinda la posibilidad de aumentar la probabilidad de obtención en la salida de un resultado correcto. 3.14 Indicadores de calidad del código corrector 26
  • 27. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Una de las características fundamentales del código corrector es la redundancia del código, que indica el grado de prolongación de la palabra del código para el logro de una determinada capacidad correctora. Si por cada n símbolos de la secuencia de salida del codificador del canal, hay k de información y - n - k de chequeo, entonces la redundancia relativa del código puede ser expresada por una de las relaciones siguientes n - k Rn n o n - k Rk k La magnitud Rk es preferible, ya que ésta responde mejor a la idea del concepto de redundancia. Los códigos que garantizan una capacidad de corrección dad, con la mínima redundancia posible, se denomina óptimos. En relación con la determinación de los códigos óptimos debe evaluarse, por ejemplo, la mayor cantidad posible Q de palabras permisibles de un código binario de n posiciones, que sea capaz de corregir errores mutuamente independientes de multiplicidad s. esto equivale a buscar la cantidad de combinaciones con distancia mínima entre ellas, dc = 2s+ 1. La cantidad total de diferentes errores corregibles para cada una de las palabras permisibles es s ∑ C i n . i=1 Cada uno de estos errores debe llevarse a una palabra prohibida, relacionada con el subconjunto de la palabra permisible dad. Esta palabra, además de la cantidad recién mencionada, también forma parte del subconjunto. La decodificación unívoca es posible solo en el caso en que los subconjuntos mencionados sean disjuntos. Por cuanto la cantidad total de palabras diferentes del código binario de n posiciones es 2n , la cantidad de palabras del código permisibles no puede exceder la longitud 2n s 1 + ∑ C i n i=1 o 2n Q= s . ∑ C i n 27
  • 28. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 i=0 Este límite se conoce como el limite de Hamming. Para algunos valores concretos de la distancia del código d, los correspondientes valores de N se muestran en la tabla 13. TABLA 13 d N d N 1 2n 5 ≤ 2n +1 / (n2 + n+ 2) 2 2n +1 . 3 2n +1 / (n+1) . 4 2n +1 / n 2k + 1 ≤ 2n / (1+ Cn 1 + Cn 2 + … + Cn k ) Sin embargo, no siempre es racional tender a la utilización de códigos, cercanos a los óptimos. Es necesario tener en cuenta otro indicador, no menor importante, de calidad del código corrector, la complejidad de la realización técnica de los procesos de codificación y decodificación. Si la información debe transmitirse por una línea de comunicación de acción lenta (no confiable y costosa) y los dispositivos codificador y decodificador (realizados con elementos muy confiables y de gran velocidad ), entonces, la complejidad de estos dispositivos no juegan un papel fundamental. El factor decisivo, en este caso, es deseable en la utilización de la línea de comunicación y por esto, es aumentar la eficiencia en la utilización de la línea de comunicación u por esto, es deseable utilizar códigos correctores con mínima redundancia. Si el código corrector debe ser utilizado en un sistema, realizado con elementos de confiabilidad y velocidad iguales o cercanas a la confiabilidad y velocidad de los equipos codificador y decodificador ( por ejemplo, para el aumento de la veracidad de reproducción de la información desde la memoria de una computadora) , entonces el criterio de calidad del código correcto es la confiabilidad del sistema en su conjunto, o sea, tomado en cuenta las posibles distorsiones o interrupciones en los equipos de codificación y decodificación. En este caso, frecuentemente son más racionales los códigos con gran redundancia, pero que sea sencilla su realización técnica. 3.15 Interpretación geométrica de los códigos de bloqueo correctores Cualquier palabra codificada binaria de n posiciones puede ser interpretada como el vértice de un cubo unitario n-dimensional, o se, de un cubo con longitud de arista unitaria. para n= 2 , las palabras codificadas se ubican en los vértices de un cuadrado (fig 3.6) ; para n= 3 en los vértices de uncubo unitario (fig 7.7) ; para n= 4 en los vértices de un cubo tetradimensional (fig 3.8). 28
  • 29. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 01 11 00 10 Figura 3.6 Interpretación geómetrica de un código binario de dos posiciones. 010 110 d=2 011 111 d=3 100 000 001 101 Figura3.7 Interpretación geométrica de un código binario de tres posiciones. 1010 1110 1111 1011 0110 0011 0111 0110 0000 1100 0001 29
  • 30. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 0101 1001 1101 Figura 3.8 Interpretación geométrica de un código binario de cuatro posiciones. En general, el cubo unitario n-dimensional tiene 2n vértices que es igual a la mayor cantidad posible de palabras del código. Este modelo brinda una interpretación geométrica sencilla a la distancia entre diferentes palabras del código, que corresponde a la menor cantidad de aristas del cubo unitario por las que es necesario pasar para ir de una palabra a la otra. Al subconjunto de cada palabra se asocian todos los vértices que se encuentren en una esfera de radio (d-1)/2 y con centro en el vértice correspondiente a la palabra del código permisible en cuestión. Si como resultado de la acción del ruido la palabra se traslada a un punto que se encuentra dentro de la esfera de radio (d-1)/2, entonces el error puede ser corregido. Este método se llama método de decodificación para errores simples independientes. Si la interferencia traslada el punto de la palabra permisible hasta la frontera de dos esferas (a la distancia d/2) o más (pero no hasta el punto correspondiente a otra palabra permisible), entonces la distorsión puede ser detectada. Para los canales con distorsión independiente de los símbolos, los mejores códigos correctores son aquellos donde los puntos correspondientes a palabras del código permisibles, se encuentran situados en el espacio uniformemente. 3.16 Teorema de codificación de Shannon para canales con ruido El teorema fundamental de Shannon sobre la codificación para el canal con ruido, enunciado a continuación, sin demostración, es análogo el teorema para el canal no ruidoso. Si la fuente de información tiene una entropía H(M) y el canal de comunicación posee una capacidad C, entonces : 1. Los mensajes, elaborados por la fuente, siempre puede ser codificados de forma tal que la velocidad de transmisión Bm sean tan cercana como se quiera a la magnitud. Bm max = C/H(M) Y que la probabilidad de error en la determinación de cada símbolo transmitido sea menor que cualquier cantidad dada, 2. No existe método de codificación que permita realizar la transmisión con una velocidad mayor que Bmmax y con una pequeña probabilidad de error. En otras palabras, si el flujo de información H´(M) = Bm H(M) ≤ C, 30
  • 31. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 Entonces puede escogerse un código especial, que permita transmitir toda la información con una probabilidad de error tan pequeña como se quiera. Si H´(M) > C, no existe código . Este resultado particularmente valioso, ya que la intuición no lo apoya. Realmente es evidente que con la disminución de la velocidad de transmisión de información puede aumentarse la veracidad. Esto puede lograrse, por ejemplo, por la vía de la múltiple repetición de cada letra del mensaje. Sin embargo, para lograr el error nulo intuitivamente parece que la velocidad de transmisión bm debe reducirse a cero (la cantidad de repeticiones debe ser infinitamente grande). El teorema , sin embargo, afirma que siempre es posible lograr una velocidad de transmisión cercana a bmmax ( por vía de elección del código conveniente). El teorema no responde a la pregunta de cómo elegir tal código. Pero para la aproximación al límite (3.9), el método general como en el caso del canal no ruidoso, es la codificación de largos mensajes y no de símbolos por separado. Ejemplo 3.12 Supóngase que por un canal puede transmitirse señales binarias, con una velocidad vx. De esta forma, el alfabeto de las señales está compuesto de dos símbolos X= (x1, x2) . las interferencias en el canal son tales que, en cada trío de símbolos transmitidos se distorsiona ( o sea, x, pasa, o viceversa) no más de un símbolo siendo las probabilidades de distorsión de cada trío y la probabilidad de recepción del trío no distorsionado, iguales entre sí. Por definición la capacidad de tal canal es Cvx max { I(X,Y) }. La velocidad de transmisión vx, de las señales elementales por el canal, se considera conocida y para la determinación de C hace falta hallar el max I(X,Y). La cantidad promedio de información portada por la señal es I(X,Y) = H(Y) - H(Y /X). Consecuentemente, la tarea se reduce a hallar las expresiones de H(Y) y H(Y/X) y maximizar su diferencia. Para el cálculo de estas magnitudes se examina un nuevo alfabeto X´, que contiene todos los posibles grupos de tres símbolos. La cantidad de tales grupos es 8. x1 x1 x1 x1 x2 x2 x1 x1 x2 x2 x1 x2 x1 x2 x1 x2 x2 x1 x2 x1 x1 x2 x2 x2 A cada uno de estos grupos se le hace corresponder u nuevo símbolo xi´. como resultado se obtiene un nuevo alfabeto X´= (x1´, x2´…., x8´) . La cantidad promedio de información I(Y´, X´), transmitida por símbolo de la señal x´, estrés veces mayor que la cantidad promedio de información I(Y ; X), transmitida por la señal x, ya que la cada señal x´ está compuesta por tres símbolos x. Pero, la velocidad de transmisión v 31
  • 32. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 ´x de los símbolos x´, por el canal es tres veces menor que la velocidad vx, por esto la capacidad del canal puede ser calculada como C= v´x max { I(Y´,X´) }, Donde I(Y´,X´) = H (Y´) - H(Y´/ X´). Por condición cada símbolo transmitido xi´ puede convertirse en uno de los cuatro símbolos yj´ posibles siendo iguales las probabilidades de transformación P(yj´ / xi´) = ¼. Por ejemplo, x1´ puede convertirse, como resultado de la acción de la interferencia, en y2´, y3´, y4´, o no distorsionarse (yj´ ). De esta forma, la tabla de las probabilidades condicionales toma la forma : p(y1´ / x1´), p(y2´ / x1´), …………., p(y8´ / x1´) p(y1´ / x1´), p(y2´ / x1´), …………., p(y8´ / x2´) . . . . . . . . . . . . p(y1´ / x8´), p(y2´ / x8´), …………., p(y8´ / x8´) En cada fila, cuatro términos valen 1/4 y el resto son iguales a cero. Consecuentemente 8 8 H(Y´/ X´) = - ∑p(xi´) ∑p(yj´ / xi´) log p(yj´ / xi´) i=1 i=1 = - ( p(xi´) . 4 . 1/4 . log 1/4 + p(x2´) . 4 . 1/4 . log 1/4 + + ………..+ p(x8´) . 4 .1/4 . log 1/4) = log 4. De aquí puede verse que la entropía condicional H( Y´/ X´) no depende de la entropía de la fuente. Por esto, max { I(Y´,X´) } = Hm (y´) - H(Y´/X´). Pero la entropía H(y´) logra su máximo valor para eventos equiprobables. En este caso, Hm (Y´) = log 8. Consecuentemente, max { I(Y´,X´) } = log 8 - log 4 = log 2. La capacidad del canal de comunicación es vx C= v´x log 2 = log 2. 3 32
  • 33. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 En ausencia de interferencias, H(Y´/X´) = 0 y max { I(Y´,X´) } = Hm (Y´) = log 8 = 3 log 2. Y entonces vx C= 3 log 2 = vx log 2. 3 de aquí se deduce que la presencia de interferencias de tipo señalado en el canal, reduce su capacidad en tres veces. Para aplicar ahora el teorema fundamental de Shannon, supóngase que la fuente de información crea mensajes con símbolos del alfabeto Z = (z1, z2, …., zn) siendo H(Z) la entropía de la fuente. Entonces, de acuerdo con el teorema fundamental, los símbolos z pueden ser transmitidos con una velocidad tan cercana como se quiera a C vx log 2 Vxz= = , H(Z) 3 H(Z) Con una probabilidad de error tan pequeña como se quiera. Para esto, los mensajes deben ser codificados de cierta forma. La tarea de la elección del código conveniente para cada canal concreto, se soluciona en cada caso, individualmente. Para este ejemplo puede señalarse el método de codificación siguiente. Supóngase inicialmente que el canal es libre de interferencias, entonces realizando la codificación de mensajes, lo suficientemente largos, por el método de Shannon-Fano, puede lograrse una velocidad tan cercana como se quiera al límite vx log 2 B´n max = . 3H(X) en este caso, los símbolos en el canal se suceden con una frecuencia vx / 3. Para utilizar totalmente la capacidad del canal, es posible , después de cada símbolo del código, que es denominado de información, transmitir dos símbolos redundantes adicionales, que no porten información del mensaje. Estos símbolos sirven para el aumento de la veracidad( corrección de los errores ). Supóngase, que en cada par de símbolos transmitidos q1 q2 q3 el símbolo q1 sea de información y q2 q3 los correctores. Los símbolos q2 y q3 pueden tomarse de forma tal que las sumas q1 + q2 y q1 +q3 sean pares. Durante la recepción del mensaje estas sumas son calculadas. El incumplimiento de la paridad atestigua la presencia de un error simple, la que después de la detección, puede ser corregida. Por cuanto, por condición no puede distorsionarse más de un símbolo en cada trío, no habrá errores durante la transmisión. De esta forma, la transmisión, con la velocidad señalada, puede realizarse sin errores, como si esta se realizara realmente por un canal sin interferencias. 33
  • 34. Seguridad y protecciòn de informaciòn Lilia Edith Aparicio Pico Memorias de Clase, Seminario 3 34