exponenta event banner

Декодер CRC LTE

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

  • Библиотека:
  • Беспроводная панель инструментов HDL/обнаружение и исправление ошибок

  • LTE CRC Decoder block

Описание

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

Этот блок использует интерфейс потоковой выборки с шиной для соответствующих управляющих сигналов. Этот интерфейс позволяет блоку работать независимо от размера кадра и легко соединяться с другими беспроводными блоками HDL Toolbox™. Блок принимает и возвращает значение, представляющее одну выборку, и шину, содержащую три управляющих сигнала. Эти сигналы указывают на достоверность каждого образца и границы кадра. Чтобы преобразовать матрицу в поток выборок и эти управляющие сигналы, используйте блок 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 Шина включает в себя start, end, и valid управляющие сигналы, которые указывают границы кадра и достоверность выборок.

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

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

  • valid - Указывает, что данные на порте входных данных являются допустимыми

Дополнительные сведения см. в разделе Пример шины управления.

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

Продукция

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

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

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

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

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

  • 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. При выборе этого параметра порт err возвращает целое число, представляющее расположение битовых несовпадений в контрольной сумме.

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

Зависимости

Этот параметр появляется при сбросе полного несоответствия контрольной суммы.

Алгоритмы

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

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

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

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

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

Ссылки

[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». Проект партнерства 3-го поколения; техническая спецификация на сеть радиодоступа группы; Усовершенствованный универсальный наземный радиодоступа (E-UTRA). URL: https://www.3gpp.org.

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

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

.

См. также

Блоки

Функции

Представлен в R2017b