802.11 генерации кадра "неисправность" OFDM

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

Введение

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

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

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

  • Переданный беспроводной. Пакет маяка является upconverted для передачи РФ с помощью Xilinx® Находящееся в Zynq Радио-оборудование SDR. Радио-оборудование позволяет форме волны быть переданной беспроводная.

Чтобы передать беспроводной маяк, Xilinx, находящийся в Zynq радио-пакет поддержки требуется. Это может быть установлено с помощью Add-On Explorer. Больше информации о платформах SDR может быть найдено здесь.

Setup в качестве примера

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

useSDR = false;
saveToFile = false;

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

Пакеты маяка периодически передаются, как задано к Целевому времени передачи маяка (TBTT) в поле интервала маяка. Интервал маяка представляет количество Единиц измерения времени (TUs) между TBTT, где 1 TU представляет 1 024 микросекунды. Интервал маяка 100 TU приводит к 102,4 временным интервалам миллисекунд между последовательными маяками. Кадр "неисправность" сгенерирован с помощью функции wlanMACFrame. Эта функция использует объект wlanMACFrameConfig настройки кадра MAC. Этот объект принимает 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
[beacon, mpduLength] = wlanMACFrame(beaconFrameConfig);

% Convert the mpdu bytes in hexa-decimal format to bits
beacon = hex2dec(beacon);
bits = reshape(de2bi(beacon, bitsPerByte)', [], 1);

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

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

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

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(bits, 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
    tx = sdrtx('AD936x'); %#ok<UNRCH>
    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)

Функция 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 802.11™-2016 Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации.

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