transmisión de datos 2 -2015
Post on 28-Jan-2016
235 Views
Preview:
DESCRIPTION
TRANSCRIPT
Transmisión de Datos
Ing. Pablo Toapanta Silverio
Octubre 2015
PROPIEDADES DE LOS CODIGOS
DEFINICION: Denominemos S = {s1, s2, …., sq} al conjunto de símbolos de un alfabeto dado. Se define un código como la correspondencia de todas las secuencias posibles de símbolos de S a secuencias de símbolos de algún otro alfabeto X = {x1, x2, …., xr}. S recibe el nombre de alfabeto fuente y X alfabeto código.
DEFINICION: un código bloque es aquel que asigna cada uno de los símbolos del alfabeto fuente S a una secuencia fija de símbolos del alfabeto código C. Esas secuencias fijas (secuencias de xj) reciben el nombre de palabras código. Denominaremos Xi a la palabra código que corresponde al símbolo si. Hay que notar que Xi constituye una secuencia de xjs.
Ejemplo de código bloque binarioSímbolos de la fuente Código
S1 0
S2 11
S3 00
S4 11
Si un código hace corresponder todas las secuencias de longitud n de símbolos de la fuente con secuencias fijas de símbolos código, el código hace también corresponder cada símbolo de la extensión de orden n de la fuente original con una secuencia fija de símbolos código, constituyendo realmente un código bloque del alfabeto fuente Sn.
CODIGOS UNIVOCAMENTE DECODIFICABLES
Un código bloque se denomina no singular si todas sus palabras son distintas.
Símbolos de la fuente Código
S1 0
S2 11
S3 00
S4 01
Decodificar la secuencia 0011. El código aun cuando es no singular en su detalla, es singular
considerando de forma más general.
Segunda extensión de un código bloque
Un código bloque se dice unívocamente decodificable si, y solamente si, su extensión de orden n es no singular para cualquier valor finito de n.
Códigos instantáneos
Se trata de dos códigos unívocamente decodificables. CODIGO A:
Todas sus palabras tienen la misma longitud. Es evidentemente no singular.
CODIGO B: Es univocamente decodificable dado que es no singular. Constituye lo que se llama un código coma (el 0 actúa como
“coma”)
Otro ejemplo de código unívocamente decodificable
Al recibir 01 no podemos asegurar a que símbolo corresponde.
Definición: un código unívocamente decodificable se denomina instantáneo cuando es posible decodificar las palabras de una secuencia sin precisar el conocimiento de los símbolos que las suceden. Por ejemplo los codigos A y B.
Definición de Código Instantáneo Sea Xi = xi1 xi2 … xim una palabra de un
código. Se denomina prefijo de esta palabra a la secuencia de símbolos (xi1 xi2 … xij), donde j ≤ m.
Ejemplo: Describir los prefijos de la palabra código 0111.
La condición necesaria y suficiente para que un código sea instantáneo es que ninguna palabra del código coincida con el prefijo de otra.
Subclases de códigos
Síntesis de un código instantáneo s1 0 s2 10 s3 110 s4 1110 s5 1111
Síntesis de un código instantáneo - 2 s1 00 s2 01 s3 10 s4 110 s5 111
Síntesis de un código instantáneo - 2 s1 00 s2 01 s3 10 s4 110 s5 111
Síntesis de códigos instantáneos Cuanto más cortas son las primeras
palabras más largas tiene que ser las últimas.
Inecuación de Kraft
Consideremos un código instantáneo con un alfabeto fuente: S = {s1, s2, …, sq}
Y un alfabeto código X = {x1, x2, …, xr}. Sean X1, X2, …, Xq las palabras del código y por definición, li la longitud (es decir, el número de símbolos del código) de la palabra Xi. Normalmente es interesante que las longitudes de las palabras del código sean lo más cortas posible. La condición necesaria y suficiente para que exista un código instantáneo con palabras de longitud l1, l2, …, lq viene definida por la inecuación de Kraft
Inecuación de Kraft
Donde r es el número de símbolos diferentes que constituyen el alfabeto código.
En el caso del alfabeto binario, la inecuación de Kraft se transforma en:
∑𝑖=1
𝑞
𝑟 −𝑙 𝑖≤1
∑𝑖=1
𝑏
2−𝑙𝑖≤1
Donde la suma se extiende a todas las palabras del código bloque.
Ejemplo
Tomemos una fuente de información con cuatro símbolos posibles s1, s2, s3 y s4. Calculemos la inecuación de kraft para todos los códigos.
Código A = 1 Código B = 7/8 Código C = 1 Código D = 1 1/8
Observaciones
La inecuación de Kraft no asegura que el código A sea un código instantáneo.
La inecuación condiciona nuevamente las longitudes de las palabras y no las palabras mismas.
La inecuación dice que puede existir un código binario instantáneo con cuatro palabras de longitud 2.
Para el caso del código D se cumple la inecuación de Kraft sin embargo no se cumple dado que la cuarta palabra es prefijo de la tercera.
Ejemplo Deseamos codificar las salidas de una fuente decimal, S = {0, 1, 2,
…, 9}, en un código instantáneo binario. Admitamos además, que existe una razón que aconseja codificar los símbolos 0 y 1 de la fuente decimal en palabras binarias relativamente cortas. Este requisito se presenta realmente en una fuente que emite muchos más 0s y 1s que 2s, 3s, etc.
Calcular la inecuación de Kraft.
Se asigna 0 0 y 1 10
Utilizando la inecuación de Kraft cual es la longitud del resto de códigos?
Demostración de la inecuación de Kraft (1) Supongamos que deseamos formar un código
instantáneo con palabras cuyas longitudes l1, l2,…, lq satisfacen la inecuación de Kraft.
Definamos n1 como el número de palabras de longitud 1; n2 las de longitud 2; etc. Si la más larga de las li es igual a l, tendremos:
(2)
Demostración de la inecuación de Kraft Puede introducirse ni en la expresión (1). La
suma con n1, términos de la forma r-1, n2 de la forma r-2:
(3) Multiplicando por rl: (4) Operando, obtendremos: nl ≤ rl – n1rl-1 – n2rl-2 - …. – nl-1r (a)
Demostración de la inecuación de Kraft nl ≤ rl – n1rl-1 – n2rl-2 - …. – nl-1r (a)
nl--1 ≤ rl-1 – n1rl-2 – n2rl-3 - …. – nl-2r (b) ………………………….. n3 ≤ r2 – n1r2 – n2r (c)
n2 ≤ r2 – n1r (d)
n1 ≤ r (e)
Construcción del código buscado Hemos de formar n1 palabras de longitud 1. Utilizando un alfabeto código de r símbolos, existirán r
palabras posibles. Puesto que n1≤ r pueden elegirse esos n1 símbolos
código arbitrariamente. Quedan entonces r-n1 prefijos de longitud l permitidos,
exactamente aquellos que no han sido sido elegidos al final de cada uno de esos prefijos; pueden formarse hasta:
(r-n1)r = r2 – n1r palabras de longitud 2
Construcción del código buscado Hemos de formar n1 palabras de longitud l. Utilizando un alfabeto código de r símbolos, existirán r
palabras posibles. Puesto que n1≤ r pueden elegirse esos n1 símbolos
código arbitrariamente. Quedan entonces r-n1 prefijos de longitud l permitidos,
exactamente aquellos que no han sido sido elegidos al final de cada uno de esos prefijos; pueden formarse hasta:
(r-n1)r = r2 – n1r palabras de longitud 2 Sin embargo la ecuación (d) asegura que el número de
palabras de longitud 2 no debe exceder de esta cantidad
Construcción del código buscado Como antes seleccionamos arbitrariamente nuestras n2
palabras entre las r2 (n1r posibilidades); quedan entonces:
(r2-n1r)-n2 prefijos de longitud 2 sin utilizar, con los que pueden formarse:
(r2-n1r-n2)r=r3-n1r2-n2r prefijos de longitud 3 La ecuación (c) asegura que este número es suficiente,
y seleccionaremos a continuación las palabras de longitud 3 de entre ellos. Puede continuarse de esta manera hasta formar todas las palabras código.
Inecuación de McMillan
Demuestra que es condición suficiente para códigos unívocamente decodificables.
Ejemplo Se desea codificar una fuente de 10 símbolos en un
código instantáneo trinario, de palabras de longitudes 1, 2, 2, 2, 2, 2, 3, 3, 3, 3. Aplicando la prueba de la inecuación de Kraft, obtenemos?:
No es posible encontrar un código trinario instantáneo con palabras de esas longitudes.
Ejemplo 2 Se desea codificar los símbolos de una fuente de nueve
símbolos en un código instantáneo trinario con palabras de longitudes 1, 2, 2, 2, 2, 2, 3, 3, 3. Esta vez aplicando la prueba se tiene?
Ejemplo 2 Se elige un prefijo de longitud 1 (el 0),
quedando obligados a adoptar uno de los dos restantes prefijos de longitud 1 para las demás palabras. Esto limita a dos veces tres, es decir seis, las palabras permitidas de longitud 2. Se emplean únicamente cinco de ellas conservando la sexta (22) como prefijo de las tres últimas palabras.
top related