【CRC】データ誤りチェックの簡易説明
PC⇔マイコンで通信を行うときに,シリアル通信を行うことがあると思います. シリアル通信の設定では, などを設定すると思います. では,パリティビットとは何でしょうか? どうやらこれは,送りたいデータに対して1bit余分に付けるデータ?のことのようです. では,なぜ付けるのでしょうか? 実は,データの送受信の際にデータが間違って伝達していないかを判断するために付けているようなのです. こういうものを誤り検出というみたいです. 例えば,パリティビット(偶数)であれば, データ:0b10010011 とすると,1が4つあるので偶数個あることとなります.なので,末尾に0を追加します. 送信データ:0b100100110 となります.では,受信データが何かしらの影響で, 受信データ:0b100110110 になったとします.このとき,1が5つあります. 偶数のパリティビットを選択しているので,受信データ内の1の個数は偶数個でないとおかしいです. このように,データの誤りを検出することが出来ます. そうなると,もっと高確率で誤りを検出したくなりますよね. その手法がCRCというモノです. 今回はB4のはじめに作ったCRCに関しての資料を使って,CRCの概要を掴んでもらえたらと思います. CRC(Cyclic Redundancy Check)は、データ転送の際にデータの誤りを検出するためのエラーチェック手法の一つです. 主に通信プロトコルやデータストレージにおいて使用されます。 CRCは、特定のアルゴリズムを使用してデータに対してチェックサム(Checksum)値を生成し、この値を送信側と受信側で比較することによってデータの整合性を確認します。 とういうことで,資料を示していきたいと思います. CRCに関する資料です.
(学部生.それも機械工ですので,内容に関してはご容赦ください.
今回の資料の目次です.
スライドでも示しますが,テキストベースのリンク等もご参照ください.
[1]
北大,情報理論第14回
https://prml.main.ist.hokudai.ac.jp/lecture/info-theory/info-theory14/ [2]
北大,情報理論pdf
https://prml.main.ist.hokudai.ac.jp/lecture/info-theory/info-theory14/ [3]
京大,情報理論,
https://www.ii.ist.i.kyoto-u.ac.jp/wordpress/wp-content/uploads/2015/03/pub-note-11-2015.pdf [4]
Embedded Technology Lab.,ハミング符号,
emb.macnica.co.jp [5]
ろぐれこーど,巡回冗長検査,
dlrecord.hatenablog.com ご覧いただきありがとうございます. もしよければ,X (Twitter)とnoteのフォローをお願いします. はてなブログの内容をまとめております.
はじめに
(しかし,偶数個データ誤りがあると検出できないですが...また,誤り訂正もできない?)
CRCの説明
CRC とは
説明資料
概要
理論
計算方法
参考文献
おわりに