
Это полностью функциональная реализация Radio Software Radio Radio (SDR) приемопередатчика LORA со всеми необходимыми компонентами приемника для правильной работы даже при очень низких SNR. Приемопередатчик доступен в качестве модуля для GNU Radio 3.10. Эта работа была проведена в лаборатории телекоммуникационных цепей, EPFL.
В реализации радио GNU LORA TX и RX пользователь может выбрать все параметры передачи, такие как коэффициент распространения, скорость кодирования, полоса пропускания, слово синхронизации, наличие явного заголовка и CRC.




Отправка и получение пакетов LORA между USRP-USRP и USRP-Commercial LORA PROSCEIVER (протестировано с помощью RFM95, SX1276, SX1262).
Доступны параметры:
* Факторы распространения 5 и 6 не совместимы с SX126X.
J. Tapparel, O. afisiadis, P. Mayoraz, A. Balatsoukas-Stimming и A. Burg, «Прототип физического слоя с открытым исходным кодом на радио-радио-радио», 2020 IEEE 21-й международный семинар по развитию сигналов в беспроводной коммуникации (SPAWC), Атланта, GA, USA, 2020, стр. 1-5. IEEE XPLORE LINK, ARXIV LINK
J, Tapparel и A. Burg, «Проектирование и реализация физического слоя Lora в радио GNU». Труды конференции по радио GNU, Ноксвилл, Теннесси, США, 2024. Радио
Если вы найдете эту реализацию полезной для вашего проекта, пожалуйста, рассмотрите возможность ссылаться на вышеупомянутую статью.
Модуль вне дерева gr-lora_sdr может быть установлен из источника или непосредственно в качестве пакета 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}.pyБлагодаря Райану Вользу этот модуль OOT также может быть напрямую установлен в качестве пакета Conda. Обратите внимание, что Gnuradio также будет установлен в среде 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 после вытягивания новой версии из git (sudo) make uninstall
make clean
make -j4
(sudo) make install
[grc]
local_blocks_path=path_to_the_downloaded_folder/gr-lora_sdr/grc
Добавить опцию, чтобы игнорировать проверки синхронизации и распечатать полученные значения
Добавить дополнительную печать полученной полезной нагрузки в виде значений шестнадцатеричных значений
Добавлена поддержка ввода ввода с меткой (для определения кадра длины))
Фиксированный формат потока LLR между FFT_DEMOD и DeInterleAver
Добавлены теги в проверку проверки вывода потока
Добавлена опция разделителя для ввода файла
Добавлена опция длины преамбулы
Добавлен параметр для кадровую ноль
Добавить низкую поддержку оптимизации данных.
Добавьте поддержку факторов распространения меньше 7
...
Эта работа была вдохновлена https://github.com/rpp0/gr-lora от Питера Робинса, Питера Квакса, Вима Ламотта и Уильяма Тенеерса. Какая архитектура и функции были улучшены, чтобы лучше подражать физическому слою Лоры.
Распределено по лицензии GPL-3.0. Смотрите лицензию для получения дополнительной информации.