Разработка программного имитатора цифрового канала связи с применением помехоустойчивого кодирования
Изучение работы цифрового интерфейса, способ осуществления помехоустойчивого кодирования. Выбор среды программирования. Разработка структуры программного обеспечения и методики его тестирования. Создание алгоритмов работы имитатора цифрового канала связи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.09.2011 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
РЕФЕРАТ
Пояснительная записка состоит из 130 страниц, включает в себя 35 рисунков, 7 таблиц, 1 приложение. При работе были использованы 14 источников.
АНАЛОГО-ЦИФРОВОЕ ПРЕОБРАЗОВАНИЕ, КОДИРОВАНИЕ, ПОМЕХОУСТОЙЧИВОСТЬ, ИНТЕРФЕЙС, МОДУЛЯЦИЯ, КАНАЛ СВЯЗИ, ДЕТЕКТИРОВАНИЕ, ДЕКОДИРОВАНИЕ, ЦИФРО-АНАЛОГОВОЕ ПРЕОБРАЗОВАНИЕ, АУТЕНТИФИКАЦИЯ, АВТОРИЗАЦИЯ, МОДЕЛИРОВАНИЕ, ПРОГРАММИРОВАНИЕ.
Цель работы - разработка программного пакета, позволяющего имитировать работу цифрового канала связи, задавать различные параметры и снимать характеристики.
В результате выполнения работы сформулированы требования к программному обеспечению, изучены теоретические материалы по работе цифрового интерфейса, помехоустойчивому кодированию, выбрана среда программирования, разработаны структура программного обеспечения и алгоритмы работы имитатора, создан интерфейс для отображения результатов работы и взаимодействия с пользователем, разработаны методика работы с программным обеспечением и методика отладки и тестирования программного обеспечения.
СОДЕРЖАНИЕ
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
ВВЕДЕНИЕ
1. РАСЧЁТНО-ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
1.1 АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ
1.2 ОПИСАНИЕ ПРИНЦИПОВ РАБОТЫ БЛОКОВ ИНТЕРФЕЙСА
1.2.1 ФОРМАТИРОВАНИЕ
1.2.2 ДИСКРЕТИЗАЦИЯ
1.2.3 КВАНТОВАНИЕ ПО УРОВНЮ И КОДИРОВАНИЕ
1.2.4 ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ
1.2.5 МОДУЛЯЦИЯ
1.2.6 ДЕТЕКТИРОВАНИЕ
1.2.7 ДЕКОДИРОВАНИЕ
1.2.8 ЦИФРО-АНАЛОГОВОЕ ПРЕОБРАЗОВАНИЕ
1.3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
1.4 РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
1.5 ДИАГРАММА ПРЕЦЕДЕНТОВ
1.6 РАЗРАБОТКА ГРАФИЧЕСКОЙ ОБОЛОЧКИ
1.7 РАЗРАБОТКА МЕТОДИКИ РАБОТЫ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ
1.7.1 УСТАНОВКА И УДАЛЕНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
1.7.2 РАБОТА С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ
1.8 ПРИМЕРЫ РАБОТЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИМИТАТОРА
2. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ
2.1 ИНФОРМАЦИОННЫЙ ПОИСК
2.2 ВЫБОР И ОБОСНОВАНИЕ ВИДА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
2.3 ВЫБОР И ОБОСНОВАНИЕ СРЕДЫ ПРОГРАММИРОВАНИЯ
2.4 РАЗРАБОТКА МЕТОДИКИ ОТЛАДКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ РАЗРАБОТКЕ И В ПРОЦЕССЕ ЭКСПЛУАТАЦИИ
3. ТЕХНИКО-ЭКОНОМИЧЕСКИЙ РАЗДЕЛ
3.1 РАСЧЁТ ЗАТРАТ НА МАТЕРИАЛЫ И КОМПЛЕКТУЮЩИЕ ИЗДЕЛИЯ
3.2 РАСЧЁТ ЗАРАБОТНОЙ ПЛАТЫ НА СОЗДАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3.2.1 РАСЧЁТ ОБЩЕЙ ТРУДОЁМКОСТИ
3.3 РАСЧЁТ ЕДИНОГО СОЦИАЛЬНОГО НАЛОГА
3.4 РАСЧЁТ НАКЛАДНЫХ РАСХОДОВ
3.5 РАСЧЁТ ЗАТРАТ НА СОДЕРЖАНИЕ И ЭКСПЛУАТАЦИЮ ВЫЧИСЛИТЕЛЬНЫХ СРЕДСТВ
4. РАЗДЕЛ ОХРАНЫ ТРУДА, ОКРУЖАЮЩЕЙ СРЕДЫ И БЖД
4.1 АНАЛИЗ ОПАСНЫХ И ВРЕДНЫХ ПРОИЗВОДСТВЕННЫХ ФАКТОРОВ ПРИ РАБОТЕ НА ЭВМ
4.2 МЕРОПРИЯТИЯ ПО НОРМИРОВАНИЮ ОПАСНЫХ И ВРЕДНЫХ ПРОИЗВОДСТВЕННЫХ ФАКТОРОВ
4.3 РАСЧЁТ ВЕНТИЛЯЦИИ
4.3.1 РАСЧЁТ ВОЗДУХООБМЕНА
4.3.2 РАСЧЁТ ГИДРАВЛИЧЕСКОГО СОПРОТИВЛЕНИЯ ВЕНТИЛЯЦИОННОЙ СЕТИ
4.3.3 ВЫБОР ВЕНТИЛЯТОРА И ЭЛЕКТРОДВИГАТЕЛЯ
4.4 ПОЖАРНАЯ ПРОФИЛАКТИКА
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
API - application programming interface
IEC - international electro technical commission
ISO - international organization for standardization
MD5 - message digest 5
V&V - verification and validation
АМ - амплитудная модуляция
АЦП - аналого-цифровой преобразователь
БИС - большая интегральная схема
ВЦ - вычислительный центр
ГПИ - графический пользовательский интерфейс
ЕСН - единый социальный налог
ЖЦ - жизненный цикл
КПД - коэффициент полезного действия
МЗР - младший значащий разряд
ОВПФ - опасные и вредные производственные факторы
ПО - программное обеспечение
ПС - программная система
ПЭВМ - персональная электронная вычислительная машина
СЗР - старший значащий разряд
ТПИ - текстовый пользовательский интерфейс
ФНЧ - фильтр нижних частот
ЦАП - цифро-аналоговый преобразователь
ЧМ - частотная модуляция
ЭВМ - электронная вычислительная машина
ЭЛТ - электронно-лучевая трубка
ЭМП - электромагнитные поля
ВВЕДЕНИЕ
Назначением системы связи является передача сообщения из одной точки в другую через канал связи, обладающий определенными свойствами. Для решения этой задачи приходится осуществлять целый ряд преобразований.
В дипломном проекте рассматривается передача сигналов через цифровой канал связи с применением помехоустойчивого кодирования. Для передачи по цифровому каналу связи, прежде всего, исходный сигнал подвергается форматированию, цель которого - преобразование аналогового сигнала в цифровой. Следующий этап - помехоустойчивое кодирование. Здесь в сигнал вносится избыточность с целью обеспечить возможность исправления на приемной стороне всех или некоторых возникших в процессе передачи ошибок. После применения помехоустойчивого кода сообщение поступает в модулятор, преобразующий цифровое сообщение в модулированный сигнал, который передаётся в канал связи. В канале связи на сигнал воздействует аддитивная помеха. Детектор осуществляет детектирование сигнала, принятого из канала связи. Детектированные цифровые данные, для исправления возникших в процессе передачи ошибок, обрабатываются декодером. Полученные цифровые данные преобразуются обратно в аналоговый сигнал.
Целью дипломного проекта является разработка программного имитатора цифрового канала связи с применением помехоустойчивого кодирования.
Для достижения поставленной цели необходимо решить следующие задачи:
· формирование требования к программному обеспечению;
· изучение теоретических материалов по работе цифрового интерфейса, помехоустойчивому кодированию;
· выбор среды программирования;
· разработка структуры и алгоритма работы ПО
· создание интерфейса для отображения результатов работы и взаимодействия с пользователем.
1. РАСЧЁТНО-ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
1.1 Анализ технического задания
Согласно техническому заданию на дипломный проект, требуется реализовать программный имитатор цифрового канала связи с применением помехоустойчивого кодирования. Структурная схема ПЧИ изображена на рисунке 1.
Рисунок 1. - Структурная схема ПЧИ
Источник аналогового сигнала представляет собой генератор аналоговых периодических сигналов трех видов: прямоугольный, гармонический и треугольный. Параметры сигналов - амплитуда и частота. Для прямоугольного сигнала доступен ещё один параметр - скважность.
Источник некодированного сообщения представляет собой АЦП набора стандартных сигналов с генератора. Основные параметры АЦП это число бит на число (разрядность) и частота дискретизации. Объем сообщения (число дискретов) ограничен и задаётся пользователем. Динамический диапазон зависит от максимального и минимального значения сигнала.
Кодер получает с АЦП первичный код и кодирует его в соответствии с заданным алгоритмом помехоустойчивого кодирования. Этих алгоритмов предусмотрено три: проверка на четность, код Хэмминга для исправления однократных ошибок и циклический код для исправления однократных ошибок. Для циклического кода возможна установка задающего полинома. Также предусматривается отсутствие помехоустойчивого кодирования.
Модулятор осуществляет модуляцию битов кода, полученного с кодера. Возможны два вида модуляции: амплитудная и частотная. Так же возможна передача в канал связи немодулированного, потенциального кода. При амплитудной модуляции возможно установка двух параметров: несущей частоты и амплитуды. При частотной модуляции - трёх: частоты колебания модулирующего ноль, частоты колебания моделирующего единицу и амплитуды этих колебаний. Для передачи сигнала в канал связи потенциального кода возможна установка только амплитуды.
Канал связи представляет собой канал передачи данных с источником аддитивных помех. Скорость поступления данных сообщения в канал связи задается пользователем.
Аддитивная помеха представляет собой Гауссовский белый шум с двумя параметрами: математическое ожидание и дисперсия.
Усилитель-детектор осуществляет детектирование и усиление модулированного сигнала, поступившего из канала связи. Возможно задание коэффициента усиления и уровня детектирования модулированного сигнала. Для фильтра нижних частот [1], стоящего после детектора возможна установка частоты среза. При отсутствии ошибок код, полученный после детектирования, эквивалентен коду после помехоустойчивого кодирования.
Декодер осуществляет декодирование детектированного сигнала, в соответствии с алгоритмом помехоустойчивого кодирования. При отсутствии ошибок код, полученный после декодирования, эквивалентен коду после аналого-цифрового преобразования.
Код, полученный после декодера, поступает на цифро-аналоговый преобразователь, который преобразует получаемый код в соответствующий уровень аналогового напряжения. Параметры цифро-аналогового преобразования соответствуют параметрам АЦП. Для фильтра нижних частот, стоящего после ЦАП, возможна установка частоты среза.
Все обозначенные выше параметры должны задаваться пользователем. Для контроля работы имитатора необходимо отображать получаемые после каждого модуля результаты. Для источника сигнала можно отображать заданный сигнал, а также его спектр. Для АЦП можно отобразить дискретизированный сигнал, а также код, полученный после оцифровывания. Помехоустойчивый кодер выдаёт цифровой код, который также можно отобразить. Модулятор передаёт в канал связи с помехами модулированный сигнал, необходимо отобразить сигнал и воздействующие помехи. Для детектора можно отобразить вид детектированного сигнала, и соответствующий этому сигналу код. После декодирования получается исходный код, соответствующий оцифрованному исходному сигналу. Из-за возможности возникновения ошибок, этот код может отличать от кода после АЦП, поэтому его также необходимо отобразить. Для ЦАП можно отобразить восстановленный после декодирования сигнал.
Кроме моделирования работы самого интерфейса и отображения результатов работы необходимо предусмотреть протоколирование результатов, сбор статистики и аутентификацию пользователей.
1.2 Описание принципов работы блоков интерфейса
1.2.1 Форматирование
Задачей первого необходимого этапа обработки сигнала, форматирования, является обеспечение совместимости сообщения (или исходного сигнала) со средствами цифровой обработки. Форматирование с целью передачи - это преобразование исходной информации в цифровые символы. Если помимо форматирования применяется сжатие данных, процесс называется кодированием источника. Источник сигнала - это, в общем случае, случайный процесс некоторой случайной переменной. Считается, что эта случайная переменная - время, так что рассматриваемый сигнал - это изменяющийся во времени сигнал. Важными примерами изменяющихся во времени сигналов являются выходы датчиков, используемых для контроля процессов и описывающих такие физические величины, как температура, давление, скорость и сила ветра. Значительный интерес представляют такие примеры, как речь и музыка. Форматирование аналоговой информации осуществляет аналого-цифровой преобразователь. Форматирование осуществляется с использованием трех отдельных процессов: дискретизации, квантования и кодирования. После форматирования получается последовательность двоичных цифр [2].
1.2.2 Дискретизация
Аналоговый сигнал и его дискретная версия связаны процессом, который называется дискретизацией. Этот процесс можно реализовывать по-разному, а наиболее популярной является операция выборки-хранения. В этом случае коммутирующе-запоминающий механизм формирует из поступающего непрерывного сигнала последовательность выборок. Результатом процесса дискретизации является сигнал в амплитудно-импульсной модуляции. Такое название возникло потому, что выходящий сигнал можно описать как последовательность импульсов с амплитудами, определяемыми выборками входного сигнала. Аналоговый сигнал можно восстановить (с определенной степенью точности) из модулированного сигнала, пропустив последний через фильтр нижних частот. Ответ на вопрос, насколько точно отфильтрованный модулированный сигнал совпадает с исходным аналоговым сигналом, дает теорема о выборках. Теорема формулируется следующим образом: сигнал с ограниченной полосой, не имеющий спектральных компонентов с частотами, которые превышают Гц, однозначно определяется значениями, выбранными через равные промежутки времени . Это утверждение также известно как теорема о равномерном дискретном представлении. При другой формулировке верхний предел можно выразить через частоту дискретизации, ,. В этом случае получаем ограничение, именуемое критерием Найквиста . Критерий Найквиста - это теоретическое достаточное условие, которое делает возможным полное восстановление аналогового сигнала из последовательности равномерно распределенных дискретных выборок [2], [3].
1.2.3 Квантование по уровню и кодирование
Квантование по уровню - это задача отображения выборок сигнала непрерывной амплитуды в конечное множество амплитуд. Простейшее устройство квантования, которое можно изобразить, выполняет мгновенное отображение с каждого непрерывного входного уровня выборки в один из предопределенных, равномерно расположенных выходных уровней. Квантующие устройства, которые характеризуются равномерно расположенными приращениями между возможными выходными уровнями, называются равномерными устройствами квантования, или линейными квантующими устройствами. Возможные мгновенные характеристики входа/выхода легко изображаются с помощью простого ступенчатого графика, подобного изображенному на рисунке 2. На рисунке 2, а, б и г представлены устройства с равномерными шагами квантования, а на рисунке 2, в - устройство с неравномерным шагом квантования. На рисунке 2, а характеристика устройства имеет нуль в центре шага квантования, а на рисунке 2, б и г - на границе шага квантования. Отличительная особенность устройств, имеющих характеристики с нулем в центре шага квантования и характеристики с нулем на границе шага квантования, связана, соответственно, с наличием или отсутствием выходных изменений уровня, если входом квантующего устройства является шум низкого уровня. На рисунке 2, г представлено смещенное (т.е. усекающее) устройство квантования, а другие устройства, изображенные на этом рисунке, являются несмещенными и называются округляющими. Такие несмещенные устройства квантования представляют собой идеальные модели, но в аналого-цифровых преобразователях округление не реализуется никогда. Как правило, устройства квантования реализуются как усекающие преобразователи. Термины "характеристика с нулем в центре шага квантования" или "характеристика с нулем на границе шага квантования" относятся к ступенчатым функциям и используются для описания того, имеются ли в начале координат горизонтальная или вертикальная составляющая ступенчатой функции. Пунктирная линия единичного наклона, проходящая через начало координат, представляет собой неквантованную характеристику входа/выхода, которую пытаются аппроксимировать ступенчатой функцией. Разность между ступенчатой функцией и отрезком линии единичного наклона представляет собой ошибку аппроксимации, допускаемую устройством квантования на каждом входном уровне. На рисунке 3 показана ошибка аппроксимации амплитуды в сравнении с входной амплитудой функции для каждой из характеристик квантующего устройства, изображенных на рисунке 2. Часто эта ошибка моделируется как шум квантования, поскольку последовательность ошибок, полученная при преобразовании широкополосного случайного процесса, напоминает аддитивную последовательность шума. Однако, в отличие от действительно аддитивных источников шума, ошибки преобразования являются сигнально зависимыми и высоко структурированными. Линейное устройство квантования легко реализовать и очень легко понять. Оно представляет собой универсальную форму квантующего устройства, поскольку не предполагает никаких знаний о статистике амплитуд и корреляционных свойствах входного сигнала[2][3].
Устройства квантования, которые используют указанные преимущества, являются более эффективными как кодеры источника и предназначены для более специфических задач, чем общие линейные устройства квантования.
Рисунок 2. - Различные передаточные функции устройства квантования
Эти квантующие устройства являются более сложными и более дорогими, но они оправдывают себя с точки зрения улучшения производительности системы. Существуют приложения, для которых равномерные устройства квантования являются наиболее желаемыми преобразователями амплитуды. Это - приложения обработки сигналов, графические приложения, приложения отображения изображений и контроля процессов. Для некоторых иных приложений более приемлемыми преобразователями амплитуды являются неравномерные адаптивные квантующие устройства. Эти устройства включают в себя кодеры сигнала для эффективного запоминания и эффективной связи, контурные кодеры для изображений, векторные кодеры для речи и аналитические/синтетические кодеры (такие, как вокодер) для речи.
Полученный номер уровня кодируется, например, в двоичном коде. В этой работе для квантования применен принцип последовательного приближения или поразрядного уравновешивания. Такой АЦП преобразует аналоговый сигнал в цифровой за N шагов, где N - разрядность АЦП. Количество же уровней определяется по формуле . На каждом шаге определяется по одному биту искомого цифрового значения, начиная от СЗР и заканчивая МЗР. Последовательность действий по определению очередного бита заключается в следующем. Бит, который должен быть определён на этом шаге, выставляется в 1, более младшие биты установлены в 0. Полученное значение сравнивается с входным аналоговым значением. Если значение входного сигнала больше этого значения, то определяемый бит получает значение 1, в противном случае 0. Таким образом, определение итогового цифрового значения напоминает двоичный поиск. АЦП этого типа обладают одновременно высокой скоростью и хорошим разрешением. Однако при отсутствии устройства выборки хранения погрешность будет значительно больше.
Рисунок 3. - Различные передаточные функции устройства квантования
1.2.4 Помехоустойчивое кодирование
Кодер, представленный на рисунке 1, осуществляет канальное кодирование. Канальное кодирование представляет собой класс преобразований сигнала, выполняемых для повышения качества связи. В результате этого, сигнал становится менее уязвим к таким эффектам ухудшения качества передачи как шум, помехи и замирание. Канальное кодирование можно считать способом приведения параметров системы к желаемому компромиссу (т.е. соотношению между достоверностью передачи и шириной полосы пропускания или мощностью и шириной полосы пропускания). Канальное кодирование так распространено благодаря использованию больших интегральных схем (БИС) и применению высокоскоростной цифровой обработки сигналов. Данный метод позволил более чем на 10 дБ повысить производительность при значительно меньших затратах по сравнению с другими методами, например методами увеличения мощности передатчика или размера антенны[3].
Канальное кодирования можно условно разделить на два типа: кодирование (или обработка) сигнала и структурированные последовательности (или структурированная избыточность). Кодирование сигнала означает преобразование сигнала в некий "улучшенный сигнал", позволяющий сделать процесс детектирования менее подверженным ошибкам. Метод структурированных последовательностей - это преобразование последовательности данных в новую, "улучшенную последовательность", обладающую структурной избыточностью (которая вмещает избыточные биты). Эти избыточные разряды служат для определения и исправления ошибок. На выходе процедуры кодирования получается закодированный (формой сигнала или структурированной последовательностью) сигнал, имеющий лучшие пространственные характеристики, чем некодированный. В нашей задаче применяется кодирование структурированной последовательностью. Структурированные последовательности делятся на три подкатегории: блочные, свёрточные и турбокоды. Коды, применяемые в нашей задаче, относятся к блочным[2].
При использовании блочных кодов исходные данные делятся на блоки из k бит, которые иногда называют информационными битами, или битами сообщения; каждый блок может представлять любое из отдельных сообщений. В процессе кодирования каждый k-битовый блок данных преобразуется в больший блок из n бит, который называется кодовым битом, или канальным символом. К каждому блоку данных кодирующее устройство прибавляет бит, которые называются избыточными битами, битами четности, или контрольными битами; новой информации они не несут. Для обозначения описанного кода используется запись . Отношение числа избыточных бит к числу информационных бит, , называется избыточностью кода; отношение числа бит данных к общему числу бит, , именуется степенью кодирования. Под степенью кодирования подразумевается доля кода, которая приходится на полезную информацию. Например, в коде со степенью , каждый кодовый бит несет бит информации.
Первый используемый в задаче код это проверка на четность. Коды с контролем четности для обнаружения или исправления ошибок используют линейные суммы информационных битов, которые называются символами, или битами четности. Код с одним контрольным битом - это прибавление к блоку информационных битов одного контрольного бита. Этот бит (бит четности) может быть равен нулю или единице, причем его значение выбирается так, чтобы сумма всех битов в кодовом слове была четной или нечетной. В операции суммирования используется арифметика по модулю 2 (операция исключающего ИЛИ). Если бит чётности выбран так, что результат чётный, то говорят, что схема имеет положительную чётность; если при добавлении бита чётности результирующий блок данных является нечётным, то говорят, что он имеет отрицательную чётность. В нашей задаче используется код с положительной чётностью. Этот код не может исправить ошибку. С его помощью можно только обнаружить, что в кодовом символе присутствует нечетное количество ошибок. Если ошибка была внесена в четное количество бит, то проверка четности покажет отсутствие ошибок.
Линейные блочные коды - это класс кодов с контролем четности, которые можно описать парой чисел . В процессе кодирования блок из символов сообщения (вектор сообщения) преобразуется в больший блок из символов кодового слова (кодовый вектор), образованного с использованием элементов данного алфавита. Если алфавит состоит только из двух элементов (0 и 1), код является двоичным и включает двоичные разряды (биты).
-битовые сообщения формируют набор из последовательностей сообщения, называемых -кортежами (последовательностями цифр), -битовые блоки могут формировать последовательности, также именуемые -кортежами. Процедура кодирования сопоставляет с каждым из -кортежей сообщения один из -кортежей. Блочные коды представляют взаимно однозначное соответствие. Для линейных кодов преобразование отображения является, конечно же, линейным. Операции над двоичными компонентами производятся по правилам арифметики по модулю 2.
Возможности кода для исправления ошибок в первую очередь определяются его структурой. Весовой коэффициент Хэмминга кодового слова определяется как число ненулевых элементов в . Для двоичного вектора это эквивалентно числу единиц в векторе. Расстояние Хэмминга между двумя кодовыми словами и , обозначаемое как , определяется как количество элементов, в которых они отличаются. Согласно свойствам сложения по модулю 2, можно отметить, что сумма двух двоичных векторов является другим двоичным вектором, двоичные единицы которого расположены на тех позициях, которыми эти векторы отличаются. Таким образом, можно видеть, что расстояние Хэмминга между двумя векторами равно весовому коэффициенту Хэмминга их суммы, то есть,
.
Также видно, что весовой коэффициент Хэмминга кодового слова равен его расстоянию Хэмминга до нулевого вектора.
В блочном коде, прежде чем исправлять ошибки, необходимо их обнаружить. (Или же код может использоваться только для определения наличия ошибок.) Возможность определения наличия ошибки дается следующим выражением . Блочный код с минимальным расстоянием гарантирует обнаружение всех моделей ошибок, содержащих или меньшее число ошибочных бит. Способность кода к исправлению ошибок определяется, как максимальное число гарантированно исправимых ошибок на кодовое слово, и записывается следующим образом
.
Возможность исправления ошибок следует из гарантированного максимума . Код можно использовать для одновременного исправления и обнаружения ошибок, причем , а минимальное расстояние кода дается следующим выражением
.
Наиболее известным линейным систематическим кодом является блоковый код Хэмминга. Коды Хэмминга - это простой класс блочных кодов. Систематический линейный блочный код - это такое отображение -мерного вектора сообщения в -мерное кодовое слово, в котором часть генерируемой последовательности совмещается с символами сообщения. Остальные бит - это биты четности.
Количество контрольных разрядов должно быть выбрано так, чтобы удовлетворялось неравенство . При строгом равенстве код называется оптимальным, иначе - неоптимальным.
Если в кодовой комбинации ошибки нет, то проверочное число содержит только нули. Если в низшем разряде числа стоит 1, это означает, что в результате первой проверки обнаружена ошибка. При первой проверке проверяются те номера позиции, двоичные представления которых имеют в младшем разряде единицы. Таким образом, первая проверка охватывает позиции 1, 3, 5, 7, 9, 11, 13 и т.д. Для второй проверки выбираются такие позиции, двоичные представления которых имеют единицу во втором разряде. Следовательно, вторая проверка будет охватывать позиции 2, 3, 6, 7, 10, 11, 14 и т.д. И так далее. Остается решить, какие позиции в коде целесообразно использовать для передачи информации, а какие - для проверки. Выбор для проверки позиций 1, 2, 4, 8 и т.д. имеет преимущество, состоящее в том, что каждая из этих позиций встречается только в одной проверяемой группе символов. Каждый контрольный бит является битом чётности для своей проверочной группы.
В имитаторе реализован код Хэмминга для исправления однократных ошибок. Для кодирования номера исходный байт с АЦП расширяется на количество проверочных бит. Номера позиций с единичными битами суммируются по модулю два и биты из полученного числа расставляются в позиции контрольных бит в кодируемом байте.
Важным подклассом линейных блочных кодов являются двоичные циклические коды[4]. Линейный код называется циклическим, если он обладает следующим свойством. Если -кортеж является кодовым словом в подпространстве S, тогда , полученный из с помощью циклического сдвига, также является кодовым словом в S. Или, вообще, , полученный циклическими сдвигами, является кодовым словом в S.
Компоненты кодового слова можно рассматривать как коэффициенты полинома :
Полиномиальную функцию можно рассматривать как "заполнитель" разрядов кодового слова , т.е. вектор -кортежа описывается полиномом степени или меньше. Наличие или отсутствие каких-либо членов в полиноме означает наличие 1 или 0 в соответствующем месте -кортежа. Если компонент отличен от нуля, порядок полинома равен . В кодовых словах, выраженных в полиномиальной форме, циклическая природа кода проявляется следующим образом. Если является кодовым словом, представленным полиномом порядка , то - остаток от деления на - также является кодовым словом. Иными словами,
или, умножая обе части уравнения на ,
,
что в модульной арифметике можно описать следующим образом
.
Вектор сообщения можно записать в полиномиальной форме следующим образом . В систематической форме символы сообщения используются как часть кодового слова. Можно сдвинуть символы сообщения в старших разряда кодового слова, а затем прибавить биты четности, разместив их в младшие разряды. Таким образом, осуществляется алгебраическая манипуляция полинома сообщения, и он оказывается сдвинутым влево на позиций. Если теперь умножить на , мы получим сдвинутый влево полином сообщения
. (1)
Если далее разделить уравнение (1) на , результат можно представить в следующем виде
(2)
Здесь остаток записывается следующим образом
.
Также можно записать следующее
.
Прибавляя к обеим частям уравнения (2) и используя сложение по модулю 2, получаем следующее
. (3)
Левая часть уравнения (3) является действительным полиномом кодового слова, так как это полином степени или менее, который при делении на g(X) дает нулевой остаток. Это кодовое слово можно записать через все члены полинома
. (4)
В имитаторе реализован циклический код для исправления однократных ошибок. Кодирование осуществляется в соответствии с приведённым выше описанием. Для этого реализована функция деления полиномов по модулю два.
Также в имитаторе реализован код проверки чётности, который является специальным случаем циклического кода при полиноме . Алгоритм получения бита чётности состоит в суммировании по модулю два всех битов и записи полученного бита в конец к кодируемому байту.
1.2.5 Модуляция
Модуляция - это процесс, посредством которого символы сообщений или канальные символы (если используется канальное кодирование) преобразуются в сигналы, совместимые с требованиями, налагаемыми каналом передачи данных. Полосовая модуляция - это процесс преобразования информационного сигнала в синусоидальный сигнал. Синусоиды могут отличаться по амплитуде, частоте и фазе. Таким образом, полосовую модуляцию можно определить как процесс варьирования амплитуды, частоты или фазы (или их комбинаций) радиочастотной несущей согласно передаваемой информации. В общем виде несущая записывается следующим образом . Здесь - переменная во времени амплитуда, а, - переменный во времени угол. Угол удобно записывать в виде так что
,
где - угловая частота несущей, а - ее фаза. Частота может записываться как переменная или как переменная . В первом случае частота измеряется в герцах (Гц), во втором - в радианах в секунду (рад/с). Эти параметры связаны следующим соотношением . В нашей задаче реализуется частотная и амплитудная манипуляции.
Общее аналитическое выражение для частотно-манипулированного сигнала имеет следующий вид
.
Здесь частота может принимать дискретных значений (в нашем случае 2), а фаза является произвольной константой. Схематическое изображение частотно-модулированного сигнала дано на рисунке 4, a. Здесь и частоты манипулирования соответственно для нулевого и единичного бита. Амплитудно-манипулированный сигнал, изображенный на рисунке 4, б описывается выражением
,
где амплитудный член может принимать М (в нашем случае 2) дискретных значений, а фазовый член является произвольной константой. На рисунке 4, б - это частота несущей.
Потенциальный сигнал, без применения модуляции изображён на рисунке 4, в.
На рисунке 4 приведена модулированная последовательность 101, - это амплитуда модулированного сигнала, а - скорость передачи бит[2][5].
После модуляции сигнал поступает в канал связи. В канале связи на сигнал воздействует аддитивная помеха в виде Гауссовского белого шума. Гауссовский белый шум характеризуется математическим ожиданием и среднеквадратическим отклонением . Для получения случайных значений, распределенных по нормальному закону, используется следующая формула:
,
где и - независимые случайные величины, равномерно распределённые на интервале (0, 1]. Плотность распределения вероятностей и выборка распределенных по нормальному закону величин представлены на рисунке 5.
Размещено на http://www.allbest.ru/
1
Размещено на http://www.allbest.ru/
1
1.2.6 Детектирование
Детектирование (демодуляция) - это процесс, обратный модуляции. Для цифрового сигнала вначале производится то, что можно назвать демодуляцией - восстановление сигнала в исходный сигнал, а потом в процессе детектирования осуществляется принятие решения относительно цифрового значения этого сигнала.
Для демодуляции АМ принятый полосовой сигнал преобразовывается в низкочастотный сигнал. Для этого в имитаторе реализована модель двухполупериодного детектора. Вначале модулированный сигнал проходит через нелинейный элемент, имеющий вольтамперную характеристику, представленную на рисунке 6.
Размещено на http://www.allbest.ru/
1
Далее ФНЧ, стоящим после демодулятора отфильтровываются высокие частоты, а полученный сигнал оцифровывается. Принятие решения о цифровом значении сигнала, полученного после демодуляции, осуществляется путём сравнения элементов выборки демодулированного сигнала с некоторым пороговым значением.
Для фильтрации реализован цифровой фильтр, определяющийся следующим уравнением
, (5)
где - отсчёты отфильтрованного сигнала, - отсчёты нефильтрованного сигнала, - период дискретизации, а , где - постоянная времени фильтра.
Для демодуляции ЧМ принятый полосовой сигнал сначала преобразуется в АМ сигнал, а затем осуществляется АМ демодуляция. Для преобразования в АМ сигнал ЧМ сигнал пропускается через фильтр нижних частот, чтобы подавить более высокую частоту из двух частот присутствующих в ЧМ. В случае, когда большей частотой модулировался единичный бит после детектирования необходимо инвертировать оцифрованный сигнал.
1.2.7 Декодирование
Декодирование - это процесс, обратный помехоустойчивому кодированию.
Декодирование кода Хэмминга для исправления одиночных ошибок осуществляется аналогично тому, как получаются контрольные биты. Номера позиций единичных бит в закодированном байте суммируются по модулю два, полученное число указывает на номер ошибки в байте. Если имели место многократные ошибки, то декодирование может привнести в код дополнительные ошибки. В случае отсутствия ошибки после суммирования получается ноль.
Для декодирования циклического кода полученный байт делится по модулю два на порождающий полином. Полученный остаток ищется в таблице ошибок для данного полинома. Таблица ошибок составляется занесением в таблицу остатков от деления полиномов от до на порождающий полином, где - номер разряда, в котором произошла ошибка. В случае отсутствия ошибок, остаток равен нулю. При многократных ошибках декодирование может привнести в код дополнительные ошибки.
Код проверки чётности позволяет лишь проверить, не присутствует ли в байте нечётное количество ошибок. При декодировании все биты вместе с контрольным битом суммируются по модулю два, если результат отличен от нуля, то в байте присутствует нечётное количество ошибок.
При всех видах декодирования после обнаружения и исправления ошибок контрольные биты удаляются из байта.
1.2.8 Цифро-аналоговое преобразование
Цифро-аналоговое преобразование позволяет преобразовать цифровой код в аналоговый сигнал. Полученные после декодирования байты представляют собой номер уровня квантования. Цифро-аналоговый преобразователь, в соответствии с динамическим диапазоном выдаёт на выход значение аналогового напряжения для данного дискрета. Значение берется посередине интервала для данного уровня. Полученный дискретизированный сигнал подаётся на ФНЧ (цифровой фильтр, соответствующий формуле (5)), стоящий после АЦП. После фильтра получается восстановленный сигнал.
1.3 Разработка структуры программного обеспечения
Так как программное обеспечение осуществляет имитацию работы передающего интерфейса, то и структура ПО содержит структурные элементы самого канала связи, вспомогательные элементы, элементы интерфейса пользователя. Структурная схема ПО представлена на рисунке 7.
Основной модуль является главным в структуре программного имитатора. Модуль обрабатывает осведомительные сигналы и данные от одних модулей, вырабатывает управляющие сигналы для других модулей и руководит работой программного комплекса в целом.
Блок интерфейса пользователя организует диалог пользователя с ПО. В зависимости от действий пользователя блок передает осведомительные сигналы основному модулю, а в зависимости от управляющих сигналов от основного модуля, вывод конкретную информацию пользователю. Блок интерфейса пользователя осуществляет контроль над действиями пользователя, контролируя вводимую пользователем информацию.
Блок моделирования работы ПЧИ предназначен для моделирования работы ПЧИ на основе данных, введенных пользователем. Работа блоков моделирования основана на приведенных в разделе 1.2 принципах работы блоков интерфейса.
Вспомогательные модули необходимы для организации процесса работы с ПО. Они служат, в основном, для разграничения работы с ПО для разных пользователей. Аутентификация необходима для установления подлинности пользователя, начавшего работу с системой. Авторизация необходима для предоставления аутентифицированному пользователю прав на выполнение определённых действий в системе. Сохранение и загрузка параметров, сохранение результатов работы, протоколирование необходимы для оценки работы с системой. Загрузка параметров может понадобиться для приведения системы в установленное ранее состояние.
Модуль настройки окружения осуществляет настройки программного обеспечения при первом его запуске. Осуществляется выбор места хранения данных пользователей и установка привилегированного пароля.
При аутентификации происходит сравнение полученных идентификаторов с хранящейся в системе информацией. Эта информация формируется на основе полученных идентификаторов, используя . - это односторонний алгоритм хеширования, предназначенный для создания 32-разрядных контрольных сумм. Восстановление данных по строке возможно только методом перебора. Для затруднения взлома применяется алгоритм усложнения пароля - накладывание соли. Для каждого пользователя хранится хеш-сумма. и при аутентификации сравнивается с вновь полученной. Привилегированный пароль, протоколы работы защищается этим же способом.
С программным кодом основных функций можно ознакомиться в приложении.
Рисунок 7. - Структура ПО
1.4 Разработка интерфейса пользователя
Интерфейс пользователя служит для спецификации параметров элементов системы, которые видимы извне (пользователю), без указания их внутренней структуры.
Для элементов, модулирующих работу отдельных блоков системы в интерфейс включены параметры, настраиваемые пользователем, тип входных и выходных данных.
Для генератора аналогового сигнала в интерфейс входят: вид сигнала, амплитуда, частота, скважность (для прямоугольного сигнала). Выходными данными является аналоговый сигнал.
Для цифро-аналогового преобразователя в интерфейс входят: разрядность, частота дискретизации и объём сообщения, выраженный в отсчётах. Входными данными является аналоговый сигнал. Выходными данными являются оцифрованные значения сигнала.
Для помехоустойчивого кодера в интерфейс входят: вид кодирования, порождающий полином (для циклического кодирования). Входными данными является цифровой код полученный с АЦП. Выходными данными является цифровой код с АЦП, расширенный проверочными битами.
Для модулятора в интерфейс входят: вид манипуляции, амплитуда и частоты моделирующих колебаний, а также скорость передачи по каналу связи. Входными данными является цифровой код. Выходными данными является модулированный сигнал.
Для канала связи в интерфейс входят скорость передачи и параметры помехи (математическое ожидание, среднеквадратическое отклонение) в канале связи. Входными данными является моделированный сигнал. Выходными данными является моделированный сигнал, подвергшийся помехам.
Для детектора в интерфейс входят: уровень детектирования, коэффициент усиления и частота среза фильтра. Входными данными является зашумлённый моделированный сигнал. Выходными данными является детектированный сигнал в виде цифровых данных.
Для декодера в интерфейс входят параметры кодирования. Входными данными является детектированный код. Выходными данными является декодированный код, соответствующий оцифрованной версии принятого сигнала.
Для цифро-аналогового преобразования в интерфейс входят параметры ЦАП и частота среза фильтра. Входными данными является оцифрованный сигнал. Выходными данными является принятый аналоговый сигнал.
При аутентификации и авторизации в интерфейс входят два идентификатора - логин (регистрационное имя пользователя) и пароль (некая конфиденциальная информация).
Для модуля настройки окружения в интерфейс входит путь к директории с пользовательскими настройками и привилегированный пароль.
Для модуля загрузки и сохранения тестовых параметров в интерфейс входит пароль на привилегированный режим.
Для модуля загрузки и сохранения параметров системы в интерфейс входит имя, под которым сохраняются параметры системы.
Для модуля сохранения результатов работы в интерфейс входит имя, под которым сохраняются результаты работы и тип приёмника сохраняемой информации (файл или буфер обмена).
Для модуля ведения протокола работы в интерфейс входит имя протокола работы.
1.5 Диаграмма прецедентов
Диаграммы прецедентов описывают функциональное назначение системы или то, что система должна делать. Разработка диаграммы прецедентов[6] преследует следующие цели:
· определить общие границы и контекст моделируемой предметной области;
· сформулировать общие требования к функциональному поведению проектируемой системы;
· разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей;
· подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
Суть диаграммы прецедентов (вариантов использования) состоит в следующем. Проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью вариантов использования. При этом актером или действующим лицом называется любая сущность, взаимодействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. Вариант использования служит для описания сервисов, которые система предоставляет актеру. Диаграмма вариантов использования может дополняться пояснительным текстом, который раскрывает смысл или семантику составляющих ее компонентов.
Отдельный вариант использования обозначается на диаграмме эллипсом, внутри которого содержится его краткое название или имя в форме глагола с пояснительными словами.
Цель варианта использования заключается в том, чтобы определить законченный аспект или фрагмент поведения некоторой сущности без раскрытия её внутренней структуры. В качестве такой сущности может выступать система или любой элемент модели, который обладает собственным поведением.
Каждый вариант использования соответствует отдельному сервису, который предоставляет моделируемая сущность по запросу актера, то есть определяет способ применения этой сущности. Сервис, который инициализируется по запросу актера, представляет собой законченную неделимую последовательность действий. Это означает, что после того как система закончит обработку запроса, она должна возвратиться в исходное состояние, чтобы быть готовой к выполнению следующих запросов.
Варианты использования могут применяться как для спецификации внешних требований к проектируемой системе, так и для спецификации функционального поведения уже существующей системы. Множество вариантов использования в целом должно определять все возможные стороны ожидаемого поведения системы. Кроме этого, варианты использования неявно устанавливают требования, определяющие, как актеры должны взаимодействовать с системой, чтобы иметь возможность корректно работать с предоставляемыми сервисами.
В проектируемой системе можно определить следующий набор вариантов использования.
Настройка окружения при первом запуске. Этот прецедент необходим для корректной работы системе и выполняется первым.
Регистрация нового пользователя. Этот прецедент предоставляет возможность зарегистрировать нового для системы пользователя.
Аутентификация и авторизация пользователя. Этот прецедент позволяет пользователя представиться системе и начать работу с ней.
Завершение работы. Этот прецедент предоставляет возможность корректно завершить работу системы.
Завершение сеанса пользователя. Этот прецедент предоставляет возможность корректно завершить работу текущего пользователя.
Загрузка и сохранение настроек. Это прецедент предоставляет возможность сохранения текущего состояния системы для последующего его восстановления.
Загрузка тестовых настроек. Это прецедент предоставляет возможность проверки корректной работы системы в целом и отдельных модулей в частности.
Установка параметров модулей. Этот прецедент предоставляет возможность настроить модули, входящие в систему.
Моделирование работы модулей. Этот прецедент предоставляет возможность осуществить моделирование работы модулей, входящих в систему. Просмотр и сохранение результатов работы модулей. Этот прецедент предоставляет возможность ознакомиться с визуальным представлением результатов работы модулей, с собранной статистикой и сохранить эти результаты для последующего просмотра.
Просмотр протоколов работы. Этот прецедент предоставляет возможность ознакомиться с действиями пользователя во время работы с системой.
Актер представляет собой любую внешнюю по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей. При этом актеры служат для обозначения согласованного множества ролей, которые могут играть пользователи в процессе взаимодействия с проектируемой системой. Каждый актер может рассматриваться как некая отдельная роль относительно конкретного варианта использования. Стандартным графическим обозначением актера на диаграммах является фигурка человечка, под которой записывается имя актера.
Актеры взаимодействуют с системой посредством обмена сообщениями с вариантами использования. Сообщение представляет собой запрос актером определенного сервиса системы и получение этого сервиса. Это взаимодействие может быть выражено посредством ассоциаций между отдельными актерами и вариантами использования или классами. Кроме этого, с актерами могут быть связаны интерфейсы, которые определяют, каким образом другие элементы модели взаимодействуют с этими актерами.
Два и более актера могут иметь общие свойства, то есть взаимодействовать с одним и тем же множеством вариантов использования одинаковым образом. Такая общность свойств и поведения представляется в виде отношения обобщения с другим, возможно, абстрактным актером, который моделирует соответствующую общность ролей.
В проектируемой системе можно определить следующий набор актёров.
Неавторизованный пользователь. Этот актёр представляет неавторизованного пользователя, который взаимодействует с системой.
Авторизованный пользователь. Этот актёр представляет пользователя, наделённого некоторыми расширенными правами по работе с системой.
Между элементами диаграммы вариантов использования могут существовать различные отношения, которые описывают взаимодействие экземпляров актеров и вариантов использования.
В языке UML существует несколько стандартных видов отношений между актерами и вариантами использования:
· ассоциации (association relationship);
· расширения (extend relationship);
· обобщения (generalization relationship);
· включения (include relationship).
Применительно к диаграммам вариантов использования ассоциация устанавливает, какую конкретную роль играет актер при взаимодействии с экземпляром варианта использования. На диаграмме вариантов использования отношение ассоциации обозначается сплошной линией между актером и вариантом использования. Направленная ассоциация - то же что и простая ассоциация, но показывает, что вариант использования инициализируется актером. Обозначается стрелкой.
В проектируемой системе актёр «Неавторизованный пользователь» связан направленной ассоциацией с тремя вариантами использования. Это «Регистрация нового пользователя», «Аутентификация и авторизация пользователя» и «Настройка окружения при первом запуске».
Актёр «Авторизованный пользователь» связан направленной ассоциацией с оставшимися прецедентами.
Отношение расширения между вариантами использования обозначается пунктирной линией со стрелкой (вариант отношения зависимости), направленной от того варианта использования, который является расширением для исходного варианта использования. Данная линия со стрелкой помечается ключевым словом «extend» (расширяет).
Отношение расширения отмечает тот факт, что один из вариантов использования может присоединять к своему поведению некоторое дополнительное поведение, определенное для другого варианта использования. Данное отношение включает в себя некоторое условие и ссылки на точки расширения в базовом варианте использования. Чтобы расширение имело место, должно быть выполнено определенное условие данного отношения. Ссылки на точки расширения определяют те места в базовом варианте использования, в которые должно быть помещено соответствующее расширение при выполнении условия.
Один вариант использования может быть расширением для нескольких базовых вариантов, а также иметь в качестве собственных расширений несколько других вариантов. Базовый вариант использования может дополнительно никак не зависеть от своих расширений.
В проектируемой системе отношение расширения не используется.
Отношение обобщения служит для указания того факта, что некоторый вариант использования А может быть обобщен до варианта использования В. В этом случае вариант А будет являться специализацией варианта В. При этом, В называется предком или родителем по отношению А, а вариант А - потомком по отношению к варианту использования В. Потомок наследует все свойства и поведение своего родителя, а также может быть дополнен новыми свойствами и особенностями поведения. Графически данное отношение обозначается сплошной линией со стрелкой в форме незакрашенного треугольника, которая указывает на родительский вариант использования.
Между отдельными актерами также может существовать отношение обобщения. Данное отношение является направленным и указывает на факт специализации одних актеров относительно других.
В проектируемой системе отношение вариантами использования «Завершение сеанса пользователя» обобщён до варианта использования «Завершение работы», так как первый представляет собой специализированным вариантом второго.
Отношение включения между двумя вариантами использования указывает, что некоторое заданное поведение для одного варианта использования включается в качестве компонента в последовательность поведения другого варианта использования.
Отношение включения, направленное от варианта использования А к варианту использования В, указывает, что каждый экземпляр варианта А включает в себя функциональные свойства, заданные для варианта В. Эти свойства специализируют поведение соответствующего варианта А на данной диаграмме. Графически данное отношение обозначается пунктирной линией со стрелкой, которая помечается ключевым словом «include» (включает).
Подобные документы
Создание прикладного программного обеспечения для реализации интерфейса терминала по приему платежей за услуги связи. Анализ требований к программному обеспечению. Выбор языка программирования. Разработка интерфейса пользователя и проектной документации.
дипломная работа [1,3 M], добавлен 18.06.2015Анализ методов сверточного кодирования. Понятие канала связи и корректирующих кодов, характеристика автомата типа Мура. Особенности сверточного декодирования Витерби. Сущность разработки программного обеспечения системы кодирования сверточным кодом.
дипломная работа [4,9 M], добавлен 11.03.2012Современные методы цифрового сжатия. Классификация алгоритмов сжатия. Оцифровка аналогового сигнала. Алгоритм цифрового кодирования. Последовательное двойное сжатие. Чересстрочность и квантование. Сокращение цифрового потока. Профили, уровни формата MPEG.
реферат [784,9 K], добавлен 22.01.2013Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.
отчет по практике [700,5 K], добавлен 24.11.2014Разработка структуры базы данных сайта. Установка и настройка требуемого программного обеспечения. Анализ интерфейса программы. Создание формы обратной связи. Формирование дизайна, соответствующего требованиям заказчика. Выбор методики тестирования.
дипломная работа [2,0 M], добавлен 22.03.2018Разработка программного обеспечения для упрощения буквенно-цифрового ввода при невозможности использовать функционал стандартной буквенной клавиатуры. Классификация и установка драйверов. Выбор языка и среды программирования. Пользовательский интерфейс.
курсовая работа [183,0 K], добавлен 12.03.2013Выбор технологии, языка и среды программирования. Анализ процесса обработки информации и выбор структур данных для ее хранения, разработка основных алгоритмов. Проектирование интерфейса пользователя. Выбор стратегии тестирования и разработка тестов.
курсовая работа [332,3 K], добавлен 09.12.2014Разработка программы для осуществления работы с файлами и их последующего помехоустойчивого кодирования-декодирования по методу Хемминга 15-11 в интерактивном режиме. Обзор языка С и его особенностей. Взаимодействие пользователя с программным интерфейсом.
курсовая работа [145,5 K], добавлен 12.05.2013Классификация методов шифрования информации и оценка надежности криптоалгоритмов. Определение вероятностных характеристик двоичного канала. Понятия помехоустойчивого кодирования. Прием сигналов с неопределенной фазой и прием кодограмм со стиранием.
дипломная работа [822,0 K], добавлен 12.02.2014Разработка программного обеспечения для работы с установкой "АСР уровня жидкости с применением ПЛК ОВЕН 150" и лабораторного практикума по изучению промышленного программируемого контроллера с использованием ПК и среды программирования Codesys 2.3.
дипломная работа [4,6 M], добавлен 30.06.2012