迴圈冗餘校驗 (CRC) 解釋


迴圈冗餘校驗 (CRC) 是用於錯誤檢測和糾正的最有效方法。它以一個 **k 位元**的訊息作為輸入,傳送方建立一個 (n – k) 位元的序列,稱為幀校驗序列。輸出的幀,包括 n 個位元,可以被某個固定數整除。模 2 算術用於此二進位制加法,沒有進位,就像 XOR 操作一樣。

冗餘意味著 **重複**。CRC 使用的冗餘位透過用一個固定除數來分割資料單元進行改變。餘數就是 CRC。

CRC 的特性

  • 它應該比除數少一位。

  • 將其連線到資料單元的末尾應該使生成的位元序列能夠被除數整除。

CRC 生成器和校驗器

過程

  • 一串 n 個 0 被新增到資料單元中。數字 n 比固定除數的位元數少 1。

  • 新的資料單元使用稱為二進位制除法的過程除以除數;除法產生的餘數就是 CRC。

  • 在階段 2 中解釋的 n 位 CRC 恢復了新增到資料單元末尾的 0。

示例

訊息 D = 1010001101 (10 位)

    預先確定的 P = 110101 (6 位)

    FCS R = 待計算 5 位

   因此,n = 15 K = 10 且 (n – k) = 5

該訊息透過 25 生成:容納 1010001101000

該乘積除以 P。

將餘數插入到 25D 中以提供 T = 101000110101110,該值將被髮送。

假設沒有錯誤,接收方完美地接收了 T。接收到的幀除以 P。

由於沒有餘數,因此沒有錯誤。

更新於: 2023年9月2日

79K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.