LORAトランスミッターとレシーバーのGnuradio実装
このモジュールには、LORAのモジュラー実装が含まれています。トランスミッター(TX)およびレシーバー(RX)チェーンは、可能な限り最大の程度で、原子ビルディングブロックに分解されます。 GnuradioはFlowgraphで効率的なループを許可しないため、タイミングとキャリアの周波数オフセット追跡の追跡 - Chirpスプレッドスペクトル(CSS)復調器のみがモノリシックな方法で実装されます。
このモジュール性は、次のことを意図しています。
- LORAの物理層のバリエーション(異なるエラー修正コード、プリアンブルパターンなど)を簡単に実験してください。
- この実装を教育学素材として使用します。TX/RXチェーンの一部は、演習として再実装される可能性があります。実際の物理層の実装のサブタリティは明確に見えます(たとえば、ヘッダーまたはペイロード、パディングビットに応じて異なるTX/RXチェーン)。
インストール
Linuxの下
gr-lora2ディレクトリ内、および通常のユーザーとして:
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
ルート:
# make install
# ldconfig
例
いくつかの例Gnuradio-Companion flowgraphはexamples/GRCに存在します。
-
lora_test.grc :lora tx/rxチャンネルなしの単純なフローグラフで、正気のチェック用 lora_tx.grc :loraトランスミッターlora_rx.grc :loraレシーバーlora_soft_test.grc :ソフトデコードlora tx/rxは、チャネルなしの単純なフローグラフで、正気チェック用lora_soft_rx.grc :ソフトデコードを使用したLORAレシーバー
Loraパケットの送信方法
lora_test.grcまたはlora_tx.grc 、ポート52002のUDPデータグラムからのデータを期待しています。つまり、入力UDPデータグラムのペイロード長が1つのLORAパケットに適合できるようにするには、ある程度の注意が必要であることを意味します(これは拡散係数とコーディングレートに依存します)。
どちらのフローグラフにも、次のパラメーターを指定する必要があります。
-
SF :ロラの拡散係数。 -
CR :LORAコーディング率。 -
has_crc :パケットの最後にLORA CRCを追加するかどうか。
lora_tx.grc 、Osmocom SinkでサポートされているSDRと、次の追加パラメーターを期待しています。
-
RF_samp_rate :SDRのサンプルレート(Hz)。 -
chan_freq :使用するチャネルの中心周波数(Hz)。 -
chan_bw :使用するチャネルの帯域幅(Hz)。
ロラパケットを受信する方法
lora_test.grc 、 lora_rx.grc 、 lora_soft_test.grc 、 lora_soft_rx.grcは、受信したloraパケットのペイロードをポート52001で送信したUDPデータグラムのペイロードに転送します。
すべてのフローグラフは、次のパラメーターを指定する必要があります。
lora_rx.grcおよびlora_soft_rx.grc 、Osmocomソースと次の追加パラメーターでサポートされているSDRを期待しています。
-
RF_samp_rate :SDRのサンプルレート(Hz)。 -
chan_freq :使用するチャネルの中心周波数(Hz)。 -
chan_bw :使用するチャネルの帯域幅(Hz)。
関連資料
(以前)このモジュールの開発は、次の研究記事の公開につながります。
- A. Marquet、N。Montavont、G。Papadopoulos、 Loraの理論的パフォーマンスと復調技術の調査。 2019 IEEE「ワイヤレス、モバイル、マルチメディアネットワークの世界」に関する国際シンポジウム(Wowmom) 、2019年6月、ワシントン、米国。 pp.1-6、⟨10.1109/wowmom.2019.8793014⟩。 ⟨HAL-02284110⟩。
- A. Marquet、N。Montavont、G。Papadopoulos、 LORAのSDR実装に向けて:Rayleighチャネル上のリバースエンジニアリング、復調戦略、評価。コンピューター通信、Elsevier、2020、153、pp.595-605。 ⟨10.1016/j.comcom.2020.02.034⟩。 ⟨HAL-02485052⟩。
- A. Marquet、N。Montavont、 LORAレシーバーのキャリアおよびシンボル同期。埋め込まれたワイヤレスシステムとネットワークに関する国際会議、2020年2月、フランス、リヨン。 pp.277-282。 ⟨HAL-02860476⟩。
この作業はすべて、同様の努力に基づいて構築されるか、触発されました。この作業に大きな影響を与えた参照と実装を以下に示します。
記事:
- M.ナイト、B。シーバー、デコードロラ:SDRで現代のLPWANを実現します。 GNUラジオ会議の議事録、v。1、n。 1、9月。 2016。<https://pubs.gnuradio.org/index.php/grcon/article/view/8>
- P. Robyns、P。Quax、W。Lamotte、およびW. Thenaers、 LORA変調スキーム用のマルチチャネルソフトウェアデコーダー。モノのインターネット、ビッグデータ、セキュリティに関する第3回国際会議の議事録-IOTBDS、 ISBN 978-989-758-296-7; ISSN 2184-4976、41-51ページ。 doi:10.5220/0006668400410051。
- R.ガナアティアン、O。アフィシアディス、M。コッティングおよびA.バーグ、ロラデジタルレシーバー分析と実装。 ICASSP 2019-2019 IEEE国際音響および信号処理に関する国際会議(ICASSP) 、2019、pp。1498-1502、doi:10.1109/icassp.2019.8683504。
- J. Tapparel、O。Afisiadis、P。Mayoraz、A。Balatsoukas-StimmingおよびA. Burg、 GNUラジオのオープンソースLora物理層プロトタイプ。 2020 IEEE第21回シグナル処理に関するワイヤレス通信の進歩(SPAWC) 、2020、pp。1-5、doi:10.1109/SPAWC48557.2020.9154273。
- M. Xhonneux、O。Afisiadis、D。Bol、J。Louveaux、サンプリング時間オフセットに対して堅牢に堅牢である複数のLORA同期アルゴリズム。 IEEEインターネットオブシングスジャーナル、Vol。 9、いいえ。 5、pp。3756-3769、2022年3月1日、doi:10.1109/jiot.2021.3101002。
- C. Bernier、F。Dehmas、N。Deparis、超低電力ソフトウェア定義ラジオの低い複雑さLORAフレーム同期。 IEEE Transactions on Communications 、Vol。 68、いいえ。 5、pp。3140-3152、2020年5月、doi:10.1109/tcomm.2020.2974464。
その他のLORA実装:
- https://github.com/bastilleresearch/gr-lora
- https://github.com/rpp0/gr-lora
- https://github.com/tapparelj/gr-lora_sdr
- https://github.com/f4exb/sdrangel(chirpchatを参照)