General CRC Generator

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

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

Описание

Блок 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] представляет полиномиальный x 3 + z 2 + 1.

  • Целочисленный вектор-строка, содержащий экспоненты z для ненулевых условий в полиноме в порядке убывания. Например, [3 2 0] представляет полиномиальный z 3 + z 2 + 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) = 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