6

この記事は最終更新日から3年以上が経過しています。

投稿日

更新日

LoRa変調って?

前書き

 ThethingsNetworkにつながるゲートウェイやエンドデバイスをラズパイで作っています.
Uplinkは少しはできるようになったのですがDownlinkがなかなかできません..
気分転換?に前から気になっていたLoRa変調について調べてみたのでメモとして記します.
もし間違いなど見つけられたら指摘していただけるとうれしいです.

LoRa変調

技術的にはChirp Spread Spectrum、チャープ・スペクトラム拡散による変調のことですが
Long Rangeを略してLoRa、その用途に適した変調ということでLoRa変調と呼ばれています.
広範囲の通信に適した変調ということでしょうか.

図による説明

チャープは周波数を時間とともに変化させて拡散する方法でFig.1のように変化させます.
Chirp_Mod_1.png
周波数はFreq.LowからFreq.Highの範囲で変化させます.Freq.High-Freq.Lowが帯域幅BWになります.
BW=Freq.HighFreq.Low
図は時間とともに周波数が増加していますが減少する方向に変化させてもよいです.
そして周波数が一周して元に戻る?までの時間が1シンボル(変調の単位)となります.Fig.1では3シンボルあります.
Chirp_Mod_2.png
シンボルは通信の変調の単位ですがデータの1/0をどうやって対応させるかや何通りの波形があって何ビットに対応させるかは決め方次第です.
LoRa変調ではデータをシンボルの開始周波数(Freq.LowとGreq.Highの間の位置)に割り当てています.
ここでは1シンボルに8ビットを割り当てるとして変調した例をFig.3に示します.
Chirp_Mod_4.png
データが0x00、0x3F、0x7Fと続いた場合の変調波形がこの図です.
図では2ビット分しか書いていませんがBWを256(=28)分割すれば8ビット分のデータを割り当てることができます.
ここで1シンボルに割り当てたビット数をSFとします.(後述)

式による説明

Chirp変調では拡散は周波数の変化で、その大きさはBWですのでチップレート(Rc)はBWと言えます.
シンボルレート(Rsym)はチップレートをシンボル数 2SFで割ればよく次の式になります.
Rsym=BW2SF
ビットレートRbitは先のSFを用いて
Rbit=BW2SFSF
となります. また、1シンボル時間TsymRsymから
Tsym=2SFBW
となります.
周波数がfhからflへジャンプするタイミングは1BWごとでFig.4のようになります.
Chirp_Mod_6.png

LoRa変調について技術的に踏み込んで説明してあるものがなかなかなくて前から知りたいと思っていましたのですっきりしました.

参考にしたサイト

https://www.sghoslya.com/p/lora_9.html
https://www.youtube.com/c/mobilefish/about

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
6