LTE CRC Decoder

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

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

Описание

Блок LTE 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конец, и valid управляющие сигналы, которые указывают на контуры системы координат и валидность выборок.

  • start — Указывает запускаются входного кадра.

  • end — Указывает на конец входного кадра.

  • valid — Указывает, что данные по порту входа data допустимы.

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

Вывод

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

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

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

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

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

  • start — Указывает запускаются выходной системы координат.

  • end — Указывает на конец выходной системы координат.

  • valid — Указывает, что данные по порту выхода data допустимы.

Типы данных: 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™, блокирует General CRC Generator HDL Optimized и General CRC Syndrome Detector HDL Optimized.

Чтобы обеспечить высокую пропускную способность для современных систем связи, алгоритм 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: https://www.3gpp.org.

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

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

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

Блоки

Функции

Введенный в R2017b