exponenta event banner

Параметризация LTE для генерации и моделирования формы сигнала

В этом примере показаны соответствующие шаги и различные способы параметризации сквозного моделирования и генерации статической формы сигнала с использованием LTE Toolbox™. В этом примере мы фокусируемся на нисходящей линии связи, но обсуждаемые концепции применимы и к восходящей линии связи.

Введение

Панель инструментов LTE может использоваться для генерации стандартных совместимых LTE/LTE-Advanced сигналов восходящей линии связи, нисходящей линии связи и боковой линии связи, которые могут использоваться для ряда приложений конечных пользователей, включая сквозное моделирование, генерацию статических сигналов, регрессионное тестирование и анализ рабочих характеристик. Инструментарий предоставляет функции для гибкого и простого создания полной ссылки, адаптированной к требованиям пользователя. Благодаря множеству каналов и сигналов в каждой линии связи панель инструментов также обеспечивает средство для генерации заранее определенных наборов параметров, соответствующих стандартным определенным каналам измерения, которые могут использоваться как таковые или могут быть дополнительно модифицированы для параметризации генерации формы сигнала и сквозного моделирования. Для нисходящей линии связи панель инструментов включает эти предварительно определенные наборы параметров в виде опорных каналов измерения (RMC), определенных в TS 36.101 [1]. В этом примере показано, как lteRMCDL и lteRMCDLTool функции объединяются для поддержки генерации сигнала нисходящей линии связи LTE для различных требований пользователя. Соответствующие функции восходящей линии связи: lteRMCUL и lteRMCULTool.

Функции параметризации нисходящей линии связи LTE и генерации формы сигнала

В этом примере рассматриваются две функции верхнего уровня, предоставляемые панелью инструментов: lteRMCDL, который создает полный набор параметров, и lteRMCDLTool, который генерирует сигнал нисходящей линии связи. Комбинируя эти две функции, можно легко генерировать совместимые со стандартами формы сигналов LTE.

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

Панель инструментов включает lteRMCDL , которая может обеспечить полностью заполненную структуру параметров для предварительно сконфигурированных опорных каналов измерения (RMC), а также пользовательских конфигураций. Эта структура параметров может непосредственно использоваться lteRMCDLTool функция формирования формы сигнала или она может использоваться в качестве шаблона для создания формы сигнала с заданными пользователем значениями для любого из составляющих каналов или сигналов. Например, изменение схемы/режима передачи, схемы модуляции, скорости кодирования или изменение уровня мощности физических каналов. Важно отметить, что все пользовательские значения определяются перед вызовом lteRMCDL функция. Это потому, что lteRMCDL функция не перезаписывает значения параметров, уже определенные на входе (за исключением параметров, доступных только для чтения). На следующей схеме показана параметризация для типовых установок моделирования.

Параметры параметризации нисходящей линии связи LTE

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

  • Создайте набор параметров из важных параметров для всей ячейки и PDSCH: lteRMCDL функция обеспечивает расширение параметров и обработку размера транспортного блока из параметров соты и PDSCH. Предполагается, что все подкадры нисходящей линии связи и специальные (если режим TDD) запланированы. Это позволяет задать подмножество параметров, а затем функция вычисляет совместимые отсутствующие параметры для создания полного набора. Этот подход может быть использован в целом для создания конфигураций, где субкадр 5 активен.

  • Использование одного из предварительно определенных наборов параметров: lteRMCDL поддерживает ряд стандартных наборов параметров в виде RMC. Если есть конфигурация, которая точно соответствует требованиям, или если мы хотим сформировать форму сигнала, соответствующую RMC, мы можем использовать этот номер RMC непосредственно для поиска таблицы RMC и создания набора параметров. Поддерживаемые RMC и их параметры верхнего уровня показаны ниже:

  • Настройка одного из предварительно определенных наборов параметров: Существует множество сценариев, в которых требуется несколько другая конфигурация формы сигнала, чем заданная предварительно определенным набором. В этом случае мы можем начать с одного из предварительно определенных RMC и изменить параметры, которые требуют различных значений для создания полного настраиваемого набора параметров. Это иллюстрируется примером в разделе «Параметризация с использованием кодовой скорости и опорного PDSCH в подкадре 5» ниже. Следует отметить, что подкадры с пользовательскими данными соответствуют RMC. Если TDD используется дуплексный режим и TDDConfig изменяют на другое значение от RMC, тогда поведение подкадра 0, 5 и специальных подкадров останется неизменным, и все другие подкадры нисходящей линии связи наследуют свойства (т.е. активный/неактивный, распределение, целевая кодовая скорость) подкадра 9.

Параметризация с использованием важных параметров для всей ячейки и PDSCH

Приведенная ниже блок-схема объясняет, как настроить набор параметров с использованием некоторых параметров для всей ячейки ключа и PDSCH. Из подмножества этих параметров, lteRMCDL функция может создавать полный набор параметров посредством расширения параметров.

%  The following example shows how to create a 20MHz, QPSK, 3/4 rate
%  waveform corresponding to transmission mode 8 ('Port7-8' transmission
%  scheme) with full allocation and 2 transmit antennas
dataStream = [1 0 0 1];     % Define the input user data stream
params = struct();          % Initialize the parameter structure
params.NDLRB = 100;         % 20 MHz bandwidth
params.CellRefP = 2;        % Cell reference signals on the first two ports
params.PDSCH.PRBSet = (0:params.NDLRB-1)'; % Full allocation
params.PDSCH.TargetCodeRate = 3/4; % The target code rate
params.PDSCH.TxScheme = 'Port7-8'; % Transmission mode 8
params.PDSCH.NLayers = 2;          % 2 layer transmission
params.PDSCH.Modulation = 'QPSK';  % Modulation scheme
params.PDSCH.NSCID = 0;            % Scrambling identity
params.PDSCH.NTxAnts = 2;          % 2 transmit antennas
params.PDSCH.W = lteCSICodebook(params.PDSCH.NLayers,...
                        params.PDSCH.NTxAnts,0).'; % Precoding matrix

% Now use lteRMCDL to populate other parameter fields
fullParams = lteRMCDL(params);
% Generate the waveform using the full parameter set 'fullParams'
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool(fullParams,dataStream);
% dlWaveform is the time domain waveform, dlGrid is the resource grid and
% dlParams is the full set of parameters used in the waveform generation.

Параметризация с использованием предварительно определенного набора параметров

Если имеется предопределенный набор параметров, который точно соответствует требованиям, или если мы хотим сформировать форму сигнала, соответствующую RMC, используйте этот номер RMC для создания полного набора параметров.

Создать форму волны, соответствующую R.0 RMC, определенному в TS 36.101, Приложении A.3 [1]

params = lteRMCDL('R.0'); % Define the parameter set
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool(params,dataStream);

% If the end application is waveform generation, we can also use the RMC
% number directly with the generator to create the waveforms
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool('R.0',dataStream);

Параметризация с использованием кодовой скорости и опорного PDSCH в субкадре 5

Предположим, что мы хотим определить два кодовых слова 10MHz PDSCH, используя пространственное мультиплексирование с разомкнутым контуром 2 уровня, модуляцию 16QAM и скорость 1/2 с опорной передачей PDSCH в подкадре 5. См. TS 36.101 Таблица A.3.1.1-1: Обзор опорных каналов измерения нисходящей линии связи, R.31-3A соответствует этим критериям, но с 64QAM модуляцией и переменной скоростью кодирования.

Чтобы создать требуемый набор параметров, начинаем с R.31-3A RMC, чтобы разрешить передачу PDSCH в подкадре 5. Затем мы переопределяем модуляцию и кодовую скорость. lteRMCDL функция выполняет вычисление размера транспортного блока в соответствии с кодовой скоростью.

params = struct(); % Initialize the parameter structure
params.RC = 'R.31-3A';
params.PDSCH.TargetCodeRate = 1/2;
params.PDSCH.Modulation = '16QAM';
% Now use lteRMCDL to populate other parameter fields
fullParams = lteRMCDL(params);
% Generate the waveform using the full parameter set 'fullParams'
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool(fullParams,{dataStream, dataStream}); %#ok<*ASGLU>

Обратите внимание, что мы использовали 'R.31-3A' в качестве отправной точки, поскольку наш требуемый набор параметров близко соответствовал этому RMC (включая опорный PDSCH в подкадре 5). Мы также можем создать набор параметров, не указывая RC выше (или установив RC пустым ([])). В этом случае набор параметров будет соответствовать опорному PDSCH во всех подкадрах нисходящей линии связи и специальных (если режим TDD).

Параметризация с использованием размеров MCS/транспортных блоков

Есть случаи, когда мы знаем размер MCS или транспортного блока и хотим создать соответствующий сигнал. На следующем рисунке показаны этапы параметризации с использованием MCS.

Например, чтобы создать набор параметров для индекса 10 MCS, учитывая, что распределение ресурсов равно 50 RB:

mcsIndex = 10;
% Get the ITBS and modulation from MCS value
[itbs,modulation] = lteMCS(mcsIndex);
params = struct(); % Initialize the parameter structure
% Bandwidth (NDLRB) must be greater than or equal to allocations
params.NDLRB = 50;                         % Set the bandwidth
params.PDSCH.PRBSet = (0:params.NDLRB-1)'; % Full allocation
params.PDSCH.Modulation = modulation;      % Set the modulation scheme
nrb = size(params.PDSCH.PRBSet,1);         % Get number of RBs allocated
tbs = double(lteTBS(nrb,itbs));            % Get the transport block size
% Now create the 'TrBlkSizes' vector with no transmission in subframe 5
params.PDSCH.TrBlkSizes = [ones(1,5)*tbs 0 ones(1,4)*tbs];
% Now use lteRMCDL to populate other parameter fields
fullParams = lteRMCDL(params);
% Now generate the waveform using the full parameter set 'fullparams'
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool(fullParams,dataStream);

Этот подход может также использоваться для создания набора параметров с размером транспортного блока, который не является стандартным определенным, или когда требуемый размер транспортного блока соответствует кодовой скорости, превышающей 0,93 (стандарт ограничивает кодовую скорость максимальной 0,93). Для этих случаев мы можем указать размер транспортного блока, как показано в примере выше, и другие параметры будут соответствующим образом обновлены lteRMCDL функция. Следует отметить, что RMC обычно не определяют передачу опорного PSDCH в подкадре 5 из-за возможного присутствия SIB1 PDSCH. Если требуется опорный PDSCH, существует два способа его активации:

  1. RMC указывается через поле «RC» и имеет значение «R.31-3A» или «R.31-4».

  2. Поле «RC» отсутствует или указано как пустое (например, params. RC = []).

Параметризация с использованием переменной скорости кодирования и распределения ресурсов

lteRMCDL и lteRMCDLTool функции могут использоваться для генерации сигналов, в которых параметры изменяются по субкадрам в кадре (например, CFI, PRASEet, TargetCodeRate). CFI и целевая кодовая скорость могут быть определены как вектор, а PRASEet - как массив ячеек, когда значения изменяются для каждого подкадра.

В этом примере мы создаем форму волны, соответствующую R.31-3 FDD RMC, где кодовый уровень и распределение варьируются за нижнюю раму. Это два кодовых слова RMC с кодовой скоростью 0,61 в подкадре 0, 0,62 в подкадре 5 и 0,59 во всех других подкадрах. Количество выделенных блоков ресурсов (4... 99) в подкадре 5 и полная полоса пропускания (0... 99) во всех других подкадрах

params = struct();            % Initialize the parameter structure
params.NDLRB = 100;           % Set the bandwidth (20 MHz)
params.CellRefP = 2;          % Set the cell-specific reference signal ports
params.CFI = 1;               % 1 symbol allocated to PDCCH
params.PDSCH.PRBSet = {(0:99)' (0:99)' (0:99)' (0:99)' (0:99)'  ...
                       (4:99)' (0:99)' (0:99)' (0:99)' (0:99)'};
params.PDSCH.TargetCodeRate = [0.61 0.59 0.59 0.59 0.59 0.62 0.59 0.59 0.59 0.59];
params.PDSCH.TxScheme = 'CDD';% 2 codeword closed loop spatial mux
params.PDSCH.NLayers = 2;     % 1 layer per codeword
params.PDSCH.Modulation = {'64QAM', '64QAM'};% Set the modulation for 2 codewords

% Use lteRMCDL to populate other parameter fields. The resulting
% 'fullParams' can be manually checked against those given by the R.31-3
% FDD RMC in TS 36.101 Table A.3.9.1-1
fullParams = lteRMCDL(params);
% Generate the waveform using the full parameter set 'fullParams'
[dlWaveform, dlGrid, dlParams] = lteRMCDLTool(fullParams,{dataStream, dataStream});

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

  1. 3GPP ТС 36.101 «Радиопередача и прием пользовательского оборудования (UE)»