lunes, 28 de diciembre de 2009

Gigamuestras por segundo (IV)

Tras el pequeño truco de poner un filtro previo para convertir altas frecuencias con convertidores de velocidades de muestreo inferiores a las frecuencias que se desean procesar (tratamiento como alias) vamos a avanzar en el problema del muestreo a altísimas velocidades.

Recordemos que hemos visto convertidores que aceptan señales de entrada hasta unos pocos GHz pero cuya tasa de muestreo está limitada a unos cientos de MSPS. Para conseguir el primer objetivo, los circuitos deben tener un retardo de apertura muy pequeño en el circuito de entrada, mientras que para el segundo objetivo se precisan ciertos "trucos" para procesar la señal por etapas.

Esta es la idea principal: "divide y vencerás". Un convertidor A/D rápido se basa en repartir el trabajo en varios circuitos. Un convertidor A/D aún más rápido se puede basar en la misma idea a nivel de circuitos.

Supongamos que con nuestro ya clásico (de esta serie de comentarios) ADS54RF63 deseamos hacer un muestreo a 4 GSPS para tener un ancho de banda de 2 GHz. Como cada convertidor puede llegar a 500 MSPS se precisan cuatro de ellos. Cada uno de ellos muestreará 1/8 de la señal, de forma secuencial, con una separación de 250ps.

(¡250 picosegundos!). Ni que decir tiene que una cosa es contarlo así, y otra llevarlo a cabo. El diseño exige cuidados equivalentes al diseño de sistemas de radio en el entorno de las decenas de GHz. Cualquier desviación en el retardo de los relojes, la entrada de las señales o diferencias entre los circuitos se traducirá en distorsiones muy importantes de la señal. Eso sin contar con el proceso posterior de semejante cantidad de datos. (12bits*4GSPS=48 Gb/s).

Pero la tecnología nunca para. Si hace 10 años alguien hablaba de convertidores de 80 MSPS y 16 bits se pensaba inmediatamente en tecnología espacial, militar y míles de dólares de costo. Hoy se pueden conseguir piezas de manipulación sencilla que cumplen con estas características y que apenas cuestan unas decenas de dólares.

Como complemento a las dos últimas entradas de este tema dejo la referencia del AP3501 de Anapico. Se trata de un mezclador al que se aplica una señal de hasta 35 Ghz y un reloj de muestreo (en la función de oscilador local). La salida se puede muestrear hasta 500 MSPS.

La imagen se ha copiado de la hoja de carcateísiticas del ADS54RF63. Representa la entrada de señal analógica y puede verse cómo se detalla cada uno de los fenómenos que influyen en sus características: Efectos capacitivos e inductivos de los pines, de los hilos que unen los pines con el silicio... fenómenos que cobran importancia singular en las altas frecuencias, y aunque se trate de hacer una SDR, nunca hay que perder de vista que el comienzo de todo sigue siendo ¡analógico!.

martes, 22 de diciembre de 2009

El SDR-IP se hace esperar

El SDR-IP es un receptor de altas prestaciones para la banda de HF (Hasta 34 MHz). Es un nuevo diseño de Pieter (N4IP) que ya nos presentó hace tiempo su SDR-14 y SDR-IQ.

Previsto en primer lugar para la segunda mitad de este año, luego el último trimestre, finalmente ha cambiado su página hoy mismo para indicar que estará disponible en el primer trimestre de 2010.

Su nombre se debe a que dispone de una conexión Ethernet y protocolo IP. Esta conexión 100-BaseT permite pasar datos a mayor velocidad que el USB 1.1 de los equipos anteriores, pudiendo transferir hasta 2 MHz de ancho de banda en tiempo real (64 Mb/s) frente a los 190 KHz de los equipos anteriores.

Pero esta no es la única mejora. Partiendo del mismo concepto de SDR se ha mejorado cada uno de sus detalles.

El convertidor A/D pasa a ser de 16 bits (¡Una ganacia extra de 12 dB! en el rango dinámico) y emplea técnicas de reparto del ruido (dither & randomization. Creo que algún día tendré que hablar de esto). La frecuencia también se ha incrementado levemente.

Apuntándose a las tendencias más habituales en SDR, el DDC (Digital Down Converter) se ha implementado en una FPGA. Esto añade flexibilidad a su configuración. Tal es así, que el factor de diezmado (La relación entre el ancho de banda de entrada y de salida) puede estar entre 40 y 2560 (31,25 KHz a 2 MHz) en saltos de 10. ¡Nada menos que 252 anchos de banda seleccionables! (Por ahora, ya que es una mera cuestión de configuración de la FPGA).

La capacidad de proceso de la FPGA permite cálculos internos de alta precisión y resultados finales sobre 24 bits. Esto mejora el rechazo de frecuencias imagen y el rango dinámico de la señal de salida entre otros parámetros.

Entre otros detalles se ha añadido un puerto serie RS-232 para control de una radio externa, o filtros previos a la conversión (y eso que no le ha dado tiempo a leer mi anterior comentario), atenuadores, control de sincronismo de fase...

Por si fuera poco, el equipo incorpora también un convertidor D/A y una memoria, con lo que es posible grabar una forma de onda y repetirla por una salida. (De momento no se incluye ningún comentario sobre su uso como transmisor, pero parece tenerlo todo preparado).
Un equipo perfecto para el proceso de señales débiles (EME, sondas de espacio lejano...) y la tradicional aplicación de proceso de señales en la búsqueda de emisiones extraterrestres inteligentes. Y gracias a disponer de protocolo IP, totalmente manejable en red, incluso desde Internet sin elementos extra.
Eso sí, habrá que esperar a que pase la crisis para ahorrar los poco más de 2000€ que se piden por el equipo. Quizá se lo pida a los Reyes Magos el año que viene. Este año creo que ya no admiten más pedidos.


Gigamuestras por segundo (III)

Habíamos quedado en la entrada anterior en diferenciar entre "rango de frecuencias" y "ancho de banda" de un SDR. La velocidad de muestreo depende solamente del segundo parámetro.

Recuperemos la referencia al circuito mencionado en la entrada anterior: El TI ADS54RF63. Su velocidad de muestreo es de 550 MSPS, pero su ancho de banda de entrada llega a 2,3 GHz. El ancho de banda máximo (teórico) es la mitad la frecuencia de muestreo (Algo más de 200 MHz).


Podemos, por lo tanto, usarlo para recibir completamente la banda completa de GSM-1800 (1710 a 1785 MHz + 1805 a 1880 MHz. 1880-1710=170 MHz de ancho total) o para la banda de radioaficionados de 23 cm (1240-1300 MHz = 60 MHz de ancho de banda).

El problema que se plantea inmediatamente es cómo se selecciona una u otra. El hecho es que los convertidores A/D no tienen nada para seleccionar. El hecho es que se recibe todo el ancho de banda al mismo tiempo. Lo que ocurre es que resulta imposible tras la conversión saber con precisión a qué frecuencia original corresponde un determinado conjunto de muestras.

Supongamos que se muestrea a 200 MHz con un convertidor con una frecuencia de entrada máxima de 1GHz. Si se introduce una frecuencia de 40 KHz, ésta puede verse fácilmente tras el muestreo, aplicando una FFT como un "bin" (una raya en el espectro) en la posición correspondiente en la escala entre 0 y 100 (200/2) MHz. Pero si en estas mismas condiciones se introducen ciertas frecuencias, aparecerá también tras la FFT el mismo "bin". Estas frecuencias son 160, 240, 360, 440... MHz, y así sucesivamente hasta 1GHz. Estoas frecuencias se denominan "alias", ya que parecen iguales aunque no lo son.

Si en el análisis de espectro veo una señal en 40 MHz, no sé si se corresponde a una señal de 40 MHz, de 160 MHz de 840 MHz... u otra de las posibles. Es más, si tengo una de 40 MHz y otra de 640 MHz aparecerán como una sola que es la suma de las dos y será imposible conocer su origen.

La única forma de superar este problema es el uso de los (poco SDR) filtros previos "anti alias" antes de la conversión A/D. Un filtro "anti-alias" no es más que un filtro que selecciona de todas las posibles frecuencias que un A/D puede convertir en muestras, aquéllas que nos son de interés. Colocando antes del ejemplo anterior, un filtro que sólo deje el paso de las frecuencias entre, pongamos, 410 y 490 MHz, tendremos un receptor para estas frecuencias, ya que cuando veamos en el espectro los 40 MHz podremos saber que corresponden a 440 MHz, ya que el resto de frecuencias "alias" no pueden presentarse por haberse filtrado previamente.

Desde luego, son necesarios filtros de buena calidad, pero aún así se trata en general de circuitos pasivos (cuando no directamente de "fontanería") y no se integra otra circuitería clásica.

Una ventaja del SDR es que puede compensar mediante proceso de cálculo los efectos de distorsión del filtro, lo que aumenta la flexibilidad a la hora de diseñar dicho filtro.

lunes, 7 de diciembre de 2009

Gigamuestras por segundo (II)

Al contrario que Fray Luis de León yo no regreso tras casi dos mese de ausencia por haber estado en prisión. Así que comenzaré con: ·"Decíamos hace un par de meses.." Vuelvo al ataque con la segunda parte de del muestreo de muy alta velocidad (se me ha debido de parar el reloj de muestreo). Y espero con ello recuperar el ritmo anterior.

En la primera parte de esta serie hice una pequeña trampa. Es fácil confundir frecuencia con ancho de banda y me he aprovecahdo de ello para escribir de forma un tanto confusa. Cuando hablaba de un receptor de "0 Hz" a "432 MHz" ¿a qué me refería? ¿A un receptor capaz de recibir todo ese ancho de banda simultáneamente o a uno que sólo reciba una parte?. Me explico: Si diseño un receptor de FM ¿Es para recibir todas las emisiones a la vez o para seleccionar una?. Una radio estándar es para recibir una emisión, pero una SDR tiene más posibilidades.

Evidentemente si se diseña un DDC de 0-432 MHz, éste será el rango de recepción, pero el ancho de banda del receptor vendrá determinado solamente por la velocidad de muestreo final tras la salida de los convertidores.

En pura teoría, la velocidad de muestreo debe ser el doble del ancho de banda. Repito: ¡El doble del ancho de banda!, NO de las frecuencias del receptor. Por lo tanto, si se quiere recibir, por ejemplo, la señal en la banda de 430 MHz a 440 MHz solamente es necesario obtener muestras a (440-430)*2=20 MHz (un poco más en la práctica).

La pregunta entonces es clara: ¿Y si sólo quiero recibir 10 KHz de ancho de banda, me basta con un convertidor A/D de algo más de 20 KHz de velocidad de muestreo? ¡Pues sí!. Ahora bien, una cosa es decirlo y otra hacerlo.

Volvamos al post anterior, accedamos a las característics del primer convertidor mencionado: El TI ADS54RF63. Aquí podemos ver que la velocidad de muestreo es de 550 MSPS. Según esto, el ancho de banda máximo que puede adquirir es de 275 MHz. Pero esto no significa que la frecuencia máxima sean 275 MHz. De hecho se se observa la hoja de características tendremos que el ancho de banda de entrada es de 2.3 GHz.

¿Un poco de lío? Es el momento de repasar el concepto de frecuencias "alias" en la teoría de muestreo. Cuando se toman muestras de una señal NO limitada en ancho de banda, las muestras representan TODO el espectro (matemáticamente hasta frecuencia infinita). Ahora bien, si la velocidad de muestreo está limitada, se tienen diferentes trozos del espectro "uno sobre otro" y es imposible distinguir a cuál pertenece una determinada señal. De ahí que se acostumbre a emplear un filtro previo denominado precisamente "anti-alias".

Por ejemplo, un muesreo a 20 KHz, permite digitalizar una señal de 8 KHz, pero ¡atención!, la misma señal de 8 KHz puede aparecer si la frecuencia es de 12 KHz, 28 Khz, 32 KHz... y así hasta el infinito (por suerte o por desgracia ningún convertidor llega hasta el infinito).

Por ahora debemos repasar un poco sobre el muestreo. Aunque no es específico de este tema, este documento me parece una introducción simple (pág 9 y siguientes).


viernes, 16 de octubre de 2009

Gigamuestras por segundo (I)

En el grupo "radiodsp" debo agradecer a Josep y a Jose sus esfuerzos por desarrollar un "front-end" de radio, cada uno de ellos con características distintas. El primero, un front end de frecuencias HF, con conversión A/D en las primeras etapas. El segundo, para frecuencias en el rango de cientos de MHz, empleando un QDC modificado sobre el diseño original del SDR1000.

Ya he defendido en diversas ocasionas el concepto SDR como una radio digital "desde el origen", es decir, desde la antena a bits con el menor proceso previo posible.

Los receptores SDR actuales que emplean este principio usan convertidores A/D podebajo de los 100 MHz y con resoluciones de 14 o 16 bits. Dado que la frecuencia de muestreo debe al menos el doble del ancho de banda de la señal, si se quiere concebir un receptor de este tipo para un uso en frecuencias desde "0" MHz hasta "F" MHz, el convertidor A/D debe tener una velocidad de conversión de al menos "2*F" MHz (En la práctica siempre algo más).

Un receptor digital para, pongamos como ejemplo, 432MHz precisará una frecuencia de muestreo próxima al GHz. Pero... ¿Existen convertidores A/D a estas frecuencias?. Bueno, yo suelo emplear un osciloscopio en el que pone: "1Gs" (1000 millones de muestras por segundo). Y es de gama baja.

La tecnología A/D es más compleja que la DAC, así que comenzaré por puscar convertores A/D. He buscado un poco y he encontrado algo: En Texas Instruments el ADS54RF63 de 550MSPS/12 bits. En Analog Devices el AD12401 de 400 MSPS/12 bits. En Linear Technologies el LTC2242-12 de 250 MSPS/12 bit . En National, el ADC083000 de 3 GSPS y 8 bits. En Maxim el MAX108 de 1,5 GSPS y 8 bits. En...

Desde luego los componentes existen, pero algo parece claro: A medida que se aumenta la velocidad disminuye la resolución. La elección adecuada se basa en una solución de compromiso sobre la que ya se trató en una entrada anterior. 8 bits pueden ser suficientes para presentar una señal en un osciloscopio, pero inadecuados para procesar señales con elevado rango dinámico o con nrelaciones señal/ruido débiles.

¿Es entonces la conversión en frecuencia la única forma de tratar SDR con frecuencias elevadas? (al menos mientras mejora la tecnología). ¿A partir de qué frecuencia permite la tecnología actual efectuar una conversión directa?. Creo que todavía me queda algún truco en la chistera. Aunque parezca difícil de ver ahora hay formas de resolver este problema. Pero lo dejaré en suspense por ahora.

Debo decir que todo esto está muy bien soportado en la teoría. En la práctica no resulta tan sencillo de implementar. Como un coche que corra mucho no es sólo cuestión de más vueltas por unidad de tiempo en las rudas. Pero conocer la teoría es un primer paso.

miércoles, 14 de octubre de 2009

SDR... de consumo

Una buena parte de las tecnologías SDR se emplean cada vez más en dispositivos de consumo tales como teléfonos móviles, receptores de TV digital y radio digital.

Pero no resulñta muy común encontrarlas en un receptor AM/FM de bajo costo. Sin embargo, existen. Silicon Labs ofrece diversos componentes de radiofrecuencia entre los cuales algunos emplean técncias SDR.

Un ejemplo ello son los componentes Si4702 y Si4703. Ambos incluyen un mezclador I/Q seguido de un convertidor A/D de dos canales y de un DSP. El mezclador es analógico pero todo el resto del proceso es digital.

El DSP efectúa de forma digital la demodulación FM, la separación de la información de los dos canales estéreo y en el Si4703 la demodulación de la información RDS. Este tipo de circuitos forman parte de algunos dispositivos con receptor de radio FM como accesiorio (MP3, teléfonos móviles...)

La idea es aplicable a otras bandas y modos de modulación y Silicon Labs dispone de circuitos que cubren bandas de onda corta, onda media, onda larga y wheather y modulaciones AM.

Desgraciadamente, el DSP interno no es programable por el usuario final, así que los demoduladores SSB tendrán que esperar. Aunque la información no es muy completa y detallada aquí y aquí se puede uno hacer una idea de la funcionalidad de estos componentes. Un paseo por la página de Silicon Labs es una fuente de abundante información. ¿Será entre este extremo y las soluciones actuales multicomponente donde surgirá la solución "definitiva" sobre SDR?

martes, 6 de octubre de 2009

DDC ¿Lo hago o lo compro hecho?

Tras la decisión de hacer un convertidor de señal SDR basado en tecnología DDC (Digital Down Conversion) lo más habitual será buscar las diferentes soluciones existentes antes de decantarse por una.

Un vistazo a los equipos del mercado y podremos dividir las soluciones en dos tipos: Las que emplean un convertidor prediseñado y las que implementan el convertidor en un circuito programable.

Es más que probable que esa misma pregunta se la planteara Josep (EA3FUZ) cuando decidió lanzarse a esta aventura.

Cuando hace unos días tuve ocasión de charlar animadamente con él de este tema, vi que su decisión establa clara. Se había decantado por un dispositivo integrado: El AFEDRI8201 de Texas Instruments. La ventaja más evidente respecto a una solución FPGA es que no es necesario hacer un programa VHDL para el convertidor.

A los comentarios sobre la existencia de otros dispositivos similares en otros fabricantes me hizo ver que este es el único que contiene el convertidor A/D integrado. De nuevo una ventaja: El circuito final será más sencillo de elaborar.

Para un aficionado, si lo que se desea es experimentar rápidamente, la elección es la más acertada. Se puede disponer de un prototipo rápido y fiable sin necesidad de tener en cuenta factores en el diseño tales como el rutado adecuado de buses de alta velocidad o la mezcla de señales de diferentes niveles y/o tecnologías.

Por otra parte el diseño de una FPGA aunque más complejo, nos daría otras ventajas: La adquisición de conocimiento VHDL, y la disponibilidad de un elemento "a medida" con el que podremos hacer otras funciones de interés, como implementar un convertidor de múltiples canales o funciones auxiliares como una FFT en la propia FPGA.
Pero por ahora creo que vamos por el camino correcto: disponer de un dispositivo que nos entregue muestras I/Q para demodularlas y escucharlas -o verlas- gracias al resto de proceso en el OMAP-L137.

¡Ah! Y gracias a Texas Instruments por las muestras del AFEDRI8201 que nos permiten dar un paso más en el desarrollo de la SDR.

martes, 29 de septiembre de 2009

¿WAV o MP3?

En una entrada anterior -clasificación de señales- indicaba uno de los varios lugares en la WEB de los que se pueden descargar sonidos correspondientes a diferentes formas de modulación. Si nos acercamos a esta página veremos que los sonidos están en formato ".wav".

Este formato, no comprime la información y por lo tanto ocupa más cantidad de memoria que un formato como MP3. Más cantidad de memoria significa más tiempo para la descarga y mayor uso del ancho de banda disponible del servidor. ¿Puede significa esto que KB9UKD, Gary es un despistado y se le ha pasado por alto o puede haber otra explicación?.

Demos una vuelta por la WEB en búsqueda de más, encontramos la página de EA2BAJ, Eduardo, uno de los pioneros del PSK-31, la de WB8NUT, Duffy la de N4SPP, Frank ... todas ellas están en formato WAV ¿Son todos tan despistados?. Sin duda tiene que haber otra explicación.

Pues la hay y además es bastante simple. MP3 es un sistema de compresión destructivo (Al contrario que WinZIP, por ejemplo, que es no desctructivo). La información que sale de un compresor MP3 es diferente que la que entra y no es posible volver atrás porque se ha perdido parte de la información. Si apenas se nota la diferencia es porque la información que se ha perdido es la que resulta difícil o imposible de apreciar mediante el oído.

Pero los modos digitales no están hechos para el oído, sino para un demodulador que precisa la señal íntegra. Por ejemplo, para nuestro oído, dos señales armónicas (Por ejemplo un tono con la nota Do a 784 Hz (quinta octava) y otro con la misma nota dos octavas por encima, es decir 2*2*784=3136 Hz sonará igual independientemente de la fase que haya entre ellas. Si uno de los procesos MP3 altera esta fase el oyente no lo percibirá. Sin embargo si se trata de dos portadoras simultáneas en un sistema multiportadora como el MT63 el resultado será una mayor dificultad en la demodulación de la señal.

Quiero pensar que quienes han recopilado estas señales han tenido en cuenta la posibilidad de que se pasen por un demodulador, y por ello se ha mantenido la señal íntegra.

Si ha hecho pruebas con señales comprimidas y apenas ha visto diferencia es muy posible que su relación señal/ruido sea muy alta. La comparación hay que hacerla con relaciones señal/ruido muy bajas para ver las diferencias. En muchos equipos el punto en el que se toma la señal, y las posibles alteraciones que haya sufrido en el camino influyen en el resultado final. La forma de onda ".WAV" guarda TODAS las muestras obtenidas a la velocidad y resolución establecidas.

miércoles, 23 de septiembre de 2009

SDR y manejo remoto

Hace un par de días, escuchando por la noche en la frecuencia de un repetidor VHF próximo, segí una conversación acerca de las estaciones con control remoto. Cada vez son más los aficionados que debido a diversas circunstancias -ruido urbano, dificultad para colocar las antenas o simple investigación entre otras- se plantean la posibilidad de tener la estación en un punto más o menos alejado de su lugar de residencia habitual y manejarla desde otro punto.

El acceso masivo a la red internet ha hecho que esta idea sea no sólo posible posible sino también asequible para un aficionado medio. En la conversación erscuché una referencia: "Para eso lo que puede ir bien es una FLEX-1500". Inmediatamente me vino a la memoria la estación de EA3OG (Luis del Molino) que tuve ocasión de visitar hace unos meses. También una FLEX-5000 en Villassar de Mar manejada remotamente desde su QTH en el centro de Barcelona.

¿Se trata de una casualidad o es que para esto hay que emplear de forma irremediable una SDR?. Para gestionar remotamente la estación no es necesario que la radio remota sea una SDR. Lo que sí es necesario es que tenga algún medio de control remoto. En una radio SDR, por concepto, prácticamente todas sus funciones están implementadas en software, por lo que resulta fácil intuir que el control a través de software y comunicaciones es una tarea simple. En otras radios no siempre es tan simple aunque pocas cosas son imposibles.

Voy a poner dos ejemplos de equipos NO-SDR y su control remoto: Para el primer ejemplo he elegido una ICOM IC7800, para el segundo un DRAKE TR4.

El primer equipo (ICOM-IC7800) dispone de conexión a ordenador y un conjun to de comandos. El comando remoto ya es posible si se dispone de un medio de comunicación. Una conexión mediante módem o mejor una ADSL es adecuada. Para el audio se deberá habilitar un canal separado. Una línea telefónica o de nuevo una conexión ADSL son adecuados. Ya es posible el control remoto.

El segundo equipo no dispone de conexión a ordenador, ni de procesador adecuado para el control remoto. Además, ¡si es de válvulas! y el ¡VFO es de condensador variable!. Aunque difícil, la solución sigue siendo posible.

La fotografía de hoy presenta un equipo de cirujía remota. Con este equipo un corujano puede operar a paciente situado a decenas o cientos de kilómetros operando sus instrumentos y observando el resultado gracias a la informaciópn que viaja sobre un canal de comunicaciones.

Aunque siempre he considerado a los médicos como personas con poco miedo al riesgo, creo que operar un TR7 es menos arriesgado que hacer una operación. Eso sí, habría que sustituir sus instrumentos de corte por elementos menos agresivos.

La estación no es solamente la radio. Quedan amplificadores, acopladores, selectores de antena, medidores diverso tipo... pero todo lo indicado sigue sirviendo.

Por supuesto, no todo es tan bonito. Existen siempre algunos "efectos secundarios" en este proceso, pero por hoy nos quedaremos con la parte positiva.

El control remoto de una estación no es algo nuevo, pero sí se ha simplifado gracias a la expansión de las comunicaciones y a la integración de las tecnologías digital y SDR en la radio.

martes, 22 de septiembre de 2009

Clasificación de señales

Unas cuantas vueltas al dial de nuestro receptor nos hacen descubrir un mundo de sonidos extraños que contienen información en diferentes formatos. Los oídos entrenados son capaces de distinguir estas modulaciones: "Esto es SSTV, esto RTTY y esto otro CLOVER...". De este modo se puede seleccionar el demodulador adecuado para extraer la información.

Cuando se escucha en determinadas bandas y frecuencias es fácil saber el tipo de emisión asignado a esa banda, y no resulta difícil su identificación. Por ejemplo, el sonido que se escucha en la frecuencia de 13882.5 KHz. corresponde muy probablemente a una emisión FAX de una estación meteorológica (DDK) en Hamburgo.

Cuando no se dispone ni de la habilidad mencionada en el primer párrafo ni de listados actualizados de emisiones, el análisis de señal -que puede hacerse en cualquier ordenador empleando programas más o menos habituales- puede acudir en nuestra ayuda. Una visión del espectro de la señal y de su aspecto en el tiempo también nos permiten deducir el tipo de modulación. Esi sí, con algo más de conocimiento respecto a sus características.

Esta última aproximación es más "formal" que las anteriores, y mucho más precisa al implicar valores reales medidos y no percepciones o suposiciones. Por otra parte, resulta que es la más adecuada (ya que está en forma digital) para ser procesada de forma automática mediante un programa.

Las técnicas de análisis de señal para identificar los detalles de una forma de modulación concreta y facilitar la selección y configuración de demodulador adecuado se basan en el proceso digital de señales. Se denominan técnicas de clasificación de señales.

Estas técncias se pueden emplear en algo más que identificar modulaciones. Por ejemplo, se emplean en la identificación de tipos de sonido -voz hablando, voz cantando, música, tipo de instrumentos en una grabación...-, en trabajos forenses para la identificación de sonidos o en el análisis de un electroencefalograma.

Pero no nos salgamos de nuestro contexto SDR. Un oyente humano puede distinguir una emisión RTTY, pero resultará más difícil distinguir si la diferencia entre las frecuencias empleadas es de 150 o 180 Hz y si la velocidad es de 45 o de 50 Hz. Para un clasificador de señal esta es una tarea simple. En un tiempo muy corto puede extraer estos parámetros con gran precisión.

Podemos imaginar una próxima generación de radios en las que no será necesario seleccionar el modo -salvo para llamadas en transmisión, claro está-. La radio cambiará de modo automáticamente al detectar la señal. Mientras esto sucede, nos vendrá bien un poco de práctica auditiva. Para ello podemos escuchar como suenan diferentes modulaciones en la página de KB9UKD, Gary .

viernes, 18 de septiembre de 2009

La tarjeta Beagle. OMAP-3530.

El tiempo de desarrollo de un sistema con un nivel de complejidad como el de la radio SDR que tengo en mi cabeza requiere una extraordinaria inversión de tiempo y esfuerzos. Por eso me veo en la necesidad de buscar formas que aceleren dicho avance. Una es el estudio y el uso de técnicas que mejoren el rendimiento. Otra es la implicación de más personas en la idea.

Buceando hace poco en internet tras una tarjeta basada en OMAP-L137 de bajo precio que sirviese como base para un desarrollo práctico -tarjeta que por cierto no encontré- me topé con otra tarjeta muy interesante basada en OMAP-3530, y denominada "beagleboard" (lo de beagle es por la raza de perros, no por la península). Aunque tras el análisis decidí no salirme de mi idea inicial de emplear un OMAP-L137, me pareció en producto muy interesante, especialmente por todo lo que ofrece a un precio de ¡$149!.

El OMAP-3530, se parace al OMAP-L137 en que dispone también de dos procesadores de propósito general, un ARM Cortex-A8 a 720 MHz y un DSP de coma fija a 520 MHz, además de otros procesadores especializados, especialmente en gestión de señales vídeo (compresión y descompresión) lo que le hace ideal para dispositivos portátiles de altas prestaciones como el novísimo N900 de Nokia, que también lo integra.

Gracias a esta tarjeta un aficionado puede acceder a estos dispositivos que de otro modo difícilmente podría emplear. Salvo que sea tan hábil como para hacer en casa una soldadura POP de dos encapsulados BGA.

Lo mejor -y a veces lo peor- de encontrar algo nuevo en la red, es que te abre un nuevo mundo -y también te ayuda a distraerte del camino original-. Y claro ¡alguien ya había tenido la misma idea!. Usar esta tarjeta como base para parte de una SDR. El resto de los componentes lo forman un convertidor -upconverter y downconverter- denominado USRP y el software gnuradio de los que no creo haber hablado hasta el momento.

Aunque finalmente veo que, si nadie lo remedia, tendré que preparar una solución similar con el OMAP-L137. Invertí unas cuentas horas, aprendí cosas nuevas... Aunque no haya resuelto el problema que me llevó a esta búsqueda, el viaje ha merecido la pena.

miércoles, 16 de septiembre de 2009

Hay ruidos... y ruidos (III)

En las dos primeras partes de esta serie he intentado explicar la diferencia entre un ruido aleatorio y un ruido "pseudo aleatorio" o al menos previsible en parte.

Además, en la segunda parte he hablado de redundancia para garantizar la llegada de un mensaje. ¿Cuánta información tiene la voz humana?. Mediante sistemas de compresión de voz para transmisión dgital es posible comprimir la voz a tasas de velocidad muy bajas. Por ejemplo, nuestros teléfonos GSM emplean tasas típicas de 9600 bits por segundo (bps), pero teléfonos de satélite pueden llegar a valores tan bajos como 2400 o 1200 bps con merma de la calidad pero manteniendo la comprensión del mensaje. Algunos sistemas militares van aún algo más lejos.

Consideremos una señal de voz recibida con una relación S/N de 12 dB (6dB es un salto en unidades S de un receptor). Es decir, que si por ejemplo se está recibiendo ruido de fondo en nivel S3, cuando hay señal sobre el ruido de S/N=12dB se recibe S5. Quien haya sufrido estas circunstancias sabe que la recepción, aunque no imposible exige concentración para su comprensión.

Empleando el teorema de Shannon podemos calcular la información que es posible transferir en estas circunstancias para un canal de 2500 Hz -típico de SSB- y que es de: 10190 bps. Esta capacidad es comparable a la de una comunicación típica GSM, pero se escucha peor.

La forma de pensar cómo mejorar esta situación, potencialmente mejorable a raíz de los cálculos, no es cómo bajar el nivel de ruido ¡que no se puede!, sino como mejorar el nivel de la voz aprovechando sus características redundantes y nuestra percepción. Aprovechando el concomiento de ciertas características de la voz y nuestra percepción de la misma es posible reforzar la comprensión de la voz por el oyente. Es lo que se llama "speech enhancement" -mejora de voz-, uno de los aspectos del "speech processing" -proceso de voz-.

Veámoslo de otro modo. Tenemos -la media de los hipaspanohablantes castellanos- más posibilidades de comprender lo que dice un buen locutor de radio -Y me viene a la cabeza Matías Prats- de lo que dice un andaluz de la sierra de Córdoba hablando como lo hacen en su pueblo. No se invierte más energía o se transmite más información en un caso que en otro. Simplemente, en el primer caso decimos que está "más claro". Potenciamos -bueno, lo hace nuestro cerebro sin dejarnos intervenir mucho- la redundancia que hay en la información recibida para comprenderla mejor.

Un buen proceso de mejora de voz trata de potenciar las partes que mejoran nuestra comprensión. Lleva de moda un tiempo llevar esto al otro extremo, es decir al punto en el que se genera la señal. El proceso de voz previo a la transmisión es una forma en muchos casos de mejorar la recepción de nuestro mensaje sin aumentar la cantidad de energía empleada.

Al menos de todo esto puede deducir que para su próxima emisión SSB hablar claro, potenciar la prosodia Pero ya lo sabe, si habla claro, mantiene un nivel constante y cuida la prosodia su mensaje llegará mejor aunque el receptor no disponga de un "mejorador de voz" ¿O debiera decir "mejorador de prosodia"?.

miércoles, 9 de septiembre de 2009

Hay ruidos... y ruidos(II)

Todavía no voy a desvelar el misterio panteado en mi entrada anterior "Hay ruidos y ruidos (I)". Antes de resolver el aparente misterio quiero incidir un poco más en el tema del ruido.

Shannon demostró de forma elegante la capacidad de un canal con ruido gaussiano. La ecuación establece una capacidad de información en bits/segundo (unidades de información por segundo). Desgraciadamente Shannon no concluye la forma de conseguir esa capacidad. En cualquier sistema real, esta capacidad está algo o mucho por debajo de este límite.

Lo primero que hay que saber es que la información en bits por segundo no tiene que ver con la velocidad de comunicación en bauds (aunque en algunos modos pueda coincidir o aproximarse mucho, en otros son valores totalmente diferentes). Por ejemplo, es posible comunicar a 400 bauds (bauds es la velocidad en símbolos por segundo) para obtener finalmente valores tan dispersos de información como 20 bits/segundo o 40000 bits/segundo. Intuitivamente, y sin acudir a la ecuación de Shannon, podemos pensar que para el primer caso se podrá hacer con relaciones señal/ruido más bajas que para el segundo.

Para el primer caso, bastará con que la información correspondiente a un bit se distribuya en varios símbolos, mientras que para el segundo un símbolo deberá proporcionar más de un bit. Los sistemas de comprobación (CRC...) y corrección de errores (Hamming, Reed Solomon, Viterbi...) añaden símbolos que NO contienen información pero hacen el mensaje más largo en número de símbolos. Esto permite reducir la probabilidad de error respecto a un mensaje sin codificación en iguales condiciones de relación señal/ruido.

Sistemas como el GPS llevan esto al límite. Para transmitir 50 bits/segundo emplean una velocidad algo superior a 1 Mbaud. Esto permite recibir la señal cuando su nivel de energía es menor que el ruido de fondo presente. Es lo que se denomina espectro expandido.

Todas estas técnicas no están en contra de la teoría establecida por Shannon. Técnicas similares se emplean en comunicaciones del espacio profundo o a nivel de aficionado en comunicaciones EME (rebote lunar). Es como hacerse entender gritando más (mejor relación señal ruido) o hablando más bajo pero mucho más despacio, marcando la pronunciación de cada letra o repitiendo lo mismo varias veces (sistema redundante). En los dos casos se invierte la misma cantidad de energía, en el primero con más potencia en menos tiempo, y en el segundo con menos potencia durante más tiempo. Por lo tanto, el resultado debe ser similar.

Si se pregunta qué tiene que ver esto con la paradoja de la eliminación de ruido en la recepción de voz... ¡lo siento! pero tendrá que seguir esperando. Mientras tanto vaya pensando en el concepto de redundancia. Cuando se repite algo que ya sabemos, no se aporta información.

lunes, 7 de septiembre de 2009

Homenaje al libro

Era una simple cuestión de tiempo. Tras unas decenas de años dedicados al desarrollo de lo que ahora se llaman sistemas "empotrados" y que yo llamaba simplemente sistemas basados en microcontrolador (¡sí! yo trabajé con dispositivos MCS48) ha llegado el momento de dar un gran salto.

A medida que se fue disponiendo de nuevos procesadores con características más avanzadas, la petición de mayores funcionalidades para los diseños era un hecho inevitable. Sin embargo, quizá por los dispositivos que me tocó en suerte desarrollar, nunca tuve necesidad de afrontar diseños que no se puedieran abordar desde el punto de vista de "un solo hombre y desde cero".

Ciertamente, tuve que adoptar algunas estrategias para mejorar mi rendimiento, como el uso de compiladores de lenguaje "C", la modularización del trabajo, el aprovechamiento de lo escrito previamente... pero simpre fue posible mantener la filosofía.

Estos últimos años, mi trabajo me ha separado de la labor pura de desarrollo ¿Será el principio de Peter? pero en mis escasos ratos libres no puedo dejar de pensar en que algún día terminaré esa máquina revolucionaria que me dará la satisfacción del ingeniero (Ver página 173). En algunas entradas previas ya he hecho mención a mis devaneos más recientes en este sentido.

Para ello, he tenido que adaptar mi mentalidad. Parece que no se pueden diseñar máquinas que no tengan pantalla a color táctil con gráficos en movimiento y sonido. El indicador luminos, el zumbador y los interruptores han pasado a la historia.

Así que, tras muchas dudas, decidí que debía dar un gran salto, e informarme a fondo de esa cosa que llaman "embedded linux", que pone de forma inmediata a disposición del desarrollador de "equipos electrónicos basados en microprocesador" el trabajo de decenas de miles de horas de excelentes programadores.

Una cosa es decirlo así, y otra cosa es aplicarlo en la práctica. El comienzo de búsqueda de información, como en muchas ocasiones, comenzó en la red. La red está llena de información, pero extraer la que es realmente de interés y distinguir entre la válida, la regular, la mala e incluso la malintencionada (por cierto muy abundantes éstas dos últimas) es otra cosa.

Como en otras ocasiones he procedido del modo habitual: Leer mucho, extraer información para ir rechazando la inútil o inválida, seguir leyendo más y seguir extrayendo. Hasta que llegué a un punto en el que las numerosísimas dudas se iban resolviendo con lentutud, tras horas de búsqueda y filtraje de información. En ese momento me vino la inspiración. Me acordé de algo que hacía antes de que existiese internet. Buscar libros sobre el tema en una librería. Con lo que ya había aprendido, seguro que sería capaz de apreciar qué libros contienen información útil.
Así lo hice. Una visita a una librería técnica, unas horas de ojeo, y salí de allí con unos cuantos libros.

Ahora invierto más tiempo leyendo y consultando los libros que buscando información en internet y cuando hago esto último la búsqueda es más fácil, dirigiéndose de forma directa a fuentes de mayor fiabilidad.

Poco a poco voy logrando mi propósito de conocer el medio en el que me voy a mover en el próximo futuro. Y he dado el gran salto gracias a los buenos libros. Alguien que leí hace tiempo pero que no recuerdo dijo que escribía libros proque creía que el mejor modo de aprender sobre un tema era escribir un libro sobre él. Debemos agradecer a quienes aún siguen escribiendo con la intención de aprender y transmitirnos lo aprendido.

jueves, 3 de septiembre de 2009

Hay ruidos... y ruidos (I)

Ya estamos de vuelta de vacaciones. Han actuado como un filtro atenuador que ha atenuado el exceso de ruido que tenía en mi cabeza. Pero creo que al mismo tiempo ha reducido de forma similar el nivel de información. Esperemos recuperar la información sin aumentar el ruido.

Y hablando de ruido ¿Hasta qué punto el proceso digital de señales es capaz de eliminar el ruido?. Para ello, en primer lugar debemos aclarar qué es el ruido.

Desde un punto de vista puramente teórico es toda forma de energía que no contine información útil. Desde un punto de vista práctico esta definición también parece aceptable. Si, por ejemplo, estamos escuchando una transmisión en nuestro equipo de onda corta y alguien se pone a transmitir en la misma frecuencia, evidentemente aunque se transmite información, para nuestra recepción es puro y simple ruido. Si estamos en un bar lleno de gente conversando el resto de las conversaciones contienen información pero es ruido en nuestra conversación.
Pero la generada por humanos no es la única fuente de ruido. Tenemos también el propio ruido de los equipos, debido a sus componentes (En los equipos SDR ese ruido se manifiesta debido a la precisión de la conversión A/D y del cálculo posterior), el ruido térmico, el ruido atmosférico en formas muy varidas...
El ruido que NO SE PUEDE ELIMINAR es el ruido aleatorio. Por su propia definición, el ruido aleatorio es imprevisible, y por lo tanto es imposible contrarrestarlo. A esta categoría pertenecen el ruido térmico y parte del ruido atmosférico. Otros ruidos, sin embargo, son más previsibles. Supongamos que es nuestra escucha de una emisión aparece, debido a la "carga" de un transmisor, un tono, o debido a un mal filtraje un zumbido. Estos ruidos son "previsibles" y es posible eliminarlos.
Desde luego, si el ruido está dentro del ancho de banda de nuestra señal, al eliminar el ruido eliminaremos también parte de la señal, pero aún así el resultado es una mejora de la relación S/N (la cantidad de energía con información respecto a la cantidad de energía con ruido) lo que redunda en una mejora de la recepción.
¡Pero yo he visto y escuchado sistemas que mejoran la calidad de la voz eliminando el sonido de "lluvia" de fondo!. ¿No es caso ruido aleatorio?. Pues sí, es ruido aleatorio. Pero no pienso desdecirme de mi afirmación anterior respecto a la imposibilidad de eliminarlo. Seguiremos hablando de ruido y aclararemos esta paradoja.

martes, 28 de julio de 2009

Leif, y el universo Linrad

Si alguna vez le ha picado la curiosidad sobre SDR y ha "gugleado" (nuevo verbo para simplificar la acción expresada por la frase "buscar en google") SDR y otros términos relacionados se habrá topado tanto directamente como a través de numerosas referencias con el indicativo SM5BSZ.

Se trata de Leif Asbrink, un enamorado del CW y las comunicaciones EME además de un verdadero pionero de la SDR para aficionados. Sus primeras pruebas declaradas se remontan a 1995 pasando después por ordenadores personales bajo MSDOS y finalmente Linux en el año 2000.

Su serie de artículos de 2002 y 2003 en QEX bajo el título "Linrad: New possibilities for the Communications Experimenter" es todo uin detallado tratado sobre el tema. A estas alturas ya habrá adivinado que se trata del autor del programa Linrad (a pesar del nombre, también hay una versión reciente para Windows).

El programa Linrad, aunque menos usado que otros debido a su "incomodidad" de uso (la interfase de usuario no es la más moderna que podemos encontrar) es muy potente y supera a muchos otros más modernos, en la precisión y el detalle con el tratamiento de la señal, lo que compensa la curva de aprendizaje.

Si el trabajo en QRSS (CW de muy baja velocidad) o QRPp forma parte de sus actividades la ayuda del proceso digital de una SDR resulta de inestimable valor y el trabajo de Leif una fuente inagotable de ideas.

El uso de su propia tecnología le ha permitido situarse en los primeros lugares (varias veces en el primero) de los concursos EME con una estación modesta dentro de esta especialidad.

Su web está llena de información para quien desee conocer prácticamente todos y cada uno de los detalles referentes a una radio digital. Aunque su web puede resultar un tanto difícil de seguir, merece la pena invertir tiempo en escudriñarla hasta el más mínimo detalle.

Muchos de los que estamos en la tarea de desarrollar una SDR nos hemos inspirado o basado en mayor o menor medida en el trabajo de este simpático sueco barbudo que prácticamente nació con una radio bajo el brazo y así lo reconocemos.

Tack så mycket Leif!

jueves, 23 de julio de 2009

De la importancia de lo analógico.

Aunque este es un tema que ya he tratado en otras ocasiones, debo volver a él tras constatar (en la práctica) su importancia.
Quien haya hecho sus pinitos con la SDR y PC sabe de la importancia que tiene la calidad de la conversión A/D en el proceso. La diferencia de unas tarjetas de audio a otras puede ser la diferencia entre un recepción agradable o una imposible (sin hablar aún de la transmisión).

Avanzando en mis experimentos ha llegado el momento de pasar por el mundo analógico. Ayer, dos conversiones de este tipo debían realizarse: La primera, una conversión D/A mediante el codec del KIT OMAP y la segunda una conversión A/D en mi ordenador portátil. Tras varias simplificaciones, un experimento simple: Generar una portadora en formato I/Q a través de una salida analógica estéreo y analizarla mediante una aplicación PowerSDR a través de una entrada de audio. El resultado: una banda lateral no deseada, a -36 dB de la deseada, y eso ajustando el nivel de salida a un valor "óptimo".

Por si fuera poco, al aumentar el volumen para escuchar la señal, aparecían nuevos espúreos aparentemente debidos al acoplamiento entre la señal de audio de salida y la entrada y un zumbido de 50Hz rayando lo insoportable.

Y ahora... ¡a localizar el problema! ¿Qué parte de la culpa es del convertidor digital a analógico?, ¿Qué parte de la culpa es de la circuitería analógica que sigue? ¿Qué parte de la circuitería analógica y den convertidor analógico a digital? ¿Qué parte del cableado, del acoplamiento de niveles e impedancias? ¿Qué parte...?. Sin duda no es un solo problema sino muchos, y habrá que analizar el problema en cada paso de forma separada.

Como si no estuviese bien aprendida, la lección reaparece: aunque el proceso digital sea repetible, siempre existirán en el diseño elementos analógicos que pueden influir en el resultado final de forma importante. Sólo si te tienen en cuenta todos los detalles del diseño se obtendrá el máximo rendimiento. De otro modo el rendimiento lo fijará el peor de los componentes de la cadena, sea cual sea éste.

Para aclarar algo: Una desviación de amplitud (error de equilibrio) de un 1% entre los dos canales I/Q que se produzca entre la entrada al convertidor D/A y la salida del convertidor A/D (todo el camino analógico) es suficiente para que aparezca el espúreo descrito.

El fonómeno es tan común que prácticamente todas las aplicaciones SDR incluyen algún medio para compensarlo en la medida de lo posible. Pero esta nunca es una buena solución. Es como decir que podemos excedernos con la comida porque existen los antiácidos. ¿Es lo mismo que no haber necesitado el antiácido?.

jueves, 16 de julio de 2009

Los principios básicos

Me encontraba ayer desarrollando un demodulador de banda lateral para el DSP que incorpora el OMAPL137 y decidí documentar el trabajo. Como parte de la documentación quería incluir un esquema del proceso. En lugar de dibujarlo pensé en copiarlo de cualquiera de los muchos documentos en los que se incluye. Sólo era cuestión de encontrar uno que me gustara.

Acudí al disco duro en el que guardo los documentos que tengo en formato electrónico y las referencias a mis libros de papel y busqué todo lo que contuviera "DSP". Muchas referencias, tantas que buena parte de ellas ni recordaba que las tenía. Así que en lugar de dedicarme a lo que me llevó allí, comencé a ojear libros sin buscar nada concreto, solamente viendo el tratamiento que se daba en cada uno de ellos. Después busqué por "SDR" y continué afanado en mi tarea.

Tras invertir un par de horas volví a lo que realmente me ocupaba: la búsqueda del dichoso dibujo. Mi sorpresa fue que en la mayor parte de los libros dedicados a comunicaciones, DSP y SDR no existía tal dibujo. Bueno, me dije, sé donde encontrarlo inmediatamente: En la serie de artículos publicados en QEX en 1998 por KF6DX/7 -Dough Smith- bajo el título "Signals, Samples and Stuff: A DSP Tutorial" (En este enlace hay mucho material relacionado con DSP). Y allí estaba. La calidad era suficiente, pero me dije ¿no habrá uno más moderno? También sabía dónde buscar: En la versión edición 2009 del ARRL Handbook. El capítulo 16 está dedicado a DSP y SDR y seguro que tiene algo. Como incluye el libro en CD seguro que tiene más calidad.

Una de las cosas que resultó evidente es que no tengo tiempo para leer todos los libros y artículos que compro o caen en mis manos. Cual fue mi sorpresa al comprobar que prácticamente todo el capítulo era la serie de artículos que he mencionado antes con pequeñas correcciones en el orden de presentación y algún pequeño añadido.

De vez en cuando se encuentran libros y artículos en lo que el autor refleja claramente los conocimientos que son fundamentales y demuestra una comprensión completa y una elevada capacidad en la presentación de estos conocimientos. Demos las gracias a quines hacen este esfuerzo y en esta ocasión al preclaro Isaac Asimov, quien me introdujo durante mi infancia y juventud en el conocimiento de la ciencia.

lunes, 13 de julio de 2009

¿Cómo funciona un QDC?

El QDC (Quadrature down converter) también llamado a veces "Tayloe Detector o Tayloe Mixer" es una de esas ideas simples que parece que no pueden funcionar debido a lo sencillas que son.

La idea detrás de un QDC es la misma que nay detras de cualquier mezclador analógico: La multiplicación de un señal por otra de frecuencia fija para trasladar la primera.

Desde un punto de vista analógico podemos considerar el QDC un mezclador doble en el que la señal de mezcla con una señal cuadrada en lugar de una sinusoide. La señal cuadrada tiene componentes de frecuencia superior (armónicos). El efecto producido por la presencia de armónicos se reduce de dos formas: Los armónicos son de amplitud inferior a la fundamental y la entrada de señal al QDC se filtra para que no llegue la señal correspondiente. Por ejemplo, si la portadora empleada es de 7 MHz, el primer armónico visible será de 7*3=21 MHz. Así pues, el QDC trasladará a baja frecuencia las señales alrededor de 7MHz, pero también las de 21 MHz. La forma de resolver esto es poner un filtro en la entrada que rechaze los 21 MHz.

Desde un punto de vista digital lo podemos considerar como un muestreo de señal a velocidad de cuatro muestras por portadora. En un ciclo completo, los valores de la portadora para esas cuatro muestras serían:

  • cos(0)=1, cos(pi/2)=0, cos(pi)=-1, cos(3*pi/2)=0
Así pues, nos basta con tomar la primera y la tercera invertida.

Como el convertidor es "en cuadratura" para obtener un formato I/Q, se emplea otra portadora en cuadratura, es decir, obtenida del seno del siguiente modo:

  • sen(0)=0, sen(pi/2)=1, sen(pi)=0, sen(3*pi/2)=1
Analizando el problema desde un punto de vista digital el problema de la señal indeseada no cambia. De hecho, la frecuencia de Nyquist es 2*portadora, y el primer "alias" se sitúa en 3*portadora, es decir, en el tercer armónico.

Así a intervalos regulares, a una velocidad de 4x la frecuencia de portadora se toman cuatro valores del siguiente modo:

  • Primer valor: Se pasa a la salida I [cos(0)=1]. La salida Q no se saca [sen(0)=0]
  • Segundo valor: Se pasa a la salida Q [sen(pi/2)=1]. La salida I no se saca [cos(pi/2)=0]
  • Tercer valor: Se invierte y se pasa a la salida I [cos(pi)=1]. La salida Q no se saca [sen(pi)=0]
  • Cuarto valor: Se invierte y se pasa a la salida Q [sen(3*pi/2)=1]. La salida I no se saca [cos(3*pi/2)=0]
Esto se implementa en la práctica mediante un conmutador analógico que escoge por qué salida (I/Q) saldrá la señal además de si saldrá tal cual o invertida. En la práctica esto plantea algunos problemas pero la teoría es sorprendentemente simple y los dispositivos que se basan es esta teoría también lo son.

A pesar de su simplicidad resulta difícil de ver si no es en forma gráfica. Hay numerosos recursos con gráficos en internet, pero siempre me ha gustado la descripción que se hace en la propia patente de Daniel Richard Tayloe.

jueves, 9 de julio de 2009

PMSDR. Ya está el kit.

Según anuncia la WEB de RF-SYSTEM el KIT del PMSDR estará disponible el próximo 13 de Julio.

PMSDR es una SDR (sólo receptor) basada en tecnología QDC. La diferencia con otros dispositivos similares, tal como la SoftRock 40, es el hecho de disponer de un oscilador local para la recepción de toda la banda de HF.

De hecho, variantes de la SoftRock como la SoftRock XTALL ya incorporaban un oscilador local.

Pero la verdadera novedad está en el hecho de que incorpora una pequeña pantalla LCD sobre la que se presenta el estado del receptor. Esta pantalla se gestiona desde un microcontrolador local. Este microcontrolador local gestiona también los generadores de portadora y podría (no se ha incluido en el kit) conectarse a él un pequeño encoder un otros accesorios para su manipulación local. Lo que sí se incluye es un interfaz USB para el control desde un ordenador.

Por desgracia, "manipulación" no incluye la decodificación de señales, por lo que no puede ser un receptor autónomo completo. De nuevo, el proceso de las señales I/Q, que se entrgan en forma analógica, debe efectuarse tras la conversión en una tarjeta de audio de un ordenador a través de un programa adecuado. El recomendado es WinRad (¡Forza Italia!) pero podría ser cualquier otro capaz de aceptar este formato de señales (cosa que por otra parte hacen casi todos).

Para los más osados, se dispone de toda la documentación necesaria para el montaje, incluyendo el firmware del procesador. Sólo dos limitaciones: El firmware está sólo en código objeto, por lo que no puede alterarse (en teoría sí hay código fuente, pero no he logrado encontrarlo) y no hay planos del circuito impreso, que debe realizarse a partir del esquema y de las fotografías.

En todo caso, bienvenida sea y larga vida a este nuevo trabajo.

miércoles, 8 de julio de 2009

Friedrichshafen

Hace unos días estuve en la HamRadio de Friedichshafen. Uno de mis intereses con esta visita era el de sondear el estado y novedades e impresiones respecto a la tecnología SDR.

Tuve ocasión de asistir a la interesante conferencia pronuncada por DK7XL (Klaus Lohmann) y titulada: "SDR: Proyectos y soluciones comerciales y domésticas". A pesar de que mi alemán se limita a cuatro términos básicos para no pasar hambre ni sed en un restaurante alemán, creo que pude captar la esencia de la presentación. Apoyado por la internacionalización al inglés de los términos técnicos y por las diapositivas de fondo puede extraer información interesante.

Quizá lo que más me interesaba era saber si había algún otro proyecto similar a lo que yo pretendo. Y no vi ninguna novedad a este respecto. Hay novedades hardware, básicamente mejoras de equipos existentes y diferentes implementaciones de convertidores QDC, pero el funcionamiento se sigue basando en el código y aplicaciones ya conocidos para PC.

Hice algunos contactos interesantes para sondear el interés en este proyecto, y para pensar en cómo orientar en el futuro mis actuaciones respecto al mismo, y espero que las conclusiones se vean en breve en algún artículo.

Por cierto, aproveché la feria para adquirir una de mis "radio-fetiche". Aunque muy lejos de la SDR, la AN-PRC6 me animará a seguir trabajando sin perder de vista los orígenes y la historia de la radio. Y me quitará tiempo para la SDR mientras preparo una fuente de alimentación para comprobar su estado de funcionamiento.

miércoles, 17 de junio de 2009

"Front end" portátil para una SDR

Quienes siguen estas notas ya conocen mis esfuerzos por desarrollar una parte de una SDR en formato portátil. Uno aspecto interesante del desarrollo de un sistema de este tipo, aunque no puramente tecnológico, es la forma en la que se ofrecerá el interfaz de usuario.

No es una cuestión menor. Los grandes fabricantes invierten importantes recursos en desarrollar la "ergonomía" de sus productos. Desde mi punto de vista, un producto bien diseñado desde el punto de vista de la ergonomía es aquél que después de desembalarlo puede emplearse -al menos la mayor parte de sus funciones- sin necesidad de recurrir al manual.

Pensando en el uso, he analizado tres líneas de productos electrónicos diseñados para uso portátil, de pequeño tamaño y que ofrecen interfaces de usuario diversos: Teléfonos móviles, consolas portátiles de juegos y navegadores GPS de automóvil. Desde luego que a su vez cada uno de ellos ofrece una gama amplia de dispositivos, con diferentes formas de uso, pero de algo hay que partir.

Sin entrar aún en detalles, se observa una tendencia a la simplificación en los iconos y menus huyendo de dibujos sofisticados. Las pantallas en color de alta resolución y los interfaces táctiles son los más usados -y los más prácticos- para un operador.

El problema de manejar una pantalla táctil con los dedos es el de acertar la pulsación en zonas muy pequeñas de la misma. Por lo tanto, o la pantalla es grande o los iconos lo son, o ambas cosas.

Un producto que lleva tiempo en el mercado, que tiene millones de usuarios y que es de manejo muy simple es el GPS de automóvil. Está diseñado para ser manejado con los dedos, de forma sencilla -en principio para ser compatible con la conducción- y es fácil llegar a las múltiples opciones. Tras manejar varios de ellos me ha parecido el que mejor expresaría el interfaz de usuario para el manejo de una radio.

El equipo que estoy diseñando podría preguntar: ¿qué escuchamos? en lugar ¿dónde vamos? guiando al usuario paso a paso en el resto del proceso. Al fin y al cabo la radio también es un gran viaje.


lunes, 15 de junio de 2009

El "nivel de pureza" de una SDR.

SDR es un término excesivamente generalista. A partir de recibir la información "es una SDR" sabemos que se trata de una radio definida en software. Pero ¿hasta qué punto? ¿Qué partes del circuito son reconfigurables mediante software y cuáles no?

Es claro que, cuanto mayor sea el número de elementos reconfigurables mediante software más "SDR" será la radio.

Actualmente se emplean básicamente dos arquitecturas para la conversión de la señal de antena a señal en banda base. Ya hemos hablado otras veces, y sin duda hablaremos más de ello: Una es la QSD (Quadrature switching detector: detector conmutado en cuadratura), la otra tecnología es la DDC o (Digital Down Conversion: Conversión digital hicia abajo) y sus equivalentes en transmisión QSU (Quadrature switching upconverter) y DUC (Digital Up converter).

La primera es muy simple de realizar en hardware, pero es menos flexible que la segunda. En estos sistemas solamente suele ser configurable (definible) la frecuencia del oscilador local, y ningún otro parámetro. El resto de la circuitería no0 es programable. El ancho de banda base, por ejemplo, está definido por filtros hardware. La conversión A/D y el verdadero proceso digital que define la SDR comienza en banda base.

La segunda, sin embargo, es mucho más flexible en cuanto a su capacidad de reconfiguración. La conversión A/D se hace tan cerca de la antena como sea posible y el resto del proceso es digital. Existen circuitos especializados en esta función, pero lo más habitual es emplear circuitos programables (FPGA). Las ventajas de esta arquitectura y del uso de un circuito programable son muchas: Es posible configurar el equipo para un filtraje diferente en diferentes situaciones, para anchos de banda en banda base diferentes o incluso se pueden integrar varios convertidores en el mismo dispositivo lógico.

A la vista de esto se nos plantea una duda. Un equipo de radio que emplea exclusivamente tecnología DSP en sus últimas etapas a partir o hacia de una señal F.I., como puede ser el ICOM IC-7200 (proceso digital a partir de una FI a 15,625 KHz) ¿puede ser considerado una SDR?. A partir de lo visto si, ya que parte de sus capacidades están definidas en software, independientemente de que ese software funcione sobre un ordenador personal o sobre un procesador dentro del propio equipo.

jueves, 4 de junio de 2009

¿Es "software" el contenido de una FPGA?

La palabra software está íntimamente ligada a la SDR. De hecho es su inicial "S" la que da comienzo al acrónimo "SDR".

En un procesador, el software es el programa que hace que funcione. Un conjunto de instrucciones que se ejecutan secuencialmente y que permiten implementar los algoritmos y secuencias de operaciones para resolver un determinado problema.
Cuando se requiere mucha velocidad y capacidad de cálculo no se emplean procesadores DSP sino que se emplean unos dispositivos llamados FPGA -acrónimo de: Field Programmable Gate Array-. Estos dispositivos no ejecutan programas secuencialmente, sino que son circuitos que se configuran dinámicamente para responder a un determinado comportamiento lógico. Con una FPGA se pueden "sintetizar" diversos circuitos digitales, combinacionales o secuenciales y de diversa complejidad. Es posible incluso construir un procesador a partir del conexionado de sus elementos internos.

Una FPGA de las que se emplean en proceso de señal puede tener unidades de cálculo DSP -multiplicación y acumulación- ya integradas que pueden conectarse entre sí. Se pueden emplear simultáneamente, lo que aumenta su capacidad de cálculo. Preparar el dispositivo para una determinada función es cargarle un código que no contiene una serie de instrucciones para su ejecución una tras otra, sino un "mapa" del modo en que deben conectarse las diferentes unidades que conforman el dispositivo. Cambiando este "mapa" se cambia la funcionalidad.
¿Podemos llamar a esto software?. Si nos atenemos a la definición del diccionario Cambridge's Advanced, creo que sí -aunque sea por los pelos-. Según este diccionario, software es "el conjunto de instrucciones que controlan lo que hace un ordenador". Y al fin y al cabo, la función que realiza una FPGA en una SDR es de cálculo, por lo tanto de ordenador.

Creo que he hecho un poco de trampa y se puede argumentar en contra. Pero es que me conviene que sea que sí. Una SDR es "reconfigurable" en software. Si dispone de una FPGA dispone de un elemento reconfigurable, así que cuando se reconfigure diremos que es mediante software. Por otra parte, y para argumentar en mi favor, para el diseño de FPGA se emplean lenguajes descriptivos -Verilog y VHDL son los más comunes- que se parecen a otros lenguajes de programación más empleados en procesadores DSP.

¡No se hable más!. El contenido de una FPGA es software. Bueno, al menos desde el punto de vista de una SDR.

martes, 2 de junio de 2009

La SDR de Twente ¡más digital que antes!

Ya en otra entrada hice un comentario sobre la SDR controlada remotamente por varios usuarios de la Universidad de Twente.
Pues bien, casi se me pasa comentar que hace unas semanas que el sistema funciona a pleno rendimiento. ¡Espectro simultáneo de 8 bandas!

Si esto es impresionante, desde mi punto de vista lo es más el salto tecnológico. La radio, en lugar de estar basada en un mezclador en cuadratura con entrada de la señal analógica a través de una tarjeta de audio, se basa en un muestreo de alta velocidad y un proceso totalmente digital programado en una FPGA. Si duda la radio es ahora MÁS digital que hasta primeros de Mayo. La fotografía muestra la tarjeta. © Pieter Tjerk de Boer.

Es el estado actual de un excelente trabajo que PA3FWM comenzó en el 2005. Un dato muy interesante: Las 8 bandas se procesan y extraen ¡dentro de un solo dispositivo FPGA!. Ya no se emplea un convertidor en un circuito separado para cada banda. Los 8 convertidores se programan en una FPGA y gracias a disponer del espacio -circuitería- suficiente es posible integrarlos de forma simultánea en su FPGA Spartan XC3s500E, un pequeño "monstruo" con más de 200 patas y entre otros circuitos internos, 20 multiplicadores de 18x18 bits.

¿Y ahora qué?. Pues parece que Pieter está dedicado a poner en marcha un transmisor. Desde luego parece el siguiente paso lógico. Sin duda tendremos en breve nuevas noticias sobre su excelente trabajo.

lunes, 1 de junio de 2009

De la importancia de los algoritmos

Los algoritmos son secuencias ordenadas de operaciones que permiten hallar la solución a un problema. Un problema de solución única puede tener diferentes formas de ser resuelto. Pongamos un ejemplo simple: Multiplicar 99*54. La forma clásica, la que se aprende en la escuela será: Cuatro por nueve... [ ]... total 5346. Sin embargo, multiplicar puede verse como sumar muchas veces. Así pues: 99+99....+99 (54 veces)= 5346. Los dos métodos resuelven el problema por distintos caminos llegado, obviamente, a la misma solución.

Claramente, la primera solución es más rápida, aunque requiere más conocimiento. La misión de un algoritmo de cálculo utilizable en SDR es la de ofrecer un conjunto de pasos que sean fáciles de implementar en un calculador digital. El cálculo requiere tiempo. Y el cálculo requiere energía. Y la velocidad de cálculo está limitada en una máquina.

Con el fin de no desperdiciar la capacidad de cálculo disponible se deben desarrollar estrategias -algoritmos- que permitan obtener el máximo rendimiento de un dispositivo de cálculo. Un algoritmo adecuado permite ahorrar tiempo de proceso, espacio en el silicio que implementa el calculador, energía o varios de ellos de forma simultánea.

Es conocido el uso en SDR del algoritmo FFT. La FFT -Fast Fourier Transform- es un algoritmo que permite efectuar transformadas de Fourier sobre un conjunto de muestras de forma mucho más rápida que empleando directamente las ecuaciones originales de Fourier. Gracias a ello podemos tener en las pantallas de nuestros ordenadores espectros sobre un amplio ancho de banda. Si no fuese gracias a la FFT, las necesidades de cálculo harían la visualización de un espectrograma en nuestros ordenadores actuales algo muy difícil cuando no imposible.

Existen numerosos ejemplos de algoritmos que nos han facilitado máquinas efectivas. No puedo pasar sin mencionar uno de ellos: El algoritmo CORDIC. Este algoritmo permite calcular el valor de una función trigonométrica sin emplear una expansión polinómica. La solución a un polinomio precisa productos. Un multiplicador requiere una circuitería relativamente compleja. El algoritmo CORDIC no precisa productos. Gracias al empleo del algoritmo, un equipo de Hewlett Packard pudo desarrollar la que fue la primera calculadora científica de bolsillo, la HP-35, en 1972. El algoritmo no se había desarrollado hacía demasiado tiempo. Fue en 1959.

Uno de los algoritmos más usados para proceso de señales de alta velocidad en SDR es el filtro CIC. Este filtro es el corazón de un DDC o DUC (Digital Down/Up Converter). Estos filtros remuestrean la señal -obtienen más o menos muestras para representar la misma señal en un ancho de banda diferente- y al tiempo la filtran para que desaparezcan los "alias". El filtro CIC es de arquitectura simple y al igual que el CORDIC se implementa sin emplear multiplicadores. ¡Justo lo que se espera de un algoritmo para SDR!. Este tampoco es demasiado viejo: 1981.

martes, 26 de mayo de 2009

A/D y D/A de N bits, ¿proceso de N bits? (Contra la intuición: 3)

Ya hemos visto en otras ocasiones cómo la resolución efectiva de un convertidor A/D o D/A influye en la calidad del proceso. Aumentar el número de bits de un convertidor sin aumentar su resolución efectiva no mejora en nada la calidad.

Si se tiene una resolución dada en la salida digital del convertidor A/D ¿influirá en la calidad global de una SDR la resolución de los cálculos o no?. Es decir, si un valor de, pongamos, 16 bits se pasa a 32 bits para su proceso en 32 bits en lugar de 16, ¿mejorará el resultado final?. He visto que esta cuestión, que se ha tratado de refilón en alguna de las entradas no ha quedado claro, así que voy a intentar aclararlo definitivamente. Antes de seguir leyendo me gustaría que diese una respuesta.

Y ahora la solución: ¡Por supuesto que sí!. La cuestión no está en mirar si el valor de entrada está sobre 16 bits o 32 o 128. Si el valor procede de un convertidor de 13 bits útiles, en todos los casos será la misma. La cuestión está en los cálculos intermedios. Cada vez que se hace una operación matemática se puede precisar una mayor resolución para guardar el resultado. Si no se guarda así, se deberá comprimir el resultado para alojar el nuevo valor.
Veamos un ejemplo: Si tenemos un mutiplicador que admite dos entradas del 0 al 9 -la tabla de multiplicar de la escuela- su salida puede dar valores de dos dígitos, tal como 8*7=56. La entrada se puede representar en un dígito, pero la salida no.

Por este motivo, los multiplicadores de los procesadores de "coma fija" están diseñados para funcionar con valores entre 1 y -1. Así los resultados están acotados entre (1 y -1) -los paréntesis significan que los valores 1 y -1 no están incluidos-. Siguiendo con el ejemplo anterior podemos admitir entradas con resolución de un dígito entre -0,9 y 0,9. Si este dispositivo hace la multiplicación equivalente a la anterior el resultado será: 0,8*0,7=0,56. El resultado tiene dos dígitos significativos. Si queremos guardarlo en la misma resolución que la entrada -un dígito- guardaremos 0,5 o 0,6 con la consiguiente pérdida de precisión en los cálculos que sigan.

Los procesadores de coma fija de 16 bits suelen mantener resultados intermedios de los cálculos de 40 bits para mantener la precisión. Pero cuando se requiere este resultado para nuevos cálculos, se reduce de nuevo la precisión a 16 bits de modo que pueda procesarse adecuadamente. Los de 32 bits suelen tener 80 bits para resultados intermedios. Los procesadores de coma flotante obtienen resultados de operación en el mismo formato que los operandos, y no tienen porqué estar sujetos a valores entre -1 y 1.

lunes, 25 de mayo de 2009

El viaje de la información digital

Al igual que la señal viaja entre diferentes circuitos que la procesan en una radio clásica, encadenando la salida de uno con la entrada de otro, en una SDR la información debe viajar también entre los diferentes procesos que la forman. A veces, este viaje es simplemente "lógico" o virtual. El resultado de un proceso pasa al siguiente en forma de secuencia de programa o un proceso software deja información en memoria para que otro proceso en el mismo procesador la tome como entrada.

El proceso de señal puede estar repartido en varios procesadores distintos, con lo que debe viajar entre ellos. Estos procesadores pueden estar en un mismo componente, ser componentes distintos que comparten una placa de circuito impreso, estar en diferentes tarjetas o en diferentes módulos...

¿Hasta dónde se pueden separar los diferentes elementos?. En una radio analógica, no demasiado. Sabemos que la señal eléctrica se degrada cada vez que recorre una distancia a través de un medio. Cualquier tipo de línea de transmisión que se emplee -cable, fibra...- somete a la señal a pérdidas y distorsiones importantes. En una SDR este problema no existe ya que lo único que se transmite es información en forma digital. Así, parte del proceso se puede hacer en la misma base de la antena, parte al final del cable de antena y parte en un ordenador situado a cientos de kilómetros de distancia. La degradación de la señal ya no existe. Aparece en cambio un problema relacionado con el tiempo de respuesta, debido al tiempo necesario para que la señal viaje y se procese en todos los elementos de la cadena.

Hay que tener en cuenta un aspecto fundamental: La cantidad de información. La cantidad de información puede llegar a ser tal que puede hacer necesarios canales de comunicación muy costosos o poco prácticos. Un ejemplo podría ser un convertidor A/D de 16 bits a 80000000 muestras/segundo. Este convertidor genera 1,2 Gbits (1200000000 bits) de información por segundo. Esto supera en más de 300 veces la capacidad de un canal ADSL típico de 4Mb. y está por encima de la capacidad de un canal Ethernet de 1GB.

Transmitir esta cantidad de datos implica nuevos problemas de diseño. El hecho de que la información sea digital no significa que se pueda enviar sin más por cuqalquier medio. El diseño de canales eléctricos u ópticos para ello plantea de nuevo problemas de diseño de drivers, receptores, líneas de transmisión... y aspectos de tecnología electrónica que parecía que ya no aparecerían en la SDR.
Siento decir que para hacer una SDR hace falta hardware y para ello hacen falta conocimientos de electrónica y electromagnetismo. Eso sí, una vez terminado el hardware, ya nos podremos dedicar en cuerpo y alma al software.

lunes, 18 de mayo de 2009

Dando forma a un proyecto SDR

Este pasado fin de semana se ha celebrado el "MercaHAM 2009" la feria de radioafición más importante de España. Gracias a la amabilidad de Luis (EA3OG, en la fotografía en plena disertación) y Sergi (EA3DU) que me permitieron "colarme" en su conferencia, tuve la ocasión de presentar la idea en la que estoy trabajando.

El objeto de la presentación, además de mostrar las ideas que guían este proyecto, era el de buscar colaboradores. Creo que sin ellos resultará muy difícil, podemos decir imposible, que el proyecto llegue a demostrar una parte de sus numerosas posibilidades.

El interés mostrado por los asistentes y sus comentarios me han llevado a corregir la presentación para reflejar mejor las dudas e indicar el estado actual del proyecto. El resultado se puede descargar desde este enlace.
Quiero agrecer la calurosa acogida que recibí por parte de todos, tanto de quienes conocía como de quienes tuve ocasión de conocer. Y por supuesto, felicitar a los organizadores del evento... al resto de conferenciantes y a todos los que hacen posible que esta afición siga adelante.

miércoles, 13 de mayo de 2009

¿Qué es eso de la ZERO-IF y el I/Q?

Diversos receptores utilizan una técnica de conversión de frecuencia en la que la señal se mezcla con una frecuencia igual a la del centro de su ancho de banda.
Imaginemos que se tiene una señal de 7,050 MHz. Si se mezcla con 7,050 MHz se obtendrá una señal de frecuencia 0 -Corriente continua- en la salida. Esto es un convertidor ZERO-IF -Frecuencia intermedia cero-Veamos ahora qué ocurre con dos frecuencias de señal de 7,051 y 7,049 MHz. Al mezclarlas, ambas aparecen como 1 KHz, siendo indistinguibles entre sí. La solución clásica a este problema de frecuencia imagen es la de filtrar una de las dos antes de atacar al mezclador.

Para separar una señal por encima de la frecuencia de otra por debajo de la frecuencia portadora en un convertidor ZERO-IF se emplean dos mezcladores. Uno de ellos emplea una portadora de una determinada frecuencia, mientras que el segundo emplea la misma frecuencia pero con un desfase de 9o grados respecto a la primera. El resultado son dos señales en lugar de una que procesadas adecuadamente permiten eliminar las frecuencias superiores a la portadora o las inferiores -mediante operaciones de desplazamiento de fase y una simple suma o resta de ambas señales-.

No sólo eso. El formato I/Q es más cómodo en la implementación de procesos DSP. Tal es así que muchos procesadores dedicados DSP incluyen núcleos de cálculo doble en los que las mismas operaciones se efectuan de forma simultánea sobre dos valores.

Este efecto, poco fácil de visualizar intuitivamente pero relativamente fácil de comprender matemáticamente ya se había empleado en la era pre-digital para generación detección de señales en banda lateral -por ejemplo en el clásico R2-, pero el proceso digital empleado en SDR y DSP supera muchas de las limitaciones y problemas prácticos que aparecen en su implementación analógica. Por cierto en el anterior artículo sobre el R2 -QST enero 1993- ya se menciona la posibilidad de usar un DSP en un receptor "del futuro" (Fig. 7).

Ahora se puede comprender porqué muchos receptores SDR emplean la entrada estéreo de una tarjeta de sonido para la recepción SDR: Dos canales, uno para la salida de un corvertidor(I=In phase), y otro para la salida del segundo (Q=Quadrature).