
Esta é a implementação de rádio definida por software (SDR) totalmente funcional de Radio (SDR) de um transceptor de Lora com todos os componentes do receptor necessários para operar corretamente, mesmo em SNRs muito baixos. O transceptor está disponível como um módulo para a GNU Radio 3.10. Este trabalho foi realizado no Laboratório de Circuitos de Telecomunicações, EPFL.
Na implementação de rádio GNU das cadeias Lora TX e RX, o usuário pode escolher todos os parâmetros da transmissão, como o fator de espalhamento, a taxa de codificação, a largura de banda, a palavra sincronizada, a presença de um cabeçalho explícito e CRC.




Enviando e recebendo pacotes LORA entre o transceptor LORA USRP-USRP e USRP-Comercial (testado com RFM95, SX1276, SX1262).
Parâmetros disponíveis:
* Os fatores de espalhamento 5 e 6 não são compatíveis com SX126X.
J. Tapparel, O. Afisiadis, P. Mayoraz, A. Balatsoukas-Smimming e A. Burg, "um protótipo de camada física de código aberto LORA na Rádio GNU", 2020 IEEE 21st International Workshop sobre Advâncias de Processamento de Sinais em Comunicações Sem Wire (Spawc), ATLANTA, GA, USA, 2020, 2020, pp. Link IEEE Xplore, Link Arxiv
J, Tapparel e A. Burg, "Design e implementação da camada física de Lora no GNU Radio". Anais da Conferência de Rádio GNU, Knoxville, TN, EUA, 2024. Processos de rádio GNU
Se você achar essa implementação útil para o seu projeto, considere citar o artigo acima mencionado.
O módulo de árvore fora da árvore GR-LORA_SDR pode ser instalado a partir da fonte ou diretamente como um pacote ANA.
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}.pyGraças a Ryan Volz, este módulo OOT também pode ser instalado diretamente como um pacote CONDA. Observe que o Gnuradio também será instalado no ambiente do 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 depois de retirar uma nova versão do Git (sudo) make uninstall
make clean
make -j4
(sudo) make install
[grc]
local_blocks_path=path_to_the_downloaded_folder/gr-lora_sdr/grc
Adicionar opção para ignorar as palavras de sincronização verifica e imprimir os valores recebidos
Adicione a impressão opcional da carga útil recebida como valores hexadecimais
Adicionado suporte de entrada de fluxo marcado (para definição de quadro de comprimento do quadro)
Formato de fluxo LLR corrigido entre fft_demod e deinterleaver
Tags adicionadas à verificação do CRC VERIFICAÇÃO INDICAÇÃO DE INDICAÇÃO DE INDICIONAÇÃO DE INDICIAÇÃO, LIMPE E CRC.
Opção de separador adicionado para entrada de arquivo
Opção de comprimento de preâmbulo adicionado
Parâmetro adicionado para o quadro de quadro
Adicione suporte de otimização de baixa taxa de dados
Adicione o apoio de fatores de espalhamento menores que 7
...
Este trabalho foi inspirado em https://github.com/rpp0/gr-lora por Pieter Robyns, Peter Quax, Wim Lamotte e William Thenaers. Quais arquitetura e funcionalidades foram aprimoradas para emular melhor a camada física de Lora.
Distribuído sob a licença da GPL-3.0. Consulte a licença para obter mais informações.