Задание 4. Исследуйте способность кода Хэмминга (7, 4) исправлять однократные ошибки

Исследуйте способность кода Хэмминга (7, 4) исправлять однократные ошибки. Для этого активизируйте пункты меню «Параметры СПДС» / «Код» / «(7, 4) Хэмминга».

Используйте кодирование без перемежения и фазовую модуляцию. Наблюдайте и зафиксируйте осциллограммы сигналов на выходе РУ демодулятора (т. 10) и принятые символы при разных позициях однократных ошибок. Ввод ошибок осуществите в следующем порядке по каналам:

1) ошибок нет («0000000_»),

2) ошибка в позиции 1 («1000000_»),

3) ошибка в позиции 3 («0010000_»),

4) ошибка в позиции 5 («0000100_»).

Убедитесь в правильности вычисления проверочных символов и синдрома в кодеке канала и в работоспособности процедуры исправления однократных ошибок в декодере канала.

Сделайте выводы по результатам наблюдений.

Комментарии и выводы

Линейный систематический код Хэмминга (7, 4) имеет 7‑разрядные комбинации из общего числа которых (128 = 27) только 16 = 24 являются разрешенными, а остальные 112 = 128 – 16 – запрещенными. Его кодовая таблица имеет объём 16 х 7 = 112 бит.

При использовании матричного описания кода достаточно задать порождающую матрицу G размерностью 4 х 7, элементами которой являются кодовые символы «0» и «1» (ее объем всего 28 бит). Разрешенные кодовые комбинации можно брать не из кодовой таблицы, а вычислять в виде матричного произведения информационной 4‑разрядной матрицы-строки B И (на входе кодера) и порождающей матрицы. Например,

║ 1 0 0 0 1 0 1 ║

b1 b2 b3 b4 ║ 0 1 0 0 1 1 1 ║ b1 b2 b3 b4 b5 b6 b7

B = B И* G = ║ 0 1 1 1║*║ 0 0 1 0 1 1 0 ║ = ║ 0 1 1 1 0 1 0║.

║ 0 0 0 1 0 1 1 ║

Декодирование на матричной основе заключается в вычислении 3‑разрядного синдрома S путем умножения матрицы-строки принятой кодовой 7‑разрядной комбинации B' на транспонированную проверочную матрицу H размерностью 3 х 7 (ортогональную порождающей). При отсутствии ошибок получается нулевой синдром («000»). При однократных ошибках имеют место семь вариантов ненулевых синдромов, соответствующих семи разным позициям однократных ошибок (семи векторам исправляемых ошибок).

Исправление ошибок осуществляется поразрядным сложением принятой комбинации с соответствующим вычисленному синдрому вектором исправляемых ошибок. Последний содержит единственную «1» в разряде, где имеет место однократная ошибка. В результате такого сложения ошибочно принятый бит инвертируется и, следовательно, исправляется. Например, при ошибке в разряде b3 при приеме выше указанной комбинации B'

b1 b2 b3 b4 b5 b6 b7 ║ 1 1 1 0 1 0 0 ║T c1 c2 c3

S = B' * HT = ║ 0 1 0 1 0 1 0 ║*║ 0 1 1 1 0 1 0 ║ = ║ 1 1 0 ║.

║ 1 1 0 1 0 0 1 ║

Вычисленному синдрому соответствует вектор исправляемой ошибки ║0 0 1 0 0 0 0 ║, при сложении которого с B' инвертируется бит b3 принятой комбинации, т.е. эта однократная ошибка исправляется. Интересной особенностью кода Хемминга (7, 4) является совпадение синдрома со столбцом проверочной матрицы, номер которого соответствует позиции однократной ошибки.

Код Хэмминга (7, 4) является совершенным. Он гарантированно исправляет все однократные ошибки и не исправляет никакие другие.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: