CRC校驗 1、迴圈校驗碼(CRC碼):是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊欄位和校驗欄位的長度可以任意選定。 2、生成CRC碼的基本原理:任意一個由二進位制位串組成的程式碼都可以和一個係數僅為‘0’和‘1’取值的多項式一一對應。例如:程式碼1010111對應的多項式為x6+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的程式碼101111。 3、CRC碼集選擇的原則:若設碼字長度為N,資訊欄位為K位,校驗欄位為R位(N=K+R),則對於CRC碼集中的任一碼字,存在且僅存在一個R次多項式g(x),使得 V(x)=A(x)g(x)=xRm(x)+r(x); 其中: m(x)為K次資訊多項式, r(x)為R-1次校驗多項式, g(x)稱為生成多項式: g(x)=g0+g1x+ g2x2+...+g(R-1)x(R-1)+gRxR 傳送方透過指定的g(x)產生CRC碼字,接收方則透過該g(x)來驗證收到的CRC碼字。 4、CRC校驗碼軟體生成方法: 藉助於多項式除法,其餘數為校驗欄位。 例如:資訊欄位程式碼為: 1011001;對應m(x)=x6+x4+x3+1 假設生成多項式為:g(x)=x4+x3+1;則對應g(x)的程式碼為: 11001 x4m(x)=x10+x8+x7+x4 對應的程式碼記為:10110010000; 採用多項式除法: 得餘數為: 1111 (即校驗欄位為:1111) 傳送方:發出的傳輸欄位為: 1 0 1 1 0 0 1 1111 資訊欄位 校驗欄位 接收方:使用相同的生成碼進行校驗:接收到的欄位/生成碼(二進位制除法) 如果能夠除盡,則正確, 給出餘數(1111)的計算步驟: 除法沒有數學上的含義,而是採用計算機的模二除法,即,除數和被除數做異或運算 1011001 1100100 =111101 111101 110010 = 1111
CRC校驗 1、迴圈校驗碼(CRC碼):是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊欄位和校驗欄位的長度可以任意選定。 2、生成CRC碼的基本原理:任意一個由二進位制位串組成的程式碼都可以和一個係數僅為‘0’和‘1’取值的多項式一一對應。例如:程式碼1010111對應的多項式為x6+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的程式碼101111。 3、CRC碼集選擇的原則:若設碼字長度為N,資訊欄位為K位,校驗欄位為R位(N=K+R),則對於CRC碼集中的任一碼字,存在且僅存在一個R次多項式g(x),使得 V(x)=A(x)g(x)=xRm(x)+r(x); 其中: m(x)為K次資訊多項式, r(x)為R-1次校驗多項式, g(x)稱為生成多項式: g(x)=g0+g1x+ g2x2+...+g(R-1)x(R-1)+gRxR 傳送方透過指定的g(x)產生CRC碼字,接收方則透過該g(x)來驗證收到的CRC碼字。 4、CRC校驗碼軟體生成方法: 藉助於多項式除法,其餘數為校驗欄位。 例如:資訊欄位程式碼為: 1011001;對應m(x)=x6+x4+x3+1 假設生成多項式為:g(x)=x4+x3+1;則對應g(x)的程式碼為: 11001 x4m(x)=x10+x8+x7+x4 對應的程式碼記為:10110010000; 採用多項式除法: 得餘數為: 1111 (即校驗欄位為:1111) 傳送方:發出的傳輸欄位為: 1 0 1 1 0 0 1 1111 資訊欄位 校驗欄位 接收方:使用相同的生成碼進行校驗:接收到的欄位/生成碼(二進位制除法) 如果能夠除盡,則正確, 給出餘數(1111)的計算步驟: 除法沒有數學上的含義,而是採用計算機的模二除法,即,除數和被除數做異或運算 1011001 1100100 =111101 111101 110010 = 1111