В этом примере показано, как сгенерировать 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 с оборудованием для тестирования и измерения.
Функция генератора формы волны umtsDownlinkWaveformGenerator
требует одну иерархическую структуру MATLAB, которая задает набор всех параметров для физических и транспортных каналов, имеющихся в выход форме волны.
Тулбокс включает функцию umtsDownlinkReferenceChannels
, которая может вернуть полностью заполненную структуру параметров для всех предварительно сконфигурированных эталонных каналов измерения (RMC), H-наборов фиксированного опорного канала (FRC) и Test Models(TM).
Путем объединения двух функций эти стандартные определенные формы волны измерения могут быть сгенерированы легко. Предварительно сконфигурированные параметры, возвращенные из umtsDownlinkReferenceChannels
может также использоваться в качестве отправной точки для настройки параметра, например, изменения выходной фильтрации, уровней мощности канала или даже опорной конфигурации CCTrCH, перед вызовом функции генератора. Если требуется полное управление параметром формы волны, этот пример включает в себя код MATLAB ниже, который перечисляет все возможные параметры нисходящей линии связи. Следующая схема показывает эти шаги.
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) с нуля и покажем, что она идентична структуре, заданной с помощью 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. Пример также предоставляет полный шаблон параметра для полной индивидуальной настройки предопределённых строений формы волны.
3GPP TS 25.101 «Оборудование пользователя (UE) радиопередача и прием (FDD)»
3GPP ТС 25.211 «Физические каналы и отображение транспортных каналов на физические каналы (FDD)»
3GPP TS 25.212 «Мультиплексирование и канальное кодирование (FDD)»
3GPP TS 25.213 «Расширение и модуляция (FDD)»