什麼是糾錯?
在檢測方法中,只能檢測到錯誤。然而,在糾錯方法中,錯誤會在接收端自動糾正,無需重新傳輸。突發錯誤糾正僅限於2位。
每個k位元的資料塊都新增冗餘位,構成n位元的碼字(n > k)。傳送端使用前向糾錯編碼器。然後,傳輸碼字。訊號被解調以生成與初始碼字等效的位元串,其中包含接收端的錯誤。

如果沒有位元錯誤,FEC解碼器的輸出 = 原始碼字併產生原始資料。
作為特定的錯誤設計,解碼器可以識別和修復錯誤是可行的。FEC解碼器能夠將此塊對映到原始資料。
對於特定錯誤,解碼器可以識別但不能修復錯誤。它會被報告為不可管理的錯誤。
示例
假設,使用漢明碼來識別和糾正單位元錯誤,考慮每個碼字包含在七位資料區域中,例如ASCII字元。
例如,在編碼設計中需要校驗位,因為在這個設計中,校驗位出現在所有位位置上,這些位位置是2的冪。因此,此程式碼稱為(1, 7)塊碼。
例如,值1001101的位位置如下:
| 位元位置 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 位元值 | 1 | 0 | 0 | x | 1 | 1 | 0 | x | 1 | x | x |
四個位元位置用x表示。它可以用於校驗位,假設如下。與這些位元位置對應的四個位元二進位制數具有二進位制1。它們使用模2算術相加,然後四個校驗位就是四個位元的和。
11 = 1011 7 = 0111 6 = 0110 3 = 0011 1011
因此,傳輸的碼字如下:
| 位元位置 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 位元值 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
類似地,在接收端,與那些具有二進位制1的位置對應的四個位元二進位制數被用作校驗位。它們再次相加,如果沒有任何錯誤出現,模2和應該為零。
11 = 1101
8 = 1101
7 = 0111
6 = 0110
3 = 0011
1 = 0001
0000假設單個位元錯誤。可以說位元11從1損壞為0。新的模2和將如下所示:
8 = 1000 7 = 0111 6 = 0110 3 = 0011 1 = 0001 0 = 1011
首先,和非零,這表示存在錯誤。
其次,模2和等於十進位制11,表明位元11是錯誤位元。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP