Descargar - Universidad de Sevilla

Anuncio
Proyecto Fin de Carrera
Ingeniería de Telecomunicación
Estudio piloto de los demoduladores de la
serie RTL de Realtek para la Radio Definida
por Software
Autor: Manuel Puerto González
Director: Juan José Murillo Fuentes
Teoría de la Señal y Comunicaciones
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2014
Proyecto Fin de Carrera
Ingeniería de Telecomunicación
Estudio piloto de los demoduladores de la serie RTL de Realtek para la
Radio Definida por Software
Autor:
Manuel Puerto González
Director:
Juan José Murillo Fuentes
Profesor Titular
Teoría de la Señal y Comunicaciones
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
2014
Proyecto Fin de Carrera:
Autor:
Director:
Estudio piloto de los demoduladores de la serie RTL de Realtek para la
Radio Definida por Software
Manuel Puerto González
Juan José Murillo Fuentes
El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores:
Presidente:
Vocal/es:
Secretario:
acuerdan otorgarle la calificación de:
El Secretario del Tribunal
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
La formación de los ingenieros debe de complementarse aplicando los conocimientos adquiridos. En
el campo de las radiocomunicaciones hasta hace poco la manera asequible de llevarla a la práctica era
mediante simulaciones de ordenador. En este proyecto se pretende demostrar que existen una serie de dispositivos de Radio Definida por Software con características similares que pueden ser útiles para aplicar
dichos conocimientos de forma económica.
Para ello se elige el dispositivo Nooelec TV28T, un pequeño receptor externo USB de televisión digital,
formado por un demodulador RTL2832U y un sintonizador R820T. Se detallan sus características y se
analizan algunos de los programas gratuitos y compatibles para este elemento.
Además se recoge información sobre la Radio Definida por Software y su vertiente de más bajo coste. Se
incluyen dos prácticas con el programa gratuito SDR-J, una para la sintonización de radio FM y otra para
la sintonización de radio digital. También se han incorporado de forma detallada los pasos necesarios para
instalar una versión de GNU Radio Companion muy apta para los intereses de este proyecto, ya que se ha
añadido el código de un receptor FM para este programa.
La novedad de estos dispositivos y sus programas compatibles conllevan una serie de inconvenientes que
se han detallado. A pesar de ello, este conjunto hardware y software es una herramienta útil para poner
en práctica conocimientos de radiocomunicación. El disponer de un programa como el SDR-J sirve como
introductorio dada su simplicidad y los otros más complejos son de gran ayuda para poder desarrollar
futuras aplicaciones radio.
V
Abstract
The academic training of engineers should be complemented applying the knowledge acquired. The affordable 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.2
1.3
1.4
1
Definiciones previas
Análisis inicial
1.2.1 Breve historia de SDR
1.2.2 Evolución actual
1.2.3 RTL
Objetivo del proyecto
Organización del proyecto
1
1
2
2
3
3
4
2 CONCEPTOS BÁSICOS DE SDR
2.1
2.2
5
Funcionamiento del SDR
2.1.1 En recepción
2.1.2 En transmisión
SDR en el mercado actual
6
6
7
7
3 CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
3.1
3.2
3.3
3.4
Nooelec TV28T v2
RTL2832U
3.2.1 Características
R820T tuner
Información no contrastada
9
10
10
13
13
4 SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
4.1
9
Algunas noticias destacadas
4.1.1 LNA4HF: Interest check
4.1.2 Transmitting data with a Raspberry PI and RTL-SDR
4.1.3 ADS-B Active PCB antenna for the RTL-SDR
4.1.4 Creating an FM receiver in GNURadio using an RTL-SDR source
IX
17
18
18
18
18
18
Índice
X
4.2
Programas habilitados para usar dispositivos RTL
4.2.1 GNU Radio
Algunas características de GNU Radio Companion
4.2.2 SDR-J
4.2.3 SDR#
5 PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
5.1
5.2
5.3
Introducción
5.1.1 Objetivo
5.1.2 Desarrollo
FM Receiver
5.2.1 Iniciar el programa
5.2.2 Frecuencia y ajustes
DAB Receiver
5.3.1 Iniciar el programa
5.3.2 Ajustes
6 CONCLUSIONES
6.1
6.2
Conclusiones
Problemas encontrados
18
18
19
20
21
25
25
26
26
27
27
28
31
31
33
39
39
40
Apéndice A Código del programa FMRADIO de GRC
41
Apéndice B Sobre la instalación de GRC
67
B.1
B.2
B.3
B.4
Introducción
Pasos previos
GNU Radio
Osmocom blocks
67
67
68
68
Apéndice C Instalación de Zadig
71
C.1
Introducción
Índice de Figuras
Índice de Tablas
Índice de Códigos
Bibliografía
71
73
75
77
79
1 INTRODUCCIÓN
1.1 Definiciones previas
Para un mejor entendimiento de este proyecto se detallan previamente los principales términos y conceptos. 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 receptores 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 digital que usa el demodulador RTL2832U. Otro de los elementos principales de los que está formado
es el sintonizador, en este caso modelo R820T.
RTL2832U: Elemento. Modelo de demodulador de Realtek y que da nombre al concepto RTLSDR.
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.
1.2 Análisis inicial
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
INTRODUCCIÓN
2
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 receptor Zero-IF o low-IF1 configurable de tal manera que puede utilizarse para diseñar distintos
componentes como mezcladores, filtros, amplificadores, moduladores/demoduladores y detectores entre otros e incluso sistemas completos tales como transmisores, receptores, transceptores, osciloscopios, analizadores de espectro o analizadores vectoriales de redes, siendo
sus parámetros configurables dinámicamente y por consiguiente aportando una gran flexibilidad 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 hardware).
1.2.1
Breve historia de SDR
La idea de SDR inicial trata de reducción de costes y aprovechamiento de dispositivos de propósito
general. Desde 1991 hasta 1995 surge el proyecto militar SPEAKEasy en USA, un equipo programable
que albergaba 10 tipos de tecnologías de comunicaciones inalámbricas con un rango entre los 2 MHz y
200 MHz. La segunda fase del proyecto tardó poco más de un año y trabaja en un rango entre los 4 MHz
y los 400 MHz [2].
Surge el SDR Forum, actual Wireless Innovation Forum, en 1996 como grupo de trabajo de un conjunto
de grandes empresas.
En 2001 comienza el proyecto de GNU3 GNU Radio, una herramienta de Software libre para implementar
sistemas SDR. En 2006 se inicia el GRC, GNU Radio Companion, una interfaz gráfica para GNU Radio,
que hace mucho más intuitiva la programación.
El siguiente hito es el USRP, Universal Software Radio Peripheral, un dispositivo SDR del 2010 no solo
importante por sí mismo, sino por hacer común el programa GNU Radio.
1.2.2
Evolución actual
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/receptores 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, estandarizar 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
Serial Bus
3 GNU is Not Unix
2 Universal
INTRODUCCIÓN
3
al público, y será este el que guíe el camino de su evolución.
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.
1.3 Objetivo del proyecto
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.
4 Digital
Video Broadcasting – Terrestrial, Difusión de Video Digital - Terrestre
4
INTRODUCCIÓN
1.4 Organización del 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 principales, 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, Figura 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 defina (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].
Figura 2.1
Logotipo del Wireless Innovation Forum.
La Wireless Innovation Forum, anteriormente llamado SDR Forum, fue fundada en 1996, es una corporació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 niveles, 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
CONCEPTOS BÁSICOS DE SDR
6
Center, MIT Lincoln Laboratory, Motorola Solutions, etc.
2.1 Funcionamiento del SDR
Partiendo de la Figura 2.2 se describirá SDR por bloques funcionales.
Figura 2.2
Diagrama de bloques funcionales de SDR. Imagen obtenida de [2].
A continuación la descripción se dividirá en función de si es recepción o transmisión. El motivo es que
los dispositivos RTL son solo de recepción. A tener en cuenta en los dos siguientes subapartados que la
señal IF puede ser 0, es decir, del tipo Zero-IF.
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:
Tasa de Muestreo: número de mediciones de la señal analógica por segundo.
Rango Dinámico: diferencia entre los valores máximos y mínimos de la señal analógica que es
capaz de convertir.
Tiempo de Conversión: tiempo que tarda en pasar un dato analógico a digital.
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 Conversor
Analógico Digital
Digital de Bajada
3 Banda Base
2 Conversor
CONCEPTOS BÁSICOS DE SDR
2.1.2
7
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.
2.2 SDR en el mercado actual
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, trabajando 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.
4 Conversor
5 Conversor
Digital de Subida
Digital Analógico
3 CONCEPTOS DE ELEMENTOS Y
ARQUITECTURA HARDWARE
El dispositivo TV28T, Figura 3.1, es un producto comercializado por Nooelec. En los siguientes apartados se introducirán sus principales características y de sus dos elementos principales, el demodulador,
RTL2832U, y el sintonizador, R820T.
3.1 Nooelec TV28T v2
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:
Figura 3.1
Dispositivo con mando a distancia y antena.
9
CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
10
Figura 3.2
Exterior dispositivo Nooelec TV28T.
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
COFDM cumple con las siguientes especificaciones:
1. NorDig Unified 1.0.3
2. D -Book 5.0
CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
Figura 3.3
Interior dispositivo Nooelec TV28T.
3. EN300 744 (ETSI)
Soporta múltiples frecuencias IF, 4.57 MHz o 36.167 MHz, e inversión de espectro.
Incluye ISDB-T (SBTVD-T) 1-Seg (televisión japonesa para dispositivos móviles).
Soporta entrada de Zero -IF.
Cristal de bajo coste para la generación de la señal de reloj.
Modo de transmisión automático y detección de intervalos de guarda.
Circuito de cancelación de ruido de impulsos.
Recuperación de la portadora automática con amplio rango de offset (+- 800 kHz).
Rendimiento superior con pre/post/long echo perfil.
Circuito de rechazo de interferencia cocanal e interferencia adyacente.
Retraso AGC con Take- Over Point (TOP) programable.
CAD de 7 bits para medida de niveles de señales de radiofrecuencia.
11
12
CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
Figura 3.4
Antena incluida con el dispositivo Nooelec TV28T.
Figura 3.5
Demodulador RTL2832U.
Filtros hardware MPEG-2 PID.
Para el control remoto y "wake up" del puerto infrarrojo soporta los protocolos:
1. Microsoft RC6.
2. NEC, Sony, SIRC, RC-5.
Ocho puertos de propósito general de entrada/salida.
Interfaz USB 2.0:
CONCEPTOS DE ELEMENTOS Y ARQUITECTURA HARDWARE
13
1. Soporta USB Full/High speed.
2. Información del proveedor configurable vía EEPROM externa
3. Supera certificación USB-IF.
Alimentación externa de 3.3 V.
Empaquetado verde QFN de 48 pines (6x6mm2 ).
3.3 R820T tuner
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).
3.4 Información no contrastada
Estos sintonizadores, además de no llevar mucho tiempo en el mercado, desde hace poco han incrementado 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
Figura 3.6
Esquema del sintonizador R820T para la televisión.
Figura 3.7
Esquema del sintonizador R820T para el ordenador.
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, compará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
Figura 3.8
Diagrama de bloques simplificado del R820T.
15
4 SOFTWARE E INFORMACIÓN GENERAL
SOBRE RTL-SDR
A continuación se pretende dar una guía para la introducción en el mundo RTL-SDR, se explica el funcionamiento 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
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
18
About RTL-SDR. Contiene una muy buena introducción del concepto RTL-SDR.
4.1 Algunas noticias destacadas
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.
4.1.1
LNA4HF: Interest check
Artículo de http:// www.rtl-sdr.com/ lna4hf-interest-check/ del 19 de noviembre de 2013. Muestra un amplificador LNA de alta frecuencia, de 2 a 30 MHz, diseñado específicamente para los dispositivos DVB-T
SDR, según el autor es un prototipo y está sin terminar. Meses antes, en abril, publicó un artículo sobre
otro LNA con un rango entre 25 y 2500 MHz y que puso a la venta.
4.1.2
Transmitting data with a Raspberry PI and RTL-SDR
Artículo de http:// www.rtl-sdr.com/ transmitting-data-raspberry-pi-rtl-sdr/ del 18 de noviembre de 2013
Considero este artículo importante ya que liga a un receptor RTL-SDR con el dispositivo Raspberry
PI, un ordenador de muy bajo coste, para la recepción de una señal generada con otra Raspberry PI,
desarrollado para el aprendizaje de la informática y que además de interesar a universidades comienza a
interesar también a empresas por su bajo consumo. Se habla de transmitir con la Raspberry y un programa
llamado minimodem una señal FSK de 100 MHz.
4.1.3
ADS-B Active PCB antenna for the RTL-SDR
Artículo de http:// www.rtl-sdr.com/ ads-b-active-pcb-antenna-rtl-sdr/ del 10 de noviembre de 2013 El
autor muestra su antena PCB activa, centrada en una frecuencia de 1090 MHz. En el enlace se muestra el
diseño y los resultados obtenidos.
4.1.4
Creating an FM receiver in GNURadio using an RTL-SDR source
Artículo de http:// www.rtl-sdr.com/ tutorial-creating-fm-receiver-gnuradio-rtl-sdr/ del 4 de noviembre
de 2013 En este se describe como crear mediante bloques un receptor FM. Todo de forma detallada,
clara y ordenada. Es un buen ejemplo para probar el dispositivo y dar los primeros pasos con el GNURadio.
4.2 Programas habilitados para usar dispositivos RTL
4.2.1
GNU Radio
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 simulació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.
Figura 4.1
Logotipo de la organización GNU Radio.
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/ RTLSDR-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.
Figura 4.2
Logotipo e icono de GNU Radio Companion.
Algunas características de GNU Radio Companion
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.
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
20
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 frecuencias 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.
Figura 4.3
Ejemplo de la radio FM en GRC completo.
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
Figura 4.4
21
Bloque y propiedades de la fuente RTL-SDR.
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
Figura 4.5
Display del espectro de entrada de la radio FM.
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
Figura 4.6
Display del espectro de salida de la radio FM.
Figura 4.7
Radio DAB de SDR-J.
23
24
SOFTWARE E INFORMACIÓN GENERAL SOBRE RTL-SDR
Figura 4.8
Figura 4.9
Radio FM de SDR-J.
Radio simplificada FM de SDR-J.
5 PROPUESTAS DE USO DEL RTL-SDR EN
PRÁCTICAS DE RADIO DIGITAL
5.1 Introducción
Se pretende que esta primera práctica la pueda realizar cualquier persona, esté o no en algún laboratorio 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 instalar 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 seguramente 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.
Si la práctica se realiza en un laboratorio y el alumnado dispone de su propio portátil el coste es de unos
20 euros por alumno, que es el precio del Nooelec TV28T, dependiendo de las variaciones del precio de
venta y el cambio dólar-euro. Además, para el caso de un laboratorio de tamaño estándar bastaría con
la antena que viene de serie. En caso de ser necesaria una antena diferente, el cable o adaptador cuesta
en torno a unos 2 euros. El precio de la antena es muy variable, dependiendo de la calidad y el rango de
frecuencias para la que esté hecha.
25
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
26
Figura 5.1
5.1.1
Antena serie de los dispositivos SDR de Nooelec.
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 Nooelec 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
Figura 5.2
27
Captura de FM Receiver 0.92 con numeración (versión usada 0.96, no afecta a la numeración).
5.2 FM Receiver
Este receptor FM, aparte del funcionamiento típico permite ver el espectro de potencia y realizar cambios 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.
5.2.1
Iniciar el programa
1 INPUT DEVICE. Primer botón que se debe usar, las opciones que muestra son las siguientes, Figura 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
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
28
Figura 5.3
Figura 5.4
Selector 1. Input device.
Selector 3. Output device.
Figura 5.5
Figura 5.6
Selector 2. Start.
Selector 11. Raw input dump.
2 START Inicia el proceso, Figura 5.5.
11 RAW INPUT DUMP graba los datos recibidos por el dispositivo en bruto con el formato “.raw”. Si se
pulsa de nuevo para de grabar, Figura 5.6.
12 AUDIO DUMP graba la salida de audio en formato “.wav”. Si se pulsa de nuevo para de grabar,
Figura 5.7.
5.2.2
Frecuencia y ajustes
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
Figura 5.7
Figura 5.8
29
Selector 12. Audio dump.
Teclado numérico y selectores para el control de la frecuencia.
Figura 5.9
Figura 5.10
Selectores f++ y f–.
Selectores fc++ y fc–.
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
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
30
Figura 5.11
Figura 5.12
Selectores de salto de frecuencia.
Pantallas de espectro de frecuencia, la superior es la recibida y la inferior la decodificada.
Figura 5.13
Información de tasas de datos.
Figura 5.14
Diversos controles.
El selector 22 permite elegir decodificar como mono o estéreo.
El selector 23 permite entre elegir una salida mono o estéreo (siempre que se haya decodificado en
estéreo).
La barra 30 es el balance de la salida izquierda y derecha.
El selector 29 permite decodificar con uno de los dos decodificadores disponibles o no decodificar,
Figura 5.16. La información decodificada se muestra a la derecha del selector.
El selector 24 permite elegir varias vistas diferentes del espectro de la señal decodificada (el display
inferior).
El selector 25 permite elegir el filtro de de-énfasis, no activarlo o un valor de “50” o “75”.
El selector 26 es un filtro Low Pass, si no se quiere incluir hay que elegir “none”.
El selector 27, si está activado muestra los displays que se sitúan en la parte inferior derecha,
Figura 5.17, con una velocidad de refresco de 1 segundo. Los valores que se muestran son:
1. Pilotstrenght fuerza de la señal piloto.
2. Rdsstrenght fuerza de la señal rds.
3. Noisestrengh fuerza del ruido.
El selector 28 SAVE almacena los valores anteriores en un fichero.
QUIT Para cerrar el programa, si está grabando lo guarda y cierra, Figura 5.18.
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
Figura 5.15
Selector 21. Decodificadores.
Figura 5.16
Figura 5.17
31
Selector 29. RDS.
Displays de información sobre la señal recibida.
Figura 5.18
Selector Quit.
5.3 DAB Receiver
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 totalidad 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.
5.3.1
Iniciar el programa
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
Figura 5.19
DAB Receiver con numeración.
Figura 5.20
Selector 1. Input device.
Figura 5.21
Selector 2. Mode.
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
Tabla 5.1
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
33
Características DAB en función del modo. Tabla obtenida de [5].
Período de símbolo, Tsimb (µs)
Tiempo útil, Tu (µs)
Tiempo de guarda, TS (µs)
Número de portadoras, N
Número de bits por símbolo
Período de trama, Tt (µs)
Bloques FIB por trama
Bits FIB codificados por trama
Velocidad media FB (kbit/s)
Símbolos FIC por trama
Campos CIF por trama
Duración símbolo nulo (µs)
Símbolos COFDM por trama
Separación entre portadoras (kHz)
Anchura de banda (kHz)
Figura 5.22
MI
1.246
1.000
246
1.536
3.072
96
12
9.216
96
3
4
1.297
72
1
1.536
M II
312
250
62
384
768
24
3
2.304
96
3
1
324
72
4
1.536
M III
156
125
31
192
384
24
4
3.072
128
3
1
168
144
8
1.536
M IV
623
500
123
768
1.536
48
6
4.608
96
3
2
648
72
2
1.536
Relación
C = A−B
E = 2×D
I = 768 × H
J = I/G
K = I/E
P = D×N
Selector 3. Banda.
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, Figura 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 derecha:
34
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
Tabla 5.2
Lista de canales de la banda III.
Block
5A
5B
5C
5D
6A
6B
6C
6D
7A
7B
7C
7D
8A
8B
8C
8D
9A
9B
9C
9D
10A
10B
10C
10D
10N
11A
11B
11C
11D
11N
12A
12B
12C
12D
12N
13A
13B
13C
13D
13E
13F
Centre Frequency
174.928 MHz
176.640 MHz
178.352 MHz
180.064 MHz
181.936 MHz
183.648 MHz
185.360 MHz
187.072 MHz
188.928 MHz
190.640 MHz
192.352 MHz
194.064 MHz
195.936 MHz
197.648 MHz
199.360 MHz
201.072 MHz
202.928 MHz
204.640 MHz
206.352 MHz
208.064 MHz
209.936 MHz
211.648 MHz
213.360 MHz
215.072 MHz
210.096 MHz
216.928 MHz
218.640 MHz
220.352 MHz
222.064 MHz
217.088 MHz
223.936 MHz
225.648 MHz
227.360 MHz
229.072 MHz
224.096 MHz
230.784 MHz
232.496 MHz
234.208 MHz
235.776 MHz
237.488 MHz
239.200 MHz
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
Tabla 5.3
Lista de canales de la banda L.
Block
LA
LB
LC
LD
LE
LF
LG
LH
LI
LJ
LK
LL
LM
LN
LO
LP
Figura 5.23
Center Frequency
1452.960 MHz
1454.572 MHz
1456.384 MHz
1458.096 MHz
1459.808 MHz
1461.520 MHz
1463.232 MHz
1464.944 MHz
1466.656 MHz
1468.368 MHz
1470.080 MHz
1471.792 MHz
1473.504 MHz
1475.216 MHz
1476.928 MHz
1478.640 MHz
Selector 19. Selección de la salida.
Figura 5.24
Figura 5.25
35
Selector 14. Inicio.
Información de las tramas recibidas.
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 informació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
Figura 5.26
Información de la estación.
Figura 5.27
Figura 5.28
Figura 5.29
Lista de estaciones.
Constelación de la estación.
Selector 7. Spectrum/waterfall.
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 seleccionables 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
Figura 5.30
Figura 5.31
37
Pantalla con el espectro.
Pantalla con el espectro en cascada.
Figura 5.32
Figura 5.33
Información diversa.
Selector 12. Reset.
inferior al establecido y se dejaría de oír.
2. START ADDR
3. LENGTH
4. PROT LEVEL: Nivel de protección.
5. BIT RATE: Tasa error bit.
6. ASCTy: Audio Service Component Type.
12 RESET, Figura 5.33. Es un botón de reinicio, sería como volver a abrir el programa y llegar hasta el
paso de START.
38
PROPUESTAS DE USO DEL RTL-SDR EN PRÁCTICAS DE RADIO DIGITAL
Figura 5.34
Selector 15. Quit. Salida de DAB Receiver.
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 posibilidades 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 experimentar 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 dispositivos.
En el campo académico, para ser más específico, esta escuela, la Escuela Técnica Superior de Ingenierí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 dispositivos 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 posibilidad 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
6.2 Problemas encontrados
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 ejemplos.
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
Código del programa FMRADIO de GRC
Código de la radio FM para GNU Radio Companion creado por v3l0c1r4pt0r.
Código A.1 fmradio.grc.
<?xml version =’1.0’ encoding=’ASCII’?>
<flow_graph>
<timestamp>Wed Oct 30 20:14:16 2013</timestamp>
<block>
<key>options</key>
<param>
<key>id</key>
<value>top_block</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key> title </key>
<value>FM Radio</value>
</param>
<param>
<key>author</key>
<value></value>
</param>
<param>
<key> description </key>
<value></value>
</param>
<param>
<key>window_size</key>
<value>1280, 1024</value>
41
Apéndice A. Código del programa FMRADIO de GRC
42
</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>
Apéndice A. Código del programa FMRADIO de GRC
46
<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>
Apéndice A. Código del programa FMRADIO de GRC
48
<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>
Apéndice A. Código del programa FMRADIO de GRC
50
<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>
Apéndice A. Código del programa FMRADIO de GRC
52
<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>
Apéndice A. Código del programa FMRADIO de GRC
54
<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>
Apéndice A. Código del programa FMRADIO de GRC
56
<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>
Apéndice A. Código del programa FMRADIO de GRC
58
</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>
Apéndice A. Código del programa FMRADIO de GRC
60
<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>
Apéndice A. Código del programa FMRADIO de GRC
62
<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.
B.2 Pasos previos
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, libxrenderdev, 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
Otros paquetes útiles: doxygen octave
Si la versión de Ubuntu es la 12.04 se debe ejecutar lo siguiente en el terminal:
sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \
pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev
En caso contrario consultar la página web donde vienen detalladas más posibilidades.
B.3 GNU Radio
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.
B.4 Osmocom blocks
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
Y ya deberían aparecer los bloques que interesan.
69
Apéndice C
Instalación de Zadig
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
2.1
2.2
Logotipo del Wireless Innovation Forum
Diagrama de bloques funcionales de SDR. Imagen obtenida de [2]
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Dispositivo con mando a distancia y antena
Exterior dispositivo Nooelec TV28T
Interior dispositivo Nooelec TV28T
Antena incluida con el dispositivo Nooelec TV28T
Demodulador RTL2832U
Esquema del sintonizador R820T para la televisión
Esquema del sintonizador R820T para el ordenador
Diagrama de bloques simplificado del R820T
9
10
11
12
12
14
14
15
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
Logotipo de la organización GNU Radio
Logotipo e icono de GNU Radio Companion
Ejemplo de la radio FM en GRC completo
Bloque y propiedades de la fuente RTL-SDR
Display del espectro de entrada de la radio FM
Display del espectro de salida de la radio FM
Radio DAB de SDR-J
Radio FM de SDR-J
Radio simplificada FM de SDR-J
19
19
20
21
22
23
23
24
24
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
Antena serie de los dispositivos SDR de Nooelec
Captura de FM Receiver 0.92 con numeración (versión usada 0.96, no afecta a la numeración)
Selector 1. Input device
Selector 3. Output device
Selector 2. Start
Selector 11. Raw input dump
Selector 12. Audio dump
Teclado numérico y selectores para el control de la frecuencia
Selectores f++ y f–
Selectores fc++ y fc–
Selectores de salto de frecuencia
26
27
28
28
28
28
29
29
29
29
30
73
5
6
74
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
5.32
5.33
5.34
Índice de Figuras
Pantallas de espectro de frecuencia, la superior es la recibida y la inferior la decodificada
Información de tasas de datos
Diversos controles
Selector 21. Decodificadores
Selector 29. RDS
Displays de información sobre la señal recibida
Selector Quit
DAB Receiver con numeración
Selector 1. Input device
Selector 2. Mode
Selector 3. Banda
Selector 19. Selección de la salida
Selector 14. Inicio
Información de las tramas recibidas
Información de la estación
Lista de estaciones
Constelación de la estación
Selector 7. Spectrum/waterfall
Pantalla con el espectro
Pantalla con el espectro en cascada
Información diversa
Selector 12. Reset
Selector 15. Quit. Salida de DAB Receiver
30
30
30
31
31
31
31
32
32
32
33
35
35
35
36
36
36
36
37
37
37
37
38
Índice de Tablas
5.1
5.2
5.3
Características DAB en función del modo. Tabla obtenida de [5]
Lista de canales de la banda III
Lista de canales de la banda L
75
33
34
35
Í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 Digitales 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 Areces, Madrid.
[6] Perales Benito, Tomás, (2005). Radio y Televisión Digitales", Editorial Creaciones Copyright, Madrid.
[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
Descargar