Tema 1 – Representación y comunicación de la información.

Tema 1 – Representación y comunicación de la información.

1. INTRODUCCIÓN.. 2

1.1 Codificación de la información. 2

1.2 Decodificación. 2

2. SISTEMAS DE NUMERACIÓN.. 2

2.1 Sistemas de numeración posicionales. 2

2.2 Sistemas de numeración no posicionales. 2

3. CAMBIOS DE SISTEMAS DE NUMERACIÓN.. 3

3.1 Paso de base b a decimal 3

3.2 Paso de decimal a cualquier base. 3

3.3 Paso de base b a base c. 3

4. EL SISTEMA BINARIO.. 4

5. OPERACIONES EN BINARIO.. 5

5.1 Suma binaria. 5

5.2 Resta binaria. 5

5.3 Multiplicación binaria. 5

5.4 División binaria. 5

5.5 Operaciones lógicas. 6

6. EL SISTEMA OCTAL Y EL SISTEMA HEXADECIMAL. 6

6.1 Sistema octal 6

6.2 Sistema hexadecimal 6

7. CÓDIGOS BINARIOS. 7

7.1 Códigos numéricos. 7

7.2 Códigos alfanuméricos. 11

8. REDUNDANCIA EN LAS CODIFICACIONES BINARIAS. BITS DE CONTROL. 11

9. COMUNICACIÓN DE LA INFORMACIÓN.. 12

9.1 Elementos de un sistema de comunicación digital 13

9.2 Compresión de datos en las comunicaciones. 13

1. INTRODUCCIÓN

· Toda información manejada por ordenadores se representa por 1 y 0.

· 1y 0 à símbolosà 2 niveles de tensión à 2 estados eléctricos.

· Facilitar la construcción y fiabilidad de los circuitos internos del pc.

· Manejaà caracteres (numéricos, alfabéticos, especiales, gráficos)

· Manejaà Saltos de línea en textos, control de comunicación…

1.1 Codificación de la información

· Correspondencia de 1 y 0 con símbolos que usa el PC.

· Arbitraria

Datos utilizados para:

· Representación, transmisiónà se utilizan código ASCII o EBCDIC

· Operaciones aritméticasà se utilizan sistema binario, octal y hexadecimal (facilidad en su transformación al decimal y binario)

1.2 Decodificación

Proceso inverso.

2. SISTEMAS DE NUMERACIÓN

Conjunto de reglas, convenios y símbolos combinados con palabrasà Expresar verbal y gráficamente los números.

2.1 Sistemas de numeración posicionales

· Se contempla el valor relativo de la cifra dentro del número

· Numeración decimal (0,1,2,3,4,5,6,7,8,9)

· No siempre el mismo valor (5 o 50) dependiendo de donde se coloque

· 1er orden Unidades

· 2do orden Decenas

· 3er orden Centenas

· 4to orden Millares

2.2 Sistemas de numeración no posicionales

No se contempla el valor relativo de la cifra dentro del número

Sistema romano (I, V, X, L, C, D, M)

Siempre el mismo valor (VI (5+1) y IV (5-1).

3. CAMBIOS DE SISTEMAS DE NUMERACIÓN

3.1 Paso de base b a decimal

2 métodos (pasar número en cualquier base a decimal)

Ejemplo: 1234₍₅ à a base 10

· Teorema fundamental de la numeración

1234₍₅ =

· Ruffini

3.2 Paso de decimal a cualquier base

Dividir sucesivamente por la base a la que queramos pasar –> hasta obtener cociente<base

Ejemplo: 1234₍₁₀ à pasaremos a base 5

à 1234₍₁₀ = 14414₍₅

3.3 Paso de base b a base c

Combinamos los métodos anteriores à Primero se pasa a base 10 à luego a la base que se quiera conseguir

Ejemplo: 5324₍₇ à 5354₍₅

Pasar base 7 à base 10

Luego pasar base 10 à base 5

4. EL SISTEMA BINARIO

· Se utilizan (1,0) para representar todos los números y son llamados bit.

· Sistema de numeración posicional.

· Bit de mayor valor (izquierda) y bit menor valor (derecha)

Números de 1 cifra (0,1) à 0 y 1 decimales

Números de 2 cifras (00,01,10,11) à 0,1,2,3 decimales

Números de 3 cifras (000,001,010,011,100,101,110,111)à 0,1,2,3,4,5,6,7 decimales

· GRUPOS DE BITS

4 bits à nibble 8 bitsà byte u octeto 16 bitsà media palabra 32 bits à palabra

64 bitsà doble palabra

5. OPERACIONES EN BINARIO

5.1 Suma binaria

A B

A + B

0 0

0 1

1 0

1 1

0

1

1

0

0 y acarreo 1

5.2 Resta binaria

A B

A – B

0 0

0 1

1 0

1 1

0

1

1

0

1 y acarreo 1

5.3 Multiplicación binaria

A B

A * B

0 0

0 1

1 0

1 1

0

0

1

0

5.4 División binaria

A B

A / B

0 0

0 1

1 0

1 1

0

0

1

5.5 Operaciones lógicas

6. EL SISTEMA OCTAL Y EL SISTEMA HEXADECIMAL

6.1 Sistema octal

· Utiliza 8 símbolos (0,1,2,3,4,5,6,7)

Ejemplo: 47₍₈ = 39₍₁₀ = 100111₍₂

47₍₈ = = 39₍₁₀

· No hay necesidad de pasarlo a decimal primero.

6.2 Sistema hexadecimal

· Utiliza 16 símbolos (0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F)

· Misma ventaja. No es necesario pasarlo a decimal.

Ejemplo: 3F1₍₁₆ = 1009₍₁₀ =111111001₍₂

3F1₍₁₆ = 1009₍₁₀

Sin necesidad de pasarlo a decimale.

7. CÓDIGOS BINARIOS

7.1 Códigos numéricos
7.1.1 Códigos BCD (Decimal Codificado en Binario)

· Se utilizan 4 bits para cada cifra

· Por ejemplo: Número 18 à 4 bits para el 1 y 4 bit para el 8

· (Sustracción, multiplicación y división) se pueden llevar a cabo utilizando la suma.

SUMA

Paso 1. Sumar los dos números BCD utilizando las reglas de la suma binaria vistas anteriormente.

Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD válido.

Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits, el resultado no es válido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así los seis estados no válidos y pasar al código 8421. Si se genera un acarreo al sumar 6, éste se suma al grupo de 4 bits siguiente.

Ejemplos:

a)

A B

A + B

0 0

0 1

1 0

1 1

0

1

1

0

b)

RESTA

7.1.2 Otros códigos numéricos
7.1.2.1 Código Gray

· Código no pesado (no ponderado)

· No sirve para cálculo

· Sirve para contadores, decodificadores

Se utiliza la siguiente tabla:

a1 a0

00

01

11

10

a3 a2

00

0000

0001

0011

0010

01

0100

0101

0111

0110

11

1100

1101

1111

1110

10

1000

1001

1011

1010

· Paso de gray a binario

6 gray –> 0 1 0 1

0 1 1 0 à 6 binario

· Paso de binario a gray

10 binarioà 1 + 0 + 1 + 0

1 1 1 1 à 10 gray

7.1.2.2 Codificación biquinaria

· Cada dígito à 7 bits

· 2 bits à 1

· 5 bits à 0

7.1.2.3 Codificación quibinaria

· Cada dígitoà 7 bits

· 2 bits à 1

· 5 bits à 0

7.1.2.4 Código 7 segmentos

· Se utiliza para mostrar datos en pequeñas visualizaciones à calculadoras

· Numéricos (7 segmentos) o alfanuméricos (16 segmentos, matriz 7×5)

· 7,16 o 35 bits.

· Basta con poner el bit que queramos que se encienda a 1.

7.2 Códigos alfanuméricos

· Antes (códigos de 6 bits)à FIELDATA, EBCDIC o X.3 à 64 caracteres à 26 letras mayus à 10 dígitos à 28 especiales.

· Luego (códigos de 7 bits)à ASCII à minúsculas y control de periféricos.

· Hoy (códigos de 8 bits) à EBCDIC y ASCII extendido à letra ñ à acentos àgráficos…

· Muchos idiomas à se crean páginas de código correspondiente a cada uno.

· Utilizar distintos símbolos a la vez à 2 bytes/carácter à UNICODE à 65536 símbolos.

7.2.1 Código BCD de intercambio normalizado

6 bits/carácter à representación de 64 símbolos

7.2.2 Código ASCII

7 bits/carácteràCódigo alfanumérico à 128 elementos à números, mayus, minus y especiales

7.2.3 Código EBCDIC. Código BCD ampliado

8 bits/carácter àRepresentar à númerosà letras mayus y minus à especiales à código alfanumérico

7.2.3.1 Ventajas EBCDIC Y ASCII

· Los caracteres se distinguen fácilmente

· Mayus de las minus à Difieren en 1 bit à fácil cambiarlos

· Caracteres de control fácil de reconocer

8. REDUNDANCIA EN LAS CODIFICACIONES BINARIAS. BITS DE CONTROL

Codificación biquinaria à codificación redundante

Se utilizan 7 bitsà representar 10 números decimales

aunque à combinaciones diferentes.

Rendimiento =

Ejemplo (BCD usa 4 bits para 10 símbolos)

· Método para detectar errores à añadir al código 1 bit de paridad à no se utiliza, pero añade información à se convertirá en código redundante.

· 2 criterios:

Paridad par à número par de unos

Paridad imparà número impar de unos

Solo detectar cambios en uno de sus bits.

· Para errores múltiples:

Bit de paridad verticalà Añadir un bit de paridad vertical por cada grupo de bytes –> no efectivo à mucha información redundante à detecta pero no corrige e.múltiples.

Códigos Hamming à ¿??????????????????

9. COMUNICACIÓN DE LA INFORMACIÓN

· Intercambio de información entre 2 entes.

· 3 elementos:

– Emisor

– Receptor

– Canal de transmisión

· Emisor y receptorà Crear ciertas reglas paraà regular información

· Clasificado en diferentes criterios:

o Según el medio de transmisión

§ Por línea à cable de par trenzado, coaxial, fibra óptica.

§ Por radio à ondas terrestres y ondas vía satélite.

o Según la direccionalidad de la transmisión

§ Simplex: comunicación un solo sentido.

§ Semi-duplex: comunicación ambos sentidos no simultánea.

§ Full-duplex: ambos sentidos y simultánea.

o Según la forma de sincronización

§ Asíncrona à Emisor y receptor se sincronizan cuando se envía un carácter. Emisor debe mandar el inicio y el final.

§ Síncrona à Emisor y receptor continuamente sincronizados.

· 2 alternativas:

o Mandar señal a través de línea independiente.

o Uso de codificación auto sincronizadoà dato incluye señal de temporización.

o Según la naturaleza de la señal

§ Análogos à Valores continuos en el tiempo. Sin saltos bruscos.

§ Digitales à Número finito de valores. 2 valoresà señal digital binaria.

9.1 Elementos de un sistema de comunicación digital

Canal

9.2 Compresión de datos en las comunicaciones

· Hoyà capacidad y velocidad de los pcs aumenta.

· Todavía velocidad baja

o Se crean 2 tipos de algoritmos para comprimir la info:

· Compresores lossless (sin pérdida)

· Compresores lossy (con pérdida) – imágenes y sonido

9.2.1 Compresíon lossless
A) Compresores estadísticos (basados en probabilidades de aparición del mensaje)

§ Necesidad de conocer con anterioridad la frecuencia de repetición.

§ Una primera pasada por el fichero a transmitir.

§ A veces se trabaja sobre bloques à peor eficiencia de compresión.

A.1) Compresores del tipo Huffman o Shannon-fano:

i. Construcción de un árbol

ii. Representa la codificación de los mensajes en la fuente.

iii. Primero recorrido por el fichero

iv. Construye el árbol de mientras

v. Asignación de cadenas de longitud a los mensajes

vi. Mensaje que aparece más veces tendrá codificación más corta.

INCONVENIENTES:

Imposible saber de antemano la frecuencia de aparición de los mensajes.

Necesario la transmisión del árbol de codificación antes del envío de info.

· Para minimizar sobrecarga à

· Envío del árbol comprimido

· Inclusión de técnicas adaptativas (emisor-receptor construyen el árbol mientras se manda el mensaje)

A.2) Compresores aritméticos:

§ Basados en la probabilidad de aparición de un mensaje.

§ En este caso se utiliza un número en coma flotante [0,1]

§ Más decimales à más información contengan los datos a comprimir

§ Muy eficiente, pero à probabilidad de aparición de mensajes deben ser proporcionadas al receptor.

A.3) Compresores predictivos:

· Rápidos y sencillos de programar.

· Aplicables a sistemas tiempo real

· Predicen el siguiente mensaje partiendo del conocimiento anterior

Si se acierta en la predicción à menos bits para la codificación.

Si no à más bits

Sincronización emisor-receptor para pasar entre ellos sus tablas antes.

¿Cómo predicen el mensaje a recibir?

1) Guardar en una matriz (256×256) en la casilla [i,j] el byte que anteriormente siguió a dos entradas consecutivas de los valores de i y j.

2) Se consulta la tabla

3) Si el mensaje está en la tabla se manda à bite a 1 o bite a 0 + mensaje

4) Si no se ha acertado en la predicción se actualiza la tabla en el emisor para acertar la próxima vez.

5) Emisor y receptor obtienen dos tablas idénticas

B) Compresores sustitucionales (basados en diccionarios)

· Construcción de diccionarios a partir de los mensajes enviados

· Se les asigna un índice de identificación.

· Por lo tanto, si el mensaje a emitir está en el diccionario se manda solo el índice ahorrando información.

B.1) Compresión RLE

· Más sencillo y menos eficaz.

· Sustituye el envío de caracteres repetidos por: el carácter y número de repeticiones.

· Utiliza un diccionario de un byte que utiliza para predecir el siguiente carácter.

B.2) Compresores Lempel-Ziv(LZ)

2 familias más importantes de compresores basados en diccionarios (LZ 78 y LZ 77)

Abraham-Lempel y Jakob-Ziv (1977-1978)

LZ78:

· Elaboración dinámica de un diccionario donde se irá almacenando las cadenas aparecidas hasta el momento.

· Se les irá asignando identificadores.

· Si aparece una cadena que ya está en el diccionario se manda su id.

· Receptor debe disponer de la misma tabla que el emisor.

¡PROBLEMA! à Se puede generar un crecimiento infinito de la tabla.

O se vacía o se dejan las cadenas más utilizadas.

LZ77:

· Guardan un registro de caracteres enviados, pero no construyen diccionario.

· Mantienen una “historia (ventana)” de la entrada y un “buffer” de adelantamiento. Estarían construidos por los caracteres anteriores al punto que se está procesando y lo caracteres posteriores respectivamente.

· Cuando se procesa una entrada à se busca atrás en la historia

· Si se encuentra coincidencia se envía à “desplazamiento hacia atrás” y “longitud de coincidencia”

· Si no se encuentra coincidencia se envía la entrada actual.

· PK-ZIP, RAR, ARJ …)

B.3) Compresores híbridos o de dos fases

· Utilizan ambos métodos (diccionarios o estadísticos)

· Compresión más óptima.

· Ejemplos: ARJ o gzip à Utilizan el LZ77 (desplazamiento, longitud) y luego codifican utilizando HUFFMAN.

9.2.2 Compresión Lossy

§ Se utiliza para codificación archivos multimedia.

§ No es tan importante que la info sea exacta a la original, pero si la capacidad

§ de compresión porque se trabajan con ficheros grandes.

§ Todos los compresores necesitan 2 algoritmos (comprimir y descomprimir)

§ La codificación de una película se hace una sola vez y la descomprensión se realiza cada vea que alguien quiera verla.

§ Tipos de compresores lossy:

· Codificación diferencial

Es una técnica con pérdida porque la diferencia entre 2 valores consecutivos es tan grande que no cabe en el lugar destino. Por lo tanto, habrá información perdida. (DPCM differential pulse code modulation)

· Codificación basada en transformadas

Las imágenes contienen información que cambia pixel a pixel.

La ocurrencia de grandes variaciones de intensidad entre pixeles adyacentes es muy pequeña. (DCT discrete cosine transform)

· Cuantización de vectores

– División de la imagen en rectángulos de tamaño fijo.

– Utiliza un libro de códigos creado previamente

– A raíz de las estadísticas de un grupo de imágenes de prueba que son similares a la imagen que se va a comprimir.

– Probabilidad alta de que un bloque almacenado sea parecido (rara vez idéntico) al bloque de la imagen que se está comprimiendo.

– A cada bloque se le asigna un índice.

– De esta manera se buscará en la tabla y si se encuentra se manda su índice.

– Se consigue gran ahorro si unos pocos bloques dominan la imagen.

· Compresión fractal

– Prácticamente igual que la anterior.

– Se aplica transformación geométrica a los bloques del libro de códigos para hacerlos coincidir con el que está siendo evaluado.

– Cada bloque se puede estirar, encoger y rotar

– Más flexibilidad y exactitud

· Técnicas de comprensión de imágenes en movimiento (interframe)

– Caso particular.

– Se basa en la eliminación de la redundancia que se produce por las mínimas diferencias entre imágenes sucesivas.

– Estas técnicas eliminan la redundancia basándose en la información de una imagen previa para obtener la siguiente.

– Todas las técnicas se basan en la estimación del movimiento entre dos imágenes que compara una imagen con la anterior, bloque a bloque.

– Cuando no hay diferencia o es menor al mínimo establecido no hay movimiento.