В этом примере показано, как сгенерировать стандартно-совместимый прямой (нисходящий) и противоположный (восходящий канал) 1xEV формы волны-DO с помощью Communications Toolbox™.
Communications Toolbox может использоваться, чтобы сгенерировать предварительную установку или настроил стандартно-совместимого форварда и реверс, Релиз 0 и Версию 1xEV-DO формы волны.
Сгенерированные формы волны могут использоваться в следующих приложениях:
Золотая ссылка для реализаций передатчика
Тестирование получателя и разработка алгоритмов
Тестирование аппаратного и программного обеспечения РФ
Интерференционное тестирование
Формы волны могут быть сгенерированы с помощью функций evdoReverseWaveformGenerator и evdoForwardWaveformGenerator. Вход этих функций является структурой, содержащей параметры формы волны верхнего уровня, а также подструктуры, содержащие канал - или специфичные для пакета параметры. Этот пример проиллюстрирует, как такие структуры могут быть созданы с нуля.
Предварительно установленные настройки структуры могут быть созданы с помощью функций evdoReverseReferenceChannels и evdoForwardReferenceChannels. Такие предварительно установленные настройки могут представлять общие сценарии Теста и Измерения или обеспечить хорошую начальную точку (мастер) для настройки настройки формы волны.
Предварительно установленные настройки структуры могут затем быть переданы функциям генерации сигналов. Например, следующие команды генерируют Версию A и Релиз 0 вперед и противоположные формы волны, соответственно.
forwardPresetConfig = evdoForwardReferenceChannels('RevA-5120-2-64', 10); forwardPresetWaveform = evdoForwardWaveformGenerator(forwardPresetConfig); reversePresetConfig = evdoReverseReferenceChannels('Rel0-38400', 10); reversePresetWaveform = evdoReverseWaveformGenerator(reversePresetConfig);
Затем мы иллюстрируем создание эквивалентных конфигурационных структур с нуля. Это также полезно для настройки предварительно установленных настроек.
% 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.
% 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);
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);
C.S0024-A v3.0: Пакетная Воздушная Спецификация Интерфейса Данных о Высоком показателе cdma2000.