Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estudio Piloto de Los Demoduladores de La Serie RTL de Raltek para La Radio Definida Por Software
Estudio Piloto de Los Demoduladores de La Serie RTL de Raltek para La Radio Definida Por Software
Ingeniería de Telecomunicación
Autor:
Manuel Puerto González
Director:
Juan José Murillo Fuentes
Profesor Titular
El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores:
Presidente:
Vocal/es:
Secretario:
Fecha:
Agradecimientos
Este proyecto desde su inicio hasta su fin ha sufrido muchos cambios, las ideas iniciales no pudieron
ser llevadas a cabo y los problemas encontrados fueron numerosos. Además, por diversos motivos he
necesitado ayuda en fechas poco apropiadas para un profesor de la Escuela. Por todo esto quiero agradecer
a J.J. Murillo sus minuciosas correcciones y su extraordinaria atención. También quiero incluir a Jan van
Katwijk, que con su amabilidad, su programa y sus correos hizo posible este proyecto. Y por último a
Alba, por sus aportaciones.
Sevilla, Enero de 2014
I
Prefacio
Desde hace ya algunos años la curiosidad que siento por el ámbito de la enseñanza va en aumento, por
mi experiencia como estudiante puedo decir que una materia puede ser el comienzo de una vocación o
afición, o simplemente pasar de largo, y en parte podría ser debido a la docencia y a los recursos de los
que se dispongan. Este proyecto, mediante el estudio de la tecnología de demoduladores de Realtek, de
la familia usada para televisión y radio digital, y el Software Definido por Radio, pretende aportar un
recurso económico, accesible y con una gama de complejidad que permite la recepción de señales de
diversa índole a cualquier persona con unos conocimientos básicos hasta profesionales con niveles de
programación y comunicaciones muy avanzados, con diversos niveles de dificultad dependiendo de los
programas y el hardware adicional usados, convirtiéndose este pequeño dispositivo en una herramienta
potencialmente útil.
III
Resumen
V
Abstract
The academic training of engineers should be complemented applying the knowledge acquired. The af-
fordable method to put it into practice in the field of the radiocommunication was through computer
simulations until recently. This project tries to demonstrate that there are a series of devices Software
Defined Radio with similar features that may be useful to apply this knowledge economically.
To that end is selected the Nooelec TV28T device, a small external USB digital TV receiver, it consists
of a demodulator RTL2832U and a tuner R820T. Their features are detailed and some of the free and
compatible programs for this gadget are analyzed.
Besides information on the Software Defined Radio and its lower cost aspect is gathered. Two practices
with the free SDR-J, one for FM radio tuning and one for tuning digital radio, are included. The steps
required to install a version of GNU Radio Companion, which it is very suitable for the interests of this
project, have also been incorporated in detail, because it has been added an FM receiver code for this
program.
The novelty of these devices and its compatible programs involve several problems which have been
detailed. However, this hardware and software set is an useful tool to put radiocommunication theory into
practice. The availability of a program like SDR- J serves as an introductory view given its simplicity and
the more complex others are of great help to develop future radio applications.
VII
Índice
Agradecimientos I
Prefacio III
Resumen V
Abstract VII
1 INTRODUCCIÓN 1
1.1 Definiciones previas 1
1.2 Análisis inicial 1
1.2.1 Breve historia de SDR 2
1.2.2 Evolución actual 2
1.2.3 RTL 3
1.3 Objetivo del proyecto 3
1.4 Organización del proyecto 4
2 CONCEPTOS BÁSICOS DE SDR 5
2.1 Funcionamiento del SDR 6
2.1.1 En recepción 6
2.1.2 En transmisión 7
2.2 SDR en el mercado actual 7
3 CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE 9
3.1 Nooelec TV28T v2 9
3.2 RTL2832U 10
3.2.1 Características 10
3.3 R820T tuner 13
3.4 Información no contrastada 13
4 SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR 17
4.1 Algunas noticias destacadas 18
4.1.1 LNA4HF: Interest check 18
4.1.2 Transmitting data with a Raspberry PI and RTL-SDR 18
4.1.3 ADS-B Active PCB antenna for the RTL-SDR 18
4.1.4 Creating an FM receiver in GNURadio using an RTL-SDR source 18
IX
X Índice
Índice de Figuras 73
Índice de Tablas 75
Índice de Códigos 77
Bibliografía 79
1 INTRODUCCIÓN
Para un mejor entendimiento de este proyecto se detallan previamente los principales términos y concep-
tos. Es importante diferenciarlos ya que pueden prestarse a confusión.
SDR, Radio Definida por Software: Concepto. Radio en la cual alguna o todas las funciones de la
capa física son definidas por software [1].
RTL-SDR: Concepto. Sería la misma definición anterior añadiendo, en particular, para los recepto-
res SDR que usan el demodulador RTL2832U. Es decir, RTL-SDR forma parte del amplio conjunto
de SDR.
Estos receptores fueron originalmente concebidos para ser receptores de TV. Es el concepto SDR
pero, aquí viene la diferencia, de muy bajo coste. Debe tenerse en cuenta que es un concepto aún
novedoso y puede ser encontrado en la red simplemente como SDR, que como se ha dicho en el
párrafo anterior, lo abarca.
Nooelec TV28T: Elemento. Dispositivo usado en este proyecto. Es uno de los receptores de TV di-
gital que usa el demodulador RTL2832U. Otro de los elementos principales de los que está formado
es el sintonizador, en este caso modelo R820T.
R820T: Elemento. Modelo de sintonizador de Rafael Micro. Actualmente existen varios modelos
de diferentes marcas compatibles con RTL-SDR. Nooelec, por ejemplo, ofrece varios receptores
SDR con distintos sintonizadores.
Esta sección está ordenada cronológicamente, desde el inicio del SDR hasta la situación actual, pero antes
es importante dar una descripción un tanto oficial de SDR, a modo de introducción:
1
2 INTRODUCCIÓN
Un sistema Radio definido por Software, SDR (Software Defined Radio), es un sistema
de radiocomunicación donde la mayor parte de los componentes necesarios se implementan
en software en lugar de en hardware. Al utilizar esta tecnología, se implementa un recep-
tor Zero-IF o low-IF1 configurable de tal manera que puede utilizarse para diseñar distintos
componentes como mezcladores, filtros, amplificadores, moduladores/demoduladores y de-
tectores entre otros e incluso sistemas completos tales como transmisores, receptores, trans-
ceptores, osciloscopios, analizadores de espectro o analizadores vectoriales de redes, siendo
sus parámetros configurables dinámicamente y por consiguiente aportando una gran flexibi-
lidad a la hora de realizar un sistema de radiocomunicación [2].
Así que con un ordenador doméstico con un puerto USB2 (el usado actualmente), un sistema SDR y
una antena que dependerá de las necesidades se puede obtener un sistema radio completo por un precio
bastante inferior al que se requeriría para un sistema radio tradicional (con todos sus elementos hardwa-
re).
Actualmente hay muchos foros que son un hervidero de ideas (y que se nombrarán más adelante) donde
los usuarios informan de las pruebas que realizan, las nuevas funciones que encuentran para los muchos
programas que van surgiendo y los problemas nuevos a los que se van enfrentando. Y este movimiento
es generado gracias a que ahora se encuentran dispositivos receptores muy económicos, por unos diez o
veinte euros, lo que lo hace accesible a una gran mayoría [3]. A la vez, los equipos transmisores/recep-
tores están también en auge, ya que un solo dispositivo y distinto software puede aportar soluciones muy
diversas. Un claro ejemplo es Noctar, de la empresa Per Vices, el cual abarca desde GPS hasta Bluetooth,
pasando por 3G [4]. Y mientras, un compendio de empresas unidas en la labor de unificar fuerzas, es-
tandarizar y llevar una línea común, siguen trabajando desde 1996, la Wireless Innovation Forum, antes
conocida como SDR forum [1].
Lo que parece cada vez más claro es que hay dos tendencias claras, por un lado transmisores/receptores de
precio económico y por otro solo receptores de un precio ínfimo, tan bajo que permiten una gran apertura
1 Frecuencia
Intermedia
2 Universal
Serial Bus
3 GNU is Not Unix
INTRODUCCIÓN 3
1.2.3 RTL
RTL-SDR es un dispositivo SDR muy barato basado en el chip de la familia RTL de Realtek. En principio
estaba destinado para el DVB-T4 pero se descubrió en torno al 2010/2011 que podía utilizarse como
un sistema SDR de recepción [9]. Para este proyecto se ha elegido el RTL2832U junto al sintonizador
R820T, de Rafael Micro; la otra opción era el sintonizador E4000, cuya única ventaja era un mayor rango
de frecuencia, con las desventajas de que era más caro, daba peores resultados y, lo que fue más decisivo
para la elección tomada, se vendía mucho menos que el otro.
Por todo este movimiento es recomendable realizar un primer análisis de esta tendencia ya que puede
ser altamente provechosa para la universidad, desde simples actividades para el alumnado a proyectos
más complejos que ya se van viendo en la red. En las páginas sucesivas se halla el estado del arte del
RTL-SDR, una descripción de los elementos usados y unas prácticas de iniciación y posibles vías para el
estudio.
El objetivo principal es crear un producto educativo muy económico de laboratorio para prácticas en radio
digital basado en el dispositivo Nooelec de la familia RTL. Para ello se investiga sobre receptores radio de
bajo coste y se trata de averiguar sus posibles aplicaciones útiles para un laboratorio académico.
El objetivo inicial era aportar una plataforma software basada en el hardware del dispositivo RTL con las
siguientes funcionalidades:
Analizador de espectro.
Analizador de la constelación.
Demodulador DAB.
Para conseguir estos tres objetivos el primer programa en que se pensó fue el GRC pero por los problemas
encontrados, descritos en el segundo apartado de Conclusiones, se tuvo que desechar. El motivo es que el
uso SDR de los dispositivos de la familia RTL es bastante nuevo y conlleva que la cantidad de información
ha estado limitada. Para empezar la documentación oficial es casi nula y los programas que hacen uso
(y funcionan correctamente) del dispositivo ahora empiezan a ser más abundantes. Por esta razón la
investigación se centró en los diferentes programas que se pueden usar de forma gratuita, pero con el
aliciente de tener que ser de fácil instalación y manejo, ya que un requisito debe ser su accesibilidad y
simplicidad, y que fueran compatibles con los dispositivos RTL-SDR.
El objetivo principal pasó a ser un estudio piloto para animar al estudio de este campo que contiene
tantas posibilidades. Y para ejemplificar esta intención fue elegido el SDR-J, un programa que reúne las
cualidades necesarias y cumple los tres objetivos marcados anteriormente, convirtiéndose en el programa
óptimo para este proyecto.
En el capítulo dos se analiza brevemente el estado actual del SDR tanto sus características físicas como
de los programas que actualmente lo soportan.
En el capítulo tres se detallan las características de un dispositivo RTL-SDR y sus dos elementos princi-
pales, el modulador RTL2832U y el sintonizador R820T.
El capítulo cuatro hace un recorrido de la situación actual de RTL-SDR, con ejemplos de noticias y de
programas que soportan esta tecnología.
El capítulo cinco es un ejemplo de posible práctica para usar el dispositivo, se hace uso de un programa
que hace las funciones de receptor FM y receptor DAB.
El último capítulo incluye las conclusiones finales e indica una serie de problemas que tuvieron lugar en
el transcurso del desarrollo del proyecto.
En los anexos se añade el código de una interfaz gráfica de radio FM para GRC, se explican los problemas
y ciertos pasos no intuitivos en Windows 8, Linux, GNUradio y #SDR y como fueron solventadas dichas
incidencias.
2 CONCEPTOS BÁSICOS DE SDR
No existe, aún, un regulador ni estándar oficial para el SDR, pero la Wireless Innovation Forum, Figu-
ra 2.1, junto al Institute of Electrical and Electronic Engineers (IEEE) P1900.1 group han establecido
la siguiente definición para SDR: "La radio que, alguna o todas las funciones de la capa física, las de-
fina (realice) mediante software". Además, se encuentra en el primer párrafo de la Wireless Innovation
Forum.
La modificación de los dispositivos de radio de fácil manejo y rentables se ha convertido en
crítica para el negocio debido al crecimiento exponencial de formas y medios en los cuales las
personas necesitan comunicarse (comunicación de datos, voz, vídeo, mensajes de difusión,
comunicaciones de control y órdenes, de respuesta a emergencias, etc.). La tecnología de la
Radio Definida por Software (SDR) aporta la flexibilidad, eficiencia de coste y energía para
impulsar las comunicaciones, con amplitud de beneficios para los usuarios finales realizados
por los proveedores del servicio y los desarrolladores del producto [8].
La Wireless Innovation Forum, anteriormente llamado SDR Forum, fue fundada en 1996, es una corpo-
ración sin ánimo de lucro que aboga por el uso innovador del espectro radioeléctrico y el avance de la
tecnología radio que soporta las comunicaciones esenciales y críticas mundiales. Los miembros del foro
están vinculados al Software Definido por Radio (SDR), Radio Cognitiva (CR) y Acceso Dinámico al
Espectro (DSA) y aquello que gira en torno al mercado de las comunicaciones sin cable, a todos los nive-
les, para reducir los costes, acelerar el desarrollo de la familia de productos, tecnologías y servicios. Este
foro es el centro de unión para llevar adelante estos objetivos, proporcionando a sus socios toda la ayuda
posible y a todos los niveles. Entre los miembros se encuentran: Google, EADS, NASA Glenn Research
5
6 CONCEPTOS BÁSICOS DE SDR
2.1.1 En recepción
El triángulo equilátero con punta hacia abajo es el equivalente de la antena, justo a continuación se
encuentra el bloque RF Front-End que recibe la señal de radiofrecuencia y la pasa a frecuencia intermedia.
En la sección IF se encuentran el ADC1 , que pasa la señal analógica a digital y que tiene las siguientes
características:
Rango Dinámico: diferencia entre los valores máximos y mínimos de la señal analógica que es
capaz de convertir.
Número de niveles: cantidad de valores existentes entre el máximo y el mínimo de la señal analó-
gica, indica la precisión del conversor.
El DDC2 se encarga de pasar la frecuencia de IF a BB3 . El bloque que se observa en BB es la parte que
se realiza mediante software: demodulación, análisis espectral, etc.
1 ConversorAnalógico Digital
2 ConversorDigital de Bajada
3 Banda Base
CONCEPTOS BÁSICOS DE SDR 7
2.1.2 En transmisión
Caso similar al anterior pero en sentido contrario. Se comienza en BB, procesando la señal mediante
software, pasando por el DUC4 se pasa a IF para luego pasar por el DAC5 para obtener la señal analógica
que luego el bloque RF Front-End se encarga de amplificar y modular para que la antena pueda transmitir
finalmente la señal.
Además de la familia de los RTL, que se verán a partir del próximo capítulo hay que mencionar otras
dispositivos:
1. USRP: del que se recomienda la lectura de [2]
2. FUNCube: este dispositivo funciona en todos los sistemas operativos típicos de ordenadores, traba-
jando en un rango de frecuencias entre 150 kHz y 240 MHz y de 420 MHz a 1.9 GHz y un precio
de 125 libras (el modelo nuevo). La página oficial es http:// www.funcubedongle.com/ .
3. Noctar: de Per vices [4] con un rango de frecuencias entre 100 kHz y 4 GHz y un precio de 2500
dólares.
Y los programas más conocidos son los siguientes:
1. GRC: del que se habla en parte de este proyecto.
2. SDR #: funciona en Windows, de fácil instalación. http:// sdrsharp.com/ .
3. HDSDR: también en Windows, toda la información en http:// www.hdsdr.de/ .
Además de estos tres se pueden encontrar muchos programas más pero hay que tener en cuenta que se
puede dar el caso que no se hayan actualizado desde hace tiempo o estén en fases muy tempranas de
desarrollo.
El dispositivo TV28T, Figura 3.1, es un producto comercializado por Nooelec. En los siguientes apar-
tados se introducirán sus principales características y de sus dos elementos principales, el demodulador,
RTL2832U, y el sintonizador, R820T.
Nooelec es una empresa estadounidense dedicada a dar soluciones relacionadas con el mundo de las
telecomunicaciones, tienen productos de SDR. En cuanto a la parte de RTL-SDR, es decir, que contienen
el modulador RTL2832U, disponen de cuatro receptores SDR con los siguientes sintonizadores:
9
10 CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
1. R820T.
2. E4000.
3. FC0013.
El TV28T v2, Figura 3.2 y Figura 3.3, usa el R820T y tiene como propiedades un rango de frecuencias
aproximado entre 25 MHz y 1750 MHz [14] y que trabaja con una frecuencia de muestreo de 3.2 MHz,
aunque se recomienda que sea de 2.8 MHz para evitar pérdidas [15]. La entrada de la antena es un MCX
hembra, Figura 3.4.
3.2 RTL2832U
Pertenece a la empresa Realtek Semiconductor Corp. Ubicada en Taiwan y fundada en 1987, dedicándose
desde entonces a los circuitos integrados. El RTL2832U, Figura 3.5, es un demodulador de Realtek,
concretamente es, según la compañía, un demodulador COFDM de televisión digital terrestre, DVB-T,
con puerto USB 2.0. Incluye soporte radio para FM, DAB y DAB+. Lleva algoritmos propios y se vende
como solución para un amplio rango de aplicaciones PC-TV [16].
El RTL2832U es el primer modulador, y por ello lleva su nombre el concepto, RTL-SDR. La pieza clave
que hace que un receptor de TV pase a ser un receptor SDR.
3.2.1 Características
De la empresa Rafael Micro, Rafael Microelectronics, Inc, una empresa creada en 2006 especializada
en sintonizadores híbridos de silicio (hybrid silicon tuner). Este sintonizador de TV digital, DVB-T, de
silicio de Rafael Micro [17]. En el mercado se encuentran diversos sintonizadores y hasta hace poco el
principal era el E4000 de Elonics, pero su mayor coste y menor estabilidad han hecho que vaya perdiendo
mercando. Las principales características de R820T son las siguientes:
Soporta los estándares de televisión digital: DVB-T, ATSC (USA y otros), DTMB (China y otros)
y ISDB-T (Japón y otros).
Cumple con las siguientes especificaciones:
1. EN 300 744.
2. Nordig 2.2.
3. D-BOOK 7.0.
4. ARIB B21.
5. ABNT 15604.
6. ATSC A74.
7. GB20600-2006.
8. EN-55020.
9. EN55013.
10. FCC.
Consume menos de 190 mA y necesita 3,3 V.
Viene en formato de montaje superficial: 24-pin 4x4 QFN lead-free package.
Interfaz 2-wired I2C (tipo de bus).
Estos sintonizadores, además de no llevar mucho tiempo en el mercado, desde hace poco han incremen-
tado el interés de personas interesadas en averiguar el potencial de estos componentes, así que es fácil
encontrar información no oficial de ambas. Se pueden observar unas marcas de agua en las imágenes de
los esquemas, esto es debido a que esta información es de dudosa procedencia, no proviniendo de una
fuente no oficial, y que se supone que es una versión preliminar del datasheet.
14 CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
Por ejemplo, las Figura 3.6 y la Figura 3.7, son los esquemas del sintonizador para televisión y una
computadora e incluyen un demodulador sin especificar marca y modelo. En estos esquemas, compa-
rándolos con la Figura 2.2, se observa que el sintonizador abarca la sección RF y entrega la señal IF,
encargándose el demodulador de la sección IF.
El diagrama de bloques simplificado se observa en la Figura 3.8
CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE 15
A continuación se pretende dar una guía para la introducción en el mundo RTL-SDR, se explica el fun-
cionamiento de la página web que se considera clave y pilar esencial de este proyecto y tres programas
compatibles con el dispositivo usado. Cabe recordar que poco a poco van surgiendo más programas y
que, salvo el SDR-J, los otros dos mencionados ya tienen una trayectoria en SDR.
Antes de seguir leyendo hay que aclarar que el concepto de RTL-SDR es bastante novedoso, así que a día
de la preparación de este proyecto no hay un solo libro ni "documentación oficial". La aparición de ésta
surge como fenómeno al desarrollo de la SDR, mejoras y nuevos programas para radiocomunicaciones y
el abaratamiento de los dispositivos, en el caso de este estudio, de los receptores. Pero la ventaja de tener
un dispositivo tan barato y tan usado genera el inconveniente de que sin unos organismos reguladores la
información se organiza de una forma un tanto caótica y dispersa.
Para seguir una investigación exhaustiva de las últimas tendencias y controlar el estado actual de cada
investigación habría que consultar a fondo otras páginas, como es el caso de GNU radio, pero para tener
una noción general de la diversidad y evolución actual la página www.rtl-sdr.com es la que está siendo
referente.
Esta página comenzó el 11 de abril de 2013 y el 22 de mayo en twitter. Y comenzó a nutrirse de sitios
especializados o de distintas ramas que hacen uso del chip RTL. El funcionamiento consiste en publicar
un resumen del tema con sus correspondientes enlaces, y desde aquí pasan a publicarse en Facebook y en
Twitter. Las partes de la página son:
Buy RTL-SDR doongles. Esta fue unas de las primeras páginas que consulté. Hay muchísimos
dispositivos y en esta página fue donde encontré el dispositivo de la marca Nooelec.
Radio Signal ID Guide. Esta sección contiene una lista de sonidos y espectros que se corresponden
a diferentes tipos de señales.
Featured articles. Son hasta la fecha tutoriales, el resto de artículos suelen ser de divulgación sin
entrar en tanto detalle.
Quick Start Guide. Es la primera parte para usar dispositivos RTL2832U en Windows, consiste en
una explicación para instalar Zadig (consultar en Anexos) y algunos enlaces para usar programas
como el SDRSharp y para Linux.
17
18 SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
About RTL-SDR. Contiene una muy buena introducción del concepto RTL-SDR.
Esta no es una simple sección de la página web, es un apartado que considero que debía ser incluido ya
que es la forma de seguir las novedades que van surgiendo en la red. Son noticias destacadas debido a la
relación que podrían tener como inicios de investigaciones futuras interesantes para esta escuela.
GNU Radio es un conjunto de herramientas software. Es open-source y libre, Figura 4.1. Implementa
radio software proporcionada por bloques de procesamiento de señales. Puede ser usado con hardware de
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR 19
radiofrecuencia externo de bajo coste y muy accesible, o sin dicho hardware, en un entorno de simula-
ción. Muy usado entre aficionados y entornos académicos y comerciales como soporte en ambos para la
investigación de comunicaciones inalámbricas y sistemas radio.
GNU Radio tiene licencia GNU GPL v.3 [18], Licencia Pública General de GNU versión 3, este tipo de
licencia viene detallado en http:// www.gnu.org/ licenses/ quick-guide-gplv3.html.
Sobre el GNU Radio tiene particular interés el software GNU Radio Companion, o GRC, Figura 4.2, que
es una herramienta para crear flujos de señal de forma gráfica y generar código fuente de las gráficas de
flujo. Hay un grupo de trabajo asignado al desarrollo de GRC.
En los anexos se detalla como instalar una versión apropiada de GRC para poder usar el dispositivo
RTL-SDR, lo cual puede resultar algo engorroso si no se tienen conocimientos del sistema operativo
Linux. Una vez instalado correctamente y comprobar que funcione se puede probar el ejemplo que se
detalla en el subapartado de noticias destacadas de la página web www.rtl-sdr.com. A continuación, se
detallan algunas características de GRC usando la radio FM de http:// www.instructables.com/ id/ RTL-
SDR-FM-radio-receiver-with-GNU-Radio-Companion/ del autor v3l0c1r4pt0r, la cual se ha probado
con el dispositivo Nooelec TV28T en Linux Mint 15 Cinnamon y funciona correctamente.
Al abrir el programa, a la derecha, se encuentran los bloques ordenados por tipos, el orden puede resultar
un poco complejo, así que en alguna ocasión puede que haya que mirar todo. De manera muy resumida,
y siendo esta una clasificación personal, los bloques pueden ser:
1. Fuente: Todos aquellos bloques que introducen datos.
a) Real: Cuando son datos obtenidos de algún dispositivo.
b) Simulado: Cuando son generados aleatoriamente por el equipo.
c) Fichero: Provienen de un fichero, su origen puede ser creado manualmente o provenir de otra
aplicación.
20 SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
2. Sumidero:
a) Gráfico: El resultado se muestra gráficamente, puede ser una gráfica dinámica o estática.
b) Fichero: Se almacenan los datos en un fichero.
c) Audio: La salida pasa la información a la tarjeta de sonido, usado normalmente para frecuen-
cias audibles por el oído humano.
3. Procesado: Cualquier bloque que continúe con el flujo de la señal y la procese de alguna forma:
filtros, amplificadores, conmutadores, operaciones booleanas, etc.
Los cuadrados de los lados de los bloques que se observan en la Figura 4.3 definen si el flujo de datos es
real, flotante o complejo. Si la salida de un bloque es de un tipo la entrada del siguiente bloque ha de ser
del mismo.
Por último, el módulo de la fuente RTL-SDR, en la Figura 4.4. Se observa que GRC permite modificar
varios valores del dispositivo, como la frecuencia de muestreo, frecuencia central, ganancias, etc. Una
vez que se genera el fichero .py y se ejecuta el programa se puede ver en la primera pestaña del display la
Figura 4.5 que muestra el espectro de entrada y algunos parámetros para modificar. En la segunda pestaña
del display se ve la Figura 4.6 que muestra el espectro de salida y algunos parámetros más. Se aprecia en
las gráficas que la calidad de la señal no es muy buena, aún así, en este caso, la frecuencia 99.6 fue la que
mayor calidad de sonido tenía.
4.2.2 SDR-J
El SDR-J es un programa creado por Jan van Katwijk en septiembre de 2013. Contiene una radio DAB,
como la de la Figura 4.7, una radio FM, como la de la Figura 4.8, y una mini radio FM, Figura 4.9.
Las dos primeras radios muestran características de ambas y permiten ajustar algunos parámetros. Para
información más detallada consultar el ejemplo de prácticas, donde se explica el funcionamiento del
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR 21
programa. La tercera radio no tiene interés ya que es como la radio FM pero más simplificada.
4.2.3 SDR#
Es una aplicación de Radio Definida por Software de alto rendimiento. Está escrito en C#. Trabaja en
frecuencias desde los kHz hasta los cientos de MHz. El código fuente se ofrece para propósitos educativos
y de desarrollo de plugins. La página web oficial http:// sdrsharp.com/ contiene noticias relacionadas con
el programa, enlaces relacionados y el programa y plugins para descargar.
22 SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
5.1 Introducción
Se pretende que esta primera práctica la pueda realizar cualquier persona, esté o no en algún laborato-
rio de la universidad, así que el sistema operativo elegido es Windows, ya que la mayoría de usuarios
disponen de éste. De cualquier manera, para aprovechar mejor los dispositivos RTL-SDR conviene insta-
lar Linux, donde existe una gran variedad de programas que ofrecen muchísima libertad en cuanto a su
manipulación.
El programa elegido para hacer esta práctica inicial sobre RTL-SDR, es el SDR-J de Jan van Katwijk por
ser fácil e intuitivo y además ofrecer una serie de opciones para mostrar las características y propiedades
tanto de FM como de DAB. Existen dos versiones, la de 32 bits y la de 64 bits, dependiendo del equipo
se debe instalar una u otra. Es imprescindible haber hecho la instalación de Zadig para que reconozca
el dispositivo RTL. La explicación está incluida en el Apéndice C. Se ha comprobado que funciona
correctamente en Windows (XP, 7 y 8). El programa para diversas plataformas y el manual en inglés se
pueden encontrar en la página web www.sdr-j.tk.
En cuanto al dispositivo Nooelec, con una entrada MCX hembra, dispone de su propia antena, Figura 5.1,
no muy buena, con una salida MCX macho. Si se quiere usar otra antena hay que recordar que segura-
mente haya que incorporar un adaptador para MCX o un cable con una salida MCX macho por un lado y
la que le corresponda para la antena, que normalmente son SMA (macho o hembra) o puede que también
BCN.
25
26 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
5.1.1 Objetivo
El objetivo de esta propuesta de práctica doble es dar al usuario interesado las herramientas necesarias
para una primera toma de contacto con un dispositivo RTL-SDR, en el caso de este proyecto con el Nooe-
lec TV28T. Al ser un programa en Windows no requiere tener conocimientos de Sistemas Operativos,
además el programador, Jan van Katwijk, ha realizado un gran trabajo ya que se pueden usar de manera
simple y en caso de estar interesado se puede ahondar en las características de la radio FM y DAB.
5.1.2 Desarrollo
Para la realización de esta propuesta recomiendo comenzar con el programa FM Receiver, es más simple
y se puede probar en cualquier lugar. Tras finalizar éste se puede abrir el programa DAB Receiver, es algo
más complejo y no se puede probar en cualquier lugar, la emisión de DAB en España se limita a Madrid
y Barcelona.
Una vez abierto uno de los dos programas se debe seguir las instrucciones del apartado correspondiente
de este capítulo. Están expuestas por orden de uso, es decir, se comienza explicando cómo se inicia el
programa y se termina cerrando el programa, y cada paso con su botón o pantalla correspondiente. Se
ha hecho de este modo por considerar que botón por botón es la forma más simple. Además se añaden
algunas explicaciones para dar mayor profundidad.
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL 27
Figura 5.2 Captura de FM Receiver 0.92 con numeración (versión usada 0.96, no afecta a la numera-
ción).
5.2 FM Receiver
Este receptor FM, aparte del funcionamiento típico permite ver el espectro de potencia y realizar cam-
bios en algunos parámetros que afectan a la forma de oírse, lo que hace que sea interesante probar este
programa. Para describirlo creo que la mejor forma es ir describiendo los distintos botones/selectores
(numerados) y pantallas, Figura 5.2. Como se trata de ir describiéndolo el orden será el que considero
más apropiado para su mejor entendimiento.
1 INPUT DEVICE. Primer botón que se debe usar, las opciones que muestra son las siguientes, Figu-
ra 5.3.
1. Dabstick: usa el dispositivo RTL, que previamente ha debido usarse Zadig para que sea reconocido.
Usando la antena que viene de serie ha de saberse que la calidad de la señal recibida será muy baja.
2. File input: para usar fichero de entrada. El formato es “.raw” pero el problema es que con la versión
actual se cierra el programa al seleccionarlo.
3. No device: no recibe nada así que no hace nada. Por si se quiere abrir y no se dispone del dispositivo
ni de algún fichero de entrada.
3 OUTPUT DEVICE Depende del equipo, ofrecerá distintas salidas, normalmente ofrece varias, lo típico
es seleccionar alguna de la salida de los altavoces, Figura 5.4
28 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
Una vez que está funcionando habría que elegir la frecuencia. Esta actividad se puede realizar de varias
formas:
1. La forma más sencilla es usando el teclado numérico del centro de la interfaz, Figura 5.8. Por
ejemplo, para sintonizar 98,8 MHz se marca 9 8 8 0 0 y después el botón “kHz”.
2. Sobre el display superior, pinchando con el ratón.
3. Con el botón izquierda o el botón derecha del teclado.
4. Pulsando los botones 7 F++ y 8 F–, Figura 5.9, se incrementará o disminuirá tanto como kHz se
hayan marcado en el cuadro de selección 10, situado en Figura 5.11.
5. Usando los botones Fc++ y Fc– marcados con el número 9, Figura 5.10, que va cambiando la
frecuencia dando saltos según el cuadro 10, situado en Figura 5.11.
En la parte superior se encuentran dos displays:
1. El superior, Figura 5.12, muestra el espectro de los datos recibidos por el dispositivo.
2. El inferior, Figura 5.12, muestra el espectro de los datos ya decodificados.
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL 29
Bajo el display inferior a la izquierda se encuentra el selector 6 que permite elegir entre mostrar el espectro
o el espectro en cascada.
Bajo el display inferior a la derecha, Figura 5.13, de izquierda a derecha se muestran tres pantallas con
tres valores:
1. Ratio o tasa de salida.
2. Tasa de procesamiento de la señal FM.
3. Tasa recibida por el stick (dispositivo).
Las barras y el selector a la derecha de "freq corrector" de la Figura 5.14 son:
1. La barra 14 controla la atenuación HF.
2. La barra 15 controla el balance entre las partes I y Q de la señal de entrada.
3. La barra 5 es el volumen general.
4. El selector 13 FREQ CORRECTOR es un corrector de frecuencia preciso.
En la parte inferior se encuentran varios botones y displays:
El selector 20 indica si están activados filtros adicionales.
El cuadro de selección 31 elige la intensidad con que se aplica el filtro.
El selector 21 permite elegir entre 5 decodificadores de FM diferentes, Figura 5.15. El nombre del
decodificador viene indicado a la derecha:
1. Difference based
2. Complex baseband D
3. Mixed demulator
4. Pll decoder
5. Real baseband delay
30 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
Ante de nada, para aquel que quiera ampliar información o consultar alguna particularidad debe saber
que la regulación de DAB se encuentra repartida en la página web de European Telecommunications
Standards Institute y que se puede encontrar de forma resumida en el libro de Transmisión por Radio
[5].
La radio DAB surge como una mejora de la radio FM ideada por fabricantes y aquí en España no tomada
con demasiado interés por parte de usuarios y aún menos del estado, que la ha eliminado de casi la tota-
lidad del territorio español, salvo Madrid y Barcelona. La solución encontrada ha sido usar dos ficheros
cedidos por el programados, uno simula una señal sin ruido y el otro son los datos de una señal grabada
en Italia.
La descripción del programa se hará de forma similar al de FM Receiver, Figura 5.19.
1 INPUT DEVICE, Figura 5.20. Primer botón que debemos usar. Permite elegir entre:
1. Dabstick: usa el dispositivo RTL, que previamente ha debido usarse Zadig para que sea reconocido.
Como se ha mencionado antes, en España solo es posible en Madrid y Barcelona.
2. File input: para usar fichero de entrada. El formato es “.raw” y son datos en bruto I/Q, permite
seguir usando los controles, la única diferencia es que da igual la frecuencia en la que se centre, ya
que los datos recibidos por el dispositivo son los mismos.
32 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
3. No device: no recibe nada así que no hace nada. Por si se quiere abrir y no se dispone del dispositivo
ni de algún fichero de entrada.
2 MODE, Figura 5.21. Se puede elegir entre diversos modos, por defecto es el modo I, para bandas SFN
de radiodifusión terrenal, que son aquellas frecuencias que antiguamente se usaban para la televisión en
Banda III. El ejemplo teórico “testmode-II.raw” fue grabado distinto así que para usarlo hay que colocar
el selector en modo II. Este modo y el modo III se destinan a redes locales por cable. El modo IV
está diseñado para redes SFN por satélite en Banda L [5]. Cada uno de ellos tiene unas características
especiales, como se ve en la Tabla 5.1.
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL 33
Tabla 5.1 Características DAB en función del modo. Tabla obtenida de [5].
MI M II M III M IV Relación
A Período de símbolo, Tsimb (µs) 1.246 312 156 623
B Tiempo útil, Tu (µs) 1.000 250 125 500
C Tiempo de guarda, TS (µs) 246 62 31 123 C = A−B
D Número de portadoras, N 1.536 384 192 768
E Número de bits por símbolo 3.072 768 384 1.536 E = 2×D
F Período de trama, Tt (µs) 96 24 24 48
G Bloques FIB por trama 12 3 4 6
H Bits FIB codificados por trama 9.216 2.304 3.072 4.608 I = 768 × H
I Velocidad media FB (kbit/s) 96 96 128 96 J = I/G
J Símbolos FIC por trama 3 3 3 3 K = I/E
K Campos CIF por trama 4 1 1 2
L Duración símbolo nulo (µs) 1.297 324 168 648
M Símbolos COFDM por trama 72 72 144 72
N Separación entre portadoras (kHz) 1 4 8 2
O Anchura de banda (kHz) 1.536 1.536 1.536 1.536 P = D×N
3 BAND, Figura 5.22. Por defecto es la banda III. Según la banda que se elija se dispondrá de unos
canales u otros.
1. Banda L: banda con canales asignados para DAB, en orden de GHz, Figura 5.3.
2. Banda III: banda VHF, entre los 174 y 230 MHz. Especialmente dedicada a audio y video, Figu-
ra 5.2. La nomenclatura usada es debido a que los canales que se usaban para la televisión analógica
eran de 7 MHz. Cada canal DAB tiene un tamaño de 1,536 MHz, así que por cada antiguo canal se
pueden obtener cuatro nuevos canales de DAB, designados por: A, B, C y D.
4 CHANNEL. Diverso en función de la banda elegida antes. Para la banda III los canales son los de la
Tabla 5.2
Para la banda L los canales son los de la Tabla 5.3
19 SELECT OUTPUT, Figura 5.23. Depende del equipo, ofrecerá distintas salidas, normalmente ofrece
varias, lo típico es seleccionar alguna de la salida de los altavoces. En mi portátil, por ejemplo, ofrece
cuatro posibilidades.
14 START, Figura 5.24. Para iniciar el proceso. Puede tardar un poco, en función a la calidad de la señal
recibida, esto es debido a que el programa tiene que sincronizar los datos recibidos.
5.3.2 Ajustes
Tras pulsar START aparecen tres valores a la derecha de CHANNEL, Figura 5.25 de izquierda a dere-
cha:
34 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
1. El primer valor indica el desplazamiento (offset) detectado en kHz. El programa lo detecta y corrige
esta desviación hasta que queda sincronizada, quedando un valor de 0 en caso de llegar una señal
perfecta.
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL 35
2. El segundo valor indica la longitud de las tramas detectadas, que son de 196608.
3. El tercer valor indica la frecuencia de muestreo, que para DAB es de 2048000.
Bajo los botones de BANDA y CHANNEL y los displays mencionados antes, Figura 5.26, se halla infor-
mación de la estación seleccionada.
20 STATION Figura 5.27 En un canal van multiplexadas varias estaciones, y la que se elija es la que se
reproducirá. Depende del canal y la ubicación habrá unas u otras estaciones a elegir.
La pantalla de arriba a la izquierda, Figura 5.28, muestra la constelación I/Q, es decir, los símbolos OFDM
recibidos, si se han realizado correctamente los pasos previos debería verse una nube de puntos. En caso
36 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
de usar una simulación teórica se vería que los puntos se encuentran mucho más concentrados.
7 SPECTRUM/WATERFALL, Figura 5.29. Este selector permite elegir la visualización de la pantalla
superior derecha.
1. Espectro: Muestra una gráfica con frecuencias en el eje horizontal y potencia recibida en decibelios
(dBm) en el eje vertical, Figura 5.30.
2. Espectro en cascada: donde el eje horizontal es la frecuencia y el eje vertical es la potencia recibida,
se representa con colores y está en movimiento (desplazamiento constante en función del tiempo),
Figura 5.31.
18 DABSTICK GAIN es la ganancia del dispositivo, a mayor valor mayor ganancia, los valores seleccio-
nables están entre 0 y 17. Dependiendo de la antena y la ubicación la calidad de la señal variará.
En la parte inferior izquierda, Figura 5.32 se muestran seis valores distintos que son:
1. UEPFLAG: Unequal Error Protection. Mientras la bandera esté a uno la calidad es suficiente para
poder escuchar el canal. En el momento en que esté a cero significa que el nivel de calidad es
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL 37
16 DUMP graba los datos recibidos por el dispositivo en bruto con el formato “.raw”. Si se pulsa de nuevo
para de grabar. Similar al de FM Receiver.
17AUDIO-DUMP graba la salida de audio en formato “.wav”. Si se pulsa de nuevo para de grabar. Similar
al de FM Receiver.
15 QUIT, Figure 5.34. Para cerrar el programa (si se está grabando guarda automáticamente y se cierra).
6 CONCLUSIONES
6.1 Conclusiones
Como primera conclusión hay que decir que no es lo que el RTL-SDR haya hecho, es lo que está por
hacer. Lo que más me llamó la atención sobre el tema cuando empecé a leer fue las enormes posibilida-
des que tiene. Un dispositivo pequeño y económico que permite recibir señales entre los 30 MHz hasta
los 1800 MHz. Es una oportunidad para que aficionados, académicos e incluso empresas puedan expe-
rimentar y desarrollar nuevas líneas de investigación y de productos. Empiezan a salir proyectos en los
cuales intervienen otros productos de bajo coste y se desarrollan piezas específicas para estos dispositi-
vos.
En el campo académico, para ser más específico, esta escuela, la Escuela Técnica Superior de Ingenie-
ría de Sevilla, tiene un proyecto de SDR con un dispositivo USRP, el cual es bastante caro. Ésta es la
oportunidad de aprovechar ese proyecto. El concepto es simple, usar dicho USRP, transmisor, con dis-
positivos RLT-SDR, receptores, que con el precio que tienen un departamento podría adquirir varios de
ellos fácilmente e incluso los alumnos, más de uno seguramente, podrían comprar. La implementación
está casi hecha. En GNU Radio Companion están implementados ya los ejercicios que se hicieron en el
anterior proyecto tanto para transmisor y receptor. Para transmitir no habría que cambiar nada y en cuanto
al receptor habría que cambiar la fuente de entrada que está hecha específica para USRP. Para adaptarla a
la tecnología RTL-SDR hay que tener en cuenta que hay que cambiar el bloque de fuente (para RTL-SDR
hay dos fuentes disponibles) y seguramente añadir algún otro bloque. Todo esto no se ha probado pero
en este proyecto sí se ha probado que el programa es compatible, al menos, con el dispositivo TV28T
(Apartado 4.2.1).
Personalmente veo un gran futuro al desarrollo combinado con dispositivos como la Raspberry, que es
otro equipo de bajo coste. Las implicaciones que tiene son que ahora mismo mucha gente tiene la posibi-
lidad de aprender, manejar y desarrollar sobre las radiocomunicaciones, además de forma práctica, algo
que estaba restringido a aquellos que dispusiesen de los equipos necesarios. Con la llegada del SDR se
abrió pero es ahora cuando empieza a ser una actividad accesible.
39
40 CONCLUSIONES
Durante el desarrollo del proyecto el principal problema ha sido una falta de conocimientos de Linux, la
correcta instalación del GNU Radio Companion para que permita el uso de la tecnología RTL no es trivial.
Requiere soltura y un manejo avanzado ya que el menor desvío de uno de los múltiples pasos implica no
solo el no funcionamiento correcto del dispositivo sino poder dejar inutilizado el sistema operativo. En
mi caso, de tres ordenadores, en solo uno he conseguido usar el GRC con el dispositivo. Uno de ellos
dejó de funcionar, totalmente. Otro parcialmente, viéndose afectada la parte gráfica e incluso de manejo.
Otro problema es el uso compartido de varios sistemas operativos (cuidado con la nueva actualización de
Windows 8).
Otra característica a desear en aquellos que quieran ahondar en los programas, un claro ejemplo es
GNU Radio, son conocimientos en lenguajes de programación, como Python y C# como claros ejem-
plos.
Por último, y siendo este párrafo también una conclusión, existe una necesidad de cierto orden, existen
muchos grupos que se dedican a investigar, alguna página que se dedica a divulgar pero por ahora no
se encuentra casi nada con carácter académico. Se pueden encontrar vídeos y manuales pero muchos de
ellos incompletos y de difícil entendimiento. Aún no hay bibliografía sobre el tema que pueda servir de
base.
Como recomendación: tiempo y paciencia, hay mucha información pero dispersa, Linux puede resultar
tedioso, al menos para una persona con un nivel muy básico, pero la evolución que se observa en la red
sobre RTL, es increíble las nuevas versiones de programas y las creaciones de aficionados y universitarios
que se están sucediendo desde hace algunos meses.
Apéndice A
41
42 Apéndice A. Código del programa FMRADIO de GRC
</param>
<param>
<key>generate_options</key>
<value>wx_gui</value>
</param>
<param>
<key>category</key>
<value>Custom</value>
</param>
<param>
<key>run_options</key>
<value>prompt</value>
</param>
<param>
<key>run</key>
<value>True</value>
</param>
<param>
<key>max_nouts</key>
<value>0</value>
</param>
<param>
<key>realtime_scheduling </key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(93, 250)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>seek</value>
</param>
<param>
<key>_enabled</key>
<value>False</value>
</param>
<param>
<key>value</key>
<value>0</value>
</param>
<param>
43
<key>_coordinate</key>
<value>(263, 166)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>freq</value>
</param>
<param>
<key>_enabled</key>
<value>False</value>
</param>
<param>
<key>value</key>
<value>90.2e6</value>
</param>
<param>
<key>_coordinate</key>
<value>(49, 351)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>2e6</value>
</param>
<param>
<key>_coordinate</key>
<value>(155, 343)</value>
</param>
44 Apéndice A. Código del programa FMRADIO de GRC
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>taps</value>
</param>
<param>
<key>_enabled</key>
<value>False</value>
</param>
<param>
<key>value</key>
<value> firdes . low_pass(1,samp_rate, cutoff , width)</value>
</param>
<param>
<key>_coordinate</key>
<value>(94, 151)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>sample</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>500e3</value>
</param>
<param>
<key>_coordinate</key>
<value>(280, 254)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
45
</param>
</block>
<block>
<key>audio_sink</key>
<param>
<key>id</key>
<value>audio_sink_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>samp_rate</key>
<value>48000</value>
</param>
<param>
<key>device_name</key>
<value></value>
</param>
<param>
<key>ok_to_block</key>
<value>True</value>
</param>
<param>
<key>num_inputs</key>
<value>1</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(815, 478)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>rational_resampler_xxx</key>
<param>
<key>id</key>
<value>rational_resampler_xxx_0 </value>
</param>
<param>
<key>_enabled</key>
46 Apéndice A. Código del programa FMRADIO de GRC
<value>True</value>
</param>
<param>
<key>type</key>
<value>ccc</value>
</param>
<param>
<key>interp</key>
<value>int (sample)</value>
</param>
<param>
<key>decim</key>
<value>int (samp_rate)</value>
</param>
<param>
<key>taps</key>
<value></value>
</param>
<param>
<key>fbw</key>
<value>0</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(354, 311)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>analog_wfm_rcv</key>
<param>
<key>id</key>
<value>analog_wfm_rcv_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
47
<param>
<key>quad_rate</key>
<value>sample</value>
</param>
<param>
<key>audio_decimation</key>
<value>10</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(849, 279)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>rational_resampler_xxx</key>
<param>
<key>id</key>
<value>rational_resampler_xxx_1 </value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value> fff </value>
</param>
<param>
<key>interp</key>
<value>48</value>
</param>
<param>
<key>decim</key>
<value>int (sample/10e3)</value>
</param>
<param>
<key>taps</key>
48 Apéndice A. Código del programa FMRADIO de GRC
<value></value>
</param>
<param>
<key>fbw</key>
<value>0</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(340, 453)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>notebook</key>
<param>
<key>id</key>
<value>notebook</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>style</key>
<value>wx.NB_TOP</value>
</param>
<param>
<key>labels</key>
<value>[’ Input ’, ’Output ’]</ value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
49
<param>
<key>_coordinate</key>
<value>(79, 609)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>wxgui_fftsink2</key>
<param>
<key>id</key>
<value>wxgui_fftsink2_1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value> float </value>
</param>
<param>
<key> title </key>
<value>Output</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>baseband_freq</key>
<value>0</value>
</param>
<param>
<key>y_per_div</key>
<value>10</value>
</param>
<param>
<key>y_divs</key>
<value>10</value>
</param>
<param>
<key> ref_level </key>
<value>0</value>
</param>
<param>
<key>ref_scale </key>
50 Apéndice A. Código del programa FMRADIO de GRC
<value>2.0</value>
</param>
<param>
<key> fft_size </key>
<value>1024</value>
</param>
<param>
<key> fft_rate </key>
<value>15</value>
</param>
<param>
<key>peak_hold</key>
<value>False</value>
</param>
<param>
<key>average</key>
<value>False</value>
</param>
<param>
<key>avg_alpha</key>
<value>0</value>
</param>
<param>
<key>win</key>
<value>None</value>
</param>
<param>
<key>win_size</key>
<value></value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value>notebook,1</value>
</param>
<param>
<key>freqvar</key>
<value>None</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(811, 526)</value>
51
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>blocks_multiply_const_vxx</key>
<param>
<key>id</key>
<value>blocks_multiply_const_vxx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value> float </value>
</param>
<param>
<key>const</key>
<value>volume</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(604, 478)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key> variable_slider </key>
<param>
<key>id</key>
52 Apéndice A. Código del programa FMRADIO de GRC
<value>volume</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Volume</value>
</param>
<param>
<key>value</key>
<value>1</value>
</param>
<param>
<key>min</key>
<value>1e−3</value>
</param>
<param>
<key>max</key>
<value>10</value>
</param>
<param>
<key>num_steps</key>
<value>100</value>
</param>
<param>
<key>style</key>
<value>wx.SL_HORIZONTAL</value>
</param>
<param>
<key>converver</key>
<value> float_converter </value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(607, 527)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
53
</param>
</block>
<block>
<key> variable_slider </key>
<param>
<key>id</key>
<value> cutoff </value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Cutoff</value>
</param>
<param>
<key>value</key>
<value>100e3</value>
</param>
<param>
<key>min</key>
<value>1e3</value>
</param>
<param>
<key>max</key>
<value>1e6</value>
</param>
<param>
<key>num_steps</key>
<value>100</value>
</param>
<param>
<key>style</key>
<value>wx.SL_HORIZONTAL</value>
</param>
<param>
<key>converver</key>
<value> float_converter </value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value>notebook,0</value>
</param>
<param>
54 Apéndice A. Código del programa FMRADIO de GRC
<key>_coordinate</key>
<value>(673, 130)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key> variable_slider </key>
<param>
<key>id</key>
<value>freq</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Frequency</value>
</param>
<param>
<key>value</key>
<value>90.2e6</value>
</param>
<param>
<key>min</key>
<value>24e6</value>
</param>
<param>
<key>max</key>
<value>1766e6</value>
</param>
<param>
<key>num_steps</key>
<value>100</value>
</param>
<param>
<key>style</key>
<value>wx.SL_HORIZONTAL</value>
</param>
<param>
<key>converver</key>
<value> float_converter </value>
</param>
<param>
<key>grid_pos</key>
<value></value>
55
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(80, 689)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>osmosdr_source</key>
<param>
<key>id</key>
<value>osmosdr_source_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fc32</value>
</param>
<param>
<key>args</key>
<value></value>
</param>
<param>
<key>nchan</key>
<value>1</value>
</param>
<param>
<key>sample_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>freq0</key>
<value>freq + seek</value>
</param>
<param>
<key>corr0</key>
<value>0</value>
</param>
<param>
56 Apéndice A. Código del programa FMRADIO de GRC
<key>dc_offset_mode0</key>
<value>0</value>
</param>
<param>
<key>iq_balance_mode0</key>
<value>0</value>
</param>
<param>
<key>gain_mode0</key>
<value>0</value>
</param>
<param>
<key>gain0</key>
<value>20</value>
</param>
<param>
<key>if_gain0</key>
<value>20</value>
</param>
<param>
<key>bb_gain0</key>
<value>20</value>
</param>
<param>
<key>ant0</key>
<value></value>
</param>
<param>
<key>bw0</key>
<value>0</value>
</param>
<param>
<key>freq1</key>
<value>100e6</value>
</param>
<param>
<key>corr1</key>
<value>0</value>
</param>
<param>
<key>dc_offset_mode1</key>
<value>0</value>
</param>
<param>
<key>iq_balance_mode1</key>
<value>0</value>
</param>
<param>
<key>gain_mode1</key>
57
<value>0</value>
</param>
<param>
<key>gain1</key>
<value>10</value>
</param>
<param>
<key>if_gain1</key>
<value>20</value>
</param>
<param>
<key>bb_gain1</key>
<value>20</value>
</param>
<param>
<key>ant1</key>
<value></value>
</param>
<param>
<key>bw1</key>
<value>0</value>
</param>
<param>
<key>freq2</key>
<value>100e6</value>
</param>
<param>
<key>corr2</key>
<value>0</value>
</param>
<param>
<key>dc_offset_mode2</key>
<value>0</value>
</param>
<param>
<key>iq_balance_mode2</key>
<value>0</value>
</param>
<param>
<key>gain_mode2</key>
<value>0</value>
</param>
<param>
<key>gain2</key>
<value>10</value>
</param>
<param>
<key>if_gain2</key>
<value>20</value>
58 Apéndice A. Código del programa FMRADIO de GRC
</param>
<param>
<key>bb_gain2</key>
<value>20</value>
</param>
<param>
<key>ant2</key>
<value></value>
</param>
<param>
<key>bw2</key>
<value>0</value>
</param>
<param>
<key>freq3</key>
<value>100e6</value>
</param>
<param>
<key>corr3</key>
<value>0</value>
</param>
<param>
<key>dc_offset_mode3</key>
<value>0</value>
</param>
<param>
<key>iq_balance_mode3</key>
<value>0</value>
</param>
<param>
<key>gain_mode3</key>
<value>0</value>
</param>
<param>
<key>gain3</key>
<value>10</value>
</param>
<param>
<key>if_gain3</key>
<value>20</value>
</param>
<param>
<key>bb_gain3</key>
<value>20</value>
</param>
<param>
<key>ant3</key>
<value></value>
</param>
59
<param>
<key>bw3</key>
<value>0</value>
</param>
<param>
<key>freq4</key>
<value>100e6</value>
</param>
<param>
<key>corr4</key>
<value>0</value>
</param>
<param>
<key>dc_offset_mode4</key>
<value>0</value>
</param>
<param>
<key>iq_balance_mode4</key>
<value>0</value>
</param>
<param>
<key>gain_mode4</key>
<value>0</value>
</param>
<param>
<key>gain4</key>
<value>10</value>
</param>
<param>
<key>if_gain4</key>
<value>20</value>
</param>
<param>
<key>bb_gain4</key>
<value>20</value>
</param>
<param>
<key>ant4</key>
<value></value>
</param>
<param>
<key>bw4</key>
<value>0</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
60 Apéndice A. Código del programa FMRADIO de GRC
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(63, 433)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key>wxgui_fftsink2</key>
<param>
<key>id</key>
<value>wxgui_fftsink2_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key> title </key>
<value>Input</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>baseband_freq</key>
<value>freq + seek</value>
</param>
<param>
<key>y_per_div</key>
<value>10</value>
</param>
<param>
<key>y_divs</key>
<value>10</value>
</param>
<param>
<key> ref_level </key>
<value>0</value>
61
</param>
<param>
<key>ref_scale </key>
<value>2.0</value>
</param>
<param>
<key> fft_size </key>
<value>1024</value>
</param>
<param>
<key> fft_rate </key>
<value>15</value>
</param>
<param>
<key>peak_hold</key>
<value>False</value>
</param>
<param>
<key>average</key>
<value>False</value>
</param>
<param>
<key>avg_alpha</key>
<value>0</value>
</param>
<param>
<key>win</key>
<value>None</value>
</param>
<param>
<key>win_size</key>
<value></value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value>notebook,0</value>
</param>
<param>
<key>freqvar</key>
<value>None</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
62 Apéndice A. Código del programa FMRADIO de GRC
<param>
<key>_coordinate</key>
<value>(335, 545)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key> variable_slider </key>
<param>
<key>id</key>
<value>seek</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value>Seek</value>
</param>
<param>
<key>value</key>
<value>0</value>
</param>
<param>
<key>min</key>
<value>−20e6</value>
</param>
<param>
<key>max</key>
<value>20e6</value>
</param>
<param>
<key>num_steps</key>
<value>400</value>
</param>
<param>
<key>style</key>
<value>wx.SL_HORIZONTAL</value>
</param>
<param>
<key>converver</key>
<value> float_converter </value>
</param>
<param>
<key>grid_pos</key>
63
<value></value>
</param>
<param>
<key>notebook</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(248, 732)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key> variable_slider </key>
<param>
<key>id</key>
<value>width</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>label</key>
<value> Transition </value>
</param>
<param>
<key>value</key>
<value>1e6</value>
</param>
<param>
<key>min</key>
<value>1e3</value>
</param>
<param>
<key>max</key>
<value>4e6</value>
</param>
<param>
<key>num_steps</key>
<value>100</value>
</param>
<param>
<key>style</key>
<value>wx.SL_HORIZONTAL</value>
</param>
64 Apéndice A. Código del programa FMRADIO de GRC
<param>
<key>converver</key>
<value> float_converter </value>
</param>
<param>
<key>grid_pos</key>
<value></value>
</param>
<param>
<key>notebook</key>
<value>notebook,0</value>
</param>
<param>
<key>_coordinate</key>
<value>(520, 129)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<block>
<key> freq_xlating_fir_filter_xxx </key>
<param>
<key>id</key>
<value> freq_xlating_fir_filter_xxx_0 </value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>ccc</value>
</param>
<param>
<key>decim</key>
<value>1</value>
</param>
<param>
<key>taps</key>
<value> firdes . low_pass(1,samp_rate, cutoff , width)</value>
</param>
<param>
<key>center_freq</key>
<value>0</value>
</param>
<param>
<key>samp_rate</key>
65
<value>sample</value>
</param>
<param>
<key> affinity </key>
<value></value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(574, 265)</value>
</param>
<param>
<key>_rotation </key>
<value>0</value>
</param>
</block>
<connection>
<source_block_id>rational_resampler_xxx_0 </source_block_id>
<sink_block_id> freq_xlating_fir_filter_xxx_0 </ sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id> freq_xlating_fir_filter_xxx_0 </source_block_id>
<sink_block_id>analog_wfm_rcv_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_multiply_const_vxx_0</source_block_id>
<sink_block_id>audio_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>analog_wfm_rcv_0</source_block_id>
<sink_block_id>rational_resampler_xxx_1 </ sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>rational_resampler_xxx_1 </source_block_id>
<sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
66 Apéndice A. Código del programa FMRADIO de GRC
<connection>
<source_block_id>osmosdr_source_0</source_block_id>
<sink_block_id>rational_resampler_xxx_0 </ sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>osmosdr_source_0</source_block_id>
<sink_block_id>wxgui_fftsink2_0</ sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_multiply_const_vxx_0</source_block_id>
<sink_block_id>wxgui_fftsink2_1</ sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
</flow_graph>
Apéndice B
Sobre la instalación de GRC
B.1 Introducción
La instalación del GNURadio no es trivial, y si además se quieren usar un dispositivo RTL más aún.
Mi recomendación es ir haciéndolo paso a paso y con muchísima atención. Cualquier pequeño descuido
podría implicar un error fatal para el funcionamiento del mismo.
En mi caso las descargas las realicé con el Gestor de Paquetes Synaptic, creo que es la forma más simple
de realizarlo.
Los pasos previos provienen de http:// gnuradio.org/ redmine/ projects/ gnuradio/ wiki/ UbuntuInstall.
Las herramientas de desarrollo necesarias para compilar son: g++ git make cmake sdcc (salen varios
resultados, añadiendo universe solo queda el necesario) guile ccache (esto es opcional, en mi caso lo he
instalado)
Las librerías para el funcionamiento del programa y la compilación: python-dev SWIG libfftw3-dev
libcppunit-dev Boost 1.35 (o superior, pero no 1.46, 1.47 o 1.52). Lo ideal es instalar libboost1.53-all-dev
si es posible, depende de la versión de Linux puede que no sea posible. Muy importante, comprobar que al
instalar alguna versión "permitida" de boost no quede instalada alguna versión de las que se rechazan ya
que impediría el funcionamiento del programa. libgsl0-dev libusb y libusb-dev libusb-1.0-dev Importante,
este fichero hay que comprobar que esté instalado. alsa-base, libasound2 y libasound2-dev
Para GNU Radio Companion: python-numpy, python-cheetah y python-lxml
Para WX GUI: python-wxgtk2.8 y python-numpy
Para QT GUI: python-qt4, python-qwt5-qt4, libqt4-opengl-dev, libqwt5-qt4-dev, libfontconfig1-dev, libxrender-
dev, libxi-dev
Para Video-SDL: libsdl1.2-dev
Para Polyphase Filter Bank examples: python-scipy, python-matplotlib, y python-tk
67
68 Apéndice B. Sobre la instalación de GRC
Hay que tener en cuenta que desde el Gestor de Software o el mismo Gestor de Paquetes de Synaptic
se puede instalar la versión 3.6 pero si es necesario instalar una versión más moderna, por ejemplo para
poder usar el dispositivo RTL, hay que buscar fórmulas alternativas. Después de probar muchas, considero
que esta es la más eficiente y sencilla http:// gnuradio.org/ redmine/ projects/ gnuradio/ wiki/ InstallingGR#
Using-the-build-gnuradio-script.
Para instalar el GNU Radio hay que ubicar el terminal en la dirección donde se quiera instalar el programa
y escribir:
wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio
&& ./build-gnuradio
La instalación es automática y lenta, y si se instalase rápidamente es probable que hubiera habido algún
problema durante este proceso.
En el caso de que ya estuviese instalada en el ordenador una versión superior a la 3.6.4 o por algún motivo
no se hayan instalado los bloques se deben seguir las recomendaciones de http:// sdr.osmocom.org/ trac/
wiki/ GrOsmoSDR.
En caso de querer instalar el módulo (si se ha seguido el paso anterior no es necesario) hay que ejecutar
en el terminal:
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
Después hay que ejecutar (y si estaba instalado pero no instalado):
mkdir build
cd build/
cmake ../
Luego,
make
sudo make install
sudo ldconfig
B.4 Osmocom blocks 69
C.1 Introducción
Para que los sistemas operativos de Windows reconozcan el dispositivo RTL se debe instalar el software
Zadig, que es la base para poder usar cualquier programa del sistema operativo más común. Para ello he
seguido las instrucciones de la página http:// www.rtl-sdr.com/ rtl-sdr-quick-start-guide/ .
71
Índice de Figuras
73
74 Índice de Figuras
75
Índice de Códigos
A.1 fmradio.grc 41
77
Bibliografía
[1] The Wireless Innovation Forum. "Wireless Innovation Forum", [en línea]. 2012, [Octubre 2013].
http:// www.wirelessinnovation.org
[2] Murillo Fuentes, Juan José y Pinar Dominguez, Iván, (2011). "Laboratorio de Comunicaciones Di-
gitales Radio Definidas por Software", Universidad de Sevilla, Sevilla.
[3] A9.com, Motor de búsqueda. "Búsqueda de dispositivos en Amazon", [en línea]. 2004, [Octubre
2013]. http:// www.amazon.com
[4] PerVices. "Noctar", [en línea]. 2013, [Octubre 2013]. http:// www.pervices.com
[5] Hernando-Rábanos, José María, (2008). "Transmisión por radio", 6ª edición, Editorial Ramón Are-
ces, Madrid.
[6] Perales Benito, Tomás, (2005). Radio y Televisión Digitales", Editorial Creaciones Copyright, Ma-
drid.
[7] 213.253.40.136. "Software Defined Radio", [en línea]. Septiembre 2002, Octubre 2013, [Octubre
2013]. http:// en.wikipedia.org/ wiki/ Software-defined_radio
[8] The Wireless Innovation Forum. "Wireless Innovation Forum. What is SDR?", [en línea]. 2012,
[Octubre 2013]. http:// www.wirelessinnovation.org/ what_is_sdr
[9] RTL-SDR blog. “About RTL-SDR”, [en línea]. Agosto 2013, [Octubre 2013]. http:// www.rtl-sdr.
com/ about-rtl-sdr/
[10] SDR-RADIO.com GmbH. "SDR-RADIO", [en línea]. 2009, Noviembre 2013, [Noviembre 2013].
http:// sdr-radio.com/
[11] Brown, Simon. "SDR-RADIO", [en línea]. Mayo 2012, Agosto 2013, [Noviembre 2013]. http:// v2.
sdr-radio.com/
[12] Brown, Simon. "SDR-RADIO", [en línea]. Mayo 2012, Agosto 2013, [Noviembre 2013]. https:
// www.facebook.com/ sdrradiodotcom?fref=ts
[13] RTL-SDR blog. “RTL-SDR Blog”, [en línea]. Agosto 2013, Noviembre 2013, [Noviembre 2013].
https:// www.facebook.com/ rtlsdrblog?fref=ts
[14] Nooelec Inc. "NooElec TV28T", [en línea]. 2012, [Noviembre 2013] http:// www.nooelec.com/
store/ software-defined-radio/ sdr-receivers/ tv28tv2-sdr-dvb-t-usb-stick-set.html#.Us3UC_TuKjA
79
80 Bibliografía
[15] Amateur-radio-wiki. RTL2832U", [en línea]. Abril 2012, Agosto 2013, [Enero 2014]. http:// www.
amateur-radio-wiki.net/ index.php?title=RTL2832&action=history
[16] Realtek Semiconductor Corp. Realtek RTL28332U", [en línea]. 2013, [Octubre 2013].
http:// 152.104.125.41/ products/ productsView.aspx?Langid=1&PNid=22&PFid=35&Level=
4&Conn=3&ProdID=257
[17] Rafael Microelectronics Inc. Realtek Rafael Micro", [en línea]. 2010, [Octubre 2013]. http:// www.
rafaelmicro.com
[18] Lang, Jean-Philippe. "GNU RADIO", [en línea]. 2006, 2011, [Noviembre 2013]. http:// gnuradio.
org/ redmine/ projects/ gnuradio/ wiki