Систематический помехоустойчивый код. Построение систематического кода.

Систематический код – это групповой n-значный код в котором k символов является информационными, а n-k являются проверочными, избыточными. Они занимают одни и те же позиции. Задание СК производится с помощью производящей матрицы А и проверочной матрицы Н.

Производящая матрица позволяет получить все комбинации кода путем суммирования по модулю 2.

(n-k) разрядные кодовые комбинации, в которых количество единиц не менее чем dmin-1, а сумма любых двух строк по модулю 2 должна содержать не менее чем dmin-2«единиц». Желательно при этом, чтобы единицы чередовались с нулями, чтобы серии единиц были короткие. 2k – число кодовых комбинации.

Структура производящей матрицы позволяет строить систематический код, у которого первые k-позиции будут информационными, а оставшиеся (n-k) проверочные, при этом общее число разрешенных кодовых комбинаций равно 2k и все различные кодовые комбинации могут быть получены в результате линейной операции суммы по |2| любых двух, трех и более строк производящей матрицы.

Построение проверочной матрицы:

Берем единичную матрицу размерности n-k и слева к ней приписывают транспонированную дополнительную матрицу D, которую использовали для построения производящей матрицы А.

,

Таким образом, проверочная матрица H позволяет построить алгоритм кодирования и декодирования систематического кода, исходя из того, что единица в каждой строке соответствует тем разрядам, сумма которых по модулю 2 должна быть равна нулю.

Из проверочных уравнений выделяют проверочные разряды, количество которых равно n-k. Проверочные разряды встречаются в каждом из проверочных уравнений только по одному разу.

Процесс приема-передачи с корректировкой ошибок:

Формируется информационная часть кодовой комбинации. На ее основе строится проверочная часть с помощью проверочных уравнений.

На приемной стороне полученные разряды подставляются в проверочные уравнения. Если кодовая комбинация передана без ошибки, то все проверочные уравнения примут нулевые значения.

Если какие либо уравнения примут ненулевое значение, тогда формируют опознаватель для обнаружения и исправления ошибок.

Если вектор-опознаватель не равен нулю, тогда производится обнаружение ошибочных разрядов следующим образом:

доказано, что вектор-опознаватель совпадает со значением «правой части» производящей матрицы, если кратность ошибки равна 1.

Если кратность ошибки больше 1, тогда ошибочные разряды могут быть обнаружены следующим образом: формируется сумма по модулю 2 из «правых частей» строк проверочной матрицы. Количество различных строк, которые включаются в сумму по модулю 2 определяют кратность ошибки.