4.6.2: Прямокутні коди
- Page ID
- 29931
Прямокутні коди можуть забезпечити одночасне виправлення помилок та подвійне виявлення помилок. Припустимо, ми хочемо захистити байтом інформації вісім біт даних D0 D1 D2 D3 D4 D5 D6 D7. Давайте розташуємо їх у прямокутній таблиці та додамо біти парності для кожного з двох рядків та чотирьох стовпців:
| D0 | D1 | Д2 | D3 | ПР0 |
| Д4 | D5 | Д6 | Д7 | ПР1 |
| ШТ/0 | ШТ/1 | ШТ/2 | ШТ/3 | Р |
Ідея полягає в тому, що кожен з бітів парності PR0 PR1 PC0 PC1 PC2 PC3 встановлений таким чином, щоб загальна парність конкретного рядка або стовпця була парною. Потім загальний біт парності P встановлюється таким чином, що правий стовпець, що складається лише з бітів парності, має навіть паритет - це гарантує, що нижній рядок також має парність. Біти 15 можуть бути відправлені через канал, а декодер аналізує отримані біти. Він виконує загалом 8 перевірок парності на три рядки та п'ять стовпців. Якщо є одна помилка в будь-якому з бітів, то один з трьох паритетів рядків і один з п'яти паритетів стовпців буде неправильним. Ображений біт тим самим може бути ідентифікований (він лежить на перетині рядка і стовпця з неправильним парністю) і змінений. Якщо є дві помилки, буде різна картина збоїв парності; подвійні помилки можуть бути виявлені, але не виправлені. Потрійні помилки можуть бути неприємними тим, що вони можуть імітувати одну помилку невинного біта.
Інші геометрично натхненні коди можуть бути розроблені, засновані на розташуванні бітів у трикутники, куби, піраміди, клини або більш вищих розмірних структур.
