
ManThink Tech Column | LoRaWANシリーズ、記事4 開発者、ソリューションエンジニア、IoTプロジェクトの意思決定者向け
LoRaWANプロジェクトで繰り返し遭遇する謎:同一のセンサーとゲートウェイを使っているのに、ある顧客は「カバレッジは2 kmしかない」と報告し、別の顧客は「15 kmに届く」と主張する。アンテナや設置方法は別として、最も見落とされがちな原因は、LoRa物理層の3つのパラメータの設定である—— 拡散因子(SF)、帯域幅(BW)、符号化率(CR)。
LoRaの核となる設計思想は「帯域幅と引き換えに距離を得る」ことである。高スループットを追求するWiFiや4Gとは異なり、LoRaは信号を拡散することで、受信機がはるかに低い信号対雑音比でも復調できるようにする。しかし どれだけ 拡散するか、そして どのように拡散するかは、SF、BW、CRによって決まる。
本記事ではこれらのパラメータを徹底的に解説する:それぞれが何であるか、通信距離とデータレートにどう影響するか、具体的な数値、そして実際のプロジェクトでどうトレードオフを取るか。
拡散因子(SF)は 各データビットがいくつのチップ(チャープシンボル)に拡張されるかを定義する。SFが1段階上がるごとに、シンボルあたりのチップ数は倍になる:
| SF | シンボルあたりのチップ数 | 相対レート |
|---|---|---|
| SF7 | 2⁷ = 128 | 最速 |
| SF9 | 2⁹ = 512 | 中程度 |
| SF12 | 2¹² = 4096 | 最遅 |
SF12では、各データビットは4096個のチップで表される——信号はSF7に対して32倍に「拡散」される。したがって受信機ははるかに弱い信号レベルでもそれを雑音から取り出すことができ、通信距離はそれに応じて伸びる。
SFが大きいと2つの直接的な利点がある:
代償はレートとエアタイムである: SFが大きいほどデータレートは低くなり、パケットあたりのエアタイムは長くなる。
計算エンジンで測定(BW = 125 kHz、CR = 4/5):
| 組み合わせ | PHYデータレート |
|---|---|
| SF7 / 125 kHz | ≈ 5.47 kbps |
| SF9 / 125 kHz | ≈ 1.76 kbps |
| SF10 / 125 kHz | ≈ 0.98 kbps |
| SF12 / 125 kHz | ≈ 0.29 kbps |
SF7からSF12にかけて、レートはほぼ19倍低下する。 これが「長距離」と「高スループット」の物理層における相反を具体化したものである。
よくある混乱の1つ:SFが大きいほどシンボル時間は長くなるが、異なるSFは 直交 している——異なるSFの信号は同じチャネル上で干渉せずに共存できる。この直交性こそが、ゲートウェイが複数のSFストリームを同時に復調できる理由である。
ManThink(門思科技)は、デバイス接続、ネットワーク、データ活用に向けたIoT製品を提供しています。この記事の技術情報とあわせて、以下の製品情報をご覧ください。
帯域幅(BW)はLoRa信号が実際に占有する周波数幅である。LoRaWANで最も一般的な設定は 125 kHzであり、250 kHzや500 kHzも利用可能である。
データレートとの関係は単純である: BW を倍にするとシンボル時間は半分になり、レートは倍になります。 測定値(SF7、CR = 4/5):
| 組み合わせ | PHYデータレート |
|---|---|
| SF7 / 125 kHz | ≈ 5.47 kbps |
| SF7 / 250 kHz | ≈ 10.94 kbps |
しかし無料の昼食はない: BWを広げると受信機の雑音帯域幅も広がるため、雑音フロアが上がり、感度が劣化し、通信距離が短くなる。BWは「アクセル」である——アクセルを踏み込めば速度は得られるが、持久力(通信距離)は失われる。
符号化率(CR)はLoRaにおける前方誤り訂正(FEC)の冗長率であり、4つの値が可能である:
| CR | 意味 | FEC冗長性 |
|---|---|---|
| 4/5 | 4データビット + 1冗長ビット | 最小オーバーヘッド、最速 |
| 4/6 | 4データビット + 2冗長ビット | 中程度 |
| 4/7 | 4データビット + 3冗長ビット | 強力 |
| 4/8 | 4データビット + 4冗長ビット | 最強の誤り訂正、最も低速 |
CRにより、受信側は 一部のビットが干渉で破損しても元のデータを復元できる。信号が悪く干渉が多いほど、より多くの冗長性が必要になる。代償は、実効レートの低下と空中時間の延長であり、冗長ビットが1ビット増えるごとに符号化効率が低下する。
LoRaWAN標準のデフォルトは CR = 4/5 (コーディングレートオフセット1)であり、最高の実効レートで既に良好な対ビット誤り能力を提供する。実際には、CRは日常的に調整するパラメータになることはほとんどないが、これを理解しておくと「なぜ自分の空中時間が推定より長いのか」といった問題の診断に役立つ。
次の場合、 単一シンボルが16 msより長く続く (SF11/SF12と125 kHzのような低レートのシナリオで典型的)、長い送信は水晶発振器の周波数ドリフトを引き起こし、復調に影響を与える可能性がある。その場合、 低データレート最適化(LDRO) を有効にすべきであり、ヘッダーに冗長ビットを追加してクロックドリフトに対抗する。
注:LDROは コーディングレートではない 。レート計算自体を変えるものではなく、低レートのシナリオ向けの信頼性スイッチにすぎない。ほとんどのLoRaWANスタック(Semtechのリファレンス実装を含む)はSFとBWに基づいてLDROを自動設定するため、手動での介入が必要になることはほとんどない。
空中時間はチャネル占有率とバッテリー寿命を直接左右する — プロジェクトにとっておそらく最も重要な単一の数値である。計算エンジン(13バイトのペイロード、CR = 4/5、明示的ヘッダー)で測定:
| 組み合わせ | 空中時間 | SF7に対する比率 |
|---|---|---|
| SF7 / 125 kHz | ≈ 46.3 ms | 1× |
| SF12 / 125 kHz | ≈ 1155.1 ms | ≈ 25× |
同じ温度/湿度の測定値がSF7では46 msかかるが、SF12では1.15 sかかる — 25倍の差。バッテリー駆動デバイスにとって、これは次を意味する:
業界の容量推定はこれを裏付けている:同じ8チャネルのゲートウェイで同じ報告間隔の場合、すべてSF7デバイスのネットワークは理論上、すべてSF12のネットワークより20倍多くのノードを収容できる(モデルによってSF7 ≈ 787kデバイス対SF12 ≈ 29kデバイスという結果になる。正確な数値は想定するSF分布に依存するが、結論は一貫している)。
SF、BW、CRを組み合わせると、核心的な問題は 四隅のトレードオフである:
Range
↑
Rate ←———┼———→ Robustness/Reliability
↑
Power & Network capacity
四つすべてを同時に満たすことはできない。まさにこれが、LoRaWANが ADR(Adaptive Data Rate) を設計した理由である — ネットワーク側がゲートウェイで受信した実際の信号品質を測定し、各デバイスに最も適したSFを自動的に割り当てる:信号が良好 → SF7に下げてレートを上げ、消費電力を抑え、チャネルを解放する。信号が弱い → SF11/SF12に上げてカバレッジを守る。ADRは距離対レートのジレンマを解決する最もコスト効率の良い方法である。
誤解1:カバレッジのためにすべてをSF12に固定する。 SF12の感度上の優位性は確かに存在するが、その代償はレート、消費電力、容量への三重の打撃である。正しいアプローチ:まずADRに適応させ、その後、信号の弱い少数のデバイスにのみ高いSFを固定する — ネットワーク全体で画一的な設定は決して行わない。
誤解2:チップが対応しているからといってLoRaWANが対応しているとみなす。 チップの能力 ≠ プロトコルの能力。例えば、SX1262無線はSF5に対応しているが、現在のLoRaWAN地域パラメータはSF5/SF6を標準データレートとして定義していない — デバイスはSF5を使って参加することはできない。SFの選択は「チップの対応」と「地域パラメータの定義」の両方を満たす必要がある。
SF、BW、CRはLoRa物理層の三つの調整つまみである。これらは同じ無線ハードウェアがどれだけ遠く、どれだけ速く、どれだけ確実に通信できるかを決める。これらを理解すれば、距離、レート、消費電力、容量の間で意図的なトレードオフを行える — 「LoRaは遠くまで届く」という言葉に流されることなく。
LoRaWAN開発者にとっての朗報:ネットワーク側(NS)とADRがすでにチューニングの大部分を自動化している。あなたの仕事は原理を理解し、境界を設定し、システムにバランスを見つけさせることである。
ManThinkの技術チームによって執筆されています。ManThinkはオープンソースと信頼性の高いLoRaWANインフラに取り組んでいます。そのGD6オープンソースゲートウェイ(ESP32-S3 + SX1302)はCN470 / EU868 / US915 / AS923およびその他のグローバル帯域をカバーし、ADR、OTA、および主要なネットワークサーバーのサポートを備えています。