Gnuradio Implementasi pemancar dan penerima LORA
Modul ini berisi implementasi modular LORA. Rantai pemancar (TX) dan penerima (RX), pada tingkat sebaik mungkin, dipecah menjadi blok bangunan atom. Hanya timing dan frekuensi pembawa frekuensi pelacakan-enabling spread spread spread spectrum (CSS) demodulator diimplementasikan dengan cara monolitik, karena Gnuradio tidak mengizinkan loop yang efisien dalam flowgraph.
Modularitas ini dimaksudkan untuk:
- Bereksperimen dengan mudah dengan variasi lapisan fisik Lora (kode koreksi kesalahan yang berbeda, pola pembukaan, dll.),
- Gunakan implementasi ini sebagai bahan pedagogi: bagian dari rantai TX/RX dapat diimplementasikan kembali sebagai latihan, subtilitas implementasi lapisan fisik dunia nyata terlihat jelas (misalnya: rantai TX/RX yang berbeda tergantung pada header atau payload, bit padding).
Instalasi
Di bawah Linux
Dalam direktori gr-lora2 , dan sebagai pengguna biasa:
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
Root:
# make install
# ldconfig
Contoh
Beberapa contoh flowgraph Gnuradio-Companion hadir dalam examples/GRC :
-
lora_test.grc : lora tx/rx dalam flowgraph sederhana tanpa saluran, untuk pemeriksaan kewarasan -
lora_tx.grc : pemancar lora -
lora_rx.grc : Penerima Lora -
lora_soft_test.grc : soft decoding lora tx/rx dalam flowgraph sederhana tanpa saluran, untuk pemeriksaan kewarasan -
lora_soft_rx.grc : Penerima Lora menggunakan decoding lunak
Cara mengirim paket lora
lora_test.grc atau lora_tx.grc mengharapkan data yang berasal dari datagram UDP pada port 52002: muatan datagram UDP yang diterima ditransfer ke dalam muatan paket Lora, dan dikirim. Itu berarti bahwa beberapa perawatan diperlukan untuk memastikan bahwa panjang muatan dari input UDP Datagram dapat muat dalam satu paket LORA (ini tergantung pada faktor penyebaran dan laju pengkodean).
Kedua flowgraph membutuhkan parameter berikut untuk ditentukan:
-
SF : Faktor penyebaran Lora. -
CR : Tingkat pengkodean Lora. -
has_crc : Apakah akan menambahkan Lora CRC di akhir paket.
lora_tx.grc mengharapkan SDR yang didukung oleh wastafel Osmocom, dan parameter tambahan berikut:
-
RF_samp_rate : Laju sampel SDR Anda (dalam Hz). -
chan_freq : Frekuensi tengah saluran yang ingin Anda gunakan (dalam Hz). -
chan_bw : Bandwidth saluran yang ingin Anda gunakan (dalam Hz).
Cara menerima paket lora
lora_test.grc , lora_rx.grc , lora_soft_test.grc , lora_soft_rx.grc akan mentransfer payload paket Lora yang diterima ke muatan data UDP yang dikirim pada port 52001.
Semua flowgraph membutuhkan parameter berikut untuk ditentukan:
-
SF : Faktor penyebaran Lora.
lora_rx.grc dan lora_soft_rx.grc mengharapkan sdr didukung oleh sumber osmocom, dan parameter tambahan berikut:
-
RF_samp_rate : Laju sampel SDR Anda (dalam Hz). -
chan_freq : Frekuensi tengah saluran yang ingin Anda gunakan (dalam Hz). -
chan_bw : Bandwidth saluran yang ingin Anda gunakan (dalam Hz).
Materi terkait
(Sebelumnya) Pengembangan modul ini mengarah pada publikasi artikel penelitian berikut:
- A. Marquet, N. Montavont, G. Papadopoulos, Menyelidiki kinerja teoritis dan teknik demodulasi untuk Lora . Simposium Internasional ke -20 IEEE 2019 tentang "A World of Wireless, Mobile and Multimedia Networks" (WOWMOM) , Juni 2019, Washington, Amerika Serikat. pp.1-6, ⟨10.1109/wowmom.2019.8793014⟩. ⟨Hal-02284110⟩.
- A. Marquet, N. Montavont, G. Papadopoulos, Menuju Implementasi SDR LORA: Reverse-Engineering, Strategi Demodulasi dan Penilaian atas Rayleigh Channel . Komunikasi Komputer , Elsevier, 2020, 153, hal.595-605. ⟨10.1016/j.comcom.2020.02.034⟩. ⟨Hal-02485052⟩.
- A. Marquet, N. Montavont, Sinkronisasi Pembawa dan Simbol untuk Penerima Lora . Konferensi Internasional tentang Sistem dan Jaringan Nirkabel Tertanam , Feb 2020, Lyon, Prancis. hal.277-282. ⟨Hal-02860476⟩.
Semua pekerjaan ini dibangun atau diilhami oleh upaya serupa. Anda akan menemukan referensi dan implementasi di bawah ini yang berdampak signifikan pada pekerjaan ini.
Artikel:
- M. Knight, B. Seeber, Decoding Lora: Menyadari Lpwan modern dengan SDR . Prosiding Konferensi Radio GNU , v. 1, n. 1, Sep. 2016. Tersedia di: <https://pubs.gnuradio.org/index.php/grcon/article/view/8>.
- P. Robyns, P. Quax, W. Lamotte dan W. Thenaers, dekoder perangkat lunak multi-channel untuk skema modulasi LORA . Prosiding Konferensi Internasional ke-3 tentang Internet of Things, Big Data dan Keamanan-IOTBDS, ISBN 978-989-758-296-7; ISSN 2184-4976, halaman 41-51. Doi: 10.5220/0006668400410051.
- R. Ghanaatian, O. Afisiadis, M. Cotting dan A. Burg, Analisis dan Implementasi Penerima Digital Lora . ICASSP 2019 - 2019 Konferensi Internasional IEEE tentang Akustik, Pidato dan Pemrosesan Sinyal (ICASSP) , 2019, hlm. 1498-1502, doi: 10.1109/icassp.2019.8683504.
- J. Tapparel, O. Afisiadis, P. Mayoraz, A. Balatsoukas-Stiming dan A. Burg, sebuah prototipe lapisan fisik Lora open-source di Radio GNU . 2020 IEEE 21st International Workshop tentang Kemajuan Pemrosesan Sinyal dalam Komunikasi Nirkabel (SPAWC) , 2020, hlm. 1-5, doi: 10.1109/SPAWC48557.2020.9154273.
- M. Xhonneux, O. Afisiadis, D. Bol dan J. Louveaux, algoritma sinkronisasi Lora rendah kompleksitas yang kuat untuk pengambilan sampel waktu offset waktu . IEEE Internet of Things Journal , Vol. 9, tidak. 5, hlm. 3756-3769, 1 Maret1, 2022, doi: 10.1109/jiot.2021.3101002.
- C. Bernier, F. Dehmas dan N. deparis, Sinkronisasi bingkai Lora kompleksitas rendah untuk radio yang ditentukan perangkat lunak yang sangat rendah . Transaksi IEEE pada Komunikasi , Vol. 68, no. 5, hlm. 3140-3152, Mei 2020, doi: 10.1109/tcomm.2020.2974464.
Implementasi LORA lainnya:
- https://github.com/bastilleresearch/gr-lora
- https://github.com/rpp0/gr-lora
- https://github.com/tapparelj/gr-lora_sdr
- https://github.com/f4exb/sdrangel (lihat chirpchat)