迴圈沉餘效驗碼,迴圈冗餘校驗碼的舉例

2025-03-14 07:10:25 字數 3247 閱讀 8497

1樓:匿名使用者

crc(cyclic redundancy check)迴圈冗餘校驗碼。

是常用的校驗碼,在早期的通訊中運用廣泛,因為早期的通訊技術不夠可靠(不可靠性的**是通訊技術決定的,比如電磁波通訊時受雷電等因素的影響),不可靠的通訊就會帶來『確認資訊』的困惑,書上提到紅軍和藍軍通訊聯合進攻山下的敵軍的例子,第一天紅軍發了條資訊要藍軍第二天一起進攻,藍軍收到之後,發一條確認資訊,但是藍軍擔心的是『確認資訊』如果也不可靠而沒有成功到達紅軍那裡,那自己不是很危險?於是紅軍再發一條『對確認的確認資訊』,但同樣的問題還是不能解決,紅軍仍然不敢冒然行動。

對通訊的可靠性檢查就需要『校驗』,校驗是從資料本身進行檢查,它依靠某種數學上約定的形式進行檢查,校驗的結果是可靠或不可靠,如果可靠就對資料進行處理,如果不可靠,就丟棄重發或者進行修復。

crc碼是由兩部分組成,前部分是資訊碼,就是需要校驗的資訊,後部分是校驗碼,如果crc碼共長n個bit,資訊碼長k個bit,就稱為(n,k)碼。 它的編碼規則是:

1、首先將原資訊碼(kbit)左移r位(k+r=n)

2、運用乙個生成多項式g(x)(也可看成二進位數)用模2除上面的式子,得到的餘數就是校驗碼。

非常簡單,要說明的:模2除就是在除的過程中用模2加,模2加實際上就是我們熟悉的異或運算,就是加法不考慮進位,公式是:

即『異』則真,『非異』則假。

由此得到定理:a+b+b=a 也就是『模2減』和『模2加』直值表完全相同。

有了加減法就可以用來定義模2除法,於是就可以用生成多項式g(x)生成crc校驗碼。

例如: g(x)=x4+x3+x2+1,(7,3)碼,資訊碼110產生的crc碼就是:

餘數是1001,所以crc碼是110,1001

標準的crc碼是,crc-ccitt和crc-16,它們的生成多項式是:

crc-ccitt=x16+x12+x5+1

crc-16=x16+x15+x2+1

2樓:匿名使用者

crc校驗採用多項式編碼方法。採用crc校驗時,傳送方和接收方用同乙個生成多項式g(x),並且g(x)的首位和最後一位的係數必須為的處理方法是:傳送方以g(x)去除t(x),得到餘數作為crc校驗碼。

校驗時,以計算的校正結果是否為0為據,判斷資料幀是否出錯。

crc校驗可以100%地檢測出所有奇數個隨機錯誤和長度小於等於k(k為g(x)的階數)的突發錯誤。所以crc的生成多項式的階數越高,那麼誤判的概率就越小。ccitt建議:

2048 kbit/s的pcm基群裝置採用crc-4方案,。在ibm的同步資料鏈路控制規程sdlc的幀校驗序列fcs中,使用crc-16,而在ccitt推薦的高階資料鏈路控制規程hdlc的幀校驗序列fcs中,使用出錯的概率比crc-16低倍。由於crc-32的可靠性,把crc-32用於重要資料傳輸十分合適,所以在通訊、計算機等領域運用十分廣泛。

在一些uart通訊控制晶元(如mc6582、intel8273和z80-sio)內,都採用了crc校驗碼進行差錯控制;乙太網卡晶元、mpeg解碼晶元中,也採用crc-32進行差錯控制。

迴圈冗餘校驗碼的舉例

3樓:及琭

例如:g(x)=x^4+x^3+x^2+1,(7,3)碼,資訊碼110產生的crc碼就是:

對於g(x)=x^4+x^3+x^2+1的解釋:(都是從右往左數)x4就是第五位是1,因為沒有x1所以第2位就是0。

11101 | 110,0000(設a=11101 ,b=1100000)

用b除以a做模2運算得到餘數:1001

餘數是1001,所以crc碼是1001,傳輸碼為:110,1001

怎麼求迴圈冗餘效驗碼?

4樓:網友

crc(cyclic redundancy check)迴圈冗餘校驗碼 是常用的校驗碼,在早期的通訊中運用廣泛,因為早期的通訊技術不夠可靠(不可靠性的**是通訊技術決定的,比如。

有關迴圈冗餘校驗碼的問題?

5樓:網友

解因為生成多項試是1011 4位=k+1 k=3位 將1100左移三位為 1100000

1100000除以1011 得校驗位為10 固,結果為。

6樓:蹉燦紫婉娜

解項試1011

4位=k+1

k=3位。1100左移三位。

1100000除1011

校驗位10固,結1100010

迴圈沉餘校驗碼的出錯位和餘數有啥關係?

7樓:我是百人敵

是「迴圈冗餘」

可以由余數唯一定位出錯位(其中0表示正確,不論多項式為何;其餘情況,同一多項式,不同餘數對應不同出錯位)

不同多項式進行校驗時,餘數對應關係不同,所以一般只使用某些多項式。

奇偶校驗碼與迴圈冗餘校驗碼相比有什麼優缺點??速度!!!

8樓:網友

1.奇偶效驗碼數量多,但是有規律可尋。

2.冗餘效驗碼亂且複雜,

迴圈冗餘校驗碼單個突發錯誤的理解

9樓:公尺公尺田共

這種情況中毒的可能性很少。

我這說的都是解決方法加一點理論,如果你想學理論可以看一下長篇大論,軟體方面大概就是程式衝突,系統有問題,原因是這樣。

記憶體被分配為乙個個位址,這個位址用到的時候軟體衝突導致記憶體寫不進,就會出 現這種情況。如果你最近裝了什麼新軟體 謝了試試,還有可能是系統有問題了,比如少了什麼檔案。。。

硬體方面那就是記憶體有問題了,這個位址在記憶體裡是壞的不能存取,當你用到它的時候系統就報錯了,那上面的數字就是損壞的記憶體位址。

解決方法一般都是先軟後硬,像上面說的謝新軟體,不行的話重灌系統,還不行檢測記憶體,有錯更換就行。

如有引用請註明來自leedove

有朋友問為什麼老是玩遊戲的時候出現的多,因為平時的時候用不了那麼多記憶體,也就是說你1g的記憶體有大部分在平時是空閒的,實體地址壞的記憶體剛好又在空閒中所以平時很少報錯,而遊戲時佔用的比較多的記憶體 ,也用到了壞的位址所以有時一開就報錯。

10樓:網友

剛開始學網路概論,我的理解是突發錯誤的位數,不是指發生錯誤的位有多少個,而是指發生錯誤的序列的長度。比如初始為000000的序列,收到時是011010,那麼就是4位突發錯誤1101,突發錯誤的第一位和最後一位是1,中間是0還是1不在乎,突發錯誤前後的位數不能出錯,所以其他位都是0