Post on 09-Dec-2021
UNIVERSITARIOS POTOSINOS 234 ABRIL 201924 MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
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 comunicaciones inalámbricas
GARETH MONTENEGRO CHÁIDEZgarethchaidez@gmail.com
VÍCTOR IVÁN RODRÍGUEZ ABDALÁabdala@uaz.edu.mx
UNIVERSIDAD AUTÓNOMA DE ZACATECASFRANCISCO RUBÉN CASTILLO SORIA
ruben.soria@uaslp.mxFACULTAD 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).
ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 25
Aislador
Ampli�cadorde potencia
Procesamientodigital
ADC
DAC
RADIO DEFINIDO POR SOFTWARE
En el presente artículo se muestra el
desarrollo de un receptor de radio FM
basado en SDR combinado con las he-
rramientas de software libre: GNU Ra-
dio, PyQt y PLSDR, que se explican más
adelante, lo que permitió realizar una
interfaz de usuario más intuitiva para
el análisis de señales en tiempo real y
para procesamiento posterior.
Este receptor SDR, denominado TL-
2832U, opera en el intervalo de fre-
cuencias de 500 kilohertz (kHz) has-
ta 1.7 gigahertz (GHz) y un ancho de
banda reconfigurable de hasta 2.4 me-
gahertz (Mhz), lo que permite sintoni-
zar desde estaciones de radio comer-
ciales hasta televisión satelital.
¿Cómo funciona la SDR?
Un problema actual y común en los sis-
temas de telecomunicaciones inalámbri-
cas es la actualización del equipo de ra-
dio de una manera fácil y rentable, para
que éstos sean capaces de soportar los
nuevos estándares de comunicación.
La SDR trabaja con hardware de propósi-
to general que, combinado con transmi-
sores y receptores de radiofrecuencia,
permite la implementación de diversos
sistemas de comunicación, desde un
simple receptor de radio utilizando FM
comercial hasta un receptor de seña-
les enviadas desde un satélite. Éstos
pueden llegar a ser dispositivos de bajo
costo, puesto que su función se limita a
la recepción de señales (Sruthi, Abirami,
Manikkoth, Gandhiraj y Soman, 2013).
El esquema de funcionamiento de
SDR se presenta en la figura 1, donde
los componentes de hardware del re-
ceptor van desde la antena hasta los
convertidores de analógico a digital y
viceversa (ADC y DAC, respectivamen-
te, por sus siglas en inglés), el bloque
de procesamiento digital representa los
algoritmos de software que utiliza SDR.
La interfaz gráfica de usuario (GUI, por
sus siglas en inglés) es diseñada con
PyQt5 (un lector intuitivo para el lengua-
je de programación Python) y Qt Desig-
ner (un editor gráfico); el procesamiento
de la señal se realiza con el programa
GNU Radio que permite el procesamien-
to de señales a través de bloques. Las
librerías de RTL-SDR comunican al recep-
tor SDR con la interfaz de software para
el procesamiento de la señal capturada.
Otra característica es que este receptor
de FM es modular, por lo que tiene la
capacidad de agregar (o quitar) otros
módulos de hardware y de software,
permitiendo así, ser la base de aplica-
ciones tanto de transmisión como re-
Figura 1.
Esquema SDR (Mitola, 1995).
UNIVERSITARIOS POTOSINOS 234 ABRIL 201926
cepción de señales que operen con
múltiples plataformas de SDR.
Herramientas de desarrollo
A continuación, se explican de manera
breve los programas utilizados como
herramientas para el desarrollo del re-
ceptor de radio FM propuesto.
GNU Radio. Es una plataforma de
software libre conformada por un con-
junto de librerías que procesan las se-
ñales a través de bloques con diversos
dispositivos de SDR. Cuenta con una
interfaz gráfica para diseñar y gestionar
bloques de procesamiento de señales
llamado el compañero de GNU Radio
(GRC, por sus siglas en inglés), el cual
permite a usuarios crear programas de
procesamiento de señales sin la nece-
sidad de escribir un código de progra-
mación (Python).
El entorno de GNU Radio puede usar-
se con hardware de radio frecuencia
externo para recibir señales en tiempo
real o sin él, utilizando señales alma-
cenadas en una computadora. GNU
Radio es ampliamente utilizado en la
investigación, industria, academia, go-
bierno y por aficionados para apoyar
tanto la investigación en las comunica-
ciones inalámbricas como los sistemas
de radio del mundo real (The GNU Ra-
dio Foundation, Inc., s. f.).
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.
Para el diseño de la GUI, Python requiere
de PyQT, una biblioteca para el desarro-
llo de aplicaciones con entorno gráfico;
ésta, a su vez, permite agregar funciones
a la interfaz para hacerla más atractiva y
fácil de operar a los usuarios finales.
PLSDR de Paul Lutus. Es una aplica-
ción de SDR de alto desempeño que
procesa señales de radio en múltiples
bandas para diversos tipos de radioco-
municación.
RTL-SDR. El RTL-SDR V3 que se observa
en la figura 2 es un dispositivo con un
circuito integrado RTL2832U, que cap-
tura señales en un rango de 500 kHz
hasta 1.7 GHz, con un ancho de banda
de hasta 2.4 MHz.
Implementación de un receptor de
FM utilizando SDR
En la figura 3 se observa el diagrama
de bloques de un receptor de FM de-
sarrollado en GNU Radio. Este sistema
se conforma de un bloque llamado
RTL-SDR Source, que sintoniza desde
80 hasta 110 MHz, con una velocidad
de muestreo de 2 MHz, que representa
el ancho de banda del receptor, del ta-
maño del intervalo de frecuencias que
pueden observarse en ese instante. De-
bido a que este intervalo de frecuencias
es muy grande para una señal de radio
FM, debe aplicarse un filtro
MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
Figura 2.
a) Dispositivo RTL-SDR V3 y b) Interior
ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 27
que entregue únicamente la señal de la
estación de radio a sintonizar.
La señal filtrada se envía a un sintoniza-
dor de radio FM; el ancho de banda de la
señal sintonizada tiene una velocidad de
muestreo diferente al de una tarjeta de
sonido de una computadora, por lo que
se hace un ajuste de la señal para que el
dispositivo de audio de la computadora
pueda reproducir la estación de radio.
Desarrollo del receptor
de FM
La figura 3 representa el programa
mediante el cual se desarrolla un receptor
de radio SDR directamente con Python.
Utilizando PyQT, se genera una interfaz
de usuario para sintonizar la radio.
Las herramientas y librerías que se
implementaron en este proyecto se
muestran en la figura 4. En la parte
Figura 3.
Diagrama de bloques de un receptor FM. Fuente: GNU Radio Companion.
RTL-SDR SourceSample Rate (sps): 2MCh0: Frequency (Hz): 94.7MCh0: Freq. Corr. (ppm): 0Ch0: DC O�set Mode: AutomaticCh0: IQ Balance Mode: AutomaticCh0: Gain Mode: ManualCh0: RF Gain (dB): 15Ch0: IF Gain (dB): 20Ch0: BB Gain (dB): 20Ch0: Bandwidth (Hz): 2M
QT GUI Waterfall SinkFFT Size: 1.024kCenter Frequency (Hz): 94./MBandwidth (Hz): 2M
QT GUI Frequency SinkFFT Size: 1.024kCenter Frequency (Hz): 94./MBandwidth (Hz): 2M
WBFM ReceiveQuadrature Rate: 250kAudio Decimation: 1
Multiply ConstConstant: 0
Low Pass FilterDecimation: 8Gain: 2Sample Rate: 2MCuto� Freq:100kTransition Width: 5kWindow: KaiserBeta: 6.76
Rational ResamplerInterpolation: 48Decimation: 250Taps:Fractional BW: 0
Audio SinkSample Rate: 48KHz
RADIO DEFINIDO POR SOFTWARE
UNIVERSITARIOS POTOSINOS 234 ABRIL 201928
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
Figura 4.
Herramientas y librerías para el
desarrollo del receptor SDR.
Figura 5.
GUI del receptor de FM. Fuente: PythonSDR-GMC.
Receptor SDR de FM de Banda Ancha (PythonSDR.py)Librerías
a) Radio.osmosdr_sourceb) Radio.lox_pass_�lter_wfmc) Radio.analog_wfm_rcvd) Radio.rational_resampler_wide) Radio.blocks_multiply_const_volumenf) Radio.audio_sink
GUI (PythonSDR_GUI.py)Librerías
a) QtCore.QObjectb) Radio.logpwr�tc) FFTDispd) Waterfall
Valores iniciales para receptor SDRRadio.if_sample_rate = int(240e3)Radio.mode = Radio.main.MODE_WFMRadio.squelch_level = -130Radio.device_name =’RTL-SDR’Radio.device_drive_name =’rtl’
Valores inicales en la GUIantena :0sample_rate :2.4e6audio_rate :48000freq :106500000Bandwidth :5dbscale_lo :-140dbsacale_hi :10�t_zoom :-1waterfall_bais :150
Desarrollo
Herramientas
Python SDR (Aplicación)
RTL-SDR Qt Designer
Python/PyQtGNU-Radio
MONTENEGRO, G., RODRÍGUEZ, V. Y CASTILLO, F. PÁGINAS 24 A 29
ABRIL 2019 234 UNIVERSITARIOS POTOSINOS 29
Estudia la Maestría en Tecnología Aplicada en la Unidad Académica de Ingeniería Eléctrica de la Universidad Autónoma de Zacatecas, en donde también labora en el Centro Institucional de Telecomunicaciones y trabaja en el proyecto “Sistema de radio definido por software para estación terrena del Centro de Investigación y Desarrollo en Telecomunicaciones Espaciales “.
GARETH MONTENEGRO CHÁIDEZ
b) Filtrado de la señal recibida
c) Sintonización de la señal de radio FM
d) Ajuste de la señal para la tarjeta
de audio
e) Control de volumen del audio
f) Reproducción de la estación de radio
Mediante Qt Designer se diseñó la in-
terfaz gráfica, la cual integra botones
y pantallas para la interacción con el
usuario. En ésta se invocan librerías
que permiten la visualización de la fre-
cuencia de la señal capturada.
Los parámetros para recibir la señal, fil-
trarla, demodularla y hacer un remues-
treo de la misma, son reconfigurables
en tiempo real a través de la interfaz
gráfica, permitiendo así al usuario ma-
nipular la señal recibida de acuerdo
con las necesidades del mismo.
Como resultado, podemos mencionar
que la GUI diseñada con PyQt permite
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-
tervalos que permite la lista desplegable,
la frecuencia de muestreo de audio de
la señal demodulada puede ser entre 24
y 48 kHz. Asimismo, puede observarse
la señal recibida para un análisis visual
en tiempo real. En la parte inferior dere-
cha se muestra la frecuencia sintonizada
por el dispositivo de hardware.
Impacto y aplicaciones
El receptor de FM de banda ancha
muestra la factibilidad de utilizar múlti-
ples herramientas de software libre para
el desarrollo de aplicaciones de SDR.
La interfaz de usuario permite sintoni-
zar diferentes frecuencias en un rango
específico, dependiendo del radio uti-
lizado. Asimismo, se visualiza el espec-
tro, según la velocidad de muestreo
seleccionado, de tal manera que los
usuarios pueden observar las señales
presentes en el intervalo de frecuencia.
Este proyecto es una muestra de la ver-
satilidad de SDR. Este desarrollo muestra
la capacidad de ser modificado y añadir
módulos que le permitan trabajar con
otros dispositivos de radiofrecuencia, por
ejemplo, receptores de televisión, de te-
lefonía celular, entre otros.
La SDR es una tecnología que permite
a un usuario desarrollar proyectos de
radiocomunicaciones de bajo costo,
con la flexibilidad de poder reutilizar-
la en diferentes sistemas de comuni-
cación inalámbrica, utilizando básica-
mente una computadora personal.
Referencias bibliográficas:Alonso, D. C. (2016). Radio definida por software en dispositivos
de bajo coste. San Cristóbal de La Laguna, Tenerife: Univer-sidad de la Laguna.
Sruthi, M. B, Abirami, M., Manikkoth, A., Gandhiraj, R. y Soman, K. P. (2013). Low cost digital transceiver design for Software Defined Radio using RTL-SDR. En: 2013 IEEE International Multi Conference on Automation, Computing, Control, Communication and Compressed Sensing. School of Electronics St Josephs College of Engineering and Tech-nology Palai, Kottayam, Kerala, India: Institute of Electrical and Electronics Engineers. pp. 852-855.
Mitola, J. (1995). The software radio architecture. IEEE Commu-nications Magazine, 33(5), pp. 26-38.
The GNU Radio Foundation, Inc. (s. f.). GNU Radio. Recuperado de: https://www.gnuradio.org/
Uengtrakul, B., y Bunnjaweht, D. (2014). A Cost Efficient Software Defined Radio Receiver for Demonstrating Concepts in Communication and Signal Processing using Python and RTL-SDR. Thailand: Thammasat University, Deptartment of Electrical and Computer Engineering.
RADIO DEFINIDO POR SOFTWARE