
Декодирование
Для проверки правильности комбинаций снова используем метод проверки на четность. Если комбинация принята без искажений, то сумма единиц по модулю 2 дает 0. При искажении какого-либо символа суммирование при проверке может дать единицу. По результату суммирования каждой из проверок, составляет двоичное число, указывающее на место искажения.
Результатом корректирующего декодирования будет кодовая комбинация, состоящая из 4-х символов (без проверочных). Декодирование проходит в три этапа:
Сначала с информационными символами - k1, k2, k3, k4 проводится кодирование по Хеммингу, т.е. формируются проверочные символы – m1*, m2*, m3*. Например, символ m1* равен сумме по модулю информационных символов k1, k2, k3, k4.
m1*= k1+ k3+k4=1+1+1=1, т2*= k1+ k2+k4=1+0+1=0, m3*= k1+ k2+k3 =1+0+1=0.
Затем исходные проверочные символы (m1, m2, m3) сравнивают с полученными в результате кодирования (m1*, m2*, m3*), т.е. складывают по модулю 2. Если полученная сумма равна 0, то комбинация принята без искажений и ошибка отсутствует. В противном случае значение этой суммы указывает (если отсчет принять слева) на порядковый номер символа кодовой комбинации, который был искажен.
В рассматриваемом примере m3+m3*=0, т2+m2*=1, m1+ m1*=0, значит был искажен символ k2 (1202 = 610).
На последнем этапе исправляют искаженный символ и выделяют его из исходной комбинации информационные символы.
m3+m3* |
т2+m2* |
m1+ m1* |
Искаженный символ |
0 |
0 |
1 |
m1 |
0 |
1 |
0 |
m2 |
0 |
1 |
1 |
k4 |
1 |
0 |
0 |
m3 |
1 |
0 |
1 |
k3 |
1 |
1 |
0 |
k2 |
1 |
1 |
1 |
k1 |
Описание лабораторной установки
Функциональная схема установки изображена на рис. 1. Исходное сообщение через ключи k1, k2, k3, k4, подается на ИС DD1, DD2.1 (К561ЛП2), где вырабатываются проверочные символы k1, k2, k3. Затем в исходную кодовую комбинацию заносится одиночная ошибка.
Генератор ошибки собран на ИС DD7(K561JIA7), DD8(К561ИЕ1), DD9(K561HE10). С генератора тактовой частоты (DD7). Импульсы с частотой примерно 1 кГц поступают на вход “СЭ” счетчика (DD8). При переводе ключа “ПУСК” в верхнее положение одновременно запрещается генерация импульсов и “запирается” счетчик путем подачи “+5В” на “RS-защелку” (DD7.2, DD7.4) генератора и на вход “С” счетчика соответственно. Оставшаяся на выходах Q1, Q2, Q3, двоичная комбинация подается на выходы D1, D2, D4, дешифратора DD9, и на одном из его выходов
Y0, Y1,… Y7, появляется высокий уровень напряжения (т.е. “1”).
Эта “1” складывается по модулю 2 с соответствующим разрядом исходного сообщения (ИС DD2.2, DD2.3, DD2.4, DD3). Полученная кодовая комбинация проверяется на наличие ошибки:
-вычисляются проверочные символы m1, m2, m3 (DD4, DD5.1);
-эти проверочные символы сравниваются с m1*, m2*, m3* соответственно (сложение по модулю 2) полученной кодовой комбинации (комбинации с ошибкой), ИС DD5.1, DD5.3, DD5.4;
-результат сравнения подается на входы дешифратора DD10, а “1” на одном из его выходов указывает место ошибки в полученном сообщении;
-исправляется заданное сообщение DD6.
На индикатор (на верхней крышке стенда) выводятся (свечение светодиода означает “1” в данном символе):
-в первом (верхнем) ряду слева направо выводятся символы исходной кодовой комбинации m1, m2, k4, m3, k3, k2, k1;
-во втором ряду – символы m1, m2, k4, m3, k3, k2, k1 сообщения с ошибкой;
-в третьем ряду, символы m1, m2, k4, m3, k3, k2, k1 исправленного сообщения.