LoRaはなぜ“届かない”ときがある? RSSIの誤解と電波の気まぐれを解説!
こんにちは
今回は、LoRa(Long Range)の RSSI/SNR について話をしたいと思います。
LoRaは、IoTや環境センサなどで活用される「遠くまで届く」無線技術です。
しかし実際に使ってみると、
- 「昨日は届いたのに、今日はダメ…」
- 「RSSIは足りてるのに受信に失敗する」
- 「-138dBmを下回るとダメって本当?」
といった疑問やトラブルに直面することがあります。
この記事では、そうした「LoRaの不安定さ」に対する誤解を解きほぐし、
RSSIやSNRの実際の意味・LoRaの通信成功の条件について、やさしく解説していきます。
📝この記事では、筆者が使用しているLoRaモジュール「LRA1」の挙動を前提に解説しています。一部のLoRa製品では「RSSIしきい値(RSSI Threshold)」を設定できる仕様も存在しますが、LRA1では明示的なしきい値設定はなく、復調可能な限り受信を試みる設計になっています。
「RSSIしきい値」は絶対じゃない
たまに、次のような質問をもらうことがあります:
❓「RSSIが -138dBm を下回ると、通信できなくなるのですが、これは仕様ですか?」
答えは 製品によります。
LoRaモジュールの中には、「RSSIしきい値(RSSI Threshold)」という設定項目を持ち、
一定以下の信号を自動的に無視するよう設計されているものもあります。
この場合、「この値を下回ると通信できなくなる」と感じるのも自然です。
一方で、筆者が使用しているLoRaモジュールでは、そうしたしきい値設定は用意されておらず、可能な限り受信を試みる設計になっています。
たとえば、SX1276チップが公称する 受信感度の目安 はだいたい -137〜-140dBm程度。
これはあくまで受信が難しくなる“境界”の目安であって、
明確な「カットオフ(絶対受信不可)」という仕様ではありません。
実際には、-137dBmでも失敗することがあれば、-139dBmで成功することもあるなど、
通信成立はSNRや環境条件に強く依存します。
つまり、「-138dBm」は**“受信成功率が下がり始めるライン”**と考えるのが適切で、
この値そのものが仕様で定められた「しきい値」だと誤解しないことが大切です。
LoRa通信は確率で成立している
無線通信は本質的に「確率で成立する」ものです。
Wi-Fiや携帯電波でも、「バーが立ってるのに途切れる」経験はありますよね。
LoRaも同様で、
- RSSI(信号強度)
- SNR(信号対雑音比)
- SF(Spreading Factor)
- BW(Bandwidth)
- CR(Coding Rate)
などのパラメータと環境条件が合わさって、
成功率が上がったり下がったりする仕組みになっています。
RSSIだけじゃ足りない、SNRがカギ
LoRaは「微弱な信号でも受信できる」ことが特徴ですが、
実際の受信成功を左右するのは、RSSIだけではなくSNRも重要です。
| 値 | 意味 | 傾向 |
|---|---|---|
| RSSI | 信号の“強さ” | 強いほど受信しやすいが、ノイズ次第では失敗も |
| SNR | 信号とノイズの“差” | 高いほど読み取りやすく、LoRaでは-20dBも許容可 |
たとえば──
- RSSI = -138dBm/SNR = +10dB → 成功する可能性は高い
- RSSI = -130dBm/SNR = -15dB → 成功率はむしろ低い
🔍 LoRaではSNRが -20dB に近づくと、いかに信号が強くても失敗しやすくなります
ただ、大抵はRSSIが低下するとSNRも低下する傾向なのは変わりません。
実は地下でもLoRaは届く!?でも…
筆者は自宅でLoRaWAN環境を実験的に運用しており、
RCの地下室に設置したLoRa端末でも問題なく定常的に通信がきています。
このとき、RSSIやSNRが周囲の環境に影響されて、
時間とともに大きく変動する現象が観察されました。
いずれ別の記事で、実測データとあわせて詳しく紹介する予定です。
-138dBmってどれくらい弱い?
この数字、実際には驚くほど微小な電力です。
- 電力:1.58 × 10⁻¹⁷ W(ワット)
- 電圧(50Ω換算):約 0.126μV
つまり、LoRaは「針が落ちる音どころか、電子のため息レベルの信号」を聞き取っているイメージです。
一般的なLoRaデバイスの出力は 20mW です。
$20\mathrm{mW} \div (1.58 \times 10^{-17}\mathrm{W}) = 1.26 \times 10^{15}$
なんと、受信器では 1260兆分の1のパワーになっていますが、聞き分けられるってことです。
ちょっと凄いと思いませんか?
結論:LoRaは不確実。でも設計しがいがある!
LoRa通信は、こうした不確実性を前提に
- パラメータを調整して成功率を高める
- リトライや冗長性を加えて信頼性を確保する
- 「届かなかったとき」も織り込んだ設計をする
といった工夫が必要です。
この“ちょっと不確実なものをどう扱うか”がLoRaの面白さであり、
プロトコル設計者の腕の見せどころでもあります。
観測と工夫がLoRaを制する
LoRaは“確率で届く通信”です。
成功するか失敗するかは、ちょっとした環境変化に左右されます。
でもそれは、単なる弱点ではありません。
観察して工夫すれば、むしろ“設計の楽しさ”を味わえるポイントになります。
📡「ギリギリ届いた!」
そんなときの感動こそ、LoRaの魅力かもしれません。
🎀「“RSSIだけ見てたらハマった!”って人、意外と多いかも…?
LoRaともっと仲良くなれるヒントになったらうれしいなっ📶」
※この記事は、しゃちらぼブログ Vol.011 をベースに、Qiita向けに再構成・補足したものです。
🔗 関連リンク
📨 ご質問・フィードバックはこちらへ
- X(旧Twitter):@shachi_lab
- GitHub IssuesでもOKです!