LTE CRC Encoder

Сгенерируйте контрольную сумму и добавьте, чтобы ввести демонстрационный поток

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

Описание

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

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

Вы не должны применять другую систему координат, прежде чем предыдущая система координат завершилась. Благоприятный для оборудования алгоритм добавляет (CRCLength + 3)/InputSize циклы задержки. Чтобы составлять дополнительные циклы добавленных выборок контрольной суммы и задержку, необходимо применить минимальный интервал (2*CRCLength + 3)/InputSize между входными кадрами. В качестве альтернативы можно использовать выходной сигнал ctrl.end определить, когда блок готов к новому входу. Если вы применяете следующую систему координат слишком рано, ctrl.start предупредите сбрасывает вычисление контрольной суммы и обрезает предыдущую систему координат.

Эта форма волны показывает систему координат с 40 выборками, введите две выборки за один раз к энкодеру CRC16. Разрыв между входными кадрами является поэтому 8 циклами. Из-за вставки контрольной суммы, выход ctrl.valid сигнал остается постоянно высоким без разрывов между системами координат. Ввод и вывод шины ctrl расширен, чтобы показать управляющие сигналы. start и end покажите контуры системы координат и valid квалифицирует выборки данных.

Порты

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

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

Введите выборку, заданную как бинарный скаляр, скаляр беззнаковых целых чисел или бинарный вектор. Размер вектора, InputSize, должен быть меньше чем или равен длине полинома. Продолжительность 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 | ufixN

Управляющие сигналы, сопровождающие демонстрационный поток, заданный как 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

Параметры

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

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

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

Алгоритмы

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

Когда вы используете векторный или целочисленный вход, блок реализует параллельный алгоритм 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