ありますよ😊
通信の世界では、**「誤り検出符号」と「誤り訂正符号(Error Correcting Code, ECC)」**という技術が、まさに情報の信頼性を高めるために使われています。
「データは必ずどこかで壊れるもの」という前提で設計されているのが、通信業界の面白いところです。
① パリティビット(最も基本)
例えば
1011001
という7ビットのデータがあるとします。
最後に
10110010
のように1ビット追加して、
- 1の数が偶数になるようにする
- または奇数になるようにする
という方法があります。
これをパリティビットといいます。
もし1ビットだけ壊れれば
10110000
のようになり、
「あれ?偶数じゃない!」
と気付けます。
ただし
- どこが壊れたか
- 2ビット同時に壊れた
などは分かりません。
② CRC(通信業界の超定番)
こちらは非常に有名です。
CRC(Cyclic Redundancy Check)
Wi-Fi Ethernet USB SDカード ZIPファイル
など、あらゆる場所で使われています。
通信すると
データ
+
CRC
を送ります。
受信側でも同じ計算をすると
一致
ならOK
違う
なら
「通信中に壊れた!」
と分かります。
業界話①
エンジニアは
CRCエラーが出てる
と言われると
「あー、ケーブルかな?」 「ノイズかな?」 「コネクタ接触不良かな?」
とまず物理層を疑います(笑)。
③ ハミング符号
ここから少し賢くなります。
ハミング符号は
壊れた場所まで特定できます。
例えば
1010011
が
1010111
になっても
「5番目が壊れた!」
と分かるので
自動修正
できます。
これを
誤り訂正
と言います。
雑学
ハミング符号は1940年代に考案されました。
当時のコンピュータは真空管でできていて、毎日のようにビットが壊れていました。
考案者は
「毎回止めて手で直すなんて非効率だ!」
と思い、自動で直す方法を考えたそうです。
④ リード・ソロモン符号
これは
CD DVD QRコード
などで大活躍しています。
例えばCDは傷が付いても
♪♪♪♪
と普通に再生できます。
実は
かなりの量のデータが失われても
数学的に復元しています。
業界話②
昔、
「CDにマジックで色を塗ると音が良くなる」
というオーディオ都市伝説がありました(笑)。
実際にはCDはリード・ソロモン符号のおかげで多少の傷なら復元できるので、「多少の傷では音飛びしない」のはこの技術の恩恵です。
⑤ LDPC符号
これは現代のスターです。
使われているものは
- 5G
- Wi-Fi 6
- Wi-Fi 7
- 衛星通信
- SSD
など。
昔の符号より
「少ない追加データで、高い訂正能力」
があります。
業界話③
通信業界では
「帯域(通信容量)はお金」
です。
余計なデータをたくさん付けると
通信速度が落ちます。
だから
「できるだけ少ない冗長データで、できるだけ多く直したい」
という研究が何十年も続いています。
⑥ ターボ符号
2000年代前半の携帯電話では
ターボ符号が革命でした。
「理論限界に近い性能」
と言われ、
3G時代を支えました。
現在は多くの用途でLDPCなどに置き換わりましたが、宇宙通信など一部では今も重要です。
身近な例
実は皆さん毎日使っています。
📶 Wi-Fi → CRC + LDPC
📱 5G → LDPCや用途に応じた他の誤り訂正技術
💾 SSD → 強力なECC
💿 CD → リード・ソロモン
📷 QRコード → リード・ソロモン
面白い業界あるある
通信エンジニアの間では、
「100%正しい通信なんて存在しない。だから、壊れる前提で設計する。」
という考え方が当たり前です。
実際、宇宙から飛んでくる宇宙線や電気的ノイズ、ケーブルの劣化などでビット反転は避けられません。そのため、「壊れないようにする」よりも、「壊れても見つけて、できれば直せるようにする」ことが重要になります。
さらに面白い雑学
シャノンの情報理論では、「ある条件までは、適切な符号化によってほぼ誤りなく通信できる」ということが数学的に示されています。この「シャノン限界」にどこまで近づけるかが、通信技術者たちの長年の挑戦でした。LDPC符号やターボ符号は、その限界にかなり近い性能を実現したため、発表当時は「理論が現実になった」と大きな話題になりました。
通信の世界は、「データを速く送る技術」と同じくらい、「壊れたデータを見抜き、必要なら自動で直す技術」が重要で、その縁の下の力持ちがこれらの誤り検出・誤り訂正符号なのです。
0 件のコメント:
コメントを投稿