久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2915|回復: 0
打印 上一主題 下一主題
收起左側

循環冗余校驗碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:72008 發表于 2015-1-12 02:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在串行傳送(磁盤、通訊)中,廣泛采用循環冗余校驗碼(CRC)。CRC也是給信息碼加上幾位校驗碼,以增加整個編碼系統的碼距和查錯糾錯能力。
CRC的理論很復雜,一般書上只介紹已有生成多項式后計算校驗碼的方法。檢錯能力與生成多項式有關,只能根據書上的結論死記。
循 環冗余校驗碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗碼,整個編碼長度為N位,因此,這種編碼又叫(N,K)碼。對于一個給定的 (N,K)碼,可以證明存在一個最高次冪為N-K=R的多項式G(x)。根據G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項 式。
校驗碼的具體生成過程為:假設發送信息用信息多項式C(X)表示,將C(x)左移R位,則可表示成C(x)*2R,這樣C(x)的右邊就會空出R位,這就是校驗碼的位置。通過C(x)*2R除以生成多項式G(x)得到的余數就是校驗碼。
幾個基本概念
1、多項式與二進制數碼
多項式和二進制數有直接對應關系:x的最高冪次對應二進制數的最高位,以下各位對應多項式的各冪次,有此冪次項對應1,無此冪次項對應0。可以看出:x的最高冪次為R,轉換成對應的二進制數有R+1位。
多項式包括生成多項式G(x)和信息多項式C(x)。
如生成多項式為G(x)=x4+x3+x+1, 可轉換為二進制數碼11011。
而發送信息位 1111,可轉換為數據多項式為C(x)=x3+x2+x+1。
2、生成多項式
是接受方和發送方的一個約定,也就是一個二進制數,在整個傳輸過程中,這個數始終保持不變。
在發送方,利用生成多項式對信息多項式做模2除生成校驗碼。在接受方利用生成多項式對收到的編碼多項式做模2除檢測和確定錯誤位置。
應滿足以下條件:
a、生成多項式的最高位和最低位必須為1。
b、當被傳送信息(CRC碼)任何一位發生錯誤時,被生成多項式做模2除后應該使余數不為0。
c、不同位發生錯誤時,應該使余數不同。
d、對余數繼續做模2除,應使余數循環。
將這些要求反映為數學關系是比較復雜的。但可以從有關資料查到常用的對應于不同碼制的生成多項式如圖9所示:

N
K
碼距d
G(x)多項式
G(x)
7
4
3
x3+x+1
1011
7
4
3
x3+x2+1
1101
7
3
4
x4+x3+x2+1
11101
7
3
4
x4+x2+x+1
10111
15
11
3
x4+x+1
10011
15
7
5
x8+x7+x6+x4+1
111010001
31
26
3
x5+x2+1
100101
31
21
5
x10+x9+x8+x6+x5+x3+1
11101101001
63
57
3
x6+x+1
1000011
63
51
5
x12+x10+x5+x4+x2+1
1010000110101
1041
1024
 
x16+x15+x2+1
11000000000000101
圖9 常用的生成多項式

3、模2除(按位除)
模2除做法與算術除法類似,但每一位除(減)的結果不影響其它位,即不向上一位借位。所以實際上就是異或。然后再移位移位做下一位的模2減。步驟如下:
a、用除數對被除數最高幾位做模2減,沒有借位。
b、除數右移一位,若余數最高位為1,商為1,并對余數做模2減。若余數最高位為0,商為0,除數繼續右移一位。
c、一直做到余數的位數小于除數時,該余數就是最終余數。
【例】1111000除以1101:
1011———商
————
1111000-----被除數
1101———— 除數
————
010000
1101
————
01010
1101
————
111————余數
CRC碼的生成步驟
1、將x的最高冪次為R的生成多項式G(x)轉換成對應的R+1位二進制數。
2、將信息碼左移R位,相當與對應的信息多項式C(x)*2R
3、用生成多項式(二進制數)對信息碼做模2除,得到R位的余數。
4、將余數拼到信息碼左移后空出的位置,得到完整的CRC碼。
【例】假設使用的生成多項式是G(x)=x3+x+1。4位的原始報文為1010,求編碼后的報文。
解:
1、將生成多項式G(x)=x3+x+1轉換成對應的二進制除數1011。
2、此題生成多項式有4位(R+1),要把原始報文C(x)左移3(R)位變成1010000
3、用生成多項式對應的二進制數對左移4位后的原始報文進行模2除:
1001-------商
------------------------
1010000
1011----------除數
------------
1000
1011
------------
011-------余數(校驗位)
5、編碼后的報文(CRC碼):
1010000
+             011
------------------
1010011
CRC的和糾錯
在 接收端收到了CRC碼后用生成多項式為G(x)去做模2除,若得到余數為0,則碼字無誤。若如果有一位出錯,則余數不為0,而且不同位出錯,其余數也不 同。可以證明,余數與出錯位的對應關系只與碼制及生成多項式有關,而與待測碼字(信息位)無關。圖10給出了G(x)=1011,C(x)=1010的出 錯模式,改變C(x)(碼字),只會改變表中碼字內容,不改變余數與出錯位的對應關系。

 
收到的CRC碼字
余數
出錯位
碼位
A7
A6
A5
A4
A3
A2
A1
正確
1
0
1
0
0
1
1
000

1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
1
001
010
100
011
110
111
101
1
2
3
4
5
6
7
圖10 (7,4)CRC碼的出錯模式(G(x)=1011)
如 果循環碼有一位出錯,用G(x)作模2除將得到一個不為0的余數。如果對余數補0繼續除下去,我們將發現一個有趣的結果;各次余數將按圖10順序循環。例 如第一位出錯,余數將為001,補0后再除(補0后若最高位為1,則用除數做模2減取余;若最高位為0,則其最低3位就是余數),得到第二次余數為 010。以后繼續補0作模2除,依次得到余數為100,0ll…,反復循環,這就是“循環碼”名稱的由來。這是一個有價值的特點。如果我們在求出余數不為 0后,一邊對余數補0繼續做模2除,同時讓被檢測的校驗碼字循環左移。圖10說明,當出現余數(101)時,出錯位也移到A7位置。可通過異或門將它糾正后在下一次移位時送回A1。這樣我們就不必像海明校驗那樣用譯碼電路對每一位提供糾正條件。當位數增多時,循環碼校驗能有效地降低硬件代價,這是它得以廣泛應用的主要原因。
【例】 對圖10的CRC碼(G(x)=1011,C(x)=1010),若接收端收到的碼字為1010111,用G(x)=1011做模2除得到一個不為0的余 數100,說明傳輸有錯。將此余數繼續補0用G(x)=1011作模2除,同時讓碼字循環左移1010111。做了4次后,得到余數為101,這時碼字也 循環左移4位,變成1111010。說明出錯位已移到最高位A7,將最高位1取反后變成0111010。再將它循環左移3位,補足7次,出錯位回到A3位,就成為一個正確的碼字1010011。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99这里只有精品视频 | 亚洲综合五月天婷婷 | 国产精品久久性 | 欧美一级全黄 | 精品一区二区三区四区五区 | 日本三级在线视频 | 国产精品亚洲综合 | 粉嫩av| 久久手机视频 | 国产一区二区三区在线看 | 久久成人一区 | 亚洲国产精品va在线看黑人 | 久久一区二区视频 | 古装人性做爰av网站 | 国产精品a级 | 91麻豆精品国产91久久久久久久久 | 一级黄色录像毛片 | 欧美亚洲国语精品一区二区 | 在线观看的av | 欧美国产91 | 亚洲欧美精品在线 | 伊人网站 | 日本一区二区视频 | 色综合久| 国产精品成人一区二区三区吃奶 | 成人午夜精品 | 91视频进入 | www.成人在线视频 | 亚洲精品在线观看视频 | 久久久久久中文字幕 | 四虎影院在线观看免费视频 | 日韩成人免费av | 国产激情一区二区三区 | 免费在线观看成人 | 日韩和的一区二区 | 亚洲精品乱码久久久久久久久 | 国产精品久久久久久久 | 99亚洲精品 | 欧美日韩三级 | 国产日韩av一区二区 | 国产成人小视频 |