Этот пример показывает, как сгенерировать пакеты, содержащие кадры "неисправность" 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 может быть найдено здесь.
Пакет маяка может быть записан в основополосный файл и передал использование платформы 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 [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);
Пакет маяка синтезируется с помощью 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.
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
управляет усилителем мощности в радио. Этот параметр используется, чтобы повредить качество формы волны, можно изменить этот параметр, чтобы уменьшать качество передачи и повредить сигнал. Им предлагают значения, в зависимости от вашей настройки антенны, вам, вероятно, придется настроить эти значения. Предложенные значения:
Установите на 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) Спецификации.