1樓:網友
crc的理論很複雜,一般書上只介紹已有生成多項式後計算校驗碼的方法。檢錯能力與生成多項式有關,只能根據書上的結論死記。
生成多項式 是接受方和傳送方的乙個約定,也就是乙個二進位數,在整個傳輸過程中,這個數始終保持不變。
在傳送方,利用生成多項式對資訊多項式做模2除生成校驗碼。在接受方利用生成多項式對收到的編碼多項式做模2除檢測和確定錯誤位置。
應滿足以下條件:
a、生成多項式的最高位和最低位必須為1。
b、當被傳送資訊(crc碼)任何一位發生錯誤州散時,被生成多項式做模2除後應該使餘數不為0。
c、不同位發生錯誤時,應該使餘數不同。
d、對餘數繼續做模2除,應使餘數迴圈。
crc碼的生成步驟。
1、將x的最高冪次為r的生成多項式g(x)轉換成對應的r+1位二進位數。
2、將資訊碼左移r位,相當與對應的資訊多項式c(x)*2r
3、用生成多項式(二進位數)對資訊碼做模2除,得到鎮山r位的餘數。
4、將餘數拼到資訊碼左移後空出的位置,得到完整的crc碼。
例】假設使用的生成多項式是g(x)=x3+x+位的原始報文為1010,求編碼後的報文。
解: 1、將生成多項式g(x)=x3+x+1轉換成對應的二進位除數1011。
2、此題生成多項式有4位(r+1),要把原始報文c(x)左移3(r)位變成1010000
3、冊旅氏用生成多項式對應的二進位數對左移4位後的原始報文進行模2除:
1001---商。
1011---除數。
011---餘數(校驗位)
4、編碼後的報文(crc碼):
2樓:網友
因粗粗為生成的多項式最高位是x3,即桐豎校驗碼是3位,就是傳送資料的最後三位,即巖輪鎮100,而原始資料是:1001
什麼是冗餘校驗?
3樓:網友
說的簡單點,就是在要傳送的有效資料之後多加一些額外的資料,這些額外的資料與這些有效資料是有一定的關係。如果資料在傳輸的過程中發生錯誤,那麼他們的這種關係就會被破壞。我們通過重新判斷這種關係是否被破壞就可知道資料在傳輸的過程中是否發生錯誤。
最常用的就是crc迴圈冗餘校驗:
crc碼的組成和使用流程。
crc碼由兩部分組成,前部分是需要校驗保護的有效資訊位,後部分是crc冗餘校驗位。如果有效資訊位為k位元,crc校驗位為r位元,組成n(n=k + r)位元的crc碼,稱為(n , k)碼。
大部分crc碼都以r的位數來命名,如上文中說到的crc-12表示它的冗餘校驗位數r=12bit,crc-16的冗餘校驗位數r=16bit。
圖1-1 crc使用流程。
1. 按照crc編碼規則,計算需要傳送的有效資訊b(x)的冗餘校驗資訊crc(x)。
2. 將b(x)和crc(x)一起傳送出去。
1. 接收b(x)和crc(x).
2. 按照crc編碼規則,重新計算有效資訊b(x)的校驗資訊crcb1b(x)。
3. 比較crcb1b(x)與crc(x)是否相等,如果相等即crc校驗正確,表示此資料沒有發生錯誤,否則資料出錯,即crc校驗錯誤。
迴圈冗餘校驗碼怎麼算
4樓:吊打肥仔兇
迴圈冗餘校驗碼的計算方法:
編碼原理:現假設有:有效資訊:m;
除數g(生成多項式)有:m/g=q+r/g;
此時,可選擇r作為校驗位,則mr即為校驗碼。
校驗原理:(m-r)/g=q+0/g
說明:以接收到的校驗碼除以約定的除數,若餘數為0,則可認為接收到的資料是正確的。
例:有效資訊1101,生成多項式樣1011
迴圈校驗碼解:
有效資訊1101(k=4),即m(x)=x3+x2+x0,生成多項式1011(r+1=4,即r=3);
即g(x)=x3+x1+x0,m(x)·x3=x6+x5+x3,即1101000(對1101左移三位);
m(x)·x3/g(x)=1101000/1011=1111+001/1011 即1010的crc是:1101001 。
計算**如下 :
crc(cyclic redundancy check)迴圈冗餘校驗碼,是常用的校驗碼,在早期的通訊中運用廣泛,因為早期的通訊技術不夠可靠(不可靠性的**是通訊技術決定的,比如電磁波通訊時受雷電等因素的影響),不可靠的通訊就會帶來『確認資訊』的困惑,書上提到紅軍和藍軍通訊聯合進攻山下的敵軍的例子,第一天紅軍發了條資訊要藍軍第二天一起進攻,藍軍收到之後,發一條確認資訊,但是藍軍擔心的是『確認資訊』如果也不可靠而沒有成功到達紅軍那裡,那自己不是很危險?於是紅軍再發一條『對確認的確認資訊』,但同樣的問題還是不能解決,紅軍仍然不敢貿然行動。
5樓:匿名使用者
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=x^16+x^12+x^5+1
crc-16=x^16+x^15+x^2+1
迴圈冗餘校驗碼的舉例
6樓:及琭
例如: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
迴圈冗餘校驗碼的簡介
7樓:維它命
對通訊的可靠性檢查就需要『校驗』,校驗是從資料本身進行檢查,它依靠某種數學上約定的形式進行檢查,校驗的結果是可靠或不可靠,如果可靠就對資料進行處理,如果不可靠,就丟棄重發或者進行修復。
倒推法):傳送方傳送的是t(x),接收方接收到的是r(x),若t(x)和r(x)相等,則傳輸的過程中沒有出現錯誤。如何判斷t(x)和r(x)是否相等?
若r(x)能夠被g(x)整除,則接收方認為t(x)和r(x)相等,即傳輸的過程中沒有出現錯誤。傳送方要傳輸的資訊info包含在t(x)裡,info是t(x)的一部分,但不能說info就是t(x)。實際應用中,g(x)的取值是有限制的,它受限於以下國際標準:
crc-ccitt=x^16+x^12+x^5+1crc-16=x^16+x^15+x^2+1crc-12=x^12+x^11+x^3+x^2+x+1關於g(x)的國際標準還有一些,這裡不一一介紹。
人工計算迴圈冗餘校驗碼需要先弄清的知識:多項式除法、異或運算。
冗餘校驗的原理
8樓:類俑賴
任何乙個雜湊函式都可以用於冗餘檢校驗。最簡單的冗餘校驗,叫作校驗和,它包括校驗位、校驗碼以及縱向冗餘校驗(lrc,longitudinal redundancy check)。其它型別的冗餘校驗包括迴圈冗餘校驗(crc,cyclic redundancy check)、水平冗餘校驗、豎直冗餘校驗以及cryptographic message digest。
奇偶校驗僅僅是乙個錯誤檢測的機制,根據所用奇校驗與偶校驗的不同可以檢查奇數或者偶數的錯誤。
校驗和演算法。
什麼是混聲合唱,有關混聲合唱的問題
suzhelin1103 採納率 48 10級2013.04.10 混聲合唱是合唱藝術中的重要組成部分,是指由女聲 或童聲 與男聲混合組織的合唱。具體一般說來是由女高音聲部 女低音聲部 男高音聲部和男低音聲部四個基本聲部組成的 每個基本聲部又可分為第 一 第二兩個分聲部,如女高音聲部 第一女高音聲部...
有關國學的問題 什麼是國學,主要包括哪些內容?如何學習國
國學博大精深具體的我也說不上來,但是在古代文學方面我能說個框架。論語 中庸 大學 孟子 這個是4書 詩 書 易 禮 春秋 這個是5經 這是最基礎的想學國學從這邊入手吧 經學作為陰陽五行化的儒學,其主要變化表現在以下幾個方面。首先,藉助於陰陽五行學說的理論框架,構築了經學 天人 之學的規模。漢代經學的...
有關鵲和雀的成語,用什麼方法區分問題補充
1,歡呼雀躍 雀,用的小麻雀歡快靈活的特點,說明活潑歡快的形象。聲名鵲起 鵲,喜鵲是報喜的鳥,聲名鵲起是好的名聲,隨著喜鵲的叫聲,四處傳揚。雀 和 鵲 讀音都是qu 又都屬鳥類,難怪常有人 雀 冠 鵲 戴。其實,從生物學的角度來說,這兩種鳥具有不同的行為特徵。雀 是個會意字,下面是 隹 短尾巴鳥的統...