EA1DDO
     
     
           

SDR - Software Defined Radio


Conversión Analógico-Digital

 

Tras una de esas discusiones en el foro de URE, me puse a leer sobre el tema y me he dado cuenta de que desconocía muchas cosas. Sobre todo es útil para entender como funcionan y poder comparar las distintas opciones que existen actualmente. He estado leyendo y empapándome y ahora puedo compartir con todos lo aprendido, intentándolo hacer de la manera más sencilla, ya que algunas cuestiones se basan en formulaciones matemáticas y conceptos un poco ásperos para comprender. Yo no soy maestro ninguno, tan solo intento compartir lo poco aprendido. Hay otros colegas que saben mucho más del tema y han escrito artículos al respecto muy interesantes.

Generaciones

Según el experto en SDR Ken - N9VV, los SDR se puede dividir en, de momento, tres generaciones.

1ª Generación

Método de fase (Phasing method). Fueron las primeras pruebas a partir de los años 50 usando señales " de fase y "Q" de cuadratura. El mejor ejemplo de ello sería el transmisor Central Electronics CE100/200.

2ª Generación

En esta segunda generación estarían casi todos los que conocemos actualmente que usan detectores de cuadratura y fase (QSD Quadrature sampling Detector).
El desencadenante de la popularidad de los SDR hoy en día, fueron dos hechos.
Por un lado, Dan Tayloe - N7VE creó un mezclador o detector de alto rendimiento y muy sencillo electrónicamente, usando muy pocos componentes. Lo denominó "Zero IF Quadrature Product Detector".

A continuación puede verse a Dan Tayloe - N7VE con el NorCal 2030, primera radio equipada con el "Tayloe mixer".

El segundo desencadenante fue Gerald AC5OG (ahora K5SDR) con la publicación de un artículo donde se describía el primer SDR de 2ª generación para radioaficionados, equipado con el detector de Tayloe. Fue el famoso Flex SDR-1000.

A continuación puede verse a Gerald AC5OG presentando el Flex SDR-1000, primer SDR equipado con el "Tayloe mixer".

A partir de ese momento empezaron a aparecer más SDR basados en ese modelo.
En esta clase estarían desde el SDR-1000 del año 2007, hasta los Flex 1500, 3000 y 5000, pasando por los SoftRock y similares. Pueden usar las tarjetas de sonido del PC o interna (Flex).

3ª Generación

En esta tercera generación están los que usan un chip digitalizador de RF directamente, llamado "DDC - Digital Down Conversión" para la parte Rx y "DUC Digital Up Conversion" en Tx. Ese DDC es un chip digitalizador específico. En esta categoría estaría el HPSDR, Perseus, QS1R, Ettus, y pocos más (2010).

Digitalización

Aunque parece una sola cosa, la verdad es que se divide en varias; primero se toman las muestras, lo que se denomina; muestreo. Luego se le da valor digital a cada muestra y se denomina; cuantificación. Por último se preparan los datos de alguna manera estándar para entregarlos al siguiente proceso, y se denomina: codificación.

Actualmente, estas tres etapas (y alguna más) suceden en un solo circuito integrado.
En los SDR de segunda generación, la digitalización la realiza la tarjeta de sonido y muestrea dos tramas, la I y la Q que le entrega el SDR ya convertidas a baja frecuencia. Los de tercera generación ya tienen un circuito integrado en el mismo SDR que realiza la digitalización de la señal de RF directamente y luego un procesador especial (normalmente FPGA) se encarga de convertir la señal digital en I y Q y entregarselas al PC en un solo flujo de datos.
Entonces los SDR de segunda generación primero separan I y Q y las bajan de frecuencia para luego digitalizarlas, mientras que los SDR de tercera generación primero digitalizan la RF directamente (sin conversión) y luego un procesador genera I y Q digitalmente, antes de enviarlo al PC.
E n ambos casos, un programa en el PC realiza el resto del trabajo; la demodulación en el modo requerido, filtros, ancho de banda, etc.
Uno de los chips más potentes y usados en este momento, en los SDR de tercera generación, es el LTC2208 de Linear Technologies. Este chip es capaz de tomar 130 millones de muestras por segundo (el LTC2209 toma 160 millones), y, como luego veremos, las cuantifica con una resolución de 16 bits.
Algunos de los datos a tener en cuenta para clasificar estos chips sería la frecuencia máxima de muestreo, bits de resolución y SNR.

Muestreo

Es la acción de tomar muestras de la señal de una manera rápida y precisa.

Hay que decir que el proceso de muestreo es reversible, quiere decir que después de muestrear una señal, ésta se puede volver a reproducir a partir de la información de las muestras sin pérdida de información.
La cantidad de muestras tomadas (por segundo) es lo que se llama frecuencia de muestreo.
Algo que la gente tiende a pensar es que cuantas más muestras se tomen, mejor es la digitalización, y eso no es siempre cierto. Luego vemos porqué.
Lo que si es cierto es que hay que tomar un mínimo de muestras para que el proceso salga bien, ese mínimo se conoce como "Criterio de Nyquist".
Lo que este sueco descubrió fue que la frecuencia mínima de muestreo debe ser el doble del ancho de banda a muestrear. Por ejemplo si uno quiere muestrear desde 0 hasta 30 MHz (30 MHz = 30 millones de ciclos por segundo), necesitaría hacerlo a un mínimo de 60 millones de muestras por segundo. Luego hablamos más de este tema.
Se puede observar un efecto similar si por ejemplo hacemos una foto al Sol cada 23 horas. En esa secuencia de fotos se vería ir al Sol hacia atrás. También se observa algo parecido con las aspas de los ventiladores o hélices, que a veces se ven como si giraran al revés.
En radio frecuencia ocurre lo mismo;

Muestreando a la misma frecuencia, saldría una línea recta .

Pero si muestreamos como mínimo al doble se puede recrear la forma de la onda;

Como ya dije antes, el proceso de muestreo es reversible, esto es, con los datos de las muestras se puede volver a reconstruir la señal original, sin perdida de información.

Cuantificación

U na vez que se han tomado las muestras, el siguiente proceso se encarga de darle valor a cada una de ellas. La gama de valores o escala va a venir dada según las características de cada chip y, como van a ser cifras binarias, lo marca el número de bits y se denomina resolución.
El proceso de cuantificación, no es reversible.

Número de bits y niveles de cada uno;

Bits Niveles
10 1024
14 16384
16 65536
18 262144
20 1048576
24 16777216

Como vemos en la anterior tabla, cuantos más bits, más resolución obtendremos, de esa manera podemos asignar valores a las muestras en una gama mucho más amplia.
El problema es que a mayor número de bits, los componentes son más caros, las tasas de transferencia aumentan y todo se complica, por lo que conviene ajustar la resolución a una cifra equilibrada entre coste y la calidad requerida.
Por ejemplo, los CD de música/audio están grabados a una resolución de 16 bits y una frecuencia de muestreo de 44.1 KHz. Esto es porque se ha acordado que la máxima frecuencia que se podría llegar a grabar rondaría los 20.000 Hz, y como dijimos antes, según Nyquist, la frecuencia de muestreo debe ser el doble del ancho a muestrear, por lo tanto el doble de 20.000 serían 40.000, por lo que la industria musical propuso 44.100 Hz como frecuencia de muestreo estándar, así como 16 bits de resolución serían más que suficientes para un sonido de alta fidelidad.
Como ya dije antes, en radio, si queremos por ejemplo digitalizar HF, hasta 30 MHz, siguiendo a Nyquist hay que muestrear a un mínimo de 60 MHz.
Por ejemplo, el chip nombrado anteriormente, el LTC2208, puede muestrear hasta 130 millones de muestras por segundo por lo que según Nyquist podría muestrear hasta los 65 MHz, Cada una de esas muestras las cuantifica con 16 bits, esto es, un total de 65536 valores asignables a cada muestra. este chip es el que utiliza el HPSDR y el QS1R.
Para verlo más claro, vamos a hacerlo con un ejemplo sencillo.
Vamos a digitalizar una señal sencilla de 4v (desde -2 hasta +2v) y cuantificarla con 3 bits de resolución, que nos ofrecen 8 niveles, desde el 000 hasta el 111.
La línea roja sería la señal a digitalizar, que va desde -2v hasta +2v (4v en total) y las lineas verticales de puntitos rojos serían las muestras tomadas.
En el eje vertical están los 8 valores de resolución que tenemos para cuantificar.

Una vez ya tenemos la señal muestreada, pasamos a cuantificarla, esto, ponerle valores a cada muestra. Como teníamos 3bits de resolución van a ser 8 valores que podemos asignar al cuantificar, desde el 000 hasta el 111.

En el gráfico de arriba, ya tenemos en rojo la señal a digitalizar, los puntos rojos son cada una de las muestras y ahora ya vemos los 8 "escalones" de la cuantificación con 8 bits.

En esta gráfica ya vemos los valores cuantificados entre paréntesis dados por la escala vertical.
La linea negra, en forma de escalera, es la salida con sus valores entre paréntesis en voltios que tendría la salida después de muestrear y cuantificar.
Como podemos darnos cuanta fácilmente, la linea roja recta no es igual que la linea negra escalonada, y esa diferencia son voltios de diferencia en la intensidad de la señal.
Vamos a ver un solo escalón en detalle para descubrir el problema.

Recordemos que la señal, va subiendo de voltaje conforme el tiempo va pasando. Si nos fijamos entre la señal roja original y la negra escalonada digital, hay zonas de diferencias, solo coinciden los valores de ambas en los puntos que se cruzan. En las zonas coloreadas en verde, la señal digital va a tener mayor voltaje que la original y en las zonas azules va a ser menor.
Por ejemplo cuando la señal original estaba en 0 voltios, la digitalizada ya está en 0.25v, y cuando la señal original estaba en los 0.5 voltios, la digitalizada aún seguía en 0.25v. Y así a lo largo de todo el proceso.
Si tenemos 8 niveles y el rango a medir son 4v, dividiendo los voltios entre los niveles tenemos que cada nivel o "escalón" entre un valor y el siguiente será de 4/8=0.5v
A este valor se le denomina Q o también LSB; Q=1 LSB (Less Significant Bit).
Ese "error de cuantificación" en la práctica se le considera "ruido" y se le llama "ruido de cuantificación" y será mayor cuanto menor sea la resolución, el número de bits. Mayor resolución, menor ruido, y si hay menos ruido, podemos detectar señales más débiles. Con menor resolución, tendremos más ruido y las señales más débiles las tapará el ruido.
El valor máximo del error o ruido en una muestra será la mitad de Q, en este caso 0.25v, pudiendo ser positivos o negativos.

Mediante un proceso matemático se llega a la formula siguiente;

SNR = 6.02 * N +1.76 dB

Donde SNR se refiere a la relación señal/ruido (Signal to Noise Ratio) y N es el número de bits.
De esta manera enseguida podemos saber el mínimo ruido en teoria de un convertidor analógico-digital.

Bits Relación Señal/Ruido
12 72.2 db
14 84.3 db
16 96.3 db
18 108.4 db
20 120.4 db
24 144.5 db

Esta relación señal/ruido es la diferencia entre la máxima señal que puede procesar el digitalizador y el ruido, por lo tanto es lo que también conocemos como rango dinámico (esto es demostrable matemáticamente).
Por lo tanto, un receptor SDR tendrá mayor rango dinámico cuantos más bits use al cuantificar, con todas las ventajas que ello conlleva.

Vamos a ver ahora lo que comenté antes, usar mayor velocidad de muestreo no siempre mejora el resultado.
Veamos la misma señal de antes muestreada al triple de velocidad;

Podemos ver que ahora hemos tomado tres muestras en vez de una sola. Muchos pensarían que al muestrear el triple, obtendremos mucho mejor resultado, pero no siempre es así.
Si nos fijamos en nuestro ejemplo, efectivamente tenemos tres muestras en vez de una. Los valores aproximadamente serían de 0.12 0.25 y 0.37 v. de la escala inferior.
Hasta ahí todo claro, pero ahora pasamos a la cuantificación, y vemos que todo lo que pase de 0v hasta 0.5v se le va a asignar el valor de cuantificación 100 (menos de 0v sería el valor 011. Más de 0.51v sería el valor 101).
¿Que ocurre?, que nuestras tres muestras están las tres entre 0v y 0.5v, y las tres van a recibir el valor de cuantificación 100, y ese valor 100 al reproducirlo equivalen a esos 0.25v entre paréntesis de las coordenadas verticales.
Por lo tanto, con una sola muestra obtendríamos el valor 100, con tres muestras obtendremos los valores 100 100 100, el mismo repetido tres veces.
No vamos a obtener mejor resultado, solo vamos a incrementar los recursos consumidos (transferencias, procesamiento y almacenaje). Muestreamos 0.12 0.25 y 0.37v y la salida cuantificada obtenida sería 0.25 0.25 0.25v.

La conclusión sería que, tan importante es la velocidad de muestreo como la resolución del cuantificador. Son interdependientes. Lo que pasa es que las velocidades de muestreo las están elevando continuamente, pero la resolución es más difícil técnicamente.
Además hay otro problema añadido, al muestrear a altas velocidades y mayor resolución, estamos generando un flujo de datos nada despreciable.
Por ejemplo el chip LTC2208 muestrea 130 millones de muestras por segundo y cada muestra la cuantifica con 16 bits de resolución. Eso arroja una tasa de transferencia de 2080 millones de bits por segundo, o lo que es lo mismo 2080 Mbit/s, y eso no es de pico ni de ráfaga, son continuos. Un USB 2.0 soporta de pico de transferencia de 480 Mbit/s (continuos soporta alrededor de 280 Mbit/s), eso nos puede dar una idea de como se complica todo.
En la práctica, como 2080 Mbit/s no "caben" en 480 Mbit/s, lo que hacen es reducir la cantidad de información que se envía al PC. Eso se hace mediante un proceso llamado "decimación" que consiste, mediante algoritmos matemáticos, omitir información, borrando ciertos valores de tal manera que afecte lo menos posible al resultado final.

La decimación no consiste en tomar menos muestras, si no que un procesador analiza los datos después del digitalizador y descarta algunos de ellos, los menos significativos, incluso puede que algunos estén repetidos si la frecuencia de muestreo es alta y el número de bits bajo tal como acabamos de ver más arriba.

El proceso de decimación tiene una parte buena, ya que como resultado adicional del proceso, cada vez que se aplica una decimación por 2, el SNR mejora 3db. Para hacerse una idea, viene siendo como cuando uno estrecha un filtro, el ruido baja ya que el ancho de banda es menor.

Codificación

Esta es quizás la parte menos significativa ya que simplemente se trata de preparar y retransmitir los datos cuantificados en algún estándar de los disponibles, para que el siguiente chip que reciba esa información pueda entenderlos y procesarlos correctamente.

Otros parámetros

SFDR

Muchos fabricantes dan las cifras de rango dinámico como SFDR que son las siglas de Spurious Free Dynamin Range, que viene a ser Rango Dinámico Libre de Espúreas.
Con un gráfico se ve todo más claro.

Se inyecta una señal o portadora para forzar a aparecer espúreas. Una vez tenemos la señal original y la espúrea de mayor nivel, ya podemos realizar la medida. Como vemos en el gráfico se puede medir desde el pico de la espúrea al pico de la portadora, lo que sería SFDR dBc (c viene por Carrier), o se podría medir del pico de la espúrea al máximo de señal medible (fondo de escala, Full Scale) por lo que sería SFDR dBFS.

Hay un detalle a tener en cuenta llamado Factor de amplificación del FFT.
FFT se refiere a Fast Fourier Transform o Transformada Rápida de Fourier y profundizar en el tema, es un proceso matemático que se usa al trabajar con los datos de las frecuencias digitalizadas, y permite su representación gráfica, dicho de otra manera, sirve para generar el gráfico superior a partir de los datos digitalizados.
Pero este proceso tiene una particularidad, que genera cierta ganancia, por lo que al ver el gráfico resultante (como el del siguiente caso real ) hay que tener en cuenta dicha ganancia. Para averiguar dicha ganancia se emplea la siguiente fórmula;

Ganancia FFT = 10 Log (M/2)

M es la resolución del FFT.
Vamos a verlo de forma gráfica;

En este ejemplo, la resolución del FFT es de 4096, aplicando la fórmula; Ganancia FFT = 10 Log (4096/2) = 33 db que pueden observarse en la parte baja de la gráfica, debajo de los 74dB teóricos de este ejemplo de digitalizador de 12 bits de resolución (aplicando la fórmula que vimos en el anterior capitulo de Cuantificación).
Un detalle a tener en cuenta es que la ganancia de FFT + SNR debe ser mayor que la señal a medir, de lo contrario el ruido de fondo nos taparía parte de la señal. Por ejemplo, si vamos a medir una señal de 100db, necesitaremos una amplitud (FFt + SNR) de 110 ó 120 db para poder distinguir el ruido de fondo a medir de el ruido de la señal a medir.

Podríamos mirar más parámetros como SINAD, ENOB, etc. pero habría que meterse en matemáticas de cierto nivel por lo que lo dejaremos para otro momento.

Caso Real

Ya para finalizar podemos ver un caso real, el del chip nombrado anteriormente LTC2208, usado por el HPSDR y QS1R.

Aunque en el gráfico anterior no lo dice, podemos recordar que el LTC2208 es de 16 bits.
Aplicando la fórmula; SNR = 6.02 * N +1.76 dB, SNR = 6.02 * 16 + 1.76 = 98.08 dB Rango Dinámico máximo teórico.
Vemos encima de la gráfica que nos avisan de que el FFT el de 64k.
Ahora aplicamos la fórmula de la ganancia de FFT; Ganancia FFT = 10 Log (M/2), Ganancia FFT = 10 Log (64000/2) = 45 dB de Ganancia de FFT, por lo que la ganancia total del sistema sería la suma de ambas; 98 + 45 = 143 dB.

Como dije antes, debe ser mayor la ganancia de FFT + SNR que la señal, y con 143db podemos ver el ruido del SDR sin interferencias del ruido del FFT.
También hay que darse cuenta que el fabricante ajusta la representación para que la señal sea a fondo de escala, por lo que dBFS = dBc

Aliasing y Undersampling

Una de las particularidades de la conversión analógico-digital es el efecto llamado aliasing. Es un efecto no deseado que se produce en todos los conversores analógico-digitales. Sería algo como los armónicos en analógico, son producidos por el propio sistema sin uno desearlos.

Antes de empezar hay que nombrar el teorema de un sueco llamado Nyquist que dijo que; "La frecuencia de muestreo debe ser, por lo menos, el doble del ancho de banda a digitalizar".

Se desarrolla de la siguiente manera. Para poder entenderlo mejor, vamos a imaginarlos el espectro como un papel continuo de impresora, esos que parecen acordeones;

Lo que en el gráfico aparece como fs se corresponde con la frecuencia de muestreo. Por lo tanto vemos que cada hoja de papel abarca la mitad de la frecuencia de muestreo. Por ejemplo si queremos digitalizar HF+6m, esto es desde 0 hasta 60 MHz, la frecuencia de muestreo debería ser el doble del ancho de banda. El ancho de banda son los 60 MHz que pretendemos digitalizar, por lo tanto debemos emplear unos 120 MHz de frecuencia de muestreo, por ejemplo 122 MHz (como en el HPSDR y el QS1R). Plasmando eso en el papel continuo, la primera hoja abarcaría desde 0 hasta 61 MHz (122/2=61), la segunda hoja sería desde 61 hasta 122 MHz, la tercera desde 122 hasta 183 (122+61), y así sucesivamente. A cada hoja le vamos a llamar "zona", comenzando por la Zona 1 en adelante.

La frecuencia fs/2 se conoce como "Frecuencia de Nyquist" (Nyquist Frecuency en inglés) que es donde acaba la Zona 1 y "el papel se dobla", mientras que la frecuencia de muestreo; fs se conoce como "Ratio de Nyquist" (Nyquist Rate en inglés). Uno es la mitad que el otro, no deben confundirse.

Al poner el convertidor a funcionar pasaría esto;

La zona 1 abarcaría de 0 a 61 MHz, como ya hemos dicho, la zona 2 de 61 a 122 Mhz y así sucesivamente hasta el límite del circuito integrado utilizado, por ejemplo el LTC2208 alcanza los 700 MHz. El problema viene cuando el programa de SDR intenta plasmar todo esto en la pantalla;

Al juntar las hojas del papel continuo, como un acordeón, las señales se mezclarían todas, unas encima de otras, y no sería posible distinguir unas de otras, eso es el efecto antes comentado aliasing (como los armónicos famosos).

La solución es filtrar antes del digitalizador. Un filtro pasa-bajos con una frecuencia de corte de unos 60 MHz (para nuestro ejemplo) impediría que señales superiores alcanzaran el digitalizador;

De esta manera solo digitalizaríamos las frecuencias que nos interesan y no se generarían señales aliasing. Todos los SDR tipo DDC deben filtrar lo mejor posible la señal antes de digitalizarla.

Al igual que a veces los armónicos se usan para otros propósitos y resultan útiles, aquí va a suceder lo mismo y el efecto aliasing que nos parece pernicioso, se puede convertir en beneficioso.

Es lo que ocurre si en vez de usar un filtro pasa-bajos usamos un filtro pasa-banda con frecuencias de corte de por ejemplo 183 y 244 MHz en nuestra Zona 4. Conseguiríamos lo siguiente;

Desde 0 hasta 183 MHz estaría filtrado, limpio de señales, desde 183 a 244 dejaríamos las señales intactas, y de 244 en adelante estaría limpio también.

El resultado final sería;

Una sola zona presente, digitalizada y libre de interferencias de aliasing por lo que tendríamos un receptor SDR de VHF.

Aunque en teoría esto funciona de esta manera hay que comentar que en la práctica no es tan simple ya que los circuitos integrados digitalizadores, al aumentar la frecuencia también aumenta el ruido, disminuye la ganancia y otros efectos perjudiciales, por lo que no siempre es factible realizarlo a según que frecuencias.

AL día de hoy, usar el sistema de alias de un receptor SDR para frecuencias de VHF superiores a 60 MHz no ofrece gran calidad, por lo que si es para un receptor en 144 MHz sencillo, no habría problema, pero si se requiere cierta calidad y rendimiento (por ejemplo para DX, EME, señales bajas, etc) es preferible el uso de un conversor analógico a la entrada del SDR de HF, por ejemplo 144/28 MHz, mientras la técnica no avance y esté disponible a precios asequibles.

Esto es por encima como funcionan los chips digitalizadores y un SDR de última generación.

He intentado explicarlo lo mejor posible pero tened en cuenta que yo no soy ningún experto en el tema y algunos conceptos no son fáciles de explicar y entender. Perdonad si me he dejado algo en el tintero pero es que este tema da para largo y yo solo lo he mostrado las nociones basicas para poder entender algo mejor este apasionante tema.

73, Máximo - EA1DDO & HK1DX

 

Documentos y Presentaciones

Este artículo en PDF
Este artículo en portugués - PDF
¿Qué hacen los equipos SDR que no hagan los equipos analógicos? por Luis del Molino - EA3OG
SDR: Equipos de Radio Definidos por Software, por Sergio Manrique - EA3DU
Proyecto SDR por EA2DFH, por Javier - EA2DFH

Enlaces

Sistemas digitales: una introducción. Sergio - EA3DU
Lista de equipos SDR