
これは、非常に低いSNRでも正しく動作するために必要なすべてのレシーバーコンポーネントを備えたLORAトランシーバーの完全に機能するGNUラジオソフトウェア定義ラジオ(SDR)の実装です。トランシーバーは、GNUラジオ3.10のモジュールとして利用できます。この作業は、EPFLの電気通信回路研究所で実施されています。
LORA TXおよびRXチェーンのGNU無線実装では、ユーザーは、広がり係数、コーディングレート、帯域幅、同期単語、明示的ヘッダーとCRCの存在など、伝送のすべてのパラメーターを選択できます。




USRP-USRPとUSRPコマーシャルLORAトランシーバーの間にLORAパケットを送信および受信します(RFM95、SX1276、SX1262でテスト)。
利用可能なパラメーター:
*拡散係数5および6は、SX126Xと互換性がありません。
J. Tapparel、O。Afisiadis、P。Mayoraz、A。Balatsoukas-StimmingおよびA. Burg、「GNUラジオのオープンソースのLora物理層プロトタイプ」、2020 IEEE 21st International Workshop、Wireless Communications(SPAWC)、Atlanta、GA、2020、PP。120。 IEEE Xploreリンク、arxivリンク
J、Tapparel、A。Burg、「GNUラジオのLora物理層の設計と実装」。 GNUラジオ会議の議事録、米国テネシー州ノックスビル、2024年。GNURadioProceedings
この実装がプロジェクトに役立つと思う場合は、前述の論文を引用することを検討してください。
Out of Tree Module 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で実行できます。Ryan Volzのおかげで、この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ない (sudo) make uninstall
make clean
make -j4
(sudo) make install
[grc]
local_blocks_path=path_to_the_downloaded_folder/gr-lora_sdr/grc
同期ワードチェックを無視するオプションを追加し、受信した値を印刷します
受信したペイロードのオプションの印刷を16進値として追加します
タグ付きストリーム入力サポートを追加しました(フレーム長のフレーム定義用)
FFT_DEMODとDEINTERLEAVERの間のLLRストリーム形式を修正しました
CRC検証出力ストリーム表示フレームの開始、長さ、CRCの結果にタグを追加しました。
ファイル入力のセパレーターオプションを追加しました
Preamble Lengthオプションが追加されました
フレームゼロパッジングのパラメーターを追加しました
低データレートの最適化サポートを追加します
7未満の拡散係数のサポートを追加します
...
この作品は、Pieter Robyns、Peter Quax、Wim Lamotte、William Thenaersによるhttps://github.com/rpp0/gr-loraからインスピレーションを受けました。ロラの物理層をよりよくエミュレートするために、どのアーキテクチャと機能が改善されました。
GPL-3.0ライセンスライセンスの下で配布されます。詳細については、ライセンスを参照してください。