скачать рефераты

скачать рефераты

 
 
скачать рефераты скачать рефераты

Меню

Проектирование системы передачи цифровых данных скачать рефераты

Проектирование системы передачи цифровых данных

17

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра Автоматика и системы управления

Дисциплина Теория информационных систем

РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОМУ ПРОЕКТУ ПО ТЕМЕ

Проектирование системы передачи цифровых данных

Выполнил

студент группы И-229

Лаврухин А.А.

Омск 2004

УДК 621.398

РЕФЕРАТ

с. 31, илл. 4, табл. 1, источн. 5, прил. 3

ПОМЕХОУСТОЙЧИВОСТЬ, ЛИНИЯ СВЯЗИ, КОРРЕКТИРУЮЩИЙ КОД, КОДЕР, ДЕКОДЕР, МАНЧЕСТЕРСКИЙ КОД, ПРОПУСКНАЯ СПОСОБНОСТЬ

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

СОДЕРЖАНИЕ

Введение

Задание

1. Теоретическая часть

1.1 Элементы теории кодирования

1.1.1 Основные понятия и определения

1.1.2 Представление кодов

1.1.3 Классификация кодов

1.1.4 Построение кода с заданной коррекцией

1.1.5 Коды Хэмминга

1.1.6 Циклические коды

1.2 Кабельные системы на основе медных линий

2. Практическая часть

2.1 Выбор корректирующего кода

2.2 Схемотехническая и программная реализация кодера и декодера

2.3. Выбор канала связи и модуляции

Заключение

Список использованных источников

Приложение 1

ВВЕДЕНИЕ

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

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

ЗАДАНИЕ

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

В курсовой работе необходимо:

1. Произвести выбор корректирующего кода по заданному количеству информационных разрядов и количеству исправляемых ошибок (выбрать вид кода, привести примеры кодирования и декодирования).

2. Разработать схемотехническую реализацию кодера и декодера.

3. Выбрать способ представления информации в канале передачи (выбирается способ модуляции и кодирования).

4. Сформулировать технические требования для возможной практической реализации.

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<n. Следовательно, из всех возможных комбинаций N0 = 2n для кодирования используется Nk = 2k комбинаций, т.е. всё множество возможных кодовых комбинаций делится на две группы:

Группа 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 с весом et не была равна никакой другой разрешённой комбинации. Для этого необходимо, чтобы кодовое расстояние удовлетворяло равенству:

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) определяется по формуле:

Страницы: 1, 2