General CRC Syndrome Detector

Обнаружение ошибок в принятых системах координат кодового слова в соответствии с полиномом генератора

  • Библиотека:
  • Communications Toolbox/Обнаружение и исправление ошибок/CRC

  • General CRC Syndrome Detector block

Описание

Блок General CRC Syndrome Detector вычисляет контрольные суммы циклической проверки избыточности (CRC) для принятых систем координат кодового слова. Для успешного обнаружения CRC в ссылке коммуникационной системы необходимо выровнять настройки параметра блока General CRC Syndrome Detector с парным блоком General CRC Generator.

Для получения дополнительной информации см. «Операция детектора синдрома CRC».

Порты

Вход

расширить все

Получено кодовое слово, заданное как двоичный вектор-столбец.

Типы данных: double | Boolean

Выход

расширить все

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

Длина выходной системы координат n - k * r битах, где n - размер полученного кодового слова, k - количество контрольных сумм на систему координат, а r - степень полинома генератора.

Сигнал ошибки контрольной суммы, возвращенный как двоичный вектор-столбец, который наследует тип данных входного сигнала. Длина Err равен значению Checksums per frame. Для каждого расчета контрольной суммы значение элемента 0 в Err указывает на отсутствие ошибки контрольной суммы и значение элемента 1 в Err указывает на ошибку контрольной суммы.

Параметры

расширить все

Полином генератора для алгоритма CRC, заданный как один из следующих:

  • Полиномиальный вектор символов, такой как 'z^3 + z^2 + 1'.

  • Двоичный вектор-строка, который представляет коэффициенты полинома генератора в порядке убывания степени. Длина этого вектора (N + 1), где N - степень полинома генератора. Для примера, [1 1 0 1] представляет полином x3+ z2+ 1.

  • Целое число вектора-строки, содержащее степени z для ненулевых членов в полиноме в порядке убывания. Для примера, [3 2 0] представляет полином z3 + z2 + 1.

Для получения дополнительной информации смотрите Представление символов полиномов.

Некоторые обычно используемые полиномы генератора включают:

Метод CRCПолином генератора
CRC-32'z^32 + z^26 + z^23 + z^22 + z^16 + z^12 + z^11 + z^10 + z^8 + z^7 + z^5 + z^4 + z^2 + z + 1'
CRC-24 'z^24 + z^23 + z^14 + z^12 + z^8 + 1'
CRC-16 'z^16 + z^15 + z^2 + 1'
Сторнированные CRC-16'z^16 + z^14 + z + 1'
CRC-8'z^8 + z^7 + z^6 + z^4 + z^2 + 1'
CRC-4 'z^4 + z^3 + z^2 + z + 1'

Пример: 'z^7 + z^2 + 1', [1 0 0 0 0 1 0 1], и [7 2 0] представляют тот же полином, p (z) = z7 + z 2 + 1.

Начальные состояния внутреннего регистра сдвига, заданные как двоичный скаляр или двоичный вектор-строка с длиной, равной степени полинома генератора. Скалярное значение расширяется до вектора-строки равной длины до степени полинома генератора.

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

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

Выберите, чтобы развернуть полученное кодовое слово в байтовом базисе перед вводом данных в регистр сдвига. Когда Reflect input bytes выбран, полученная длина кодового слова, разделенная на значение параметра Checksums per frame, должна быть целым числом и кратной 8. Когда Reflect input bytes очищена, блок не поворачивает входные данные.

Выберите Reflect checksums before final XOR, чтобы развернуть контрольные суммы CRC вокруг их центров после того, как входные данные будут полностью пройдены через сдвиг регистр. Когда Reflect checksums before final XOR снят, блок не поворачивает контрольные суммы CRC.

Конечный XOR, заданный как двоичный скаляр или двоичный вектор-строка с длиной, равной степени полинома генератора. Операция XOR запусков с использованием значения параметра Final XOR и контрольной суммы CRC перед сравнением с контрольной суммой входа. Скалярное значение расширяется до вектора-строки равной длины до степени полинома генератора. Настройка 0 эквивалентно отсутствию операции XOR.

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

Характеристики блоков

Типы данных

Boolean | double

Многомерные сигналы

no

Сигналы переменного размера

yes

Подробнее о

расширить все

Ссылки

[1] Склар, Бернард. Цифровые коммуникации: основы и приложения. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1988.

[2] Wicker, Stephen B. Системы управления ошибками для цифровой связи и хранения данных. Верхняя Седловая река, Нью-Джерси: Prentice Hall, 1995.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a