Лекция
Game: Perform tasks and rest cool.6 people play!
Play gameСразу хочу сказать, что здесь никакой воды про кодирование, и только нужная информация. Для того чтобы лучше понимать что такое кодирование, декодирование в цк , настоятельно рекомендую прочитать все из категории Теория информации и кодирования.
кодирование и декодирование в цк .
Для кодирования и декодирования используется регистр сдвига. Рассмотрим устройство, позволяющее автоматически кодировать и декодировать слова.
Построения кодера для кода Хэмминга (15.11): t=1, g(x)=x4+x+1.
Данная схема представляет собой устройство перемножения двух многочленов, один их которых g(x) реализован в виде связей в данном регистре сдвига. i(x) — информационное слово, которое поразрядно проталкивается на вход схемы. В данном кодере информационное слово i(x) 11-разрядное и к нему к младшим разрядам приписывается 4 “0”. За 15 тактов сдвига на выходе схемы появляется слово C(x), являющееся кодом слова i(x) и представляющее собой произведение i(x)*g(x). Достоинства: простота. Недостатки: несистематический код C(x).
Рассмотрим кодер систематического кода. g(x)=x4+x+1.
C(x)=i(x)*xr+R[(i(x)*xr)/g(x)]
Информационное слово i(x) одновременно поступает и в нижний регистр сдвига и в верхнее делительное устройство. За 15 тактов слово i проходит через нижний регистр и попадает на выходной канал старшими разрядами вперед. В это же время в делительном устройстве получается остаток от деления произведения (i(x)*xr)/g(x). После 15 тактов ключ в делителе размыкается, а выходной сигнал подключается к выходу делителя. Еще 4 такта и остаток из делительного устройства продвигается в выходной канал. Т.о., общий период времени кодирования 19 тактов.
Декодер в ЦК.
Декодирование в ЦК осуществляется на основе остатка от деления принятого слова на порождающий многочлен. На декодер попадает V(x)=C(x)+e(x), e(x) — вектор ошибки. Поделим на g(x): V(x)/g(x)=C(x)/g(x)+e(x)/g(x). R[V(x)/g(x)]=R[C(x)/g(x)+e(x)/g(x)]=R[C(x)/g(x)+]+R[e(x)/g(x)]=R[e(x)/g(x)] - Это выражение говорит о том, что остаток от деления на порождающий многочлен зависит только от многочлена ошибки e(x) и не зависит от кодового слова.
g(x)=x4+x+1
Структурная схема ДЕКОДЕРА (15.11)
Информационное слово V(x) поступает на вход регистра сдвига 2, где за 15 тактов полностью
Game: Perform tasks and rest cool.6 people play!
Play gameДекодер Меггита
Для больших длин кодов с высокой корректирующей способностью это достаточно сложно. В реальных декодерах используют декодер Меггита. Теоретической основой построения декодера Меггита является теорема Меггита, в которой говорится о том, что если принятое слово V(x) имеет остаток от деления R[V(x)/g(x)]=S, то если вычислить остаток от деления R[(x*V(x))/g(x)]=x*S(mod xn-1).
Пример: Код Хемминга (15, 11), g(x)=x4+x+1, e(x)=x14 — ошибка тока в старшем разряде.
Game: Perform tasks and rest cool.6 people play!
Play gameПосле 15 сдвигов в регистре сдвига заполняется V(x), а в делителе получается остаток, соответствующий ошибочному слову e(x). Об этом говорит сайт https://intellect.icu . Если ошибка в старшем разряде, то остаток будет иметь вид 1001 и на выходе схемы i сформируется 1.Тогда 15 разряд, суммируясь с этой 1 на 16 такте, будет инвертирован, т.е. исправлен. Следующие 14 тактов просто продвинув слово из регистра сдвига, поскольку с выхода ячейки i будет идти 0. Если ошибка не в 15, а в 14 разряде, то комбинация 1 и 0 в остатке не будет 1001; на 16 сдвиге 15 разряд просуммируется с 0, на 17 сдвиге — остаток в делителе сдвинется и примет значение 1001. На выходе схемы появится 1, которая просуммируется с 14 разрядов слова V(x), а оставшиеся 13 разрядов просто сдвинут на выход.
e(x)=001000000000000
№ |
Д1 |
Д2 |
Д3 |
Д4 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
3 |
1 |
0 |
0 |
0 |
4 |
0 |
1 |
0 |
0 |
5 |
0 |
0 |
1 |
0 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
1 |
0 |
0 |
8 |
0 |
1 |
1 |
0 |
9 |
0 |
0 |
1 |
1 |
10 |
1 |
1 |
0 |
1 |
11 |
1 |
0 |
1 |
0 |
12 |
0 |
1 |
0 |
1 |
13 |
1 |
1 |
1 |
0 |
14 |
0 |
1 |
1 |
1 |
15 |
1 |
1 |
1 |
1 |
16 |
1 |
0 |
1 |
1 |
17 |
1 |
0 |
0 |
1 |
Game: Perform tasks and rest cool.6 people play!
Play game|e(x)=000000000000100
e(x)=x12/ x4+x+1… R12= x3+x2+x+1(1111)
Примеры:
Код (7,4), g(x)=x3+x+1.
e(x)=1000000=x6/ x3+x+1…R7(x)=101
e(x)=0001000 — слово ошибки
№ |
Д1 |
Д2 |
Д3 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
4 |
1 |
0 |
0 |
5 |
0 |
1 |
0 |
6 |
0 |
0 |
1 |
7 |
1 |
1 |
0 |
8 |
0 |
1 |
1 |
9 |
1 |
1 |
1 |
10 |
1 |
0 |
1 |
Game: Perform tasks and rest cool.6 people play!
Play game|e(x)=0001000
Пожалуйста, пиши комментарии, если ты обнаружил что-то неправильное или если ты желаешь поделиться дополнительной информацией про кодирование Надеюсь, что теперь ты понял что такое кодирование, декодирование в цк и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Теория информации и кодирования
Из статьи мы узнали кратко, но содержательно про кодирование
Комментарии
Оставить комментарий
Теория информации и кодирования
Термины: Теория информации и кодирования