exponenta event banner

5G Восходящая линия связи NR с генерацией векторной формы сигнала PUCCH

Этот пример осуществляет 5G НОМЕР канала восходящей связи с векторным использованием генератора формы волны PUCCH 5G Toolbox™, чтобы создать форму волны перевозчика компонента основной полосы частот.

Введение

Этот пример показывает, как параметризовать и произвести 5G форма волны канала восходящей связи New Radio (NR). Могут генерироваться следующие каналы и сигналы:

  • PUSCH и связанные с ним DM-RS и PT-RS

  • PUCCH и связанные с ним DM-RS

  • SRS

В этом примере поддерживается параметризация и генерация нескольких частей полосы пропускания (BWP). Множественные экземпляры PUSCH, PUCCH и SRS могут генерироваться по различным BWP. Пример позволяет сконфигурировать PUCCH, PUSCH и SRS для конкретного UE, классифицированного по RNTI, и передает только PUSCH для этого конкретного RNTI, когда PUCCH и PUSCH перекрываются в слоте. В примере рассматривается настройка нескольких экземпляров PUCCH для нескольких форматов.

Чтобы произвести 5G, форма волны канала восходящей связи с PUSCH или SRS, включая CG-UCI Выпуска 16 и SRS для расположения, видит 5G НОМЕР Векторного примера Поколения Формы волны Канала восходящей связи.

Конфигурация формы сигнала и несущей

В этом разделе задается интервал между поднесущими (SCS) для конкретных полос частот несущих в блоках ресурсов, идентификатор ячейки физического уровня. NCellIDи длину генерируемого сигнала в подкадрах. Можно визуализировать сгенерированные сетки ресурсов, установив DisplayGrids поле к 1. Параметры полосы пропускания канала и частотного диапазона используются для отображения соответствующих минимальных защитных полос на принципиальной схеме выравнивания несущих SCS. Принципиальная схема отображается на одной из выходных графиков примера.

waveconfig = [];
waveconfig.NCellID = 0;            % Cell identity
waveconfig.ChannelBandwidth = 50;  % Channel bandwidth (MHz)
waveconfig.FrequencyRange = 'FR1'; % 'FR1' or 'FR2'
waveconfig.NumSubframes = 10;      % Number of 1ms subframes in generated waveform
                                   % (1,2,4,8 slots per 1ms subframe, depending on SCS)
waveconfig.DisplayGrids = 1;       % Display the resource grids after signal generation

% Define a set of SCS specific carriers, using the maximum sizes for a 50
% MHz NR channel. See TS 38.101-1 for more information on defined
% bandwidths
carriers = [];
carriers(1).SubcarrierSpacing = 15;
carriers(1).NRB = 270;
carriers(1).RBStart = 0;

carriers(2).SubcarrierSpacing = 30;
carriers(2).NRB = 133;
carriers(2).RBStart = 1;

Части полосы пропускания

BWP формируется набором смежных ресурсов, совместно использующих нумерологию на данной конкретной несущей SCS. В этом примере поддерживается использование нескольких BWP с использованием массива структуры. Каждая запись в массиве представляет BWP. Для каждого BWP можно указать интервал между поднесущими (SCS), длину циклического префикса (CP) и полосу пропускания. SubcarrierSpacing параметр отображает BWP на одну из определенных ранее несущих SCS. RBOffset параметр управляет расположением BWP в полке. Это выражается в терминах нумерологии BWP. Различные BWP могут перекрываться друг с другом.

% Bandwidth parts configurations
bwp = [];

bwp(1).SubcarrierSpacing = 15;              % BWP1 Subcarrier Spacing
bwp(1).CyclicPrefix = 'Normal';             % BWP1 cyclic prefix
bwp(1).NRB = 25;                            % Size of BWP1
bwp(1).RBOffset = 10;                       % Position of BWP1 in carrier

bwp(2).SubcarrierSpacing = 30;              % BWP2 Subcarrier Spacing
bwp(2).CyclicPrefix = 'Normal';             % BWP2 cyclic prefix
bwp(2).NRB = 51;                            % Size of BWP2
bwp(2).RBOffset = 40;                       % Position of BWP2 in carrier

Конфигурация экземпляров PUCCH

Этот раздел определяет параметры для набора экземпляров PUCCH в форме сигнала. Каждый элемент в массиве структуры определяет экземпляр последовательности PUCCH. Могут быть установлены следующие параметры:

  • Активизация/деактивизация последовательности PUCCH

  • Укажите BWP, несущий PUCCH

  • Мощность экземпляра PUCCH в дБ

  • Слоты в пределах периода, используемого для PUCCH

  • Периодичность распределения. Использовать пустое для указания на отсутствие повторения

  • Повышение мощности DM-RS в дБ

pucch = [];
pucch(1).Enable = 1;                        % Enable PUCCH sequence
pucch(1).BWP = 1;                           % Bandwidth part
pucch(1).Power = 0;                         % Power scaling in dB
pucch(1).AllocatedSlots = [3 4];            % Allocated slots within a period
pucch(1).AllocatedPeriod = 6;               % Allocation slot period (empty implies no repetition)
pucch(1).PowerDMRS = 1;                     % Additional power boosting in dB

Конфигурирование ресурсов PUCCH

В этом разделе указываются параметры, связанные с ресурсами последовательности PUCCH. Параметры можно разделить на следующие разделы:

  • Включение/отключение выделенного ресурса PUCCH. Если это отключено, используется общий ресурс согласно ТУ 38.213 Раздел 9.2.1

  • Укажите значение индекса ресурса (0... 15), когда выделенный ресурс отключен и циклический префикс передачи PUCCH BWP нормален. В этом случае параметры ресурса и формата для передачи PUCCH заполняются непосредственно на основе индекса ресурса. Все остальные параметры, которые предоставляются для конфигураций ресурсов и форматов, не учитываются.

Когда выделенный ресурс активизирован или когда выделенный ресурс деактивирован с циклическим префиксом передачи PUCCH BWP, необходимо предоставить следующие параметры ресурса:

  • Указание индекса первого PRB перед скачкообразной перестройкой частоты или без скачкообразной перестройки частоты в BWP

  • Указание индекса первого PRB после скачкообразной перестройки частоты в BWP

  • Конфигурация скачкообразной перестройки частоты внутри слота («enabled», «disabled»)

  • Конфигурация скачкообразной перестройки группы («ни», «включить», «отключить»)

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

  • Конфигурирование формата PUCCH в ресурсе (0... 4)

  • Начальный индекс символа, назначенный для передачи PUCCH

  • Количество символов OFDM, выделенных для передачи PUCCH. Для форматов 1, 3 и 4 PUCCH количество выделенных символов OFDM находится в диапазоне от 4 до 14, а для форматов 0 и 2 оно равно 1 или 2.

  • Начальный циклический сдвиг для форматов 0 и 1. Значение находится в диапазоне от 0 до 11

  • Схема модуляции для форматов 3 и 4 («QPSK», «pi/2-BPSK»)

  • Количество блоков ресурсов, выделенных для форматов 2 и 3. Номинальное значение является одним из установленных {1,2,3,4,5,6,8,9,10,12,15,16}

  • Коэффициент расширения для формата 4. Значение: 2 или 4

  • Индекс ортогонального кода обложки для форматов 1 и 4. Для формата 1 значение находится в диапазоне от 0 до 6. Для формата 4 значение меньше коэффициента расширения и больше или равно 0

  • Укажите наличие дополнительных DM-RS для форматов 3 и 4. Значение равно 0 или 1

Скремблирование удостоверений, используемых для различных форматов

  • RNTI для форматов 2/3/4. Используется для генерации последовательности. Он находится в диапазоне от 0 до 65535

  • Идентификатор скремблирования (NID) для форматов PUCCH 2/3/4. Он находится в диапазоне от 0 до 1023. Используйте пустой ([]) для идентификации ячейки физического уровня. Используется при генерации последовательности. Этот параметр обеспечивается параметром более высокого уровня dataScramblingIdentityPUSCH

  • Идентификатор скачкообразной перестройки PUCCH для форматов 0/1/3/4. Используйте пустой ([]) для идентификации ячейки физического уровня. Это значение используется при формировании последовательности для формата 0, при создании последовательности и DM-RS для формата 1 и только для формирования DM-RS для форматов 3 и 4.

  • Скремблирование NID DM-RS для формата 2 PUCCH. Он находится в диапазоне от 0 до 65535. Использовать пустой ([]) для идентификации ячейки физического уровня

Независимо от конфигурации выделенного ресурса, для повторений слотов должны быть предусмотрены следующие параметры:

  • Укажите количество повторений слотов для форматов 1,3,4 (2 или 4 или 8). При отсутствии повторения слота значение может быть указано как 1

  • Укажите скачкообразную перестройку частоты между слотами для форматов 1,3,4 («enabled», «disabled»). Если это разрешено и количество повторений в слоте больше одного, то скачкообразная перестройка частоты внутри слота деактивируется

  • Укажите максимальную кодовую скорость. Номинальное значение - одно из заданных {0,08, 0,15, 0,25, 0,35, 0,45, 0,6, 0,8}

% Dedicated resource parameters
pucch(1).DedicatedResource = 1;             % Enable/disable the dedicated resource configuration (1/0)
% Provide the resource index value when dedicated resource is disabled. The
% PUCCH resource is configured based on the resource index value, as per
% the table 9.2.1-1 of Section 9.2.1, TS 38.213.
pucch(1).ResourceIndex = 0;                 % Resource index for PUCCH dedicated resource (0...15)

% When dedicated resource is enabled or when the dedicated resource is
% disabled with the cyclic prefix of BWP transmitting PUCCH is extended,
% the resource index value is ignored and the parameters specified below
% for the resource and format configurations are considered.

% Resource parameters
pucch(1).StartPRB = 0;                      % Index of first PRB prior to frequency hopping or for no frequency hopping
pucch(1).SecondHopPRB = 1;                  % Index of first PRB after frequency hopping
pucch(1).IntraSlotFreqHopping = 'enabled';  % Indication for intra-slot frequency hopping ('enabled','disabled')
pucch(1).GroupHopping = 'enable';           % Group hopping configuration ('enable','disable','neither')

% Format specific parameters
pucch(1).PUCCHFormat = 3;                   % PUCCH format 0/1/2/3/4
pucch(1).StartSymbol = 3;                   % Starting symbol index
pucch(1).NrOfSymbols = 11;                  % Number of OFDM symbols allocated for PUCCH
pucch(1).InitialCS = 3;                     % Initial cyclic shift for format 0 and 1
pucch(1).OCCI = 0;                          % Orthogonal cover code index for format 1 and 4
pucch(1).Modulation = 'QPSK';               % Modulation for format 3/4 ('pi/2-BPSK','QPSK')
pucch(1).NrOfRB = 9;                        % Number of resource blocks for format 2/3
pucch(1).SpreadingFactor = 4;               % Spreading factor for format 4, value is either 2 or 4
pucch(1).AdditionalDMRS = 1;                % Additional DM-RS (0/1) for format 3/4

% Scrambling identities of PUCCH and PUCCH DM-RS
pucch(1).RNTI = 0;                          % RNTI (0...65535) for formats 2/3/4
pucch(1).NID = 1;                           % PUCCH scrambling identity (0...1023) for formats 2/3/4
pucch(1).HoppingId = 1;                     % PUCCH hopping identity (0...1023) for formats 0/1/3/4
pucch(1).NIDDMRS = 1;                       % DM-RS scrambling identity (0...65535) for PUCCH format 2

% Multi-slot configuration parameters
pucch(1).NrOfSlots = 1;                     % Number of slots for PUCCH repetition (1/2/4/8). One for no repetition
pucch(1).InterSlotFreqHopping = 'disabled'; % Indication for inter-slot frequency hopping ('enabled','disabled'), used in PUCCH repetition

% Code rate - This parameter is used when there is multiplexing of UCI part
% 1 (HARQ-ACK, SR, CSI part 1) and UCI part 2 (CSI part 2) to get the rate
% matching lengths of each UCI part
pucch(1).MaxCodeRate = 0.15;                % Maximum code rate (0.08, 0.15, 0.25, 0.35, 0.45, 0.6, 0.8)

Конфигурация полезной нагрузки UCI

Конфигурирование полезной нагрузки UCI на основе конфигурации формата

  • Включение или отключение кодирования UCI для форматов 2/3/4

  • Количество битов HARQ-ACK. Для форматов 0 и 1 значение может быть не более 2. Установите значение 0 для отсутствия передачи HARQ-ACK

  • Количество битов SR. Для форматов 0 и 1 значение может быть не более 1. Установите значение 0 для отсутствия передачи SR

  • Количество битов компонента CSI 1 для форматов 2/3/4. Установите значение 0 для отсутствия передачи компонента 1 CSI

  • Количество 2 битов компонента CSI для форматов 3/4. Установите значение 0 для отсутствия передачи компонента 2 CSI. Значение игнорируется при отсутствии битов компонента 1 CSI

Отметим, что генератор в примере передает информацию UCI по PUSCH всякий раз, когда имеется перекрытие между PUCCH и PUSCH для конкретного RNTI в BWP. Параметры, которые должны быть сконфигурированы для передачи UCI по PUSCH, представлены в разделе UCI по PUSCH. Он требует, чтобы длины UCI и UL-SCH передавались по PUSCH.

pucch(1).EnableCoding = 1;                  % Enable UCI coding
pucch(1).LenACK = 5;                        % Number of HARQ-ACK bits
pucch(1).LenSR = 5;                         % Number of SR bits
pucch(1).LenCSI1 = 10;                      % Number of CSI part 1 bits (for formats 2/3/4)
pucch(1).LenCSI2 = 10;                      % Number of CSI part 2 bits (for formats 3/4)

pucch(1).DataSource = 'PN9';                % UCI data source

% UCI message data source. You can use one of the following standard PN
% sequences: 'PN9-ITU', 'PN9', 'PN11', 'PN15', 'PN23'. The seed for the
% generator can be specified using a cell array in the form |{'PN9',seed}|.
% If no seed is specified, the generator is initialized with all ones

Указание нескольких экземпляров PUCCH

Второй экземпляр последовательности PUCCH задается следующим с использованием второго BWP.

% PUCCH sequence instance specific to second BWP
pucch(2) = pucch(1);
pucch(2).BWP = 2;
pucch(2).StartSymbol = 10;
pucch(2).NrOfSymbols = 2;
pucch(2).PUCCHFormat = 2;
pucch(2).AllocatedSlots = 0:2;
pucch(2).AllocatedPeriod = [];
pucch(2).RNTI = 10;

Конфигурация экземпляров PUSCH

В этом разделе задается набор экземпляров PUSCH в форме сигнала с использованием массива структуры. В этом примере определяются два экземпляра последовательности PUSCH.

Общие параметры

Для каждого экземпляра устанавливаются следующие параметры:

  • Включение/отключение этой последовательности PUSCH

  • Укажите BWP, к которому сопоставляется этот PUSCH. PUSCH будет использовать SCS, указанный для этого BWP.

  • Масштабирование мощности в дБ

  • Включение/отключение транспортного кодирования UL-SCH

  • Идентификатор скремблирования (NID) для битов PUSCH. Он находится в диапазоне от 0 до 1023. Использовать пустой ([]) для идентификации ячейки физического уровня

  • RNTI

  • Преобразование предварительного кодирования (0,1). Значение 1 дает возможность предварительного кодирования преобразования, и результирующая форма сигнала представляет собой DFT-s-OFDM. Когда значение равно 0, результирующей формой сигнала является CP-OFDM.

  • Целевая кодовая скорость, используемая для вычисления размеров транспортного блока.

  • Параметр накладных расходов. Используется для вычисления длины транспортного блока. Это один из наборов {0, 6, 12, 18}

  • Схема передачи («codebook», «non Codebook»). Когда схемой передачи является «кодовая книга», предварительное кодирование MIMO разрешено, и матрица предварительного кодирования выбирается на основе количества уровней, количества антенных портов и индикатора переданной матрицы предварительного кодирования. Когда передача установлена на «non Codebook», используется единичная матрица, что приводит к отсутствию предварительного кодирования MIMO.

  • Схема модуляции («pi/2-BPSK», «QPSK», «16QAM», «64QAM», «256 QAM»). Номинально, схема модуляции «pi/2-BPSK» используется, когда предварительное кодирование преобразования разрешено

  • Количество слоев (1... 4). Количество уровней ограничено максимум 4 в восходящей линии связи, поскольку существует только одна передача кодового слова. Номинально число уровней устанавливается равным 1, когда предварительное кодирование преобразования разрешено. Это значение игнорируется, если указано поле PortSet

  • Количество антенных портов (1,2,4). Используется, когда передача кодовой книги активизирована. Количество антенных портов должно быть больше или равно количеству сконфигурированных портов DM-RS

  • Переданный индикатор матрицы предварительного кодирования (0... 27). Это зависит от количества уровней и количества антенных портов

  • Последовательность версий резервирования (RV)

  • Скачкообразная перестройка частоты внутри слота («enabled», «disabled»)

  • Смещение блока ресурсов для второго транзитного участка. Используется при активизации скачкообразной перестройки частоты (внутри слота/между слотами).

  • Скачкообразная перестройка частоты между слотами («enabled», «disabled»). Если это разрешено, скачкообразная перестройка частоты внутри слота отключена, начальная позиция блока ресурсов в выделенном PRB PUSCH в части полосы пропускания зависит от того, является ли слот четным или нечетным.

  • Источник данных транспортного блока. Можно использовать одну из следующих стандартных PN последовательностей: 'PN9-ITU', 'PN9', 'PN11', 'PN15', 'PN23'. Начальное значение для генератора можно задать с помощью массива ячеек в форме {'PN9', seed}. Если начальное значение не указано, генератор инициализируется всеми

pusch = [];
pusch(1).Enable = 1;                        % Enable PUSCH config
pusch(1).BWP = 1;                           % Bandwidth part
pusch(1).Power = 0;                         % Power scaling in dB
pusch(1).EnableCoding = 1;                  % Enable the UL-SCH transport coding
pusch(1).NID = 1;                           % Scrambling for data part (0...1023)
pusch(1).RNTI = 0;                          % RNTI
pusch(1).TransformPrecoding = 0;            % Transform precoding flag (0 or 1)
pusch(1).TargetCodeRate = 0.47;             % Code rate used to calculate transport block sizes
pusch(1).Xoh_PUSCH = 0;                     % Overhead. It is one of the set {0,6,12,18}

% Transmission settings
pusch(1).TxScheme = 'codebook';             % Transmission scheme ('codebook','nonCodebook')
pusch(1).Modulation = 'QPSK';               % 'pi/2-BPSK','QPSK','16QAM','64QAM','256QAM'
pusch(1).NLayers = 2;                       % Number of PUSCH layers (1...4)
pusch(1).NAntennaPorts = 4;                 % Number of antenna ports (1,2,4). It must not be less than number of layers
pusch(1).TPMI = 0;                          % Transmitted precoding matrix indicator (0...27)
pusch(1).RVSequence = [0 2 3 1];            % RV sequence to be applied cyclically across the PUSCH allocation sequence
pusch(1).IntraSlotFreqHopping = 'disabled'; % Intra-slot frequency hopping ('enabled','disabled')
pusch(1).RBOffset = 10;                     % Resource block offset for second hop

% Multi-slot transmission
pusch(1).InterSlotFreqHopping = 'enabled';  % Inter-slot frequency hopping ('enabled','disabled')

% Data source
pusch(1).DataSource = 'PN9';                % Transport block data source

Распределение

Для управления назначением PUSCH можно установить следующие параметры.

  • Тип сопоставления PUSCH. Это может быть «A» или «B».

  • Символы в слоте, на который отображается PUSCH. Это должно быть непрерывное распределение. Для типа отображения «A» PUSCH начальный символ в слоте должен быть равен нулю, а длина может быть от 4 до 14 (для нормального CP) и до 12 (для расширенного CP). Для типа отображения «B» PUSCH начальный символ может быть из любого символа в слоте.

  • Слоты в полке, используемой для PUSCH

  • Период распределения в слотах. Если он пуст, это означает отсутствие повторения

  • Назначенные PRB относятся к BWP

pusch(1).PUSCHMappingType = 'A';        % PUSCH mapping type ('A'(slot-wise),'B'(non slot-wise))
pusch(1).AllocatedSymbols = 0:13;       % Range of symbols in a slot
pusch(1).AllocatedSlots = [0 1];        % Allocated slots indices
pusch(1).AllocatedPeriod = 5;           % Allocation period in slots (empty implies no repetition)
pusch(1).AllocatedPRB = 0:10;           % PRB allocation

Конфигурация DM-RS

Установка параметров DM-RS

% DM-RS configuration (TS 38.211 section 6.4.1.1)
pusch(1).DMRSConfigurationType = 1;    % DM-RS configuration type (1,2)
pusch(1).NumCDMGroupsWithoutData = 2;  % Number of DM-RS CDM groups without data. The value can be one of the set {1,2,3}
pusch(1).PortSet = [0 2];              % DM-RS antenna ports to use for the layers, when field is specified
pusch(1).DMRSTypeAPosition = 2;        % Mapping type A only. First DM-RS symbol position (2,3)
pusch(1).DMRSLength = 1;               % Number of front-loaded DM-RS symbols (1(single symbol),2(double symbol))
pusch(1).DMRSAdditionalPosition = 2;   % Additional DM-RS symbol positions (max range 0...3)
pusch(1).NIDNSCID = 1;                 % Scrambling identity for CP-OFDM (0...65535). Use empty ([]) to use physical layer cell identity
pusch(1).NSCID = 0;                    % Scrambling initialization for CP-OFDM (0,1)
pusch(1).NRSID = 0;                    % Scrambling identity for DFT-s-OFDM DM-RS (0...1007). Use empty ([]) to use physical layer cell identity
pusch(1).PowerDMRS = 0;                % Additional power boosting in dB
pusch(1).GroupHopping = 'enable';      % {'enable','disable','neither'}. This parameter is used only when transform precoding is enabled

Параметр GroupHopping используется при формировании последовательности DM-RS, когда предварительное кодирование преобразования разрешено. Можно установить значение

  • enable для указания наличия групповой скачкообразной перестройки. Он конфигурируется параметром более высокого уровня sequenceGroupHopping

  • «disable» для указания наличия скачкообразной перестройки последовательности. Он конфигурируется параметром более высокого уровня sequenceHopping

  • 'neyther', чтобы указать, что и групповая скачкообразная перестройка, и скачкообразная перестройка последовательности отсутствуют

Примечание.Количество групп CDM DM-RS без данных зависит от типа конфигурации. Максимальное количество групп CDM DM-RS может составлять 2 для типа конфигурации 1 DM-RS и 3 для типа конфигурации 2 DM-RS.

Конфигурация PT-RS

Установка параметров PT-RS

% PT-RS configuration (TS 38.211 section 6.4.1.2)
pusch(1).EnablePTRS = 0;            % Enable or disable the PT-RS (1 or 0)
pusch(1).PTRSTimeDensity = 1;       % Time density (L_PT-RS) of PT-RS (1,2,4)
pusch(1).PTRSFrequencyDensity = 2;  % Frequency density (K_PT-RS) of PT-RS for CP-OFDM (2,4)
pusch(1).PTRSNumSamples = 2;        % Number of PT-RS samples (NGroupSamp) for DFT-s-OFDM (2,4)
pusch(1).PTRSNumGroups = 2;         % Number of PT-RS groups (NPTRSGroup) for DFT-s-OFDM (2,4,8)
pusch(1).PTRSREOffset = '00';       % PT-RS resource element offset for CP-OFDM ('00','01','10','11')
pusch(1).PTRSPortSet = 0;           % PT-RS antenna ports must be a subset of DM-RS ports for CP-OFDM
pusch(1).PTRSNID = 0;               % PT-RS scrambling identity for DFT-s-OFDM (0...1007)
pusch(1).PowerPTRS = 0;             % Additional PT-RS power boosting in dB for CP-OFDM

% When PT-RS is enabled for CP-OFDM, the DM-RS ports must be in range from
% 0 to 3 for DM-RS configuration type 1, and in the range from 0 to 5 for
% DM-RS configuration type 2.
% When PT-RS is enabled for DFT-s-OFDM and the number of PT-RS groups is
% set to 8, the number of PT-RS samples must be set to 4.

UCI на PUSCH

Для передачи UCI по PUSCH в перекрывающихся слотах необходимо установить следующие параметры:

  • Деактивизация передачи UL-SCH в перекрывающихся слотах PUSCH (1/0). Если установлено значение 1, передача UL-SCH деактивизирована по PUSCH. В примере рассматривается передача UL-SCH все время по PUSCH. Предусмотрена возможность деактивизации передачи UL-SCH в перекрывающихся слотах PUSCH и PUCCH.

  • BetaOffsetACK, BetaOffsetCSI1 и BetaOffsetCSI2 можно найти в таблицах 9.3-1, 9.3-2 TS 38.213 Раздел 9.3

  • ScalingFactor обеспечивается параметром более высокого уровня scaling, согласно ТУ 38.212, раздел 6.3.2.4. Возможное значение - одно из множества {0,5, 0,65, 0,8, 1}. Используется для ограничения количества элементов ресурсов, присвоенных UCI в PUSCH.

pusch(1).DisableULSCH = 1;             % Disable UL-SCH on overlapping slots of PUSCH and PUCCH
pusch(1).BetaOffsetACK = 1;            % Power factor of HARQ-ACK
pusch(1).BetaOffsetCSI1 = 2;           % Power factor of CSI part 1
pusch(1).BetaOffsetCSI2 = 2;           % Power factor of CSI part 2
pusch(1).ScalingFactor = 1;            % Scaling factor (0.5, 0.65, 0.8, 1)

Указание нескольких экземпляров PUSCH

Второй экземпляр последовательности PUSCH задается следующим с использованием второго BWP.

pusch(2) = pusch(1);
pusch(2).Enable = 1;
pusch(2).BWP = 2;
pusch(2).AllocatedSymbols = 0:11;
pusch(2).AllocatedSlots = [5 6 7 8];
pusch(2).AllocatedPRB = 5:10;
pusch(2).AllocatedPeriod = 10;
pusch(2).TransformPrecoding = 1;
pusch(2).IntraSlotFreqHopping = 'disabled';
pusch(2).GroupHopping = 'neither';
pusch(2).NLayers = 1;
pusch(2).PortSet = 1;
pusch(2).RNTI = 0;

Конфигурация экземпляров SRS

Этот раздел определяет параметры для набора экземпляров SRS в форме сигнала. Каждый элемент в массиве структуры определяет экземпляр последовательности SRS. В этом примере определяются два отключенных экземпляра последовательности SRS. Могут быть установлены следующие параметры:

  • Включить/отключить эту последовательность SRS

  • BWP, несущая SRS

  • Количество антенных портов SRS (1,2,4).

  • Количество символов OFDM, выделенных для передачи SRS (1,2,4)

  • Запуск символа OFDM передачи SRS в пределах слота. Он должен быть (8... 13) для нормальных ПУ и (6... 11) для расширенных ПУ

  • Слоты в пределах периода, используемого для передачи SRS

  • Периодичность распределения. Использовать пустое для указания на отсутствие повторения

  • Начальное положение последовательности SRS в BWP в RB

  • Дополнительное смещение частоты от исходного положения в блоках 4-PRB

  • Конфигурация полосы пропускания и скачкообразной перестройки частоты. Занимаемая полоса пропускания зависит от параметров CSRS, BSRS, и BHop. Набор BHop < BSRS для включения скачкообразной перестройки частоты.

  • Гребенка передачи для задания плотности частоты SRS в поднесущих (2,4)

  • Смещение гребенки передачи в поднесущих

  • Циклический сдвиг при вращении базовой последовательности с низким PAPR. Максимальное число циклических сдвигов, 8 или 12, зависит от числа гребенок передачи, 2 или 4. Для 4 антенных портов SRS набор поднесущих, назначенный SRS в первом и третьем антенных портах, зависит от циклического сдвига.

  • Количество повторяющихся символов SRS в слоте. Он отключает скачкообразную перестройку частоты в блоках Repetition символы. Набор Repetition = 1 без повторения.

  • Скачкообразное изменение группы или последовательности. Это может быть 'neither', 'groupHopping' или 'sequenceHopping'

  • Скремблирование идентичности. Он инициализирует псевдослучайную двоичную последовательность, когда активизирована групповая или последовательная скачкообразная перестройка.

srs = struct();
srs(1).Enable = 0;                  % Enable SRS config
srs(1).BWP = 1;                     % BWP Index
srs(1).NumSRSPorts = 1;             % Number of SRS ports (1,2,4)
srs(1).NumSRSSymbols = 4;           % Number of SRS symbols in a slot (1,2,4)
srs(1).SymbolStart = 10;            % Time-domain position of the SRS in the slot. (8...13) for normal CP and (6...11) for extended CP
srs(1).AllocatedSlots = 2;          % Allocated slots indices
srs(1).AllocatedPeriod = 5;         % Allocation period in slots (empty implies no repetition)
srs(1).FreqStart = 0;               % Frequency position of the SRS in BWP in RBs
srs(1).NRRC = 0;                    % Additional offset from FreqStart specified in blocks of 4 PRBs (0...67)
srs(1).CSRS = 13;                   % Bandwidth configuration C_SRS (0...63). It controls the allocated bandwidth to the SRS
srs(1).BSRS = 2;                    % Bandwidth configuration B_SRS (0...3). It controls the allocated bandwidth to the SRS
srs(1).BHop = 1;                    % Frequency hopping configuration (0...3). Set BHop < BSRS to enable frequency hopping
srs(1).KTC = 2;                     % Comb number (2,4). It indicates the allocation of the SRS every KTC subcarriers
srs(1).KBarTC = 0;                  % Subcarrier offset of the SRS sequence (0...KTC-1)
srs(1).CyclicShift = 0;             % Cyclic shift number (0...NCSmax-1). NCSmax = 8 for KTC = 2 and NCSmax = 12 for KTC = 4.
srs(1).Repetition = 1;              % Repetition factor (1,2,4). It indicates the number of equal consecutive SRS symbols in a slot
srs(1).GroupSeqHopping = 'neither'; % Group or sequence hopping ('neither', 'groupHopping', 'sequenceHopping')
srs(1).NSRSID = 0;                  % Scrambling identity (0...1023)

Указание нескольких экземпляров SRS

Второй экземпляр последовательности SRS задается следующим с использованием второго BWP.

srs(2) = srs(1);
srs(2).Enable = 0;
srs(2).BWP = 2;
srs(2).NumSRSSymbols = 2;
srs(2).SymbolStart = 12;
srs(2).AllocatedSlots = [5 6 7 8];
srs(2).AllocatedPeriod = 10;
srs(2).BSRS = 0;
srs(2).BHop = 0;

Генерация формы сигнала

Этот раздел собирает все параметры в конфигурацию несущей и генерирует форму сигнала.

% Collect together channel oriented parameter sets into a single
% configuration
waveconfig.Carriers = carriers;
waveconfig.BWP = bwp;
waveconfig.PUCCH = pucch;
waveconfig.PUSCH = pusch;
waveconfig.SRS = srs;

% Generate complex baseband waveform
[waveform,bwpset] = hNRUplinkWaveformGenerator(waveconfig);

Генератор сигналов также отображает выравнивание несущей SCS и сети ресурсов для частей полосы пропускания (это контролируется полем DisplayGrids в конфигурации несущей). Создаются следующие графики:

  • Сетка ресурсов, показывающая местоположение компонентов (PUCCH, PUSCH и SRS) в каждом BWP. Это не строит график мощности сигналов, только их расположение в сети

  • Принципиальная схема совмещения несущих SCS с соответствующими ограждениями

  • Генерируемый сигнал в частотной области для каждого BWP. Сюда входят экземпляры PUCCH, PUSCH и SRS.

Функция генератора формы сигнала возвращает форму сигнала во временной области и матрицу структуры. bwpset, который содержит следующие поля:

  • Сетка ресурсов, соответствующая этому BWP

  • Сетка ресурсов общей полосы пропускания, содержащая каналы и сигналы в этом BWP

  • Информационная структура с информацией, соответствующей BWP. Содержимое этой информационной структуры для первого BWP показано ниже:

disp('Information associated to BWP 1:')
disp(bwpset(1).Info)
Information associated to BWP 1:
                   Nfft: 4096
             SampleRate: 61440000
    CyclicPrefixLengths: [1x14 double]
          SymbolLengths: [1x14 double]
              Windowing: 144
           SymbolPhases: [0 0 0 0 0 0 0 0 0 0 0 0 0 0]
         SymbolsPerSlot: 14
       SlotsPerSubframe: 1
          SlotsPerFrame: 10
           NSubcarriers: 3240
      SubcarrierSpacing: 15
     SymbolsPerSubframe: 14
     SamplesPerSubframe: 61440
         SubframePeriod: 1.0000e-03
                     k0: 0
           SamplingRate: 61440000

Следует отметить, что сформированная сетка ресурсов является 3D матрицей, где различные плоскости представляют антенные порты. Для различных физических каналов и сигналов нижний порт отображается на первую плоскость сетки.

См. также

Функции

Связанные темы