Teoría

El procesamiento de señales digitales en el mundo actual

El procesamiento de señales digitales en el mundo actual

¿Acaso algún joven, integrante de la nueva generación, será capaz de imaginar el mundo sin computadoras, teléfonos inteligentes, imágenes en alta definición, automóviles con piloto automático o el Internet? Sin duda, la tecnología digital se ha inmiscuido en cada aspecto de la vida cotidiana, como los productos comerciales, el sector salud, el ámbito educativo, aplicaciones gubernamentales, y muchas otras áreas.

Pero, ¿de dónde viene esta tecnología? Si bien los conceptos fundamentales se remontan a varios siglos, alrededor del siglo XVIII, el interés en el tratamiento de señales digitales ha ido creciendo desde los años 50, con la introducción del ordenador. Una de las primeras aplicaciones que dio frutos en el tratamiento de señales digitales fue la exploración geofísica pero, debido a las limitaciones inherentes de los computadores de antaño, el procesamiento en tiempo real era imposible. Por lo tanto, los datos eran almacenados para su posterior análisis, y éstos podían tomar incluso horas para un procesamiento de unos segundos de información.

El enfoque de almacena-primero-procesa-después desde el que se veía el tratamiento de señales digitales cambió en 1965, cuando Cooley y Tukey reportaron un algoritmo eficiente para el procesamiento que prevalece hasta hoy en día: la transformada rápida de Fourier. Como el algoritmo reducía en gran medida la complejidad de los cálculos, el procesamiento de información en tiempo real captó un gran interés por parte de los investigadores.

El otro pilar del tratamiento de señales como se conoce hoy en día yace en la microelectrónica y la Ley de Moore. La ley de Moore, establecida hace más de 30 años, predecía que el número de transistores por unidad de área se duplicaría cada año. Sin embargo, el ritmo de desarrollo actual reporta un incremento cada dieciocho meses. Algunos especulan que la Ley de Moore no se puede mantener por mucho más tiempo debido a desagradables efectos cuánticos inherentes a las dimensiones cada vez más pequeñas de fabricación (ya inferiores a los 21 nanómetros).

El propósito de este ensayo es ofrecer una vista global del procesamiento de señales digitales, iniciando desde el álgebra de Boole utilizada en las computadoras, la electrónica detrás de los circuitos, circuitos digitales complejos, el uso de transformadas para el tratamiento de señales y sus aplicaciones en el área de tratamiento de imágenes.

Álgebra de Boole

A pesar de los grandes avances, los complejos algoritmos, y las miles de investigaciones hechas, el procesamiento digital dentro de una computadora sigue basado en el álgebra de Boole, conformado por dos posibles valores, 0 y 1, y tres simples operaciones: and, or y not. Aunque decir que el procesamiento es por ende simple sería un encantador malentendido.

En 1938, Claude Shannon demostró que el álgebra de Boole servía para describir el comportamiento de un circuito lógico, siendo éste último un sistema conformado de variables booleanas que representan entradas en datos que son procesadas dentro del sistema para producir una salida deseada o realizar una tarea en concreto.

En la tabla 1 se muestran los axiomas del álgebra de Boole, que conforman la base de la electrónica digital. De la tabla 1 se desprenden los teoremas de una, dos y tres variables, que conforman el conjunto de operaciones básicas que todo ingeniero relacionado con sistemas digitales debe conocer.

0 * 0 = 0 1 + 1 = 1
1 * 1 = 1 0 + 0 = 0
0 * 1 = 1 * 0 = 0 1 + 0 = 0 + 1 = 1
0′ = 1 1′ = 0
Tabla 1: Axiomas del álgebra de Boole.

Pero, ¿cómo es que un conjunto de unos y ceros integra o produce una computadora? Eso es tarea de la microelectrónica, tópico cubierto a continuación.

Microelectrónica

La base de la electrónica digital estriba en los componentes denominados compuertas lógicas, las cuales se encargan de realizar las tres operaciones anteriormente mencionadas en el álgebra de Boole: and, or y not. A su vez, las compuertas están constituidas por un conjunto de componentes electrónicos, inventados en los laboratorios Bell en 1948, que actúan como interruptores: los transistores.

Figura 1: Compuertas implementadas con transistores CMOS: AND (izquierda) y NOT (derecha).

Figura 1: Compuertas implementadas con transistores CMOS: AND (izquierda) y NOT (derecha).

Aunque los transistores tienen más usos, sobre todo como amplificador para instrumentación, en el área de sistemas digitales se ignoran las propiedades análogas del dispositivo para funcionar como interruptor: la conmutación entre un estado alto de tensión o un estado bajo de tensión. Los valores que puede tener a la salida, entonces, es 0V o 5V. En lógica digital, el nivel de tensión bajo se interpreta como un cero lógico y el nivel alto de tensión se representa como un uno lógico.

En la figura 1 se muestran las compuertas AND y NOT a nivel transistor, utilizando tecnología metal óxido-semiconductor (mejor conocida como MOS). Estos arreglos de transistores permiten la construcción de circuitos digitales complejos modelados a través de ecuaciones de álgebra de Boole.

La tecnología de implementación de los transistores, es decir, las técnicas y materiales utilizados para la fabricación, ha cambiado con el tiempo para satisfacer las necesidades industriales y comerciales, siendo éstas una mayor densidad de transistores por unidad de área, un menor consumo de potencia, menor costo de fabricación y, más recientemente, un proceso de obtención más simple.

Ahora que se conoce un poco sobre la cuestión electrónica detrás de las compuertas, ¿cómo es que, desde un conjunto de componentes cuyo posible valor es cero o uno, se conforme un disco duro, un microprocesador, un teléfono inteligente?

Circuitos digitales

Así como un arreglo de transistores da lugar a una compuerta lógica, un arreglo de compuertas da lugar a componentes más complejos. En la figura 2 se muestra un sumador de siete bits (lado derecho), conformado por seis sumadores completos compuestos de cinco compuertas (lado izquierdo).

Figura 2: Sumador de siete bits: (a) sumador completo de un bit y (b) conjunto de sumadores.

Figura 2: Sumador de siete bits: (a) sumador completo de un bit y (b) conjunto de sumadores.

De esta forma, uniendo las entradas y salidas de las compuertas, se pueden obtener circuitos que realizan sumas, restas, multiplicaciones, integraciones y demás. Y, alrededor de 1940, John von Neumann introdujo dos conceptos clave para el desarrollo de la unidad central de procesamiento: memoria para almacenar datos o un conjunto de instrucciones y estructuras condicionales.

Para la fabricación de una pequeña memoria RAM de cuatro bytes, por mencionar un ejemplo, se tendría una cantidad de treinta y dos biestables, agrupados de ocho en ocho, con cuatro direcciones (una por cada byte) que permitan el acceso a lectura y escritura.

Ahora que conocemos cómo se van construyendo los sistemas digitales, ¿qué relación guardan con el procesamiento de sistemas digitales y las computadoras?

Programación

En lenguajes de alto nivel, como C++, es común reservar espacio en memoria para una variable, para posteriormente realizar una serie de operaciones o toma de decisiones en base a su valor actual. Toda variable tiene una dirección en memoria, que corresponde a su dirección física en el bloque de memoria RAM. Las operaciones corresponden a instrucciones ejecutadas por la unidad aritmética-lógica y la toma de decisiones se efectúa mediante el uso de multiplexores. Incluso las condiciones más intrincadas se basan en evaluaciones de false-o-verdadero, conectadas en cascada.

El compilador se encarga de traducir el código en lenguaje natural a un lenguaje máquina, conformado de ceros y unos, que, para el microprocesador, se entienden como operaciones a realizar y direcciones sobre las cuales realizar la operación.

Los controladores de dispositivos son también ceros y unos, enviados y recibidos bajo determinadas reglas o protocolos. El protocolo más común, aunque ya antiguo, es la transmisión serial. En éste se utiliza una combinación de datos para iniciar una transferencia y otra combinación para terminarla. El teclado utiliza este tipo de comunicación, enviando una señal al microprocesador con el código correspondiente a la tecla presionada para que sea procesada y actuar acorde.

Desde el pulso de una tecla y el movimiento del ratón hasta la visualización de imágenes y video en alta definición, las matemáticas fundamentales subyacentes siguen al álgebra de Boole.

Señales y sistemas en tiempo discreto

Para tratar con la mayoría de los problemas de ingeniería existen modelos matemáticos o aproximaciones que ofrecen respuestas. Estos modelos en tiempo discreto deben cumplir con ciertos criterios para poder ser procesados por un ordenador, siendo el más importante de ellos el ser un sistema lineal invariante en el tiempo. La condición de linealidad se basa en el principio de superposición:

\(T\{ax_1 [n]+bx_2 [n]\}=aT\{x_1 [n]\}+bT\{x_2 [n]\}\)

el cual establece que la transformación de un sistema con dos entradas, \(x_1[n]\) y \(x_2[n]\), se puede descomponer en dos transformaciones de una sola entrada (principio de aditividad) y que las constantes, \(a\) y \(b\), no interfieren en la transformación (principio de homogeneidad o escalado); El otro criterio utilizado es el de invariabilidad en el tiempo, que determina que un sistema sigue teniendo la misma respuesta, aunque retrasada o adelantada. Si se cumple con ambos criterios, la señal de entrada puede ser representada por medio de impulsos:

\(x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]\)

Utilizando el principio de superposición y la representación de la entrada mediante impulsos, se obtiene que:

\(y[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k] \tag{1}\)

Por lo tanto, la salida del sistema consta únicamente de la entrada y la respuesta al impulso del sistema.

Dicho planteamiento se aplica para la mayoría de los sistemas digitales, siendo un claro ejemplo el control, donde se utiliza la función de transferencia para determinar la respuesta del sistema y mejorarla mediante la adición de filtros o manipulación del lazo de retroalimentación.

Procesamiento digital de imágenes

Como se ha mencionado, una imagen en el dominio digital está conformada únicamente por unos y ceros. ¿Cómo se produce el color entonces? Aunque los fundamentos ópticos son profundamente más complejos, se basa en la activación, o no activación, de tres lámparas con los tres colores fundamentales: rojo, verde y azul. Por ejemplo, al encender las tres lámparas simultáneamente se obtiene el color blanco.

La combinación de las tres lámparas, con sus tres señales de activación, produce un píxel o un punto en la imagen. La imagen se puede definir como una matriz o conjunto de pixeles. Desde un enfoque matemático, una imagen se define como una función bidimensional, \(f(x,y)\), donde \(x\) y \(y\) conforman las coordenadas del plano espacial y la amplitud de \(f\) determina la intensidad de la imagen en ese punto.

Existen dos términos más que se deben explorar antes de entrar en el procesamiento digital de imágenes: profundidad del color y resolución de la imagen. La profundidad del color establece la cantidad de bits utilizados para representar un color. Al tener un bit, sólo existiría un color rojo (o tenemos rojo o no tenemos rojo). Al incrementar el número de bits, se incrementa el número de tonalidades que puede tener determinado color. En las computadoras generalmente se utiliza una profundidad de color de dieciséis o veinticuatro bits.

Por otra parte, la resolución, omnipresente en las características de los dispositivos fotográficos, hace referencia al número de pixeles que tiene la imagen. El número de pixeles guarda una relación directa con la cantidad de información que podemos extraer de la imagen. Sin embargo, todo tiene un precio. El espacio necesario para almacenar una imagen, determinado mediante la ecuación 2, crece conforme aumentamos la profundidad y la resolución. Y, al realizar un procesamiento, el tiempo también incrementa debido a una mayor cantidad de datos por analizar.

\(tamano = pixeles_x * pixeles_y * profundidad_{color} \tag{2} \)

Es común encontrar teléfonos celulares con una resolución de 10 megapíxeles, un dispositivo que se encuentra al alcance de la mayoría, un pedazo de tecnología que ahora se da por sentado. Pero el origen de la imagen digital tuvo su origen como mecanismo de transporte, de vuelta por los años 20.

Una de las primeras aplicaciones de la imagen digital surgió en 1920, en la industria de los periódicos, cuando las imágenes eran enviadas por medio de un cable submarino entre Londres y Nueva York. Este sistema de transmisión, denominado Bartlane, reducía el tiempo de envío de una imagen a través del Atlántico de una semana a tres horas.

Los primeros sistemas Bartlane codificaban hasta cinco niveles de gris solamente. Para 1929, la cantidad de tonos se elevó a quince (cuatro bits). Aunque la imagen digital casi cumple un siglo de existencia, fue en la segunda mitad de los años 60 cuando volvió a resurgir como tema de interés debido al surgimiento de computadoras suficientemente poderosas y capaces de almacenar, procesar y mostrar imágenes.

El desarrollo desde entonces se ha llevado a diversos campos: el análisis de imágenes médicas como la tomografía por emisión de positrones e imágenes de rayos X, análisis industrial para búsqueda de defectos y fracturas por medio de imágenes de rayos X, obtención y captura de imágenes satelitales de la Tierra y del espacio, entre otras.

Otras aplicaciones importantes entran en la categoría de procesamiento de alto nivel o visión por computadora. Aunque no necesariamente, la visión por computadora, una rama de la inteligencia artificial, está relacionada con la robótica. En estos casos, el procesamiento en tiempo real es crítico, por ejemplo, al utilizar al robot para propósitos de mapeo y localización simultánea.

Figura 3: Componentes de un sistema de procesamiento de imágenes de propósito general.

Figura 3: Componentes de un sistema de procesamiento de imágenes de propósito general.

Aunque existe hardware especializado para el tratamiento de imágenes, en la figura 3 se muestran los componentes de un sistema de procesamiento de imágenes de propósito general.

El elemento sensor es un dispositivo que se encarga de capturar la energía del objeto de interés y transformarla a un formato digital. Dicha transformación se realiza mediante la conversión de la energía recibida a un voltaje.

El hardware para procesamiento está constituido por hardware para desarrollar operaciones primitivas, como una unidad aritmética-lógica. Este bloque existe debido a que la computadora, de propósito específico, es incapaz de procesar la información recibida a una velocidad adecuada.

La computadora, al estar asistida por hardware para procesamiento, puede ser una simple computadora de escritorio. La gran cualidad de los sistemas de propósito específico es que pueden ser logrados por cualquier persona con acceso a una computadora y un poco de experiencia.

El software va de la mano con una computadora de propósito específico, pues existe una gran cantidad de proyectos, tanto comerciales como de código libre, que permiten el tratamiento de señales digitales. Uno de los programas más conocidos en el ámbito general de la ingeniería es MATLAB, el cual incluye una ingente cantidad de funciones para la manipulación y tratamiento de imágenes, desde la lectura y escritura en disco hasta filtros, convoluciones, y diversas transformadas. Este software es utilizado como plataforma de prueba por muchos investigadores debido a su ciclo de desarrollo rápido de aplicaciones. Otra alternativa, más orientada a la visión por computadora, es la biblioteca de código abierto OpenCV (computer vision).

El almacenamiento masivo es otro componente importante pues, como se expuso anteriormente, es necesario contar con un espacio de 1MB para almacenar una imagen de 1024x1024px con 8 bits para la profundidad de color (según la ecuación 2). Generalmente, se utiliza un conjunto de imágenes para realizar un promedio con el fin de reducir ruido, elevando los costos de almacenamiento.

La pantalla es necesaria dado que, comúnmente, el resultado de las operaciones es requerido para una evaluación posterior. Por ejemplo, el mejoramiento de una imagen médica que permita elaborar un mejor diagnostico o la transmisión de imágenes de un vehículo no tripulado.

Un ejemplo claro de procesamiento de imágenes de propósito general yace en el área de diseño gráfico, donde es común el uso de filtros para eliminar o resaltar información en áreas de interés, modificaciones de brillo, contraste, detección de bordes, adición de color, y otras técnicas que hacen uso extensivo de los fundamentos matemáticos.

¿En qué más interviene el procesamiento de señales?

Compresión y transmisión de señales

El lector, según su experiencia, puede corroborar que el peso de una imagen de 1024x1024px no es, necesariamente, de 1MB como se expone en la ecuación 2. Esto es debido a la forma en la que se almacenan las imágenes. Dentro de todos los formatos conocidos, existe un estándar de compresión Joint Photographic Expert Group (JPEG) publicado por la International Organization for Standarization (ISO). De manera similar, un video está comprimido gracias al estándar conocido como MPEG (Moving Picture Expert Group).

La compresión de datos hace referencia al proceso de reducir la cantidad de datos necesarios para representar determinada información. Datos e información no son sinónimos: los datos son medios por los cuales se transmite información. Existen dos tipos de compresión: compresión sin pérdidas (disminuye la cantidad de datos, se mantiene toda la información) y compresión con pérdidas (disminuye la cantidad de datos, se pierde parte de la información). Un ejemplo de la codificación con pérdidas se encuentra en el formato de audio MP3. Aunque para una persona no exista diferencia perceptible entre una pista de 3MB y otra de la misma longitud pero de 12MB, la pista en MP3 elimina frecuencias inaudibles para el oído humano y realiza ligeras modificaciones a aquellas que entran en el espectro auditivo. Sin embargo, para fines prácticos, el MP3 es un algoritmo con una buena tasa de fidelidad respecto a la compresión obtenida.

Si en la sección anterior se buscaba realzar la calidad de la imagen y obtener más información, ¿por qué es deseable reducir la cantidad de información ahora? En este punto es interesante mencionar que en el área de la ingeniería no existe el término “mejor” sino el “más adecuado”. La compresión generalmente va acompañada de búsqueda de ahorro de espacio, limitantes de espacio en el dispositivo o, regularmente, transmisión de información de un punto a otro.

La dupla de operaciones compresión-transmisión por parte del emisor y recepción-descompresión por parte del receptor están presentes en bastantes interacciones. Un ejemplo claro está presente en la invención y auge de la televisión y radio digital en los últimos años.

Pero el procesamiento de señales digitales no se compone únicamente de procesamiento de imágenes. Ya desde 1960, los sistemas digitales se han estado utilizando para simular sistemas análogos antes de su fabricación.

Simulación y generación de tecnología

Gracias a los modelos y aproximaciones matemáticas existentes para sistemas de control, procesos de manufactura, análisis mecánicos de resistencia, crecimiento de población, comportamiento eléctrico, entre otros, una computadora ha sido el primer medio para observar y comprobar el funcionamiento de nuevos dispositivos.

Es difícil imaginar la concepción de un nuevo producto sin una simulación o fase de prueba previa que corrobore su factibilidad, principalmente en el sector industrial. Paulatinamente se ha convertido en una herramienta de asistencia, con los denominados paquetes CAD, para los investigadores en áreas de eléctrica, química, mecánica, matemáticas, incluso biología y otras áreas.

En algunas áreas, como el desarrollo de sistemas digitales, la computadora se ha convertido en la punta de lanza de la generación tecnológica gracias a los algoritmos de síntesis que permiten obtener un plano de disposición listo para ser fabricado en forma de circuito integrado de propósito específico, como se muestra en la figura 4. Los colores indican las diversas capas y materiales que conforman los transistores, máquinas diseñando nuevas máquinas.

Figura 4: Plano de un ASIC generado por síntesis.

Figura 4: Plano de un ASIC generado por síntesis.

Conclusión

Tras la introducción de las computadoras, los avances en el procesamiento de señales digitales han sido vastos en las diversas áreas del conocimiento. Sin embargo, no se puede evaluar el avance en el procesamiento de señales sin evaluar a su vez el avance tecnológico de la microelectrónica, tan importante para el desarrollo de computadores y dispositivos de mayor capacidad.

La tecnología digital está inherentemente ligada al procesamiento de señales digitales, los teléfonos inteligentes, las redes inalámbricas, la televisión digital, los robots industriales, los vehículos no tripulados, las interfaces cerebro-máquina, todos realizan algún procesamiento de señales, ni siquiera los relojes digitales de pulsera o las tarjetas de regalo con bocina incluida están exentos de tal procesamiento.

Con la Ley de Moore aún vigente, gracias a los investigadores de microelectrónica mejorando la tecnología de transistores que dan vida al mundo digital, se esperan muchas mejoras en las diversas áreas. Como siempre ha sido, la ingeniería tiene como objetivo buscar soluciones a problemas actuales y, como tal, el área médica sigue expandiéndose, dando lugar a una mayor gama de sensores y tratamiento de señales para observar la condición física de una persona.

¿Qué más puede ofrecer el mundo del procesamiento digital? Eso, sin duda, queda en manos de los futuros investigadores.

Bibliografía

  • Oppenheim, Alan y Schafer, Ronald. Tratamiento de señales en tiempo discreto, 3ra edición. España: Pearson, 2009.
  • González, Rafael y Woods, Richard. Digital image processing, 2nd edition. Estados Unidos de América: Prentice Hall, 2002.
  • Dhir, Amit. The Digital Consumer Technology Handbook: A Comprehensive Guide to Devices, Standards, Future Directions, and Programmable Logic Solutions. Estados Unidos: Newnes, 2004.
  • Hwang, Enoch. Digital Logic and Microprocessor Design with VHDL. Canadá: Thomson, 2006.

You Might Also Like

No hay comentarios

Deja tu comentario