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

8552

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
1.73 Mб
Скачать

Лабораторная работа №8. Рекуррентные коды

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

Теоретические сведения

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

Структурная схема кодирующего и декодирующего устройства на основе использования рекуррентных кодов приведена на рис. 8.1.

Рис. 8.1. Схема кодирующего и декодирующего устройства для рекуррентного кода

Рекуррентный код позволяет исправлять одиночные ошибки, если предыдущие три символа были приняты правильно.

Задание для лабораторной работы

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

Внешний вид программы лабораторной работы показан на рис. 8.2.

Рис. 8.2. Внешний вид программы лабораторной работы по исследованию рекуррентных кодов

Нажимая кнопку «Далее» по шагам исследовать работу рекуррентного кода. Вводя в передаваемые данные ошибки исследовать процесс исправления ошибок. Исследовать влияние расположение ошибок на способность кода исправлять их.

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

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

1.Структурную схему рекуррентного кода.

2.Таблицу с пошаговой иллюстрацией работы рекуррентного кода.

3.Результаты анализа расположения ошибок на возможность рекуррентного кода исправить их.

4.Рассчитанное значение избыточности кода.

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

1.Понятие рекуррентного кода; особенности использования в кодерах .

2.Информационные характеристики рекуррентных кодов.

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

4.Влияние расположение ошибок на способность кода исправлять их.

Лабораторная работа №9. Циклические коды

В лабораторной работе исследуются наиболее распространенные в технике связи циклические коды. Структурная схема кодера и декодера показана на рис. 9.1.

Рис. 9.1. Структурная схема кодера и декодера на основе циклического кода

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

На рис. 9.1 показан код (9,4). Исходные данные помещаются в вектор . При поступлении тактовых импульсов вектор ,

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

После первых 5 тактов работы схемы, ключ переключается в положение 2 и значения сформированные в триггерах передаются в канал связи. Работа кодирующего устройства, для образующего полинома , представлена в табл. 9.1.

Табл. 9.1. Иллюстрация пошаговой работы кодирующего устройства

Вектор

Значения на триггерах

Ключ

Выход кодера

 

 

 

 

 

1.

1 0 1 1 1

0 0 0 0

1

 

 

 

 

 

 

2.

1 0 1 1

1 1 0 1

1

1

 

 

 

 

 

3.

1 0 1

0 1 1 0

1

1 1

 

 

 

 

 

4.

1 0

1 1 0 1

1

1 1 1

 

 

 

 

 

5.

1

0 1 1 1

1

0 1 1 1

 

 

 

 

 

6.

 

0 0 1 1

1

1 0 1 1 1

 

 

 

 

 

7.

 

0 0 1

2

1 1 0 1 1 1

 

 

 

 

 

8.

 

0 0

2

1 1 1 0 1 1 1

 

 

 

 

 

9.

 

0

2

0 1 1 1 0 1 1 1

 

 

 

 

 

10.

 

 

2

0 0 1 1 1 0 1 1 1

 

 

 

 

 

Для иллюстрации работы декодера рассмотрим работу декодера в случае наличия в канале связи ошибки . Работа декодера, для аналогичного образующего полинома, приведена в табл. 9.2.

Табл. 9.2. Иллюстрация пошаговой работы декодирующего устройства

Вектор

Значения на триггерах

 

 

 

 

 

0 0 0 0

 

 

 

 

1

1 0 0 0

 

 

 

 

1 1

1 1 0 0

 

 

 

 

0 1 1

0 1 1 0

 

 

 

 

0 0 1 1

0 0 1 1

 

 

 

 

1 0 0 1 1

0 1 0 0

 

 

 

 

1 1 0 0 1 1

1 0 1 0

 

 

 

 

1 1 1 0 0 1 1

1 1 0 1

 

 

 

 

0 1 1 1 0 0 1 1

1 0 1 1

 

 

 

 

0 0 1 1 1 0 0 1 1

1 0 0 0

 

 

 

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

,

должен без остатка делить двучлен :

,

где – количество проверочных бит, .

Например, для устройства приведенного на рис. 9.1 .

Задание для лабораторной работы

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

Рис. 9.1. Исследование работы циклических кодов с помощью программы лабораторной работы

Задание 1.Исследовать работу циклических кодов в пошаговом режиме.

1.Запустите программу

2.Введите значения образующего полинома и регистра передачи.

3.Экспериментально определите количество исправляемых и

обнаруживаемых ошибок.

Задание 2.Изучить процесс обнаружения одиночных ошибок

1.Перейдите в пункт меню настройки и выбрать режим «Обучение декодированию». В этом случае, после приема бит, декодер отключается от линии связи (ключ разомкнулся).

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

что последовательность принята верно.

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

исправляемых данным кодом, то комбинация является исправляющей для принятой последовательности.

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

Внешний вид программы, во время выполнения 2-го этапа показан на рис. 9.2. Дополнительно в дешифраторе появляются кнопки,

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

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

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

Задание 3.Контрольное задание на поиск и обнаружение ошибок в принятых данных

Самостоятельно определить одиночную ошибку в принятых данных.

При этом работа кодирующего устройства не показывается.Алгоритм поиска ошибки рассматривался на втором этапе выполнения лабораторной работы.

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

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

1.Расчет значений образующего полинома по заданной длине сообщения.

2.Структурную схему циклического кодера и декодера.

3.Таблицу с пошаговой иллюстрацией работы циклического кодирования.

4.Результаты анализа числа исправляемых и обнаруживаемых ошибок.

5.Рассчитанное значение избыточности кода.

6.Результаты поиска ошибок в передаваемых данных.

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

1.Понятие

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

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

4.Определение числа обнаруживаемых ошибок циклического кода.

5.Определение числа исправляемых ошибокциклического кода

6.Как связаны значения обнаруживаемых и исправляемых ошибок с величиной избыточности циклического кода?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]