Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 лаба по ПДИУС

.docx
Скачиваний:
5
Добавлен:
03.07.2018
Размер:
504.53 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Пермский национальный исследовательский политехнический университет»

Кафедра автоматики и телемеханики

ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 1

по дисциплине: Передача данных в информационно – управляющих системах

Тема: Исследование группового систематического кода

Вариант № 1

Выполнили студенты гр.

_________________________________

(дата, подпись)

_________________________________

(дата, подпись)

Проверил старший преподаватель кафедры АТ

Кулагина М. М.

_________________________________

(оценка)

_________________________________

(дата, подпись)

Пермь 2018 г.

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

Ход выполнения работы:

1. Подготовка к работе в среде Matlab Simulink

Практическая часть лабораторной работы выполнена в среде Matlab Simulink. Наш код (8, 4, 3). После получения варианта у преподавателя мы можем составить проверочную матрицу для ГСК:

Составим кодирующие соотношения для нашего варианта:

Информационный вектор: U=0101, следовательно:

Перейдем к коду (8, 4, 4), увеличив dmin до 4:

Таким образом вектор V(n,m,d)-кода будет иметь вид:

V=01011100

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

Составим таблицу с возможными синдромами на основе системы указанной выше, где – это синдромы, а – ошибка в символе кода, стоит отметить, что когда ошибок нет – все синдромы равны нулю:

Таблица 1 – Таблица синдромов

S1

S2

S3

S4

0

0

0

0

e0

1

1

1

1

e1 (a1)

1

0

1

1

e2 (a2)

1

1

0

1

e3 (a3)

0

1

1

1

e4 (a4)

1

0

0

1

e5 (c1)

0

1

0

1

e6 (c2)

0

0

1

1

e7 (c3)

0

0

0

1

e8 (c4)

2. Параллельная реализация построения кодеров и декодеров ГСК

На рисунке 1 представлена модель параллельного ГСК. Схема состоит из кодера (Encoder), канала связи (Channel), декодера (Decoder). На вход кодера подается входная последовательность из m информационных символов ai, Тактовый генератор Clock и разрешающий сигнал RESET. В процессе кодирования определяются избыточные символы , после чего вектор длиной n поступает в линию (канал) связи. Также на вход канала связи поступает вручную задающаяся помеха, определяющая место возникновения ошибки. С выхода КС сигнал с помехой подается на вход декодера, где вычисляется синдром группового кода.

Рис. 1 – Модель с параллельной реализацией ГСК

2.1. Параллельная реализация кодера ГСК

Зайдя в блок Encoder мы увидим модель параллельного кодера ГСК, схема которого представлена на рисунке 2. На параллельные входы первого буферного регистра RG1 поступают информационные символы, тактовый и разрешающие сигналы.

Рис. 2 – Параллельный кодер ГСК

В блоке Combinator (рисунок 3) будут реализованы операторы кодирования, для этого нужно произвести коммутацию сигналов ,чтобы получить соответственные полученные ранее при расчетах сигналы . После коммутации операторы кодирования . поступают на вход второго буферного регистра RG2. Выход RG2 является выходом кодера.

Рис. 3 – Блок Combinator кодера

2.2. Параллельная реализация кодера ГСК

В блоке Decoder представлена модель параллельной реализации декодера ГСК (рисунок 4).

Рис. 4 – Модель параллельной реализации декодера ГСК

На вход буферного регистра RG1 параллельно подаются разряды вектора . Выходные сигналы поступают на устройство вычисления синдрома Syndrome Calculations. Откроем блок Syndrome Calculations и скоммутируем разряды вектора для определения разрядов синдрома , как представлено на рисунке 5.

Рис. 5 – Блок Syndrome Calculations

Блок декомбинации синдрома Syndrome Decombinator (рисунок 6) определяется составленной ранее таблицей значений синдрома. Коммутация разрядов синдрома здесь осуществляется с помощью логического элемента «И» и «НЕ».

В блоке исправления ошибки Error Correction разряды вектора суммируются по модулю два с разрядами ошибки. Таким образом, в соответствии с таблицей истинности элемента m2 (XOR), ошибочный разряд будет инвертирован. При этом, если на выходе декомбинатора синдрома последний разряд e8 был равен единице, что будет означать двукратную ошибку, значение этого разряда будет инвертировано в ноль и подано на вход RESET выходного буферного регистра RG2 и следовательно сообщение будет стерто. Выдача информации на выходе каждого функционального блока происходит путем объединения выходных разрядов в вектор с помощью Mux (Simulink |Commonly Used Blocks). Количество входов задается в свойствах мультиплексора. Значение вектора поступает на цифровой дисплей Display (Simulink | Sinks).

Рис. 6 – Блок SyndromeDC

3. Проверка при различных ошибках

3.1. Без ошибок в сообщении

Будем проверять для V=01011100

Рис. 7 – При однократной ошибке в a1

Рис. 8 – При двукратной ошибке в a1 и a2

Рис. 9 – При однократной ошибке в с1

Рис. 10 – При трехкратной ошибке в a1, a2, a4

Вывод: ГСК-код (8, 4, 4), исправляет одну ошибку и обнаруживает две ошибки. Если все разряды синдрома равны 0, значит ошибок нет и сообщение принято верно. Декодер исправляет однократную ошибку (нечетной кратности) - хотя бы одна координата вектора синдрома ненулевая, а также, если ошибка в символе c4 – все координаты вектора синдрома равны 0. Общая проверка на четность (S4) в данном случае равна 1 (иначе стирает сообщение).