|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Циклические коды CRC
Циклический избыточный контроль CRC (Cyclic redundancy check) - это метод обнаружения ошибок с использованием полиномиального кода. Полиномы представляют собой альтернативную запись чисел в двоичной системе. Например, двоичному числу 1100 соответствует полином Для полиномов определяются операции сложения, вычитания, умножения и деления, которые используются для кодирования и декодирования сообщения. Особенностью всех арифметических операций над полиномами является отсутствие переносов и заемов. Правила полиномиального арифметического сложения без переноса: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0. Правила полиномиального арифметического вычитания без переноса: 0 - 0 = 0; 0 - 1 = 1; 1 - 0 = 1; 1 - 1 = 0. Полиномиальные арифметическое сложение и вычитания соответствуют логической операции сумма по модулю два: 0 Å 0=0; 0 Å 1=1; 1 Å 0=1; 1 Å 1=0. Правила полиномиального арифметического умножения выполняются по обычным правилам арифметического умножения: 0 Сложение промежуточных результатов умножения выполняется по правилам полиномиального арифметического сложения без переноса (сумма по модулю два). При умножении полиномов степени складываются: Правила полиномиального арифметического деления выполняются по обычным правилам арифметического деления. Вычитание промежуточных результатов деления выполняется по правилам полиномиального арифметического вычитания без переноса (сумма по модулю два). Алгоритм вычисления CRC основан на свойствах деления с остатком двоичных полиномов (многочленов). Циклические коды задаются с помощью порождающих полиномов:
где Полином исходного сообщения имеет вид:
Полином кодированного сообщения имеет вид:
Пример. Переход от двоичного представления числа к полиномиальному выполняется следующим образом. Пусть дано восьмиразрядное двоичное число 01010011. В таблице приведены соответствия между номерами, значениями битов и переменными полинома. Таблица Соответствие между двоичными числами и полиномом
Двоичное число 01010011 переводится в полиномиальную форму следующим образом: 01010011 = 0∙ = 0 + Получаем 01010011 =
Порядок кодирования и декодирования данных методом CRC. Кодирование данных и передача по линии связи: 1. Выбор исходного полинома:
2. Умножение исходного полинома
3. Деление
Результатом является: - - 4. Кодированное сообщение представляется в виде:
= 5. Передача сообщения Прием и проверка данных: 1. Прием сообщения 2. Деление сообщения
Результатом является 3. Проверка на наличие ошибок: - если остаток - если остаток
Пример. Передать исходный полином Кодирование данных и передача по линии связи: Рассмотрим последовательность кодирования: - исходный полином - порождающий полином - множитель 1. Умножение исходного полинома
2. Деление полинома
Получаем остаток 4. Формирование сообщения:
5. Передача сообщения Прием и проверка данных: 1. Прием сообщения 2. Деление сообщения
3. Проверка на наличие ошибок: - остаток
Пример. Передать исходный полином Кодирование данных и передача по линии связи: Рассмотрим последовательность кодирования: - исходный полином - порождающий полином - множитель 1. Умножение исходного полинома
2. Деление полинома
Остаток 3. Формирование сообщения:
4. Передача сообщения 0111 010. Прием и проверка данных: 1. Прием сообщения 0111 010. 2. Деление сообщения
3. Проверка на наличие ошибок: - остаток
Поиск по сайту: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (1.459 сек.) |