- •6 Охрана труда и окружающей среды 79 Введение
- •1 Постановка задачи
- •2 Анализ предметной области
- •2.2 Передача информации по каналам связи
- •2.3 Помехоустойчивые коды
- •2.3.1 Способы борьбы с ошибками
- •2.3.2 Коды обнаружения и исправления ошибок
- •2.4 Классификация конечных абстрактных автоматов
- •2.4.1 Автомат Мили
- •2.4.2 Автомат Мура
- •2.5 Сверточное кодирование
- •2.5.1 Представление сверточного кодера
- •2.5.2 Представление связи
- •2.5.3 Реакция кодера на импульсное возмущение
- •2.5.4 Полиномиальное представление
- •2.5.5 Представление состояния и диаграмма состояний
- •2.5.6 Древовидные диаграммы
- •2.5.7 Решетчатая диаграмма
- •2.6 Декодирование по методу максимального правдоподобия
- •2.6.1 Алгоритм сверточного декодирования Витерби
- •2.6.2 Пример сверточного декодирования Витерби
- •2.6.4 Память путей и синхронизация
- •3 Разработка программного обеспечения системы кодирования сверточным кодом
- •3.1 Описание программы
- •3.2 Описание блок схем алгоритмов программы
- •3.3 Обоснование выбора языка программирования
- •3.4 Тестирование программы
- •3.5 Быстродействие программы
- •5. Оценка экономической эффективности разработки и внедрения программного продукта
- •1 Расчет трудоемкости разработки пп
- •6 Охрана труда и окружающей среды
- •6 Канал (длинноволновый инфракрасный или тепловой):
- •7 Канал (средний, или коротковолновый инфракрасный):
- •8 Канал (панхроматический — 4,3,2):
- •Библиографический список
- •Приложение б (информационное)
- •Приложение в (справочное)
- •Эффективности разработки и внедрения программного продукта»
2.5.3 Реакция кодера на импульсное возмущение
Мы можем описать кодер через его импульсную характеристику, т.е. в виде отклика кодера на единичный проходящий бит. Рассмотрим содержимое регистра (рисунок 2.6) при прохождении через него двоичной единицы.
Последовательность на выходе при единице на входе называется откликом кодера на импульсное возмущение, или его импульсной характеристикой. Для входной последовательности m = 1 0 1 данные на выходе могут быть найдены путем суперпозиции или линейного сложения смещенных во времени входных "импульсов".
Следует отметить что эти данные на выходе такие же, как и на рис. 2.7, что указывает на линейность сверточных кодов — точно так же как и в блочных кодах. Название сверточный кодер (convolutional encoder) возникло именно вследствие этого свойства генерации данных на выходе с помощью линейного сложения (или свертки) смещенных во времени импульсов последовательности на входе с импульсной характеристикой кодера. Такие устройства часто описываются с помощью матричного генератора бесконечного порядка.
Отметим, что в рассмотренном выше примере входной последовательности из 3 бит и последовательности на выходе из 10 бит эффективная степень кодирования составляет k/n = 3/10, что значительно меньше величины 1/2, которую можно было бы ожидать, зная, что каждый бит данных на входе порождает пару канальных битов на выходе. Причина этого заключается в том, что финальные биты данных нужно провести через кодер. Все канальные биты на выходе требуются в процессе декодирования. Если бы сообщение было длиннее, скажем 300 бит, последовательность кодовых слов на выходе содержала бы 640 бит и значение для степени кодирования кода 300/640 было бы значительно ближе к 1/2.
2.5.4 Полиномиальное представление
Иногда связи кодера описываются с помощью полиномиального генератора для описания реализации обратной связи регистра сдвига циклических кодов. Сверточный кодер можно представить в виде набора из n полиномиальных генераторов, по одному для каждого из n сумматоров по модулю 2. Каждый полином имеет порядок K - 1 или меньше и описывает связь кодирующего регистра сдвига с соответствующим сумматором по модулю 2, почти так же как и вектор связи. Коэффициенты возле каждого слагаемого полинома порядка (К - 1) равны либо 1, либо 0, в зависимости от того, имеется ли связь между регистром сдвига и сумматором по модулю 2. Для кодера на рис 2.6 можно записать полиномиальный генератор для верхних связей и - для нижних.
Здесь слагаемое самого нижнего порядка в полиноме соответствует входному разряду регистра. Выходная последовательность находится следующим образом:
чередуется с
Прежде всего, выразим вектор сообщения m = 1 0 1 в виде полинома, т.е. . Для очистки регистра мы снова будем предполагать использование нулей, следующих за битами сообщения. Тогда выходящий полином U(X), или выходящая последовательность U кодера (рис. 2.6) для входного сообщения m может быть найдена следующим образом:
В этом примере мы начали обсуждение с того, что сверточный кодер можно трактовать как набор регистров сдвига циклического кода. Мы представили кодер в виде полиномиальных генераторов, с помощью которых описываются циклические коды. Однако мы пришли к той же последовательности на выходе, что и на рис. 2.7, и к той же, что и в предыдущем разделе, полученной при описании реакции на импульсное возмущение.