Здесь можно найти образцы любых учебных материалов, т.е. получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ и рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Работа № 97026


Наименование:


Курсовик Анализ методов кодирования. Система: Кодер-Декодер

Информация:

Тип работы: Курсовик. Добавлен: 18.5.2016. Сдан: 2016. Страниц: 34. Уникальность по antiplagiat.ru: < 30%

Описание (план):



Введение
Задание
1. Теоретическая часть
1.1 Элементы теории кодирования
1.1.1 Основные понятия и определения
1.1.2 Представление кодов
1.1.3 Классификация кодов
1.1.4 Построение кода с заданной коррекцией
1.1.5 Коды Хэмминга
1.1.6 Циклические коды
1.1.7 Стандарты кодирования информации
1.2 Кабельные системы на основе медных линий
1.3 Криптографические алгоритмы
2. Практическая часть
2.1 Выбор корректирующего кода
2.2 Схемотехническая и программная реализация кодера и декодера
2.3. Выбор канала связи и модуляции
Заключение
Список использованных источников
Приложение 1


ВВЕДЕНИЕ

В настоящее время очень развиты различные системы передачи данных, разработаны основные стандарты, на основе которых строятся реальные системы. В настоящей работе была осуществлена попытка спроектировать систему связи, основанную на современных представлениях о кодировании. Кодирование применяется в целях приобретения сигналом, передаваемом по линии связи, избыточности и, благодаря этому, информационной помехозащищённости.
В работе произведён анализ основных известных методов кодирования и введён новый метод. Рассмотрены вопросы практической реализации, что позволило провести сравнение с другими методами кодирования и передачи сигналов.

ЗАДАНИЕ

Система передачи данных должна обеспечивать передачу информации со скоростью 10 Мб/с. Корректирующий код для обеспечения помехоустойчивости должен обеспечивать обнаружение трёх ошибок в восьми информационных разрядах.
В курсовой работе необходимо:
Произвести выбор корректирующего кода по заданному количеству информационных разрядов и количеству исправляемых ошибок (выбрать вид кода, привести примеры кодирования и декодирования).
Разработать схемотехническую реализацию кодера и декодера.
Выбрать способ представления информации в канале передачи (выбирается способ модуляции и кодирования).
Сформулировать технические требования для возможной практической реализации.


1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ

1.1.1 Основные понятия и определения
Алфавит - произвольный конечный, фиксированный набор символов (букв, знаков и др.), используемый в данной знаковой системе или языке. Первичный алфавит - алфавит, с помощью которого записывается передаваемое сообщение. Вторичный алфавит - алфавит, с помощью которого сообщение преобразуется в код. Таким образом, код - это совокупность символов вторичного алфавита, однозначно представляющая передаваемое сообщение. Процесс преобразования символов первого алфавита в символы (сигналы) второго алфавита называется процессом кодирования информации. Процесс восстановления содержания сообщения по данному коду называется декодированием. Последовательность символов, которая в процессе кодирования присваивается каждому из множества передаваемых сообщений, называется кодовым словом. Коды, в которых сообщения представлены равными по количеству символов кодовыми словами, называются равномерными кодами, в противном случае - неравномерными. Количество символов в кодовом слове называется длиной слова (длиной кода). В общем случае число возможных сообщений, которые можно закодировать комбинацией символов вторичного алфавита определяется уравнением:

N=qn,(1)

где N - число возможных сообщений, q - основание кода или число признаков кодовой комбинации, n - длина кодового слова.
Если q=2, то коды называются двоичными, q=3 - троичными и т.д.
Передачу кодовых комбинаций можно осуществить последовательно во времени или параллельно. В последнем случае передача должна осуществляться по нескольким параллельным линиям (каналам) связи.
Количество комбинаций кодовых сообщений определяется выбранным методом построения кода, числом качественных признаков (алфавитом) и числом элементов кода (длиной кода).

1.1.2 Представление кодов
Для построения кодов используются методы теории чисел, алгебры, комбинаторики, теории вероятности и т.д. Коды могут быть представлены в виде формул, таблиц, графов, геометрически и т.д.
Кодовые комбинации можно представить в виде полиномов.
Любое число в любой системе счисления с основанием x может быть представлено в виде суммы ряда. Для целых чисел эта сумма имеет вид:

,(2)

где x - основание системы счисления, a - символ системы счисления, i - показатель степени основания системы счисления и индекс позиции i-го члена ряда.
Иначе коды представляются в виде матриц. Равномерные n значные x е коды можно представить в виде матрицы, содержащей xn строк и n столбцов. Если исключить нулевые комбинации кода, то число строк будет равно xn - 1.
Особенностью такого способа представления кода является то, что комбинация кода, полученная в результате сложения произвольно взятых строк матрицы также является одной из комбинаций данного кода т.к. в матрице записаны все xn - 1 кодовые комбинации n значного кода.
Если суммировать строки матрицы по mod x, то можно получить нулевую строку. После её исключения получится новая матрица с меньшим числом строк, в которой тоже можно определить нулевую строку и исключить её и т.д. до тех пор пока строки станут линейно независимы, т.е. сложение по mod x не даёт нулевой строки. Полученная в результате матрица будет диагональной и единичной т.е. главная диагональ матрицы состоит из единиц, а остальные равны 0. Умножение произвольной матрицы на диагональную единичную не меняет её значений. Если строки этой матрицы складывать по mod x, то можно восстановить все комбинации n значного кода. Поэтому такие матрицы называют образующими или определяющими. Определяющая матрица называется транспонированной, если главная диагональ слева вверх направо.
1.1.3 Классификация кодов
Всё множество известных в настоящее время кодов условно делят на два направления: непомехозащищённые и помехозащищённые.
К первому направлению относятся следующие коды:
Двоичный код на все сочетания - кодовые комбинации этого кода соответствуют записи натурального ряда чисел в двоичной системе счисления. Общее число комбинаций этого кода равно

N = 2n ,

где N - общее число комбинаций кода; n - длина кода.
Единично десятичный код. Каждому разряду десятичного числа соответствует определённое количество единиц. Разряды отделяются интервалами. Этот код неравномерный, но может быть преобразован в равномерный, если слева в каждом разряде дописать недостающие единицы нулями до 10 знаков.
Двоично десятичный код. Каждый разряд десятичного числа записывается в виде комбинации кодов. Существует несколько видов двоично десятичных кодов: код с весовыми коэффициентами 8.4.2.1, код с весовыми кэффициентами 2.4.2.1 (код Айкена)
Число импульсный код - единичный (унитарный), кодовые комбинации различаются числом единиц.
Код Морзе - относится к неравномерным кодам. Кодовые комбинации имеют разную длительность: точка - 1, тире - 111, интервал между точкой и тире - 0, интервал между комбинациями (буквами) - 000.
Код Бордо - равномерный пятиэлементный телеграфный код. Максимальное число комбинаций N = 25 = 32.
Код Грея (рефлексивный, отражённый). Две соседние комбинации отличаются только в соседних разрядах: Для преобразования обычного двоичного кода в код Грея необходимо сложить данную комбинацию с самой по mod 2, но сдвинутой вправо на один разряд.
Помехозащищённые (помехоустойчивые или корректирующие) коды предназначены для обнаружения и исправления ошибок. В теореме К. Шеннона утверждается, что вероятность ошибок для дискретного канала с помехами может быть сведена к минимуму с помощью выбора соответствующего способа кодирования. В двоичных кодах каждый разряд может принимать значения 0 или 1. Количество единиц в кодовой комбинации называют весом кодовой комбинации и обозначают w. Например, кодовая комбинация 100101100 имеет длину (значность) 9 и вес w = 4. Степень отличия двух кодовых комбинаций называется кодовым расстоянием или расстоянием Хемминга, оно обозначается как d. Кодовое расстояние - это минимальное расстояние между кодовыми комбинациями, определяемое количеством (числом) отличающихся позиций или символов в кодовых комбинациях. Для вычисления кодовых расстояний используется сложение по mod 2.
При воздействии помех в кодовой комбинации в одном или нескольких разрядах возможна трансформация 0 в 1 и 1 в 0 и получается наложенная комбинация. Ошибки, полученные в разряде кодовой комбинации, называют однократными. При 2 х, 3 х и т.д. разрядах - двукратными, трёхкратными и т.д.
Для определения мест ошибок в кодовой комбинации вводится понятие вектора ошибок. Вектор ошибок n разрядного кода - это n разрядная комбинация, единицы в которой указывают положение искажённых символов кодовой комбинации.
Вес вектора ошибки we характеризует кратность ошибки. Сумма по модулю 2 для искажённой кодовой комбинации и вектора ошибки равна исходной неискажённой комбинации.
Помехоустойчивость кодирования обеспечивается за счёт введения избыточности в кодовые комбинации. Это значит, что не все n символов кодовой комбинации используются для кодирования информации, а только какая их часть kГруппа Nk = 2k - разрешённых комбинаций.
Группа (N0 - Nk) = 2n - 2k - запрещённых комбинаций.
Если на приёмной стороне получена разрешённая комбинация, то считается, что искажений нет, иначе принятая комбинация искажена.
В общем случае каждая из Nk разрешённых комбинаций может трансформироваться в любую из N0 возможных комбинаций, т.е. всех возможных комбинаций может быть Nk*N0, Nk(Nk-1) переходы одних разрешённых комбинаций в другие разрешённые и Nk(N0-Nk) переходов в запрещённые комбинации.
Таким образом, не все искажения могут быть обнаружены, а только те, для которых определяются следующим уравнением:
.(3)

Для построения кода, обеспечивающего не только обнаружения ошибок, но и исправление ошибок. Множество запрещённых кодовых комбинаций разбивается на Nk непересекающихся подмножеств Nk, каждому из которых ставится в соответствие одна из разрешённых комбинаций. В этом случае, если принятая запрещённая комбинация принадлежит подмножеству Mi, то считается, что передана комбинация Аi и ошибка будет исправлена. Т.о. ошибка исправляется в (N0-Nk) случаях, равных количеству запрещённых комбинаций от общего числа обнаруженных ошибочных комбинаций определяется уравнением:

.(4)

Выбор способа разбиения на подмножества определяется типом ошибок. Допустим, необходимо построить код, обнаруживающий все ошибки кратностью t и меньше. Это значит, что из множества всех возможных комбинаций N0 необходимо выбрать Nk разрешённых комбинаций так, чтобы любая из них в сумме по модулю два с любым вектором ошибок E с весом weЈt не была равна никакой другой разрешённой комбинации. Для этого необходимо, чтобы кодовое расстояние удовлетворяло равенству:

dmin і t + 1, (5)

где dmin - наименьшее расстояние Хэмминга.
1.1.4 Построение кода с заданной коррекцией
При рассмотрении корректирующих кодов предполагалось, что его длина n задана, а повышение корректирующей способности кода достигалось за счёт уменьшения множества Nk разрешённых комбинаций при неизменном n или уменьшении информационных символов k. На практике коды строятся в обратном порядке: вначале выбирается количество информационных символов, а затем обеспечивается необходимая корректирующая способность кода за счёт добавления избыточных символов.
Если задано число корректирующих разрядов k (), а всего в коде n разрядов, то граница Хемминга для исправления l ошибок определяется выражением:

(6)

Все корректирующие коды можно разделить на два основных класса: непрерывные (рекуррентные) и блочные. В непрерывных кодах процесс кодирования и декодирование имеет непрерывный характер. Каждый избыточный символ (проверочный) формируется по двум или нескольким информационным символам. Проверочные символы размещаются в определённом порядке между информационными символами исходной последовательности.
В блочных кодах каждому сообщению (или элементу сообщения) соответствует кодовая комбинация из n символов, которая называется блоком. Блоки кодируются и декодируются раздельно. Блочные коды могут быть равномерными, если n - постоянно, и неравномерными, если n - непостоянно. Как непрерывные, так и блочные коды в зависимости от методов размещения проверочных символов могут быть разделимыми и неразделимыми. В разделимых кодах одни символы являются информационными, а другие проверочными и служат для обнаружения и исправления ошибок. Информационные и проверочные символы занимают во всех комбинациях одни и те же позиции.
Разделимые блочные коды называют n,k кодами, где n - значность кода, к - число информационных символов. Разделимые блочные коды делятся на несистематические и систематические. В несистематических кодах проверочные символы представляют суммы подблоков длиной l, на которые разделена последовательность информационных символов. Такой код может обнаружить серийные ошибки с длиной серии не более l. В несистематических или линейных кодах проверочные символы определяются в результате линейных операций над определёнными информационными символами. Для двоичных кодов каждый проверочный символ выбирается таким, чтобы его сумма по mod2 с определёнными информационными символами стала равной 0. При декодировании производится проверка на четность определённых групп символов, поэтому также коды ещё называют - коды с проверкой на четность.

1.1.5 Коды Хэмминга
Двоичный код Хэмминга содержит k информационных символов и p=n k избыточных символов. Избыточная часть кода строится так, чтобы при декодировании можно было указать номер позиции, в которой произошла ошибка. Это достигается путём многократной проверки принятой комбинации на четность. Количество проверок равно количеству избыточных символов Р. При каждой проверке получают двоичный контрольный символ. Если результат проверки даёт чётное число единиц, то контрольному символу присваивается 0, иначе -1. В результате всех проверок получается p разрядное двоичное число, указывающее номер искажённого символа. Для исправления ошибки достаточно проинвертировать данный символ.
Необходимое количество проверочных символов p (или значность кода n) определяется по формуле:

Nk Ј 2n/(1+n)(7)

Значения проверочных символов и номера их позиций устанавливаются одновременно с выбором контролируемых групп кодовой комбинации.
При первой проверке получают цифру младшего разряда контрольного числа, указывающего номер искаженного символа. Если в результате проверки младший разряд контрольного числа равен 1, то один из символов данной группы искажён.
Для упрощения операций кодирования и декодирования рекомендуется размещать проверочные символы так, чтобы каждый входил в минимальное число проверяемых групп, то есть размещать контрольные символы на позициях, номера которых встречаются только в одной из проверочных групп: 1, 2, 4, 8.(Таблица 2). Следовательно в кодовой комбинации символы а1, а2, а4, а8 . . . должны быть проверочными, а символы а3, а5, а6, а7, а9, и т. д.- информационными.
Так как значения информационных символов определяются заранее, то значения проверочных символов должны быть такими, чтобы сумма единиц в каждой проверочной группе была чётным числом.

1.1.6 Циклические коды
Циклические коды являются наиболее простыми и эффективными для обнаружения и исправления независимых и серийных ошибок. Основным свойством циклических кодов является то, что каждая кодовая комбинация может быть получена путём циклической перестановки символов комбинации, принадлежащей данному коду, то есть если кодовый вектор V=(a0,a1,a2, . . ., an-2) принадлежит циклическому коду, то и вектор V1 = (an 1, a0, a1, a2, . . ., an-2) также ему принадлежит. Циклические коды записываются в виде полиномов.
Идея построения циклических кодов базируется на использовании неприводимых многочленов. Неприводимым называется многочлен, который не может быть представлен в виде произведения многочленов низших степеней, т.е. такой многочлен делиться только на самого себя или на единицу и не делиться ни на какой другой многочлен. На такой многочлен делиться без остатка двучлен xn+1. Неприводимые многочлены в теории циклических кодов играют роль образующих полиномов.
Для построения циклического кода, комбинация простого k-значного кода Q(x) умножается на одночлен xr, затем делится на образующий полином P(x), степень которого равна r. В результате умножения Q(x) на xr степень каждого одночлена, входящего в Q(x), повышается на r. При делении произведения xrQ(x) на образующий полином получается частное C(x) такой же степени, ........



Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы

* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.