exponenta event banner

Слепой поиск PDCCH и декодирование DCI

Пример помогает понять область управления, используемую в подкадре нисходящей линии связи LTE, и его структуру канала, показывая, как сообщение информации управления нисходящей линии связи (DCI) генерируется и передается по физическому каналу управления нисходящей линии связи (PDCCH) и восстанавливается посредством выполнения слепого декодирования с использованием Toolbox™ LTE.

Введение

Для поддержки передачи транспортных каналов нисходящей линии связи и восходящей линии связи необходима управляющая сигнализация общего канала нисходящей линии связи (DL-SCH) и общего канала восходящей линии связи (UL-SCH). Эта управляющая сигнализация позволяет UE успешно принимать, демодулировать и декодировать DL-SCH. Управляющая информация нисходящей линии связи (DCI) передается через физический управляющий канал нисходящей линии связи (PDCCH) и включает в себя информацию о распределении ресурсов DL-SCH (набор блоков ресурсов, содержащих DL-SCH), транспортный формат и информацию, относящуюся к гибридному запросу автоматического повторения DL-SCH (Arest).

Для формирования полезной нагрузки PDCCH DCI подвергается канальному кодированию: добавление вложения CRC с последующим сверточным кодированием и согласованием скорости в соответствии с пропускной способностью формата PDCCH. Кодированные биты DCI, т.е. полезная нагрузка PDCCH, затем преобразуются в элементы канала управления (CCE) в соответствии с форматом PDCCH. Эти кодированные биты затем преобразуются в сложные модулированные символы после выполнения операций, включающих в себя скремблирование, модуляцию QPSK, отображение уровня и предварительное кодирование. Наконец, модулированные символы перемежаются и отображаются в физические элементы ресурсов (RE).

После выполнения обратного перемежения, амортизации, объединения символов, демодуляции символов и дескремблирования в приемнике UE требуется выполнить слепое декодирование полезной нагрузки PDCCH, поскольку ему неизвестна подробная структура канала управления, включающая в себя количество каналов управления и количество CCE, на которые отображается каждый канал управления. Несколько каналов PDCCH могут передаваться в одном подкадре, который может и не может быть всем релевантным для конкретного UE. UE находит PDCCH, специфический для него, путем контроля набора кандидатов PDCCH (набора последовательных CCE, на которые может быть отображен PDCCH) в каждом подкадре. UE использует свой временный идентификатор радиосети (RNTI) для попытки декодирования кандидатов. RNTI используется для запроса ЦИК кандидата PDCCH. Если ошибка CRC не обнаружена, UE определяет, что PDCCH несет свою собственную управляющую информацию.

Область управления

Сигнализация управления нисходящей линии связи располагается в начале каждого субкадра нисходящей линии связи (вплоть до первых трех символов OFDM). Одним из преимуществ передачи канала управления в начале каждого подкадра является то, что, если UE не запланировано, оно может выключить свою приемную схему для большей части подкадра, что приводит к снижению энергопотребления. Управляющая сигнализация нисходящей линии связи передается тремя физическими каналами. Канал индикатора физического формата управления (PCFICH) для указания количества символов OFDM, используемых для сигнализации управления в этом подкадре, физический канал индикатора гибридного ARQ (PHICH), который несет подтверждение нисходящей линии связи (ACK )/отрицательное подтверждение (NACK) для передачи данных восходящей линии связи и физический общий канал управления нисходящей линии связи.

PDCCH несет назначения планирования и другую управляющую информацию в виде сообщений DCI. PDCCH передается на одном CCE или агрегации нескольких последовательных CCE, где CCE соответствует 9 группам элементов ресурсов (REG). При передаче PDCCH используются только те REG, которые не назначены PCFICH или PHICH. Каждый REG содержит 4 элемента ресурсов (RE). Таким образом, REG используются для определения отображения каналов управления на элементы ресурсов.

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

Форматы PDCCH и DCI

Количество CCE в передаче PDCCH зависит от формата PDCCH, который может быть 0, 1, 2 и 3 в зависимости от количества битов, подлежащих передаче. Биты PDCCH создаются из сообщения DCI после выполнения присоединения CRC, канального кодирования и согласования скорости. Множество каналов PDCCH может быть передано в подкадре, таким образом, UE должно контролировать весь канал PDCCH в данной области управления подкадрами.

Сообщение DCI передает информацию планирования восходящей линии связи или нисходящей линии связи или команду управления мощностью передачи восходящей линии связи (TPC). В зависимости от назначения управляющего сообщения определяются различные форматы DCI. Предоставленная информация содержит все необходимое, чтобы UE могло идентифицировать ресурсы, необходимые для приема физического канала данных нисходящей линии связи (PDSCH) в этом подкадре, и декодировать его. Форматы DCI:

  • Формат 0 для передачи распределения общего канала восходящей линии связи (UL-SCH)

  • Формат 1 для передачи распределения DL-SCH для операции с одним входом и несколькими выходами (SIMO)

  • Формат, 1A для компактной передачи распределения DL-SCH для работы SIMO или назначения выделенной сигнатуры преамбулы UE для произвольного доступа

  • Формат 1B для информации управления передачей множественного входного вывода (MIMO) ранга 1 на основе компактного назначения ресурсов

  • Формат 1C для очень компактной передачи назначения PDSCH

  • Формат 1D же, как format1B с дополнительной информацией о смещении мощности

  • Формат 2 и формат 2A для передачи распределения DL-SCH для работы MIMO с замкнутым и разомкнутым контуром соответственно

  • Формат 2B для планирования двухуровневой передачи (антенные порты 7 и 8)

  • Формат 2C для планирования передачи до 8 уровней (антенные порты 7-14) с использованием TM9

  • Формат 2D для планирования передачи до 8 уровней (антенные порты 7-14) с использованием TM10

  • Формат 3 и формат 3A для передачи команды TPC для восходящего канала

  • Формат 4 для планирования PUSCH с режимом передачи с несколькими антенными портами

Пространство поиска и кандидаты PDCCH

Как только сообщение DCI генерируется и канал кодируется в соответствии с требуемым форматом DCI и PDCCH, выполняется мультиплексирование PDCCH, скремблирование, модуляция, предварительное кодирование, перемежение и отображение уровня для формирования комплексных символов. Эти сложные символы теперь готовы для отображения в RE. RE определяются в терминах REG/CCE, назначенных передаче. Количество выделенных CCE задается форматом PDCCH. Область управления подкадра представляет собой совокупность CCE и может содержать PDCCH для множества UE, таким образом, UE должно контролировать большую область для извлечения своей собственной управляющей информации. Поскольку UE не информируется явным образом о подробной структуре канала управления, ему приходится слепо пытаться декодировать область управления. К сожалению, это может накладывать значительную нагрузку на UE, поскольку при больших полосах пропускания область управления может быть очень большой. Это может превышать практические аппаратные ограничения и приводить к увеличению стоимости и/или снижению производительности UE.

Для упрощения задачи декодирования в UE вся область управления подразделяется на общие и специфические для UE области поиска, которые UE должно контролировать (пытаться декодировать каждый из PDCCH). Каждое пространство содержит 2, 4 или 6 кандидатов PDCCH, длина данных которых зависит от формата PDCCH; каждый PDCCH должен передаваться на 1, 2, 4 или 8 CCE (1 CCE = 9 REG = 9 * 4 RE = 72 бита).

Кандидаты PDCCH состоят из последовательных CCE. Кандидаты в наборе кандидатов PDCCH не должны быть уникальными, особенно для меньших полос пропускания. Общие и специфичные для UE пространства поиска могут перекрываться друг с другом. Размер пространства поиска определяется количеством кандидатов PDCCH и размером уровня агрегации CCE. То есть размер пространства поиска является целым числом, умноженным на размер уровня агрегации CCE или количество кандидатов PDCCH.

Общее пространство поиска

Общее пространство поиска несет общую управляющую информацию и контролируется всеми UE в ячейке. Количество уровней агрегирования CCE, поддерживаемых общим пространством поиска, ограничено двумя, т.е. 4 и 8, по сравнению с пространством поиска, специфичным для UE, где возможны четыре уровня агрегирования CCE. Это уменьшает нагрузку на UE для декодирования общей управляющей информации по сравнению с декодированием конкретной для UE управляющей информации. Общее пространство управления используется для переноса важной исходной информации, включая информацию поискового вызова, системную информацию и процедуры произвольного доступа.

При поиске в общем пространстве управления декодер всегда начинает декодирование с первого CCE. Это ограничение еще больше упрощает общий поиск. Декодирование выполняется на каждом возможном наборе кандидатов PDCCH для данного формата PDCCH до тех пор, пока он не будет успешно декодировать PDCCH, присутствующий в общем пространстве поиска.

Пользовательское пространство поиска

Пространство поиска для конкретного UE несет управляющую информацию, специфичную для конкретного UE, и контролируется, по меньшей мере, одним UE в ячейке. В отличие от поиска в общем пространстве, начальное местоположение пространства поиска, специфичного для UE, может изменяться для каждого подкадра или UE. Начальное местоположение специфического для UE пространства поиска определяется в каждом подкадре с использованием хеш-функции, как указано в пункте 9 [1] TS36.213.

В пространстве поиска, специфичном для UE, UE находит свой PDCCH, отслеживая набор кандидатов PDCCH (набор последовательных CCE, на которые может быть отображен PDCCH) в каждом подкадре. Если ошибка ЦИК не обнаружена, когда UE использует свой RNTI для сброса запроса CRC (16-битовое значение также называется C-RNTI) на PDCCH, UE определяет, что PDCCH несет свою собственную управляющую информацию. Наборы кандидатов PDCCH соответствуют различным форматам PDCCH. Существует 4 формата PDCCH: 0, 1, 2 или 3. Если UE не декодирует никаких кандидатов PDCCH для данного формата PDCCH, оно пытается декодировать кандидатов для других форматов PDCCH. Этот процесс повторяется для всех возможных форматов PDCCH до тех пор, пока все направленные PDCCH не будут успешно декодированы в пространстве поиска, специфичном для UE.

Пример генерации, передачи и восстановления DCI

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

Параметры для всей ячейки

Структура enbConfig используется для конфигурирования eNeyB.

enbConfig.NDLRB = 6;                % No of Downlink RBs in total BW
enbConfig.CyclicPrefix = 'Normal';  % CP length
enbConfig.CFI = 3;                  % 4 PDCCH symbols as NDLRB <= 10
enbConfig.Ng = 'Sixth';             % HICH groups
enbConfig.CellRefP = 1;             % 1-antenna ports
enbConfig.NCellID = 10;             % Physical layer cell identity
enbConfig.NSubframe = 0;            % Subframe number 0
enbConfig.DuplexMode = 'FDD';       % Frame structure

Формирование сообщения DCI

Создание сообщения DCI для отображения в PDCCH.

dciConfig.DCIFormat = 'Format1A';   % DCI message format
dciConfig.Allocation.RIV = 26;      % Resource indication value

% Create DCI message for given configuration
[dciMessage, dciMessageBits] = lteDCI(enbConfig, dciConfig);

Кодирование канала DCI

Кодирование канала сообщения DCI включает в себя следующие операции: вставка CRC, сверточное кодирование с отбиванием и согласование скорости. Область PDCCHFormat указывает, что один элемент канала управления (CCE) используется для передачи PDCCH, где CCE состоит из 36 полезных элементов ресурса.

C_RNTI = 100;                         % 16-bit UE-specific mask
pdcchConfig.RNTI = C_RNTI;            % Radio network temporary identifier
pdcchConfig.PDCCHFormat = 0;          % PDCCH format

% DCI message bits coding to form coded DCI bits
codedDciBits = lteDCIEncode(pdcchConfig, dciMessageBits);

Формирование битов PDCCH

Пропускная способность области управления зависит от полосы пропускания, индикатора формата управления (CFI), количества антенных портов и групп HICH. Общее количество ресурсов, доступных для PDCCH, может быть вычислено с помощью ltePDCCHInfo.

Не все доступные биты в области PDCCH обязательно используются. Поэтому принятое соглашение заключается в установке неиспользуемых битов в -1, в то время как используются битовые местоположения со значениями 0 или 1. Первоначально все элементы инициализируются с помощью -1, чтобы указать, что все биты не используются.

pdcchDims = ltePDCCHInfo(enbConfig);

% Initialize elements with -1 to indicate that all the bits are unused
pdcchBits = -1*ones(pdcchDims.MTot, 1);

% Perform search space for UE-specific control channel candidates.
candidates = ltePDCCHSpace(enbConfig, pdcchConfig, {'bits', '1based'});

% Map PDCCH payload on available UE-specific candidate. In this example the
% first available candidate is used to map the coded DCI bits.
pdcchBits ( candidates(1, 1) : candidates(1, 2) ) = codedDciBits;

Формирование комплексных модулированных символов PDCCH

Из набора битов, используемых в pdcchBits (значения не установлены в -1) генерируются комплексные символы PDCCH. Требуются следующие операции: скремблирование, QPSK модуляция, отображение уровня, предварительное кодирование и перемежение.

pdcchSymbols = ltePDCCH(enbConfig, pdcchBits);

Добавление шума

Затем комплексные символы PDCCH проходят через канал AWGN. Канал генерируется с помощью randn; его дисперсию можно настроить с помощью nVariance. Изменение числа повторных передач может быть смоделировано с использованием широкого диапазона nVariance параметр.

nVariance = 0.01; % Noise power
noise = complex(randn(size(pdcchSymbols))*sqrt(nVariance/2), ...
        randn(size(pdcchSymbols))*sqrt(nVariance/2));  % Generate noise
pdcchSymbolsNoisy = pdcchSymbols + noise;    % Add noise to PDSCH symbols

Декодирование PDCCH

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

recPdcchBits = ltePDCCHDecode(enbConfig, pdcchSymbolsNoisy);

Слепое декодирование с использованием поиска DCI

UE информируется только о количестве OFDM-символов в области управления подкадра и не снабжается местоположением его соответствующего PDCCH. UE находит свой PDCCH путем контроля набора кандидатов PDCCH в каждом подкадре. Это называется слепым декодированием. UE выполняет запрос CRC каждого управляющего кандидата, используя свой временный идентификатор радиосети (RNTI). Если ошибка ЦИК не обнаружена, UE рассматривает ее как успешную попытку декодирования и считывает управляющую информацию в успешном кандидате.

eNireB определяет формат PDCCH, подлежащий передаче в UE, создает соответствующий DCI и присоединяет CRC. Затем CRC маскируется RNTI в соответствии с владельцем или использованием PDCCH. Если PDCCH предназначен для конкретного UE, CRC будет маскироваться уникальным идентификатором UE, например Cell-RNTI (C-RNTI). Если PDCCH содержит информацию поискового вызова, CRC будет маскироваться идентификатором индикации поискового вызова, т.е. Paging-RNTI (P-RNTI). Если PDCCH содержит системную информацию, то для маскирования CRC будет использоваться идентификатор системной информации, т.е. системный информационный RNTI (SI-RNTI).

При наличии возможностей различных RNTI, кандидатов PDCCH, форматов DCI и PDCCH может потребоваться значительное количество попыток успешного декодирования PDCCH. Чтобы преодолеть эту сложность, UE сначала пытается слепо декодировать первый CCE в наборе кандидатов канала управления подкадра. Если слепое декодирование не удается, UE пытается слепо декодировать первые 2, 4, затем 8 CCE последовательно, где начальное местоположение фиксировано для общего случая поиска и задается хеш-функцией, как определено в пункте 9 [1] TS36.213, для конкретного случая UE.

ltePDCCHSearch сначала пытается декодировать PDCCH в общем пространстве поиска перед попыткой в определенном UE пространстве поиска. При поиске в общем пространстве поиска он итерирует только для двух уровней агрегации, т.е. 4 и 8, и пытается декодировать все кандидаты PDDCH для всех возможных форматов DCI общего пространства. Специфический для UE поиск выполняется на четырех уровнях агрегации, т.е. 1, 2, 4 и 8. Кандидаты PDCCH генерируются с использованием ltePDCCHSpace. Если ошибка ЦИК не обнаружена во время попытки декодирования, UE считает это успешным декодированием и считывает декодированное сообщение DCI.

decDCI является массивом ячеек структур, содержащих поля, связанные с одним или более декодированными сообщениями DCI. Поскольку множество каналов PDCCH может быть передано в подкадре, то UE должно контролировать все возможные каналы PDCCH, направленные на него.

decDCIBits - массив ячеек, содержащий один или более векторов битовых значений, соответствующих успешно декодированным сообщениям DCI.

ueConfig.RNTI = C_RNTI;
ueConfig.ControlChannelType = 'PDCCH';
ueConfig.EnableCarrierIndication = 'Off';
ueConfig.SearchSpace = 'UESpecific';
ueConfig.EnableMultipleCSIRequest = 'Off';
ueConfig.EnableSRSRequest = 'Off';
ueConfig.NTxAnts = 1;
[rxDCI, rxDCIBits] = ltePDCCHSearch(enbConfig, ueConfig, recPdcchBits);
decDCI = rxDCI{1};          % Decoded DCI information
decDCIBits = rxDCIBits{1};  % Decoded DCI bits

Отображение восстановленного RIV

fprintf(['\n\n Blind Decoding successful, the recovered resource '...
       'allocation is ' num2str(decDCI.Allocation.RIV) ' \n\n']);

 Blind Decoding successful, the recovered resource allocation is 26 

Избранная библиография

  1. 3GPP ТС 36.213 «Процедуры физического уровня»