dポイントプレゼントキャンペーン実施中!

以下のCRC:巡回冗長検査説明ですが、
 CRCは、受信データを生成多項式で徐算し、その結果で誤りの有無を判断します。
 このような検査を行うため、送信側はあらかじめデータが生成多項式で割り切れるよう
 に※「剰余を付与したデータ」を送ります。ここで付与した剰余をCRC符号とよびます。
  受信側は、CRC符号が付与されたデータを改めて生成多項式で除算します。※「割り切
 れなければ誤りがあったと判断」します。
 以上ですが・・・※「剰余を付与したデータ」を送ります。とありますが、「剰余」割り
 切れないデータをいうことですよね!受信側で※「割り切れなければ誤りがあったと判断」
 します。そもそも割り切れないデータを送っているのだから、割り切れなければ、
「誤り”なし”」ではな いでしょうか?
  と私的には判断したのですが。・・どう解釈すればいいのでしょうか・・・
  よろしくお願いいたします。

質問者からの補足コメント

  • 参考URLです。
    ttp://www.fujitsu.com/jp/products/computing/servers/unix/term/crc/
     よろしくお願いいたします。

      補足日時:2016/06/08 18:54
  • ご回答くださいましてありがとうございました。
     さて、まだ理解していなのですが・・
    上記の質問の内容で・・
     「データが生成多項式で 割り切れるように ※剰余を付与したデータを送ります。」
    とありますが、私にとりまして!「割り切れるように」とは”剰余”最後は0となる数
    字を小学校でならいました。「割り切れるように とは私的には※剰余が0ですよね」
     て矛盾していないでしょうか・・・
     以上ですが。・・・どうもすみません_ _ 
    一夜あけて、続きを書き込んでいたらミスに気づきました。
      「剰余を※”付与”したデータ」・・付与とあり、÷数に余り+するので「割り切れるように」
     とのことでした・・チャンチャン(♬)今間違いに気づきました。
      
    参考URL(問題の計算式です。)
    http://homepage3.nifty.com/mtaiyo/Ver.3.2%20P84% …

      補足日時:2016/06/11 06:09

A 回答 (2件)

#1ですけど、質問をもう一度読み直してみて思ったのですけど、もしかして受信側で剰余のみに対して割り算を実行すると考えてますか?


受信側では、送られてきたデータとそれに付帯してきた剰余の両方を考慮します。
送られてきたデータから送られてきた剰余を引いてから割り算をすれば、データが正しければ割り切れます。
先の例でいえば、
送信側では、送るデータ11を3で割った結果2が余る。で、生データ11とともに2を冗長ビットとして送り出します。
受信側では、送られてきた正しいデータ(11)から同時に送られてきた余り(2)を引いてそれを3で割れば、9÷3で割り切れます。これはデータが正しいということを意味します。また、データが途中で化けて9になったとして同様の計算をすると(9-2)÷3で、割り切れません。つまりデータは間違っています。

聞きたかったのはこういうことですか?
    • good
    • 1
この回答へのお礼

ご回答くださいましてありがとうございました。
 おへんじがおくれてすみせん。 
さて、まだ理解していなのですが・・
上記の質問の内容で・・
 「データが生成多項式で 割り切れるように ※剰余を付与したデータを送ります。」
とありますが、私にとりまして!「割り切れるように」とは”剰余”最後は0となる数
字を小学校でならいました。「割り切れるように とは私的には※剰余が0ですよね」
 て矛盾していないでしょうか・・・
 以上ですが。・・・どうもすみません_ _ 
一夜あけて、続きを書き込んでいたらミスに気づきました。
  「剰余を※”付与”したデータ」・・付与とあり、÷数に余り+するので「割り切れるように」
 とのことでした・・チャンチャン(♬)今間違いに気づきました。

お礼日時:2016/06/11 06:41

「受信側は、CRC符号が付与されたデータを改めて生成多項式で除算します」



とあるように、受け側では送られてきた生のデータに加えて、CRC符号(余り)も含めて割り算を行うので、エラーがなければ割り切れます。

たとえば、送信、受信両方で3で割ってCRCテストをするようなシステムを考えた場合、送信側がデータとして11を送るときに付与される余りは2になる。受信側では、送られてきたデータから余りを引いてから、それを3で割って割り切れるかどうかでデータが正しいかを判断するというような感じ。これを多項式を用いて行うだけです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!