Этот пример показывает, как сгенерировать HSDPA FRC H-Set с помощью LTE Toolbox™.
LTE Toolbox может использоваться, чтобы сгенерировать стандартный совместимый W-CDMA/HSPA/HSPA +, восходящие и нисходящие комплексные основополосные формы волны включая предопределенные настройки для стандарта задали каналы измерения. Для нисходящего канала это включает Ссылочные каналы измерения (RMC), H-наборы Фиксированного ссылочного канала (FRC) и Test Models(TM), заданный в TS25.101 [1].
Этот пример демонстрирует как две связанных с нисходящим каналом функции, umtsDownlinkReferenceChannels и umtsDownlinkWaveformGenerator, объединение, чтобы поддерживать эту функцию. Мы показываем, как они могут сгенерировать форму волны H-набора FRC для тестирования HSDPA UE с помощью одной из предопределенных обеспеченных настроек. Мы также представляем явный код MATLAB®, который перечисляет все нисходящие параметры генератора, настроенные для этого конкретного канала измерения. H-наборы FRC заданы в TS25.101, Раздел 7.1 [1]. Этот код также предоставляет полезный шаблон для полной индивидуальной настройки формы волны.
Функция umtsDownlinkWaveformGenerator может сгенерировать пользовательский W-CDMA/HSPA/HSPA + формы волны с помощью описанных ниже каналов физического уровня. Произвольные Закодированные Составные Транспортные Каналы (CCTrCH) могут быть сконфигурированы также. Выходные формы волны loopable для непрерывного воспроизведения в симуляции или через тестовое оборудование.
Физические каналы поддержали:
Специализированный физический канал (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 и 24TS25.213 [][]. Обработка для транспортных каналов задана в TS25.212 [3].
Сгенерированные формы волны могут использоваться для многих приложений:
Золотая ссылка для реализаций передатчика
Тестирование получателя и разработка алгоритмов
Тестирование аппаратного и программного обеспечения РФ
Интерференционное тестирование
Смотрите Генерацию Формы волны и Передачу с помощью LTE Toolbox с Тестовым оборудованием и Измерительным оборудованием для более подробного объяснения того, как соединить интерфейсом с формами волны с внешним оборудованием.
Функция генератора формы волны umtsDownlinkWaveformGenerator требует одной иерархической структуры MATLAB, которая задает набор всех параметров для физических и транспортных каналов, существующих в выходной форме волны.
Тулбокс включает функцию umtsDownlinkReferenceChannels, который может возвратить полностью заполненную структуру параметра для всех предварительно сконфигурированных Ссылочных каналов измерения (RMC), H-наборов Фиксированного ссылочного канала (FRC) и Test Models(TM).
Путем объединения двух функций эти заданные формы волны измерения стандарта могут быть сгенерированы легко. Предварительно сконфигурированные параметры, возвращенные в umtsDownlinkReferenceChannels, могут также использоваться в качестве отправной точки для индивидуальной настройки параметра, например, изменяя выходную фильтрацию, уровни мощности канала или даже ссылочную настройку CCTrCH, до вызывания функции генератора. Если полное управление параметром формы волны требуется затем, этот пример включает код MATLAB ниже который списки все возможные нисходящие параметры. Следующая схема показывает эти шаги.
Функция umtsDownlinkReferenceChannels требует, чтобы номер H-набора и модуляция были заданы как показано ниже. Позволенные значения H-набора ('H-Set1', 'H-Set2', 'H-Set3', 'H-Set4', 'H-Set5', 'H-Set6', 'H-Set7', 'H-Set8', 'H-Set10', 'H-Set12'), и выбором для схем модуляции является 'QPSK', '16QAM' и '64QAM'. Выходная структура preconfigParams
является предварительно созданной настройкой для FRC H-Set1 и это может затем использоваться, чтобы сгенерировать заданную форму волны H-набора стандарта путем вызывания 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 как показано выше. Структура 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); spectrumPlot.Title = sprintf('Spectrum of Fixed Reference Channel (FRC) %s (%s) waveform', hset, modulation); spectrumPlot.YLimits = [-100,40]; spectrumPlot(frcWaveform);
Этот пример показывает, как сгенерировать стандарт заданный и пользовательский W-CDMA/HSPA/HSPA + формы волны с помощью функций LTE Toolbox. Пример также обеспечивает полный шаблон параметра для индивидуальной настройки полного пользователя предопределенных настроек формы волны.
3GPP TS 25.101 "Передача радио оборудования пользователя (UE) и прием (FDD)"
3GPP TS 25.211 "Физические каналы и отображение транспортных каналов на физические каналы (FDD)"
3GPP TS 25.212 "Мультиплексирование и канал, кодирующий (FDD)"
3GPP TS 25.213 "Распространение и модуляция (FDD)"