LTE пулы ресурсов Sidelink и период PSCCH

В этом примере показано, как непрямые пулы ресурсов непосредственной связи и периоды PSCCH заданы и параметрированы. Это показывает отношение между полустатическими параметрами пула RRC и структурой периода PSCCH. Это также показывает, как динамические параметры планирования (DCI и SCI) для режима передачи 1 и режима 2 влияют на итоговый выбор ресурса передачи.

Введение в ProSe прямые коммуникации и Sidelink

Релиз 12 3GPP стандарт LTE ввел новый интерфейс (D2D) от устройства к устройству, нацеленный, в основном, на разрешение LTE поддержать системы связи общественной безопасности. В терминах полного LTE ЗАПУСТИЛСЯ, этот интерфейс включает два вида основанных на близости сервисов (известный в 3GPP как ProSe):

  • Непосредственная связь ProSe, где прямой UE нескольким коммуникация UE (коммуникация группы) возможна без передачи данных на восходящем канале или нисходящем канале. Это позволено для приложений общественной безопасности только и поддерживает один или несколько UEs, являющиеся из покрытия (сеть и/или частота).

  • Прямое Открытие ProSe, где бизнес-услуги могут быть включены для UEs, которые являются друг близко к другу. Эта функция может быть использована для коммерческого применения (например, сервисная реклама) в случае, когда оба UEs находятся в сетевом покрытии.

В терминах более низкого стека интерфейс LTE D2D называется непрямым и, в терминах архитектуры системы, это известно как PC5 (в отличие от интерфейса UE/eNodeB, Uu). Это включает набор новых физических сигналов, физических каналов, транспортных каналов и сообщений. Поскольку непрямое передается UE, это тесно связано с восходящим каналом, но это также включает некоторые аспекты нисходящей сигнализации синхронизации и управления. Один значительный результат этого проекта состоит в том, что UE должен будет теперь получить и сгенерировать (непрямой) восходящий стиль.

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

  • Физический Sidelink разделяемый канал (PSSCH)

  • Физический канал управления Sidelink (PSCCH) (несущий SCI)

  • Физический канал телевизионного вещания Sidelink (PSBCH)

  • Sidelink разделяемый канал (SL-SCH)

  • Канал телевизионного вещания Sidelink (SL-BCH) (несущий MIB-SL)

  • Сигналы синхронизации Sidelink

В дополнение к вышеупомянутым каналам новые процедуры физического уровня были введены как описано в Разделе TS 36.213 14. Ключевой концепцией в этих процессах является концепция пула ресурсов, который задает подмножество доступных подкадров и блоков ресурса или для непрямой передачи или для приема. Коммуникация Sidelink является полудуплексной схемой, и UE может быть сконфигурирован с несколькими пулами ресурсов передачи, и несколько получают пулы ресурсов. Пулы ресурсов сконфигурированы полустатически обменом сообщениями слоя 3. Когда данные должны быть отправлены с помощью пула ресурсов, фактические ресурсы передачи выбраны динамически из пула с помощью одного из двух различных режимов:

  • Режим Transmission 1 - обслуживание eNodeB задает ресурсы с помощью сообщения формата 5 DCI, отправленного в передачу UE. Этот режим требует, чтобы UE был полностью соединен с сетью (состояние RRC_CONNECTED).

  • Режим Transmission 2 - передача UE самовыбирает ресурсы согласно правилам, нацеленным на минимизацию риска столкновения. Этот режим может использоваться, когда UE соединяется, неактивен (RRC_IDLE) или покрытие из сети.

Введение в пулы ресурсов Sidelink и период PSCCH

Непрямой пул ресурсов непосредственной связи сконфигурирован на полустатическом базисе с помощью слоя 3 SL-CommResourcePool Сообщение RRC (Раздел TS 36.331 6.3.8). Слой 1 физические ресурсы (подкадры и блоки ресурса) сопоставленный с пулом разделен в последовательность повторяющихся 'гиперкадров', известных как периоды PSCCH. Это - стандартизированный термин, использованный в TS 36.213, но это также иногда упоминается как SA (планирующий присвоение) период или SC (непрямое управление) период. В период PSCCH существуют отдельные пулы подкадра и пулы блока ресурса для управления (PSCCH) и данных (PSSCH). Подкадры PSCCH всегда предшествуют тем для передачи PSSCH. Это походит на размещение символа PDCCH и символов PDSCH OFDM в одном нисходящем подкадре, где область управления предшествует части данных. PSCCH несет сообщения непрямой управляющей информации (SCI), которые описывают динамические свойства передачи PSSCH, которые следуют за ним. Получение UE ищет все, сконфигурировало пулы ресурсов PSCCH для передач SCI интереса для него. UE может быть членом больше чем одной непрямой коммуникационной группы.

Они подкадр и пулы блока ресурса заданы различными параметрами в SL-CommResourcePool-r12 сообщение. Определением ASN.1 типа сообщения (см. Раздел TS 36.331 6.1 для общих терминов) дают,

SL-CommResourcePool-r12 ::= SEQUENCE {

    sc-CP-Len-r12                       SL-CP-Len-r12,
    sc-Period-r12                       SL-PeriodComm-r12,
    sc-TF-ResourceConfig-r12            SL-TF-ResourceConfig-r12,
    data-CP-Len-r12                     SL-CP-Len-r12,
    dataHoppingConfig-r12               SL-HoppingConfigComm-r12,
    ue-SelectedResourceConfig-r12       SEQUENCE {
        data-TF-ResourceConfig-r12          SL-TF-ResourceConfig-r12,
        trpt-Subset-r12                     SL-TRPT-Subset-r12          OPTIONAL    -- Need OP
    }                                                               OPTIONAL,   -- Need OR
    rxParametersNCell-r12               SEQUENCE {
        tdd-Config-r12                      TDD-Config                  OPTIONAL,   -- Need OP
        syncConfigIndex-r12                 INTEGER (0..15)
    }                                                               OPTIONAL,   -- Need OR
    txParameters-r12                    SEQUENCE {
        sc-TxParameters-r12                 SL-TxParameters-r12,
        dataTxParameters-r12                SL-TxParameters-r12
    }                                                               OPTIONAL,   -- Cond Tx
    ...

}

Этот пример использует структуру MATLAB, чтобы содержать все параметры симуляции включая тех, которые представляют подмножество SL-CommResourcePool-r12 сообщение.

% This example bundles all parameters into a structure based on
% SL-CommResourcePool-r12. Compare this parameter structure with the RRC
% message definition from TS 36.331 Section 6.3.8
commpoolparameters = PSCCHPeriod.defaultConfig(1,'5MHz')
commpoolparameters = 

  struct with fields:

                            NSLRB: 25
                       DuplexMode: 'FDD'
                        TDDConfig: 0
                       UESelected: 'On'
                       SyncEnable: 'On'
                     NPSCCHPeriod: 0
                    sc_CP_Len_r12: 'Normal'
                    sc_Period_r12: 40
         sc_TF_ResourceConfig_r12: [1x1 struct]
                  data_CP_Len_r12: 'Normal'
            dataHoppingConfig_r12: [1x1 struct]
    ue_SelectedResourceConfig_r12: [1x1 struct]
                       syncConfig: [1x1 struct]

Обратите внимание на то, что некоторые параметры или информационный элементы (IE) в сообщении являются дополнительными, например, в зависимости от того, является ли настройка пула для передачи, или получить. Если ue-SelectedResourceConfig-r12 включен в сообщение затем, UE находится в режиме передачи 2 (выбранный UE) в противном случае, это находится в режиме передачи 1 (eNodeB запланировано). Для получения дополнительной информации смотрите следующее 3GPP документы технического стандарта: * Раздел TS 36.331 6.3.8 для определения всех непрямых похожих сообщений и информационный элементов, * Раздел TS 36.331 5.10 для слоя 3 непрямые процедуры, * Раздел TS 36.213 14 для слоя 1 непрямые процедуры.

Моделирование коммуникационные пулы Sidelink и период PSCCH с LTE Toolbox

Этот пример использует класс Handle MATLAB под названием PSCCHPeriod представлять структуру периода PSCCH для одного непрямого прямого коммуникационного пула ресурсов. Объекты типа PSCCHPeriod может быть создан с помощью структуры параметра, которая комбинирует общие параметры передачи, как полоса пропускания передачи и режим дуплекса, с полустатичным слоем 3 параметра RRC, в основном, от SL-CommResourcePool сообщение (Раздел TS 36.331 6.3.8). Объект может затем использоваться к,

  • Получите свойства, которые предоставляют ключевую информацию о процедурных сущностях в период PSCCH, таких как пулы подкадра и пулы блока ресурса

  • Отобразите изображение, представляющее ресурсы, используемые в период PSCCH, и для пулов ресурсов и для фактических ресурсов передачи

  • Сгенерируйте основополосную форму волны в течение периода PSCCH, содержащего PSCCH, PSSCH и передачи синхронизации

Следующий код показывает как PSCCHPeriod объект может быть создан, отношение между его параметрами конфигурации и SL-CommResourcePool обменивайтесь сообщениями, и как это может отобразить местоположения физических пулов ресурсов в период PSCCH.

% Construct a default PSCCH period object to illustrate PSCCH/PSSCH
% resource pool layout within the period. This default example is
% configured for 5MHz bandwidth and 40ms length, so the overall period
% contains 40 subframes. The displayed properties of the PSCCHPeriod object
% include the 0-based indices for both PSCCH and PSSCH subframe and
% resource block pools. The subframe pool indices are relative to the
% beginning of the period
period = PSCCHPeriod

% Display an image representing the structure of this particular PSCCH
% period. The lighter blue part represents the PSCCH resource pool for SCI
% control information, and the yellow region is the PSSCH resource pool for
% PSSCH shared data
displayPeriod(period);
snapnow;

% Re-configure for TDD then display the updated properties and pool
% locations
period.Config.DuplexMode = 'TDD';
displayPeriod(period);
snapnow;

% The PSCCHPeriod class includes other default parameter structures that
% can be used to configure an object. These are based on a subset of the
% reference pool configurations of TS 36.101 Section A.7.2
configuration = PSCCHPeriod.defaultConfig(1,'5MHz')
period = 

  PSCCHPeriod with properties:

            NSubframeBegin: 0
              PeriodLength: 40
                    TxMode: 'Mode2'
         PSCCHSubframePool: [3 4]
    PSCCHResourceBlockPool: [25x1 double]
          NumPSCCHResource: 24
         PSSCHSubframePool: [8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... ]
    PSSCHResourceBlockPool: [25x1 double]
               AllowedITRP: [70x1 double]
             SyncSubframes: []
                    Config: [1x1 struct]

configuration = 

  struct with fields:

                            NSLRB: 25
                       DuplexMode: 'FDD'
                        TDDConfig: 0
                       UESelected: 'On'
                       SyncEnable: 'On'
                     NPSCCHPeriod: 0
                    sc_CP_Len_r12: 'Normal'
                    sc_Period_r12: 40
         sc_TF_ResourceConfig_r12: [1x1 struct]
                  data_CP_Len_r12: 'Normal'
            dataHoppingConfig_r12: [1x1 struct]
    ue_SelectedResourceConfig_r12: [1x1 struct]
                       syncConfig: [1x1 struct]

Подкадр PSCCH и пулы блока ресурса

Пул ресурсов PSCCH параметрируется sc-TF-ResourceConfig-r12 информационный элемент, который имеет тип SL-TF-ResourceConfig-r12. Этот тип также используется, чтобы задать пул ресурсов PSSCH в случае режима передачи PSSCH 2. Параметры в этом IE определяют и подкадр PSCCH и пулы блока ресурса. Это содержит следующие параметры:

SL-TF-ResourceConfig-r12 ::= SEQUENCE {

    prb-Num-r12                         INTEGER (1..100),
    prb-Start-r12                       INTEGER (0..99),
    prb-End-r12                         INTEGER (0..99),
    offsetIndicator-r12                 SL-OffsetIndicator-r12,
    subframeBitmap-r12                  SubframeBitmapSL-r12

}

В случае PSCCH, offsetIndicator-r12 параметр задает смещение последовательности периода PSCCH относительно № 0 SFN/DFN. Первый подкадр i-ого периода PSCCH дан jbegin = offsetIndicator-r12 + i * sc-Period-r12. subframeBitmap-r12 параметр используется, чтобы выбрать подкадры из запуска периода для пула подкадра PSCCH. Эти три параметра, prb-Num-r12, prb-Start-r12 и prb-End-r12 используются, чтобы выбрать PRB для пула блока ресурса PSCCH. В зависимости от значений параметров этот пул может быть сформирован из или одного или двух непрерывных наборов блоков ресурса. Это описано более подробно ниже.

% Display the parameter structure used to configure the PSCCH resource pools
period = PSCCHPeriod;
pscchpoolparams = period.Config.sc_TF_ResourceConfig_r12
pscchpoolparams = 

  struct with fields:

            prb_Num_r12: 13
          prb_Start_r12: 0
            prb_End_r12: 24
    offsetIndicator_r12: 0
     subframeBitmap_r12: '0001100000000000000000000000000000000000'

Пул подкадра PSCCH задан subframeBitmap-r12 параметр, который является частью sc-TF-ResourceConfig-r12 информационный элемент. Поскольку пул подкадра, первые$N'$ восходящие подкадры в период PSCCH выбраны, где$N'$ длина битового массива. Эти подкадры обозначаются своими индексами$(l_0,l_1,\ldots,l_{N'-1})$. Пул подкадра PSCCH затем включает восходящие подкадры, сопоставленные с 1's в битовом массиве$(a_0, a_1,\ldots, a_{N'-1})$, и получившийся пул обозначается тем$(l^{PSCCH}_0, l^{PSCCH}_1,\ldots, l^{PSCCH}_{L_{PSCCH}-1})$, где$L_{PSCCH}$ количество подкадров в пуле.

% Display the PSCCH subframe pool bitmap parameter, subframeBitmap_r12
pscchsubframebitmap = period.Config.sc_TF_ResourceConfig_r12.subframeBitmap_r12
% Display the subframe pool indices (0-based, relative to the start of the
% PSCCH period) selected by the 1's in the bitmap
pscchsubframepool = period.PSCCHSubframePool

% Change the duplexing mode to TDD and observe the difference in subframe
% pool indices to account for the new uplink subframe positions for the
% current TDD configuration
period.Config.DuplexMode = 'TDD';
tddconfig = period.Config.TDDConfig
pscchsubframepool = period.PSCCHSubframePool
pscchsubframebitmap =

    '0001100000000000000000000000000000000000'


pscchsubframepool =

     3     4


tddconfig =

     0


pscchsubframepool =

     7     8

Пул блока ресурса PSCCH задан этими тремя параметрами prb-Start-r12, prb-End-r12 и prb-Num-r12, которые являются также частью sc-TF-ResourceConfig-r12 информационный элемент.

Параметры задают две полосы prb-Start-r12 $\le q <$ (prb-Start-r12 + prb-Num-r12) и (prb-End-r12 - prb-Num-12)$< q \le$ prb-End-r12. Получившиеся индексы обозначаются тем$(m^{PSCCH}_0, m^{PSCCH}_1,\ldots, m^{PSCCH}_{M^{PSCCH\_RP}_{RB}-1})$, где$M^{PSCCH\_RP}_{RB}$ количество блоков в пуле ресурсов. Полосы могут перекрыться, чтобы сформировать один непрерывный блок.

% Display the PSCCH resource block pool parameters, prb_Start-r12, prb-End-r12, prb-Num-r12
prbstart = period.Config.sc_TF_ResourceConfig_r12.prb_Start_r12
prbend = period.Config.sc_TF_ResourceConfig_r12.prb_End_r12
prbnum = period.Config.sc_TF_ResourceConfig_r12.prb_Num_r12

% Display the resource block pool indices (0-based) resulting from these
% parameters
pscchprbpool = period.PSCCHResourceBlockPool

% Change the prb-Num-r12 parameter and observe the difference in the
% resource block pool indices to account for the reduction in the size of
% the pool bands
prbnum = 2
period.Config.sc_TF_ResourceConfig_r12.prb_Num_r12 = prbnum;
pscchprbpool = period.PSCCHResourceBlockPool
prbstart =

     0


prbend =

    24


prbnum =

    13


pscchprbpool =

     0
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24


prbnum =

     2


pscchprbpool =

     0
     1
    23
    24

Следующее демонстрирует некоторые эффекты этих параметров визуально.

% Display the PSCCH pool resource locations for the default configuration.
% For this parameterization the PSCCH resource block pool spans the entire
% bandwidth and the PSCCH subframe pool is a pair of contiguous subframes
% (the lighter blue area towards the start of the period)
period = PSCCHPeriod;
displayPeriod(period);
snapnow;

% Modify the subframe bitmap and resource block pool parameters to create
% non-contiguous pools
newconfig.prb_Num_r12 = 6;
newconfig.prb_Start_r12 = 2;
newconfig.prb_End_r12 = 23;
newconfig.offsetIndicator_r12 = 0;
newconfig.subframeBitmap_r12 = '0101010000000000000000000000000000000000';
period.Config.sc_TF_ResourceConfig_r12 = newconfig;
displayPeriod(period);
snapnow;

Подкадр PSSCH и пулы блока ресурса

Параметризация и структура подкадра PSSCH и пула блока ресурса зависят от режима передачи.

Для режима передачи 1, пул подкадра PSSCH включает все остающиеся восходящие подкадры, которые сразу запускаются после последнего подкадра пула подкадра PSCCH$l^{PSCCH}_{L_{PSCCH}-1}$. Пул блока ресурса PSSCH включает полную полосу пропускания передачи$(0,\ldots, N_{RB}^{SL})$.

Для режима передачи 2, сообщение RRC использует подобный подход параметризации к тому из PSCCH. Если коммуникационное сообщение пула содержит ue-SelectedResourceConfig-r12 элемент, затем UE находится в режиме передачи 2, и это самовыберет свои итоговые ресурсы передачи из пулов ресурсов PSSCH. Эти пулы заданы с помощью другого экземпляра того же SL-TF-ResourceConfig-r12 набор параметров, который используется, чтобы структурировать пулы PSCCH.

ue-SelectedResourceConfig-r12 информационный элементом дают,

ue-SelectedResourceConfig-r12 ::= SEQUENCE {

    data-TF-ResourceConfig-r12              SL-TF-ResourceConfig-r12,
    trpt-Subset-r12                         SL-TRPT-Subset-r12  OPTIONAL  -- Need OP

}

Дополнительный trpt-Subset-r12 параметр является маленьким битовым массивом (3 - 5 битов), который используется, чтобы ограничить набор$I_{TRP}$ (индекс шаблона ресурса времени) значения, можно выбрать UE. Это влияет на общее количество подкадров передачи, которые UE может выбрать из пула подкадра PSSCH и поэтому максимального количества транспортных блоков, которые могут быть отправлены в запланированный период.

Для пула подкадра PSSCH, subframeBitmap-r12 битовый массив выбирает подкадры пула из набора всех восходящих подкадров, которые запускаются в номере подкадра, данном offsetIndicator-r12 (относительно запуска периода), и продолжаются в конец периода. subframeBitmap-r12 битовый массив повторяется так, чтобы это было, по крайней мере, пока восходящий набор подкадра и использовалось, чтобы выбрать итоговый пул подкадра PSSCH. Пул блока ресурса PSSCH задан таким же образом как с PSCCH использование этих трех параметров, prb-Num-r12, prb-Start-r12 и prb-End-r12.

% Configure for transmission mode 1 (not UE selected).
% Note that the PSSCH resource pool (yellow) is always full band and
% includes all uplink subframes in the period starting immediately after
% the PSCCH pool (lighter blue)
period = PSCCHPeriod;
period.Config.UESelected = 'off';
displayPeriod(period);
snapnow;

% Change to TDD and note the subframe gaps in the period due to the
% downlink subframes
period.Config.DuplexMode = 'TDD';
displayPeriod(period);
snapnow;

% Change back to transmission mode 2 (UE selected) and FDD.
% Modify the PSSCH resource block pool parameters to create two distinct
% PRB bands
period.Config.UESelected = 'on';
period.Config.DuplexMode = 'FDD';
period.Config.ue_SelectedResourceConfig_r12.data_TF_ResourceConfig_r12.prb_Num_r12 = 10;
period.Config.ue_SelectedResourceConfig_r12.data_TF_ResourceConfig_r12.prb_Start_r12 = 2;
% Although the offset indicator is 0 relative to the start of the period,
% the leading 0's in the subframe bitmap create the gap between the period
% start and that of the PSSCH subframe pool
display(period.Config.ue_SelectedResourceConfig_r12.data_TF_ResourceConfig_r12);
displayPeriod(period);
snapnow;

% Increase the length of the period and note the gaps created in PSSCH
% subframe pool due to the repetition of the pattern of 0's in the
% configured subframe bitmap (40 bits) to cover the increased number of
% uplink subframes in the period.
period.Config.sc_Period_r12 = 160;  % 40,60,70,80,120,140,160,240,280,320 subframes, depending on duplexing config
displayPeriod(period);
snapnow;

  struct with fields:

            prb_Num_r12: 10
          prb_Start_r12: 2
            prb_End_r12: 24
    offsetIndicator_r12: 0
     subframeBitmap_r12: '0000000011111111111111111111111111111111'

Передача Sidelink и динамическое планирование ресурса

Аналогичный описанному выше, когда данные должны быть отправлены с помощью пула ресурсов, фактические ресурсы передачи выбраны динамически из пула с помощью одного из двух различных режимов,

  • Режим Transmission 1 - обслуживание eNodeB направляет ресурсы с помощью сообщения формата 5 DCI, отправленного в передачу UE

  • Режим Transmission 2 - передача UE самовыбирает ресурсы согласно правилам, нацеленным на минимизацию риска столкновения

В обоих случаях те же параметры физического уровня используются, чтобы справиться с фактическим выбором ресурса. Различие, являющееся этим, для режима 1, эти параметры обеспечиваются сетью, тогда как, для режима 2, они выбраны случайным образом UE (Раздел TS 36.321 5.14.1.1 задает - "случайным образом выбирают время и ресурсы частоты для SL-SCH и SCI непрямого предоставления от пула ресурсов, сконфигурированного верхними уровнями. Случайная функция должна быть такова, что каждый из позволенных выборов может быть выбран с равной вероятностью".)

Параметры физического уровня:

  • Ресурс для значения PSCCH ($n_{PSCCH}$) - подкадры PSCCH и блоки ресурса

  • Индекс Шаблона Ресурса времени ($I_{TRP}$) - подкадры PSSCH

  • Параметры Распределения ресурсов (RIV, скачкообразно перемещая биты) - блоки ресурса PSSCH

Выбор ресурса для передачи PSCCH

Управляющая информация PSCCH, сопоставленная с любой передачей данных PSSCH, отправляется дважды на двух отдельных экземплярах PSCCH. Каждый PSCCH использует различный один PRB, выбранный из пула блока ресурса PSCCH. Пара подкадров выбрана из пула подкадра PSCCH. Эти ресурсы PSCCH сообщены одним скалярным значением$n_{PSCCH}$ ("Ресурс для PSCCH"). Два подкадра и пары индекса PRB выведены согласно Разделам TS 36.213 14.2.1.1 и 14.2.1.2. Область значений позволенных значений$0 \leq n_{PSCCH} < \lfloor M^{PSCCH\_RP}_{RB} / 2 \rfloor \cdot L_{PSCCH}$. Количество позволенных значений дано NumPSCCHResource свойство.

% Create an example PSCCH period and observe the location of the PSCCH
% subframe and resource block pools. Note that the PSCCH subframe pool
% contains only 2 entries in this case so all of the pool subframes will
% be used
period = PSCCHPeriod
displayPeriod(period);
snapnow;

% Select a valid nPSCCH value (use the last value in the allowed range)
% and return the associated PSCCH subframe and PRB indices
dci.PSCCHResource = period.NumPSCCHResource-1;
[subframes1,prb1,selected1] = period.getPSCCHResources(dci)

% Let the function select an nPSCCH value at random, as required by
% the collision avoidance mechanism used in transmission mode 2
sci.PSCCHResource = [];
[subframes2,prb2,selected2] = period.getPSCCHResources(sci)
period = 

  PSCCHPeriod with properties:

            NSubframeBegin: 0
              PeriodLength: 40
                    TxMode: 'Mode2'
         PSCCHSubframePool: [3 4]
    PSCCHResourceBlockPool: [25x1 double]
          NumPSCCHResource: 24
         PSSCHSubframePool: [8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... ]
    PSSCHResourceBlockPool: [25x1 double]
               AllowedITRP: [70x1 double]
             SyncSubframes: []
                    Config: [1x1 struct]

subframes1 =

     4     3


prb1 =

    11    23


selected1 =

    23


subframes2 =

     4     3


prb2 =

     9    21


selected2 =

    19

Подобно использованию PDCCH и DCI в нисходящем канале, пара экземпляров PSCCH несет сообщение формата 0 SCI, которое содержит информацию, используемую получением UEs, чтобы декодировать связанную последовательность PSSCH. В кодировании SCI нет никакого маскирования CRC RNTI. Вместо этого UEs получения используют целевой ID группы, содержавший в полезной нагрузке сообщения SCI, чтобы помочь отфильтровать коммуникации PSSCH интереса (дополнительная целевая фильтрация также сделана более высокими слоями).

Сообщение Формата 0 SCI

Релиз 12 стандарта LTE задает один формат SCI. Для получения дополнительной информации смотрите lteSCI. Формат 0 SCI задан в Разделе TS 36.212 5.4.3.1.1 следующими информационными полями:

- Frequency hopping flag - 1 бит, как задано в разделе TS 36.213 14.1.1

- Resource block assignment and hopping resource allocation -$\lceil log_2(N^{SL}_{RB}(N^{SL}_{RB}+1)/2)\rceil$ биты

- Для скачкообразного движения PSSCH:

  • Hopping bits -$N_{SL\_hop}$ Биты MSB используются, чтобы получить значение$\tilde{n}_{PRB}(i)$, как обозначено в разделе TS 36.213 8.4

  • RIV -$( \lceil log_2(N^{SL}_{RB}(N^{SL}_{RB}+1)/2)\rceil )$ биты обеспечивают распределение ресурсов в подкадре

- Для нескачкообразного движения PSSCH:

  • RIV -$( \lceil log_2(N^{SL}_{RB}(N^{SL}_{RB}+1)/2)\rceil - N_{SL\_hop})$ биты обеспечивают распределение ресурсов в подкадре, как задано в разделе TS 36.213 8.1.1

- Time resource pattern - 7 битов, как задано в разделе TS 36.213 14.1.1 ($I_{TRP}$)

- Modulation and coding scheme - 5 битов, как задано в разделе TS 36.213 14.1.1 ($I_{MCS}$)

- Timing advance indication - 11 битов, как задано в разделе TS 36.213 14.2.1

- Group destination ID - 8 битов, как задано более высокими слоями ($N^{SA}_{ID}$)

% Display the SCI format 0 message field sizes for this example (5 MHz BW)
sci0 = lteSCI(period.Config,struct('SCIFormat','Format0','FreqHopping',1),'fieldsizes')
allocfields = sci0.Allocation

% Change BW to 10 MHz and notice the difference in resource field sizes
period.Config.NSLRB = 50;
sci0 = lteSCI(period.Config,struct('SCIFormat','Format0','FreqHopping',1),'fieldsizes')
allocfields = sci0.Allocation
sci0 = 

  struct with fields:

              SCIFormat: 'Format0'
            FreqHopping: 1
             Allocation: [1x1 struct]
    TimeResourcePattern: 7
              ModCoding: 5
            TimeAdvance: 11
                  NSAID: 8
                Padding: 0


allocfields = 

  struct with fields:

    HoppingBits: 1
            RIV: 8


sci0 = 

  struct with fields:

              SCIFormat: 'Format0'
            FreqHopping: 1
             Allocation: [1x1 struct]
    TimeResourcePattern: 7
              ModCoding: 5
            TimeAdvance: 11
                  NSAID: 8
                Padding: 0


allocfields = 

  struct with fields:

    HoppingBits: 2
            RIV: 9

Выбор ресурса для передачи PSSCH

В случае PSSCH различные параметры используются, чтобы задать ресурсы частоты и время. Это отличается от PSCCH, который сигнализирует, чтобы подкадры и PRB использовались одним значением.

Подкадры, сопоставленные с передачей PSSCH, обозначаются индексом шаблона ресурса времени$I_{TRP}$. Этот индекс используется, чтобы искать битовый массив от набора таблиц с выбором таблицы, являющейся зависящим от настройки дуплекса. Выбранное растровое изображение обозначается тем$({b'}_0,b'_1,\ldots,b'_{N_{TRP}-1})$, где$N_{TRP}$ 6,7 или 8 в зависимости от таблицы. Этот битовый массив повторяется, чтобы сформировать расширенный битовый массив$(b_0,b_1,\ldots,b_{L_{PSSCH}-1})$, который покрывает целый пул подкадра PSSCH. Подкадры, используемые для передачи PSSCH, выбраны этим 1 значением в этом расширенном битовом массиве, чтобы дать итоговый набор подкадра, обозначенный тем$(n^{PSSCH}_0, n^{PSSCH}_1,\ldots, n^{PSSCH}_{N_{PSSCH}-1})$, где$N_{PSSCH}$ количество подкадров, которые могут использоваться для передачи PSSCH в период PSCCH и которые будут также кратными 4. Это выравнивается с тем, что каждый транспортный блок, переданный в период, будет отправлен четыре раза с помощью фиксированной последовательности HARQ RV = 0,2,3,1. В период PSCCH, столько же запланированных тетрад используется сколько транспортные блоки, которые доступны, чтобы отправить в то время.

Если скачкообразное движение частоты включено, блоки ресурса, используемые в каждом из подкадров передачи, зависит от поля RIV и скачкообразно двигающихся битов. Это в дополнение к полустатическому dataHoppingConfig-r12 параметры и зависимый ресурс блокируют пул. PRB будет затем зависеть от положения активного подкадра в пуле подкадра.

% Display the transmission resources used within the PSCCH/PSSCH resource
% pools. Turn PSSS/SSSS/PSBCH on for this example
period = PSCCHPeriod;
period.Config.SyncEnable = 'on';
period.Config.syncConfig.syncOffsetIndicator_r12 = 0;

% Define all the allocation control parameters, including an explicit PSCCH
% resource. Although in mode 2, this is effectively full DCI format 5
% parameterization, indicating SCI format 0 and PSCCH resource control
dci.PSCCHResource = 0;             % Select a specific PSCCH resource value
dci.TimeResourcePattern = 106;     % Select an unrestricted bitmap (all 1's)
dci.FreqHopping = 1;               % Configure frequency hopping with hopping type 2 (predefined sequence) and a single PRB allocation
dci.Allocation.HoppingBits = 3;    % Setting the value=3 will enable hopping type 2 for all BW (1 or 2 bits)

% Get the set of RIV that is associated with contiguous allocations within
% the current PSSCH resource pool. Set the first RIV which will be a single
% PRB allocation
[riv,range] = getAllowedRIV(period,dci);
dci.Allocation.RIV = riv(1);

% Display subframe indices and prb indices associated with the dynamic allocation
[subframes,prb,poolindices] = period.getPSSCHResources(dci)
% Display the transmission resources in addition to the pool positions
displayPeriod(period,dci);
snapnow;

% Display the RRC parameters that affect the PSSCH resource allocation and
% modify the RB offset to move the PRB allocation away from the PRB pool edges
period.Config.dataHoppingConfig_r12
period.Config.dataHoppingConfig_r12.numSubbands_r12 = 2;
period.Config.dataHoppingConfig_r12.rb_Offset_r12 = 4;
displayPeriod(period,dci);
snapnow;

% Display the UE selected (mode 2) PSCCH resource pool configuration then
% modify the PRB resource block pool parameters to created two distinct
% resource groups in the pool away from the band edges
dataresconfig = period.Config.ue_SelectedResourceConfig_r12.data_TF_ResourceConfig_r12
dataresconfig.prb_Start_r12 = 0;
dataresconfig.prb_End_r12 = 22;
dataresconfig.prb_Num_r12 = 8;
period.Config.ue_SelectedResourceConfig_r12.data_TF_ResourceConfig_r12 = dataresconfig;
% Display the updated resource pool and its effect on the transmission resources
displayPeriod(period,dci);
snapnow;

% Finally generate and plot the associated baseband waveform
figure
waveform = generateWaveform(period,dci);
plot(abs(waveform)); title('PSCCH period baseband waveform');
snapnow;
subframes =

  Columns 1 through 13

     8     9    10    11    12    13    14    15    16    17    18    19    20

  Columns 14 through 26

    21    22    23    24    25    26    27    28    29    30    31    32    33

  Columns 27 through 32

    34    35    36    37    38    39


prb =

  1x32 uint64 row vector

  Columns 1 through 15

   12   12   11   12   23   12    0    0    0   11   12   12   11   12   23

  Columns 16 through 30

   12    0    0    0   11   12   12   11   12   23   12    0    0    0   11

  Columns 31 through 32

   12   12


poolindices =

  Columns 1 through 13

     0     1     2     3     4     5     6     7     8     9    10    11    12

  Columns 14 through 26

    13    14    15    16    17    18    19    20    21    22    23    24    25

  Columns 27 through 32

    26    27    28    29    30    31

ans = 

  struct with fields:

    hoppingParameter_r12: 504
         numSubbands_r12: 2
           rb_Offset_r12: 0

dataresconfig = 

  struct with fields:

            prb_Num_r12: 13
          prb_Start_r12: 0
            prb_End_r12: 24
    offsetIndicator_r12: 0
     subframeBitmap_r12: '0000000011111111111111111111111111111111'

Приложение

Этот пример использует этот класс помощника.

Выбранная библиография

3GPP TS 36.101 "Передача радио оборудования пользователя (UE) и прием"

3GPP TS 36.211 "Физические каналы и модуляция"

3GPP TS 36.212 "Мультиплексирование и кодирование канала"

3GPP TS 36.213 "Процедуры физического уровня"

3GPP TS 36.321 "Спецификация протокола Среднего управления доступом (MAC)"

3GPP TS 36.331 "Спецификация протокола Радио-управления ресурсами (RRC)"