802.11ba генерация сигналов WUR и анализ

В этом примере показано, как сгенерировать пакетные формы волны радио пробуждения (WUR) IEEE® 802.11ba™. Пример также демонстрирует, как измерить маску спектра передачи и спектральную плоскость.

Введение

802.11ba проектируют стандарт [1], называемый радио пробуждения (WUR), задает механизм, чтобы позволить станциям IEEE 802.11 (STAs) действовать в чрезвычайно низком энергопотреблении и реагировать на входящий трафик с низкой задержкой через сигнал пробуждения. Этот стандарт задает два типа формата WUR PPDU.

  • WUR Основной PPDU с полосой пропускания канала на 20 МГц (один подканал)

  • WUR FDMA PPDU с 40 МГц (два подканала) или 80 МГц (четыре подканала) непрерывные полосы пропускания канала

Каждый подканал на 20 МГц может передать данные для отдельного пользователя. Для каждого подканала на 20 МГц физический уровень WUR (PHY) оказывает поддержку для скоростей передачи данных 62,5 Кбит/с и 250 Кбит/с, обозначенных как низкая скорость передачи данных (LDR) и высокая скорость передачи данных (HDR), соответственно. Кроме того, AC Приложения [1] обеспечивает три примера последовательностей символа и длительности циклического сдвига (CSDS) на заданных скоростях передачи данных.

Этот пример генерирует 5 пакетов WUR с полосой пропускания канала на 20 МГц и разрывами с 10 микросекундами между каждым из пакетов. Пример сверхдискретизировал форму волны с помощью большей длины обратного быстрого преобразования Фурье (ОБПФ), чем необходимый для номинального основополосного уровня и не выполняет спектральную фильтрацию. Пример затем демонстрирует эффекты мощного усилителя (HPA), который вводит внутриполосное искажение и спектральный перерост. После моделирования HPA пример извлекает non-WUR фрагмент преамбулы WUR PHY, включая L-STF, L-LTF, L-SIG, BPSK-Mark1, и поля BPSK-Mark2 и фрагмент WUR, включая WUR-синхронизирующие и WUR-поля-данных, от сгенерированной формы волны. Пример затем выполняет два измерения маски спектра передачи для non-WUR фрагмента преамбулы WUR PHY и фрагмента WUR, соответственно, и измеряет спектральную плоскость для фрагмента WUR. Этот рисунок показывает рабочий процесс, содержавшийся в этом примере.

Setup симуляции

Сконфигурируйте пример, чтобы сгенерировать 5 пакетов WUR с периодом неактивности с 10 микросекундами между каждым пакетом.

numPackets = 5;
idleTime = 10; % In microseconds

802.11ba настройка формы волны WUR и генерация

Создайте объект настройки WUR для передачи на 20 МГц.

numSubchannels = 1; % Number of subchannels
cfgWUR = wlanWURConfig(numSubchannels); % Create WUR packet configuration
cfgWUR.NumTransmitAntennas = 1; % Number of transmit antennas
fs = wlanSampleRate(cfgWUR); % Get the nominal baseband sample rate
osf = 2; % Oversampling factor

Параметрируйте передачу свойствами объектов настройки установки WUR для каждого пользователя. Функция генератора формы волны использует только первый cfgWUR.NumUsers элементы cfgWUR массив ячеек, чтобы сгенерировать соответствующие пакеты WUR.

psdu = cell(1,cfgWUR.NumUsers);
psduLength = [5,10,15,20]; % Bytes, 1 to 22 inclusive for each 20 MHz subchannel
dataRate = {'LDR','HDR','LDR','HDR'};
symDesign = {'Example1','Example2','Example1','Example2'};
rng(0); % Set random state
for i = 1:cfgWUR.NumUsers
    cfgWUR.Subchannel{i}.PSDULength = psduLength(i);
    psdu{i} = randi([0 1],psduLength(i)*8,1,'int8');
    cfgWUR.Subchannel{i}.DataRate = dataRate{i};
    cfgWUR.Subchannel{i}.SymbolDesign = symDesign{i};
end

Сгенерируйте форму волны WUR для заданных битов и настройки при помощи wlanWaveformGenerator функция, определяя номер пакетов, время простоя между каждым пакетом, и сверхдискретизировав фактор.

txWaveform = wlanWaveformGenerator(psdu,cfgWUR,'NumPackets',numPackets,'IdleTime',idleTime*1e-6,'OversamplingFactor',osf);

Добавьте ухудшения

HPA вводит нелинейное поведение в форме внутриполосного искажения и спектрального перероста. Этот пример симулирует усилители мощности при помощи модели Rapp, которая вводит искажение AM [2]. Смоделируйте усилитель при помощи comm.MemorylessNonlinearity объект, и конфигурирует уменьшаемое искажение путем определения возврата, hpaBackoff, таким образом, что усилитель действует ниже его точки насыщения.

pSaturation = 25; % Saturation power of a power amplifier in dBm
hpaBackoff = 15; % Power amplifier backoff in dB
nonLinearity = comm.MemorylessNonlinearity;
nonLinearity.Method = 'Rapp model';
nonLinearity.Smoothness = 3; % p parameter
nonLinearity.LinearGain = -hpaBackoff;
nonLinearity.OutputSaturationLevel = db2mag(pSaturation-30);

Примените модель HPA к форме волны.

txWaveform = nonLinearity(txWaveform);

Добавьте тепловой шум в каждую передающую антенну при помощи comm.ThermalNoise объект с шумовой фигурой 6 дБ [3].

thNoise = comm.ThermalNoise('NoiseMethod','Noise Figure','SampleRate',fs*osf,'NoiseFigure',6);

for i = 1:cfgWUR.NumTransmitAntennas
    txWaveform(:,i) = thNoise(txWaveform(:,i));
end

Передайте маску спектра и спектральное измерение плоскости

Получите индексы для доступа к полям WUR в пакете временного интервала.

ind = wlanFieldIndices(cfgWUR,'OversamplingFactor',osf);
% Get the number of samples in the idle time.
numIdle = osf*fs*idleTime*1e-6;
% Define the length of a WUR packet, in samples.
pktLength = double(max(ind.WURData(:,2)))+numIdle;
% Define the length of non-WUR portion of the WUR PHY preamble, composed of the
% L-STF, L-LTF, L-SIG, BPSK-Mark1 and BPSK-Mark2 fields, in samples.
idxPreamble = zeros(ind.BPSKMark2(2),numPackets,'uint32');
% Define the length of the WUR-Sync and WUR-Data fields, in samples.
idxWUR = zeros(max(ind.WURData(:,2))-ind.WURSync(1,1)+1,numPackets,'uint32');

Извлеките non-WUR фрагмент преамбулы WUR PHY и фрагмент WUR каждого пакета в форме волны.

pktOffset = 0; % Start at first sample (no offset)
for i = 1:numPackets
    % Indices of WUR preamble fields
    idxPreamble(:,i) = pktOffset+(1:ind.BPSKMark2(2));
    % Indices of WUR-Sync and WUR-Data fields
    idxWUR(:,i) = pktOffset+(ind.WURSync(1,1):max(ind.WURData(:,2)));
    % Packet offset to generate the end index of each packet
    pktOffset = i*pktLength;
end
preamFields = txWaveform(idxPreamble(:),:);
wurFields = txWaveform(idxWUR(:),:);

Измерьте маску спектра передачи non-WUR фрагмента преамбулы WUR PHY, как задано в Разделе 30.3.12.1 из [1].

if numPackets>0
    helperSpectralMaskTest(preamFields,fs,osf);
end
   Spectrum mask passed

На основе значений пределов (в dBr) относительно максимальной спектральной плотности и соответствующих смещений частоты сигнала (в МГц) обеспеченный в Разделе 30.3.12.1 из [1], задайте маски спектра передачи WUR-синхронизирующих и WUR-полей-данных для основного WUR, и FDMA PPDUs.

switch numSubchannels
    case 1 % WUR Basic PPDU
        dBrLimits = [-40 -40 -28 -20 -15 0 ...
            0 -15 -20 -28 -40 -40];
        fLimits = [-Inf -30 -20 -11 -3.5 -2.25 ...
            2.25 3.5 11 20 30 Inf];
    case 2 % 40 MHz WUR FDMA PPDU
        dBrLimits = [-40 -40 -28 -20 -15 0 0 -15 -20 ...
            -20 -15 0 0 -15 -20 -28 -40 -40];
        fLimits = [-Inf -60 -40 -21 -13.5 -12.25 -7.75 -6.5 -1 ...
            1 6.5 7.75 12.25 13.5 21 40 60 Inf];
    otherwise % 80 MHz WUR FDMA PPDU
        dBrLimits = [-40 -40 -28 -20 -15 0 0 -15 -20 -20 -15 0 0 -15 -20 ...
            -20 -15 0 0 -15 -20 -20 -15 0 0 -15 -20 -28 -40 -40];
        fLimits = [-Inf -120 -80 -41 -33.5 -32.25 -27.75 -26.5 -21 -19 -13.5 -12.25 -7.75 -6.5 -1 ...
            1 6.5 7.75 12.25 13.5 19 21 26.5 27.75 32.25 33.5 41 80 120 Inf];
end

Измерьте маску спектра передачи и спектральную плоскость WUR-синхронизирующих и WUR-полей-данных, как задано в Разделе 30.3.12.1 и Разделе 30.3.12.2 из [1]. wurTxSpectralFlatnessMeasurement функционируйте измеряет спектральную плоскость путем сравнения степени в любом непрерывном сегменте на 1 МГц в центре 4 МГц каждого канала на 20 МГц к общей переданной степени в центре 4 МГц и измеряет переданную степень, таким образом описанную в Разделе 5.4.3.2.1 из [4] для оборудования с непрерывными и ненепрерывными передачами.

if numPackets>0
    helperSpectralMaskTest(wurFields,fs,osf,dBrLimits,fLimits);
    isPassed = wurTxSpectralFlatnessMeasurement(wurFields,fs,osf);
    if isPassed
        fprintf('   Spectral flatness passed\n');
    else
        fprintf('   Spectral flatness failed\n');
    end
end
   Spectrum mask passed
   Spectral flatness passed

Заключение и дальнейшее исследование

В этом примере показано, как сгенерировать формы волны WUR, как задано в IEEE 802.11ba, проектируют стандарт и измеряют эти количества.

  • Маска спектра передатчика

  • Спектральная плоскость

Модель HPA вводит значительное внутриполосное искажение и спектральный перерост, который отображается в спектральном графике маски. Попытайтесь увеличить значение возврата HPA и наблюдайте более низкую внеполосную эмиссию. Различные шаблоны пульсации и пределов отклонения в спектральном измерении плоскости происходят из-за различной Мультинесущей Релейное Манипулирование (MC-OOK) На проектах символа, таких как MC-OOK На последовательностях символа и примененных значениях CSD. Спектральный тест плоскости перестанет работать для подканала на 20 МГц, если подканал в сгенерированной форме волны будет сконфигурирован с проектом символа и набором скорости передачи данных к 'Example3' и 'HDR', соответственно. Попытайтесь использовать различный MC-OOK На символе, проектируют и наблюдают удар на спектральную плоскость.

Ссылки

  1. Черновой Стандарт IEEE P802.11ba™/D8.0 для Информационных технологий - Телекоммуникаций и обмена информацией между системными Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Поправка 3: Операция Радио пробуждения.

  2. Р. Порэт, и др. Методология Оценки TGax, IEEE 11/14-0571r12. 2016-01-21.

  3. Perahia, E. и Р. Стейси. Беспроводная LAN Следующего поколения: 802.11n и 802.11ac. 2-й Выпуск. Соединенное Королевство: Издательство Кембриджского университета, 2013. Archambault, Джерри и Шрэвэн Суринени. "IEEE 802.11 спектральные измерения с помощью вектора сигнализирует об анализаторах". Проект 27.6 (2004) RF: 38-49.

  4. ETSI EN 300 328 V2.1.1. Широкополосные системы передачи; оборудование Передачи данных, действующее в 2,4 полосах GHz ISM и использующее широкие методы модуляции полосы; Согласованный Стандарт, касающийся основы статьи 3.2 Директивы 2014/53EU. 2016-11.

Copyright 2021 The MathWorks, Inc.