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
21
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
Claude Code の /goal コマンドの話
numa08
0
10
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.6k
Realmを正しく使うには
numa08
2
440
新入女子社員のコードを直す簡単なお仕事 #新宿Scala座 第6回
numa08
1
250
Other Decks in Technology
See All in Technology
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
1
1.1k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
180
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
440
Introduction to Bill One Development Engineer
sansan33
PRO
0
470
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
200
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
280
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
270
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
3
840
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
8bit CPU 2026
koba789
7
2.9k
AI時代のデータ基盤を考える問い
pacocat
0
680
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Visualization
eitanlees
152
17k
ラッコキーワード サービス紹介資料
rakko
1
4.5M
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
500
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
440
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Designing for Performance
lara
611
70k
KATA
mclloyd
PRO
35
15k
Bash Introduction
62gerente
615
220k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
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