2017-07-13 2 views
0

Ich habe ein Polynom CRC, die ich nicht lösen kann.CRC-Berechnung stecken

x^5 + x^2 + 1

Daten: 1011100110001

ich so tat:

100101 | 1011100110001 
     100101 
     ------- 
     0010110 
      000000 
      ------ 
      101101 
      100101 
      ------ 
      010001 
      000000 
      ------ 
      100010 
      000000 <- I wrote here 0's because 100101 > 100010 
      ------ 
      1000100 
       100101 
      ------- 
      1100001 <- Here is the problem! It's more than 5 bits. 

Was mit meiner Berechnung falsch ist?

Antwort

0

Ich verstehe nicht, Ihre „000000“ Linien, aber wie wäre es damit:

Input data: 1011100110001 
Polynom: 100101 (n = 6) 

101110011000100000 <- expand input data by n-1 zeros 
100101    <- polynom aligned to most left 1 of input data 
-------- 
00101101   <- input XOR polynom, then get next input bit 
    100101    
    ------    
    00100010   <- and so on... 
    100101 
    ------- 
    000111001 
     100101 
     ------ 
     0111000 
     100101 
     ------ 
     0111010 
     100101 
     ------ 
     0111110 
      100101 
      ------- 
      0110110 
      100101 
      ------ 
      0100110 
      100101 <- ... until all input bits are "used up" 
      ------ 
      000011 <- CRC result 
+0

Warum Sie die Reihe der tat „und so weiter“? Ich sehe, dass Sie mehrere Zahlen aus den Daten hinzugefügt haben, wo die Zahl für das XOR nicht ausreicht, aber ich dachte, dass immer dort, wo das Ergebnis kleiner ist als der Teiler, Zahlen addiert werden –