Структурная схема декодирующего устройства циклического кода (9,5), обеспечивающего исправление однократной ошибки в принятой кодовой комбинации Н(х)
Схема декодирующего регистра декодера строится аналогично предыдущему случаю и осуществляет операцию деления Н(х) на порождающий многочлен Р(х) (рис.4). Как отмечалось ранее, в триггерах декодирующего регистра декодера на 9м такте оказывается записанной в обратном порядке кодовая комбинация – синдром ошибки S(х).
Если ошибка имела место в 1м разряде принятой кодовой комбинации, то после 10го такта в ячейках регистра Т1¸Т4 будет записана “особая” кодовая комбинация 1010. При ошибке во втором разряде комбинации Н(х) “особая” кодовая комбинация будет сформирована после одиннадцатого такта. Соответственно, при ошибке в 3м разряде принятой кодовой комбинации Н(х) “особая” кодовая комбинация будет сформирована уже после двенадцатого такта. И так далее, вплоть до четырнадцатого такта, включительно. При этом следует помнить, что такты с 10го по14ый являются “быстрыми”.
Сигналы с выходов триггеров Т1¸Т4 поступают на вход дешифратора “особой” кодовой комбинации 1010, с выхода которого, после замыкания ключа К, сигнал поступает на второй вход сумматора С3 по mod2. Этот сигнал равен 0, если на входе дешифратора кодовая комбинация отлична от “особой” (1010), и- равен 1, если эта комбинация совпадает с “особой”.
При поступлении на сумматор С3 сигнала 1 с выхода дешифратора “особой” кодовой комбинации, на другой вход сумматора С3 из буферного регистра будет поступать ошибочный разряд принятой кодовой комбинации Н(х), который инвертируется. В итоге, однократная ошибка в принятой кодовой комбинации Н(х) исправляется, и информационная кодовая комбинация G(х) – первые пять разрядов Н(х), с учетом исправления, направляется потребителю информации.
В табл.7, 8 и 9 показано состояние триггеров декодирующего регистра сдвига в декодере циклического кода, исправляющего однократную ошибку. В качестве примера приведена кодовая комбинация циклического кода F(х)=101101111, причем табл.7 относится к случаю, когда ошибка имела место в 3м разряде, а табл.8 – к случаю, когда ошибка была в 3м и 4м разрядах принятой кодовой комбинации Н(х).
H(x)= 100101111; E(x)= 001000000 Таблица 7
Такты(1-9) и “быстрые” такты (10-14) | Информация на входе декодера Н(х) | Состояние триггеров декодирующего регистра | Информация на Информация на выходе дешиф- выходе декодера ратора “особой” код. комбинации после 9-го такта | ||||
Т1 | Т2 | Т3 | Т4 | ||||
0 | |||||||
– | |||||||
– | |||||||
– | 0 | ||||||
– | |||||||
– |
В итоге, как следует из табл.7, декодер исправляет однократную ошибку, имевшую место в 3м разряде принятой кодовой комбинации H(x), и направляет потребителю информационную кодовую комбинацию G(x) (первые пять разрядов H(x), с учетом исправлений).
H(x)= 100001111; E(x)= 001100000 Таблица 8
Такты(1-9) и “быстрые” такты (10-14) | Информация на входе декодера Н(х) | Состояние триггеров декодирующего регистра | Информация на Информация на выходе дешиф- выходе декодера ратора “особой” код. комбинации после 9-го такта | ||||
Т1 | Т2 | Т3 | Т4 | ||||
0 | |||||||
– | |||||||
– | |||||||
– | |||||||
– | |||||||
– |
Рассмотрение данных, представленных в табл.8, показывает, что декодер циклического кода (9,5), не в состоянии исправить двукратную ошибку в принятой кодовой комбинации H(x), т.е. работа декодера в этом случае абсолютно неэффективна. Возможны также ситуации, когда декодер осуществляет ложные исправления при поступлении на его вход кодовой комбинации H(x) с двукратной ошибкой (см. табл.9) или с ошибками более высокой кратности.
H(x)= 001001111; E(x)= 100100000 Таблица 9
Такты(1-9) и “быстрые” такты (10-14) | Информация на входе декодера Н(х) | Состояние триггеров декодирующего регистра | Информация на Информация на Выходе дешиф- выходе декодера ратора “особой” код. комбинации после 9-го такта | ||||
Т1 | Т2 | Т3 | Т4 | ||||
1 | |||||||
– | |||||||
– | |||||||
– | |||||||
– | |||||||
– | 0 |
Анализируя данные, представленные в табл.9, нетрудно заметить, что в рассматриваемом случае, при двукратной ошибке в принятой кодовой комбинации H(x), декодер не только не исправляет эту ошибку , но и производит ложное исправление, в результате чего на выход поступает кодовая комбинация с трехкратной ошибкой.
В заключение необходимо отметить, что рассмотренные в данной методической разработке случаи обнаружения и исправления ошибок декодером циклического кода (9,5) не исчерпывают всего многообразия ситуаций, имеющих место на практике. Очевидно, что ошибки могут возникать не только в информационных, но и в проверочных разрядах принятой кодовой комбинации Н(х), а также – в тех и других разрядах, одновременно. И хотя избыточные элементы, то есть поверочные разряды кодовой комбинации Н(х), потребителю не передаются, ошибки в них могут влиять на качество работы декодера как в режиме обнаружения, так и исправления ошибок. При этом, наряду с правильными решениями, принимаемыми декодером, возможны решения неверные: когда ошибки в информационных разрядах кодовой комбинации Н(х) не будут обнаружены или когда из-за ошибок в проверочных разрядах безошибочно принятые информационные разряды не будут выданы потребителю либо же в них дополнительно будут внесены ложные исправления.
Конкретное решение декодера циклического кода (9,5) всецело зависит от того, какова кратность ошибок в принятой кодовой комбинации Н(х) и как они распределены в ней между информационными и проверочными разрядами.