- •1. Общие положения
- •2. Оформление курсовой работы
- •3. Задание на курсовую работу
- •4. Исходные данные
- •5. Краткие теоретические сведения
- •6.Методика выполнения курсовой работы
- •6.1.Построение кода для передаваемого сообщения
- •6.2. Расчет корректирующих способностей заданного кода
- •6.3. Структурный синтез кодирующего устройства (кодера)
- •6.4. Структурный синтез декодирующего устройства (декодера)
- •6.5. Исследование кодера и корректирующих способностей декодера
6.4. Структурный синтез декодирующего устройства (декодера)
Для построения структурной схемы декодера применяют логические выражения синдромов.
В качестве примера рассмотрим порядок синтеза структурной схемы декодера для семиразрядного кода Хэмминга, используя для этой цели выражения (7).
Синтезируемый декодер должен иметь три выхода по числу разрядов синдрома и семь входов по числу разрядов принятой кодовой комбинации.
На рис. 6 представлена структурная схема искомого декодера для семиразрядного кода Хэмминга.
Рис. 6. Структурная схема декодера для семиразрядного кода Хэмминга
Для проверки правильности работы схемы декодера следует задаться последовательно искажением одного из информационных разрядов и одного из контрольных разрядов и проверить возможность обнаружения и исправления ошибок на основе полученных значений синдромов на выходе декодера.
Рассмотрим для примера случай, когда в результате воздействия помех исказился шестой информационный разряд передаваемой кодовой комбинацииu6 = k1 (нумерация разрядов кода ведется слева на право, начиная с единицы), в результате чего на вход декодера вместо закодированного сообщения 1011010 поступило ложное сообщение 1011000. В соответствии с выражениями (7) разряды синдрома на выходе декодера примут следующие значения:
i1 = 1 1 0 0 = 0;
i2 = 0 1 0 0 = 1;
i3 = 1 0 0 0 = 1.
Таким образом, на выходе декодера мы получили кодовую комбинацию синдрома в двоичном коде: i3i2i1 = 110, что соответствует десятичному числу: 221 + 211 + 200 = 4 + 2 + 0 = 6. Число 6 указывает номер искаженного разряда (при вычислении десятичного числа необходимо иметь в виду, что индекс старшего разряда двоичного кода синдрома имеет больший номер). В нашем случае, это действительно шестой разряд и декодер правильно его определил.
Добавив к декодеру логическую схему преобразования двоичного числа в десятичный унитарный код можно исправить искаженный разряд кодовой комбинации в случае, если имеется хотя бы один ненулевой разряд в синдроме. Сигнал в преобразователе унитарного кода появляется только на одном из десяти выходов схемы, каждый из которых связан с определенным значением одноразрядного десятичного числа.
На рис. 6значения разрядов принятой кодовой комбинации и синдрома представлены применительно к рассмотренному выше случаю искажения сигнала.
Рассмотрим теперь случай искажения контрольного разряда, например, четвертого символа u4 = r3той же кодовой комбинации. В этом случае на вход декодера поступит ложная комбинация в виде двоичного числа 1010010. В соответствии с логическими выражениями (7) разряды синдрома на выходе декодера примут значения:
i1 = 1 1 0 0 = 0;
i2 = 0 1 1 0 = 0;
i3 = 0 0 1 0 = 1.
В результате на выходе декодера будет двоичное число i3i2i1 = 100, которое соответствует десятичному числу 4 (4+0 + 0). Оно показывает, что в процессе передачи кодовой комбинации по каналу связи произошло искажение 4-го символаu4.Это действительно имело место в процессе передачи кодовой комбинации по каналу связи.
Недостаток рассмотренного семиразрядного кода Хэмминга заключается в том, что по значению синдрома нельзя определить, то ли произошла одна ошибка и ее следует исправлять, то ли имеет место несколько ошибок в кодовой комбинации и исправить ее невозможно. Это связано с тем, что значения синдромов представляют собой простой трехразрядный код на все сочетания. В результате при нескольких искажениях получается искаженная кодовая комбинация значений синдрома, которая не отражает истинный номер искаженного разряда. Поэтому, если стоит задача не только обнаружения ошибок, но и их исправления, то рассмотренный код целесообразно использовать в каналах связи с преимущественно одиночными ошибками.
Восьмиразрядный код Хэмминга имеет избыточный разряд синдрома, позволяющий закодировать максимальное по значению десятичное число, равное 15 и превышающее почти в два раза длину кодовой комбинации. Позволяет отличать одиночную ошибку от нескольких и поэтому является более эффективным.
При наличии всех нечетных искажений восьмиразрядного кода Хэмминга (одиночная, тройная и т.д. ошибка) разряд i4 = 1. При всех четных (двойная, четверная и т.д. ошибка) разряд i4 = 0.
Поэтому при наличии в синдроме разряда i4 = 1, по значениям разрядов i1…i3определяется место одиночного искажения способом, который аналогичен семиразрядному коду Хэмминга. В последующем осуществляется его исправление.
При значении разряда синдрома i4 = 0 и хотя бы в одном из разрядов i1…i3 не значение не равно нулю принятая кодовая комбинация отбрасывается как имеющая более одной ошибки.
