exponenta event banner

Формирование кадра маяка OFDM 802.11

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

Введение

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

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

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

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

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

Пример настройки

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

useSDR = false;
saveToFile = false;

Создание кадра маяка IEEE 802.11

Пакеты маяковых сигналов периодически передаются, как определено целевым временем передачи маяковых сигналов (TBTT) в поле интервала маяковых сигналов. Интервал радиомаяка представляет количество временных блоков (TU) между TBTT, где 1 TU представляет 1024 микросекунды. Интервал радиомаяка 100 БПД приводит к интервалу времени 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 Beacon Receiver with Capted Data.

Передача с устройством 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)

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. Альтернативно, сохраненный пакет радиомаяка основной полосы может быть обработан для восстановления переданной информации, используя пример OFDM приемника радиомаяка 802.11 с захваченными данными.

Приложение

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

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

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