16.1. КОНТРОЛЬ ЧЕТНОСТИ



Простая идея как обнаружить единичную ошибку (да и вообще нечетное
число ошибок): посчитать четность.

Такие коды называются SPC (Single Parity Check).

	+-+-+-+-+-+-+-+-+    +-+
	| | | | | | | | |    |B|
	+-+-+-+-+-+-+-+-+    +-+
	      BYTE	     CONTROL BIT

	B = A0 (+) A1 (+) A2 (+) A3 (+) A4 (+) A5 (+) A6 (+) A7

	Если четность не совпадает - то обнаружена ошибка.
	(Этот метод используется в RS-232-C [COM port]).


Пример реализации:







Порождающая матрица для SPC кода (4,3) | 1 0 0 1 | | 0 1 0 1 | | 0 0 1 1 | Data [1]| 1 0 0 1 | ------ >[2]| 0 1 0 1 | [3]| 0 0 1 1 | ------------------ [1][2][3][4] | V Code c1 = d1 c2 = d2 c3 = d3 Код систематический c4 = d1 (+) d2 (+) d3


Простая идея как исправить ошибку. Если нам надо переслать данные мы их пересылаем 2*N + 1 раз. Это позволит исправить до N ошибок включительно. Нам в этом может помочь мажоритарный элемент. Но вот только кто на это согласится?. Пересылать так много.


Index Prev Next