radio definido por software, - universidad autónoma de

6
UNIVERSITARIOS POTOSINOS 234 ABRIL 2019 24 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ÁIDEZ [email protected] VÍCTOR IVÁN RODRÍGUEZ ABDALÁ [email protected] UNIVERSIDAD AUTÓNOMA DE ZACATECAS FRANCISCO RUBÉN CASTILLO SORIA [email protected] 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).

Upload: others

Post on 09-Dec-2021

11 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Radio definido por software, - Universidad Autónoma de

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Á[email protected]

VÍCTOR IVÁN RODRÍGUEZ ABDALÁ[email protected]

UNIVERSIDAD AUTÓNOMA DE ZACATECASFRANCISCO RUBÉN CASTILLO SORIA

[email protected] 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).

Page 2: Radio definido por software, - Universidad Autónoma de

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).

Page 3: Radio definido por software, - Universidad Autónoma de

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

Page 4: Radio definido por software, - Universidad Autónoma de

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

Page 5: Radio definido por software, - Universidad Autónoma de

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

Page 6: Radio definido por software, - Universidad Autónoma de

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