2010-09-27 1013 views
6

在學習計算機網絡中的課程時,教授談到了示例代碼中2個有效代碼字之間的漢明距離。我已經閱讀了漢明距離,從講述兩個弦之間的差距的角度來看它是有意義的。例如:漢明距離是多少?我如何確定它的CRC方案?

Code Word 1 = 10110 

發送方發送的碼字1,且有推出一個錯誤,接收方收到10100所以,你看到的是,第4位被損壞。這將導致1,因爲一個漢明距離:

Valid Code Word: 10110 
Error Code Word: 10100 
       ----- 
XOR    00010 

的2個結果的XOR在一個1,所以漢明距離爲1。我理解到這一點。但後來教授問:

  • 什麼是標準CRC-16位協議的海明距離?
  • 標準CRC-32位協議的漢明距離是多少?

我有點困惑,想知道是否有人可以幫忙。謝謝。

回答

4

您現在可能已經弄明白了,但他要求的最有可能是CRC代碼無法檢測到的最小位錯誤數。答案取決於消息的寬度,多項式和長度。例如,最着名的CRC-32多項式(0x1EDC6F41)對於高達5,275比特的消息具有6或更好的漢明距離(Castaglioni,Bräuer,Herrmann:具有24和32奇偶位的循環冗餘校驗碼的優化,IEEE Transactions on Communications,第41卷第6期,1993年6月),這意味着保證在5,275位或更少的單個消息中檢測多達5個翻轉位。

順便說一句,代碼字包括校驗和,所以你的例子是不正確的。

+1

關於最知名的多項式的部分是不正確的。多項式0x741B8CD7的漢明距離6至16360位,漢明距離4至114663位。 [Philip Koopman,互聯網應用的32位循環冗餘碼] – 2011-11-25 15:38:41

+0

@Řrřola可能最好的僅僅是參考:[Koopman的網站](https://users.ece.cmu.edu/~koopman/crc/) 。它似乎是CRC表現最新的地方之一。 – Flip 2018-03-05 13:24:36