広域・低電力無線

LoRa

長距離・低消費の変調方式。

概要

LoRa(Long Range)は、Semtech社が開発・特許を持つ無線変調方式です。LPWAカテゴリの物理層技術として、数km〜数十kmの長距離伝送を低消費電力で実現します。「LoRa」は変調方式そのものを指し、ネットワーク規格は別途LoRaWANとして定義されています。

LoRaの核心は**チャープスペクトラム拡散(CSS: Chirp Spread Spectrum)**という独自の変調技術です。周波数を連続的に変化させる「チャープ」信号を使うことで、ノイズや干渉に対して極めて高い耐性を発揮し、微弱な電波でも数km先のゲートウェイが受信できます。この特性により、山間部・地下・建物内など電波の届きにくい場所でも安定した通信が可能です。

歴史・背景

LoRaの技術的ルーツは、フランスのスタートアップCycleo社が開発したCSSベースの変調方式にあります。Semtech社は2012年にCycleo社を買収し、その技術をもとにLoRa変調ICを開発・商品化しました。

2013年にSemtech社がLoRa対応トランシーバーIC「SX1272」を発売し、開発者コミュニティの注目を集めました。2015年にはLoRa Allianceが設立され、LoRaを物理層として使うネットワーク規格「LoRaWAN」が策定されたことで、エコシステムが急速に拡大しました。

現在はSX1276・SX1261・SX1262などの後継ICが広く使われており、多数のモジュールベンダーがLoRaモジュールを提供しています。また2020年以降はSemtech自身が「LR-FHSS(Long Range Frequency Hopping Spread Spectrum)」という補完技術も追加し、大量デバイス収容能力を強化しています。

技術仕様

チャープスペクトラム拡散(CSS)の原理

LoRaはCSSという変調方式を採用しています。チャープ(chirp)とは、時間とともに周波数が連続的に変化する信号です:

上りチャープ: 周波数が低→高へ線形に変化
下りチャープ: 周波数が高→低へ線形に変化

LoRaでは上りチャープをシンボルの基本単位とし、
位相のスタート位置でデータをエンコードします。

CSSの特性として:

  • 周波数オフセット(ドップラーシフト)に強い
  • マルチパスフェージングへの耐性が高い
  • 同一の拡散係数(SF)を使う信号は直交性を持つ

スプレッディングファクタ(SF)

LoRaの重要パラメータがSF(Spreading Factor)です。SF7〜SF12の6段階があり、数値が大きいほど遠距離・低速・高消費電力になります:

SFシンボルレートビットレート(BW=125kHz, CR=4/5)到達距離(目安)送信時間(10byte)
SF7976 sym/s5.5kbps2〜3km56.6ms
SF8488 sym/s3.1kbps4〜5km102.9ms
SF9244 sym/s1.8kbps6〜7km185.3ms
SF10122 sym/s0.98kbps8〜10km370.7ms
SF1161 sym/s0.54kbps10〜13km741.4ms
SF1230.5 sym/s0.29kbps13〜15km1482.8ms

帯域幅(BW)

帯域幅の選択肢:

  • BW=125kHz: 最も一般的。日本の920MHz帯で使用可能
  • BW=250kHz: データレートが2倍。欧州等で使用
  • BW=500kHz: データレートが4倍。主に下り通信に使用

コーディングレート(CR)

前方誤り訂正(FEC)の割合:

  • CR=4/5: オーバーヘッド25%。通常環境
  • CR=4/6: オーバーヘッド50%。やや干渉が多い環境
  • CR=4/7: オーバーヘッド75%
  • CR=4/8: オーバーヘッド100%。非常に干渉が多い環境

受信感度

LoRaの最大の特徴は優れた受信感度です:

SF受信感度(BW=125kHz)
SF7-123 dBm
SF8-126 dBm
SF9-129 dBm
SF10-132 dBm
SF11-134.5 dBm
SF12-137 dBm

一般的なZigBeeやBluetoothの受信感度は-90〜-100dBm程度であるため、LoRaはそれより30〜40dB(電力で1000〜10000倍)感度が高いことになります。

送信出力

日本の電波法に基づく920MHz帯の規定:

  • 最大送信電力: 250mW(24dBm)
  • ただし通常は20dBm(100mW)以下を使用するケースが多い

動作原理

SX1262を使った送受信の流れ

LoRaトランシーバーIC(SX1262等)はSPIインターフェースで制御します:

// SX1262 LoRa送信の例(SPI経由)
void lora_send_packet(uint8_t *data, uint8_t len) {
    // 1. スタンバイモードへ移行
    sx1262_set_standby(STDBY_RC);

    // 2. パケットタイプをLoRaに設定
    sx1262_set_packet_type(PACKET_TYPE_LORA);

    // 3. 周波数設定(920.8MHz)
    sx1262_set_rf_frequency(920800000UL);

    // 4. 送信電力設定(+14dBm, PA設定)
    sx1262_set_tx_params(14, RADIO_RAMP_200_US);

    // 5. LoRAパラメータ設定(SF=7, BW=125kHz, CR=4/5)
    sx1262_set_modulation_params(LORA_SF7, LORA_BW_125, LORA_CR_4_5, 0);

    // 6. パケット設定(プリアンブル8、明示ヘッダ、CRC有効)
    sx1262_set_packet_params(8, LORA_PACKET_VARIABLE_LENGTH, len, 1, 0);

    // 7. TXバッファに書き込み
    sx1262_write_buffer(0x00, data, len);

    // 8. 送信開始(タイムアウト=0: 送信完了まで待機)
    sx1262_set_tx(0);

    // 9. TX完了割り込みを待つ
    while (!sx1262_get_irq_status() & IRQ_TX_DONE);
    sx1262_clear_irq_status(IRQ_TX_DONE);
}

アダプティブデータレート(ADR)

LoRaWANネットワークサーバーはADR(Adaptive Data Rate)機能により、デバイスのSFを自動調整します。電波状況が良い場所ではSFを下げて速度と容量を改善し、遠距離・悪環境ではSFを上げて到達性を確保します。

用途・ユースケース

農業IoT

田畑の広大な面積をカバーするため、LoRaの長距離通信は農業センサーネットワークに最適です。1台のゲートウェイで半径数km内の数百台のセンサーをカバーできます。

スマートメーター・インフラ監視

電柱や屋外設備への設置が多いインフラ機器は、電池駆動が求められます。LoRaの低消費電力特性により、5〜10年の電池寿命を実現できます。

屋内資産追跡

工場・倉庫内での機材・パレット追跡。屋内でも建物の壁を貫通するLoRaの強力な透過性を活かせます。

プライベートLoRaネットワーク

企業・自治体が独自のLoRaWANゲートウェイを設置して、プライベートIoTネットワークを構築するケースも増えています。

実装・開発のポイント

主要IC・モジュール

製品メーカー特徴
SX1261/62Semtech最新世代。低消費、Sub-GHz
SX1276/77/78/79Semtech旧世代だが普及率高い
LLCC68SemtechSX1262の低コスト版
RFM95WHopeRFSX1276ベースの低コストモジュール
E22シリーズEBYTESX1262ベース、通信距離が長い

Arduinoでの実装例

#include <SPI.h>
#include <LoRa.h>  // Sandeep Mistry's LoRa library

#define SS_PIN   10
#define RST_PIN  9
#define DIO0_PIN 2

void setup() {
    Serial.begin(9600);

    LoRa.setPins(SS_PIN, RST_PIN, DIO0_PIN);

    if (!LoRa.begin(920800000)) {  // 920.8MHz (日本)
        Serial.println("LoRa初期化失敗");
        while (1);
    }

    // パラメータ設定
    LoRa.setSpreadingFactor(7);      // SF7
    LoRa.setSignalBandwidth(125000); // 125kHz
    LoRa.setCodingRate4(5);          // CR=4/5
    LoRa.setTxPower(14);             // 14dBm
    LoRa.enableCrc();                // CRC有効

    Serial.println("LoRa初期化完了");
}

void loop() {
    // パケット送信
    LoRa.beginPacket();
    LoRa.print("Hello LoRa!");
    LoRa.endPacket();

    Serial.println("送信完了");
    delay(10000);  // 10秒待機
}

アンテナ設計の重要性

LoRaの通信性能はアンテナに大きく依存します。920MHz帯の1/4波長は約8.1cmです。適切なアンテナを使用しないと、理論性能の半分以下しか発揮できないことがあります:

  • ホイップアンテナ: 最も一般的。指向性なし、コンパクト
  • ダイポールアンテナ: 利得2dBi程度。屋外設置に適切
  • 八木アンテナ: 指向性あり、長距離ポイント間通信に有効
  • チップアンテナ: 基板実装可能。性能は劣る

他技術との比較

LoRa vs Sigfox

SigfoxはLoRaと同様のLPWA技術ですが、通信事業者が運営するネットワークのみ使用可能(プライベートネットワーク構築不可)という大きな違いがあります。LoRaはSemtech社のICを購入すれば独自ネットワークを構築できます。

比較項目LoRaSigfox
変調方式CSSUNB(超狭帯域)
プライベートNW不可
上りデータレート0.3〜50kbps最大100bps
下りデータ通常対応1日8回まで
1日の送信回数制限デューティサイクル次第140回/日

LoRa vs Wi-Fi HaLow(802.11ah)

Wi-Fi HaLowも920MHz帯を使うLPWA的な技術ですが、最大347MbpsとLoRAより数千倍高速である一方、消費電力も大幅に大きく、電池寿命の点でLoRaに劣ります。大量データを転送するカメラ等のIoTにはWi-Fi HaLow、センサー等少量データにはLoRaという使い分けになります。

関連用語

参考リンク