Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FT8の話
Search
numa08
July 03, 2026
Technology
23
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FT8の話
微弱電波を使って地球の裏側とも交信を実現するプロトコルFT8。その仕様の一部をご紹介します。
numa08
July 03, 2026
More Decks by numa08
See All by numa08
完全ローカル完結のLT文字起し、要約システム
numa08
0
41
Claude Code の /goal コマンドの話
numa08
0
11
What/Why/How MVVM on iOS
numa08
3
820
facilio
numa08
0
160
Kotlin でテストを書く
numa08
0
420
Android Testing Bootcamp 4
numa08
0
570
チームの進捗をちゃんと可視化したい話
numa08
1
1.1k
Realm を正しく使うには
numa08
5
1.7k
Realmを正しく使うには
numa08
2
440
Other Decks in Technology
See All in Technology
AIエージェントを雇う前に決める5つのこと
knishioka
1
140
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
210
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
3
4.4k
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
330
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
110
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
130
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Digitization部 紹介資料
sansan33
PRO
2
7.8k
Continuous Delivery! It is not what you think it is
tdpauw
0
180
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.2k
Sony-DroidKaigi2026
sony
0
290
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
170
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
300
The Curious Case for Waylosing
cassininazir
1
490
Crafting Experiences
bethany
1
270
Navigating Team Friction
lara
192
16k
Why Our Code Smells
bkeepers
PRO
340
58k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
460
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Bash Introduction
62gerente
615
220k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Transcript
FT8 の話 77bit で地球の裏側と交信する、執念のプロトコル 裏テック無尽 2026/07/03 @numa08 ゆるく聞いてください / 気になったら後で捕まえて
FT8 ▸ live demo 02 / 12 デモ https://ft8.numa08.dev
FT8 ▸ what is it 03 / 12 FT8 とは?
微弱電波で離れた無線機同士がデジタル信号をやり取りする オープンなプロトコル 77 bit 1回に運べる情報量 UTF-8なら9文字に満たない 数ワット 送信電力 LED電球ほどの小さな電力で 地球の裏側〜宇宙 到達距離 ノイズと減衰でデータは欠ける 「データは欠損する」前提に真っ向から立ち向かう、執念の仕様
FT8 ▸ the problem 04 / 12 普段のネット と 微弱電波
普段の通信 • 強靭な有線(光・LAN)で常時接続 • 数KB〜数GBを難なく処理 • 5Gも基地局から先は有線の世界 • データはまず欠けない前提 微弱電波の世界 • ケーブル無し。直接ぶつける • 距離で 減衰 → 信号が弱る • 他の電波の影響で かき消される • データは 必ず欠ける → この「欠ける前提」とどう戦うかが FT8 の全て
FT8 ▸ source encoding 05 / 12 無線に最適化した圧縮術 定型文(コールサイン・位置・信号レポート)だから、徹底的に圧縮できる 情報
中身 ビット数 コールサイン 標準は約2.7億通り (2²⁸) 28 bit 位置 (グリッド) 4文字=32,400通り (<2¹⁵) 15 bit 例:この1メッセージ CQ JK1TUT PM95 UTF-8 (12文字) 96 bit 圧縮後 (実質) 43 bit → 固定77bit枠に余裕 JSONで文字列を投げる日常からすると、ちょっと感動する
ここが本題 データは必ず欠ける、 それでも直す。 LDPC ── 低密度パリティ検査符号 今日いちばん感動したところ
FT8 ▸ LDPC · 送信側 07 / 12 送信側:数学で「保険」をかける データ
77 bit CRC 14 bit パリティ 83 bit 合計 174 bit = LDPC (174, 91) 符号の1ワード ① データ77bit に多項式 0x6757 を当て 14bit CRC(誤り検査用チェックサム)を計算 ② 生成行列 G の 83 行それぞれを 91bit と mod2 内積 → 83bit パリティ(誤り訂正) parity(83) = G(83×91) · m(91) (mod 2) m = データ77 + CRC14 = 91 bit 全部 mod 2(XOR)の世界。数学的に隙のない「保険」をかけてから電波に乗せる
FT8 ▸ LDPC · 受信側 08 / 12 受信側:怪しいビットを「特定」する流れ 届くのは曖昧な値(軟判定)。検査式が
0 にならない=矛盾 → その矛盾から怪しいビットを絞り込む 検査式 = 事前定義のスパースな 検査行列 H の各行。H × 受信ビット列 の各行がすべて 0 なら正常(0 でない行に誤りの疑い) ① 軟判定ビット ② 検査式で矛盾を探す ③ 容疑者を特定 → → 1 c1 0 c2 ? c3 1 c4 ? c5 0 c6 ノイズで 0/1 を断定できないビット = ? (この例では c3, c5) A c1+c2+c4 → 0 成立 B c2+c3+c5 → 1 矛盾 C c3+c5+c6 → 1 矛盾 各行が 0 = 正常 / 0 でない = 誤りの 疑い 矛盾した B・C に共通 するビット → c3 c5 が容疑者 • 自信のない方を反転して再計算 • 全式が 0 になれば確定 この「確からしさの更新 → 再計算」を高速に反復するのが Belief Propagation(多くは数回で収束 / 弱すぎる時は重い OSD にフォールバック) ※ ビット番号・式は説明用の簡略例(実際は 174bit・83式)
FT8 ▸ the punchline 09 / 12 仕組みは 厳密な線形代数。 解く過程は
確率論的な交渉。 数学で受け止めて、確率で押し返す。 最後の番人:復元した77bitから CRC を再計算 → 一致すれば確信して表示、ズレたら捨てる
FT8 ▸ timing 10 / 12 15秒に詰め込む「絶対に通信する」意思 送信 受信 送信
受信 0 15 30 45 60s 実送信 ≈ 12.6 秒 0.16s × 79シンボル 残り ≈ 2.4秒 は時刻同期・デコードの余白(NTP前提) 1回ダメでも、15秒ごとに再挑戦 確率的な復元を、繰り返しで底上げする作戦。
FT8 ▸ state machine 11 / 12 会話の文脈を、機械が状態で持つ Calling ›
Replying › Report › Roger Rpt › Rogers › Signoff CQ → 応答 → 信号レポート → 受領 → ラジャー → 73(さよなら) を WSJT-X が管理(仕様書にもUML) 状態が分かる → 次のメッセージ型が読める(a priori)→ 探索すべきビットが激減 未知 77 bit → 残り 15 bit (探索 約80%減) ちなみに「完全ロボット運用」は禁止 ── 交信の起点は必ず人間
FT8 ▸ wrap up 12 / 12 「欠ける前提」への、多層的な最適化 ① 数学を確率で解く
LDPC × Belief Propagation ② 繰り返しで取り返す 15秒サイクルで確率を底上げ ③ 文脈を状態で持つ ステートマシンで探索空間を削る レイヤーは違うのに、全部が「微弱電波でどうにか通信する」一点に向いている。 余談:開発者 Joe Taylor (K1JT) は 宇宙の信号から微弱電波を検出するスペシャリスト(ノーベル物理学賞)。そして LDPC は今や 5G・WiFi・SSD でも当たり前に使われている。 興味が湧いたら後で話しかけてください ── @numa08