Этот пример показывает, как генерировать пакеты, содержащие кадры 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;
Пакеты маяковых сигналов периодически передаются, как определено целевым временем передачи маяковых сигналов (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);
Пакет маяка синтезируется с использованием 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.
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. Альтернативно, сохраненный пакет радиомаяка основной полосы может быть обработан для восстановления переданной информации, используя пример OFDM приемника радиомаяка 802.11 с захваченными данными.
В этом примере используется следующая вспомогательная функция:
Стандарт IEEE Std 802.11™-2016 IEEE для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY).