|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Двухмерный контроль паритета
Двухмерный контроль паритета позволяет: 1. Обнаруживать и исправлять одиночные ошибки. 2. Обнаруживать двойные ошибки. Способность приемника обнаруживать и исправлять ошибки называют прямым исправлением ошибок (Forward Error Correction, FEC). Двухмерный контроль паритета применяются в устройствах хранения данных. Такие методы При двухмерном контроле вычисляются множественные биты паритета четности. Кодирование данных и передача по линии связи: 1. Данное, состоящее из (n∙m)-разрядов разбивается на n -фрагментов, состоящих из m -разрядов. Например, данное, состоящее из 16-разрядов, разбивается на 4 фрагмента длиной по 4 разряда (n = 4 фрагмента, m = 4 разряда).
2. Фрагменты образуют прямоугольную матрицу, содержащую 4 строки и 4 столбца.
где , , , – номера строк; , , , – номера столбцов. Соответствие прямоугольной матрицы и исходного сообщения приведено в таблице.
3. Для каждой строки и столбца вычисляются биты паритета четности.
где РI 3, РI 2, РI2 , РI0 - паритеты строк; РJ 3, РJ 2, РJ 1, РJ 0 - паритеты столбцов. 4. Для всех битов паритета строк и столбцов вычисляется дополнительный бит паритета паритетов РIJ строк и столбцов паритета.
5. Из фрагментов и битов паритета, содержащих (n +1)∙(m +1)-разрядов, образуется сообщение: РI 3 РI 2 РI2 РI0 РJ 3 РJ 2 РJ 1 РJ 0 РIJ. 6. Передающий узел посылает по линии связи сообщение: РI 3 РI 2 РI2 РI0 РJ 3 РJ 2 РJ 1 РJ 0 РIJ. . Прием и проверка данных: 1. Приемный узел принимает сообщение: РI 3 РI 2 РI2 РI0 РJ 3 РJ 2 РJ 1 РJ 0 РIJ. 2. Сообщение разбивается на (n + 1) - фрагментов, состоящих из (m + 1) - разрядов:
3. Для каждой строки вычисляются синдромы SI 3, SI 2, SI 1, SI 0, SР. Для каждого столбца вычисляются синдромы SJ 3, SJ 2, SJ 1, SJ 0, SР
3. Проверка на наличие ошибок: - если все синдромы равны нулю, то ошибки нет; - если синдром строки и синдром столбца содержат только по одной единице, то есть одна ошибка, которая находится на пересечении соответствующих строк и столбца. Например, если синдромы SI 2 = 1 и РJ 0 =1, то на пересечении строки I2 и столбца J0 находится испорченный бит D8, который может быть исправлен.
- если обнаруживается более двух синдромов равных единице, то выявляется наличие множественных ошибок. Например, если синдромы строк SI 2 = 1, SI 0= 1 и столбцов SJ 3 = 1, РJ 0 =1, то на пересечении строк I 2, I 0 и столбцов J 3, J 0 находятся биты , D8, , ,которые не могут быть идентифицированы, а поэтому и исправлены.
Сборка исходного сообщения: 1. При отсутствии ошибки из принятого сообщения собирается исходное данное . 2. При наличии одной ошибки: - собирается исходное сообщение ; - для синдромов SI 3, SI 2, SI 1, SI 0, SJ 3, SJ 2, SJ 1, SJ 0 в таблице приведены идентификаторы ошибок:
Для синдромов SI 3, SI 2, SI 1, SI 0, SJ 3, SJ 2, SJ 1, SJ 0 рассчитывается идентификатор ошибки, который является номером N ошибочного бита данного: N = 4∙ KI + KJ = 4∙ log2 (WI) + log2 (WJ), где WI - вес синдромов строк SI 3, SI 2, SI 1, SI 0; WJ - вес синдромов столбцов SJ 3, SJ 2, SJ 1, SJ 0. Например. Рассчитать номер ошибочного бита N для синдрома строк SI 3 SI 2 SI 1 SI 0 = 01002 = 410 и синдрома столбцов SJ 3 SJ 2 SJ 1 SJ 0 = 00012 = 110: N = 4∙ log2 (410) + log2 (110) = 4∙ 2 + 0 = 8. Получаем ошибку в восьмом бите . Местонахождения ошибочного бита показано в таблице.
Пример. Применить двухмерный контроль паритета для исходного сообщения 0001 0010 0100 1100. Кодирование данных и передача по линии связи: 1. Сообщение разбивается на четыре фрагмента, для которых вычисляются паритеты четности
2. Передающий узел собирает из фрагментов сообщение 00011 00101 01001 11000 10111 и посылает его по линии связи. Прием и проверка данных: 1. Приемный узел принимает сообщение 00011 00101 01001 11000. 2. Сообщение разбивается на фрагменты, для которых рассчитываются синдромы 0001 0010 0100 1100
2. Выполняется анализ синдромов: все синдромы равны нулю, следовательно ошибок нет. 3. Исходное сообщение равно 0001 0010 0100 1100.
Прием и проверка данных (с одной ошибкой): 1. Приемный узел принимает сообщение 00011 00101 11001 11000. 2. Сообщение разбивается на фрагменты, для которых рассчитываются синдромы
4. Расчет номера ошибочного бита N для синдрома строк SI 3 SI 2 SI 1 SI 0 = 00102 = 210 и синдрома столбцов SJ 3 SJ 2 SJ 1 SJ 0 = 10002 = 810: N = 4∙ log2 (210) + log2 (810) = 4∙ 1 + 3 = 7. Получаем ошибку в восьмом бите . 5. Восстановление данного 0001 0010 1100 1100. 6. Исправление ошибки, выполняется инверсией бита : 0001 0010 100 1100 = 0001 0010 0100 1100.
Код Хемминга Помехоустойчивое кодирование методом Хемминга позволяет: - обнаруживать одиночные ошибки; - исправлять одиночные ошибки. Метод основан на перекрестном вычислении битов паритета. Основными свойствами кода Хемминга являются: - расстояние по Хеммингу; - минимальное расстояние по Хеммингу; - вес Хемминга. Расстоянием по Хеммингу d (x, y) называется число позиций, в которых различаются два n-разрядных кода. Минимальным расстоянием d * называется наименьшее из всех расстояний по Хеммингу между различными парами всех n -разрядных кодов. Весом Хемминга w (x) называется число ненулевых компонент n -разрядного кода. Пример. Определить расстояние по Хеммингу d (x, y) для кодов х = 0110 и y = 1011:
В результате 1101 единицы отражают число позиций, в которых различаются коды 0110 и 1011. Количество единиц равно 1 + 1 + 0 + 1 = 3. Ответ. Расстояние по Хеммингу d (0110, 1011) = 3. Пример. Определить минимальное расстояние d * для кодов 0110, 1011, 1101: d (0110, 1011) = 3; d (1011, 1101) = 2; d (0110, 1101) = 2. Ответ. Минимальное расстояние d * = 2. Пример. Определить вес Хемминга w (x) для кода х = 0110. Ответ. Вес Хемминга w (0110) = 0 + 1 + 1 + 0 = 2. Помехоустойчивые коды характеризуется выражениями: (n, k, d) или (n, k), где n – общее число разрядов в передаваемом сообщении; k – число информационных разрядов (k = n - r); r – число проверочных разрядов; d * – минимальное кодовое расстояние между разрешенными кодовыми комбинациями. Дополнительным показателями избыточности являются: - относительная избыточность ; - относительная скорость передачи .
Рассмотрим работу метода на примере кода Хемминга (7,4) для данного D 3 D 2 D 1 D 0 (n =7, k = 4). Кодирование данных и передача по линии связи: 1. Вычисление для данного D 3 D 2 D 1 D 0 поверочных битов Р 2 Р 1 Р 0 по формулам: Р 0 = D 2 Å D 1 Å D 0; Р 1 = D 3 Å D 1 Å D 0; Р2 = D 3 Å D 2 Å D 0. 2. Переда сообщения D 3 D 2 D 1 D 0 Р 2 Р 1 Р 0 по линии связи. Прием и проверка данных: 1. Прием сообщения D 3 D 2 D 1 D 0 Р 2 Р 1 Р 0. 2. Вычисление синдромов по формулам: S 0 = D 2 Å D 1 Å D 0 Å Р 0; S 1 = D 3 Å D 1 Å D 0 Å Р 1; S 2 = D 3 Å D 2 Å D 0 Å Р 2. Трёхразрядный код называется синдромом. Синдром представляет собой сочетание результатов проверки на чётность соответствующих символов кодовой группы и характеризует определённую конфигурацию ошибок (шумовой вектор). 3. Проверка на наличие ошибок: - получение идентификаторов ошибки для синдромов (восемь идентификаторов ошибки), приведенных в таблице.
Таблица Идентификаторы ошибок
Пример. Передать четырехразрядное данное D 3 D 2 D 1 D 0 = 0000 с контролем достоверности по Хеммингу. Кодирование данных и передача по линии связи: 1. Вычисление для данного D 3 D 2 D 1 D 0 = 0000 поверочных битов Р 2 Р 1 Р 0 по формулам: Р0 = D 2 Å D 1 Å D 0 = 0 Å 0 Å 0 = 0; Р1 = D 3 Å D 1 Å D 0 = 0 Å 0 Å 0 = 0; Р2 = D 3 Å D 2 Å D 0 = 0 Å 0 Å 0 = 0. Поверочные биты Р 2 Р 1 Р 0 равны 000. 2. Передача сообщения D 3 D 2 D 1 D 0 Р 2 Р 1 Р 0 = 0000 000. Прием и проверка данных: 1. Прием сообщения D 3 D 2 D 1 D 0 Р 2 Р 1 Р 0 = 0000 000. 2. Вычисление синдромов : S0 = D 2 Å D 1 Å D 0 Å Р 0 = 0 Å 0 Å 0 Å 0 = 0; S1 = D 3 Å D 1 Å D 0 Å Р 1 = 0 Å 0 Å 0 Å 0 = 0; S2 = D 3 Å D 2 Å D 0 Å Р 2 = 0 Å 0 Å 0 Å 0 = 0. Синдромы равны 000. 3. Проверка на наличие ошибок: - из таблицы идентификаторов получаем, что для синдромов = 0000 ошибки нет.
Пример. Выполнить верификацию принятого сообщения 0100000, использующее кодирование методом Хемминга (7,4). Прием и проверка данных: 1. Прием сообщения D 3 D 2 D 1 D 0 Р 2 Р 1 Р 0 = 0100 000. 2. Анализ принятого сообщения:
2. Вычисление синдромов : S0 = D2 Å D1 Å D0 Å Р0 = 1 Å 0 Å 0 Å 0 = 1 Å 0 Å 0 = 1 Å 0 = 1; S1 = D3 Å D1 Å D0 Å Р1 = 0 Å 0 Å 0 Å 0 = 0 Å 0 Å 0 = 0 Å 0 = 0; S2 = D3 Å D2 Å D0 Å Р2 = 0 Å 1 Å 0 Å 0 = 1 Å 0 Å 0 = 1 Å 0 = 1. 3. Проверка на наличие ошибок: - для синдромов = 101 из таблицы синдромов извлекаем сообщение: «Ошибка в D2». 4. Исправление ошибки: - исправление ошибки с помощью логической операции инверсии (второго разряда) = 0000. Ответ. Передавалось данное 0000.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.055 сек.) |