
- •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.4 Классификация конечных абстрактных автоматов
Абстрактный автомат (в теории алгоритмов) — математическая абстракция, модель дискретного устройства, имеющего один вход, один выход и в каждый момент времени находящегося в одном состоянии из множества возможных. На вход этому устройству поступают символы одного языка, на выходе оно выдаёт символы (в общем случае) другого языка. По способу формирования функций выходов выделяют автоматы Мили и Мура.
2.4.1 Автомат Мили
Автомат Мили (англ. Mealy machine) - конечный автомат, выходная последовательность которого (в отличие от автомата Мура) зависит от состояния и входной последовательности [5].
Математическая модель автомата состоит из совокупность пяти объектов:
где:
и
- конечные непустые множества, а
и
- отображения
вида:
и
со связью элементов множеств S, X и Y в абстрактном времени T = {0, 1, 2, …} уравнениями:
(Отображения и получили названия, соответственно функции переходов и функции выходов автомата A).
Особенностью автомата Мили (см. Рисунок 2.2) является то, что функция выходов является двухаргументной и символ в выходном канале y(t) обнаруживается только при наличии символа во входном канале x(t).
Рисунок 2.2 - Функциональная схема автомата Мили
2.4.2 Автомат Мура
Зависимость выходного сигнала только от состояния представлена в автоматах типа Мура (англ. Moore machine). В автомате Мура функция выходов определяет значение выходного символа только по одному аргументу — состоянию автомата. Эту функцию называют также функцией меток, так как она каждому состоянию автомата ставит метку на выходе.
Конечным детерминированным автоматом типа Мура называется совокупность пяти объектов:
где , и — соответствуют определению автомата типа Мили, а является отображением вида: .
с зависимостью состояний и выходных сигналов во времени уравнением:
Особенностью автомата Мура является то, что символ y(t) в выходном канале существует все время, пока автомат находится в состоянии s(t).
Для любого автомата Мура существует автомат Мили, реализующий туже самую функцию. И наоборот: для любого автомата Мили существует соответствующий автомат Мура (см. рисунок 2.3).
Рисунок 2.3 - Функциональная схема автомата Мура
2.5 Сверточное кодирование
Типичная функциональная схема системы цифровой связи использующая сверточное кодирование/декодирование и модуляцию/демодуляцию, показана на рисунке 2.4. Исходное сообщение на входе обозначается последовательностью где , - двоичный знак (бит), a i - индекс времени. Если быть точным, то элементы m следовало бы дополнять индексом члена класса (например, для бинарного кода, 1 или 0) и индексом времени. В дальнейшем для простоты будем использовать только индекс, обозначающий время (или расположение элемента внутри последовательности). Будем предполагать, что все , равновероятно равны единице или нулю и независимы между собой. Будучи независимой, последовательность битов нуждается в некоторой избыточности, т.е. знание о бите , не дает никакой информации о бите , (при ). Кодер преобразует каждую последовательность m в уникальную последовательность кодовых слов . Даже несмотря на то что последовательность m однозначно определяет последовательность U, ключевой особенностью сверточных кодов является то, что данный k-кортеж внутри m не однозначно определяет связанные с ним n-кортежи внутри U, поскольку кодирование каждого из k-кортежей является функцией не только k-кортежей, но и предыдущих К-1 k- кортежей. Последовательность U можно разделить на последовательность кодовых слов: . Каждое кодовое слово U, состоит из двоичных кодовых символов, часто называемых канальными символами, канальными битами, или битами кода; в отличие от битов входного сообщения, кодовые символы не являются независимыми.
В типичных системах связи последовательность кодовых слов U модулируется сигналом . В ходе передачи сигнал искажается шумом, в результате чего, как показано на рисунке 2.4, получается сигнал и демодулированная последовательность Задача декодера состоит в получении оценки исходной последовательности сообщения с помощью полученной последовательности Z и априорных знаний о процедуре кодирования.
Рисунок 2.4 - Кодирование/декодирование и модуляция/демодуляция в канале связи
Обычный сверточный кодер, показанный на рисунке 2.5, реализуется с kK-разрядным регистром сдвига и n сумматорами по модулю 2, где K — длина кодового ограничения. Длина кодового ограничения — это количество k-битовых сдвигов, после которых один информационный бит может повлиять на выходной сигнал кодера. В каждый момент времени на место первых k разрядов регистра перемещаются k новых бит; все биты в регистре смещаются на k разрядов вправо, и выходные данные n сумматоров последовательно дискретизируются, давая, в результате, биты кода. Затем эти символы кода используются модулятором для формирования сигналов, которые будут переданы по каналу. Поскольку для каждой входной группы из к бит сообщения имеется n бит кода, степень кодирования равна k/n бит сообщения на бит кода, где k < n.
Рисунок 2.5 - Сверточный кодер с длиной кодового ограничения K и степенью кодирования k/n
Рассмотрим только наиболее часто используемые двоичные сверточные кодеры, для которых k - 1, т.е. те кодирующие устройства, в которых биты сообщения сдвигаются по одному биту за раз, хотя обобщение на алфавиты более высоких порядков не вызывает никаких затруднений [6]. Для кодера с k = 1, за i-й момент времени бит сообщения , будет перемещен на место первого разряда регистра сдвига; все предыдущие биты в регистре будут смещены на один разряд вправо, а выходной сигнал n сумматоров будет последовательно оцифрован и передан. Поскольку для каждого бита сообщения имеется n бит кода, степень кодирования равна 1/n. Имеющиеся в момент времени , n кодовых символов составляют i-е кодовое слово ветви, где (j - 1, 2, ..., n) — это j-й кодовый символ, принадлежащий i-му кодовому слову ветви. Отметим, что для кодера со степенью кодирования 1/n, kK-разрядный регистр сдвига для простоты можно называть K-разрядным регистром, а длину кодового ограничения K, которая выражается в единицах разрядов k-кортежей, можно именовать длиной кодового ограничения в битах.