
- •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.6.4 Память путей и синхронизация
Требования к памяти декодера, работающего согласно алгоритму Витерби, растут с увеличением длины кодового ограничения как степенная функция. Для кода со степенью кодирования 1/n после каждого шага декодирования декодер держит в памяти набор из 2К-1 путей.
Рисунок 2.16. Операция сложения, сравнения и выбора при декодировании по алгоритму Витерби
С высокой степенью вероятности можно утверждать, что при значительном превышении существующей на данный момент глубины декодирования эти пути не будут взаимно непересекающимися . Все 2К-1 пути ведут к полной ветви, которая в конце концов разветвляется на разные состояния. Поэтому, если декодер сохраняет историю 2К-1 путей, самые первые биты на всех путях будут одинаковы. Следовательно, простой декодер имеет фиксированный объем истории путей и выдает самые ранние биты произвольного пути каждый раз, когда продвигается на один уровень вглубь решетки. Требуемый объем сохраняемых путей будет равен следующему :
Здесь h — длина истории пути информационного бита на состояние. При уточнении, которое проводится для минимизации h, вместо самых ранних битов произвольных путей на выходе декодера используются самые ранние биты наиболее вероятных путей. Было показано [6], что значения h, равного 4 или 5 длинам кодового ограничения, достаточно, чтобы характеристики декодера были близки к оптимальным. Необходимый объем памяти и является основным ограничением при разработке декодеров, работающих согласно алгоритму Витерби. В серийно выпускаемых декодерах длина кодового ограничения равна величине порядка К = 10. Попытка повысить эффективность кодирования за счет увеличения длины кодового ограничения вызывает экспоненциальный рост требований к памяти (и сложности).
Синхронизация кодовых слов ветвей — это процесс определения начала слова ветви в принятой последовательности. Такую синхронизацию можно осуществить, не прибавляя новую информацию к потоку передаваемых символов, поскольку можно видеть, что, пока принятые данные не синхронизированы, у них непомерно высокая частота появления ошибок. Следовательно, синхронизацию можно осуществить просто: нужно проводить сопутствующее наблюдение за уровнем частоты появления ошибок, т.е. нас должна интересовать частота, при которой увеличиваются метрики состояний, или частота, при которой сливаются выжившие пути на решетке. Параметр, за которым следят, сравнивается с пороговым значением, после чего соответствующим образом осуществляется синхронизация.
3 Разработка программного обеспечения системы кодирования сверточным кодом
3.1 Описание программы
Разрабатываемая программа представляет собой реализацию метода сверточного кодирования. Основные требования, предъявляемые к программе, сводятся к следующим:
Наглядность и понятность интерфейса, т.к. разрабатываемое ПО ориентировано на обычного пользователя ЭВМ;
Надёжность, т.е. полнота, точность, достоверность и своевременность получаемой результирующей информации.
Т.о. основной упор при разработке ПО был сделан на проектирование наглядного интерфейса, а, следовательно, все основные функции программы привязаны к элементам формы.
В качестве среды разработки было выбрано выпущенное компанией Borland средство быстрой разработки приложений, позволяющее создавать приложения на языке object pascal – Delphi 6. Обоснование такого выбора приведено в последующем пункте.
В ходе создания данного дипломного проекта был написан кодер и декодер. Описание алгоритмов их функционирования приведено ниже.