lunes, 24 de noviembre de 2014

Radio Definida por Software para pobres (Episodio II)

En una entrada anterior presenté la posibilidad de tener un SDR de bolsillo y muy económico gracias a una placa sintonizadora de TV digital USB con el chip RTL2832U.

Recibí varios comentarios en el blog y por correo electrónico de varios que se han entusiasmado con la idea. A pedido de muchos de ellos es que en esta oportunidad voy a explicar como instalar todo lo necesario para sacarle provecho a este dongle en Windows. Los que siguen este blog saben que desde aquí evangelizo por estaciones de radio libres de software privativo y que  priorizo todo aquel que corra sobre GNU/Linux. Así que disculpen esta excepción.


Acerca de SDR#

El software que vamos a usar en Windows se llama SDR# (se pronuncia SDR sharp). El nombre se debe a que fue programado en C#.

Antes de la aparición de SDR# las opciones para hacer RTLSDR eran los programas WINSDR y HDSDR. Debido a que ninguno de estos dos programas soporta el chip RTL2832U se necesita instalar un plugin llamado EXTIO de spench.net para poder operar, lo cual es engorroso y complejo de configurar para humanos normales. SDR# simplificó mucho las cosas y ayudó a acercar el RTLSDR a las masas.

SDR# nace de la necesidad de Youssef Touil de poner en práctica sus conocimientos en técnicas de DSP. Luego el proyecto comezó a tomar vuelo propio y se sumaron colobaradores como Ian Gilmour (MM6DOS) y Tony BenBrahim (K5DEV).

Se distribuye bajo licencia MIT para lo que es la interfaz de usuario (GUI) y los plugins, lo cual lo acerca bastante a ser software de código abierto ya que permite modificar, crear y redistribuir dichos componentes. Sin embargo, el código del DSP (Digital Signal Processor, el corazón de todo SDR) se distribuye bajo Microsoft Reference Source License (MS-RSL) la cual impide modificar o distribuir el binario (es decir, el archivo SDRSharp.Radio.dll) y su código.


Instalación de SDR#

La placa sintonizadora USB viene con un mini CD el cual les recomiendo que sólo lo usen como apoya vaso o para hacer un bonito reloj. No instalen nada de ese CD si quieren usar el dongle como SDR y no tener que estar renegando después.

Hecha esta aclaración, comencemos a trabajar.

Para simplificar las cosas, vamos a bajar el siguiente archivo comprimido:

http://sdrsharp.com/downloads/sdr-install.zip

Dentro del directorio sdr-install, creado al descomprir el archivo, vamos a enontrar un script llamado install.bat el cual debemos ejecutar con un doble click.

Este script va a descargar en forma automática (usando el comando wget.exe incluido en el archivo comprimido) todo aquello que necesitamos.

Fig. 1. Ejecución del script de instalación de SDR#.

Al finalizar la ejecución del script tendremos un directorio nuevo llamado sdrsharp que contendrá la última versión de SDR#, el último controlador para el manejo de nuestro dongle RTLSDR (obtenido del sitio de Osmocom) y un programa llamado Zadig.

El siguiente paso consiste en colocar el dongle en un puerto USB. Windows intentará instalar un controlador para nuestro dispositivo.

Fig. 2. Windows intentará instalar un controlador para el dongle
cuando lo conectemos por primera vez.

No importa si lo consigue o no ya que el programa Zadig tiene la misión de configurar el controlador USB correcto para el dongle RTLSDR de modo de ser reconocido posteriormente por el SDR#.

Es recomendable dejar sólo aquellos dispositivos USB indispensables conectados a nuestra computadora. Es decir, el mouse, el teclado y nuestro dongle. El resto deberíamos desmonarlos para este paso.

Una vez que ejecutemos Zadig, si tenemos activado en Windows el Control de cuentas de usuario, pulsaremos al mensaje ¿Desea permitir que este programa de un publicador desconocido realice cambios en el equipo?. Esto se debe a que la aplicación requiere de privilegios de administración. Si tienen Windows XP ese mensaje no les va a aparecer.

Fig. 3. Mensaje de advertencia del control de cuentas de usuario.

Luego de esto, deberíamos visualizar la siguiente ventana:

Fig. 4. Ventana de Zadig.

En el menú Options seleccionamos List all devices:

Fig. 5. Tildar List all devices para encontrar nuestro dongle.
Hacemos click en el desplegable para ver todos los dispositivos USB conectados. De todos ellos nos intereza seleccionar aquel que está indicado como Bulk-In, Interface (Interface 0):

Fig. 6. Debemos asegurarnos que el fabricante sea el esperado
antes de proceder a instalar el controlador.

Para confirmar que se trata de nuestro dongle detenemos el puntero del mouse sobre el primer campo del cuadro texto USB ID y deberíamos visualizar Realtek Semiconductor Corp como texto emergente, el cual indica el nombre de fabricante del dispositivo.

Sólo nos queda pulsar el botón Install Driver para instalar el driver correcto que hará del dongle nuestro dispositivo SDR.

Windows nos advertirá que nuestro controlador no es el original firmado por el fabricante. Por supuesto, nosotros justamente queremos instalando un controlador que va a reemplazar al proporcionado por el fabricante. Pulsamos la opción Instalar este software de controlador de todas formas.

Fig. 7. Mensaje de advertencia de Windows al instalar el controlador.

Luego de unos segundos recibiremos un mensaje que el controlador ha sido instalado correctamente:

Fig. 8. Mensaje luego de la instalación.

Y si todo ha ido bien,  de nuevo en la pantalla principal de Zadig deberíamos ver en la sección Drive la opción WinUSB seguida del número de versión del controlador como se observa en la figura:

Fig. 9. Ventana de Zdig luego de la instalación del controlador.

Nota: Esta configuración debemos realizarla para cada puerto USB donde vamos a utilizar nuestro dongle RTLSDR. También podemos utilizar un puerto USB para trabajar como RTLSDR y otro para usarlo como DVB-T con el manejador suministrado por el fabricante (o el propuesto por Windows)



Ejecutando SDR#

Una vez que hemos instalado el manejador WinUSB como se ha descripto estamos en condiciones de comenzar a usar SDR#. Para ello simplemente hacemos doble click sobre SDRSharp.exe con lo cual deberíamos ver la siguiente ventana:

Fig. 10. Ventana principal de SDR#.

Seleccionamos en el desplegable ubicado en la parte superior izquierda la opción RTL-SDR/USB:

Fig. 11. Seleccionando RTL-SDR/USB como fuente.

Puede ocurrir que al realizar esta operación obtienen un error como el mostrado en la Fig. 12:

Fig. 12. Error frecuente cuando se conecta el dongle en un puerto USB versión 3.
Normalmente dicho error aparece cuando se conecta el dongle en un puerto USB versión 3. Si bien hay muchos reportes en foros de este error no he encontrado aún una solución confiable. Por lo tanto, siempre que sea posible, van a tener que conectar el dongle en un puerto USB versión 2 y probar.



Primer contacto con SDR#

La mejor manera de aprender es comenzar a utilizar SDR#. Es un programa sencillo que no requiere a mi parecer de grandes explicaciones.

El primer acercamiento lo haremos sintonizando la banda de FM comercial. Lo se, no es muy ambiciosa mi propuesta pero les permitirá comprender la interface del software. 

Lo primero que debemos hacer es tildar en la sección Radio la opción WFM (Wideband FM, en español FM de banda ancha)

Fig. 13. Seleccionando WFM.

El resto de los parámetros pueden dejarlos con sus valores por defecto.

Ahora tenemos que sintonizar en la banda de FM comercial, por ejemplo en la frecuencia de 88 MHz.

Para ello, tenemos varias formas:

a) Colocamos el cursor sobre el VFO y tipeamos la frecuencia central elegida, en nuestro caso 88,000,000 y damos Enter.

b) Hacemos click en en la parte superior (la zona se torna roja) o en la parte inferior (la zona se torna azul) para aumentar o disminuir el valor de la frecuencia en esa posición.

Fig. 14. Podemos subir o bajar en frecuencia haciendo click en la
cifra que queremos modificar.
c) Arrastramos con el cursor hacia la derecha o hacia la izquierda sobre el espectro de frecuencia o sobre la cascada para movernos hacia abajo o hacia arriba en frecuencia.

d) Giramos la rueda del mouse para subir o bajar en frecuencia, según el sentido.

Para comenzar a escuchar pulsamos el botón de Play en el panel superior donde está el VFO.

A partir de entonces deberíamos escuchar al menos el ruido de banda por el parlante de la PC y a visualizar el espectro de frecuencia en la mitad superior del panel principal y la cascada en la inferior.

Por alguno de los métodos ya nombrados podemos movernos en frecuencia hasta sintonizar una emisora de FM. En la siguiente imagen se puede apreciar sobre la cascada varias líneas verticales de color rojo. Estas son las ubicaciones de emisoras de FM para el rango de frecuencia visualizado.

Fig. 15. Espectro y cascada visualizando varias estaciones de FM.

La intensidad de estas líneas es proporcional a la intensidad de señal con la que nuestro dongle la está recibiendo. Podemos hacer click en cualquiera de ellas para comenzar a escucharla, ya sin necesidad de estirar con el cursor.

Si observan con detenimiento en la figura anterior, en el centro de la cascada encontrarán una línea roja muy fina que se manifiesta en un pico muy angosto en el espectro. Si cambian de frecuencia, esta señal no desaparece y queda permanentemente centrada.

Fig. 16. Línea de corriente continua en el centro de la ventana.
Para eliminar ese pico de corriente continua debemos tildar la opción Correct IQ en la sección Radio:

Fig. 17. Tildando Correct IQ se elimina
la componente de continua.

Suficiente por ahora. Es tiempo que experimenten con SDR# y descubran sus posibilidades en la recepción de otros tipos de señales como balizas o telemetría de satelitales de radio aficionados por ejemplo.

En otra entrega veremos como trabajar con este dongle en Linux.

Espero sus comentarios.

73 de LW3ESH


Enlaces

Radio Definida por Software para pobres (Episodio I):
http://lw3esh.blogspot.com.ar/2013/02/radio-definida-por-software-para-pobres.html

7 comentarios:

  1. hola!
    Una pregunta estupida.......yo no uso win (ni lo pienso usar)
    hay alguna equivalencia para usar en software libre ,mas
    precisamente linux (nativa ,no sobre wine)?
    Saludos
    Tux

    ResponderEliminar
  2. Tux, no es estúpida tu pregunta.
    Podés utilizar GNURadio y Gqrx que son aplicaciones nativas de Linux.

    73 de LW3ESH, Federico

    ResponderEliminar
  3. Hola Federico, ante todo muchas gracias por toda la información que estas poniendo.
    Quisiera consultarte si con este dongle has podido recibir la televisión digital abierta de argentina???.
    Desde ya muchas gracias
    Daniel

    ResponderEliminar
  4. Hola Danis_963 y gracias por tus comentarios.
    Con este dongle NO se puede recibir Televisión Digital Abierta de Argentina ya que está pensado para la norma DVB-T. En Argentina usamos el estándar ISDB-T.

    ResponderEliminar
  5. Saludos desde la zona Tango federico. Consulta habrá una continuación de esta expetacular tema. Ya te hiciste algún upconverter para escuchar la hf? Por otro lado muchas gracias por tu tiempo abrazos y ojalá halla algo más para compartir por ejemplo escucha de noa y de sus por que no.

    ResponderEliminar
  6. Hola se puede correr sdr Sharp en Windows XP ya que tengo una notebook en desuso y me gustaría utilizarla

    ResponderEliminar
    Respuestas
    1. En principio podría funcionar, según la documentación: https://airspy.com/quickstart/

      73 de LW3ESH/A

      Eliminar

¿Una antena para VHF hecha con dos perchas?

Hace poco di con una nota de la revista QST de Abril de 2018 donde John Portune, W6NBC ( @w6nbc ) donde cuenta que con Ernie, W6DN y otro...