Выполните полярную расшифровку согласно 5G НОМЕР стандарта
Беспроводная панель инструментов HDL/обнаружение и исправление ошибок
Блок NR Polar Decoder реализует потоковый полярный декодер с аппаратными управляющими сигналами. Вы можете настроить блок, чтобы использовать передачу информации из космоса или кодирующие схемы канала восходящей связи, как определено 5G НОМЕР стандарта. Стандарт 5G NR использует полярные коды для канального кодирования каналов передачи DCI, UCI и BCH.
Этот блок реализует декодер списка последовательных подавлений с помощью CRC. Эта реализация соответствует производительности nrPolarDecode (5G Панель инструментов). Можно выбрать длину списка 2, 4 или 8. Увеличение длины списка увеличивает производительность исправления ошибок, но использует больше аппаратных ресурсов и увеличивает задержку декодирования. Можно повысить производительность декодирования сообщений DCI, используя дополнительный порт RNTI для указания ожидаемого значения RNTI.
Этот блок также выполняет декодирование CRC сообщения, эквивалентное nrCRCDecode (5G Панель инструментов). Блок обнаруживает сообщения DCI из значений K и E и автоматически добавляет к сообщению 1, что эквивалентно padCRC входной аргумент nrPolarDecode (5G Панель инструментов).
Этот блок не поддерживает коды с поддержкой четности.
Поскольку задержка операции полярного декодирования может изменяться, блок выдает выходной сигнал nextFrame, который указывает, когда блок готов принять новые входы. Дополнительные сведения см. в разделе Задержка на этой странице.
data - Входной образецВходная выборка, заданная как скалярное логарифмическое отношение правдоподобия (LLR). Блок поддерживает типы builtin и подписанные фиксированные значения с длиной слова от 4 до 16 бит.
double и single типы данных поддерживаются для моделирования, но не для генерации кода HDL.
Типы данных: fixed point | int8 | int16 | double | single
ctrl - Управляющие сигналы, сопровождающие поток пробsamplecontrol автобусУправляющие сигналы, сопровождающие поток проб, указанные как samplecontrol Шина включает в себя start, end, и valid управляющие сигналы, которые указывают границы кадра и достоверность выборок.
start - Указывает начало входного кадра.
end - Указывает конец входного кадра
valid - Указывает, что данные на порте входных данных являются допустимыми
Дополнительные сведения см. в разделе Пример шины управления.
Типы данных: bus
K - Длина информационного блока в битахДлина информационного блока в битах, заданная как положительное целое число. Для сообщений нисходящей линии связи K должно находиться в диапазоне от 36 до 164. Для сообщений восходящей линии связи K должно находиться в диапазоне от 31 до 1023.
Блок не поддерживает значения K из 18 кому 25 поскольку стандарт 5G NR требует кодов с поддержкой четности для этих размеров.
Чтобы включить этот порт, установите для параметра Configuration source значение Input port.
Типы данных: fixdt(0,10,0)
E - Согласованная по скорости длина выхода в битахСогласованная по скорости длина вывода в битах, заданная как скалярное положительное целое число. Укажите значение E, которое больше K и меньше или равно 8192.
Чтобы включить этот порт, установите для параметра Configuration source значение Input port.
Типы данных: fixdt(0,14,0)
RNTI - Целевой RNTIЦелевой RNTI, заданный как 16-битное целое число без знака. Это значение повышает точность декодирования сообщений DCI. Например, при декодировании SIB1 сообщений DCI активизируйте этот порт и установите целевой RNTI равным 65 535. Для декодирования MIB можно отключить этот порт или установить целевой RNTI равным 0.
Чтобы включить этот порт, установите для параметра Link direction значение Downlink и выберите параметр Enable target RNTI port.
Типы данных: uint16
data - Бит декодированных данныхДекодированный бит данных, возвращаемый как скаляр. Длина выходного сообщения - А бит, где A = K – CRCLen. Для сообщений нисходящей линии связи значение CRCLen равно 24. Для сообщений восходящей линии связи значение CRCLen равно 11, как определено стандартом 5G NR.
Типы данных: fixdt(0,1,0) | Boolean | double | single
Поддержка комплексного номера: Да
ctrl - Управляющие сигналы, сопровождающие поток пробsamplecontrol автобусУправляющие сигналы, сопровождающие поток проб, возвращаемые в виде samplecontrol Шина включает в себя start, end, и valid управляющие сигналы, которые указывают границы кадра и достоверность выборок.
start - Указывает начало выходного кадра.
end - Указывает конец выходного кадра
valid - Указывает, что данные порта выходных данных являются допустимыми
Дополнительные сведения см. в разделе Пример шины управления.
Типы данных: bus
err - результат CRCРезультат CRC, возвращенный как скаляр. Если очистить параметр Полное несоответствие контрольной суммы, это значение будет логическим. При выборе параметра Полное несоответствие контрольной суммы это значение равно ufix24 скаляр для сообщений нисходящей линии связи и ufix11 скаляр для сообщений восходящей линии связи.
Если порт RNTI включен, блок сравнивает внутреннюю контрольную сумму CRC со значением целевого RNTI. В противном случае блок сравнивает контрольную сумму CRC со значением 0.
Типы данных: Boolean | ufix11 | ufix24
nextFrame - Готовность к новым вводамБлок устанавливает этот сигнал на 1 когда блок готов принять начало следующего кадра. Если блок принимает входной начальный сигнал, пока nextFrame имеет значение 0блок отбрасывает текущий кадр и начинает обработку новых данных.
Дополнительные сведения см. в разделе Использование выходного сигнала nextFrame.
Типы данных: Boolean
Link direction - Направление 5G НОМЕР связиDownlink (по умолчанию) | UplinkНаправление 5G НОМЕР связи, определенной как Downlink или Uplink. При выборе Downlinkблок выполняет обратное перемежение, как указано в стандарте 5G NR. При выборе Uplinkблок пропускает логику обращенного перемежения.
List length - Количество путей декодирования2 (по умолчанию) | 4 | 8Этот параметр является максимальным количеством параллельных путей, поддерживаемых в дереве декодирования. Увеличение длины списка увеличивает производительность исправления ошибок, но использует больше аппаратных ресурсов и увеличивает задержку декодирования. При использовании длины списка 4 и 8, задержка может изменяться в зависимости от SNR входного сигнала и не является постоянной для заданных значений K и E. Используйте выходной сигнал nextFrame, чтобы определить, когда блок доступен для нового сообщения.
Configuration source - Источник для K и EProperty (по умолчанию) | Input portВыбрать Input port для активизации портов K и E. Выбрать Property для использования параметров Длина сообщения (K) и Согласованная по скорости длина (E).
Message length (K) - Длина информационного блока в битах56 (по умолчанию) | положительное целое числоДля сообщений нисходящей линии связи K должно находиться в диапазоне от 36 до 164. Для сообщений восходящей линии связи K должно находиться в диапазоне от 31 до 1023.
Блок не поддерживает значения K из 18 кому 25 поскольку стандарт 5G NR требует кодов с поддержкой четности для этих размеров.
Чтобы включить этот параметр, установите для параметра Configuration source значение Property.
Rate-matched length (E) - Согласованная по скорости длина выхода в битах864 (по умолчанию) | положительное целое числоУкажите значение E, которое больше K и меньше или равно 8192.
Чтобы включить этот параметр, установите для параметра Configuration source значение Property.
Full checksum mismatch - Возврат контрольной суммы с финального этапа декодированияoff (по умолчанию) | onПри сбросе этого параметра блок возвращает логический скаляр порта err, указывающий на успешное выполнение CRC. При выборе этого параметра блок возвращает полную контрольную сумму CRC для порта err. Если проект декодирует сообщения DCI и использует остаток RNTI, выберите этот параметр.
Если порт RNTI включен, блок сравнивает внутреннюю контрольную сумму CRC со значением целевого RNTI. В противном случае блок сравнивает контрольную сумму CRC со значением 0.
nrPolarDecodeФункция ( 5G Toolbox) возвращает декодированное сообщение, которое включает в себя биты CRC. Этот блок возвращает декодированное сообщение без битов CRC и возвращает состояние CRC отдельно на порту err. Это поведение эквивалентно вызову nrCRCDecode (5G Toolbox) после использования nrPolarDecode функция. Отсутствие повторного вычисления битов CRC экономит аппаратные задержки и ресурсы.
Enable target RNTI port - Дополнительный порт для указания целевого значения RNTIoff (по умолчанию) | onВыберите этот параметр для активизации входного порта RNTI. Предоставление целевого значения RNTI повышает точность декодирования для сообщений DCI. Например, при декодировании SIB1 сообщений DCI активизируйте этот порт и установите целевой RNTI в 65535. Для декодирования MIB можно отключить этот порт или установить целевой RNTI равным 0.
Включение этого порта также изменяет способ вычисления блоком значения выходного порта err. Если порт RNTI включен, блок сравнивает внутреннюю контрольную сумму CRC со значением целевого RNTI. В противном случае блок сравнивает контрольную сумму CRC со значением 0.
Чтобы включить этот параметр, задайте для параметра «Направление связи» значение Downlink.
Этот блок реализует декодер списка последовательных подавлений с помощью CRC. Он может использовать длину списка 2, 4 или 8 в соответствии с параметром List length. Декодер выполняет итерацию по всем LLR в дереве, чтобы принять решение для бита, и затем использует это решение для декодирования следующего бита. Шаг обращенного перемежения включается, только если для параметра Направление связи (Link direction) задано значение Downlink.
На этой диаграмме показана архитектура полярного декодера.

Блок использует этап конфигурации, когда изменяются значения входных портов K и E. Блок вычисляет местоположения информационных битов и передает их на этап принятия решения. Поскольку шаблоны отображения вычисляются по мере необходимости, а не сохраняются в аппаратных средствах, блок поддерживает все значения K и E в пределах поддерживаемого диапазона. На этапе «Конфигурация» также вычисляется шаблон чередования при установке для параметра «Направление связи» значения Downlink.
При установке для параметра Источник конфигурации значения Property, значения K и E являются константами, поэтому декодер не реализует этап конфигурации. В этом случае блок включает статические таблицы поиска, которые содержат предварительно вычисленную конфигурацию.
Чтобы минимизировать вычисления для каждого декодирования, в памяти дерева сохраняется вероятность того, что каждый узел равен единице или нулю. Каждая итерация обновляет только измененные LLR. На этапе декодирования Core используются уравнения обновления LLR из [3].
Этап принятия решения проверяет значение LLR относительно ожидаемых местоположений информационных битов и замороженных битов и возвращает жесткое решение в память дерева. Если ожидается, что бит будет заморожен, этап принятия решения возвращает жесткое решение, равное нулю, и обновляет вероятности связанных путей. Память путей восстанавливает наиболее вероятные пути из результатов жесткого решения и передает пути и баллы на следующий этап.
Память дерева и память пути содержат пути длиной до списка. Если все замороженные биты на пути равны нулю (как и ожидалось), то блок отбрасывает другие параллельные пути. Эта оптимизация приводит к переменной задержке в операции декодирования для длин списков больше двух. Для сигналов с высоким уровнем шума декодер должен увеличивать количество параллельных трактов и циклов декодирования. Для малошумящих сигналов декодер может использовать только два параллельных тракта и уменьшать задержку декодирования.
Этап выбора пути вычисляет CRC для всех путей и затем выбирает путь, который проходит CRC. При использовании входного порта RNTI блок сравнивает внутреннюю контрольную сумму CRC со значением целевого RNTI. В противном случае блок сравнивает контрольную сумму CRC со значением 0. Если все CRC терпят неудачу, блок возвращает путь, имеющий более высокий балл.
Эта реализация соответствует производительности функции 5G Toolbox™ nrPolarDecode (5G Панель инструментов) с одинаковой длиной списка. Поскольку блок использует внутренние типы с фиксированной точкой, любые различия являются результатом квантования.
На этом графике показана частота ошибок блока с тремя возможными длинами списка. Входной сигнал представляет собой 6-разрядные значения LLR.

Таблица показывает примерные задержки блока полярного декодера NR для каждого N при декодировании для восходящего и нисходящего каналов с длиной списка два. N - длина закодированного сообщения мощностью два, определенная из значений K и E.
| N | Задержка восходящей линии связи | Задержка нисходящей линии связи |
|---|---|---|
| 32 | 349 | Неприменимо |
| 64 | 576 | 677 |
| 128 | 1034 | 1135 |
| 256 | 1961 | 2062 |
| 512 | 3896 | 3996 |
| 1024 | 8202 | Неприменимо |
Точная задержка изменяется на основе значений K и E. Задержка больше для кадров, где значения входных портов K и E изменяются, и блок должен вычислить новую конфигурацию.
Увеличение длины списка увеличивает задержку. Длины списков больше двух не имеют фиксированной задержки для заданных значений K и E. Чтобы обеспечить минимальную задержку, блок отслеживает более 2 путей, только когда замороженные биты не декодируются как нули. Эта оптимизация означает, что задержка может увеличиваться с SNR входного сигнала. Например, для длины списка 4 и N = 512 задержка наилучшего случая равна 4108 циклам, а задержка наихудшего случая равна 4985 циклам.
Поскольку задержка изменяется, используйте выходной управляющий сигнал nextFrame, чтобы определить, когда блок готов к новому входному кадру.
Этот сигнал показывает, как изменяется задержка со значениями входного порта K и E для длины списка, равной двум. Когда входные значения портов K и E равны 132 и 256, блок имеет задержку 2272 цикла от входного начального сигнала до выходного nextFrame. Когда значения портов K и E изменяются на 54 и 124, задержка изменяется на 1234 цикла.

Эта форма сигнала показывает, как задержка может изменяться в зависимости от уровня шума входного сигнала при использовании длины списка, равной 4. Блок имеет значения K и E параметров 132 и 256, а параметр Link direction имеет значение Uplink. Первое сообщение имеет задержку 2533 цикла. Эти данные сообщения генерируются с низким уровнем шума и имеют несколько битовых ошибок. В этом случае декодер может схлопнуться до двух путей и получить результат в меньшем количестве циклов, чем при декодировании более шумового сигнала. Второе сообщение генерируется с высоким уровнем шума, и задержка декодирования увеличивается до 3174 циклов. Когда входной сигнал имеет больше битовых ошибок, декодер должен отслеживать больше путей для определения правильных битов.

В этой таблице представлены результаты синтеза данных о ресурсах и рабочих характеристиках блока, если он сконфигурирован с портами ввода K и E, для параметра Link direction установлено значение Downlinkи 6-битные входные LLR. Созданный HDL предназначен для платы оценки Xilinx ® Zynq ® -7000 ZC706. В конструкции достигается тактовая частота 250 МГц.
| Ресурс | Длина списка 2 | Длина списка 4 | Длина списка 8 |
|---|---|---|---|
| LUT среза | 3048 | 4725 | 9963 |
| Регистры среза | 2509 | 3804 | 6471 |
| DSP48 | 0 | 0 | 0 |
| Блок ОЗУ | 4.5 | 5.5 | 6.0 |
Блок использует меньше ресурсов, когда K и E задаются параметрами. Если для параметра Направление связи (Link direction) задано значение Uplinkблок использует больше памяти для размещения сообщений большего размера.
[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы. URL: https://www.3gpp.org.
[2] Арикан, Эрдал. «Поляризация канала: метод построения кодов достижения пропускной способности для симметричных каналов без двоичного ввода и запоминания». Сделки IEEE по теории информации 55, № 7 (июль 2009 года): 3051-73. https://doi.org/10.1109/TIT.2009.2021379.
[3] Балацукас-Стимминг, Алексиос, Мани Бастани Паризи и Андреас Бург. «Последовательное декодирование списка отмены на основе LLR полярных кодов». Транзакции IEEE по обработке сигналов 63, № 19 (октябрь 2015 г.): 5165-79. https://doi.org/10.1109/TSP.2015.2439211.
Этот блок поддерживает генерацию кода C/C + + для режимов ускорения Simulink ® и быстрого ускорения, а также для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Невозможно создать HDL для этого блока в переустановляемой синхронной подсистеме (кодере HDL).
Полярный кодировщик NR | nrPolarDecode (5G Панель инструментов)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
