LTE CRC Encoder

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

  • Библиотека:
  • Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок

  • LTE CRC Encoder block

Описание

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

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

Нельзя применять другую систему координат до завершения предыдущей системы координат. Аппаратный алгоритм добавляет (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 bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.

  • start - Указывает начало входного кадра

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

  • valid - Указывает, что данные входного data порта действительны

Для получения дополнительной информации см. Выборку шины управления.

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

Выход

расширить все

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

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

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

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

  • start - Указывает начало выходной системы координат

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

  • valid - Указывает, что данные выходного data порта действительны

Для получения дополнительной информации см. Выборку шины управления.

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

Параметры

расширить все

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

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

Алгоритмы

расширить все

Когда вы используете векторный или целочисленный вход, блок реализует параллельный алгоритм CRC [2]. Реализация аналогична алгоритму, используемому блоками Toolbox™ и General CRC Generator HDL Optimized Communications General CRC Syndrome Detector HDL Optimized.

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

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

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

Ссылки

[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.

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

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

.

См. также

Блоки

Функции

Введенный в R2017b