#1.背景
LoRaは__Lo__ng __Ra__ngeの略で長距離通信を意味しているそうです.
自作のGateway(GW)を自宅2Fのベランダにを置いていますがどれくらいの距離を飛ばせるのか実験というかチャレンジしています.
何回かの実験を経て61kmまで飛ばせたので調べたことや実験の概要などをまとめてみます.
【2020/09/30追記】85.7kmまで飛びましたので経緯を追記しました.
【2020/10/14追記】115.0kmまで飛びましたので経緯を追記しました.誤記修正など.
#2.先人の記録
下表は筆者がネットで調べた主な公開されている長距離通信です.これ以外にもあるかも知れません.(ご存じの方はぜひ教えてください.追記したいです)
実施者 | 距離 | 条件など |
---|---|---|
ハカルプラス様 | 5.0km | 琵琶湖大橋 |
Ambient様 | 4km | マンション4F |
愛媛大学都築様 | 17.8km | 屋上 SF12 |
センスウェイ様 | 123.4km | 富士山5合目 SF10 |
iij斎藤様 | 約53km(筆者が地図で計測した値) | 展望台 |
Zaragoza大学 様 | 766km | 気球! |
サラゴサ大学の766kmがダントツの世界記録ですね.日本記録はセンスウェイ様の123kmでしょうか.
LoRaの理論的な通信距離は広島市立大学の高橋先生が計算(*)されており、それによれば1622kmですが何もない自由空間での話であり、地球上では地面があるのでそうは行きません.
まず見通しであることが条件になります.地球は丸いので高い方が有利になります.サラゴサ大学では気球に取り付けたEnd Deviceが大西洋上25000mで標高2253mのスキー場のGWとの間で通信できたとのことで下のような図で計算すると最大の見通し距離は約847kmになり、見通し範囲内であったことが分かります.
図中の等価地球半径8490kmというのは大気の影響で電波が屈折しながら地球上を伝搬するために地球の半径を大きくして電波が直進するとした場合に相当する地球の半径だそうです.(電波が地球上を曲がりながら進むとはこれまで知りませんでした..)
#3.電波の伝搬の性質
物理的な話になりますが電波が伝搬していく特性でいくつか知られていることがあります.
##3.1 電波伝搬特性
電波が平面的に伝わる際には距離の二乗で小さくなっていきます.
実際には地面の反射波との合成になるので距離によって大きくなったり小さくなったりもします.
一例として送信アンテナ高さ1000m(山の上の想定)、受信アンテナ高さ7m(自分のGWの高さ)、各アンテナゲイン3dBi、送信出力20mWとして計算したものが次の図です.
(※このグラフはサーキットデザイン様のサイトの無線技術計算ツールを使って計算しました.)
近距離では変動が激しいですが100kmまでの範囲では約43km以上では落ち込むことはなくなり、-110dBm前後で徐々に小さくなっていくようです.
##3.2 フレネルゾーン
電波が送受信される際には下図のように空間をフットボール状の形で広がって伝わるそうです.(電磁界だから?でしょうか.)地面より下の部分は障害となって通信に寄与しません.アンテナの高さがないと半分はロスしてしまうことになります.
広がりの大きさはフレネル半径と呼ばれ、計算で求めることができます.
例1: 周波数923MHz、通信距離100mの場合.
フレネル半径は2.9mとなり高さ3mあればロスなく伝わります.(上下だけでなく、左右方向も必要ですが)
例2:周波数923MHz、通信距離100kmの場合.
フレネル半径は90.1mとなります.
6割確保できればさほどロスが無いそうですがそれでも54mになりますので超巨大なタワーが必要になりますね.
数mの高さのアンテナでは半分のロスを見込む必要があります.先のグラフの値が3dB小さくなります.
実際にはさらに屋根など周りの構造物の影響を受けると思えます.
##3.3 ハイトパターン
電波を受信する際に直接波と大地の反射波の合成となるため、高さによって強弱が現れる現象です.
うまく通信できないときはアンテナの高さを変えてみるとよくなるかも知れません.
試しに上述の電波伝搬特性で受信アンテナの高さを14mに変えて計算してみると受信強度が落ち込むヌルポイントが85km付近にも現れました.
#4.LoRaチップの受信性能と課題
SEMTECH社から提供されているLoRa Calculatorで受信感度などの計算をすることができます.
日本の規則仕様でBW=125kHz、CR=4/5とした時の受信感度を次の表に示します.
拡散係数 | 受信感度 |
---|---|
SF7 | -123dBm |
SF8 | -126dBm |
SF9 | -129dBm |
SF10 | -132dBm |
SF12 | -137dBm |
拡散係数(SF値)が大きい程感度はよくなりますがデータとして低速になるため送信時間の制限からデータサイズが小さくなります.SF10で送信時間400mSで11byteとなりCayenne形式のGPSデータが送れるぎりぎりになります.
SF12で11byteのGPSデータを送信するには0.93秒必要となり400mSを超えますので日本ではキャリアセンスを5mS以上とる、チャンネルを38ch(923.4MHz)以下に限定するなどの技術的条件を満たす必要があります.
#5.最初は近所で実験
まずは家の近所を車で走り回って試してみました.環境としては水田と住宅が半々くらいの地方です.
1km以下でも通信できない地点(地上1m位)がある一方、5.1km離れたショッピングセンターの屋上駐車場では通信できていました.なお、条件はSF7で送受ともDragino GPS HATに付属のアンテナです.
高い所が有利であると実感しました.
#6.近所の山に登る
登るといっても車で9合目か山頂まで車でいくことのできる山ばかりです.
GW側のアンテナはコーリニアアンテナを自作しました.利得は7dBi、ケーブルロス(き電線損失と言うらしい)が2dBくらいありますので送信電力は2dBm下げて11dBmとして運用しました.GWの受信は有利になるはず.
コーリニアアンテナというのは屋外のGatewayの写真でよく見かける形式で外見は数十センチの長さのパイプ状で水平面は無指向性という特性になります.
ED(End Device)のアンテナはDragino GPS HAT基板に付属のものです.
通信実験する山は途中に遮るような高い山がないことを確認する必要がありますが地形断面図というので確認できます.(長距離通信には途中で遮る山を逆に利用する山岳回折という高度な技?があるようですが今回は使いません.)
任意の二点の地形断面図を作成できるサイトはいくつかありますがWeb地形断面図メーカーというサイトで作成しながら探しました.元の地図がメルカトル図法なので厳密には二点の最短距離という訳でないのですが途中の障害となる山の有無を判断するには問題ないと考えました.
場所(高さ) | 距離 | 結果 |
---|---|---|
山その1(1377m) | 27.6km | △(2パケットだけ) |
山その2(201m) | 23.6km | × |
山その3(924m) | 22.1km | ◎ |
山その1では山頂で50パケット位送信しましたが受信できたのは2パケットというのは通信できたと言えるのか微妙なところです.
また、山その1ではアクチベーションはOTAAでしたが受信できたのはJoinRequestだけでセッションを開始できていませんでした.双方向の事前の認証の通信が必要なOTAAは長距離通信には向いていないと考えて以後はABPにしてED→GWの片方向の通信としました.
OTAAが劣るという訳ではありません.都度認証されるので成りすましにくい安全な方法だと思います.
#7.長距離にチャレンジ
長距離を目指す手段として拡散係数をSF10に変更します.9dB有利になります.
場所(高さ) | 距離 | 結果 |
---|---|---|
山その4(701m) | 45.6km | ◎平均-114.8dBm |
山その5(1128m) | 61.4km | ◎平均-116.2dBm (二回目) |
山その5の実験では車の移動は片道100km位になり、一日がかりでした.
山その4では一回で通信できましたが山その5の一回目は通信できませんでした.
通信状況の改善を図るべくアンテナをカメラの三脚に樹脂のパイプで取り付けるようにして地上高く設置できるようにしました.これで2m30cmくらいの高さで安定して送信することができるようになりました.
また、場所によって伝搬状況が違うと考え、山頂以外にも展望台など5か所で実験をしました.
(片道100kmの移動で一日かけて実験しているのでできることはやっておきたいという気持ちもありますが.)
唯一通信できたのは山頂から少し下がった地点にあるパラグライダーの離陸場でした.開けていることや斜面がGWの方向を向いていたのがよかったのかなと思います.9割のパケットが到達していました.
地形断面図は下図のようです.
(※地理院タイル (標高タイル)を「Web地形断面図メーカー」サイトで作成)
#8.さらなる長距離を目指して
次の目標は100km超えです.どの山に遠征?して実験しようか画策中です.
今年はコロナ禍で制約があり難しいかも知れませんが....
実験できたら追記する予定です.
#9.謝辞
調べるにあたり、サーキットデザイン様の技術情報を大いに参考にさせていただきました.
地形断面図はWeb地形断面図メーカーを使って作成しました.
【2020/09/30追記】
#10. 改良
100km越えをねらってロープウェイで北アルプスに登ってテストしましたが通信できませんでした.
成功していれば133kmだったのですがLoRaの世界はそれほど甘くはありませんでした...
そこで次の2点の改良を行いました.
・GWのアンテナの高さを1m位高くしました.
・SF12なら通信できるかも知れないと考えてSF10とSF12の両方でテストできるようにしました.
具体的には時計を参照してGW側は0-29秒の間はSF10で、30-59秒の間はSF12で待ち受けます.
ED側は毎分15秒にSF10で、毎分45秒にSF12でパケットを送信するように各ソフトを改修しました.
※GWによってはMultiSFといって異なる複数のSFの電波を同時に受信できることもできるらしいのですがうちのGWのDragino GPS HAT(SX1276)にはそのような高度な機能はついていない...
#10.1 自己記録更新
手堅く?距離85.7kmにある山に登ってテストしました.結果としてほとんどのパケットは受信できていました.GWアンテナの高さを高くしたことと山頂の見晴らしが開けていたのがよかったのかなと思います.
山頂付近で場所を移動させて何か所かで送信しましたが場所によってはSF12のみ受信できており、SF10とSF12の違いを確認することができました.ただ、SF10で受信できていない場合にSF12の受信強度(RSSI)が落ちているかというとそうでもなくて謎ですが..
場所(高さ) | 距離 | 結果 |
---|---|---|
山その6(1739m) | 85.7km | SF10◎平均-113.3dBm |
SF12◎平均-112.6dBm | ||
地形断面図です | ||
(※地理院タイル (標高タイル)を「Web地形断面図メーカー」サイトで作成) |
【2020/10/14追記】
#10.2 自己記録更新その2
いよいよ100km越えにチャレンジです.
バスで2700mまで上がってそこから山頂まで徒歩で登ります.
地図で見ると山頂から通信方向に15m低いサブピークが位置しているおり、障害になることが心配されたので念のため、登山道をサブピークの横まで行ってそこでも送信しました.
場所(高さ) | 距離 | 結果 |
---|---|---|
山その7(3026m) | 115.0km | SF10◎平均-111.3dBm |
SF12◎平均-111.1dBm |
山頂(A地点)、サブピーク横(B地点)、山頂の北150m(C地点)の3カ所で送信しましたが、いずれもほとんどのパケットは受信できており、山その6より受信信号強度が良いという結果になりました.
TTN MapperのAdvanced Mapsで可視化したものをこんな感じということで下に載せます.
上からC地点、A地点、B地点になります.図ではGW側はカットしています.
Signal(信号強度)が-115dBm以下(水色)や-120dBm以下(青色)となっていてGWの値と違っていますが理由は謎です..
(※TTN Mapperサイトで作成)
地形断面図です(サブピークが分かるように横に広げています)
(※地理院タイル (標高タイル)を「Web地形断面図メーカー」サイトで作成)
次の目標はセンスウェイ様の123.4kmを超える通信を行って日本記録樹立!?です.
(オレオレ認証ならぬオレオレ記録ですが..)
寒くなってきたので来年までおあずけかも知れません.(笑)