- ベストアンサー
データ伝送の誤り訂正の技術について
誤り訂正の技術の1つであるCRC演算回路について勉強しているのですが。その中で、Ex-ORを使った、モジュロ2除算というものが出てきたのですが、どうもいまいち納得できないので、教えて下さい。どうしてEx-ORを用いることによって、余りのを出す事が出来るのですか?どこまで(何回)演算すれば、その余りをCRCコード(伝送時に誤り訂正として付属するもの)として利用できるのですか?私はかなりの初心者なので、出来れば詳しく教えて下さい。宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
crcで使われる多項式の係数は普通は0と1からなる体です その体上での足し算は 0+0=0,0+1=1,1+0=1,1+1=0でありまさにmod2の足し算なのです その体上でのかけ算は 0・0=0,0・1=0,1・0=0,1・1=1です 係数が実数の普通の多項式間除算によって余りを出す場合には 「割る方の多項式」にxのべき乗と適当な実数をかけたものを「割られる多項式」から引く演算を繰り返して実行して最終的に「割る方の多項式」の多項式より次数が小さい多項式を余りとして求めますね 今回は同じことを上の体を係数とする多項式で行うだけで同じです ただ引き算は足し算と同じですし0と1しか現れないのでむしろ簡単です 「割られる多項式」の次数をn-1とし「割る方の多項式」の次数をmとすれば 最大n-m回多項式間の足し算をすれば余りが得られます
その他の回答 (1)
- nuubou
- ベストアンサー率18% (28/153)
crcで使われる多項式の係数は普通は0と1からなる体です その体上での足し算は 0+0=0,0+1=1,1+0=1,1+1=0でありまさにmod2の足し算なのです その体上でのかけ算は 0・0=0,0・1=0,1・0=0,1・1=1です 係数が実数の普通の多項式間除算によって余りを出す場合には 「割る方の多項式」にxの階乗と適当な実数をかけたものを「割られる多項式」から引く演算を繰り返して実行して最終的に「割る方の多項式」の多項式より次数が小さい多項式を余りとして求めますね 今回は同じことを上の体を係数とする多項式で行うだけで同じです ただ引き算は足し算と同じですし0と1しか現れないのでむしろ簡単です 実数をかける演算がないのでだいぶ楽です
お礼
ありがとうございました。参考になりました。また機会があればよろしくお願いします。