|
New Member
|
我想問關於FCS(Frame Check Sequence)裡的32-bit CRC
其中
Standard generator polynomial of degree 32
G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
FCS產生的方法
Step1:
找出 x^k * (x^31 + x^30 + x^29 + … + x^2 + x + 1) 除以G(x)的餘數1
(其中k為calculation fields的bit數)
Step2:
找出calculation fields裡面的值乘上x^32 再除以G(x)的餘數2
Step3:
將上述的餘數1, 餘數2相加(modulo 2)取1’s complement
即為一32bits的FCS
FCS接收的方法
Step1:
找出 x^k * (x^31 + x^30 + x^29 + … + x^2 + x + 1) 除以G(x)的餘數1
(其中k為calculation fields + FCS的bit數)
Step2:
找出calculation fields + FCS裡面的值乘上x^32 再除以G(x)的餘數2
Step3:
將上述的餘數1, 餘數2相加(modulo 2)
檢查是否相等於
x^31 + x^30 + x^26 + x^25 + x^24 + x^18 + x^15 + x^14 + x^12 + x^11 + x^10 + x^8 + x^6 + x^5 + x^4 + x^3 + x + 1
若相等則表示傳輸正確
我的問題是為什麼不管calculation fields(即傳送的資料)的值為何??
encode後再decode的多項式一定等於(若傳輸正確的話)
x^31 + x^30 + x^26 + x^25 + x^24 + x^18 + x^15 + x^14 + x^12 + x^11 + x^10 + x^8 + x^6 + x^5 + x^4 + x^3 + x + 1 這個多項式
如果有人知道的話,希望能跟我說一聲
謝謝各位耐心看完這篇文章
|