1xEV генерация формы волны-DO

Этот пример показывает, как сгенерировать стандартно-совместимый прямой (нисходящий) и противоположный (восходящий канал) 1xEV формы волны-DO с помощью Communications Toolbox™.

Введение

Communications Toolbox может использоваться, чтобы сгенерировать предварительную установку или настроил стандартно-совместимого форварда и реверс, Релиз 0 и Версию 1xEV-DO формы волны.

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

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

  • Тестирование получателя и разработка алгоритмов

  • Тестирование аппаратного и программного обеспечения РФ

  • Интерференционное тестирование

Методы генерации формы волны

  • Формы волны могут быть сгенерированы с помощью функций evdoReverseWaveformGenerator и evdoForwardWaveformGenerator. Вход этих функций является структурой, содержащей параметры формы волны верхнего уровня, а также подструктуры, содержащие канал - или специфичные для пакета параметры. Этот пример проиллюстрирует, как такие структуры могут быть созданы с нуля.

  • Предварительно установленные настройки структуры могут быть созданы с помощью функций evdoReverseReferenceChannels и evdoForwardReferenceChannels. Такие предварительно установленные настройки могут представлять общие сценарии Теста и Измерения или обеспечить хорошую отправную точку (мастер) для настройки настройки формы волны.

Генерация управляемых предварительной установкой вперед и реверса 1xEV формы волны-DO

Предварительно установленные настройки структуры могут затем быть переданы функциям генерации формы волны. Например, следующие команды генерируют Версию A и Релиз 0 вперед и противоположные формы волны, соответственно.

forwardPresetConfig = evdoForwardReferenceChannels('RevA-5120-2-64', 10);
forwardPresetWaveform = evdoForwardWaveformGenerator(forwardPresetConfig);

reversePresetConfig = evdoReverseReferenceChannels('Rel0-38400', 10);
reversePresetWaveform = evdoReverseWaveformGenerator(reversePresetConfig);

Генерация форварда 1xEV форма волны-DO Используя полный список параметров

Затем, мы иллюстрируем создание эквивалентных конфигурационных структур с нуля. Это также полезно для настройки предварительно установленных настроек.

% Create top-level waveform parameters:
fManualConfig.Release = 'RevisionA';            % 'Release0' or 'RevisionA'
fManualConfig.PNOffset = 0;                     % PN Offset of the Base station
fManualConfig.IdleSlotsWithControl = 'Off';
fManualConfig.EnableControl = 'On';
fManualConfig.OversamplingRatio = 4;            % Upsampling factor
fManualConfig.FilterType = 'cdma2000Long';      % Filter coefficients: 'cdma2000Long', 'cdma2000Short', 'Custom' or 'Off'
fManualConfig.InvertQ = 'Off';                  % Negate the imaginary output
fManualConfig.EnableModulation = 'Off';         % Enable modulation
fManualConfig.ModulationFrequency = 0;          % Modulation frequency (Hz)
fManualConfig.NumChips = 41600;                 % Number of chips in the waveform

% Create a input message source for the packets:
pds.MACIndex = 0;                               % MAC index associated with data
pds.DataSource = {'PN9', 1};                    % Input message: {'PNX', Seed} or numerical vector
pds.EnableCoding = 'On';                        % Enable channel coding
fManualConfig.PacketDataSources = pds;          % Add the data source specification to the waveform configuration

% Create a single packet:
fPacket.MACIndex = 0;                           % MAC index associated with this packet
fPacket.PacketSize = 5120;                      % The packet size: 128, 256, 512, 1024, 2048 4096 or 5120 bits
fPacket.NumSlots = 2;                           % The number of slots: 1, 2, 4, 8 or 16
fPacket.PreambleLength = 64;                    % The preamble length: 64, 128, 256, 512 or 1024 chips
% Create a sequence of 10 packets:
fManualConfig.PacketSequence = repmat(fPacket, 1, 10);

% Generate waveform:
forwardManualWaveform = evdoForwardWaveformGenerator(fManualConfig);

% Demonstrate that the above two parameterization approaches are equivalent:
if(isequal(forwardPresetConfig, fManualConfig))
    disp([  'Configuration structures generated with and without the ' ...
            'evdoForwardReferenceChannels function are the same.']);
end
Configuration structures generated with and without the evdoForwardReferenceChannels function are the same.

Генерация реверса 1xEV форма волны-DO Используя полный список параметров

% Create top-level waveform parameters:
rManualConfig.Release = 'Release0';             % 'Release0' or 'RevisionA'
rManualConfig.LongCodeMaskI = 0;                % Initial long code mask for I channel
rManualConfig.LongCodeMaskQ = 0;                % Initial long code mask for Q channel
rManualConfig.OversamplingRatio = 4;            % Upsampling factor
rManualConfig.FilterType = 'cdma2000Long';      % Filter coefficients: 'cdma2000Long', 'cdma2000Short', 'Custom' or 'Off'
rManualConfig.InvertQ = 'Off';                  % Negate the imaginary output
rManualConfig.EnableModulation = 'Off';         % Enable modulation
rManualConfig.ModulationFrequency = 0;          % Modulation frequency (Hz)
rManualConfig.NumChips = 327680;                % Number of chips in the waveform

% Create a single packet:
rPacket.Power = 0;                              % Relative channel power (dBW)
rPacket.DataSource = {'PN9', 1};                % Input message: {'PNX', Seed} or numerical vector
rPacket.EnableCoding = 'On';                    % Enable channel coding
rPacket.DataRate = 38400;                       % Data rate (bps)
% Create a sequence of 10 packets:
rManualConfig.PacketSequence = repmat(rPacket, 1, 10);

% Add a Pilot Channel:
pich.Enable = 'On';                             % Enable the pilot channel
pich.Power = 0;                                 % Relative channel power (dBW)
pich.DataSource = {'PN9', 1};                   % Input message: {'PNX', Seed} or numerical vector
pich.EnableCoding = 'On';                       % Enable channel coding
rManualConfig.PilotChannel = pich;              % Add the channel to the waveform configuration

% Add an ACK Channel, but do not enable it:
ach.Enable = 'Off';                             % Do not enable the ack channel
ach.Power = 0;                                  % Relative channel power (dBW)
ach.DataSource = {'PN9', 1};                    % Input message: {'PNX', Seed} or numerical vector
rManualConfig.ACKChannel = ach;                 % Add the disabled channel specification to the waveform configuration

% Generate waveform:
reverseManualWaveform   = evdoReverseWaveformGenerator(rManualConfig);

% Demonstrate that the above two parameterization approaches are equivalent:
if(isequal(reversePresetConfig, rManualConfig))
    disp([  'Configuration structures generated with and without the ' ...
            'evdoForwardReferenceChannels function are the same.']);
end
Configuration structures generated with and without the evdoForwardReferenceChannels function are the same.

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

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

if(isequal(forwardPresetWaveform, forwardManualWaveform))
    disp([  'Forward waveforms generated with and without the ' ...
            'evdoForwardReferenceChannels function are the same.']);
end

if(isequal(reversePresetWaveform, reverseManualWaveform))
    disp([  'Reverse waveforms generated with and without the ' ...
            'evdoReverseReferenceChannels function are the same.']);
end
Forward waveforms generated with and without the evdoForwardReferenceChannels function are the same.
Reverse waveforms generated with and without the evdoReverseReferenceChannels function are the same.

Настройка настроек

Конфигурационные структуры могут быть настроены в порядке создать форму волны что лучшие иски ваша цель. Например:

rManualConfig2 = rManualConfig;
rPacket.Power = -10;                            % Relative channel power (dBW)
rPacket.DataSource = {'PN23', 1};               % Input message: {'PNX', Seed} or numerical vector
rPacket.EnableCoding = 'Off';                   % Enable channel coding
rPacket.DataRate = 38400;                       % Data rate (bps)
rManualConfig2.PacketSequence = repmat(rPacket, 1, 10);

% Regenerate the waveform accounting for the customizations:
reverseManualWaveform2   = evdoReverseWaveformGenerator(rManualConfig2);

Постройте спектр сгенерированных 1xEV форм волны-DO

chiprate = 1.2288e6;   % Chip rate of the baseband waveform (SR1)
spectrumPlot = dsp.SpectrumAnalyzer('SampleRate', chiprate*fManualConfig.OversamplingRatio);
spectrumPlot.Title = 'Spectrum of Forward 1xEV-DO Waveform';
spectrumPlot.YLimits = [-180,40];
spectrumPlot(forwardManualWaveform);

spectrumPlot2 = dsp.SpectrumAnalyzer('SampleRate', chiprate*rManualConfig.OversamplingRatio);
spectrumPlot2.Title = 'Spectrum of Reverse 1xEV-DO Waveform';
spectrumPlot2.YLimits = [-180,40];
spectrumPlot2(reverseManualWaveform2);

Выбранная библиография

  1. C.S0024-A v3.0: Пакетная Воздушная Спецификация Интерфейса Данных о Высоком показателе cdma2000.