1. 程式人生 > >錯誤檢測(2)奇偶校驗

錯誤檢測(2)奇偶校驗

結束 trade src 錯誤 its off ade 技術分享 整體

之前的實驗中 通過按按鈕啟動兩個板子,由於clock不同步產生了問題

技術分享圖片

技術分享圖片

怎麽來進行錯誤檢測呢,

1.可以說一共有104個bits

技術分享圖片

技術分享圖片

所以103 或者110個都是有錯誤的

2.47%的bit都是1:

技術分享圖片

最多有6個zero:

技術分享圖片

49個1:

技術分享圖片

(可是,如果1個字節裏面1消失了 另個裏面1存在了,其實也還是49個1

技術分享圖片

parity n.奇偶性

技術分享圖片

技術分享圖片

奇數個1

技術分享圖片

…using a single bit)

D觸發器

技術分享圖片

(能通過觸發儲存一比特數據

然後把output接到input上:

技術分享圖片

然後再插個xor門:

技術分享圖片

走一下:

技術分享圖片

然後發現這個東東發奇數個1 ,就是輸出1,發偶數個1就輸出0

插上東西跑一下:

技術分享圖片

(燈會根據傳送字節中的奇偶最終保持亮暗

現在我們希望能再receiver這邊也檢查出parity 如果parity不一樣,那就是有錯

技術分享圖片

跑一次:

技術分享圖片

(跑通了

技術分享圖片

(這次就有錯了,中間沒有逗號

技術分享圖片

定義一下Parity

技術分享圖片

最後再多傳1bit,如果奇數個,就傳1 最後整體是偶數個

如果偶數個就傳0 ,最後整體還是偶數個

技術分享圖片

最後就是

技術分享圖片

(如果燈亮了就說明出錯了

到這裏基本結束了,

但是以上都是在考慮1個bit改變的情況

如果兩個bit同時變了呢 最後反映出的結果似乎是沒有錯

技術分享圖片

所以不夠perfect

我們可以給每個字節後面都進行parity計算

技術分享圖片

這樣就檢測出一個字節的錯誤了

技術分享圖片

但是就算這樣也有一個字節中出錯的可能

技術分享圖片

所以我們可以每4bits 每2bits來檢測

技術分享圖片

trade off

技術分享圖片

以後介紹其他的更復雜的錯誤檢測方法

??

技術分享圖片

錯誤檢測(2)奇偶校驗