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

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

Введение

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

Для получения дополнительной информации о генерации системы координат с помощью WLAN Toolbox см. раздел 802.11 OFDM «Генерация системы координат» (WLAN Toolbox).

Требования

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

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

  • Keysight VISA версия 17.3

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

  • Податливость National Instruments™ IVI ® версии 16.0.1.2 или выше

  • WLAN Toolbox

  • Instrument Control Toolbox

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

Пакеты-маяки периодически передаются в соответствии с заданным временем передачи целевого маяка (TBTT) в поле интервала. Интервал-маяк представляет количество временных единиц (TU) между TBTT, где 1 TU представляет 1024 микросекунды. Интервал маяка 100 TU приводит к интервалу времени 102,4 миллисекунды между последовательными маяками. Кадр-маяк генерируется с помощью wlanMACFrame (WLAN Toolbox) функция. Эта функция использует объект MAC системы координат строения wlanMACFrameConfig (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) с объектом строения, отличным от HT. В этом примере объект сконфигурирован, чтобы сгенерировать пакет-маяк с пропускной способностью 20 МГц, передающей антенной 1 и частотой 1/2 BPSK (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

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

Генератор радиочастотного сигнала быстрого управления используется для загрузки и передачи формы волны основной полосы частот, 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-адрес генератора N5172B сигналов Keysight Technologies 172,31,165,249, поэтому указанным ресурсом будет 'TCPIP0:: 172,31,165,249: inst0:: INSTRUM.apos;

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

Приложение

В этом примере используются следующие вспомогательные функции: