exponenta event banner

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

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

Введение

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

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

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 with Test and Measurement Equipment.

Функции генерации и параметризации сигналов W-CDMA/HSPA/HSPA +

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

Панель инструментов включает функцию umtsDownlinkReferenceChannels, которая может возвращать полностью заполненную структуру параметров для всех предварительно сконфигурированных эталонных каналов измерения (RMC), фиксированных эталонных каналов (FRC) и тестовых моделей (TM).

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

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

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' Структура вывода 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 как показано выше. 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 ТС 25.101 «Радиопередача и прием пользовательского оборудования (UE) (FDD)»

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

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

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