Исследуйте результаты декодирования кода Хэмминга (7, 4) по методу исправления ошибок при многократных ошибках в принятых кодовых комбинациях.
Используйте кодирование без перемежения и фазовую модуляцию. Наблюдайте и зафиксируйте осциллограммы сигналов на выходе РУ демодулятора (т. 10) и принятые символы при разных позициях многократных ошибок. Ввод ошибок осуществите в следующем порядке по каналам:
1) оставьте полученную при выполнении задания 4 безошибочную кодовую комбинацию,
2) ошибки в позициях 1, 4 («1001000_»),
3) ошибки в позициях 2, 6 («0100010_»),
4) ошибки в позициях 1, 3, 5 («1010100_»).
Убедитесь в правильности вычисления проверочных символов и синдрома в кодеке канала и в невозможности исправления многократных ошибок. Сделайте выводы по результатам наблюдений.
Комментарии и выводы
Для циклических кодов более компактным является полиномиальноеописание. В этом случае код (7,4) задают с помощью порождающего полинома g (x) = x 3 + x + 1, а кодовые комбинации описывают полиномами 6-й степени b (x) = b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 01, в которых коэффициенты bk равны значениям соответствующих разрядов кодовых комбинаций.
|
|
Кодер вычисляет кодовую комбинацию следующим образом:
1) сдвигает ее информационную часть a (x) на три разряда «влево» b И(x) = a (x) x 3, освобождая три младших разряда «справа» для проверочных символов;
2) определяет проверочный полином, вычисляя остаток от деления полинома сдвинутой информационной части на порождающий полином b ПР(x) = a (x) x 3 mod g (x);
3) складывает информационный и проверочный полиномы в результирующий полином (комбинацию) кода
b (x) = b И(x) + b ПР(x) = a (x) x 3 + a (x) x 3 mod g (x).
Декодирование на полиномиальной основе заключается в определении синдромного полиномапутем вычисления остатка от деления полинома принятой кодовой комбинации b' (x) на порождающий полином s (x) = b' (x) mod g (x). При отсутствии ошибок в принятой комбинации получается нулевой результат s (x) = 0. При однократных ошибках имеют место семь вариантов (23 – 1 = 7) ненулевых синдромных полиномов, соответствующих семи разным позициям однократных ошибок (семи векторам исправляемых ошибок). Исправление ошибок осуществляется поразрядным сложением принятой комбинации с вектором исправляемых ошибок, соответствующему вычисленному синдрому.