802.11 генерации кадра "неисправность" OFDM и передача с тестовым оборудованием и измерительным оборудованием

В этом примере показано, как сгенерировать пакеты, содержащие кадры "неисправность" MAC, подходящие для основополосной симуляции или беспроводной передачи с помощью WLAN Toolbox™, Instrument Control Toolbox™ и Keysight Technologies® RF сигнализируют о генераторе.

Введение

В этом примере WLAN Toolbox используется, чтобы создать кадр-маяк IEEE® 802.11™. Используя Instrument Control Toolbox, сгенерированный кадр-маяк загружается на генератор сигнала Keysight Technologies N517B для беспроводной передачи. Кадр-маяк является типом служебного кадра, который идентифицирует основной служебный набор (BSS), формируемый многими 802,11 устройствами. Точка доступа BSS периодически передает кадр-маяк, чтобы установить и настроить сеть. Устройство WiFi может использоваться, чтобы просмотреть этот кадр-маяк, переданный генератором радиочастотного сигнала.

Для получения дополнительной информации о генерации кадра "неисправность" с помощью WLAN Toolbox отошлите 802.11 Генерации Кадра "неисправность" OFDM.

Требования

Чтобы запустить этот пример, вам нужно:

  • Генератор сигнала Keysight Technologies N5172B

  • Версия 17.3 Keysight VISA

  • Драйвер IVI-C для Keysight Technologies N5172B сигнализирует о генераторе

  • Версия пакета 16.0.1.2 податливости National Instruments™ IVI® или выше

  • WLAN Toolbox

  • Instrument Control Toolbox

Создайте кадр "неисправность" IEEE 802.11

Пакеты маяка периодически передаются, как задано к Целевому времени передачи маяка (TBTT) в поле интервала маяка. Интервал маяка представляет количество Единиц измерения времени (TUs) между TBTT, где 1 TU представляет 1 024 микросекунды. Интервал маяка 100 TU приводит к 102,4 временным интервалам миллисекунд между последовательными маяками. Кадр "неисправность" сгенерирован с помощью wlanMACFrame (WLAN Toolbox) функция. Эта функция использует объект wlanMACFrameConfig настройки системы координат MAC (WLAN Toolbox). Этот объект принимает wlanMACManagementConfig (WLAN Toolbox) как свойство сконфигурировать тело кадра "неисправность".

SSID = 'TEST_BEACON'; % Network SSID
beaconInterval = 100; % In Time units (TU)
band = 5;             % Band, 5 or 2.4 GHz
chNum = 52;           % Channel number, corresponds to 5260MHz
bitsPerByte = 8;      % Number of bits in 1 byte

% Create Beacon frame-body configuration object
frameBodyConfig = wlanMACManagementConfig;
frameBodyConfig.BeaconInterval = beaconInterval;  % Beacon Interval in Time units (TUs)
frameBodyConfig.SSID = SSID;                      % SSID (Name of the network)
dsElementID = 3;                                  % DS Parameter IE element ID
dsInformation = dec2hex(chNum, 2);                % DS Parameter IE information
frameBodyConfig = frameBodyConfig.addIE(dsElementID, dsInformation);  % Add DS Parameter IE to the configuration

% Create Beacon frame configuration object
beaconFrameConfig = wlanMACFrameConfig('FrameType', 'Beacon');
beaconFrameConfig.ManagementConfig = frameBodyConfig;

% Generate Beacon frame bits
[mpduBits, mpduLength] = wlanMACFrame(beaconFrameConfig, 'OutputFormat', 'bits');

% Calculate center frequency for the given band and channel number
fc = helperWLANChannelFrequency(chNum, band);

Создайте пакет маяка IEEE 802.11

Пакет маяка синтезируется с помощью wlanWaveformGenerator (WLAN Toolbox) с объектом настройки формата non-HT. В этом примере объект сконфигурирован, чтобы сгенерировать пакет маяка пропускной способности на 20 МГц, 1 антенны передачи и уровня BPSK 1/2 (MCS 0).

cfgNonHT = wlanNonHTConfig;              % Create a wlanNonHTConfig object
cfgNonHT.PSDULength = numel(mpduBits)/8; % Set the PSDU length in bits

% The idle time is the length in seconds of an idle period after each
% generated packet. The idle time is set to the beacon interval.
txWaveform = wlanWaveformGenerator(mpduBits, cfgNonHT, 'IdleTime', beaconInterval*1024e-6);
Rs = wlanSampleRate(cfgNonHT);           % Get the input sampling rate

Создайте объект генератора сигнала RF

Быстрое управление Генератор Сигнала RF используется, чтобы загрузить и передать основополосную форму волны, txWaveform, сгенерированный WLAN Toolbox.

rf = rfsiggen();

Узнайте все доступные инструментальные ресурсы, с которыми можно соединиться, с помощью resources метод.

rf.resources
ans =

    ' ASRL::COM3
      PXI0::MEMACC
      TCPIP0::172.31.165.249::inst0::INSTR
     '

Узнайте все доступные инструментальные драйверы, с помощью drivers метод.

rf.drivers
ans =

    'Driver: AgRfSigGen_SCPI
     Supported Models:
     E4428C, E4438C
     
     Driver: RsRfSigGen_SCPI
     Supported Models:
     SMW200A, SMBV100A, SMU200A, SMJ100A, AMU200A, SMATE200A
     
     Driver: AgRfSigGen
     Supported Models:
        E4428C,E4438C,N5181A,N5182A,N5183A,N5171B,N5181B,N5172B
        N5182B,N5173B,N5183B,N5166B,N5182N,E8241A,E8244A,E8251A
        E8254A,E8247C,E8257C,E8267C,E8257D,E8267D,E8663B,E8257N
     
     Driver: nisRFSigGen
     Supported Models:
     
     
     '

Свяжите с генератором сигнала

Установите Resource и Driver свойства прежде, чем соединиться с объектом. IP-адрес генератора сигнала Keysight Technologies N5172B 172.31.165.249, следовательно заданным ресурсом будет 'TCPIP0:: 172.31.165.249:: inst0:: INSTR'

rf.Resource = 'TCPIP0::172.31.165.249::inst0::INSTR';
rf.Driver = 'AgRfSigGen';
% Connect to the instrument
connect(rf);

Загрузите форму волны

Загрузите форму волны, txWaveform, к инструменту с частотой дискретизации Rs.

download(rf, transpose(txWaveform), Rs);

Передайте форму волны

Вызовите start начинать передавать использование формы волны задало centerFrequency, outputPower и loopCount.

centerFrequency = fc;
outputPower = 0;
loopCount = Inf;
start(rf, centerFrequency, outputPower, loopCount);

Если генератор сигнала передает маяк, можно протестировать путем сканирования на беспроводную сеть с помощью устройства Wi-Fi. Необходимо теперь видеть TEST_BEACON SSID в списке доступных сетей.

Очистка

Когда вы закончите передавать, остановите форму волны выход, отключите rfsiggen объект от генератора сигнала, и удаляет его из рабочей области.

stop(rf);
disconnect(rf);
clear rf

Приложение

Этот пример использует следующие функции помощника:

Для просмотра документации необходимо авторизоваться на сайте