1. Software Defined Radio
Parte II: GNU Radio Companion
Expositores: Héctor Miyashiro/Oscar Llerena
Investigadores en INICTEL-UNI
2. Repaso Parte I: Introducción
• SDR (Software Defiend Radio): Es una radio (hardware) que permite realizar
comunicaciones a determinada frecuencia, ancho de banda, modulación,
velocidad, etc. tan solo con la configuración en software.
• Diagrama de bloques SDR
• Software: GNU Radio Companion
• Aplicaciones: Investigación y educación
H. Miyashiro 2
Configuración & control
Unidad de
Procesamiento
Digital
ADC, DACInterfaz RF
Software
3. Contenido
I. Introducción
II. Generación de señales (analógicas) e instrumentos virtuales
III. Operaciones con señales
IV. Generación de datos binarios
V. Procesamiento de datos binarios
VI. Interfaz SDR
H. Miyashiro 3
4. I. Introducción
• GNU Radio es un software libre que contiene librerías, funciones,
variables para procesamiento digital de señales utilizadas en
comunicaciones.
• Esta colección esta basada en C++ y Python.
• GNU Radio Companion (GRC) es un programa que facilita el uso de
estas, a través de una interfaz gráfica.
H. Miyashiro 4
Flowgraph en GRC de un transmisor BPSK
5. I. Introducción
• Interfaz gráfica de GRC
H. Miyashiro 5
Área de trabajo
Librería de bloques
Terminal
Barra de herramientas
EXP1
6. II. Generación de señales (analógicas) e instrumentos
virtuales
• DEMO2-1: Generación de señales. Generar señales periódicas,
aleatorias en GRC. Visualizarlas en el tiempo y frecuencia.
H. Miyashiro 6
7. II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 7
• Bloques generadores de señales
Señales en el tiempo
8. II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 8
• Bloques generadores de señales
Señal en el tiempo
9. II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 9
• Bloques generadores de señales
Señal en el tiempo
10. II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 10
• Bloques generadores de señales
Señal en el tiempo
11. II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 11
• Bloques instrumentos virtuales
Señal en el tiempo
12. • Bloques instrumentos virtuales
II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 12
Espectro señal 8-PSK
13. • Bloques instrumentos virtuales
II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 13
Espectro en el tiempo (3 tonos: 1.5, 3, y 5.4 khz; amplitudes: 1, 5 y 10)
14. • Bloques instrumentos virtuales
II. Generación de señales (analógicas) e instrumentos
virtuales
H. Miyashiro 14
Constelación señal 8-PSK
15. II. Generación de señales (analógicas) e instrumentos
virtuales
• EXP2-1. Diseñe en GRC un flowgraph que genere una señal senoidal
de amplitud A = 0,5 y frecuencia f = 2000. Visualizarlo en tiempo y
frecuencia.
H. Miyashiro 15
16. II. Generación de señales (analógicas) e instrumentos
virtuales
• EXP2-2. Rediseñar el flowgraph de EXP2-1 para poder variar los
parámetros de frecuencia y amplitud de la señal sinusoidal en tiempo
real.
H. Miyashiro 16
Start StopStep
17. II. Generación de señales (analógicas) e instrumentos
virtuales
• EXP2-2. Rediseñar el flowgraph de EXP2-1 para poder variar los
parámetros de frecuencia y amplitud de la señal sinusoidal en tiempo
real.
H. Miyashiro 17
18. II. Generación de señales (analógicas) e instrumentos
virtuales
• EXP2-3: Teorema de Nyquist. Con el flowgraph de la experiencia
EXP2-2, hacer variar la frecuencia 𝑓 de la sinusoidal hasta 18 kHz.
Analizar en tiempo y frecuencia.
H. Miyashiro 19
19. III. Operaciones con señales
• EXP3-1: Operación con señales. Añadir al diseño de EXP2-2 los
bloques para sumar a la señal sinusoidal otra de amplitud 𝐴 = 1 y
frecuencia 𝑓 = 5000, utilizar samp_rate = 250000 hz.
H. Miyashiro 20
20. III. Operaciones con señales
• EXP3-2: Ruido. Añadir a las 2 señales de EXP3-1 una fuente de ruido
blanco gaussiano (AWGN )con amplitud, 𝐴_𝑟𝑢𝑖𝑑𝑜 variable en el rango
de [0 - 1].
H. Miyashiro 21
21. III. Operaciones con señales
• PROB1. Utilizando bloques de GRC, generar una onda triangular
escalonada con las características que se muestra a continuación:
H. Miyashiro 22
22. III. Operaciones con señales
• PROB1. Utilizando bloques de GRC, generar una onda triangular
escalonada con las características que se muestra a continuación:
H. Miyashiro 23
23. III. Operaciones con señales
• EXP4-1: Audio WAV. Importar en GRC un archivo de audio .WAV.
Reproducir el audio en tiempo real y realizar el análisis en frecuencia.
H. Miyashiro 24
25. III. Operaciones con señales
• EXP4-2: Interpolación - decimación. Realizar la corrección de
frecuencia de muestreo utilizando interpolación y/o decimación.
H. Miyashiro 26
26. III. Operaciones con señales
• Filtro Pasabajos digital [1]
Filtra las componentes de
frecuencia superiores a la
frecuencia de corte (cutoff).
Gain: ganancia del filtro
Cutoff Freq: frecuencia de corte
Transition Width: ancho de
transición entre banda pasante y
banda de parada.
H. Miyashiro 27
SALIDA
Gain = 1.0
Cutoff Freq = 500 khz
Transition Width = 10 khz
ENTRADA
Noise Type = Gaussian
Amplitude = 1
Espectro
[1] Libro: “Software Defined Radio using MATLAB & Simulink and the RTL-SDR”, pág. 583
27. III. Operaciones con señales
• EXP4-3: Filtro digital. Filtrar la señal de audio con un filtro variable
pasa altos, verificar el procesamiento escuchando el audio resultante
en tiempo real.
H. Miyashiro 28
28. IV. Generación de datos binarios
• EXP5-1: Bytes fijos. Generar datos binarios y analizarlos con un editor
hexadecimal.
H. Miyashiro 30
29. IV. Generación de datos binarios
• EXP5-2: Bytes aleatorios. Generar datos binarios aleatorios y
analizarlos con un editor hexadecimal.
H. Miyashiro 31
30. V. Procesamiento de datos binarios
• EXP6-1: Packed - Unpacked. Desempaquetar en bits los Bytes
generados de forma constante en la experiencia EXP5-1.
H. Miyashiro 34
31. V. Procesamiento de datos binarios
• Tramas
Usualmente en comunicaciones digitales se envía la información en tramas
compuestas por una cabecera (header) y una carga útil (payload).
1. En la cabecera se colocan secuencias binarias para facilitar la
sincronización en el receptor. Adicionalmente va información sobre la
trama.
2. El payload contiene la información.
H. Miyashiro 35
32. V. Procesamiento de datos binarios
• EXP7-1: Generación de tramas. Generar tramas con 16 Bytes de
cabecera y 32 Bytes de carga útil (Payload). Analizar las tramas
generadas con un editor hexadecimal.
H. Miyashiro 36
33. VI. Bloques SDR
H. Miyashiro 37
• GRC proporciona bloques que sirven de interfaz entre GRC y el SDR
conectado a la unidad de procesamiento digital.
• UHD: USRP Sink/Source – para los SDRs: N210, B210
• Osmocom Source/Sink – para los SDRs: RTL-SDR, HackRF One
USB, Ethernet
34. VI. Bloques SDR
• EXP8.1: Implementación de un analizador de espectro. Utilizar un
SDR para visualizar el contenido espectral en la banda : 88 – 108 Mhz,
utilizando GRC.
H. Miyashiro 38
B210, N210 RTL-SDR, HackRF One