千葉県市川市の自宅近くで、愛犬の柴犬コテツを連れて散歩していた今朝の午前10時頃のことだ。突如として街頭の屋外拡声スピーカーから、空を切り裂くような大音量のサイレンと「これはJアラートの訓練放送です」という、独特の硬い合成音声が響き渡った。コテツは驚いて耳をピタリと伏せ、私の足元にすり寄って動かなくなった。2026年6月17日に実施された、全国瞬時警報システム(J-Alert)を用いた全国一斉の緊急地震速報の訓練放送である。携帯電話のエリアメールのように手元の画面を震わせるものとは異なり、地域にそびえ立つスピーカーという「物理インフラ」を強制駆動するこのシステムは、災害大国日本における情報伝達の最終防衛ラインの一つだ。だが、この「スピーカーから明瞭な音が聞こえる」という当たり前の現象の裏には、アナログ時代の極めて泥臭い通信制御から、現代の複雑なIPマルチキャストに至る、エンジニアたちの泥臭い戦いの歴史が存在する。
防災無線の技術:DTMFからIPマルチキャストへの進化

午前10時の訓練放送に驚いたが、防災無線の音声が昔と比べて格段にクリアになっていることに気づいた。日頃の備えは大切ね。

スマホのエリアメールは来なかったけど、屋外スピーカーからしっかり聞こえた。裏側の制御通信技術はどうなっているんだろう?
普段、私たちの頭の上で鳴り響く防災行政無線だが、その内部構造や変遷を意識する人は少ない。政府の発したJ-Alert信号が地方自治体の制御卓を経由し、ミリ秒単位で屋外スピーカーを自動起動するプロセスは、通信工学の縮図そのものである。単なる音の拡声装置ではなく、過酷な災害環境下でも確実に動作することが求められる、極めてミッションクリティカルなリアルタイムシステムである。
かつてのアナログ同報無線システムは、音声の歪みや混信、そこで何よりも「何を言っているのか聞き取れない」という音質の問題を抱えていた。それが現在ではデジタル変調方式へ移行し、さらに先進的な自治体では有線・無線のブロードバンド回線を利用したIPマルチキャスト配信へと舵を切っている。単なるスピーカーの更新ではなく、伝送制御プロトコルというインフラの基盤そのものが、静かに、しかし劇的に塗り替えられている。この進化の過程を、組み込みと通信の現場を歩んできた視点から紐解く。
DTMF信号によるアナログ制御とGoertzelアルゴリズム
古くから日本のインフラを支えてきたのが、DTMF(Dual-Tone Multi-Frequency)信号によるアナログ制御だ。固定電話のプッシュ回線でお馴染みの「ピ・ポ・パ」という2音合成信号である。なぜこの技術が使われたかといえば、音声帯域(300Hz〜3.4kHz)の中に制御コマンドを混ぜて送ることができるため、専用の制御線を別途引く必要がなく、既存のアナログ無線機や電話回線をそのまま流用できたからだ。DTMFは低群(697, 770, 852, 941 Hz)と高群(1209, 1336, 1477, 1633 Hz)から1波ずつを選択して合成し、16種類のキャラクターを表現する。周波数は、互いに高調波(ハーモニクス)の干渉を避けるために素数比に近い絶妙な組み合わせで設計されている。
しかし、アナログ回線にDTMFを載せて送るというアプローチには、物理レイヤー特有の罠が潜んでいた。ここで、DTMFの検出に不可欠な「Goertzel(ゲルツェル)アルゴリズム」について触れておこう。離散フーリエ変換(DFT)を実行するには通常 $O(N^2)$、高速フーリエ変換(FFT)でも $O(N \log N)$ の複素数演算が必要だが、特定の周波数成分(DTMFで用いられる特定の波)のパワーのみを極めて軽量に計算したい場合、Goertzelアルゴリズムは $O(N)$ の実数演算で済むため圧倒的に有利だ。リソースの極めて限られたマイコンに実装する際の定番手法である。
数学的な漸化式は以下の通りだ。サンプリング周波数を $f_s$、検出対象のターゲット周波数を $f_0$ としたとき、正規化周波数から得られる係数 $coeff$ を以下のように定義する。
$$coeff = 2 \cos\left(rac{2\pi f_0}{f_s}
ight)$$
入力信号系列を $x[n]$ ($n = 0, 1, \dots, N-1$)とし、初期値 $s[-1] = s[-2] = 0$ としたとき、中間変数 $s[n]$ の計算式は次のようになる。
$$s[n] = x[n] + coeff \cdot s[n-1] – s[n-2]$$
そして、$N$ 個のサンプリングデータを処理し終えた後、目的の周波数成分のパワー(二乗振幅) $P$ は、以下の計算で求められる。
$$P = s[N-1]^2 + s[N-2]^2 – coeff \cdot s[N-1] \cdot s[N-2]$$
このアルゴリズムの真骨頂は、ループ内での掛け算が実数の $coeff \cdot s[n-1]$ の1回だけで済む点だ。1990年代半ば、私がまだ市川市の工場やインフラ施設の遠隔制御システムを設計していた頃、この数式には本当に役立った。
当時、現場の巨大な三相モーターや高周波インバータが吐き出す強烈な電磁ノイズのせいで、市販のDTMFデコーダIC(例えばMitellのMT8870など)が誤判定を連発し、全く使い物にならないという大トラブルに直面した。冬の極寒の工場、ストーブもないコンクリート床で、冷え切ったオシロスコープのプローブを握りながら頭を抱えた。回路図にコンデンサを追加して時定数を変えたくらいでは、インバータノイズを叩き落とすことはできなかった。
そこで私は、当時使っていたRAMが数十バイト、ROMが1KB程度しかない非力な8ビットマイコン(乗算器すら内蔵されていない)に、このGoertzelアルゴリズムをアセンブラで実装した。小数の $coeff$ を固定小数点数に変換し、乗算命令の代わりにビットシフト演算と加算(Shifting and Adding)だけで漸化式を回すようにコードを極限まで最適化した。サンプリングレートは正確に8000Hzを維持しなければならないため、タイマー割り込み内の命令ステップ数を1クロック単位で削り落とした。結果として、アナログICでは防げなかった強烈な高周波ノイズをソフトウェアのデジタルフィルタで見事に弾き出し、システムを安定稼働させることに成功した。あの時のハンダゴテの熱と、アセンブラで組んだループが正確に動作した瞬間の高揚感は、今でもエンジニアとしての私の骨格を形成している。
以下に、その設計思想を現代のC++ でシミュレーションできるように落とし込んだコードを示す。サンプリングレート8000Hzにおいて、DTMFの高群周波数の一つである 1209Hz を検出する例だ。
#include <iostream>
#include <vector>
#include <cmath>
// Goertzelアルゴリズムによる特定周波数のパワー(振幅の二乗)を計算する関数
double calculate_goertzel_power(const std::vector<double>& signal, double target_freq, double sample_freq) {
const int N = signal.size();
const double omega = 2.0 * M_PI * target_freq / sample_freq;
const double coeff = 2.0 * std::cos(omega);
double s_prev = 0.0;
double s_prev2 = 0.0;
for (int i = 0; i < N; ++i) {
// 漸化式の計算
double s = signal[i] + coeff * s_prev - s_prev2;
s_prev2 = s_prev;
s_prev = s;
}
// 最終的なパワーの算出
double power = s_prev * s_prev + s_prev2 * s_prev2 - coeff * s_prev * s_prev2;
return power;
}
int main() {
// 動作パラメータの設定(DTMFの代表的な高群周波数 1209Hz を検出する例)
const double SAMPLE_RATE = 8000.0; // サンプリング周波数 8kHz
const int BLOCK_SIZE = 205; // DTMF検出に適したサンプル数 N (周波数分解能は約39Hz)
const double TARGET_FREQ = 1209.0; // 検出ターゲット周波数 1209Hz
// テスト信号の生成:1209Hzの正弦波にホワイトノイズを想定した歪みを加える
std::vector<double> test_signal(BLOCK_SIZE);
for (int i = 0; i < BLOCK_SIZE; ++i) {
double t = static_cast<double>(i) / SAMPLE_RATE;
// ターゲット信号の生成(振幅 1.0)
test_signal[i] = std::sin(2.0 * M_PI * TARGET_FREQ * t);
}
// パワーの計算
double detected_power = calculate_goertzel_power(test_signal, TARGET_FREQ, SAMPLE_RATE);
std::cout << "[Goertzel Simulation Result]" << std::endl;
std::cout << "Target Frequency : " << TARGET_FREQ << " Hz" << std::endl;
std::cout << "Block Size (N) : " << BLOCK_SIZE << " (Delta f = " << SAMPLE_RATE / BLOCK_SIZE << " Hz)" << std::endl;
std::cout << "Detected Power : " << detected_power << std::endl;
return 0;
}
このような泥臭い信号処理技術が、かつてのアナログ防災無線の制御を支えていた。しかし、時代は流れ、アナログ周波数帯の逆転やデジタル化の波に伴い、防災行政無線も変化した。現在の最先端インフラでは、有線ブロードバンド(光回線)やデジタル自営無線、あるいはLTE/5G回線を物理レイヤーとして用い、TCP/IPプロトコルスタック上で「IPマルチキャスト」を行う構成が主流である。
これは、J-Alertの配信情報を中央のサーバーから市町村内の全子局(屋外スピーカー等)に対して、ルーターのマルチキャストルーティング(IGMP/MLD)を利用してパケット単位で一斉配信するシステムだ。アナログ時代のような信号の減衰やマルチパスによる歪み、ノイズによるコマンドの不感はなく、パケットが届きさえすれば、100%完全に元のクリアな音声データがデジタル音声合成や高音質VoIPコーデックによって再現される。
しかし、IP化という進化の裏には、運用上の留意点や新たな技術的課題も指摘されている。
まず、物理レイヤーおよびネットワーク階層の複雑化による課題がある。アナログ無線は「親局の送信アンテナさえ無事なら、子局のアンテナが歪んだり受信環境が悪化したりしても、雑音だらけのまま最低限の音声が聞こえる」という「ソフト・デグラデーション(緩やかな品質低下)」の特性を持っていたとされる。これに対し、IPネットワークは「0か1か」の特性を持つため、途中のルーターやスイッチの停電による停止や、伝送路の物理的な断線が発生した場合に、データ伝送が完全に途絶するリスクが懸念されている。また、大規模災害時にはIP網自体の輻輳により、マルチキャストパケットが途中でドロップする可能性も議論されている。信頼性を確保するためには、IGMPスヌーピングの適切な設定やQoS(優先制御)、FEC(前方誤り訂正)によるパケット補償などの多層的な設計が不可欠であるとされているが、これらは個々の自治体のネットワーク設計において十分に検証されるべき課題である。
さらに、サイバーセキュリティ上の課題も存在する。アナログ無線の傍受は比較的容易であったものの、偽のDTMF信号を割り込ませてスピーカーを不正起動させるには、送信出力や周波数の整合など物理的なハードルが存在した。一方、IP化され外部ネットワークと何らかの形で接続された防災システムにおいては、認証や暗号化の設計が不十分な場合、サイバー攻撃による不正アクセスの対象となるリスクが排除できないと指摘されている。利便性の向上とセキュリティ対策の強化は常に並行して取り組むべきテーマである。
IPマルチキャスト移行における現実的課題と冗長性
この通信インフラの進化をどう捉えるべきだろうか。まず現実的な問題として、デジタル化やIPマルチキャストへの移行には、相応の自治体予算が必要となる。数千万円から数億円規模の予算を投じて屋外拡声スピーカーや親局をすべてデジタルIP対応に更新できる自治体ばかりではないため、財政状況によって防災インフラの整備状況に差が生じる現状がある。市民の安全に直結するインフラ整備において、このような予算的制約をいかにクリアするかが今後の課題とされている。
また、住民のライフスタイルの変化という問題もある。現代の住宅はペアガラスや高気密サッシの普及により遮音性が極めて高く、外でどれだけクリアなデジタル放送が流れても、室内にいるとほとんど聞こえないという問題がある。今朝の訓練放送でも「スマホは鳴らなかったが外のスピーカーから聞こえた」という声がある一方、「エアコンをかけてテレビを見ていたら全く聞こえなかった」という層も確実に存在する。音質が向上しても、物理的に耳に届かなければ十分な効果を発揮しない。
したがって、インフラ設計の観点からは、「IPマルチキャストが最新でスマートだから、アナログ無線や古いメディアは不要」という極端な二者択一の思考は極めて危険である。セルブロードキャスト(エリアメール)、コミュニティFM、SNS、そして屋外スピーカーという、物理レイヤーもプロトコルも全く異なる複数のルートを並列で動かす「マルチホーミング(多重経路化)」こそが、有効なアプローチとされている。IPマルチキャストはその中の「大容量・高音質・一斉制御」を受け持つ強力な一要素である。一つの経路が潰れても、別の経路で届くという「冗長性の設計」が、インフラ設計の本質である。
防災インフラの確認と自衛対策の要点
- 【確認点】居住する自治体の防災行政無線がアナログ方式かデジタル方式か、またはIP回線を併用しているかを確認しておくべきだ。自治体の公式ウェブサイトやハザードマップの解説に、システム構成の概要が公開されているケースが多い。
- 【落とし穴】デジタル防災スピーカーは直進性が強く反響しやすいため、設置環境に応じたDSP(音響信号処理)の調整や指向性設計が不十分な場合、地形や建造物による反射音が干渉し、聞き取りにくくなるという音響特性上の課題が存在する。
- 【選択のヒント】家庭における情報収集経路として屋外スピーカーのみに依存するのは推奨されない。停電時でも動作する乾電池式の防災ラジオ(自治体の防災無線電波を受信できる個別受信機など)の確保や、複数の防災アプリケーションの導入など、情報の受信経路を多重化しておくことが望ましい。
まとめ:運営者としての現場判断
防災無線がDTMFからIPマルチキャストへ進化したのは、技術的な必然であり、情報伝達の正確性を高める上で歓迎すべきことである。しかし、ネットワーク屋がシミュレーション上の「パケット到達率 99.99%」という綺麗な数字に満足しているのを見ると、かつて極寒の工場でノイズと戦った組み込み屋としては、つい苦言を呈したくなる。どれだけ理論上エレガントなプロトコルであっても、物理的な現実世界では、想定外の事象が必ず発生する。
物理的な大災害時において、高度かつ複雑なシステムほど単一障害点(SPOF)のトラブルが全体に波及しやすいという指摘もある。光ファイバーの断線や基地局の電源喪失といった事態に備え、シンプルなアナログ無線回線やフォールバック手段を確保しておくことは有用である。スマートなIPマルチキャスト制御網を構築しつつも、アナログ無線や衛星通信といった独立性の高い代替ルートを維持する多重構造こそが、インフラ設計において考慮すべき誠実さである。
コテツが早く散歩を続けろとリードをぐいぐい引っ張るので、私は思考を切り替え、再び歩き出した。どれだけ通信技術が進化しようとも、私たちの足元にある地面と、そこに暮らす命の重さは何一つ変わらない。日頃の「訓練放送」の騒々しさに感謝しつつ、私たちは常にシステムが「沈黙する瞬間」への備えを怠ってはならない。
広告・アフィリエイトリンクを含みます。商品選定は記事内容との関連性を優先しています。


