資料編碼理論/前向糾錯
外觀
< 資料編碼理論
如果我們透過不可靠的通訊通道傳送資料,通常最好提供一些機制來糾正接收到的錯誤資料。在你的資料包中加入冗餘資訊,以檢測和可能糾正資料中的錯誤,這被稱為 **前向糾錯** (FEC)。
FEC 的形式很多。最簡單的形式是重複碼,其中資料被複制並多次傳輸。如果資訊在重複之間不匹配,則選擇最常接收到的值作為“正確”版本。
更先進的 FEC 形式是分組碼和漢明碼。我們將在後面討論所有這些內容。
奇偶校驗嚴格來說不是一種 FEC 技術,但我們將在後面經常引用它。在奇偶校驗情況下,一個額外的位附加到資料以檢測簡單的錯誤。奇偶校驗有兩種型別:偶校驗和奇校驗。
- 偶校驗
- 偶校驗計算資料中 1 的數量。如果 1 的數量為奇數,則奇偶校驗位為 1。否則,奇偶校驗位為 0。
- 奇校驗
- 奇校驗計算資料中 1 的數量。如果 1 的數量為偶數,則奇偶校驗位為 1。否則為零。
奇偶校驗可以檢測到單個位錯誤,但無法確定哪個位錯誤。此外,奇偶校驗無法檢測到多個位錯誤。如果兩位、四位或六位出錯,奇偶校驗將表明資料是正確的。
正如奇偶校驗只能處理最多 1 個錯誤的情況一樣,各種 FEC 碼被設計用於其他情況。FEC 碼可以檢測一定數量的錯誤,並且可以糾正另一個數量的錯誤。例如,特定程式碼可以檢測最多 3 個錯誤,但只能糾正最多 1 個錯誤。