Сети ЭВМ и телекоммуникации

Автор работы: Пользователь скрыл имя, 28 Июля 2011 в 06:40, курсовая работа

Описание

Синхронизация есть процесс установления и поддержания определенных временных соотношений между двумя и более процессами. Различают поэлементную, групповую и цикловую синхронизацию. Поэлементная синхронизация позволяет на приеме правильно отделить один единичный элемент от другого и обеспечить наилучшие условия для его регистрации. Групповая синхронизация обеспечивает правильное разделение принятой последовательность на кодовые комбинации, а цикловая синхронизация – правильное разделение циклов и временного объединения элементов на приеме.

Содержание

1. Синхронизация в системах ПДС………………………………………………3
2. Кодирование в системах ПДС…………………………………………………7
3. Системы ПДСсОС……………………………………………………………. 12
4. Список литературы……………………………………………………………20

Работа состоит из  1 файл

курсовая по сетям.docx

— 183.19 Кб (Скачать документ)
  
  1. Найдем  вероятность ошибки с учетом погрешности  синхронизации:
 

  Pош1=0.5(1-Ф((m+e)/sкр.и.)) 

  Pош2=0.5(1-Ф((m-e)/sкр.и.)) 

ε=1/m+4kS+3√(0.628σ/Sm)=1/10+4*10-5*10+3√(0.628*0,18/100)=0,2013=20,1% 

Pош1=0.5(1-Ф((50+20,1)/18)= 0.5(1-0,9999)=0,00005 

Pош2=0.5(1-Ф((50-20,1)/18))= 0,5(1-0,9011)=0,04945 

Pош=Pош1+Pош2-Pош1*Pош2= 0,00005+0,04945-0,00005*0,04945=0,0495 
 

      По  результатам расчетов делаем вывод: погрешность синхронизации вызывает увеличение вероятности неправильной регистрации элементов сигнала.

Глава 2. Кодирование в  системах ПДС
 
 

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

      Наиболее  широкое применение в системах ПДС  получили линейные или групповые  коды.

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

      Множество элементов называется группой относительно операции Å, если оно обладает следующими свойствами:

  1. Замкнутость. gi,gj Î G$ gk : giÅgj=gk.
  2. Ассоциативность. (giÅgj) Ågk = giÅ (gjÅgk).
  3. Существует нейтральный элемент e Å G : giÅe=gi i.
  4. g существует обратный элемент gi-1: gi Å gi-1 = e.
 

      Пользуясь свойством замкнутости групповой  код можно задать матрицей. Пример для трехэлементного кода:

G=

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

      В системах ПДС, как правило, используются корректирующие коды. Кодовое расстояние между строками матрицы, как можно  видеть, равно двум. Для получения  большего кодового расстояния необходимо вводить дополнительные элементы. Так  для получения d0=3 необходимо к исходным информационным элементам добавить проверочные элементы, в числе которых было бы не менее двух единиц, а добавляемые проверочные элементы разных строк отличались бы, по крайней мере, в одном элементе. Этому требованию удовлетворяет, например, производящая матрица

      Добавляемые проверочные элементы могут быть записаны и в другом порядке. Главное  – обеспечить кодовое расстояние d0=3. Полученная матрица является производящей, или порождающей, матрицей кода 6,3, содержащего n=6 элементов, из которых три информационных. Подобную матрицу принято обозначать G6,3.

      Обозначим элементы комбинации кода, задаваемого  матрицей, a1, a2, a3, a4, a5, a6, где a1, a2, a3 – информационные, а a4, a5, a6 – проверочные элементы. Проверочные элементы могут быть получены путем суммирования по модулю двух определенных информационных элементов.

      a4 = a1Å a3,

      a5 = a2Å a3,

      a6 = a1Å a2Å a3.

      Данные  правила можно представить проверочной  матрицей H6,3. Эта матрица содержит r строк и k столбцов:

      H6,3=

      Первая  половина этой матрицы получается транспонированием  второй половины производящей матрицы, а вторая половина представляет собой  единичную матрицу размерности  r.

      Теперь  можно изобразить кодер линейного  кода.  

        
 
 
 
 
 
 

  
 
 

      Рассмотрим  теперь процедуру обнаружения ошибок в принятой кодовой комбинации. Обнаружение  ошибок может быть основано на сравнении  принятой кодовой комбинации со всеми  разрешенными. Если принятая кодовая  комбинация совпадает с одной  из разрешенных, то можно сделать  вывод о том, что ошибок при  передаче не было или переданная кодовая  комбинация перешла в другую разрешенную. В противном случае делаем вывод  о том, что произошла ошибка. Однако такой алгоритм декодирования требует  сравнения принятой комбинации со всеми  разрешенными и является поэтому  весьма громоздким, и иногда неприемлемым, особенно если число кодовых комбинаций велико.

      Воспользуемся знанием правил формирования проверочных  элементов и сформируем на приеме проверочные элементы по принятым информационным. Очевидно, что сформированные на приеме проверочные элементы должны совпадать  с полученными. Сравнение элементов  можно выполнить путем попарного  суммирования этих элементов.

      b1=ak+1*+ ak+1 b2=ak+2*+ ak+2 b3=ak+3*+ ak+3.

      Полученная  последовательность b1, b2, b3 называется синдромом, элементы которого при отсутствии ошибок должны быть равны нулю. Если хотя бы один элемент синдрома не равен нулю, то можно утверждать, что принятая кодовая комбинация содержит ошибки. Исходя из этого можно изобразить схему простейшего декодера с обнаружением ошибок. 

        
 
 
 
 
 
 
 

      Если  с данной схемы поступает сигнал об ошибке, то приемник отвергает принятое кодовое слово. Далее, обычно, предполагается повторение данного кодового слова.

      Значение  полученного синдрома полностью  определяется вектором ошибки и не зависит от самой кодовой комбинации. Следовательно по виду синдрома можно  определить, на каком месте в кодовой комбинации была ошибка. Например в нашем случае если синдром имеет вид 101, то ошибка была в 1–м элементе.

      Для декодирования с исправлением ошибок необходимо реализовать дешифратор для каждого синдрома и корректировку  соответствующего элемента кодовой  комбинации. Дешифратором может быть схема «И», реагирующая только на данных синдром. Для корректировки  необходимо сложить сигнал на выходе дешифратора с соответствующим  элементом кодовой комбинации. 
 

      2.2 Циклические коды (теория) 

      Широкое распространение получил класс  линейных кодов, которые называются циклическими. Название этих кодов  происходит от их основного свойства: если кодовая комбинация принадлежит  циклическому коду, то комбинации, полученные циклической перестановкой элементов, также принадлежат этому коду.

      Общим свойством всех разрешенных кодовых  комбинаций циклического кода (как  полиномов) является их делимость без  остатка на некоторый выбранный  полином, называемый производящим. Синдромом  ошибки в этих кодах является наличие  остатка от деления принятой кодовой  комбинации на этот полином. Описание циклических кодов и их построение обычно проводят с помощью многочленов. Цифры двоичного кода можно рассматривать  как коэффициенты многочлена переменной x.

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

      Обнаружение ошибок в циклическом коде производится делением принятой кодовой комбинации на кодовую комбинацию образующего  полинома (вид его должен быть известен на приеме). Остаток от деления R(x) играет роль синдрома. Если R(x) ¹0, то считается, что произошли ошибки.

      Возможность исправления одиночной ошибки связана  с выбором образующего полинома Pr(x). Точно так же, как и в обычных линейных кодах вид синдрома в циклических кодах зависит от места, где произошла ошибка. В данном случае в качестве синдромов рассматриваются различные остатки R(x) от деления полинома ошибки на образующий полином Pr(x).

      Чтобы получить разделимый циклический код  из заданной кодовой комбинации G(x) нужно

  1. Умножить G(x) на xr, где r – число проверочных элементов.
  2. Найти остаток от деления полученного полинома на производящий полином: R(x)=G(x)xr/P(x).
  3. Сложить G(x)xr с полученным остатком. G(x)xr + R(x).

      Проверочными  элементами в полученной кодовой  комбинации будут последние r элементов, а остальные – информационные.

      Способ  декодирования с обнаружением ошибок был рассмотрен выше. Теперь рассмотрим способ исправления ошибок. Пускай переданная кодовая комбинация F(x) была поражена ошибкой E(x). Получилась комбинация F*(x). На приемном конце данная комбинация делится на P(x).

      F*(x)/P(x) = F(x)/P(x) + E(x)/P(x)

      Первое  слагаемое не даст остатка, так как  это циклический код. Весь остаток  будет определяться вторым слагаемым, то есть вектором ошибки. Причем если ошибка была на i-м месте, то остаток получим на n+i-1 такте деления. Поэтому декодер с исправлением ошибок для циклического кода будет иметь следующий вид.

        
 
 
 
 

      2.3 Построение кодера и декодера циклического кода. Формирование кодовой комбинации циклического кода (задачи) 

     1. Нарисовать кодер  циклического кода  для которого производящий полином задан числом (6N+1).

Решение:

 

      6*6+1=37 → 100101 → P(x)=X5+ X2+1

      Число проверочных элементов  (r) кодовой комбинации определяется степенью производящего полинома. В нашем случае r=5. Кодирующее устройство (кодер) состоит из регистра с обратными связями, число ячеек памяти которого равно числу проверочных элементов (в нашем случае число ячеек равно 5), и сумматоров по модулю два, число которых на единицу меньше числа ненулевых элементов производящего полинома P(x), и в нашем случае равно 2.

      

                              

        
 
 
 

Информация о работе Сети ЭВМ и телекоммуникации