802.11 Генерация системы координат OFDM

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

Введение

Этот пример создает систему координат 802.11™ IEEE ®, как описано в разделе 9.3.3.3 [1]. Устройство WiFi может использоваться, чтобы просмотреть пакет-маяк, переданный с использованием оборудования SDR, как показано на рисунке ниже.

Кадр-маяк является типом кадра управления, он идентифицирует основной служебный набор (BSS), формируемый многими 802,11 устройствами. Точка доступа BSS периодически передает кадр-маяк, чтобы установить и настроить сеть. Кадр-маяк состоит из MAC-заголовка, тела кадра-маяка и действительной последовательности проверки кадра (FCS). Тело системы координат содержит информационные поля, которые позволяют станциям связываться с сетью. Маяк- система координат WLAN создается с помощью wlanMACFrame функция. Система координат кодируется и модулируется с помощью wlanWaveformGenerator функция для создания пакета-маяка основной полосы частот. В этом примере сгенерированная форма волны может быть:

  • Хранится в формате файла baseband. Формат файла может использоваться с примером 802.11 Приемник-маяк OFDM с захваченными данными, который выполняет декодирование пакета-маяка и описывает обработку приемника.

  • Передается по воздуху. Пакет-маяк преобразуется с повышением частоты для передачи RF с помощью оборудования Xilinx ® Zynq-Based Radio SDR. Оборудование радиосвязи позволяют передавать сигнал по воздуху.

Для передачи радиомаяка по эфиру требуется пакет радиомаяка Xilinx Zynq поддержки. Установить его можно с помощью Add-On Explorer. Более подробную информацию о платформах SDR можно найти здесь.

Пример Setup

Пакет-маяк может быть записан в файл основной полосы частот и передан с помощью платформы SDR. Для передачи маяка с помощью аппарата платформы SDR useSDR к true. Запись в набор файлов основной полосы saveToFile к true.

useSDR = false;
saveToFile = false;

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

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

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
[beacon, mpduLength] = wlanMACFrame(beaconFrameConfig, 'OutputFormat', 'bits');

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

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

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

cfgNonHT = wlanNonHTConfig;           % Create a wlanNonHTConfig object
cfgNonHT.PSDULength = mpduLength;     % Set the PSDU length in bytes

% 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(beacon, cfgNonHT, 'IdleTime', beaconInterval*1024e-6);
Rs = wlanSampleRate(cfgNonHT);           % Get the input sampling rate

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

Этот раздел сохраняет форму волны в файле основной полосы частот с помощью comm.BasebandFileWriter.

if saveToFile
    % The waveform is stored in a baseband file
    BBW = comm.BasebandFileWriter('nonHTBeaconPacket.bb', Rs, fc); %#ok<UNRCH>
    BBW(txWaveform);
    release(BBW);
end

Для получения информации об автоматическом обнаружении и синхронизации формы волны, сохраненной в формате файла основной полосы частот, см. 802.11 OFDM-приемник маяка с захваченными данными.

Передача с устройством SDR

Этот раздел демонстрирует передачу пакета-маяка по воздуху с помощью устройства SDR.

if useSDR
    % The SDR platform used must support |transmitRepeat|. Valid platforms
    % are 'AD936x', 'E3xx', and 'Pluto'.
    sdrPlatform = 'AD936x'; %#ok<UNRCH>
    tx = sdrtx(sdrPlatform);
    osf = 2; % OverSampling factor
    tx.BasebandSampleRate = Rs*osf;
    % The center frequency is set to the corresponding channel number
    tx.CenterFrequency = fc;
end

Коэффициент усиления передатчика tx.Gain параметр управляет усилителем степени в радио. Этот параметр используется, чтобы ухудшить качество формы волны, можно изменить этот параметр, чтобы уменьшить качество передачи и ухудшить сигнал. Это рекомендуемые значения, в зависимости от строения антенны, вам, возможно, придется настроить эти значения. Предлагаемые значения:

  1. Установите значение 0 для увеличения усиления (0dB)

  2. Установите значение -10 для коэффициента усиления по умолчанию (-10dB)

  3. Установите значение -20 для уменьшения усиления (-20dB)

The transmitRepeat функция передает форму волны основной полосы частот на платформу SDR и сохраняет выборки сигналов в аппаратной памяти. Затем пример неоднократно передает эту форму волны по воздуху до тех пор, пока не будет вызван способ релиза передающего объекта. Сообщения отображаются в командном окне, чтобы подтвердить, что передача началась успешно.

if useSDR
    % Set transmit gain
    tx.Gain = 0;  %#ok<UNRCH>
    % Resample transmit waveform
    txWaveform = resample(txWaveform, osf, 1);
    % Transmit over-the-air
    transmitRepeat(tx, txWaveform);
end

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

Этот пример продемонстрировал, как сгенерировать пакет-маяк для стандарта IEEE 802.11. Устройство Wi-Fi™ может использоваться, чтобы просмотреть пакет-маяк, переданный с помощью оборудования SDR. Альтернативно, сохраненный пакет-маяк основной полосы частот может быть обработан, чтобы восстановить переданную информацию, используя пример 802.11 OFDM-приемник-маяк с захваченными данными.

Приложение

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

Избранная библиография

  1. Стандарт IEEE Std 802.11™-2016 IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление доступом к среде локальной сети (MAC) и физический слой (PHY) Спецификации.