循環冗餘編碼
循環冗餘編碼又名多項式編碼(polynomial code),也稱CRC(Cyclic Redundancy Check).
CRC的工作方法
在傳送端產生一個循環冗余碼,附加在信息位後面一起傳送到接收端,接收端收到的信息按傳送端形成循
環冗餘碼同樣的算法進行校驗,
若有錯,需重發。
2.循環冗餘碼的產生與碼字正確性檢驗例子。
CRC校驗碼的算法分析
CRC校驗碼的編碼方法是用待傳送的二進制數據t(x)除以生成多項式g(x),將最後的餘數作為CRC校驗碼。
其實現步驟如下:
(1) 設待傳送的數據塊是m位的二進制多項式t(x),(2) 生成多項式為r階的g(x)。在數據塊的末尾添
加r個0,(3) 數據塊的長度增加到m+r位,(4) 對應的二進制多項式為 。
(5) 用生成多項式g(x)去除 ,(6) 求得餘數為階數為r-1的二進制多項式y(x)。此二進制多項式y(x
)就是t(x)經過生成多項式g(x)編碼的CRC校驗碼。
(7) 用 以模2的方式減去y(x),(8) 得到二進制多項式 。 就是包含了CRC校驗碼的待傳送字元串。
從CRC的編碼規則可以看出,CRC編碼實際上是將代傳送的m位二進制多項式t(x)轉換成了可以被g(x)除盡
的m+r位二進制多項式 ,所以解碼時可以用接受到的數據去除g(x),如果餘數位零,則表示傳輸過程沒有錯
誤;如果餘數不為零,則在傳輸過程中肯定存在錯誤。許多CRC的硬體解碼電路就是按這種方式進行檢錯的。
同時 可以看做是由t(x)和CRC校驗碼的組合,所以解碼時將接收到的二進制數據去掉尾部的r位數據,得到
的就是原始數據。
為了更清楚的了解CRC校驗碼的編碼過程,下面用一個簡單的例子來說明CRC校驗碼的編碼過程。由於CRC-32、
CRC-16、CCITT和CRC-4的編碼過程基本一致,只有位數和生成多項式不一樣。
3.循環冗餘碼的工作原理
循環冗餘碼CRC在傳送端編碼和接收端校驗時,都可以利用事先約定的生成多項式G(X)來得到,K位要傳送
的信息位可對應於一個(k-1)
次多項式K(X),r位冗餘位則對應於一個(r-1)次多項式R(X),由r位冗餘位組成的n=k+r位碼字則對應於一
個(n-1)次多項式T(X)=Xr*K(X)+R(X)。
4.循環冗餘校驗碼的特點
1)可檢測出所有奇數位錯;
2)可檢測出所有雙比特的錯;
3)可檢測出所有小於、等於校驗位長度的突發錯。
相關詞條
-
冗餘碼
冗餘碼是一種所用符號數或信號碼元數比表示信息所必需的數目多的代碼,套用了冗餘加密技術,即利用了糾錯碼的編碼原理,在加密的檔案中加入了大量的冗餘信息,從而...
主要內容 分類 容錯計算中的套用 展望 -
循環冗餘檢查
循環冗餘校驗(英語:Cyclic redundancy check,通稱“CRC”)是一種根據網上數據包或計算機檔案等數據產生簡短固定位數校驗碼的一種散...
簡介 CRC多項式規範 CRC與數據完整性 參見 -
循環冗餘編碼
循環冗餘編碼,又名多項式編碼,在傳送端產生一個循環冗餘碼,附加在信息位後面一起傳送到接收端,接收端收到的信息按傳送端形成循環冗餘碼同樣的算法進行校驗,若...
-
循環冗餘校驗碼
循環冗餘校驗碼(CRC),簡稱循環碼,是一種常用的、具有檢錯、糾錯能力的校驗碼,在早期的通信中運用廣泛。循環冗餘校驗碼常用於外存儲器和計算機同步通信的數...
校驗 編碼規則 套用 -
crc[循環冗餘校驗]
循環冗餘校驗(Cyclic Redundancy Check, CRC)是一種根據網路數據包或電腦檔案等數據產生簡短固定位數校驗碼的一種散列函式,主要用...
CRC簡介 工作原理 常用CRC版本 選擇方案 差錯檢測能力 -
Turbo碼
編碼理論研究長期沿襲信道截止速率(Cutoff Rate)的傳統觀念,儘管各種複雜的編碼方法不斷湧現,但是超出香農限若干分貝的性能差距總是被巨大的計算復...
簡介 歷史發展 研究現狀 特點 速率匹配 -
raid[獨立冗餘磁碟陣列]
磁碟陣列(Redundant Arrays of Independent Drives,RAID),有“獨立磁碟構成的具有冗餘能力的陣列”之意。 磁碟陣...
簡介 分類 原理 優缺點 RAID級別 -
渦輪碼
渦輪碼(英語:Turbo code)是資訊理論中一種前向糾錯的編碼技術,發明於1990至1991年間,並於1993年首次發表。渦輪碼是首個得以接近香農極限...
歷史簡介 示例編碼器 軟決策方法 假設尋找 表現 -
冗餘位
CRC的工作方法在傳送端產生一個循環冗餘碼,附加在信息位後面一起...,若有錯,需重發。2.循環冗餘碼的產生與碼字正確性檢驗例子...生成多項式不一樣。 循環冗餘碼的工作原理 循環冗餘碼CRC在傳送...