Генерация сигналов UMTS нисходящего канала

В этом примере показано, как сгенерировать HSDPA FRC H-Set с помощью LTE Toolbox™.

Введение

LTE Toolbox может использоваться, чтобы сгенерировать стандартные совместимые W-CDMA/HSPA/HSPA + восходящий и нисходящий комплексные формы волны основной полосы, включая предварительно определенные строения для стандартных определенных каналов измерения. Для нисходящего канала это включает опорные каналы измерения (RMC), H-наборы фиксированного опорного канала (FRC) и Test Models(TM), определенные в TS25.101 [1].

Этот пример демонстрирует, как два нисходящих связанных функции, umtsDownlinkReferenceChannels и umtsDownlinkWaveformGenerator, объедините, чтобы поддержать эту функцию. Мы покажем, как они могут сгенерировать сигнал FRC H-Set для тестирования HSDPA UE с помощью одной из предварительно определенных строений. Мы также представляем явный код MATLAB ®, который перечисляет все параметры генератора нисходящей линии связи, настроенные для этого конкретного канала измерения. H-наборы FRC определены в TS25.101, раздел A.7.1 [1]. Этот код также предоставляет полезный шаблон для полной индивидуальной настройки формы сигнала.

The umtsDownlinkWaveformGenerator функция может сгенерировать пользовательские формы волны W-CDMA/HSPA/HSPA + с помощью перечисленных ниже каналов физического слоя. Также могут быть сконфигурированы произвольные составные транспортные каналы (CCTrCH). Формы выхода являются циклическими для непрерывного воспроизведения в симуляции или через тестовое оборудование.

Поддерживаемые физические каналы:

  • Выделенный физический канал (DPCH)

  • Основной общий пилотный канал (P-CPICH)

  • Вторичный общий пилот-канал (S-CPICH)

  • Основной общий физический канал управления (P-CCPCH)

  • Вторичный общий физический канал управления (S-CCPCH)

  • Основной канал синхронизации (P-SCH)

  • Вторичный канал синхронизации (S-SCH)

  • Канал индикатора пейджинга (PICH)

  • Высокоскоростной физический нисходящий общий канал (HS-PDSCH)

  • Общий канал управления для HS-DSCH (HS-SCCH)

  • Каналы симулятора шума ортогонального канала (OCNS)

Поддерживаемые транспортные каналы:

  • Выделенный канал (DCH)

  • Широковещательный канал (BCH)

  • Прямой канал доступа (FACH)

  • Пейджинговый канал (PCH)

  • Высокоскоростной совместно используемый канал нисходящей линии связи (HS-DSCH)

Обработка физического канала определяется в TS25.211 и TS25.213 [2] [4]. Обработка для транспортных каналов определена в TS25.212 [3].

Сгенерированные формы волны могут использоваться для ряда приложений:

  • Золотая ссылка для реализаций передатчика

  • Проверка приемника и разработка алгоритмов

  • Тестирование оборудования и программных средств RF

  • Интерференционная проверка

Более подробное описание взаимодействия сигналов с внешним оборудованием см. в разделе Генерация и передача сигналов с помощью LTE Toolbox с оборудованием для тестирования и измерения.

Генерация сигналов W-CDMA/HSPA/HSPA +

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

Тулбокс включает функцию umtsDownlinkReferenceChannels, которая может вернуть полностью заполненную структуру параметров для всех предварительно сконфигурированных эталонных каналов измерения (RMC), H-наборов фиксированного опорного канала (FRC) и Test Models(TM).

Путем объединения двух функций эти стандартные определенные формы волны измерения могут быть сгенерированы легко. Предварительно сконфигурированные параметры, возвращенные из umtsDownlinkReferenceChannels может также использоваться в качестве отправной точки для настройки параметра, например, изменения выходной фильтрации, уровней мощности канала или даже опорной конфигурации CCTrCH, перед вызовом функции генератора. Если требуется полное управление параметром формы волны, этот пример включает в себя код MATLAB ниже, который перечисляет все возможные параметры нисходящей линии связи. Следующая схема показывает эти шаги.

H-Set1 (QPSK) Генерация с использованием предварительно настроенной структуры параметра

The umtsDownlinkReferenceChannels функция требует, чтобы число H-Set и модуляция были заданы как показано ниже. Допустимые значения H-Set: ('H-Set1', 'H-Set2', 'H-Set3', 'H-Set4', 'H-Set5', 'H-Set6', 'H-Set7', 'H-Set8', 'H-Set10', 'H-Set12' Область структуры output preconfigParams является предварительно построенной строением для FRC H-Set1 и это может затем использоваться, чтобы сгенерировать стандартную определенную форму волны H-Set путем вызова umtsDownlinkWaveformGenerator функция.

hset = 'H-Set1';     % H-Set number
modulation = 'QPSK'; % Modulation scheme
preconfigParams = umtsDownlinkReferenceChannels(hset,modulation); % Get H-Set parameters
frcWaveform = umtsDownlinkWaveformGenerator(preconfigParams);     % Generate H-Set waveform

H-Set1 (QPSK) Генерация с использованием полного списка параметров

В этом разделе мы создадим структуру строения H-Set1 (QPSK) с нуля и покажем, что она идентична структуре, заданной с помощью umtsDownlinkReferenceChannels функция, как показано выше. The downlinkParams структура, заданная ниже, имеет полный список параметров, поддерживаемых umtsDownlinkWaveformGenerator функция и так также может использоваться в качестве шаблона для создания пользовательских осциллограмм, когда большой набор значений параметров должен быть изменен по сравнению со структурой, выходящей по umtsDownlinkReferenceChannels.

% H-Set parameter structure definition from scratch
% General settings
downlinkParams.TotFrames = 1;                      % Number of frames to be generated
downlinkParams.PrimaryScramblingCode = 0;          % Primary scrambling code
downlinkParams.FilterType = 'RRC';                 % Enable the RRC filter
downlinkParams.OversamplingRatio = 4;              % Oversampling set to 4
downlinkParams.NormalizedPower = 'Off';            % Power normalization disabled

% Define Downlink Dedicated Physical Channel  (DPCH)
downlinkParams.DPCH.Enable = 'On';                 % Enable DPCH
downlinkParams.DPCH.SlotFormat = 11;               % DPCH slot format
downlinkParams.DPCH.SpreadingCode = 6;             % DPCH spreading code
downlinkParams.DPCH.NMulticodes = 1;               % Number of DPCH
downlinkParams.DPCH.SecondaryScramblingCode = 1;   % Secondary scrambling code
downlinkParams.DPCH.TimingOffset = 0;              % Timing Offset
downlinkParams.DPCH.Power = 0;                     % Power in dB
downlinkParams.DPCH.TPCData = 0;                   % TPC value
downlinkParams.DPCH.TFCI = 0;                      % TFCI value
downlinkParams.DPCH.DataSource = 'CCTrCH';         % DPCH data source is CCTrCH
% DPCH carries the Coded Composite Transport Channel (CCTrCH) containing
% one or more transport channels. Since DPCH source is specified as CCTrCH,
% define the CCTrCH containing DTCH and DCCH transport channels
% Build DTCH definition
TrCH(1).Name = 'DTCH';                             % Name of the transport channel
TrCH(1).CRC = '16';                                % CRC type
TrCH(1).TTI = 20;                                  % TTI in ms
TrCH(1).CodingType = 'conv3';                      % The coding type and rate
TrCH(1).RMA = 256;                                 % Rate matching attribute
TrCH(1).DataSource = 'PN9-ITU';                    % Tr channel data source
TrCH(1).ActiveDynamicPart = 1;                     % Index to active dynamic part
TrCH(1).DynamicPart(1) = struct('BlockSize',244,'BlockSetSize',244); % 1x244 blocks
% Build DCCH definition
TrCH(2).Name = 'DCCH';                             % Name of the transport channel
TrCH(2).CRC = '12';                                % CRC type
TrCH(2).TTI = 40;                                  % TTI in ms
TrCH(2).CodingType = 'conv3';                      % The coding type and rate
TrCH(2).RMA = 256;                                 % Rate matching attribute
TrCH(2).DataSource = 'PN9-ITU';                    % Tr channel data source
TrCH(2).ActiveDynamicPart = 1;                     % Index to active dynamic part
TrCH(2).DynamicPart(1) = struct('BlockSize',100,'BlockSetSize',100);   % 1x100 blocks
% Finalize CCTrCH structure array using the TrCH structures defined above
downlinkParams.DPCH.CCTrCH.Name = 'DCH';           % Name of the CCTrCH
downlinkParams.DPCH.CCTrCH.DTXPosition = 'fixed';  % DTX position
downlinkParams.DPCH.CCTrCH.TrCH = TrCH;            % Assign DTCH/DCCH to CCTrCH

% Define P-CCPCH
downlinkParams.PCCPCH.Enable = 'On';               % Enable P-CCPCH
downlinkParams.PCCPCH.Power = 0;                   % Set power to be 0dB
downlinkParams.PCCPCH.DataSource = 'CCTrCH';       % P-CCPCH data source is CCTrCH
% P-CCPCH CCTrCH carries the BCH transport channel. Since P-CCPCH source is
% CCTrCH, define CCTrCH containing BCH
clear TrCH;
TrCH(1).Name = 'BCH';                              % Name of the Tr channel
TrCH(1).CRC = '16';                                % CRC type
TrCH(1).TTI = 20;                                  % TTI in ms
TrCH(1).CodingType = 'conv2';                      % The coding type and rate
TrCH(1).RMA = 256;                                 % Rate matching attribute
TrCH(1).DataSource = 'PN9-ITU';                    % Tr channel data source
TrCH(1).ActiveDynamicPart = 1;                     % Index to active dynamic part
TrCH(1).DynamicPart(1) = struct('BlockSize',246,'BlockSetSize',246); % 1x246 block
% Finalize CCTrCH structure array using the TrCH structure defined above
downlinkParams.PCCPCH.CCTrCH.Name = 'BCH';         % Name of the CCTrCH
downlinkParams.PCCPCH.CCTrCH.DTXPosition = 'fixed';% DTX position
downlinkParams.PCCPCH.CCTrCH.TrCH = TrCH;          % Assign BCH to CCTrCH

% Define S-CCPCH, but this channel is not required for H-Set1 generation
downlinkParams.SCCPCH.Enable = 'Off';              % Disable S-CCPCH
downlinkParams.SCCPCH.SlotFormat = 7;              % Slot format number
downlinkParams.SCCPCH.SpreadingCode = 3;           % S-CCPCH spreading code
downlinkParams.SCCPCH.SecondaryScramblingCode = 3; % Secondary scrambling code
downlinkParams.SCCPCH.TimingOffset = 0;            % Timing Offset
downlinkParams.SCCPCH.Power = 0;                   % Power in dB
downlinkParams.SCCPCH.TFCI = 0;                    % TFCI value
downlinkParams.SCCPCH.DataSource = 'CCTrCH';       % S-CCPCH data source is CCTrCH
% S-CCPCH CCTrCH can carry PCH and FACH transport channels. Since S-CCPCH
% source is CCTrCH, define CCTrCH containing PCH and FACH
% Build PCH definition
TrCH(1).Name = 'PCH';                              % Name of the Tr channel
TrCH(1).CRC = '16';                                % CRC type
TrCH(1).TTI = 10;                                  % TTI in ms
TrCH(1).CodingType = 'conv2';                      % The coding type
TrCH(1).RMA = 256;                                 % Rate matching attribute
TrCH(1).DataSource = 'PN9-ITU';                    % Tr channel data source
TrCH(1).ActiveDynamicPart = 1;                     % Index to active dynamic part
TrCH(1).DynamicPart(1) = struct('BlockSize',64,'BlockSetSize',64);   % 1x64 block
% Build FACH definition
TrCH(2).Name = 'FACH';                             % Name of the Tr channel
TrCH(2).CRC = '16';                                % CRC type
TrCH(2).TTI = 10;                                  % TTI in ms
TrCH(2).CodingType = 'turbo';                      % The coding type
TrCH(2).RMA = 256;                                 % Rate matching attribute
TrCH(2).DataSource = 'PN9-ITU';                    % Tr channel data source
TrCH(2).ActiveDynamicPart = 1;                     % Index to active dynamic part
TrCH(2).DynamicPart(1) = struct('BlockSize',360,'BlockSetSize',360);   % 1x360 block
% Finalize CCTrCH using the above
downlinkParams.SCCPCH.CCTrCH.Name = '';            % Name of the CCTrCH
downlinkParams.SCCPCH.CCTrCH.DTXPosition = 'fixed';% DTX position
downlinkParams.SCCPCH.CCTrCH.TrCH = TrCH;          % Assign PCH/FACH to CCTrCH

% Define P-CPICH
downlinkParams.PCPICH.Enable = 'On';               % Enable P-CPICH
downlinkParams.PCPICH.Power = 0;                   % Power in dB

% Define S-CPICH
downlinkParams.SCPICH.Enable = 'Off';              % Disable S-CPICH
downlinkParams.SCPICH.SpreadingCode = 4;           % S-CPICH spreading code
downlinkParams.SCPICH.SecondaryScramblingCode = 4; % Secondary scrambling code
downlinkParams.SCPICH.Power = 0;                   % Power in dB

% Define P-SCH
downlinkParams.PSCH.Enable = 'On';                 % Enable P-SCH
downlinkParams.PSCH.Power = 0;                     % Power in dB

% Define S-SCH
downlinkParams.SSCH.Enable = 'On';                 % Enable S-SCH
downlinkParams.SSCH.Power = 0;                     % Power in dB

% Define PICH
downlinkParams.PICH.Enable = 'On';                 % Enable PICH
downlinkParams.PICH.SpreadingCode = 16;            % PICH spreading code
downlinkParams.PICH.TimingOffset = 0;              % Timing offset
downlinkParams.PICH.Power = 0;                     % Power in dB
downlinkParams.PICH.DataSource = 'PagingData';     % PICH data source
downlinkParams.PICH.Np = 144;                      % Number of paging indicators

% Define HSDPA
downlinkParams.HSDPA.Enable = 'On';                % Enable HSDPA channels
downlinkParams.HSDPA.CodeGroup = 5;                % Number of HS-PDSCHs
downlinkParams.HSDPA.CodeOffset = 1;               % Code offset to first HS-PDSCH
downlinkParams.HSDPA.Modulation = 'QPSK';          % Modulation scheme
downlinkParams.HSDPA.VirtualBufferCapacity = 9600; % Buffer capacity
downlinkParams.HSDPA.InterTTIDistance = 3;         % Inter TTI interval
downlinkParams.HSDPA.NHARQProcesses = 2;           % Number of HARQ processes
downlinkParams.HSDPA.XrvSequence = [0 2 5 6];      % The XRV sequence
downlinkParams.HSDPA.UEId = 0;                     % UE Identity
downlinkParams.HSDPA.TransportBlockSizeId = 41;    % The transport block size id
downlinkParams.HSDPA.HSSCCHSpreadingCode = 9;      % Shared channel spreading code
downlinkParams.HSDPA.SecondaryScramblingCode = 6;  % Secondary scrambling code
downlinkParams.HSDPA.HSPDSCHPower = 0;             % HS-PDSCH power in dB
downlinkParams.HSDPA.HSSCCHPower = 0;              % HS-SCCH power in dB
downlinkParams.HSDPA.DataSource = 'HSDSCH';        % Data source is HS-DSCH
% HS-DSCH transport channel definition
downlinkParams.HSDPA.HSDSCH.BlockSize = 3202;      % The transport block size
downlinkParams.HSDPA.HSDSCH.DataSource = 'PN9-ITU';% HS-DSCH data source

% Define OCNS channels as defined in TS25.101 Table C.13
downlinkParams.OCNS.Enable = 'On';                 % Enable OCNS channels
downlinkParams.OCNS.Power = 0;                     % OCNS power scaling in dB
downlinkParams.OCNS.OCNSType = 'H-Set_6DPCH';      % OCNS definition

% The structure defined above can be used to generate the waveform:
frcWaveform2 = umtsDownlinkWaveformGenerator(downlinkParams);

% For completeness we can see that the H-Set definition structures obtained
% by the above two parameterization approaches are identical
if(isequal(preconfigParams,downlinkParams))
    disp(['H-Set1 configuration structures generated with and without using' ...
    ' umtsDownlinkReferenceChannels function are the same.']);
end
H-Set1 configuration structures generated with and without using umtsDownlinkReferenceChannels function are the same.

Сравнение формы волны

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

if(isequal(frcWaveform,frcWaveform2))
    disp(['H-Set1 waveforms generated with and without using' ...
    ' umtsDownlinkReferenceChannels function are the same.']);
end
H-Set1 waveforms generated with and without using umtsDownlinkReferenceChannels function are the same.

Спектр графика

Постройте график спектра временного интервала сигнала frcWaveform.

chiprate = 3.84e6;   % Chip rate of the baseband waveform
spectrumPlot = dsp.SpectrumAnalyzer('SampleRate', chiprate*downlinkParams.OversamplingRatio,...
                                    'AveragingMethod','Exponential','ForgettingFactor',0.99,...
                                    'YLimits',[-100,40]);
spectrumPlot.Title = sprintf('Spectrum of Fixed Reference Channel (FRC) %s (%s) waveform', hset, modulation);
spectrumPlot(frcWaveform);

Заключение

В этом примере показано, как сгенерировать стандартные и пользовательские формы волны W-CDMA/HSPA/HSPA + с помощью функций LTE Toolbox. Пример также предоставляет полный шаблон параметра для полной индивидуальной настройки предопределённых строений формы волны.

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

  1. 3GPP TS 25.101 «Оборудование пользователя (UE) радиопередача и прием (FDD)»

  2. 3GPP ТС 25.211 «Физические каналы и отображение транспортных каналов на физические каналы (FDD)»

  3. 3GPP TS 25.212 «Мультиплексирование и канальное кодирование (FDD)»

  4. 3GPP TS 25.213 «Расширение и модуляция (FDD)»