General CRC Generator

Сгенерируйте биты CRC кода согласно порождающему полиному и добавьте к системам координат входных данных

  • Библиотека:
  • Communications Toolbox / Выявление ошибок и Коррекция / CRC

  • General CRC Generator block

Описание

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

Порты

Входной параметр

развернуть все

Входной сигнал в виде вектора столбца двоичных данных. Длина входного кадра должна быть кратной значению параметра Checksums per frame.

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

Вывод

развернуть все

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

Длиной выходной системы координат является m + k * r, где m является размером входного кадра, k является количеством контрольных сумм на систему координат, и r является степенью порождающего полинома.

Параметры

развернуть все

Порождающий полином для алгоритма CRC в виде одного из следующего:

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

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

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

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

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

Метод 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) = z 7 + z 2 + 1.

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

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

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

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

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

Итоговые XOR в виде бинарного скаляра или вектора строки двоичных знаков с длиной равняются степени порождающего полинома. Запуски операции "исключающее ИЛИ" с помощью значения параметра Final XOR контрольная сумма CRC прежде, чем добавить CRC к входным данным. Скалярное значение расширено до вектора-строки из равной длины до степени порождающего полинома. Установка 0 не эквивалентно никакой операции "исключающее ИЛИ".

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

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

Типы данных

Boolean | double

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

no

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

yes

Больше о

развернуть все

Ссылки

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

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

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

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

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