LTE CRC Decoder

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

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

  • LTE CRC Decoder block

Описание

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

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

Порты

Вход

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

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

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

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

Параметры

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

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

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

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

Зависимости

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

Алгоритмы

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

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