
Esta es la implementación de radio (SDR) definida por la radio GNU (SDR) totalmente funcional de un transceptor Lora con todos los componentes del receptor necesarios para operar correctamente incluso con SNR muy bajas. El transceptor está disponible como módulo para GNU Radio 3.10. Este trabajo se ha realizado en el Laboratorio de Circuitos de Telecomunicaciones, EPFL.
En la implementación de la radio GNU de las cadenas Lora TX y RX, el usuario puede elegir todos los parámetros de la transmisión, como el factor de propagación, la velocidad de codificación, el ancho de banda, la palabra sincronizada, la presencia de un encabezado explícito y CRC.




Enviar y recibir paquetes de Lora entre USRP-USRP y transceptor Lora-Commercial USRP (probado con RFM95, SX1276, SX1262).
Parámetros disponibles:
* Los factores de propagación 5 y 6 no son compatibles con SX126X.
J. Tapparel, O. Afisiadis, P. Mayoraz, A. Balatsoukas-Stimming y A. Burg, "Un prototipo de capa física de Lora de código abierto en la radio GNU", 2020 IEEE 21st International Workshop on Signal Processing Avances en comunicaciones inalámbricas (SPAWC), Atlanta, Ga, USA, 2020, pp. 1-5. IEEE Xplore Link, enlace ARXIV
J, Tapparel y A. Burg, "Diseño e implementación de la capa física de Lora en la radio GNU". Actas de la Conferencia de Radio GNU, Knoxville, TN, EE. UU., 2024. Procedimientos de radio GNU
Si encuentra útil esta implementación para su proyecto, considere citar el documento mencionado anteriormente.
El módulo fuera de árbol Gr-lora_sdr se puede instalar desde la fuente o directamente como un paquete de conda.
git clone https://github.com/tapparelj/gr-lora_sdr.git cd gr-lora_sdr/ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh source ~ /.bashrc conda env create -f environment.yml conda activate gr310 mkdir build
cd build cmake .. -DCMAKE_INSTALL_PREFIX= < your prefix > # default to usr/local, CONDA_PREFIX or PYBOMB_PREFIX if no install prefix selected here (sudo) make install -j $( nproc ) sudo ldconfig gnuradio-companion & python3 examples/tx_rx_functionality_check.py python3 ./{file_name}.pyGracias a Ryan Volz, este módulo OOT también se puede instalar directamente como un paquete de conda. Tenga en cuenta que Gnuradio también se instalará en el entorno de conda.
conda install -c tapparelj -c conda-forge gnuradio-lora_sdr conda install -c conda-forge gnuradiognuradio-grcgnuradio-iiognuradio-qtguignuradio-soapygnuradio-uhdgnuradio-video-sdlgnuradio-zeromq conda install -c conda-forge gnuradio-uhd$CONDA_PREFIX/share/gr-lora_sdr/examples%CONDA_PREFIX%Librarysharegr-lora_sdrexamples make después de sacar una nueva versión de Git (sudo) make uninstall
make clean
make -j4
(sudo) make install
[grc]
local_blocks_path=path_to_the_downloaded_folder/gr-lora_sdr/grc
Agregar opción para ignorar las verificaciones de palabras de sincronización e imprimir los valores recibidos
Agregar impresión opcional de la carga útil recibida como valores hexadecimales
Se agregó soporte de entrada de secuencia etiquetada (para la definición de marco de longitud de marco)
Formato de flujo LLR fijo entre fft_demod y deinterleaver
Se agregaron etiquetas al inicio, longitud y resultado de CRC de la corriente de salida de la transmisión de salida CRC.
Opción de separador agregado para la entrada de archivo
Opción de longitud del preámbulo agregado
Parámetro agregado para el marco de la reducción de cero
Agregar soporte de optimización de tasa de datos de bajo
Agregar soporte de factores de propagación de más de 7
...
Este trabajo fue inspirado en https://github.com/rpp0/gr-lora por Pieter Robyns, Peter Quax, Wim Lamotte y William Tenaers. Qué arquitectura y funcionalidades se han mejorado para emular mejor la capa física de Lora.
Distribuido bajo la licencia de licencia GPL-3.0. Vea la licencia para más información.