Por Jim Withers
Para la mayoría de nosotros, el valor de la tecnología digital es incuestionable. Hasta mi cafetera incluye “programación digital para obtener el máximo sabor”.
La cafetera realmente hace un café genial. Aunque a veces encuentro irónico el encantamiento del público con todo lo digital. Después de todo, somos seres analógicos en un mundo que es principalmente analógico.
La vista, el oído, el tacto y el olfato son sentidos analógicos. Y aun así, no hay duda que lo digital es mucho mejor que lo analógico.
De hecho, en el mundo de las comunicaciones, esto es cierto. ¿Quién desea volver a los viejos tiempos de los discos de 45 RPM y los tocadiscos? A lo largo de los años, las emisoras han convertido el equipo del estudio a digital; últimamente también se ha cambiado el equipo de transmisión.
Aun así, no se puede reemplazar todo ese legado sin esfuerzos y gastos significativos.
Tabla 1
Click To Enlarge
Técnicamente es muy complejo transformar las ondas de sonido en señales eléctricas mediante un micrófono, codificar estas señales analógicas en pulsos digitales, transmitirlos, recuperar la emisión transmitida y, por último, decodificarlas (con corrección de errores) otra vez a señales eléctricas analógicas que estimulan los conos de altavoces y transductores de auriculares en los autos y hogares de los consumidores.
El físico escocés James Clerk Maxwell, desarrollando las ideas propuestas por Michael Faraday, expuso en 1865 que además del sonido, toda la energía eléctrica, magnética y lumínica está compuesta por ondas.
Estas ondas, desde la más larga a la más corta, vibran de forma continua como ondas en un estanque; una después de la otra y otra y otra, etcétera.
Las vibraciones largas, desde aproximadamente 20 ondas (o ciclos) por segundo hasta 20.000 ciclos por segundo, son recibidas por nuestros oídos como sonido. Las propias ondas se conocen como ondas hertzianas, en honor a Heinrich Hertz, el físico alemán que en 1886 validó las propuestas de Maxwell y Faraday al generar ondas en lugar de sólo teorizar sobre su existencia.
Alrededor de 1960, se adoptó el término “Hertz” para describir los “ciclos por segundo” en honor a los esfuerzos de Hertz. De todas maneras, como las ondas se acortan (y se aprietan), se vuelven parte del espectro de frecuencias electromagnéticas.
La idea de “ondas en un estanque” se volvió tan arraigada en el pensamiento diario que los científicos sintieron que las ondas lumínicas, y más tarde las ondas de radio, que viajaban a través del vacío del espacio debían tener alguna sustancia que las ayudara a viajar. Después de todo, las ondas de sonido viajaban del locutor al oyente a través de un medio que es el aire, entonces las de luz y las de radio también necesitarían una sustancia. Para resolver el misterio, postularon la existencia del “éter”.
Esta, explicaron, era una sustancia indetectable y única que existía en todos lados pero con propiedades físicas desconocidas, aparte de facilitar la propagación de las ondas de radio y lumínicas.
Esta teoría fue desacreditada en 1887 por los científicos estadounidenses Albert Michelson y Edward Morley, cuando midieron la velocidad de la luz en la dirección de la rotación de la Tierra y a un ángulo de 90 grados, y descubrieron que la velocidad era idéntica. Una clara indicación de que las ondas lumínicas no son afectadas por nada, ni por el éter.
Aun así, la creencia popular se mantuvo en la mente de la mayoría, incluso hoy en día existen referencias ocasionales a que las ondas de radio se extienden dentro del éter.
Con o sin esta ayuda, la energía a frecuencias sobre los 50.000 Hz (50 kilo Hertz; “kilo” es el prefijo de miles) se vuelve tan energética que los electrones saltan de los cables a los que se aplica la energía para transformarse en ondas de radio. Esto sigue hasta alcanzar los 900.000.000 Hz (900 Mega Hertz, donde “Mega” es el término para millones).
Por sobre esa frecuencia, las ondas se vuelven tan cortas y tan rápidas que se convierten en microondas, siendo más cortas en ondas infrarrojas y por último en ondas lumínicas y, más allá, en rayos X, rayos gamma y así sucesivamente. Este es el mundo analógico en el que vivimos y dentro del cual se construyó nuestra tecnología hasta la aparición de la era digital.
Las señales digitales no se parecen a una onda. Más bien, son simplemente una serie de pulsos presentes o ausentes. Por comodidad, llamamos a estos pulsos “uno” para un pulso presente, o “cero” cuando el pulso está ausente. Los pulsos se pueden enviar lentamente (como en el primer sistema de transmisión digital, el telégrafo) o muy rápido, pero igual siguen siendo pulsos. La magia negra que nos dio los CD y la música para discos duros está en conversión o codificación, de una onda constante de sonido analógico recogida por un micrófono a esos unos y ceros, y la decodificación a una copia exacta de la onda original para que podamos escucharla de la forma en que se produjo originalmente.
(Tenga en cuenta que una copia digital “exacta” de una onda analógica es imposible por razones que quedarán de manifiesto, pero podemos acercarnos tanto que la diferencia es insignificante).
Para entender cómo esta codificación y decodificación (el origen del término “códec”) desde analógica a digital (“A a D”) y viceversa (“D a A”) tiene lugar, necesitamos volver a los inicios de la informática moderna.
La informática digital se inició porque las primeras computadoras analógicas “modernas”, utilizadas para calcular la trayectoria de las miras y artillería en la Segunda Guerra Mundial, no funcionaban bien.
El motivo se llama “repetibilidad” y es una de las ventajas principales de la tecnología digital por sobre la analógica. Para captar por qué la repetibilidad es una ventaja, imagine mil controles, cada uno marcado con una escala de 1 a 100. Al girar el control al máximo sería equivalente a “100” en ese control, y apagarlo sería equivalente a “1”. Ahora imagine intentar configurar independientemente cada control a “50”, una y otra vez.
Podría acercarse a lograrlo, y, tal vez, podría acercarse mucho si tuviera algún tipo de instrumento y buena mano, pero la posibilidad de configurar rápida y confiablemente los 1.000 controles exactamente a “50”, siquiera una vez, mucho menos muchas veces, se vería muy limitada, como mínimo.
Como “acercarse” es una desventaja cuando se trata de lanzar proyectiles, las computadoras analógicas pronto dieron lugar a los dispositivos digitales.
La primeras computadoras digitales prácticas, ENIAC y UNIVAC (acrónimos para Electronic Numerical Integrator and Calculator y Universal Automatic Computer) superaron el problema de la inexactitud analógica al remplazar los controles de entradas analógica variable continuamente con una serie de conmutadores electrónicos.
Estos conmutadores están encendidos o apagados, no existe ambigüedad. Con esos dos estados, son dispositivos digitales binarios. En las ENIAC/UNIVAC los conmutadores eran tubos de vacío que eran encendidos y apagados electrónicamente. La siguiente generación de computadoras usaron transistores y las computadoras actuales usan circuitos integrados. Aun así, podemos considerar que todos estos dispositivos son simples conmutadores de encendido y apagado.
De vuelta en nuestra computadora analógica imaginaria; si usaron conmutadores/tubos de tipo 100 UNIVAC para relacionarse a las 100 posiciones sobre uno de los 1.000 botones de control, podría encender el conmutador número “50” y asegurarse de que una y otra vez, ese podría ser el resultado exacto para ese control. Si quisiera configurar en su lugar los 1.000 controles, terminaría con un enorme número de conmutadores, 100.000 para ser exacto, pero al final alcanzaría repetidamente una constancia absoluta sobre los 1.000 controles.
Antes dije que se pondría de manifiesto por qué era imposible una copia digital exacta de una señal analógica, el panorama anterior explica por qué es verdad.
Encendimos el conmutador número 50 en cada una de las 1.000 vías de control y es lo que queríamos hacer exactamente. Sin embargo, como la señal de entrada analógica varía constantemente, ¿qué sucedería si deseáramos replicar una configuración de control de 50.5? Por supuesto podríamos usar el doble de conmutadores y crear medios puntos del 1 al 100, pero de nuevo tendríamos que replicar 50.25 ó 76.333 o algún otro valor esotérico. En esos casos, necesitaríamos aún más conmutadores.
Fragmentar un número entero en pequeñas cantidades es un ejercicio infinito, por eso es fácil ver que es imposible replicar exactamente una señal analógica con codificación digital. Existe, como dicen los diseñadores informáticos, un límite a la resolución de las conversiones A-D y D-A.
Todo esto nos lleva directamente al siguiente problema en relación a la tecnología digital. En nuestro ejemplo, es fácil ver que incluso una simple computadora con conmutadores diferenciados para cada configuración de control deseada se volvería impráctica rápidamente, como las simples conversiones A/D llevarían miles y miles de millones de conmutadores diferenciados.
No solamente esto haría computadoras de dimensiones impensadas, sino que haría lenta a la computadora más veloz. En lugar de eso, se descubrió una manera de codificar los valores del conmutador para que representen grandes cantidades con un número relativamente pequeño de conmutadores. La solución se llama decimal codificado en binario (también código binario decimal) o su acrónimo BCD.
En los primeros días de la informática digital, incluso esta forma eficiente de calcular no arregló por completo los problemas de los tamaños que se crean cuando se organizan en cascada los cientos de miles de tubos de vacío. La computadora más grande que vi usar estos circuitos de tubos de vacío era un monstruo de IBM creada para la Fuerza Aérea a finales de los años 50. Se llamaba A/N FSQ-7, tenía 50.000 tubos, estaba situada en un galpón del tamaño de un hangar para un Boeing 747 y consumía energía suficiente para iluminar una pequeña ciudad. Hoy en día, el smartphone promedio tiene mayor poder de cálculo que esa computadora.
En cualquier caso, la codificación BCD funciona así: Comienza con un tablero de ajedrez. Para identificar correcta y fácilmente cada cuadro, puede acumular 64 conmutadores, etiquetar cada uno en el cuadro correspondiente y detenerlo. El conmutador 1 correspondería al cuadro 1; el conmutador 2 al cuadro 2 y así sucesivamente. Si, ordena los conmutadores secuencialmente, donde cada conmutador subsiguiente tenía un valor decimal que duplicaba al anterior, aún podía identificar cada cuadro de forma única, en ese caso necesitaría solo seis conmutadores en lugar de 64. Funciona de esta forma:
Conmutador A = valor decimal 1
Conmutador B = valor decimal 2
Conmutador C = valor decimal 4
Conmutador D = valor decimal 8
Conmutador E = valor decimal 16
Conmutador F = valor decimal 32
Recuerde que cada conmutador enumerado arriba representa un “bit” de información y solo puede estar en una de dos posiciones posibles: “encendido” o “apagado”. El conmutador A tiene el valor decimal más bajo de nuestros seis conmutadores, a eso lo llamamos bit menos significativo o LSB. El conmutador F, que tiene un valor decimal de 32, es nuestro bit más significativo o MSB.
La regla para el cálculo es sencilla: Cuando un conmutador está encendido, se cuenta su valor decimal. Cuando está apagado, se ignora el valor. Si todos los conmutadores están apagados, el valor decimal resultante es cero.
Como “todos los conmutadores apagados” es la única condición bajo la cual podemos obtener un conteo cero, somos libres de asignar ese valor al primer cuadro en nuestro tablero de ajedrez.
Encender solo el conmutador A nos da un valor decimal de uno, o en BCD, 000001 (el LSB siempre está representado a la derecha). Esta condición es única, por lo que asignaremos ese valor al segundo cuadro en el tablero.
Podemos continuar encendiendo y apagando conmutadores en combinaciones únicas hasta un conteo de 63, cuando todos los conmutadores estén encendidos como se muestra aquí. Agregar el estado inicial de cero al conteo máximo de 63 nos da 64 combinaciones únicas, que llenan nuestro tablero de ajedrez. La Tabla 1 muestra cada combinación posible de los seis conmutadores.
Se distingue un patrón. Agregué líneas de colores en cada fila las veces en que el conmutador de esa fila cambia de estado. Es fácil ver que cada conmutador oscila entre encendido y apagado a exactamente la mitad de la tasa que el conmutador anterior y por consiguiente dos veces el valor numérico. Este método de cálculo refleja el “Power of Twos”. Para seis conmutadores, se representa matemáticamente como 26 (“dos a la sexta potencia”, lo que significa el número 2 multiplicado por sí mismo seis veces: 2×2×2×2×2×2=64). Las computadoras digitales (las tarjetas de sonido, los procesadores y todo el resto) usan una versión de este método de codificación (cálculo hexadecimal en las PC modernas, pero incluso aunque las especificaciones son levemente diferentes, el ejemplo es válido).
Hasta ahora vamos bien, pero para funcionar, las computadoras necesitan que les digan qué hacer. En el ejemplo de arriba, podemos contar de cero a 63 y puede identificar cualquier cuadro individual en el tablero de ajedrez, pero no tenemos forma de decirle al contador cómo hacer esas cosas, además de voltear manualmente los conmutadores (lo que frustraría el objetivo total, ¿verdad?). Necesitamos un software. Se llama software porque se pueden cambiar sus instrucciones sin tener que cambiar los circuitos reales programados, el hardware, dentro de la computadora.
Además, para que la computadora entienda las instrucciones, debemos aplicar algunas reglas. En lugar de enviar bit tras bit de instrucciones, lo que para la máquina sería como “hacerestoyhacerestoyhacerestoyhaceresto”, los bits se combinan en palabras de computadora llamadas bytes.
El término byte no se acuñó hasta 1956, cuando lo hizo un ingeniero de IBM. Antes de eso, las palabras de computadora se hacían de distintos números de bits; algunas de 4 de largo, otras de 6 y otras de 8. Paulatinamente, el byte se estandarizó a 8 bits y esto ha funcionado bastante bien.
Resulta que se necesitan 101 configuraciones del conmutador diferentes para definir todos los caracteres alfanuméricos en el idioma inglés, que abarca las mayúsculas y minúsculas, los números y la puntuación que se usan en esa lengua típicamente, con varias combinaciones que identifican funciones especiales en un teclado de computadora, (como la tecla “delete”, etcétera). Para asignar un valor BCD único para cada carácter y función, necesitamos al menos un conteo BCD de 101. Justamente por esta razón a los tableros estándar se los llama con frecuencia tableros 101.
Con el método de cálculo BCD, sabemos de nuestro ejemplo que seis bits no es suficiente, ya que solo permite 64 combinaciones únicas. En su lugar, necesitamos un mínimo de 7 bits (2×2×2×2×2×2×2=128) para poder identificar todos los diferentes caracteres, con algunos sobrantes. Este arreglo y la combinación específica de bits para cada carácter fue adoptada como código normalizado estadounidense para el intercambio de información (ASCII, se pronuncia “ásqui”), este término también se usa para describir teclados.
Al agregar un octavo bit (a veces se usa como bit de verificación de errores, llamado bit de “paridad”), obtenemos la “palabra” de computadora estándar de 8 bits. Tenga en cuenta que la “palabra” de computadora no es una palabra en el sentido de letras combinadas para crear palabras en un idioma. En cambio, una palabra de computadora, o byte, es una combinación de bits combinados de cierta forma para definir una cantidad numérica en la computadora.
Si agregamos dos o más conmutadores al arreglo de la página anterior, podríamos generar cualquier carácter alfabético o numérico que queramos. Por ejemplo, el conteo decimal para una minúscula “a” en ASCII es 97. Arreglar los ocho conmutadores en el siguiente orden 01100001 nos conduce ahí. El bit/conmutador LSB a la derecha, con un valor de decimal 1 está encendido, como es el sexto bit, con un valor de 32 y el séptimo bit, con un valor de 64. (1+32+64=97).
Para los lectores que desean profundizar mucho más en todo lo relacionado con el ASCII, (y confirmar que una minúscula “a” está representada como decimal 97), el sitio www.ascii-code.com es un buen lugar para comenzar.
Mientras escribo este artículo en la laptop, estoy enviando bytes únicos de 8 bit al procesador central, el que a su vez le dice a la pantalla que muestre el caracter correcto. Escribí 16.214 caracteres en este artículo (¡pendiente de edición!). La segunda palabra del título, digital, está ahora en la memoria de mi computadora de esta manera:
01000100 01101001 01100111 01101001 01110100 01100001 01101100
Cincuenta y seis bits solo para esa palabra; 129.712 bits para el artículo completo. Parece mucho, pero comparado con el almacenamiento y procesamiento de audio digital, no es suficiente para registrar ni un segundo de audio. En el próximo artículo hablaremos sobre la complejidad de realizar esto.
Jim Withers es propietario de KYRK(FM) en Corpus Christi, Texas, y un colaborador de Radio World. Tiene cuatro décadas de experiencia en ingeniería de transmisión en estaciones de radio y televisión.