Lab_code
.pdfЛабораторная работа №2 ИССЛЕДОВАНИЕ ЦИКЛИЧЕСКИХ КОДОВ
1. Цель работы
Ознакомление с методами построения циклических корректирующих кодов. Экспериментальное исследование обнаруживающей и исправляющей способности циклических кодов.
2.Предварительная подготовка
1.1.Ознакомиться с описанием работы, изучить по указанной ниже литературе и ответить на следующие вопросы:
- Что такое кодовое расстояние кода, как оно определяется?
- Как связана способность кода обнаруживать и исправлять ошибки с кодовым расстоянием?
- Что такое и какой вид имеют производящая и проверочная матрицы линейных кодов?
- Какие корректирующие коды называются циклическими, их свойства? - Какие корректирующие коды называются свёрточными, их свойства?
- Что такое производящий многочлен, как он используется для кодирования и декодирования?
- Что такое синдром ошибки, как он определяется математически и в декодере?
- Нарисуйте структурную схему синдромного декодера! В чём состоят проблемы его практической реализации?
- В чём отличие декодера Меггита от обычного синдромного декодера?
- В чём отличие декодера Касами-Рудольфа от обычного синдромного декодера?
- Нарисуйте структурную схему мажоритарного декодера.Какие коды позволяют осуществлять мажоритарное декодирование?
- Нарисуйте структурную схему порогового декодера.
1.2.Рассчитайте вероятность ошибки в кодовом слове на входе и выходе декодера для исследуемых кодов, если вероятность ошибки в канале с независимыми ошибками равна р (в соответствии с вариантом, указанным в таблице 2.1).
Таблица 2.1
№ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
бригады |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р |
0,1 |
0,09 |
0,08 |
0,07 |
0,06 |
0,05 |
0,04 |
0,03 |
0,02 |
0,01 |
0,05 |
0,025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.Для подготовки к работе рекомендуется следующая литература:
- А.А.Макаров, В.П.Прибылов. Помехоустойчивое кодирование в системах телекоммуникаций: Учеб. пособ., 2004.
11
-А.А.Макаров. Методы повышения помехоустойчивости систем связи: Учеб. пособ., 1991.
-А.А.Макаров, Л.А.Чиненков. Основы теории помехоустойчивости систем связи: Учеб. пособ., 1997.
-А.А.Макаров, В.И.Ковязин. Автоматизация проектирования систем передачи данных: Учебное пособие, 1987.
3. Краткая теория |
|
|
|
Декодер Меггита представляет |
собой |
синдромный |
декодер, |
исправляющий одиночные ошибки, в памяти которого с целью упрощения хранится только один синдром ошибки S15(x)=x3+1 (соответствует последовательности ошибки ( ) ), синдромы остальных одиночных ошибок циклически сдвигаются в регистре синдрома до совпадения с S15(x); число тактов сдвига i (i=0,l,2...14) плюс единица равно номеру искаженного кодового элемента. Структурная схема декодера показана на рисунке 2.1.
Рисунок 2.1- Декодер Меггита циклического кода (15,11)
Декодер работает следующим образом. Кодовое слово (с ошибками или без них) в виде последовательности из 15 двоичных символов поступает в буферный регистр и одновременно в регистр синдрома, где производится деление этого слова на производящий многочлен кода g(x)=x4+x+l в результате чего вычисляется синдром ошибки Sj(x): S0j, S1j, S2j, S3j - символы синдрома. Ошибка обнаруживается, если хотя бы один символ синдрома не равен нулю. Исправление ошибок производится в следующих 15 тактах. Если Sj(x)=S15(x), то ошибка в первом символе кодового слова, который находится в 15ой ячейке буферного регистра. Тогда на первом такте схема {И} выдаёт единицу и в сумматоре по mod2 на выходе буферного регистра корректируется первый символ кодового слова. Если ошибка в другом символе, то производится циклический сдвиг синдрома Sj(x) в регистре синдрома по цепи обратной связи с учетом того, что вход декодера в цикле исправления ошибок отключен. На каждом i-ом такте проверяется равенство Sj+i(x)=S15(x) и в благоприятном случае на выходе схемы {И} появляется импульс коррекции ошибки, инвертирующий символ на выходе буферного регистра.
12
На рисунке 2.2 приведена структурная схема декодера КасамиРудольфа.
Рисунок 2.2 -Декодер Кассам и-Рудольфа для циклического кода Голея (23,12)
В данном декодере используется не оптимальный перестановочный метод декодирования, в котором с целью упрощения процедуры поиска ошибки используются циклические сдвиги синдромов ошибок и их сравнение с “покрывающими” синдромами (алгоритм Касами-Рудольфа). Для кода Голея (23,12): g(x)=x11+х9 +х7+х6 +х5+х+1 множество ошибок, вес (кратность)
которых не превышает трёх, покрывается тремя последовательностями ошибок e1(x)=0,e17(х)=х16, е18(х)=х17 , имеющих синдромы: S1(x)=0;
S17(х)=х8+х7+х4+х3+х+1; S18(x)=x9+x8+x5+x4+x2+x. Декодер отслеживает синдром ошибок, отличающийся от S1(х) не более, чем в трёх позициях, а
также синдромы ошибок, отличающиеся от S17(x) и S18 (x) не более, чем в двух позициях.
Декодирование производится в течение двух циклов.
В первом цикле в течение 23 тактов производится запись принятого кодового слова в буферный регистр (п1=0) и вычисление синдрома ошибки в синдромном регистре (п2=0).
Во втором цикле (п=1) из 23 тактов производится поиск и исправление ошибок путем циклического сдвига синдрома ошибки и его сравнения с
покрывающими синдромами в анализаторе синдрома. Одновременно циклически сдвигается кодовое слово в буферном регистре. Позиции ошибок обнаруживаются при удовлетворении какого-либо из неравенств в анализаторе синдрома; на выходе соответствующей схемы анализатора появляется сигнал, по которому выход синдромного регистра подключается
13
(n2=1) к сумматору в цепи циклического сдвига буферного регистра для исправления ошибок. Если срабатывает вторая или третья схемы анализатора, то дополнительно исправляются ошибки в 17-ой или 18-ой ячейках буферного регистра в соответствии с номером покрывающего синдрома; одновременно производится стирание этого синдрома в синдромном регистре. После 23-го такта производится проверка состояния синдромного регистра и, если остаток не превышает двух единиц, его содержимое используется для коррекции состояний первых 11 ячеек буферного регистра. На этом декодирование заканчивается и на выход выдаются информационные символы, расположенные в первых 11 ячейках буферного регистра; одновременно на вход может подаваться новое кодовое слово (п1=0).
4. Лабораторное задание
1.4.Ознакомиться с интерфейсом программы и схемами кодера и декодера Меггита, при (n,k)=(7,4).
1.5.Задать исходную комбинацию на входе кодера циклического кода (7,4) и произвести кодирование.
1.6.Затем в канале указать ошибки в любых битах получившейся в результате кодирования комбинации.
1.7.Произвести декодирование получившейся комбинации с ошибкой, с помощью декодера Меггита и сравнить с исходной.
5. Порядок выполнения работы
1.8.Изучить теоретические сведения к данной лабораторной работе, приведенные в пункте 3.
1.9.Запустить программу, двойным кликом мыши по ярлыку с названием «Циклический код (7.4)».
На экране появится окно с изображением кодера циклического кода (7,4) (Рисунок 2.3): Интерфейс программы в окне с кодером циклического кода (7;4):
1 - Исходная кодовая комбинация;
2- Закодированная кодовая комбинация;
3- Ячейки формирователя проверочных групп (ФПГ);
4- Кнопка для начала кодирования (впоследствии становится кнопкой
«Такт»);
5- Кнопка для перехода в канал связи, чтобы внести ошибку.
14
Рисунок 2.3 – Модель кодера циклического кода (7,4)
4.3 На входе кодера необходимо ввести свою исходную информационную кодовую комбинацию, после чего нажать на кнопку «Начать».
Рисунок 2.4 – Модель кодера циклического кода (7,4)
С помощью кнопки «такт» происходит выполнение следующего такта. Содержимое ячеек формирователя проверочной группы каждого такта и значение элемента на входе нужно свести в таблицу 2.2:
15
Таблица 2.2
Такт |
Вход |
|
№ ячейки ФПГ |
|
||
|
|
1 |
|
2 |
|
3 |
0 |
- |
0 |
|
0 |
|
0 |
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
5 |
0 |
|
|
|
|
|
6 |
0 |
|
|
|
|
|
7 |
0 |
|
|
|
|
|
4.4 По истечению 7 тактов формируется закодированная кодовая комбинация, которую нужно записать в отчет. Затем программа выдает сообщение «Кодирование завершено!», следует нажать ОК и перейти к каналу с помощью кнопки «В канал».
Рисунок 2.5 – Окно канала
4.5В канале необходимо указать ошибку в битах закодированной кодовой комбинации (в любом бите на выбор студента), после чего необходимо нажать кнопку «Декодировать» для перехода к декодеру Меггита.
4.6На рисунке 6 приведена схема декодера Меггита для циклического кода (7,4), по которой будет происходить декодирование кодовой комбинации с ошибкой. Бит с ошибкой выделен красным цветом. Для начала декодирования необходимо нажать кнопку «Начать».
16
Рисунок 2.6 – Модель декодера Меггита
Интерфейс программы в окне с декодером Меггита: 1 - Закодированная кодовая комбинация с ошибкой;
2- Результат декодирования;
3- Ячейки ФПГ;
4- Ячейки регистра задержки (РЗ);
5- Кнопка для начала декодирования (впоследствии становится кнопкой «Такт»);
6- Группа кнопок для дальнейшего действия:
-Кнопка «Вернуться к кодеру» - если нужно задать другую исходную комбинацию и произвести её кодирование;
-Кнопка «Вернуться к каналу» - если необходимо задать ошибку в другом бите закодированной комбинации;
-Кнопка «Выход из программы» - если лабораторная работа
выполнена, чтобы закрыть окно программы.
4.7 С помощью кнопки «такт» осуществляется переход к следующему такту. В вверху указывается действие текущего такта:
-0 такт – «Начальное состояние…»
-1-7 такт – «Идет загрузка в регистр…»
-8-14 такт – «Процесс исправления ошибки…»
-15-21 такт – «Выгрузка данных из регистра на выход…»
После выполнения 21 такта на экране высвечивается сообщение «Процесс декодирования завершен!!!» (Рисунок 2.7). Необходимо нажать ОК и зафиксировать в отчете кодовую комбинацию на выходе и выделить в ней информационные элементы.
17
Рисунок 2.7 – Модель декодера Меггита
Содержимое ячеек формирователя проверочной группы каждого такта и значение элемента на входе при выполнении действий загрузки в регистр и процесса исправления ошибки нужно свести в таблицу 2.3:
Таблица 2.3
Такт |
Вход |
|
№ ячейки ФПГ |
|
||
|
|
1 |
|
2 |
|
3 |
0 |
- |
0 |
|
0 |
|
0 |
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
7 |
|
|
|
|
|
|
8 |
- |
|
|
|
|
|
9 |
- |
|
|
|
|
|
10 |
- |
|
|
|
|
|
11 |
- |
|
|
|
|
|
12 |
- |
|
|
|
|
|
13 |
- |
|
|
|
|
|
14 |
- |
|
|
|
|
|
15 |
- |
|
|
|
|
|
4.8 После окончания выполнения лабораторной работы следует закрыть программу, затем выключить компьютер.
18
6. Содержание отчёта
Отчет должен содержать:
-цель работы;
-предварительный расчет;
-структурные схемы кодера и декодера Меггита;
-результаты кодирования и декодирования в виде таблиц 2.2 и 2.3;
-выводы.
Лабораторная работа №3 ИССЛЕДОВАНИЕ ПОМЕХОУСТОЙЧИВОСТИ СИСТЕМЫ
ПЕРЕДАЧИ ИНФОРМАЦИИ ПРИ ПРИМЕНЕНИИ СВЕРТОЧНОГО КОДА И ДЕКОДЕРА ВИТЕРБИ НА АВТОМАТИЗИРОВАННОМ РАБОЧЕМ МЕСТЕ СПИ
1. Цель работы
Экспериментальное исследование помехоустойчивости системы передачи информации при применении сверточного кода и декодера Витерби.
2. Литература
Основная литература
1Макаров А.А., Прибылов В.П. Помехоустойчивое кодирование в системах телекоммуникаций: учебное пособие/ СибГУТИ, Новосибирск,
2004. – 141 с.
2Макаров А.А. АРМ исследования и проектирования систем передачи информации: учебное пособие/ СибГУТИ, Новосибирск, 2001. – 78 с.
Дополнительная литература 3 Кларк Дж., Кейн Дж. Кодирование с исправлением ошибок в системах
цифровой связи: Пер. с англ./ Под ред. Б.С. Цыбакова.– М.: Радио и связь,
1987.– 392 с.
4 Блейхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с англ./ Под ред. К.Ш. Зигангирова.– М.: Мир, 1986.– 576 с.
5Макаров А.А., Чиненков Л.А. Основы теории помехоустойчивости дискретных сигналов: учебное пособие/ СибГУТИ, Новосибирск, 1997. – 41 с.
6Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и уч-ся втузов.-М.: Наука, Гл. ред. физ.-мат. лит., 1986. -544 с.
3.Лабораторное задание
1.Ознакомиться с лабораторной установкой.
2.Исследовать распределение кратностей ошибок на входе и выходе декодера Витерби для сверточного кода (24,12) для заданной вероятности ошибки в канале связи.
19
3. Исследовать зависимость выигрыша от кодирования при изменении отношения сигнал/шум в системе передачи информации (СПИ).
4. Порядок выполнения лабораторной работы.
Работа выполняется экспериментально с помощью автоматизированного рабочего места (АРМ) проектирования и исследования системы передачи информации.
1.Выбрать программу Arm_СПИ.exe .
2.Работа с программой АРМ начинается с выбора вариантов исследуемой СПИ - раздел структура модели СПИ. Выбрать модель дискретного канала (кнопка ДК). В блоке «Непрерывный канал» задать режим модуляции – ЧМ, когерентный прием сигналов.
3.Необходимо сделать правильный выбор объема статистических испытаний NВ . С одной стороны, это позволяет экономно использовать
машинное время ЭВМ, а с другой – обеспечить заданную в массиве исходных параметров точность определения оцениваемых величин.
Минимальное количество кодовых слов (или блоков) NВ для статистических исследований дискретного канала (ДК) или устройства защиты от ошибок (УЗО, кодека) в зависимости от средней вероятности ошибки P (на выходе канала или на выходе УЗО) определяется выражением
[1]
N |
|
z2 |
P(1 P) |
|
, |
|
|
2 n |
|
||||
|
В |
|
|
|
||
|
|
|
P |
|
|
|
где n - длина кодового слова; P |
- погрешность оценки в долях оцениваемой |
|||||
вероятности P; например, если P = (0,1÷0,15)P, то точность оценки |
||||||
вероятности составляет (10÷15) |
% ; |
|
z определяется из |
двухсторонней |
||
статистики с нормированным нормальным распределением |
|
|||||
(1-) = Ф(z ) , |
|
|
||||
(1- ) - мера надежности |
оценки, или |
вероятность того, |
что истинное |
значение определяемого среднего отстоит от его оценки не более, чем на величину P.
Например, если выбрать достаточно малым, так что (1- ) = 0,997 , то значение z = 2,95 (приложение 1).
Для доверительной оценки измеряемой величины необходимо найти доверительный интервал d , который накрывает измеренную величину с заданной вероятностью (1- )
d z P(1 P) / nNВ .
4. Методом статистических испытаний получить и построить (или вывести на принтер ЭВМ) экспериментальное распределение кратностей ошибок на входе и выходе декодера для сверточного кода (24,12) для заданного варианта вероятности ошибки в канале связи p.
20