Global Informatics
Кодирование и декодирование циклическим кодом могут быть выполнены алгебраическими операциями (программный метод) либо в результате работы специально разработанных схем (схемный метод). При программном методе преобразование комбинаций, обнаружение и исправление ошибок производятся алгебраическими операциями над многочленами, для выполнения которых программируется вычислительная система устройств связи. Особенностью алгебраических действий в теории кодирования является замена операций сложения и вычитания одной - сложением по модулю два. При этом четное число одинаковых членов дает ноль, а нечетное - единицу.
Поскольку заданием предполагается выполнение только алгебраических операций без составления программы, назовем этот способ теоретическим. Теоретическое кодирование в свою очередь может быть выполнено двумя способами:
а) умножением k-элементной комбинации простого кода на образующий полином g(x) (в результате получают комбинацию неразделимого циклического кода);
б) умножением кодовой комбинации простого кода на одночлен хr и добавлением к этому произведению остатка от деления произведения хr Р(х) на g(x). В результате получают комбинацию разделимого циклического кода.
Неразделимость кода значительно усложняет процесс декодирования, поэтому на практике чаще используется второй способ построения кодовых комбинаций.
Одним из свойств циклического кода является деление разрешенной кодовой комбинации на образующий полином без остатка. Следовательно, появление остатка от деления говорит о наличии ошибки. В кодах, работающих в режиме исправления ошибок, вид остатка однозначно определяет порядковые номера ошибочных разрядов. Поэтому для декодирования предварительно следует составить таблицу синдромов ошибок (остатков от деления) для всех вариантов ошибочных разрядов. Повторение синдромов в этой таблице означает невозможность исправления, так как появляется неопределенность, и это соответствует режиму обнаружения ошибок.
Составим таблицу синдромов ошибок, приведенную в таблице 2.1, для всех вариантов ошибочных разрядов для разделимого кода из n = 11 элементов с исправлением однократной ошибки .
Таблица 2.1 - Таблица синдромов ошибок.
Ошибочный разряд |
Полином ошибки |
Синдром ошибки |
1 |
x10 |
x 3+x |
2 |
x9 |
x2+1 |
3 |
x8 |
x3+x2+x |
4 |
x7 |
x2+x+1 |
5 |
x6 |
x3+x2+x+1 |
6 |
x5 |
x3+x+1 |
7 |
x4 |
x3+1 |
8 |
x3 |
x3 |
9 |
x2 |
x2 |
10 |
x1 |
x1 |
11 |
x0 |
x0 |
Программное (теоретическое) кодирование
По заданию задан разделимый код, который следует составить для комбинации 0001111 по выбранному в предыдущем пункте образующему полиному. Из этого следует, что:
а) P(x)= x3+x2+x+1
б) g(x)= x4+ x3+1
Рассчитаем кодовую комбинацию неразделимого циклического кода умножением k-элементной комбинации простого кода на образующий полином g(x).
F(x)=x4( x3+x2+x1 +1)+остаток от (x4( x3+x2+x1+1)/ (x4+ x3+1))= x7+x6+x5+x4+x3+x
Отсюда следует, что кодовая комбинация 00011111010.
Программное (теоретическое) декодирование
Произведем теоретическое декодирование кодовой комбинации с пятым ошибочным элементом, путем деления ее полинома F(x)= x7+x6+x5+x4+x3+x на образующий полином g(x) = x4+x3 +1.
F(x)/ g(x) = (x7+x6+x5+x4+x3+x)/( x4+x3 +1) = x3+x2+1+( x3+x2+x+1)/( x4+x3 +1)
Статья в тему
Усилитель широкополосный
Основной целью данного курсового проекта является разработка широкополосного усилителя. В настоящее время такие усилители могут применяться в осциллографии, в исследованиях прохождения радиоволн в различных средах, в том числе прохождения различных длин волн в городских условиях.
В задачу входит ан ...