Boletín No. 69
1o. de noviembre de 2018
LABORATORIO DE COMUNICACIONES DIGITALES BASADO EN RADIOS DEFINIDOS POR SOFTWARE
M. en C. Cyntia E. Enríquez Ortiz
M. en C. Raúl Fernández Zavala
M. en C. Carlos De La Cruz Sosa
Unidad Profesional Interdisciplinaria de Ingeniería y Tecnologías
Avanzadas del Instituto Politécnico Nacional (UPIITA-IPN)
Academia de Telemática
Resumen
En este trabajo se plantea un enfoque de aprendizaje activo basado en el uso de la tecnología de Radios Definidos por Software como una herramienta de desarrollo para la unidad de aprendizaje de comunicaciones digitales impartida en la UPIITA.
Introducción
La unidad de aprendizaje (UAp) de comunicaciones digitales impartida en la UPIITA en la carrera de Ingeniera Telemática tiene un enfoque teórico-práctico que cubre los fundamentos de:
- Digitalización.
- Transmisión en banda base.
- Multiplexión, sincronización e igualación de canal.
- Transmisión pasa banda.
- Técnicas de espectro disperso.
El contenido de cada unidad temática y la orientación didáctica de la UAp se definen claramente en el programa de estudios. El enfoque práctico utilizado frecuentemente se basa en simulaciones en MATLAB. En este trabajo, se plantea la utilización de radios definidos por software (SDR: Software Defined Radio) en conjunto con MATLAB/Simulink o GNU Radio como herramientas de aprendizaje activo basado en la realización de prácticas de laboratorio que permitan a los alumnos desarrollar las competencias necesarias para lograr el propósito de la UAp.
Hardware para radio definidos por software
El grupo de trabajo P1900.1 del IEEE establece que un radio definido por software es “un radio en el cual parte o todas las funciones de la capa física son definidas por software”. Actualmente, existen comercialmente varias plataformas de hardware para radios definidos por software. Dependiendo de la aplicación existen diferentes criterios de selección entre los que se encuentran el costo, el ancho de banda de operación, la tasa de muestreo, el número de bits de los convertidores y el modo de transmisión. Las plataformas consideradas en este trabajo son las tarjetas HackRF One y Pluto SDR.
Hackrf One
El módulo HackRF One es un dispositivo, desarrollado por Great Scott Gadgets [1], capaz de transmitir y recibir en modo half-duplex señales de radio con frecuencias desde 1 MHz hasta 6 GHz. Este dispositivo puede generar y capturar señales a una tasa de muestreo máxima de 20 Msps con muestras de 8 bits en cuadratura. La tarjeta HackRF utiliza un transceptor Maxim MAX2837 y un mezclador RFFC5072 para realizar la conversión ascendente y descendente de las señales de RF. La conversión A/D y D/A se realiza con un convertidor Maxim MAX5864 y la tarjeta se conecta a una computadora a través de una interfaz USB 2.0 mediante un microcontrolador NXP LP43xx y un CPLD XC2C64 de Xilinx. En la figura 1 se muestra el dispositivo HackRF One.
Figura 1. HackRF One. |
PLUTO SDR
El módulo de aprendizaje activo PLUTO SDR (ADALM-PLUTO), es un dispositivo desarrollado por Analog Devices [2], capaz de transmitir y recibir en modo full-duplex. Esta plataforma puede generar y capturar señales de radio frecuencia entre 325 MHz y 3.8 GHz con un ancho de banda de 20 MHz. La tasa de muestreo máxima es de 61.44 Msps con una resolución de 12 bits para cada canal en cuadratura. El módulo PLUTO SDR se basa en un circuito AD9363 de Analog Devices que se ocupa de la conversión ascendente y descendente de la señal de RF, así como de la conversión A/D y D/A. La tarjeta se conecta a una computadora a través de una interfaz USB 2.0 mediante un SoC (System on Chip) Zynq Z-7010 de Xilinx. En la figura 2 se muestra el dispositivo PLUTO SDR.
Figura 2. PLUTO SDR. |
Plataformas de software para radios definidos por software
Las plataformas de hardware para SDR descritas previamente realizan la conversión de una señal de radiofrecuencia en un conjunto de muestras que deben ser procesadas en una plataforma de software que permita definir algoritmos que realicen el procesamiento digital de dichas muestras. En este trabajo se consideran MATLAB/Simulink y GNU Radio.
MATLAB/Simulink
MATLAB, desarrollado por Mathworks [3], es una herramienta de cómputo que combina un entorno de desarrollo con un lenguaje de programación enfocado al cómputo numérico utilizando matrices. Simulink es un entorno de simulación, modelado y análisis de sistemas dinámicos basado en diagramas a bloques, que se integra con Matlab para formar un entorno de programación textual y gráfica para el diseño de sistemas. Matlab y Simulink cuentan con bibliotecas de funciones (toolboxes) y bloques (blocksets) que facilitan el análisis y modelado de sistemas de comunicaciones.
GNU Radio
GNU Radio es una herramienta de desarrollo para la implementación de radios definidos por software en plataformas Linux, Mac OS y Windows [4]. Con GNU Radio es posible filtrar, codificar, modular y demodular señales utilizadas comúnmente en sistemas de comunicaciones. El código en GNU Radio se desarrolla principalmente en los lenguajes de programación Python y C++. La interfaz gráfica de usuario GNU Radio Companion (GRC) permite implementar sistemas de comunicaciones a partir de bloques que realizan desde operaciones matemáticas básicas hasta operaciones complejas de procesamiento de señales tales como modulación, demodulación, filtrado, codificación fuente y codificación de canal.
Descripción de las prácticas
Con la finalidad de desarrollar en los alumnos la habilidad de implementar y analizar sistemas de comunicaciones digitales, se propone la realización de una serie prácticas que permitan que el alumno sea capaz de generar, procesar, modular y demodular señales utilizando como herramienta de desarrollo alguna plataforma de radios definidos por software. El alumno también aprenderá a analizar señales en el dominio del tiempo y de la frecuencia utilizando las herramientas de visualización y análisis proporcionados por la plataforma seleccionada. Para alcanzar estas metas se proponen la realización las siguientes actividades:
- Generación de señales y análisis espectral. El objetivo de esta práctica es utilizar los bloques básicos para la generación de señales y representación gráfica de las mismas; así como identificar los bloques que realizan la transferencia de datos entre la computadora y la tarjeta SDR. Al término de esta práctica el alumno deberá ser capaz de trasmitir señales senoidales y verificar la correcta recepción de estas.
- Filtro formador de pulsos y filtro acoplado. El objetivo de esta práctica es implementar filtros digitales utilizados comúnmente en los sistemas de comunicaciones digitales, reforzando los conceptos de filtros coseno alzado y raíz cuadrada de coseno alzado. Al término de esta práctica, el alumno deberá ser capaz de generar señales con características espectrales previamente establecidas y verificar la correcta recepción de estas.
- Modulación digital. El objetivo de esta práctica es implementar esquemas de modulación utilizados comúnmente en los sistemas de comunicaciones digitales, para reforzar el concepto de modulación digital y constelación. Al término de esta práctica, el alumno deberá ser capaz de generar y transmitir señales pasa banda con una constelación y características espectrales previamente establecidas.
- Demodulación digital no coherente. El objetivo de esta práctica es implementar esquemas de demodulación utilizados comúnmente en los sistemas de comunicaciones digitales para reforzar el concepto de detección no coherente. Al término de esta práctica, el alumno deberá ser capaz de demodular señales pasa banda y verificar la correcta recepción de la señal en banda base.
- Sincronización de bit. El objetivo de esta práctica es implementar esquemas de sincronización de bit utilizados comúnmente en los sistemas de comunicaciones digitales. El alumno utilizará los métodos de Gardner, Muller&Muller y Early-Late para la sincronización de bit. Al término de esta práctica, el alumno deberá ser capaz de transmitir y recibir señales pasa banda con características espectrales previamente establecidas y verificar la correcta recuperación de la información enviada.
- Sincronización de portadora. El objetivo de esta práctica es implementar esquemas de demodulación coherente, para reforzar el concepto de detección coherente y sincronización de portadora. Al término de esta práctica, el alumno deberá ser capaz de demodular señales pasa banda con características espectrales previamente establecidas y verificar la correcta recuperación de la información enviada.
Conclusiones
La bibliografía básica que se utiliza en el curso de comunicaciones digitales impartido en la UPIITA, cubre de forma amplia los conceptos teóricos que debe adquirir un estudiante en la carrera de Ingeniería Telemática, sin embargo, un aprendizaje significativo requiere de la participación del estudiante, tanto en la resolución de problemas teóricos como prácticos. El uso de radios definidos por software como plataforma de enseñanza/aprendizaje brinda la oportunidad de ligar los conceptos teóricos vistos en clase con problemas reales que debe resolver el estudiante en el diseño de sistemas de comunicaciones. Las actividades planteadas en este trabajo tienen como intención educativa cerrar la brecha que existe entre teoría y práctica.
Referencias
- HackRF One (2018) Consultado el 20 de septiembre de 2018. Disponible en: https://greatscottgadgets.com/hackrf/
- ADALM-PLUTO (2018) Consultado el 20 de septiembre de 2018. Disponible en: http://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html
- MathWorks (2018) Consultado el 20 de septiembre de 2015.Disponible en: https://la.mathworks.com/
- GNURadio(2018) Consultado el 20 de septiembre de 2018. Disponible en: http://gnuradio.org