- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •1. Методические указания по подготовке к лабораторной работе
- •1. 1. Структурная схема цифровой системы связи
- •1.6. Методы синхронизации и фазирования в цифровых системах связи
- •2. Порядок выполнения лабораторной работы
- •2.3. После набора контрольного слова необходимо нажать клавишу
- •16. Решить предыдущую задачу 15 при следующих условиях:
- •1. Методические указания по подготовке к лабораторной работе
- •1.1 Информация, сообщение, кодирование, сигнал
- •1.2. Информационные характеристики системы передачи сообщений
- •1.3. Эффективное кодирование дискретных сообщений
- •2. Порядок выполнения лабораторной работы
- •3. Порядок оформления и содержание отчета
- •4. Контрольные вопросы и задачи
- •3. Поясните определение "энтропия". Перечислите свойства энтропии.
- •1. Методические указания по подготовке к лабораторной работе
- •1.1. Принципы помехоустойчивого кодирования
- •1.4. Корректирующие коды Хемминга
- •3. Контрольные вопросы и задачи
- •1. Методические указания по подготовке к лабораторной работе
- •1.1. Классификация корректирующих кодов
- •1.3. Порождающие полиномы циклических кодов
- •1.4. Принципы формирования и обработки разрешенных кодовых комбинаций циклических кодов
- •1.5. Построение порождающих и проверочных матриц циклических кодов
- •1.6. Укороченные циклические коды
- •1.7. Циклические коды Боуза –Чоудхури –Хоквингема
- •1.8. Структурный состав линейных переключательных схем
- •1.10. Деление полиномов на базе лпс
- •1.11. Кодирующее и декодирующее устройства для кода Хемминга (7,4)
- •1.12. Принципы построения декодирующих устройств для циклических кодов с исправлением ошибок
- •2. Порядок выполнения лабораторной работы
- •3. Контрольные вопросы и задания
- •5. Харкевич а. А. Борьба с помехами. М.: Физматиздат, 1963. 276 с.
1.3. Порождающие полиномы циклических кодов
Формирование разрешенных кодовых комбинаций ЦК Bi (X) основа- но на предварительном выборе так называемого порождающего (обра- зующего) полинома G (X), который обладает важным отличительным
признаком: все комбинации Bi (X) делятся на порождающий полином
G (X) без остатка, т. е.
Bi ( X )
G ( X )
Ai ( X ) (при остатке
R( X ) 0),
(4.1)
где Аi(Х) — информативный полином (кодовая комбинация первично- го кода, преобразуемого в корректирующий ЦК).
Поскольку, как отмечалось выше, ЦК относятся к классу блочных разделимых кодов, у которых при общем числе символов n число ин- формационных символов в Аi(Х) равно k, то степень порождающего по-
линома определяет число проверочных символов r = n – k.
Из этого свойства следует сравнительно простой способ формирова- ния разрешенных кодовых комбинаций ЦК – умножение комбинаций информационного кода Аi(Х) на порождающий полином G (X):
Bi (X) = Ai (X) G (X). (4.2) В теории циклических кодов доказывается, что порождающими мо-
гут быть только такие полиномы, которые являются делителями дву-
члена (бинома) Xn + 1:
X n
1
G ( X )
H ( X ) (при остатке
R( X ) 0).
(4.3)
Возможные порождающие полиномы, найденные с помощью ЭВМ, сведены в обширные таблицы. Так, в [3] приведены таблицы G (X) с записью полиномов в восьмеричной системе счисления (mod 8). В этом случае весовые коэффициенты ki представляют три двоичных знака в
соответствии со следующим кодом:
0 – 000 2 – 010 4 – 100 6 – 110
1
(4.4)
Двоичные символы являются весовыми коэффициентами порожда- ющих полиномов, коэффициенты восьмеричной системы счисления расположены слева от них с учетом того, что 0 ki 7 (при mod 8). Например, 3425 обозначает многочлен 10-й степени, В двоичной за-
писи числу 3425 (mod 8) эквивалентно число 011100010101 и соот- ветствующий многочлен равен X10 + X9 + X8 + X4 + X2 + 1. Как видно из этого примера, восьмеричная система счисления для записи мно- гочленов выбрана, в частности, из соображений экономии длины за- писи (бумаги) в три раза при больших объемах табулированных зна- чений, что подчеркивает известный недостаток двоичной системы счисления.
Некоторые из порождающих полиномов приведены в табл. 4.1. Следует отметить, что с увеличением максимальной степени по-
рождающих полиномов r резко увеличивается их количество. Так, при r = 3 имеется всего два полинома, а при r = 10 их уже несколько десятков.
Первый порождающий полином минимальной степени r = 1, удов- летворяющий условию (4.3), формирует код с проверкой на четность при двух информативных символах и одном проверочном, обеспечива- ющем обнаружение однократной ошибки, поскольку минимальное ко- довое расстояние dmin= 2. В общем случае коэффициент избыточности
КПЧ минимален:
k r
1 ,
(4.5)
n n
а относительная скорость кода – максимальна и будет
Bk k n 1 ,
(4.6)
n n
В связи с этим КПЧ иногда называют быстрым кодом.
Второй порождающий полином степени r = 2, являющийся "партне- ром" первого G (X) = X + 1 при разложении бинома с n = 3, определяет код с повторением единственного информативного символа k = 1 ("0" или "1").
Таблица 4.1
r-степень полинома G (X) |
Порождающий полином G (X) |
Запись полинома по mod 2 |
Запись полинома по mod 8 |
n |
k |
Примечание |
1 |
X + 1 |
11 |
3 |
3 |
2 |
Код с проверкой на четность (КПЧ) |
2 |
X 2 + X + 1 |
111 |
7 |
3 |
1 |
Код с повторением |
3 |
X 3 + X 2 + 1 X 3 + X + 1 |
1101 |
13 15 |
7 7 |
4 4 |
Классический код Хемминга |
4 |
X 4 + X 3 + 1 X 4 + X + 1 X 4 + X 2 + X + 1 X 4 + X 3 + X 2 + 1 |
11001 10011 10111 11101 |
31 23 27 35 |
15 15 7 7 |
11 11 3 3 |
Классический код Хемминга Коды Файра–Абрамсона |
5 |
X 5 + X 2 + 1 X 5 + X 3 + 1 . . . |
100101 101001 |
45 51 |
31 31 |
26 26 |
Классический код Хемминга |
6 |
. . . X 6 + X 5 + X 4 + + X3 + X 2 +X1+1 . . . . . . |
1111111 |
177 |
7 |
1 |
Код с повторением |
Отметим, что ЦК принадлежат к классу линейных кодов, у которых кодовые комбинации "000 ... 00" и "111 ... 11" являются разрешенными.
У кода с повторением возможности обнаружения и исправления оши- бок безграничны, поскольку число повторений l определяет минималь- ное кодовое расстояние:
dmin = l. (4.7) В общем случае коэффициент избыточности кодов с повторением
кодовых комбинаций является максимально возможным:
k nl n
l 1
1 1 ,
nl l l
и при увеличении l приближается к 1, а скорость (4.6) – минимальна
Bk 1 k
1 .
l
(4.8)
Таким образом, коды с проверкой на четность и коды с повторением –
до некоторой степени антиподы. Первый код очень быстр (всего один
дополнительный символ), но зачастую "легкомыслен". Возможности вто- рого кода с повторением по исправлению ошибок теоретически безгра- ничны, но он крайне "медлителен" [4].
Следующие порождающие полиномы в табл. 4.1 со степенью r = 3 позволяют сформировать набор классических корректирующих кодов Хемминга (7, 4), которые исследовались студентами ранее при выполне- нии ЛР № 3 "Корректирующие коды". Коды Хемминга также принадле- жат к классу ЦК, однако при этом гpyппa проверочных символов кода получается сразу "в целом" при делении информативной кодовой груп- пы на порождающий полином, а не "поэлементно", как это показано в ЛР № 3, когда последовательное суммирование по модулю 2 соответству- ющих информативных символов давало очередной символ проверочной группы. Отметим, что два варианта порождающих полиномов кода Хем- минга (7,4), с записью по модулю 2 в виде 1101 и 1011, представляют собой так называемые двойственные многочлены (полиномы).
Двойственные многочлены определяются следующим образом: если задан полином в виде
2
+ … + h Xr,
r
h˜ ( X )
h0 X
r h1 X r1
... hr ,
(4.9)
т. е. весовые коэффициенты исходного полинома, зачитываемые слева направо, становятся весовыми коэффициентами двойственного поли- нома при считывании их справа налево. Говоря образно, набор весовых коэффициентов "вывертывается наизнанку".
Обратим внимание на то, что в полных таблицах порождающих ЦК
полиномов двойственные полиномы, как правило, не приводятся [3].
Наряду с тем, что порождающие полиномы кода Хемминга (7,4) явля- ются двойственными друг другу, они также являются неприводимыми.
Неприводимые полиномы не делятся ни на какой другой полином степени меньше r, поэтому их называют еще неразложимыми, просты- ми и примитивными.
Далее в табл. 4.1 при значениях r = 4 и 5 попадают следующие классические коды Хемминга (15, 11) и (31, 26). Порождающие их по- линомы также являются двойственными друг к другу и неприводимы- ми. Напомним, что к классическим кодам Хемминга относятся коды, у которых n = 2r – 1, a k = 2r – 1 – r, с минимальным кодовым расстояни-
ем dmin= 3, позволяющим исправлять однократные ошибки и обнаружи- вать двойные.
При значениях r = 4 в табл. 4.1 попадают двойственные порождаю- щие многочлены кода Абрамсона (7, 3), являющиеся частным случаем кодов Файра, порождающие полиномы для которых имеют вид
G (X) = p (X) (Xc + 1), (4.10)
где р (Х) – неприводимый полином.
Коды Абрамсона совпадают с кодами Файра, если положить с = 1. Число проверочных символов r = 4 определяет общее число символов в коде (значность кода), поскольку для этих кодов n = 2r–1 – 1. Эти коды исправляют все одиночные и смежные двойные ошибки ( т. е. серии длиной 2). Помещенные в табл. 4.1 коды Абрамсона (7,3) являются первы- ми циклическими кодами, исправляющими серийные ошибки (пакеты оши- бок). В этом применении ЦК оказываются особенно эффективными. Об- ратим внимание на то, что при с = 1 в (4.10) порождающими полинома- ми р (X) являются двойственные полиномы X 3 + X 2 + 1 и X 3 + X + 1, образующие код Хемминга (7, 4) при r = 3.
Серийные ошибки возникают в результате воздействия в канале пе- редачи сообщений помех импульсного характера, длительность кото- рых больше длительности одного символа. При этих условиях ошибки уже не независимы, а возникают пачками, общая длительность которых соответствует длительности помехи.
В заключение на основании данных табл. 4.1 приведем все возмож- ные порождающие полиномы для кодовых комбинаций с числом симво- лов n = 7.
В соответствии со свойством (4.3) порождающих полиномов G (X)
бином X 7 +1 раскладывается на три неприводимых полинома
X 7 + 1 = (X + 1) (X 3 + X 2 + 1) (X 3 + X + 1) =
G1 (X) G2 (X) G3 (X), (4.11)
каждый из которых является порождающим для следующих кодов:
G1 (X) = Х + 1 – код с проверкой на четность, КПЧ (7, 6);
G2 (X) = X 3 + X 2 + 1 – первый вариант кода Хемминга (7,4);
G3 (X) = X 3 + X + 1 – двойственный G˜2 X , второй вариант кода
Хемминга.
Кроме того, различные вариации произведений G1, 2, 3(X) дают воз- можность получить остальные порождающие полиномы:
3
+ X 2
+ 1) = X4
+ X 2
+ X + 1 –
код Абрамсона (7,3);
3
4 3 2
G5 (X) = G1 (X) G3 (X) = (X + 1) (X
+ X + 1) = X + X + X
+ 1 –
двойственный G4 (X);
G6 (X) = G2 (X) G3 (X) = (X 3 + X 2 + 1) (X 3 + X + 1) =
= X 6 + X 5 + X 4 + X 3 + X2 + X +1 – код с повторением (7,1). Таким образом, для постоянного заданного значения n все возмож-
ные порождающие полиномы ЦК размещаются между кодами с провер-
кой на четность (n, n – 1) (r = 1) и кодами с повторением (n, 1) (r = n – 1), которые правомерно и называют "кодами антиподами".
При выборе применяемых в системах связи корректирующих кодов необходимо позаботиться о том, чтобы, во-первых, избыточность кода была минимальной, т. е. относительная скорость кода или эффектив- ность кода была максимальной, а, во-вторых, техника кодирования и декодирования была по возможности проста.
