Исследование помехоустойчивости матричного кода цель работы. Экспериментальное исследование характеристик мат­ричного кода в зависим - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Построение циклического (n,k)-кода Цель лабораторной работы 1 600.56kb.
Применение генетического программирования для локальной оптимизации... 1 115.26kb.
Исследование характеристик малогабаритной гировертикали мгв-1 2 617.87kb.
Приведём схему пакетного декодера для кода бчх с параметрами 1 37.8kb.
Вопросы к экзамену предпосылки и история пи. Повторное использование... 1 27.08kb.
Защита исполняемого кода от несанкционированных модификаций В. 1 20.03kb.
Представление чисел в памяти компьютера 1 62.69kb.
Министерство финансов 3 659.82kb.
Контрольная работа по теме «Делимость чисел» 1 148.87kb.
Лабораторная работа №3 Исследование преобразователя частоты 1 75.36kb.
А. Жоров, гр. 14-502, вариант Обязательное задание №3 1 14.08kb.
Коды Рида-Соломона с точки зрения обывателя 1 190.56kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Исследование помехоустойчивости матричного кода цель работы. Экспериментальное исследование - страница №1/1

1. ИССЛЕДОВАНИЕ ПОМЕХОУСТОЙЧИВОСТИ МАТРИЧНОГО КОДА

Цель работы.

Экспериментальное исследование характеристик мат­ричного кода в зависимости от вероятности ошибки в канале связи и фор­мата матрицы кода.



Задание

1. Изучить принцип построения матричного кода [1,4].



  1. Ознакомиться с лабораторной установкой, а также правилами рабо­ты на ней.

  2. Провести экспериментальные исследования характеристик матрич­ного кода.

  3. Построить графики зависимости вероятности (частости) правильно­го приема данных и эффективной скорости передачи данных пользователю в зависимости от вероятности ошибки в канале связи и формата матрицы.

Общие сведения о принципах построения матричных кодов

Матричный код является итеративным кодом и образуется последова­тельным применением двух или трех кодов. Информационные символы располагаются в виде матрицы или таблицы (рис. 1.1).



Информационные символы

Проверочные символы по строкам

Проверочные символы по столбцам

Проверка проверок

Рис. 1.1. Расположение символов матричного кода

Каждая строка этой таблицы кодируется некоторым кодом с дополне­нием проверочных элементов, затем кодируется каждый столбец, причем произвольным кодом, и также дополняется проверочными элементами. Символы, расположенные в правом нижнем углу таблицы, получаются в результате проверки проверочных элементов. В данной лабораторной ра­боте используется матричный код с проверкой на четность как по строкам, так и по столбцам. Пример такого матричного кода приведен на рис. 1.2, где информационная матрица содержит 7x7 элементов, а получаемый ко­довый блок — 8x8 элементов.



1

1

0

0

1

0

1

0

0

1

1

1

0

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

1

1

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

1

1

1

1

1

1

1

0

0

0

0

1

0

0

0

0

1

0

0

Рис. 1.2. Пример матричного кода 8x8

Минимальное кодовое расстояние матричного кода равно произведе­нию кодовых расстояний применяемых кодов. Минимальное кодовое рас­стояние при проверке на четность равно 2, поэтому для рассматриваемого матричного кода d= 4. В режиме обнаружения ошибок матричный код гарантирует обнаружение трехкратных ошибок, а в режиме исправления -однократных ошибок. В частности, обнаруживаются все ошибки нечетной кратности, а также любые пакеты ошибок, длина которых не превышает длины строки.

При возникновении однократной ошибки в результате декодирования не совпадут одна проверка на четность по строке и одна по столбцу, что позволяет определить положение общего для данной строки и столбца ис­каженного информационного элемента и исправить его.

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


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

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



Порядок выполнения экспериментов

Ознакомиться с правилами работы на ПК. После включения ПК на диске С найти каталог LABRAB и запустить программу C:\LABRAB\ matkod. exe.

В программе предусмотрена возможность изменения скорости вывода информации на экран монитора: по умолчанию время вывода каждого символа равно 50 мс. Для изменения времени задержки вывода символов на экран необходимо при запуске программы после расширения «ехе» вве­сти новую величину задержки в микросекундах. Например, если необхо­димо увеличить время задержки до 100 мс, то в командной строке следует записать: C\LABRAB\ matkod.exe 100.

После запуска программы Вы попадаете в «окно» демонстрационного режима, где показан алгоритм прохождения информации от передатчика к приемнику.

Далее, чтобы попасть в «окно» ввода исходных данных, Вы должны нажать любую клавишу и ввести исходные данные:

Введите число столбцов п = ...

Введите число строк т = ...

Вероятность ошибки р= ...

Введите количество передаваемых бит х = ...

Переход после ввода одного параметра к вводу следующего параметра осуществляется нажатием клавиши ENTER.

Вводя исходные данные, обратите особое внимание на некоторые ог­раничения:

число столбцов от 2 до 7;

число строк от 2 до 10;

коэффициент ошибки от 0.0001 до 0.1 (при вводе коэффициента ошибки будьте внимательны, так как в десятичном числе число целых от­деляется от числа десятков точкой, а не запятой);

максимальное число передаваемых бит 10000.

Объем передаваемых данных за сеанс в битах задается преподавате­лем. Выбирая формат матрицы, определяем необходимое число блоков для передачи заданного объема данных



b =] х / (m n) [,

где b — число блоков.

Далее нужно ввести информационную последовательность нулей и единиц (длиной х). Для упрощения ввода передаваемой информации дос­таточно ввести один информационный блок, который будет повторяться нужное количество раз. После ввода информационного блока нажмите ENTER и на экране монитора будут отображены: исходная передаваемая и принимаемая матрицы, а также матрица, полученная в результате декоди­рования.

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

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

Чтобы перейти к просмотру следующих блоков, нажмите любую кла­вишу. После просмотра всех информационных блоков, чтобы попасть в «окно» просмотра результатов, нажмите ENTER.

Полученные результаты записать в табл. 1.1.

Таблица 1.1

Формат матри­цы N=mxn, бит

Вероят­ность

ошибки в КС



Ро

Число пере­данных блоков

mпрд

Число принятых блоков

Вероят­ность пра­вильного приема данных

Рпрм

без оши­бок

mбо

с исправ­ленными ошибками

mио

с обнару­женными ошибками

mоо

с необнару­женными ошибками

mно

















































Эксперимент выполняется несколько раз согласно указанию препода­вателя. Если эксперимент надо продолжить, нажмите ENTER, если нет — ESC.

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



Затем вычисляется относительная скорость:




где — количество проверочных разрядов в матрице.

На основании полученных результатов построить графики зависимо­стей вероятности (частости) правильного приема Рпрм и относительной скорости приема R в дискретном канале от выбранного формата матрицы х п).

ВНИМАНИЕ! Перед выключением компьютера необходимо выйти из программы, щелкнув мышью по кнопке «Выход», и выйти из Windows, нажав комбинацию клавиш «Alt + F4», после чего подтвердить свое реше­ние. Затем можно выключить компьютер.

Содержание отчета

Отчет должен содержать:



  • структурную схему системы передачи данных, реализованной в данной лабораторной работе;

  • упрощенную функциональную схему алгоритма работы данной СПД и ее описание;

  • таблицы и графики, отражающие результаты экспериментов;

  • выводы.

Контрольные вопросы

  1. Принципы построения матричного кода?

  2. Как осуществляется исправление и обнаружение ошибок?

  3. Какие ошибки не обнаруживаются и почему?

  4. Каким достоинством обладает матричный код?

  5. Как зависит вероятность правильного приема от формата матрицы?



2. ИССЛЕДОВАНИЕ ПОМЕХОУСТОЙЧИВОСТИ ЦИКЛИЧЕСКОГО КОДА

Цель работы.

Экспериментальное исследование характеристик цик­лического кода в зависимости от вероятности ошибки в канале связи и длины передаваемого блока.



Задание

Изучить принцип построения циклического кода [2, 4, 6]. Ознако­миться с лабораторной установкой, а также правилами работы на персо­нальном компьютере.

Провести экспериментальные исследования характеристик цикличе­ского кода в зависимости от вероятности ошибок в канале связи и длины передаваемого блока.
Общие сведения о принципах построения

циклических кодов

Циклический код относится к систематическим блочным (n,k)-кодам, в которых k первых разрядов представляют собой комбинацию первичного кода, а последующие (n - k) разрядов являются проверочными. Код пред­назначен для обнаружения и исправления ошибок, возникающих при пере­даче кодовых комбинаций по каналу связи.

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

При декодировании принятой n-разрядной кодовой комбинации опять производится деление на образующий полином.

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

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

В целях повышения вероятности правильного обнаружения и исправ­ления возникающих ошибок в лабораторной работе n-разрядная кодовая комбинация дополняется (п+1) единичным элементом для проверки всей кодовой комбинации на четность.

В полученном коде кодовое расстояние d = 4, что обеспечивает ис­правление однократных, обнаружение трехкратных и всех нечетных оши­бок. Увеличение кодового расстояния до 4 позволяет проводить сравни­тельный анализ эффективности циклического и матричного кодов.

Для определения степени образующего полинома можно воспользо­ваться выражением

гlog2(n+l).

На основании полученного значения r из табл. 2.1 необходимо вы­брать образующий полином Р(х).

Таблица 2.1

r

Р(х)

r

Р(х)

2

111

6

1000011

3

1011




1100111

4

10011

7

10001001

5

100101




10001111




111101




10011101




110111

8

111100111










100011101










101100011

Лабораторная установка по исследованию циклического кода реали­зована на базе ПК.

С помощью данной лабораторной установки реализуется имитация однонаправленной системы передачи данных. Здесь передача данных от передатчика к приемнику осуществляется с помощью программы на языке программирования QuickBasic. В последней моделируются передающая часть аппаратуры передачи данных (АПД) с кодирующим устройством циклического кода и проверкой на четность, дискретный канал связи, у ко­торого можно изменять вероятность искажений кодовых единичных эле­ментов от 0 до 0.5, и приемная часть АПД с декодирующим устройством.

Вся передаваемая и принимаемая информация отображается на экране дисплея.



Порядок выполнения экспериментов

Ознакомиться с правилами работы на персональном компьютере (ПК). Под руководством преподавателя после включения ПК выбрать нужный файл, содержащий программу «Исследование помехоустойчиво­сти циклического кода».

Вероятность искажения кодовых единичных элементов при передаче их по дискретному каналу связи (вероятность ошибки ро) необходимо вы­брать из табл. 2.2.

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



Таблица 2.2

№ п/п

1

2

3

4

5

6

7

8

Ро

210

110-1

510-2

210-2

110-2

510-3

210-3

110-3

После запуска программы необходимо ввести следующие исходные данные: длину информационной комбинации k; степень образующего по­линома r; количество передаваемых блоков N; вероятность ошибки ро; об­разующий полином Р(х); собственно информационную комбинацию пер­вичного кода.

Все перемещения между полями ввода осуществляются клавишей TAB. Параметры к, r, N, p0 набираются с помощью цифровой клавиатуры, причем дробные значения вводятся с помощью десятичной точки (напри­мер, 0.05 или 0.5). При переходе к вводу образующего полинома появляет­ся меню полиномов по степени возрастания r. Из него с помощью стрелок управления курсором надо выбрать нужный полином и нажать клавишу ENTER. Выбранный образующий полином появится в своем поле ввода.

При вводе информационной комбинации первичного кода набирается произвольная комбинация двоичных элементов длины k.

В случае некорректного ввода исходных данных или ошибок при вво­де, на экране дисплея появляется соответствующее сообщение (например, «Все поля должны быть заполнены!», «Вероятность ошибки должна быть меньше 1!», «Недопустимая форма двоичного числа!» и т. д.). Пока не будут исправлены все ошибки в исходных данных, дальнейшая работа программы невозможна.

При правильном вводе исходных данных можно приступать к даль­нейшей работе. В программе предусмотрены два режима работы: демон­страционный (пошаговый) и непрерывный. Для выбора демонстрацион­ного режима необходимо нажать клавишу F5. В этом режиме передача производится по одному блоку, для того чтобы передать следующий блок надо снова нажать F5 и т. д. Для выбора непрерывного режима служит клавиша F9. В этом режиме передача всех N блоков осуществляется непре­рывно, без остановок.

Слева на экране находится счетчик переданных блоков, показываю­щий текущий номер переданного блока.

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

Визуально можно отмечать правильность исправления циклическим кодом одиночной ошибки и сравнивать передаваемую информацию с при­нятой.

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


Таблица 2.3

Номер сеанса




Вероятность ошибки р0




Длина блока n




Степень Р (х) r




Количество переданных блоков N




Количество принятых блоков:

- без ошибок тбо

- с исправленной ошибкой тио

- с обнаруженными ошибками тоо

- с необнаруженными ошибками тно

- с ложными исправлениями тли





















Для того чтобы начать новый сеанс передачи, нажмите клавишу ENTER, а для выхода из программы - клавишу F10.

Вся необходимая информация о назначении функциональных клавиш отображается в строке подсказок внизу экрана.

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

На основании полученных результатов построить графики зависимо­сти вероятности (частости) правильного приема блоков от вероятности ошибки в канапе и длины передаваемых блоков.



Содержание отчета

Отчет должен содержать:



  • упрощенную функциональную схему алгоритма работы данной СПД;

  • таблицы и графики, отражающие результаты экспериментов;

  • выводы.

Контрольные вопросы

  1. Принципы построения циклических кодов?

  2. Что означает неприводимый примитивный многочлен?

  3. Как проводится выбор образующего полинома?

  4. Как проводится исправление ошибок?

  5. Какие ошибки не обнаруживаются и почему?

  6. Какими достоинствами обладает циклический код?


3. ИССЛЕДОВАНИЕ ЦИКЛИЧЕСКИХ КОДОВ, ИСПРАВЛЯЮЩИХ ПАКЕТЫ ОШИБОК (код ФАЙРА)

Цель работы.

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



Задание

Изучить принцип построения кода Файра [2, 5]. Ознакомиться с лабо­раторной установкой, а также правилами работы на персональном компь­ютере.

Провести экспериментальные исследования характеристик кода Фай­ра, в зависимости от вероятности ошибок в канале связи, длины пакета ошибок и исправляющей способности.

Общие сведения о принципах построения кода Файра

Код Файра относится к систематическим (линейным) блочным разде­лимым (n,k)-кодам, в которых k первых разрядов представляют собой комбинацию первичного кода, а последующие r = (п - к) разрядов явля­ются проверочными. Предназначен для обнаружения и исправления пачки ошибок длиной b, возникающих при передаче кодовых комбинаций по ка­налу связи.

В общем виде код Файра представляет собой циклический коды, обра­зующий полином которого имеет вид

P(x) = g(x)(xc+1),

где g(x) — неприводимый полином степени r'.

Неприводимые примитивные полиномы представлены в табл. 3.1.

Таблица 3.1

r'

2

3

4

5













100101




111

1011

10011

101111










110111

Выбор неприводимого полинома производится из условия, что сте­пень неприводимого полинома r' больше или равна пачке исправляемых ошибок b.

Число корней неприводимого полинома

е = 2г'-1.

Степень двучлена (хс+1) определяется выражением c > r', причем с некратно е.

Длина кодовой комбинации

п = НОК(се),

где п — наименьшее общее кратное сие.

Число проверочных разрядов

r = с + r'.

Число информационных разрядов



k = п - r.

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

При декодировании производится раздельное деление принятой кодо­вой комбинации на полином g(x) степени r' и на полином с+1).

В результате такого деления в сдвигающих логических регистрах, со­ответствующих многочленам g(x) и с+1), получаются остатки R1(x) и R2{x), которые будут нулевыми, если ошибок не было. Если же прошла одиночная пачка ошибок длиной b < r', то остатки будут отличны от нуля и не равны между собой.

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



Рис. 3.1. Блок-схема декодирующего устройства кода Файра
Совпадение остатков от деления в обоих логических регистрах свиде­тельствует об обнаружении пакета ошибок, а количество дополнительных сдвигов кодовых комбинаций без числа проверочных разрядов указывает на место, которое занимает ошибочный пакет в декодируемой кодовой комбинации. Кодовая комбинация остатка от деления на неприводимый полином является корректирующей комбинацией, которая добавляется к искаженно принятой комбинации в момент открытия ключа, тем самым исправляя возникающие ошибки (рис. 3.1).

Лабораторная установка исследования циклического кода реализована на базе ПК.

С помощью данной лабораторной установки реализуется имитация однонаправленной системы передачи данных, передача данных от пере­датчика к приемнику осуществляется с помощью программы на языке про­граммирования Turbo Pascal 7. В последней моделируется передающая часть аппаратуры передачи данных (АПД) с кодирующим устройством ко­да Файра, дискретный канал связи, у которого можно изменять вероят­ность искажений от 0.001 до 0.1, а также варьировать в заданных пределах размер пакета ошибки, и приемная часть АПД с декодирующим устройст­вом. Вся передаваемая и принимаемая информация отображается на экране дисплея.
Порядок выполнения экспериментов

Ознакомиться с правилами работы на персональном компьютере и включить его и дисплей. Под руководством преподавателя выбрать нуж­ный диск, каталог и файл fairkod.exe. Выделить его с помощью стрелок управления курсором и нажать клавишу ENTER, что приведет к автомати­ческому запуску программы «Исследование циклического кода Файра ис­правляющего пачки ошибок». Практически все переходы из одного ин­формационного поля в следующее осуществляются с помощью клавиши ENTER, в иных случаях присутствуют другие комментарии.






Введите длину пакета исправляемых ошибок ( до 5) ……………………….3

Введите количество передаваемых блоков (не менее 1000)…………………. 1000

Введите вероятность искажения бита в канале (от 0.1 до 0.001)………………..0.1

Введите максимальную длину возможного пакета ошибок (от 2 до 10)……….10 Выберите степень необходимого неприводимого полинома (не более 5-ой)…….3

Введите выбранный полином в виде двоичной комбинации ..........................1011

Введите количество корней неприводимого полинома …………………......7

Введите степень двучлена ………………………....8

Введите длину кодовой комбинации ……………………...56

Введите число проверочных разрядов в комбинации………………………… ….11

Введите число информационных разрядов в комбинации ……………………...45

Выберите режим 1 — демо, 0 — рабочий ……………………….0

ВАШ 0БРАЗУЮЩИЙ ПОЛИНОМ - 101100001011

После нажатия кнопки Enter по вашим исходным данным будет происходить случайная генерация информационных комбинаций с заданной вами длинной их кодирование и посыл в "Канал" с последующим декодированием и сбором статистики

Рис. 3.2. Пример ввода данных на экране дисплея

Объем и содержание передаваемых данных за сеанс задается препода­вателем. Задаваясь вероятностью ошибки в дискретном канале и изменяя длину пакетов ошибок, а также (когда это необходимо) образующие многочлены, экспериментально определяется число принятых блоков, не со­держащих ошибок, содержащих ошибки, которые исправляются цикличе­ским кодом, число блоков, в которых ошибки не обнаружены или имеются ложные исправления.

После запуска программы и появления на экране дисплея заставки ла­бораторной работы необходимо нажать клавишу ENTER. Затем следует ввести исходные данные: длину пакета исправляемых ошибок, количество блоков информации (для набора статистики), вероятность ошибки, воз­можный размер пакета ошибок, степень неприводимого полинома, непри­водимый полином в двоичном коде, количество его корней, степень дву­члена для образования образующего полинома, длину информационной комбинации, количество проверочных и информационных разрядов, а также выбрать режим демо или рабочий (рис. 3.2).

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

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

При правильном введении исходных данных можно приступать к дальнейшей работе.



Номер блока/пак.ошибок 48/3

Исходная комбин. 010011001111101011110011010111100110001001111

комбин. после код-я 01001100111110101111001101011110011000100111110000000101

Комбин_на выходе кан. 01001100111110101111001101011110011000100111101100000101

Коррект-ий многочлен 110

Декодированная комбин.

Кол-во ошибок…….………1

Остат. от дел-я исх. конб. на производящий полином………………………10000000101

Остат. от деления исх. камб. на неприв. полином. 34й сдвиг………………………1100

Неприводимый полином………………………………………………………………….1011

Остаток от дел. остатка исх. комб. на неприв. полином…………………….................111

Остат. от дел-я исх. комб. на заданн. двучлен…………………………………...000011100

Заданным двучлен…………………………………………………………………..100000001

Остат. от дел-я остатка исх. комб. на задан.двучлен…………………………….00011100

Сумма остатков от деления. Если = 6 указыв. место ошибки………………….00011011
Чтобы прервать процесс, нажмите любую клавишу.




Рис. 3.3. Пример демонстрационного режима на экране дисплея
В программе предусмотрены два режима работы: демонстрационный (пошаговый) и непрерывный. При выборе демонстрационного режима (рис. 3.3) программа переходит в пошаговый режим при приеме ошибоч­ной комбинации и демонстрирует при нажатии ENTER или <пробел> эта­пы процесса кодирования и декодирования. При выборе непрерывного ре­жима передача всех N блоков осуществляется непрерывно, без остановок.

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

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

На следующем экране (рис. 3.4) находится статистическая таблица, в которой отображаются результаты эксперимента: число принятых блоков, число привнесенных ошибок, исправляемый пакет ошибок, число блоков, принятых без ошибок, с обнаруженными ошибками (с указанием размера пакета ошибок).


Исправляемый пакет ошибок/Колич-во ошибок/передано блоков 3/106/1000

Количество верно декодированных блоков с ошибками.............................43

Исправлено блоков ошибок длиной 1 бит ………………………………18

Исправлено блоков ошибок длиной 2 бит ………………………………..9

Исправлено блоков ошибок длиной 3 бит ………………………………16

Исправлено блоков ошибок длиной 4 бит ………………………………..0

Исправлено блоков ошибок длиной 5 бит ...................................0

Исправлено блоков ошибок длиной 6 бит ………………………………..0

Исправлено блоков ошибок длиной 7 бит ………………………………..0

Исправлено блоков ошибок длиной 8 бит………………………………………..0

Исправлено блоков ошибок длиной 9 бит………………………………………..0

Исправлено блоков ошибок длиной 18 бит ………………………………..0

Количество неверно декодированных блоков с ошибками………………….63

Неисправлено блоков ошибок длиной 1 бит. ………………………………..0

Неисправлено блоков ошибок длиной 2 бит ………………………………..0

Неисправлено блоков ошибок длиной 3 бит ………………………………..0

Неисправлено блоков ошибок длиной 4 бит …………………………………8

Неисправлено блоков ошибок длиной 5 бит ………………………………15

Неисправлено блоков ошибок длиной б бит ………………………………..6

Неисправлено блоков ошибок длиной 7 бит ………………………………12

Неисправлено блоков ошибок длиной 8 бит …………………………….7

Неисправлено блоков ошибок длиной 9 бит…………………………………….7

Неисправлено блоков ошибок длиной 18 бит ………………………………..8




Рис. 3.4. Пример статистических данных на экране дисплея

В конце сеанса эти данные необходимо записать в таблицу.

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

По полученным экспериментальным данным:



  • определить закономерность правильного приема блоков в зависи­мости от вероятности ошибки в канале, исправляющей способности и дли­ны пакета ошибок в передаваемых блоках;

  • на основании полученных результатов построить графики вероят­ности появления неверно декодированных комбинаций в зависимости от длины пакета ошибок для неприводимых полиномов степеней 2, 3, 4, 5.

Содержание отчета

Отчет должен содержать:



  • упрощенную функциональную схему алгоритма работы данной СПД;

  • таблицы и графики, отражающие результаты экспериментов;

  • выводы.

Контрольные вопросы

  1. Принципы построения циклических кодов.

  2. Что означает неприводимый примитивный многочлен?

  3. Как проводится выбор образующего полинома?

  4. Как проводится исправление ошибок?

  5. Какие ошибки не обнаруживаются и почему?

  6. Какими достоинствами обладает код Файра?

4. ИССЛЕДОВАНИЕ ПОМЕХОУСТОЙЧИВОСТИ ЦЕПНОГО КОДА



Цель работы. Экспериментальное исследование характеристик цеп­ного кода в зависимости от вероятности ошибки в канале связи и шага сложения его информационных элементов при формировании провероч­ных разрядов.

Задание

Изучить принцип построения цепного кода [1, 3, 7]. Ознакомиться с основными правилами работы на персональном компьютере. Провести экспериментальные исследования характеристик цепного кода.

Построить графики зависимости частости (вероятности) необнару­женных ошибок от вероятности ошибки в канале связи и шага сложения информационных элементов.

Общие сведения о принципах построения цепного кода

Цепной код является самым простым из всех известных сверточных кодов, которые относятся к непрерывным или рекуррентным кодам.

В цепном коде каждый проверочный элемент формируется путем сложения двух информационных элементов, отстоящих один от другого на t элементов, по модулю 2:


где t — шаг сложения (рис. 4.1).

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

Следовательно, избыточность цепного кода равна .

...




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

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

При декодировании принимаемая последовательность единичных элементов делится на две независимые последовательности: информаци­онную и проверочную. Из информационной последовательности по тому же принципу, что и при кодировании, снова формируется проверочная по­следовательность.

Единичные элементы вновь полученной проверочной последователь­ности сравниваются с единичными элементами принятой проверочной по­следовательности. Если соответствующие сравниваемые элементы совпа­дают, считается, что ошибки нет, в противном случае должно быть приня­то решение об ошибке.

Изменение значения информационного элемента, например, (пере­ход 1 в 0 или 0 в 1), приводит к изменению значений двух связанных с ним проверочных элементов и Наличие двух несовпадений прове­рочных элементов, сдвинутых друг от друга на t информационных элемен­тов, указывает на искажение информационного элемента, общего для обо­их проверочных элементов ( в рассматриваемом примере). В этом случае значение необходимо инвертировать. Регистрация несовпадения лишь одного проверочного элемента указывает на ошибочный прием только это­го проверочного элемента.

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

Это условие выполняется полностью, если длина пакета ошибок не превышает величины 2t (t информационных и t проверочных, которые пе­редаются в канал связи с задержкой 2t+1).

При этом необходимо, чтобы между последним элементом данного пакета ошибок и первым элементом последующего пакета ошибок было принято подряд не менее 4t неискаженных элементов.






Рис. 4.2. Последовательность единичных элементов, передаваемых в канал связи

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



Порядок выполнения экспериментов

Включить компьютер и запустить Windows. После появления окна диспетчера программ, открыть групповое окно ПРИЛОЖЕНИЯ и, щелкнув дважды мышью по значку программы «Цепной код», запустить программу.

Выполняемая работа состоит из двух этапов: демонстрационный и исследовательский. На первом этапе имеется возможность проанализиро­вать в замедленном темпе последовательность операций в процессах коди­рования и декодирования цепного кода, а на втором — провести исследо­вания зависимости вероятности (частости) необнаруженных ошибок от ве­роятности ошибки в канале связи и длины пакета ошибок , исправ­ляемых цепным кодом.

В демонстрационном режиме в поле открывшегося окна необходимо задать передаваемую кодовую комбинацию, для чего установить размер кодовой комбинации в битах (не более 10). Кодовую комбинацию можно задать в виде меандра, щелкнув мышью по соответствующей кнопке, или в виде случайной кодовой комбинации, щелкнув мышью по кнопке «Задать КК». Кроме того, перед началом кодирования необходимо добавить перед кодовой комбинацией t нулей, а в конце — 2t нулей, для чего достаточно щелкнуть мышью по соответствующей кнопке.

Кодирование заданной кодовой комбинации начинается с задания шага кодирования, который может изменяться до 10, и задержки между циклами в секундах (до 100 с), определяющей темп процесса кодирования. Для за­пуска кодера щелкните мышью по кнопке «Старт». При этом для демонст­рации процесса кодирования в строке «Кодирующее устройство» белым цветом выделены позиции информационных элементов кодовой комбина­ции, участвующие в формировании текущего проверочного разряда.

В строке «Информационные элементы» отображаются разряды коди­руемой кодовой комбинации.

В строке «Проверочные элементы» отображаются разряды провероч­ной кодовой комбинации, получаемые в результате суммирования по мо­дулю 2 соответствующих информационных разрядов.

В строке «Передаваемая кодовая комбинация» отображается процесс расстановки проверочных разрядов между информационными комбина­циями, а в строке «Кодовая комбинация в канале связи» отображается пе­редаваемая в канал связи кодовая комбинация целиком.

Декодирование принятой кодовой комбинации начинается после по­ложительного ответа на вопрос: «Начать декодирование».

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

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

В поле открывшегося окна необходимо сделать следующие установ­ки:

шаг кодирования t до 10;


  • задержку, если необходимо;

  • количество передаваемых бит до 106;

- вероятность ошибки в канале связи, при этом необходимо устано­вить галочку «создать ошибки».

В ходе экспериментальных исследований задают вероятность ошибки в канале связи и получают зависимость числа необнаруженных ошибок E от величины шага кодирования t:



Е (t) = Nош Nиспр.ош..

Содержание отчета

Отчет должен содержать таблицу с результатами исследований и гра­фики Е (t).

В выводах необходимо указать наиболее рациональное t для соответ­ствующей вероятности ошибки в канале связи.

Контрольные вопросы


  1. Как строится кодер цепного кода?

  2. Как строится декодер цепного кода?

  3. От чего зависит исправляющая способность цепного кода?

ЛИТЕРАТУРА

  1. Кларк Дж.т Кейн Дж. Кодирование и исправление ошибок в системах цифровой связи. М.: Радио и связь. 1987.

  2. Когновицкий ОС. Основы циклических кодов: учеб. пособие /ЛЭИС. Л., 1990.

  3. Нейефах Л.Э. Сверточные коды для передачи дискретной информа­ции. М.: СвязьЛ979.

  4. Передача дискретньк сообщений: учебник для вузов / Под ред. В.П. Шу­валова М: Радио и связь, 1990.

  5. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки / Пер с англ. М.: Мир. 1976.

  6. Пушкин В.М., Сергиевский Б.Р. Методы кодирования дискретных со­общений: учеб. пособие/ЛЭИС. Л., 1982.

  7. Шляпоберский В.И. Основы теории передачи дискретных сообщений. М.: Связь, 1973.


СОДЕРЖАНИЕ

  1. Исследование помехоустойчивости матричного код…………3

  2. Исследование помехоустойчивости циклического кода……..8

  3. Исследование циклических кодов, исправляющих

пакеты ошибок (код Файра) ………...12

4. Исследование помехоустойчивости цепного кода ………...18



Литература ………...22