Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
FT8の話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
numa08
July 03, 2026
Technology
33
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
97
Claude Code の /goal コマンドの話
numa08
0
19
What/Why/How MVVM on iOS
numa08
3
850
facilio
numa08
0
160
Kotlin でテストを書く
numa08
0
440
Android Testing Bootcamp 4
numa08
0
580
チームの進捗をちゃんと可視化したい話
numa08
1
1.1k
Realm を正しく使うには
numa08
5
1.7k
Realmを正しく使うには
numa08
2
440
Other Decks in Technology
See All in Technology
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
190
新卒エンジニア、 介護士になる
ryu1013
1
690
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
130
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
360
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
310
`go get`したらELFが降ってきた件
taiyow
0
190
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
150
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
180
Software Engineering in an AI-Driven World
erikjhordan_rey
0
130
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
210
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
110
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
470
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Fireside Chat
paigeccino
43
4.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Accessibility Awareness
sabderemane
1
290
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Unsuck your backbone
ammeep
672
58k
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