exponenta event banner

crc.generator

(Чтобы быть удаленным) объект генератора CRC Построения

crc.generator будет удален в будущем релизе. Чтобы сгенерировать биты контроля циклическим избыточным кодом (CRC) кода, используйте comm.CRCGenerator Системный объект вместо этого. Для получения дополнительной информации о рекомендуемом рабочем процессе см. Вопросы совместимости.

Синтаксис

h = crc.generator(polynomial)

h = crc.generator(detectorObj)

h = crc.generator(‘Polynomial’, polynomial, ‘param1’, val1, etc.)

h = crc.generator

Описание

h = crc.generator(polynomial) создает объект генератора CRC H заданный ПОЛИНОМОМ порождающего полинома.

h = crc.generator(detectorObj) создает объект генератора CRC H заданный параметрами, найденными в объекте DETECTOROBJ детектора CRC.

h = crc.generator(‘property1', val1, ...) создает объект генератора CRC H со свойствами, как задано парами PROPERTY/VALUE.

h = crc.generator создает объект генератора CRC H со свойствами по умолчанию. Это создает генератор CRC-CCITT и эквивалентно: h = crc.generator ('Полином', '0x1021', 'InitialState', '0xFFFF'...

'ReflectInput', ложь, 'ReflectRemainder', ложь, 'FinalXOR', '0x0000').

Свойства

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

СвойствоОписание
PolynomialПорождающий полином, который задает связи для линейного сдвигового регистра обратной связи. Это свойство может быть задано как бинарное представление вектора, убывающее степени полинома. В этом случае продвижение '1' из полинома должно быть включено. Это может также быть задано как строка, снабженная предисловием '0x', который является шестнадцатеричным представлением убывающих степеней полинома. В этом случае продвижение '1' из полинома не использовано.
InitialStateНачальное содержимое сдвигового регистра. Это свойство может быть задано как бинарный скаляр, бинарный вектор, или как строка, снабженная предисловием '0x', который является шестнадцатеричным представлением бинарного вектора. Как бинарный вектор, его длина должна быть той меньше, чем продолжительность бинарного векторного представления Полинома.
ReflectInputБулево количество, которое задает, должны ли входные данные быть инвертированы на bytewise базисе до ввода сдвигового регистра.
ReflectRemainderБулево количество, которое задает, должна ли контрольная сумма CRC двоичного выхода быть инвертирована вокруг ее центра после входных данных, полностью через сдвиговый регистр.
FinalXORЗначение, с которым контрольная сумма CRC должна быть XORed только до того, чтобы быть добавленным к входным данным. Это свойство может быть задано как бинарный скаляр, бинарный вектор, или как строка, снабженная предисловием '0x', который является шестнадцатеричным представлением бинарного вектора. Как бинарный вектор, его длина должна быть той меньше, чем продолжительность бинарного векторного представления Полинома.

Алгоритм генерации CRC

Для получения информации имея отношение к алгоритму генерации CRC, обратитесь к разделу CRC Non-Direct Algorithm Руководства пользователя Communications Toolbox™.

Метод генератора

закодированный = генерируют (h, сообщение) генерирует контрольную сумму CRC для входного сигнала с помощью объекта генератора CRC H. Это добавляет контрольную сумму в конец, ОБМЕНИВАЮТСЯ СООБЩЕНИЯМИ. С бинарным знаком ОБМЕНИВАЮТСЯ СООБЩЕНИЯМИ, может быть или вектор-столбец или матрица. Если это - матрица, то каждый столбец считается отдельным каналом.

Примеры

Создайте генератор CRC-16 CRC, затем используйте его, чтобы сгенерировать контрольную сумму для бинарного вектора, представленного последовательностью ASCII '123456789'.

gen = crc.generator('Polynomial', '0x8005', ...
'ReflectInput', true, 'ReflectRemainder', true);
Сообщение ниже является представлением ASCII цифр 1-9.
msg = int2bit((49:57)',8);
encoded = generate(gen, msg);
h = 

                Type: CRC Generator
          Polynomial: 0xF
        InitialState: 0xF
        ReflectInput: true
    ReflectRemainder: false
            FinalXOR: 0x0

Вопросы совместимости

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

Предупреждает запуск в R2020b

Смотрите также

Функции

Объекты

Блоки

Введенный в R2008a