Está en la página 1de 6

Recibido: 08.02.2019 I Aceptado: 01.03.

2019

Palabras clave: FM, GNU-RADIO, RTL-SDR, Python, SDR


y sintonizador.

Radio definido
por software,
futuro de las
GARETH MONTENEGRO CHÁIDEZ
garethchaidez@gmail.com
VÍCTOR IVÁN RODRÍGUEZ ABDALÁ
comunicaciones
abdala@uaz.edu.mx
UNIVERSIDAD AUTÓNOMA DE ZACATECAS
FRANCISCO RUBÉN CASTILLO SORIA
inalámbricas
ruben.soria@uaslp.mx
FACULTAD DE CIENCIAS, UASLP

La radio definida por software (SDR, por sus siglas en inglés)


es una tecnología de radiocomunicación en la que algunos
componentes electrónicos son reemplazados por programas de
computadora, el objetivo es proporcionar soluciones flexibles
para la innovación en el diseño e implementación de los futuros
sistemas de comunicación inalámbricos (Alonso, 2016).

24 UNIVERSITARIOS POTOSINOS 234 ABRIL 2019 MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
En el presente artículo se muestra el les enviadas desde un satélite. Éstos
desarrollo de un receptor de radio FM pueden llegar a ser dispositivos de bajo
basado en SDR combinado con las he- costo, puesto que su función se limita a
rramientas de software libre: GNU Ra- la recepción de señales (Sruthi, Abirami,
dio, PyQt y PLSDR, que se explican más Manikkoth, Gandhiraj y Soman, 2013).
adelante, lo que permitió realizar una
interfaz de usuario más intuitiva para El esquema de funcionamiento de
el análisis de señales en tiempo real y SDR se presenta en la figura 1, donde
para procesamiento posterior. los componentes de hardware del re-
ceptor van desde la antena hasta los
Este receptor SDR, denominado TL- convertidores de analógico a digital y
2832U, opera en el intervalo de fre- viceversa (ADC y DAC, respectivamen-
cuencias de 500 kilohertz (kHz) has- te, por sus siglas en inglés), el bloque
ta 1.7 gigahertz (GHz) y un ancho de de procesamiento digital representa los
banda reconfigurable de hasta 2.4 me- algoritmos de software que utiliza SDR.
gahertz (Mhz), lo que permite sintoni-
zar desde estaciones de radio comer- La interfaz gráfica de usuario (GUI, por
ciales hasta televisión satelital. sus siglas en inglés) es diseñada con
PyQt5 (un lector intuitivo para el lengua-
¿Cómo funciona la SDR? je de programación Python) y Qt Desig-
Un problema actual y común en los sis- ner (un editor gráfico); el procesamiento
temas de telecomunicaciones inalámbri- de la señal se realiza con el programa
cas es la actualización del equipo de ra- GNU Radio que permite el procesamien-
dio de una manera fácil y rentable, para to de señales a través de bloques. Las
que éstos sean capaces de soportar los librerías de RTL-SDR comunican al recep-
nuevos estándares de comunicación. tor SDR con la interfaz de software para
el procesamiento de la señal capturada.
La SDR trabaja con hardware de propósi-
to general que, combinado con transmi- Otra característica es que este receptor
sores y receptores de radiofrecuencia, de FM es modular, por lo que tiene la
permite la implementación de diversos capacidad de agregar (o quitar) otros
sistemas de comunicación, desde un módulos de hardware y de software,
simple receptor de radio utilizando FM permitiendo así, ser la base de aplica-
comercial hasta un receptor de seña- ciones tanto de transmisión como re-

Aislador

ADC

Procesamiento
digital
Figura 1.
Esquema SDR DAC
(Mitola, 1995).
Amplificador
de potencia

RADIO DEFINIDO POR SOFTWARE ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 25


cepción de señales que operen con Para el diseño de la GUI, Python requiere
múltiples plataformas de SDR. de PyQT, una biblioteca para el desarro-
llo de aplicaciones con entorno gráfico;
Herramientas de desarrollo ésta, a su vez, permite agregar funciones
A continuación, se explican de manera a la interfaz para hacerla más atractiva y
breve los programas utilizados como fácil de operar a los usuarios finales.
herramientas para el desarrollo del re-
ceptor de radio FM propuesto. PLSDR de Paul Lutus. Es una aplica-
ción de SDR de alto desempeño que
GNU Radio. Es una plataforma de procesa señales de radio en múltiples
software libre conformada por un con- bandas para diversos tipos de radioco-
junto de librerías que procesan las se- municación.
ñales a través de bloques con diversos
dispositivos de SDR. Cuenta con una RTL-SDR . El RTL-SDR V3 que se observa
interfaz gráfica para diseñar y gestionar en la figura 2 es un dispositivo con un
bloques de procesamiento de señales circuito integrado RTL 2832U, que cap-
llamado el compañero de GNU Radio tura señales en un rango de 500 kHz
(GRC , por sus siglas en inglés), el cual hasta 1.7 GHz, con un ancho de banda
permite a usuarios crear programas de de hasta 2.4 MHz.
procesamiento de señales sin la nece-
sidad de escribir un código de progra- Implementación de un receptor de
mación (Python). FM utilizando SDR
En la figura 3 se observa el diagrama
El entorno de GNU Radio puede usar- de bloques de un receptor de FM de-
se con hardware de radio frecuencia sarrollado en GNU Radio. Este sistema
externo para recibir señales en tiempo se conforma de un bloque llamado
real o sin él, utilizando señales alma- RTL-SDR Source, que sintoniza desde
cenadas en una computadora. GNU 80 hasta 110 MHz, con una velocidad
Radio es ampliamente utilizado en la de muestreo de 2 MHz, que representa
investigación, industria, academia, go- el ancho de banda del receptor, del ta-
bierno y por aficionados para apoyar maño del intervalo de frecuencias que
tanto la investigación en las comunica- pueden observarse en ese instante. De-
ciones inalámbricas como los sistemas bido a que este intervalo de frecuencias
de radio del mundo real (The GNU Ra- es muy grande para una señal de radio
dio Foundation, Inc., s. f.). FM, debe aplicarse un filtro

Python y PyQt. Python es un len-


guaje de programación orientado
a objetos. Su propósito principal
se enfoca a la escritura de có-
digo de programación fácil de
entender.

Figura 2.
a) Dispositivo RTL-SDR V3 y b)
Interior

26 UNIVERSITARIOS POTOSINOS 234 ABRIL 2019 MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
Figura 3.
RTL-SDR Source QT GUI Waterfall Sink
Diagrama de
Sample Rate (sps): 2M FFT Size: 1.024k
bloques de un
Ch0: Frequency (Hz): 94.7M Center Frequency (Hz): 94./M
Bandwidth (Hz): 2M receptor FM.
Ch0: Freq. Corr. (ppm): 0 Fuente: GNU Radio Companion.
Ch0: DC Offset Mode: Automatic
Ch0: IQ Balance Mode: Automatic
Ch0: Gain Mode: Manual
Ch0: RF Gain (dB): 15 QT GUI Frequency Sink
Ch0: IF Gain (dB): 20 FFT Size: 1.024k
Ch0: BB Gain (dB): 20 Center Frequency (Hz): 94./M
Ch0: Bandwidth (Hz): 2M Bandwidth (Hz): 2M

Low Pass Filter


Decimation: 8
Gain: 2
Sample Rate: 2M
Cutoff Freq:100k
Transition Width: 5k WBFM Receive
Window: Kaiser Quadrature Rate: 250k
Beta: 6.76 Audio Decimation: 1

Rational Resampler
Interpolation: 48 Multiply Const
Decimation: 250 Constant: 0
Taps:
Fractional BW: 0

Audio Sink
Sample Rate: 48KHz

que entregue únicamente la señal de la Desarrollo del receptor


estación de radio a sintonizar. de FM
La figura 3 representa el programa
La señal filtrada se envía a un sintoniza- mediante el cual se desarrolla un receptor
dor de radio FM; el ancho de banda de la de radio SDR directamente con Python.
señal sintonizada tiene una velocidad de Utilizando PyQT, se genera una interfaz
muestreo diferente al de una tarjeta de de usuario para sintonizar la radio.
sonido de una computadora, por lo que
se hace un ajuste de la señal para que el Las herramientas y librerías que se
dispositivo de audio de la computadora implementaron en este proyecto se
pueda reproducir la estación de radio. muestran en la figura 4. En la parte

RADIO DEFINIDO POR SOFTWARE ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 27


Figura 4.
Herramientas y Herramientas
librerías para el
desarrollo del
receptor SDR. RTL-SDR Qt Designer

GNU-Radio Python/PyQt

Desarrollo
Receptor SDR de FM de Banda Ancha (PythonSDR.py) GUI (PythonSDR_GUI.py)
Librerías Librerías
a) Radio.osmosdr_source a) QtCore.QObject
b) Radio.lox_pass_filter_wfm b) Radio.logpwrfft
c) Radio.analog_wfm_rcv c) FFTDisp
d) Radio.rational_resampler_wid d) Waterfall
e) Radio.blocks_multiply_const_volumen
f) Radio.audio_sink

Python SDR (Aplicación)


Valores iniciales para receptor SDR Valores inicales en la GUI
Radio.if_sample_rate = int(240e3) antena :0
Radio.mode = Radio.main.MODE_WFM sample_rate :2.4e6
Radio.squelch_level = -130 audio_rate:48000
Radio.device_name =’RTL-SDR’ freq :106500000
Radio.device_drive_name =’rtl’ Bandwidth :5
dbscale_lo:-140
dbsacale_hi :10
fft_zoom :-1
waterfall_bais :150

Figura 5.
GUI del receptor de FM.
Fuente: PythonSDR-GMC.

superior pueden observarse las utiliza-


das para desarrollar la GUI y en la parte
inferior la forma en que interactúan las
librerías y las clases que dan como re-
sultado el receptor SDR.

El código generado por GNU Radio rea-


liza las siguientes operaciones:
a) Conexión a la tarjeta SDR

28 UNIVERSITARIOS POTOSINOS 234 ABRIL 2019 MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
b) Filtrado de la señal recibida La interfaz de usuario permite sintoni-
c) Sintonización de la señal de radio FM zar diferentes frecuencias en un rango
d) Ajuste de la señal para la tarjeta específico, dependiendo del radio uti-
de audio lizado. Asimismo, se visualiza el espec-
e) Control de volumen del audio tro, según la velocidad de muestreo GARETH
f) Reproducción de la estación de radio seleccionado, de tal manera que los MONTENEGRO
usuarios pueden observar las señales CHÁIDEZ
Mediante Qt Designer se diseñó la in- presentes en el intervalo de frecuencia. Estudia la Maestría en
terfaz gráfica, la cual integra botones Tecnología Aplicada en la
y pantallas para la interacción con el Este proyecto es una muestra de la ver- Unidad Académica de Ingeniería
Eléctrica de la Universidad
usuario. En ésta se invocan librerías satilidad de SDR. Este desarrollo muestra Autónoma de Zacatecas, en
que permiten la visualización de la fre- la capacidad de ser modificado y añadir donde también labora en
cuencia de la señal capturada. módulos que le permitan trabajar con el Centro Institucional de
Telecomunicaciones y trabaja
otros dispositivos de radiofrecuencia, por en el proyecto “Sistema de radio
Los parámetros para recibir la señal, fil- ejemplo, receptores de televisión, de te- definido por software para
trarla, demodularla y hacer un remues- lefonía celular, entre otros. estación terrena del Centro de
Investigación y Desarrollo en
treo de la misma, son reconfigurables Telecomunicaciones Espaciales “.
en tiempo real a través de la interfaz La SDR es una tecnología que permite
gráfica, permitiendo así al usuario ma- a un usuario desarrollar proyectos de
nipular la señal recibida de acuerdo radiocomunicaciones de bajo costo,
con las necesidades del mismo. con la flexibilidad de poder reutilizar-
la en diferentes sistemas de comuni-
Como resultado, podemos mencionar cación inalámbrica, utilizando básica-
que la GUI diseñada con PyQt permite mente una computadora personal.
la implementación de otros esquemas
de modulación, otras etapas de pro-
cesamiento de señal, así como otros
módulos de hardware.

En la figura 5 se aprecia la GUI del recep-


tor SDR de FM. La señal recibida puede
ser muestreada desde los 250 kHz has-
ta los 2.56 MHz. De acuerdo con los in- Referencias bibliográficas:
Alonso, D. C. (2016). Radio definida por software en dispositivos
tervalos que permite la lista desplegable,
de bajo coste. San Cristóbal de La Laguna, Tenerife: Univer-
la frecuencia de muestreo de audio de sidad de la Laguna.
la señal demodulada puede ser entre 24 Sruthi, M. B, Abirami, M., Manikkoth, A., Gandhiraj, R. y
Soman, K. P. (2013). Low cost digital transceiver design
y 48 kHz. Asimismo, puede observarse for Software Defined Radio using RTL-SDR. En: 2013 IEEE
la señal recibida para un análisis visual International Multi Conference on Automation, Computing,
Control, Communication and Compressed Sensing. School
en tiempo real. En la parte inferior dere- of Electronics St Josephs College of Engineering and Tech-
cha se muestra la frecuencia sintonizada nology Palai, Kottayam, Kerala, India: Institute of Electrical
and Electronics Engineers. pp. 852-855.
por el dispositivo de hardware.
Mitola, J. (1995). The software radio architecture. IEEE Commu-
nications Magazine, 33(5), pp. 26-38.
Impacto y aplicaciones The GNU Radio Foundation, Inc. (s. f.). GNU Radio. Recuperado
de: https://www.gnuradio.org/
El receptor de FM de banda ancha Uengtrakul, B., y Bunnjaweht, D. (2014). A Cost Efficient
muestra la factibilidad de utilizar múlti- Software Defined Radio Receiver for Demonstrating Concepts
in Communication and Signal Processing using Python and
ples herramientas de software libre para RTL-SDR. Thailand: Thammasat University, Deptartment of
el desarrollo de aplicaciones de SDR. Electrical and Computer Engineering.

RADIO DEFINIDO POR SOFTWARE ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 29

También podría gustarte