Sunteți pe pagina 1din 4

UNIVERSIDAD INDUSTRIAL DE SANTANDER

ESCUELA DE INGENIERÍAS ELÉCTRICA, ELECTRÓNICA Y DE TELECOMUNICACIONES


Perfecta Combinación entre Energía e Intelecto

Práctica III – Creación de bloques en GNU-RADIO con PYTHON


Henry Andrés Mancipe Arias-2135547
Lineth Julieth Orduz Florez-2092760

• Abrimos el programa GNU-RADIO.


Introducción • Creamos fichero, así: mkdir (espacio)
nombre carpeta (GrupoH1A) (enter).
El GNU-RADIO (Figura 1) es una de las • Luego escribimos cd (espacio)
herramientas libres y por ende abierta, que nos GrupoH1A (enter).
provee la implementación de sistemas y señales • En el siguiente renglón escribimos
para radio (software). gr_modtool (espacio) newmod
(espacio) H1A (enter).
• Digitamos seguidamente cd (espacio)
gr_H1A (enter) (Aquí se crea el
módulo).

Figura 1.

Este software se manipula mediante el lenguaje de


programación Python (aplicaciones). Se
implementa de igual forma C++ para extensiones
de punto flotante; ello facilita la implementación de Figura 2.
sistemas de radio en el laboratorio.

El GNU software radio utiliza (universal software • Posteriormente gr_modtool (espacio)


radio peripheral USRP) siendo este un transceptor add (espacio) -N (espacio)
computarizado que contiene:
EjemploH1A (nombre del archivo)-L
• 4 conversores A/D de 64 (MS/s) de 12 bits. (espacio) python (lenguaje) -t (espacio)
• 4 conversores D/A de 128 (MS/s) de 14 sync (tipo) (enter).
bits. • En seguida me aparecerán unas líneas
• Circuitos necesarios para la interfaz con la que pedirán los argumentos, allí
PC. procedemos a escribir (para este ejemplo)
muestreo,Tipo (enter).
En el caso del nuestro laboratorio, esta interfaz es • Después de ello, digitamos cd (espacio)
a través de puerto Ethernet (puede existir también python (aquí abrimos esta carpeta)
puerto USB 2.0). El USRP puede procesar señales (enter).
de hasta 25 MHz de ancho de banda (dependiendo • Para editar la anterior carpeta se escribe
del modelo). lo siguiente gedit (espacio)
EjemploH1A.py (aquí, se edita el
texto, ya que abre una extensión de
python). Una vez ahí, debemos declarar la
1. Bloque de Redondeo función, esto lo hacemos sobre la línea 33;
en ella definiremos las variables, así:
Durante el laboratorio se trabajó en nuestra PC. A Quitamos los + que se encuentren y los
símbolos <> respectivamente. Debe
continuación, se enumeran los pasos a seguir para
quedarnos lo siguiente
dicha construcción (Bloque Redondeo) y se
numpy.float32. Una vez concluido
observan las imágenes sobre dichos pasos. esto, sobre nuestra línea 39 (donde dice:
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERÍAS ELÉCTRICA, ELECTRÓNICA Y DE TELECOMUNICACIONES
Perfecta Combinación entre Energía e Intelecto

“signal processing”) se tendrá que


escribir el código a usar (Figura 5).
Posteriromente, no se nos debe olvidar
importar la librería math y declarar lo que
se tiene sobre la línea 36 y 37.
Por último, damos guardar, y cerramos.

Figura 3. Figura 5.

• Escribimos cd (espacio) .. (2 puntos, tal


como se indica) damos (enter).
• Luego cd (espacio) grc (enter).
• Seguidamente gedit (espacio)
H1A_EjemploH1A.xml (enter (se
abre otro editor)).

Figura 6.

• Estando ahí, borramos la línea 13; y


seguidamente donde dice “sync”
declaramos las variables de entrada.
Luego nos ubicamos en “type” y “source”
Figura 4.
borramos todo lo que se encuentra en
azul, y dejamos sólo float. Se guarda y
cierra (enter).
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERÍAS ELÉCTRICA, ELECTRÓNICA Y DE TELECOMUNICACIONES
Perfecta Combinación entre Energía e Intelecto

(espacio) sudo (espacio) ldconfig


(enter).

Figura 9.

Figura 7. • A continuación, se nos pide ingresar una


clave (en este caso 12345 (enter)).
• Seguidamente nos dirigimos al software
GNU-RADIO, y procedemos a buscar el
bloque creado (lo localizamos en la parte
derecha del programa, en el cuadro de
búsqueda).
• Por último procedemos a su uso; en el
software al ser implementado, definimos
la variable tasa de muestreo como
samp(raya al piso)rate; esto en conjunto
con el osciloscopio (observaremos la
señal de salida) y la señal de entrada (en
el laboratorio usamos el coseno) nos
permiten poner a prueba el bloque (Figura
10, Figura 11 y Figura 12).

Figura 8.

• Seguimos escribiendo cd (espacio) .. (2


puntos, tal como se indica) damos (enter).
• Escribimos nuevamente mkdir (espacio)
build (enter).
• Digitamos cd (espacio) build (aquí Figura 10.
entramos a la carpeta, (enter)).
• Ahora escribimos cmake (espacio)
../&& (espacio) make (espacio) &&
(espacio) sudo (espacio) make
(espacio) install (espacio) &&
UNIVERSIDAD INDUSTRIAL DE SANTANDER
ESCUELA DE INGENIERÍAS ELÉCTRICA, ELECTRÓNICA Y DE TELECOMUNICACIONES
Perfecta Combinación entre Energía e Intelecto

(internamente); de esta forma se tiene que


el software GNU-RADIO tiene ese
comportamiento.

Bibliografía
[1] J. G. Proakis and M. Salehi,
communications systems engineering
2nd edition.
Figura 11.
[2] F. T. Ulaby and E. Michielssen,
Fundamentals of applied
electromagnetics, 6ta edition.

http://eontool.github.io/blog/2013/08/
20/construccion-de-modulos-y-
bloques-en-gnu-radio-companion/

http://www2.electron.frba.utn.edu.ar/
~mdoallo/descargas/sdr-002.pdf

Figura 12.

Aquí se observa los 2 tipos de gráficas (Figura 10,


Figura 11) donde se tiene el redondeo hacía
adelante (Figura 10) y redondeo hacía atrás (Figura
11) respectivamente.

Observaciones

• Adicionalmente se realizó una variación


del programa en Python para obtener la
parte par e impar de una señal, y
posteriormente obtener la señal de
entrada completa (suma de partes).

Conclusiones
• Desde la comodidad de Python se pueden
realizar varios programas y
posteriormente procesarlos para ser
ejecutados en GNU-RADIO.
• Una FPGa es un dispositivo programable,
que hace uso de una serie de circuitos
secuenciales y combinacionales

S-ar putea să vă placă și