迴圈冗餘檢驗CRC

2021-08-02 18:10:21 字數 824 閱讀 8298

crc簡介

迴圈冗餘校驗(cyclic redundancy check, crc)是一種根據網路資料報或電腦檔案等資料產生簡短固定位數校驗碼的一種雜湊函式,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。

在資料傳輸過程中,無論傳輸系統的設計再怎麼完美,差錯總會存在,這種差錯可能會導致在鏈路上傳輸的乙個或者多個幀被破壞(出現位元差錯,0變為1,或者1變為0),從而接受方接收到錯誤的資料。為盡量提高接受方收到資料的正確率,在接收方接收資料之前需要對資料進行差錯檢測,當且僅當檢測的結果為正確時接收方才真正收下資料。檢測的方式有多種,常見的有奇偶校驗、網際網路校驗和迴圈冗餘校驗等。

crc檢驗原理

設資訊欄位為k位,校驗欄位為r位,則碼字長度為n(n=k+r)。設雙方事先約定了乙個r次多項式g(x),則crc碼:

v(x)=a(x)g(x)=xrm(x)+r(x)

其中: m(x)為k次資訊多項式, r(x)為r-1次校驗多項式。

這裡r(x)對應的**即為冗餘碼,加在原資訊欄位後即形成crc碼。

r(x)的計算方法為:在k位資訊欄位的後面新增r個0,再除以g(x)對應的**序列,得到的餘數即為r(x)對應的**(應為r-1位;若不足,而在高位補0)。

計算示例

設需要傳送的資訊為m = 1010001101,產生多項式對應的**為p = 110101,r=5。在m後加5個0,然後對p做模2除法運算,得餘數r(x)對應的**:01110。故實際需要傳送的資料是101000110101110。

CRC檢驗 迴圈冗餘檢驗

一 什麼是crc迴圈冗餘校驗?位元差錯 現實中的 通訊鏈路是不理想的,這也就是說在傳輸過程中可能會產生差錯,1也許會變成0,0或許也會變成1。這就是位元差錯。crc迴圈冗餘校驗則是為了解決資料鏈路層中存在的位元差錯問題。crc迴圈冗餘校驗原理 大多數書上基本上是以二進位制的多項式形式來說明的。其實它...

CRC迴圈冗餘檢驗

現實的通訊鏈路都不會是理想的。位元在傳輸過程中可能會產生差錯 1可能變成0,而0也可能變成1,這叫做位元差錯。crc迴圈冗餘檢驗 是一種根據網路資料報或電腦檔案等資料產生簡短固定位數校驗碼的一種雜湊函式,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。cr...

迴圈冗餘檢驗CRC

1.在傳送端把資料劃分為組,假定每組k個位元,現假定待傳輸資料m 101001,則k 6。2.crc運算就是在資料m後面新增供差錯檢測用的n位冗餘碼,然後構成資料幀傳送過去,一共傳送 k n 位。3.n位冗餘碼可以用二進位制的模2運算得出,這就相當於在m後面新增n個0。4.用上述得到的 k n 位數...