viernes, 24 de abril de 2009

No dejo de sorprenderme

Internet es, sin duda para mí, el medio de comunicación más potente que ha desarrollado el hombre. Tal es así, que al contrario que en la vida real, a internet sólo le salen por todas partes "padres" que en muchas ocasiones poco o muy poco tuvieron que ver en su desarrollo. Con tantos padres putativos no cabe duda de que el hijo debe ser guapo.

En realidad quería comenzar diciendo que a pesar de las búsquedas, cruces de datos y la organización permanente de la información que voy encontrando en internet sobre SDR, siempre aparece algo nuevo que me sorprende. Y es que hoy quiero escribir sobre el trabajo de alguien a quien debía haber llegado antes, pero que reconozco que acabo de descubrir: James Ahlstrom (N2ADR).

He tenido acceso a su página y a su artículo en QEX de Mayo/Junio de 2008. Aunque los principios para la transmisión mediante SDR son conocidos, este trabajo supone una excelente introducción práctica a las técnicas empleadas. Lo único que podría criticar, es que el sistema no emplea la "última tecnología". Pero sin duda, expresa con absoluta perfección algumos de los conceptos que se manejan en SDR.

Una de las ideas que se puede extraer de este artículo es que las comunicaciones, especialmente las comunicaciones modernas como internet, permiten la distribución del proceso software en puntos muy separados físicamente. Parte se puede hacer aquí, parte allí, parte en ordenadores distribuidos por el mundo. En este caso, parte del proceso de señal se hace en un ordenador personal, parte en un microcontrolador -comunicándose ambos elementos a través de protocolos IP, y pudiendo estar muy separados físicamente- parte en una FPGA.

Otra de las ideas que se extrae del artículo es el concepto del software como descripción del hardware. La FPGA es también un elemento programable. Por lo tanto, también puede considerarse un elemento software de una SDR. La diferencia es que en su programación no se define una secuencia de operaciones mediante un programa, sino una serie de acciones y un comportamiento que se traducirá en un "hardware". Una FPGA se puede configurar para efectuar operaciones simples a altas velocidades frente a un procesador general que puede efectuar procesos complejos a velocidades menores.

En este ejemplo, la señal que se va a transmitir se genera mediante métodos digitales a una frecuencia baja mediante un procesador -el de un PC- que se especializa en tareas complejas a baja velocidad -de ahí la baja frecuencia de salida-. Una vez se tiene la señal en banda base, la labor de generación de la frecuencia portadora y traslado de frecuencia de la señal (up-conversion) se gestiona adecuadamente mediante una FPGA ya que esta tarea es más simple pero requiere mayor velocidad. La salida digital se pasa a analógica mediante un convertidor D/A -él enlace entre el mundo digital y el analógico-y el resto es circuitería clásica: amplificadores, filtros...

Trabajando sobre el proceso en banda base, es posible añadir nuevas formas de modulación, analógicas o digitales, simplemente desarrollando nuevo software.

Sin duda una gran fuente de inspiración para seguir adelante. El software está disponible para su estudio -incluyendo el código de la FPGA-. Por si fuera poco, James también nos obsequia con un receptor SDR a partir de señales I/Q escrito en lenguaje python por lo que sirve para diferentes sistemas operativos, y otros proyectos y comentarios. Ante tal abundancia de información no sólo podemos decir: Many Thanks James!

No hay comentarios:

Publicar un comentario