0

このCRCコードを計算する手順を教えてください。生成多項式 G(x)=10 data:110 crc が追加されたメッセージ: 110

データが G(x) で除算されると、余りは 0 になります。それは、CRC が 0 または何もないことを意味しますか?それとも可能でしょうか?

4

1 に答える 1

1

除算は、学校とほぼ同じ方法で行われます。

10|110
   10  (xor)
------
   010
    10  (xor)
-------
     0 <- remainder


唯一の違いは、除数が部分剰余に収まるように各行の msb のみをチェックする必要があることです
。追加されたメッセージは 1100 です。

crc を確認するには、除算を再度実行します。

10|1100
   10    (xor)
-------
    100
    10   (xor)
--------
     00
     10  (no xor)
-------
      0  <-- remainder is 0, so the message is valid

ただし、疑わしい点があります。一般に、crc多項式には項 +1 があり、最高次項が x^2 の場合 (たとえば)、完全な多項式には 3 つの項があり、そのうち 2 つだけが伝統的に明示的に宣言されています。次に、多項式が実際に x^2 + 1 であり、それが逆の順序で 1 + 0*x (+ 1* x^2 項は省略) として表され、残りが 2 ビットになることだけが理にかなっています。

101|110
    101
--------
     11  <-- final remainder; concatenated message = 11011

checking message integrity:

101|11011
    101
 --------
     1111
     101
  --------
      101
      101
  --------
       00 <-- checked!
于 2012-10-05T06:41:45.437 に答える