首頁>Club>
11
回覆列表
  • 1 # 使用者6369109692826

    迴圈冗餘校驗碼(CRC)

    CRC校驗採用多項式編碼方法。被處理的資料塊可以看作是一個n階的二進位制多項式,由 。如一個8位二進位制數10110101可以表示為: 。多項式乘除法運算過程與普通代數多項式的乘除法相同。多項式的加減法運算以2為模,加減時不進,錯位,和邏輯異或運算一致。

    採用CRC校驗時,傳送方和接收方用同一個生成多項式g(x),並且g(x)的首位和最後一位的係數必須為1。CRC的處理方法是:傳送方以g(x)去除t(x),得到餘數作為CRC校驗碼。校驗時,以計算的校正結果是否為0為據,判斷資料幀是否出錯。

    CRC校驗可以100%地檢測出所有奇數個隨機錯誤和長度小於等於k(k為g(x)的階數)的突發錯誤。所以CRC的生成多項式的階數越高,那麼誤判的機率就越小。CCITT建議:2048 kbit/s的PCM基群裝置採用CRC-4方案,使用的CRC校驗碼生成多項式g(x)= 。採用16位CRC校驗,可以保證在 bit碼元中只含有一位未被檢測出的錯誤 。在IBM的同步資料鏈路控制規程SDLC的幀校驗序列FCS中,使用CRC-16,其生成多項式g(x)= ;而在CCITT推薦的高階資料鏈路控制規程HDLC的幀校驗序列FCS中,使用CCITT-16,其生成多項式g(x)= 。CRC-32的生成多項式g(x)= 。CRC-32出錯的機率比CRC-16低 倍 。由於CRC-32的可靠性,把CRC-32用於重要資料傳輸十分合適,所以在通訊、計算機等領域運用十分廣泛。在一些UART通訊控制晶片(如MC6582、Intel8273和Z80-SIO)內,都採用了CRC校驗碼進行差錯控制;乙太網卡晶片、MPEG解碼晶片中,也採用CRC-32進行差錯控制。

  • 中秋節和大豐收的關聯?
  • 社會公德的表現有哪些?