- •9.1. Прямое и обратное дискретное преобразование Фурье
- •9.2. Свойства дискретное преобразования Фурье.
- •9.3. Быстрое преобразование Фурье
- •9.4. Прореживание по времени.
- •9.5.Сокращение числа умножений.
- •9.6. Двоично-инверсионный порядок.
- •Инверсный 000 100 010 110 001 101 011 111
- •9.7. Прореживание по частоте.
- •16.1. Кодирование сигналов. Основные понятия и определения.
- •16.2. Основные типы арифметических кодов.
- •16.3. Эффективное кодирование
- •17.1. Помехоустойчивое кодирование
- •17.2. Основные принципы помехоустойчивого кодирования
- •17.3. Связь корректирующей способности кода с кодовым расстоянием
- •17.4. Построение кодов с заданной исправляющей способностью
- •Лекция 18. Кодирование информации систематическим кодом.
- •18.1. Систематические коды
- •В число исходных комбинаций не должна входить нулевая.
- •18.2. Код Хемминга
- •19.2. Полиноминальное представление циклических кодов.
- •19.3. Порождающий многочлен циклического кода
- •19.4. Разделимые и неразделимые циклические коды.
- •19.5. Матричное представление циклических кодов.
- •19.6.Выбор образующего полинома
- •20.1. Технические средства кодирования и декодирования циклических кодов
- •20.2. Перемножение и деление полиномов
- •20.3. Кодирующие устройства
- •Состояния ячеек схемы при делении
- •20.4. Кодирование с использованием проверочного полинома h(X)
- •20.5. Декодирующие устройства
- •Декодирование комбинации 1001011
- •20.6. Мажоритарное декодирование цикличных кодов
- •Процесс мажоритарного декодирования
19.6.Выбор образующего полинома
При построении циклического кода вначале определяется число информационых разрядов k по заданному объему алфавита источника. Затем находится наибольшая длина кодовых комбинаций n, обеспечивающая обнаружение или исправление ошибок заданной кратности. Эта проблема сводится к нахождению нужного образующего полинома g(x).
Степень образующего полинома должна быть равна числу проверочных разрядов . Опознавателями ошибок являются остатки от деления полинома принятой комбинации на образующий полином.
Для
построения циклического кода, исправляющего
однократные ошибки, необходимо, чтобы
каждой одиночной ошибке соответствовал
свой опознаватель, т.е. остаток от деления
полинома принятой комбинации на
образующий полином g(x).
Поскольку количество возможных
однократных ошибок равно n,
а неприводимый полином степени
может
дать
ненулевых остатков, то необходимым
условием исправления любой одиночной
ошибки является выполнение неравенства
n,
или
n+1
или
=n-k
log2(n+1).
Отсюда находится степень образующего
полинома и общая длина n
кодовой комбинации. Наибольшие значения
k и n для
различных
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
n |
1 |
3 |
7 |
15 |
31 |
63 |
127 |
255 |
511 |
1023 |
k |
0 |
1 |
4 |
11 |
26 |
57 |
120 |
247 |
502 |
1013 |
Лекция 20. Кодирование и декодирование циклических кодов.
План:
Технические средства кодирования и декодирования циклических кодов
Перемножение и деление полиномов
Кодирующие устройства
Кодирование с использованием проверочного полинома h(x)
Декодирующие устройства
Мажоритарное декодирование циклических кодов
20.1. Технические средства кодирования и декодирования циклических кодов
Основу кодирующих и декодирующих устройств циклических кодов составляют регистры сдвига с обратными связями, позволяющие осуществлять как умножение, так и деление многочленов с приведенными коэффициентами по модулю два (mod 2). Такие регистры также называются многотактными линейными переключательными схемами или линейными кодовыми фильтрами Хаффмена. Они состоят из ячеек памяти, сумматоров по mod2 и устройств умножения на коэффициенты многочленов множителя или делителя. В случае двоичных кодов для умножения на коэффициент, равный 1, требуется только наличие связи в схеме. Если коэффициент равен 0, то связь отсутствует. На вход устройств поступают только коэффициенты многочленов, причем начиная с коэффициента при переменной в старшей степени.
20.2. Перемножение и деление полиномов
Рассмотрим умножение полиномов, например, информационного полинома
и образующего полинома
.
Произведение этих полиномов равно:
Пусть, например,
,
,
тогда
,
а
.
Произведение полиномов:
Операция умножения полиномов может
быть выполнена схемами, приведенными
в общем виде на рис. 20.1 (а,б). Обратные
связи определяются видом образующего
полинома
.
Первоначально ячейки памяти схемы,
приведенной на рис. 2.3а находятся в
нулевом состоянии. На первом такте на
вход схемы поступает первый коэффициент
полинома
и на выходе появляется первый коэффициент
произведения, равный
.
На следующем такте на выход поступит
сумма
и т.д. На
-ом
такте все ячейки, кроме последней, будут
в нулевом состоянии и на выходе получим
последний коэффициент
.
В каждом такте необходимо учитывать
сигналы на входах и выходах схем сложения
по mod 2.
Аналогично работает схема умножения полиномов, приведенная на рис.20.1б.
Пример.
В качестве примера рассмотрим перемножение
полиномов
,
которому соответствует код 1101 и
,
которому соответствует код 1101.
или 1010001.
Для умножения используется схема, приведенная на рис. 20.2
Рис.20.2. Схема умножения полиномов и .
Для упрощения на схеме не показаны тактовые сигналы.
Процесс перемножения поясняется таблицей 1 состояния ячеек.
В исходном состоянии все ячейки схемы находятся в нулевом состоянии. В течение текущего такта из ячеек выталкивается записанный в предыдущем такте сигнал и записывается сигнал текущего такта. Коэффициенты полинома 1101, начиная со старшего, подаются на вход схемы.
В первом такте единица старшего разряда записывается в ячейку 1 и проходит на выход схемы, т. к. из ячеек 2 и 3 выталкиваются нули.
Состояния ячеек схемы при перемножении полиномов и
Таблица 1
№ такта |
Вход |
Состояния ячеек |
Выход |
||
1 |
2 |
3 |
|||
1 |
1 |
1 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
01 |
3 |
1 |
1 |
0 |
1 |
001 |
4 |
1 |
1 |
1 |
0 |
0001 |
5 |
0 |
0 |
1 |
1 |
10001 |
6 |
0 |
0 |
0 |
1 |
010001 |
7 |
0 |
0 |
0 |
0 |
1010001 |
Во втором такте 1 выталкивается из первой ячейки и записывается во вторую, а из второй и третей ячеек выталкиваются нули. Входной нулевой сигнал проходит через элементы сложения по mod2 на выход схемы и записывается в первую ячейку.
В третьем такте из ячеек 2 и 3 выталкиваются, соответственно 1 и 0, а входная 1 складывается по mod2 c 1 из второй ячейки, поэтому на выходе схемы будет 0. В третью ячейку записывается 1 из второй ячейки.
В четвертом такте из первой, второй и третьей ячеек выталкиваются, соответственно, 1, 0 и 1 и поскольку на вход поступает 1, то на выходе формируется 0. Входная 1 записывается в первую ячейку, 1 из первой ячейки записывается во вторую ячейку.
В последующие три такта на вход схемы ничего не поступает и информация из ячеек поступает на выход схемы.
В результате на седьмом такте на выходе схемы формируется кодовая комбинация 1010001.
Рассмотрим деление полиномов. В качестве
делимого возьмем полином
,
в качестве делителя выберем полином
.
Обратные связи регистра соответствуют
виду многочлена
.
Рассмотрим деление полиномов на примере.
Пусть
,
a
.
Частное от деления равно
(00011000), а остаток от деления
(101).
Деление полиномов осуществляется схемой, приведенной на рис. 20.3.
Рис.
20.3. Схема деления полиномов
на
Процесс деления поясняется таблицей 2 состояния ячеек схемы.
Состояния ячеек схемы при делении полиномов на
Таблица 2
№ такта |
Вход |
Состояния ячеек |
Выход |
|||
1 |
2 |
3 |
||||
1 |
1 |
1 |
0 |
0 |
0 |
|
2 |
1 |
1 |
1 |
0 |
00 |
|
3 |
1 |
1 |
1 |
1 |
000 |
|
4 |
0 |
1 |
0 |
1 |
1000 |
|
5 |
1 |
0 |
0 |
0 |
11000 |
|
6 |
1 |
1 |
0 |
0 |
011000 |
|
7 |
0 |
0 |
1 |
0 |
0011000 |
|
8 |
1 |
1 |
0 |
1 |
00011000 |
|
Остаток деления - это состояния ячеек схемы на -ом такте (8-ом такте).
