В этом примере показано, как сгенерировать пакеты, содержащие кадры "неисправность" 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 для передачи RF с помощью Xilinx® Находящееся в Zynq Радио-оборудование SDR. Радио-оборудование позволяет форме волны быть переданной беспроводная.
Чтобы передать беспроводной маяк, Xilinx, находящийся в Zynq радио-пакет поддержки требуется. Это может быть установлено с помощью Add-On Explorer. Больше информации о платформах SDR может быть найдено здесь.
Пакет маяка может быть записан в основополосный файл и передал использование платформы SDR. Чтобы передать маяк с помощью платформы SDR устанавливает useSDR
к истине. Чтобы записать в основополосный файл устанавливает saveToFile
к истине.
useSDR = false; saveToFile = false;
Пакеты маяка периодически передаются, как задано к Целевому времени передачи маяка (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 bits [beacon, mpduLength] = wlanMACFrame(beaconFrameConfig, 'OutputFormat', 'bits'); % Calculate center frequency for the given band and channel number fc = helperWLANChannelFrequency(chNum, band);
Пакет маяка синтезируется с помощью wlanWaveformGenerator
с объектом настройки формата non-HT. В этом примере объект сконфигурирован, чтобы сгенерировать пакет маяка пропускной способности на 20 МГц, 1 антенны передачи и уровня BPSK 1/2 (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.
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
параметр управляет усилителем мощности в радио. Этот параметр используется, чтобы повредить качество формы волны, можно изменить этот параметр, чтобы уменьшать качество передачи и повредить сигнал. Им предлагают значения, в зависимости от вашей настройки антенны, вам, вероятно, придется настроить эти значения. Предложенные значения:
Установите на 0 для увеличенного усиления (0dB)
Установите на-10 для усиления по умолчанию (-10dB)
Установите на-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 с Собранными Данными.
Этот пример использует следующую функцию помощника:
Станд. IEEE 802.11™-2016 Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования.