17
CAPITULO I SISTEMAS NUMÉRICOS Y CÓDIGOS Un Sistema de numeración es un conjunto de símbolos empleados para representar información numérica. El alfabeto o conjunto de símbolos que disponemos depende de la Base de dicho sistema de numeración. 1.1 SISTEMAS DE NUMERACIÓN DE BASE N. El Sistema Binario: Es el sistema de numeración que utiliza internamente el hardware de las computadoras actuales. Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por lo tanto, es base 2 (Numero de dígitos del sistema) Cada dígito de un número representado en este sistema se denomina BIT (Contracción de Binary Digit). Ejemplo: Suma Binaria. Es semejante a la suma decimal, con la diferencia de que se manejan solo 2 dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda. Las tablas de sumar son: Se observa que no se ha tenido ningún acarreo en las sumas parciales. Sumar 11001 (25) y 10011 (19). 1 1 1 Acarreos 1 1 0 0 1…………..25 1 0 0 1 1…………+19 1 0 1 1 100………. 44

Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Embed Size (px)

Citation preview

Page 1: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

CAPITULO ISISTEMAS NUMÉRICOS Y CÓDIGOS

Un Sistema de numeración es un conjunto de símbolos empleados para representar información numérica. El alfabeto o conjunto de símbolos que disponemos depende de la Base de dicho sistema de numeración.

1.1 SISTEMAS DE NUMERACIÓN DE BASE N.

El Sistema Binario: Es el sistema de numeración que utiliza internamente el hardware de las computadoras actuales. Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por lo tanto, es base 2 (Numero de dígitos del sistema) Cada dígito de un número representado en este sistema se denomina BIT (Contracción de Binary Digit).

Ejemplo: Suma Binaria. Es semejante a la suma decimal, con la diferencia de que se manejan solo 2 dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda. Las tablas de sumar son:

Se observa que no se ha tenido ningún acarreo en las sumas parciales.Sumar 11001 (25) y 10011 (19).

1 1 1 Acarreos1 1 0 0 1…………..251 0 0 1 1…………+191 0 1 1 100………. 44

El Sistema Octal: Es un sistema de numeración cuya base es 8, es decir, utiliza símbolos para la representación de cantidades, estos símbolos son:01234567.

Este sistema también es de los llamados posicionales y la posición de sus cifras se mide con relación a la coma decimal que en caso de no aparecer se supone implícitamente a la derecha del número.

La aritmética en este sistema es similar a la de los sistemas decimal y binario, por lo tanto entraremos en su estilo.

Ejemplo: ¿Qué numero decimal representa el número octal 4 701 utilizando el TFN?

Page 2: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

4*83 + 7*82 +1*80= 2048+ 448+ 0+ 1= 2497.

El Sistema Hexadecimal: Es un sistema posicional de numeración en el que su base es 16, por tanto, utilizará 16 símbolos para la representación de cantidades. Estos símbolos son:0123456789ABCDEFSe le asignan los siguientes valores absolutos a los símbolos A, B, C, D, E, F:

La suma aritmética es similar a las anteriores.Ejemplo:¿Qué número decimal representa el número hexadecimal 2CA utilizando el TNF?1*162+ C*161+ A*160= 1*162+ 12*161+10*160= 512+192+10= 714

1.2 CONVERSIÓN DE NÚMEROS ENTRE BASES DIFERENTES.

Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. Dentro de las conversiones más utilizadas se encuentran:

Conversión de Decimal a Binario: Para la conversión de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas y el segundo es suma de potencias de 2.

Por divisiones sucesivas: Se va dividiendo la cantidad decimal por 2, apuntando los residuos, hasta obtener un cociente cero. El último residuo obtenido es el bit más significativo (MSB) y el primero es el bit menos significativo (LSB).Ejemplo: Convertir el número 15310 a binario.

El resultado en binario de 15310 es 10011001Por sumas de potencias de 2

Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal.

Ejemplo: Convertir el número 15310 a binario.

15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1

15310= 100110012

Figura 1.2.1.Ejemplo de conversión de decimal a

binario

Page 3: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Como se aprecia, si se cuenta con alguna familiaridad con las potencias de 2 este último método es más rápido.

Conversión de Fracciones Decimales a Binario: Para la conversión de fracciones decimales a binario se emplean el siguiente método.

Por suma de potencias de 2: Se emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.

Ejemplo: Convertir el número 0,87510 a binario.

0,87510 = (2-1) + (2-2) + (2-3) = 0,5 + 0,25 + 0,125 = 0,1112

Por multiplicaciones sucesivas: La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El último residuo o parte entera va a constituir el LSB.

Ejemplo: Convertir el número 0,87510 a binario.

Número N N X 2Parte entera

Peso

0,875 1,75 1 MSB

0,75 1,5 1  

0,5 1,00 1 LSB

El resultado en binario de 0,87510 es 0,1112.

Conversión de Decimal a Hexadecimal: En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un cociente de cero. Los residuos forman el número hexadecimal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 186910 a hexadecimal.

Tabla 1.2.1. Ejemplo de Conversión de Decimal a Binario

Figura 1.2.2. Ejemplo de Conversión de decimal a hexadecimal

Page 4: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

El resultado en hexadecimal de 186910 es 74D16.

Conversión de Decimal a Octal: En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Los residuos forman el número octal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 46510 a octal.

Número N N ÷ 8

Parte decimal Parte decimal x 8

Peso

465 58,125 0,125 1 LSB

58 7,25 0,25 2  

0,5 0,875 0,875 7 MSB

El resultado en octal de 46510 es 721.

Conversión de Binario a Decimal: Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor sea 1.

Ejemplo: Convertir el número 11002 a decimal.

11002 = 1x23 + 1x22 = 1210

Conversión de Binario a Hexadecimal: El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 4 bits a su equivalente hexadecimal.

Ejemplo: Convertir el número 10011101010 a hexadecimal.

Conversión de Binario a Octal: El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 3 bits a su equivalente octal.

Ejemplo: Convertir el número 010101012 a octal.

Tabla 1.2.2. Ejemplo de Conversión de Decimal a Hexadecimal.

Page 5: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Conversión de Hexadecimal a Decimal: En el sistema hexadecimal, cada dígito tiene asociado un peso equivalente a una potencia de 16, entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar la suma de los productos.

Ejemplo: Convertir el número 31F16 a decimal.

31F16 = 3x162 + 1x16 + 15 x 160 = 3x256 + 16 + 15 = 768 + 31 = 79910

Conversión de Hexadecimal a Binario: La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes.

Ejemplo: Convertir el número 1F0C16 a binario.

1F0C16 = 11111000011002

Conversión de Octal a Decimal: La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos.

Ejemplo: Convertir 47808 a decimal.

4780 = (4 x 83)+(3x82)+(8x81)+(0x80) = 2048+192+64+0= 2304

Conversión de Octal a Binario: La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes.

Ejemplo: Convertir el número 7158 a binario. 7158 = (111001101)2

1.3 OPERACIONES CON NÚMEROS DE BASE N Y COMPLEMENTOS A N Y N-1.

El complemento a una base [N]r de un número (N)r se define como:

[N]r = rn- (N)r

Donde n es el número de dígitos de (N)r.El número positivo más grande que puede representarse es rn- 1-1, mientras el número negativo más pequeño es - rn- 1.

El complemento a dos es un caso especial del complemento a una base para números binarios y está dado por:

Page 6: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

[N]2 = 2n- (N)2

El complemento a dos es el formato de uso más frecuente para los números con signo en circuitos digitales.

Ejemplo 1: Determine el complemento a dos de (N)2 = (01100101) 2.

[N]2 = 28 - (01100101)2

= (100000000)2 - (01100101)2

= (10011011)2

Ejemplo 2: Determinar el complemento a dos de (N)2 = (11010100)2 y verificar que puede servir para representar - (N)2 demostrando que (N)2 + [N]2 = 0.

[N]2 = 28 - (11010100)2

= (00101100)2

Para verificar que [N]2 representa a - (N)2, sumamos (N)2 + [N]2:

                       

Si descartamos el bit de acarreo, tenemos que (N)2 + [N]2=(00000000)2. Por tanto

podemos utilizar [N]2 para representar -(N)2.

Ejemplo 3: Determinar el complemento a 10 de (N)10 = (40960)10.

[N]10 = 105 - (40960)10

= (59040)10

Obsérvese que se mantienen los cinco dígitos en el resultado.

Se presenta a continuación un algoritmo para hallar [N]r dado (N)r, sin demostración. El

algoritmo dice así: Reemplazamos cada dígito ak de (N)r, por (r- 1) - ak y después

sumamos 1 al resultado.

Page 7: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Ejemplo 4: Halle el complemento a dos de N = (01100101)2.

[N]r = 10011010 + 1 = (10011011)2.

Ejemplo 5: Determine el complemento a base diez de (40960)10.

N = 40960

[N]10 = (59039 + 1)10

[N]10 = (59040)10

Ejemplo 6: Dado (N)2 = (1100101)2 determinar las representaciones de ± (N)2 en el sistema numérico de complemento a dos para n = 8.

+ (N)2 = (0,1100101)2ms.

- (N)2 = [+ (N)2]2

= 28 - (0,1100101)2

= (100000000)2 - (0,1100101)2

= (1,0011011)

1.4 CODIFICACIÓN DIGITAL

La codificación digital consiste en la traducción de los valores de tensión eléctrica analógicos que ya han sido cuantificados (ponderados) al sistema binario, mediante códigos preestablecidos. La señal analógica va a quedar transformada en un tren de impulsos digital (sucesión de ceros y unos).

La codificación es, ante todo, la conversión de un sistema de datos a otro distinto. De ello se desprende que la información resultante es equivalente a la información de origen. Un modo sencillo de entender esto es verlo a través de los idiomas, en el ejemplo siguiente: home = hogar, podemos entender que hemos cambiado una información de un sistema (inglés) a otro sistema (español) y que esencialmente la información sigue siendo la misma.

La razón de la codificación está justificada por las operaciones para las que se necesite realizar con posterioridad. En el ejemplo anterior para hacer entendible a una audiencia hispana un texto redactado en inglés.

Page 8: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

La codificación es el último de los procesos que tiene lugar durante la conversión analógica-digital.

La codificación es el último de los procesos que tiene lugar durante la conversiónanalógica-digital. La codificación consiste en la traducción de los valores de tensión eléctrica analógicos que ya han sido cuantificados (ponderados) al sistema binario, mediante códigos preestablecidos. La señal analógica va a quedar transformada en un tren de impulsos digital (sucesión de ceros y unos). La codificación que se realiza mediante el sistema binario está basada en el algebra de Boole.

CÓDEC

El Códec es el código específico que se utiliza para la codificación/decodificación de los datos. Precisamente, la palabra Códec es una abreviatura de Codificador-Decodificador.

PARÁMETROS QUE DEFINEN EL CÓDEC

1. Número de canales: Indica el tipo de sonido con que se va a tratar: monoaural, binaural o multicanal.2. Frecuencia de muestreo: La frecuencia o tasa de muestreo se refiere a la cantidad de muestras de amplitud tomadas por unidad de tiempo en el proceso de muestreo (uno de los procesos, junto con el de cuantificación y el de codificación, que intervienen en la digitalización de una señal periódica). De acuerdo con el Teorema de muestreo de Nyquist-Shannon, la tasa de muestreo sólo determinará el ancho de banda base de la señal muestreada, es decir, limitará la frecuencia máxima de los componentes sinusoidales que forman una onda periódica (como el sonido, por ejemplo). De acuerdo con este teorema, y siempre desde la perspectiva matemática, una mayor tasa de muestreo para una señal no debe interpretarse como una mayor fidelidad en la reconstrucción de la señal. El proceso de muestreo es reversible, lo que quiere decir que, desde el punto de vista matemático, la reconstrucción se puede realizar en modo exacto (no aproximado).La tasa de muestreo se determina multiplicando por dos el ancho de banda base de la señal a muestrear # Resolución (Número de bits). Determina la precisión con la que se reproduce la señal original. Se suelen utilizar 8, 10, 16 o 24 bits por muestra. Mayor precisión a mayor número de bits.3. Bit ratee: El bit ratee es la velocidad o tasa de transferencia de datos. Su unidad es el bit por segundo (bps).4. Pérdida: Algunos Codex al hacer la compresión eliminan cierta cantidad de Información, por lo que la señal resultante, no es igual a la original (compresión con pérdidas arquitectura).

Page 9: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Codificación del sonido: Utiliza un tipo de batistor inalámbrico específicamente diseñado para la compresión y descompresión de señales de audio: el Códec de audio.

Ejemplos de Códec de audio:

• PAM (Modulación de amplitud de pulsos). La frecuencia de la portadora debe ser al menos mayor que el doble de la frecuencia de la señal moduladora. Realiza unaCuantificación lineal de la amplitud de la señal analógica. Actualmente, la principal aplicación principal de una codificación PAM se encuentra en la transmisión de señales, pues permite el multiplexado (enviar más de una señal por un sólo canal).• PCM (Pulse Codex Modúlate) cuya resolución es de 8 bits (1 byte. Utiliza la modulación PAM como base, pero en lugar de en 8 bits en 7 bits, reservándose el octavo para indicar el signo).

CODIFICACIÓN EN EL ENTORNO DE LA TELEVISIÓN DIGITAL

Durante mucho tiempo se mantuvo un debate en torno a cual de los 2 modelos de codificación existentes debía imponerse:

• Codificación de la señal: compuesta se codifica la señal analógica en función del estándar de televisión que haya en el país donde se está realizando la codificación: NTSC (EEUU), PAL (Europa), SECAM (Francia). No permite la compatibilidad entre los estándares.

• Codificación por componentes: Se digitaliza la señal analógica utilizando su división por componentes: luminancia (Y) y Crominancia (subportadoras de color: R-Y y B-Y). La principal ventaja es que, por primera vez, se pueden mantener la compatibilidad entre estándares. Sólo se requiere un conversor D/A específico para cada estándar, para mantener, también la compatibilidad con los estándares analógicos.El CCIR (Comité Consultivo Internacional de Radio Comunicaciones) emitió en 1982 la norma CCIR 601 de televisión digital por componentes.

Codificación digital unipolar: La codificación unipolar usa una sola polaridad, codificando únicamente uno de los estados binarios, el 1, que toma una polaridad positiva o negativa. El otro estado, normalmente el 0, se representa por 0 voltios, es decir, la línea ociosa.

Codificación digital polar: La codificación polar utiliza dos niveles de voltaje, positivo y negativo.• NRZ (No retorno a cero)• RZ (Retorno a cero)• Bifase (auto sincronizado)

NRZ (No retorno a cero): El nivel de la señal es siempre positivo o negativo. Los dos métodos más utilizados son:

• NRZ-L (Non Return to Zero-L): Un voltaje positivo significa que el bit es un ‘0’, y un voltaje negativo que el bit es un ‘1’.

Page 10: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

• NRZ-I (Non Return to Zero, Invert on ones): En esta codificación el bit ‘1’ se representa con la inversión del nivel de voltaje. Lo que representa el bit ‘1’ es la transición entre un voltaje positivo y un voltaje negativo, o al revés, no los voltajes en sí mismos. Un bit ‘0’ no provoca un cambio de voltaje en la señal. Así pues, el nivel de la señal no solo depende del valor del bit actual, sino también del bit anterior.

RZ (Retorno a cero): Utiliza tres valores: positivo, negativo y cero. Un bit ‘1’ se representa por una transición de positivo a cero y un bit ‘0’ se representa con la transición de negativo a cero, con retorno de voltaje 0 en mitad del intervalo.

Bifase (autosincronizados): En este método, la señal cambia en medio del intervalo del bit, pero no retorno a cero, sino que continúa el resto del intervalo en el polo opuesto. Hay dos tipos de codificación Bifase:• Manchester: Una transición de polaridad de positiva a negativa representa el valor binario ‘0’, y una transición de negativa a positiva representa un ‘1’.• Manchester Diferencial: Necesita dos cambios de señal para representar el bit ‘0’, pero solo ‘1’ para representar el bit ‘1’. Es decir, una transición de polaridad inversa a la del bit previo, para representar el '0' y una transición igual para el '1'.

Codificación digital bipolar: La Codificación Digital Bipolar, utiliza tres valores:

-Positivo -Negativo -Cero

El nivel de voltaje cero se utiliza para representar un bit "cero". Los bits "uno" se codifican como valores positivo y negativo de forma alternada. Si el primer "uno" se codifica con una amplitud positiva, el segundo lo hará con una amplitud negativa, el tercero positiva y así sucesivamente. Siempre se produce una alternancia entre los valores de amplitud para representar los bits "uno", aunque estos bits no sean consecutivos.

Hay 3 tipos de codificación Bipolar:

AMI ("Alternate Mark Inversion") B8ZS (Bipolar 8-Zero Substitution)

Page 11: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

HDB3 (High Density Bipolar 3)

1.5 LA DETECCIÓN Y CORRECCIÓN DE LOS ERRORES EN TRANSMISIÓN DE INFORMACIÓN DIGITAL

Las técnicas de corrección de error son procedimientos utilizados en tratamiento digital de señal para revertir errores detectados durante la transmisión de señales digitales.

ORIGEN DE LOS ERRORES

En toda transmisión digital sobre un canal real los niveles eléctricos de la señal están expuestos a pequeñas variaciones ocasionadas por interferencias, ruido o el incorrecto funcionamiento de alguno de los equipos que componen el canal. La suma de estos factores puede llega a cambiar la interpretación de los bits alterando el significado de la información enviada.En un canal la calidad de este se mide en base a la tasa de error (Bir Error Rate en inglés) que se obtiene como el resultado de medir el número de bit recibidos erróneos entre el total de bit transmitidos.

BER = nº de bit recibidos erróneos/total de bit transmitidos

CORRECCIÓN DE ERRORES

Existen multitud de protocolos de detección y corrección de errores (como los v.42 o MNP en los módems) que establecen un conjunto de normas para sincronizar y ordenar las tramas de datos y definen procedimientos para determinar cuando se ha producido un error y como deben corregirse.

Entre los métodos más usados para corregir errores en transmisiones digitales destacan: Sustitución de símbolos. Retransmisión. Corrección de errores en sentido directo.

SUSTITUCIÓN DE SÍMBOLOS

Se diseñó para utilizarse cuando haya un ser humano en la terminal de recepción. Analiza los datos recibidos y toma decisiones sobre su integridad. En la sustitución de símbolos si se recibe un carácter presuntamente equivocado se sustituye por un carácter que exige al operador que lo vuelva a interpretar.

Page 12: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

Ejemplo: Si el mensaje “documento” tuviera un error en el primer carácter, se sustituye la "c" por "%" y se le muestra al operador el mensaje “% documento”. En este caso por contexto se puede recuperar el contenido de ese carácter y es innecesaria la retransmisión pero si el mensaje fuera “&%,000.00” el operador no puede definir cual es el carácter equivocado y se pide la retransmisión del mensaje.

RETRANSMISIÓN

Cuando no se está operando en tiempo real puede ser útil pedir el reenvío íntegro de las tramas que se presumen erróneas o dañadas. Éste es posiblemente el método más seguro de corrección de errores aunque raramente es el método más eficiente. Es el caso por ejemplo del protocolo ARQ (Automatic Repeat-reQuest) donde el terminal que detecta un error de recepción pide la repetición automática de todo el mensaje.

Si se usan mensajes cortos será menor la probabilidad de que haya una irregularidades en la transmisión pero sin embargo estos requieren mas reconocimientos y cambios de dirección de línea que los mensajes largos. Con los mensajes largos se necesita menos tiempo de cambio de línea, aunque aumenta la probabilidad de que haya un error de transmisión, respecto a los mensajes cortos.

CORRECCIÓN DE ERRORES EN SENTIDO DIRECTO

Conocido también como FEC (forward error correction) y es el único esquema de corrección de errores que detecta y corrige los errores de transmisión en la recepción, sin pedir la retransmisión del mensaje enviado.

En el sistema FEC se agregan bits al mensaje antes de transmitirlo. Uno de los códigos más difundidos para enviar mensajes es el código Hamming. Donde la cantidad de bits en este código depende de la cantidad de bits en el carácter de datos. Como se observe en la siguiente ecuación: 2^n>m+n+1 y 2^n=m+n+1

Donde: n = cantidad de bits de Hamming. m = cantidad de bits en el carácter de datos.

LA DETECCIÓN ELEMENTAL DE LOS ERRORES DE TRANSMISIÓN

Típicos del ruido (inversión, duplicación o pérdida de impulsos), se realiza simplemente comprobando que los impulsos recibidos por el receptor cumplen las reglas de polaridad establecidas por la codificación HDB3.

Los errores se suelen detectar en el caso de que aparezcan los 4 ceros consecutivos que no permite el HDB3 o en el caso de la inserción de un "uno" y que las dos violaciones

Page 13: Sistemas Numéricos y Códigos - Circuitos Logicos Capitulo I

V+ queden con la misma polaridad. Sin embargo existen casos en los cuales hay errores que son imposibles de detectar y que incluso se propagan generando aún más errores.Por ejemplo en la imagen podemos ver una señal HDB3 con errores que no detecta el receptor.