- •1 Цель работы
- •2 Общие теоретические сведения
- •2.1 Принцип контроля с использованием корректирующих кодов /1/
- •2.2 Код с проверкой на четность /2/
- •2.3 Код Хэмминга для исправления одиночных ошибок /1/
- •2.4 Код Хэмминга для исправления одиночных ошибок и обнаружения двойных ошибок /1/
- •2.5 Циклические коды /1/
- •3 Порядок выполнения работы
- •4 Требования к отчету
- •5 Контрольные вопросы
- •Список литературы
- •1 Цель работы
- •2 Общие теоретические сведения
- •2.1 Введение /1/
- •2.2 Физическая и математическая модели систем распределенной обработки данных
- •2.3 Матричный метод вычисления вероятности связности случайного графа
- •3 Порядок выполнения работы
- •4 Требования к отчету
- •2.2 Оптимизация потоков и пропускных способностей линий связи /1/
- •2.2.1 Задача выбора пропускных способностей /2/
- •2.2.2 Задача распределения потоков /1/
- •3 Порядок выполнения работы
- •4 Требования к отчету
- •3 Порядок выполнения работы
- •4 Требования к отчету
- •2.2 Управление маршрутизацией и потоками данных
- •2.3 Статическая и адаптивная маршрутизация
- •3 Описание программного обеспечения
- •4 Порядок выполнения работы
- •5 Требования к отчету
- •6 Контрольные вопросы
- •Список литературы
2.4 Код Хэмминга для исправления одиночных ошибок и обнаружения двойных ошибок /1/
Для получения кода с дополнительным обнаружением двойных ошибок из кода с исправлением одиночных ошибок, добавим еще одну проверку на четность (и еще одну позицию), охватив этой проверкой все сообщение.
Если произойдет одиночная ошибка, то ее выявит проверка на четность всего слова, а место ошибки определится анализом четности количества единиц в подмножествах. При искажениях содержимого двух разрядов общая проверка на четность ошибку не зафиксирует, но проверка в соответствии с таблицей 2 укажет, что ошибка есть, хотя определить ее место становится уже невозможным.
2.5 Циклические коды /1/
Для того, чтобы произвести математическое описание и исследование циклических кодов, каждому двоично-кодированному n-разрядному слову ставится в соответствие полином (n-1)-й степени переменной x, причем коэффициентами полинома являются значения соответствующих разрядов слова.
Принцип обнаружения ошибок с применением циклического кода состоит в том, что в качестве разрешенных слов используются только такие слова, полиномы которых F(x) делятся без остатка на некоторый заранее выбранный полином P(x). Если после искажения отдельных разрядов слова представляющий это слово полином F *(x) не будет делиться без остатка на P(x), то фиксируется факт наличия ошибки.
Кодирование информационной части слова, представленной полиномом G(x), происходит в соответствии с соотношением
F(x)=G(x) xk + R(x),
где R(x)- остаток от деления G(x) xk на порождающий полином P(x) степени k.
Существо кодирования состоит в следующем. Информационная часть слова за счет умножения G(x) на xk сдвигается на k разрядов влево. В освободившиеся k младших (контрольных) разрядов записывается остаток R(x) от деления G(x) xk на P(x), который и представляет контрольную часть слова.
Получение контрольной части слова, соответствующей полиному R(x), практически осуществляется путем последовательного вычитания (сложения) по модуля 2 из сдвинутой информационной части слова другого слова, соответствующего порождающему полиному P(x).
3 Порядок выполнения работы
1. Ознакомиться с теоретической частью к лабораторной работе.
2. Представить алгоритмы, по которым происходит кодирование передаваемого сообщения с использованием кодов представленных в 2.2...2.5 на передающей стороне.
3. Представить алгоритмы, по которым происходит декодирование принимаемого сообщения с использованием кодов представленных в 2.2...2.5 на приемной стороне.
4. Написать программу по пункту1 для передаваемого сообщения (приложение А) с использованием алфавита кода КОИ-7 (приложение Б).
5. Написать программу по п.2 для принимаемого сообщения (приложение А) с использованием алфавита кода КОИ-7 (приложение Б).
6. Исследовать канал передачи сообщения при наличии одной ошибки в передаваемом сообщении (приложение В) с использованием кодов представленных в пунктах 2.2...2.5.
7. Исследовать канал передачи сообщения при наличии двух ошибок в передаваемом сообщении (приложение В) с использованием кодов представленных в 2.2...2.5.
8. Исследовать канал передачи сообщения при наличии трех ошибок в передаваемом сообщении (приложение В) с использованием кодов представленных в 2.2...2.5.
9. Представить отчет .
Примечание - Для циклического кода использовать порождающий полином P(x) = x3 + x + 1.