Декодер CRC

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

  • Библиотека:
  • LTE HDL Toolbox / Выявление ошибок и Исправление

Описание

Блок CRC Decoder вычисляет контроль циклическим избыточным кодом (CRC) и сравнивает его с добавленной контрольной суммой для каждого кадра потоковой передачи выборок данных. Можно выбрать из полиномов, заданных TS 36.212 [1] стандарта LTE. Блок обеспечивает аппаратную оптимизированную архитектуру и интерфейс.

Этот блок использует демонстрационный интерфейс потоковой передачи с шиной для связанных управляющих сигналов. Этот интерфейс позволяет блоку действовать независимо от формата кадра и соединиться легко с другими блоками LTE HDL Toolbox™. Блок принимает и возвращает значение, представляющее одну выборку и шину, содержащую три управляющих сигнала. Эти сигналы указывают на валидность каждой выборки и контуры кадра. Чтобы преобразовать матрицу в демонстрационный поток и эти управляющие сигналы, используйте блок Frame To Samples или функцию ltehdlFramesToSamples. Для полного описания интерфейса смотрите Демонстрационный Интерфейс Потоковой передачи.

Порты

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

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

Введите выборку, заданную как бинарный скаляр, скаляр беззнаковых целых чисел или бинарный вектор. Векторный размер должен быть меньше чем или равен длине полинома. Продолжительность CRC также должна быть делимой векторным размером. Например, для полиномиального типа CRC24A, допустимые векторные размеры равняются 24, 12, 8, 6, 4, 3, 2, и 1. Целочисленный вход интерпретирован как двоичное слово. Например, векторный вход [0 0 0 1 0 0 1 1] эквивалентен входу uint8 19.

double и single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: single | double | Boolean | ufix1 | uint8 | uint16 | uint32

Управляющие сигналы, сопровождающие демонстрационный поток, заданный как шина samplecontrol. Шина включает start, end и управляющие сигналы valid, которые указывают на контуры кадра и валидность выборок.

Типы данных: bus

Вывод

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

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

double и двоичные значения single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: single | double | Boolean | ufix1 | uint8 | uint16 | uint32 | ufixN

Управляющие сигналы, сопровождающие демонстрационный поток, возвращенный как шина samplecontrol. Шина включает start, end и управляющие сигналы valid, которые указывают на контуры кадра и валидность выборок.

Типы данных: bus

Индикатор несоответствия контрольной суммы, возвращенного как бинарный скаляр или целочисленный скаляр. Если вы выбираете Full checksum mismatch, этот порт возвращает целочисленный результат XOR расчетной контрольной суммы против добавленной контрольной суммы. Значение err допустимо, когда ctrl.end 1 (true). Тип данных этого порта совпадает с типом данных входных выборок.

Типы данных: single | double | Boolean | ufix1 | uint8 | uint16 | uint32 | ufixN

Параметры

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

Закодировать полиномиальные опции являются четырьмя типами CRC, описанными в TS 36.212 [1] стандарта LTE, Раздел 5.1.1.

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

Маска применилась к контрольной сумме, заданной как целое число, представляющее двоичное слово от 0 до 2CRCLength – 1. Эта маска обычно является Радиосетью временным идентификатором (RNTI).

Зависимости

Этот параметр появляется, когда Full checksum mismatch очищен.

Алгоритмы

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

Когда вы используете векторный или целочисленный вход, блок реализует параллельный алгоритм CRC [2]. Реализация эквивалентна, алгоритм, используемый Communications Toolbox™, блокирует Общий HDL Генератора CRC Оптимизированный и Общий Оптимизированный HDL Детектора Синдрома CRC.

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

X'=FW(×)X(+)D

FW является M-by-M матрица, которая выбирает элементы текущего состояния для полиномиального вычисления с новыми входными битами. D является M - демонстрационный вектор, который обеспечивает новые входные биты, упорядоченный относительно полинома и дополненный обнуляет. (×) реализован с логическим AND, и (+) реализован с логическим XOR.

Ссылки

[1] 3GPP TS 36.212. "Мультиплексирование и кодирование канала". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: http://www.3gpp.org.

[2] Кампобелло, Джузеппе, Джузеппе Патане и Марко Руссо. "Параллельная Реализация CRC". Транзакции IEEE на Компьютерах. Издание 52, № 10, октябрь 2003, стр 1312–1319.

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

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

Блоки

Функции

Введенный в R2017b