Разработка программного имитатора цифрового канала связи с применением помехоустойчивого кодирования
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?сунке 6.
Далее ФНЧ, стоящим после демодулятора отфильтровываются высокие частоты, а полученный сигнал оцифровывается. Принятие решения о цифровом значении сигнала, полученного после демодуляции, осуществляется путём сравнения элементов выборки демодулированного сигнала с некоторым пороговым значением.
Для фильтрации реализован цифровой фильтр, определяющийся следующим уравнением
, (5)
где - отсчёты отфильтрованного сигнала, - отсчёты нефильтрованного сигнала, - период дискретизации, а , где - постоянная времени фильтра.
Для демодуляции ЧМ принятый полосовой сигнал сначала преобразуется в АМ сигнал, а затем осуществляется АМ демодуляция. Для преобразования в АМ сигнал ЧМ сигнал пропускается через фильтр нижних частот, чтобы подавить более высокую частоту из двух частот присутствующих в ЧМ. В случае, когда большей частотой модулировался единичный бит после детектирования необходимо инвертировать оцифрованный сигнал.
1.2.7Декодирование
Декодирование - это процесс, обратный помехоустойчивому кодированию.
Декодирование кода Хэмминга для исправления одиночных ошибок осуществляется аналогично тому, как получаются контрольные биты. Номера позиций единичных бит в закодированном байте суммируются по модулю два, полученное число указывает на номер ошибки в байте. Если имели место многократные ошибки, то декодирование может привнести в код дополнительные ошибки. В случае отсутствия ошибки после суммирования получается ноль.
Для декодирования циклического кода полученный байт делится по модулю два на порождающий полином. Полученный остаток ищется в таблице ошибок для данного полинома. Таблица ошибок составляется занесением в таблицу остатков от деления полиномов от до на порождающий полином, где - номер разряда, в котором произошла ошибка. В случае отсутствия ошибок, остаток равен нулю. При многократных ошибках декодирование может привнести в код дополнительные ошибки.
Код проверки чётности позволяет лишь проверить, не присутствует ли в байте нечётное количество ошибок. При декодировании все биты вместе с контрольным битом суммируются по модулю два, если результат отличен от нуля, то в байте присутствует нечётное количество ошибок.
При всех видах декодирования после обнаружения и исправления ошибок контрольные биты удаляются из байта.
1.2.8Цифро-аналоговое преобразование
Цифро-аналоговое преобразование позволяет преобразовать цифровой код в аналоговый сигнал. Полученные после декодирования байты представляют собой номер уровня квантования. Цифро-аналоговый преобразователь, в соответствии с динамическим диапазоном выдаёт на выход значение аналогового напряжения для данного дискрета. Значение берется посередине интервала для данного уровня. Полученный дискретизированный сигнал подаётся на ФНЧ (цифровой фильтр, соответствующий формуле (5)), стоящий после АЦП. После фильтра получается восстановленный сигнал.
1.3Разработка структуры программного обеспечения
Так как программное обеспечение осуществляет имитацию работы передающего интерфейса, то и структура ПО содержит структурные элементы самого канала связи, вспомогательные элементы, элементы интерфейса пользователя. Структурная схема ПО представлена на рисунке 7.
Основной модуль является главным в структуре программного имитатора. Модуль обрабатывает осведомительные сигналы и данные от одних модулей, вырабатывает управляющие сигналы для других модулей и руководит работой программного комплекса в целом.
Блок интерфейса пользователя организует диалог пользователя с ПО. В зависимости от действий пользователя блок передает осведомительные сигналы основному модулю, а в зависимости от управляющих сигналов от основного модуля, вывод конкретную информацию пользователю. Блок интерфейса пользователя осуществляет контроль над действиями пользователя, контролируя вводимую пользователем информацию.
Блок моделирования работы ПЧИ предназначен для моделирования работы ПЧИ на основе данных, введенных пользователем. Работа блоков моделирования основана на приведенных в разделе 1.2 принципах работы блоков интерфейса.
Вспомогательные модули необходимы для организации процесса работы с ПО. Они служат, в основном, для разграничения работы с ПО для разных пользователей. Аутентификация необходима для установления подлинности пользователя, начавшего работу с системой. Авторизация необходима для предоставления аутентифицированному пользователю прав на выполнение определённых действий в системе. Сохранение и загрузка параметров, сохранение результатов работы, протоколирование необходимы для оценки работы с системой. Загрузка параметров может понадобиться для приведения системы в установленное ранее состояние.
Модуль настройки окружения осуществляет настройки программного обеспечения при первом его запуске. Осуществляется выбор места хранения данных пользователей и установка привилегированного пароля.
При аутентификации происходит сравнение полученных идентификаторов с хранящейся в системе информацией. Эта информация формируется на основе полученных идентификаторов, используя . - это односторонний алгоритм хеширования, предназначенный для создания 32-разрядных контрольных сумм. Восстановление данных по строке возможно только методом перебора. Для затруднения взлома применяется алгоритм усложнения пароля - накладывание соли. Д?/p>