Генерация сигналов 802.11ad с формированием луча

В этом примере показано, как перенести сигнал IEEE ® 802.11ad™ DMG с фазированной решеткой с помощью WLAN Toolbox™ и Toolbox™ Phased Array System.

Введение

IEEE 802.11ad [1] задает направленный многогабитный формат передачи (DMG), работающий на частоте 60 ГГц. Чтобы преодолеть большие потери пути, связанные с частотой 60 ГГц, стандарт IEEE 802.11ad предназначен для поддержки направленного формирования луча. При помощи фазированных антенных решеток можно применить вектор веса антенны (AWV), чтобы фокусировать шаблон антенны в желаемом направлении. Каждый пакет передается по всем элементам массива, но AWV применяет сдвиг фазы к каждому элементу, чтобы управлять передачей. Качество ссылки связи может быть улучшено путем добавления необязательных обучающих полей к пакетам DMG и тестирования различных AWV в передатчике или приемнике. Этот процесс называется уточнением луча.

Пакет DMG состоит из следующих полей:

  1. STF - Короткое поле обучения, которое используется для синхронизации.

  2. CE - поле оценки канала, которое используется для оценки канала.

  3. Заголовок - Поле сигнализации, которое приемник декодирует, чтобы определить параметры передачи.

  4. Данные - Поле данных, которое содержит полезную нагрузку пользовательских данных.

  5. Подполя AGC - опциональные подполя автоматического управления усилением (AGC), используемые для уточнения луча.

  6. Обучающие Подполи - Дополнительные обучающие подполя, используемые для уточнения луча.

Поля STF и CE формируют преамбулу. Преамбула, заголовок и поля данных пакета DMG передаются с тем же AWV. Для обучения уточнению луча передатчика к пакету может быть добавлено до 64 обучающих подполей (TRN). Каждое подполе TRN передается с использованием другого AWV. Это позволяет измерять эффективность до 64 различных AWV и уточнять AWV для преамбулы, заголовка и полей данных для последующих передач. Подполя CE периодически передаются, по одному на каждые четыре подполя TRN, среди подполей TRN. Каждое подполе CE передается с использованием того же AWV, что и преамбула. Чтобы позволить приемнику перенастроить AGC перед приемом подполей TRN, подполям TRN предшествуют подполя AGC. Для каждого подполя TRN подполе AGC передается с использованием того же AWV, что и для отдельного подполя TRN. Это позволяет установить коэффициент усиления в приемнике, подходящий для измерения всех подполей TRN. Схема ниже показывает структуру пакета с четырьмя подполями AGC и TRN, пронумерованными и подсвеченными. Поэтому четыре AWV тестируются как часть рафинирования луча. Те же AWV применяются к подполям AGC и TRN с таким же числом.

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

В этом примере требуются WLAN Toolbox и Phased Array System Toolbox.

Спецификация формы волны

Форма волны сконфигурирована для передачи пакета DMG с физическим слоем ортогонального частотного мультиплексирования (OFDM), 100-байтовым модулем служебных данных физического слоя (PSDU) и четырьмя подполями обучения передатчика. Четыре обучающих подполя позволяют тестировать четыре AWV для уточнения луча. Использование функциональной wlanDMGConfig, создайте объект строения DMG. Объект строения DMG задает параметры передачи.

dmg = wlanDMGConfig;
dmg.MCS = 13;             % OFDM
dmg.TrainingLength = 4;   % Use 4 training subfields
dmg.PacketType = 'TRN-T'; % Transmitter training
dmg.PSDULength = 100;     % Bytes

Спецификации к формированию луча

Шаблон антенны передатчика сконфигурирован как однородный линейный массив с 16 элементами с полуволновым интервалом. Использование объектов phased.ULA (Phased Array System Toolbox) и phased.SteeringVector (Phased Array System Toolbox), создайте фазированную решетку и AWV. Местоположение приемника для оценки передачи задается как смещение от места расположения передатчика.

receiverAz = 6; % Degrees off the transmitter's boresight

Для управления передачей создается равномерная линейная фазированная решетка с 16 элементами.

N = 16;                      % Number of elements
c = physconst('LightSpeed'); % Propagation speed (m/s)
fc = 60.48e9;                % Center frequency (Hz)
lambda = c/fc;               % Wavelength (m)
d = lambda/2;                % Antenna element spacing (m)
TxArray = phased.ULA('NumElements',N,'ElementSpacing',d);

AWV создаются с помощью phased.SteeringVector (Phased Array System Toolbox) объект. Пять углов управления заданы для создания пяти AWV, один для полей преамбулы и данных и один для каждого из четырех подполей обучения. Преамбула и поля данных передаются в boresight. Четыре обучающих подполя передаются под углами вокруг boresight.

% Create a directional steering vector object
SteeringVector = phased.SteeringVector('SensorArray',TxArray);

% The directional angle for the preamble and data is 0 degrees azimuth, no
% elevation, therefore at boresight. [Azimuth; Elevation]
preambleDataAngle = [0; 0];

% Each of the four training fields uses a different set of weights to steer
% to a slightly different direction. [Azimuth; Elevation]
trnAngle = [[-10; 0] [-5; 0] [5; 0] [10; 0]];

% Generate the weights for all of the angles
weights = SteeringVector(fc,[preambleDataAngle trnAngle]);

% Each row of the AWV is a weight to apply to a different antenna element
preambleDataAWV = conj(weights(:,1)); % AWV used for preamble, data and CE fields
trnAWV = conj(weights(:,2:end));      % AWV used for each TRN subfield

Используя функцию plotArrayResponse helper, ответ массива показывает, что направление приемника наиболее выровнено с направлением обучения TRN-SF3 подполя.

plotArrayResponse(TxArray,receiverAz,fc,weights);

Сгенерируйте сигнал основной полосы частот

Используйте сконфигурированный объект DMG и PSDU, заполненный случайными данными, в качестве входов к генератору формы волны, wlanWaveformGenerator. Генератор формы волны модулирует биты PSDU в соответствии с строением формата, а также выполняет оконную обработку OFDM.

% Create a PSDU of random bits
s = rng(0); % Set random seed for repeatable results
psdu = randi([0 1],dmg.PSDULength*8,1);

% Generate packet
tx = wlanWaveformGenerator(psdu,dmg);

Применить векторы веса к каждому полю

A phased.Radiator (Phased Array System Toolbox) создается, чтобы применить AWV к форме волны, объединить излучаемый сигнал от каждого элемента, чтобы сформировать плоскую волну и определить плоскую волну под углом интереса, receiverAz. Каждый фрагмент формы волны DMG tx передается через Излучателя с заданным набором AWV, и угол, под которым можно вычислить плоскую волну.

Radiator = phased.Radiator;
Radiator.Sensor = TxArray;        % Use the uniform linear array
Radiator.WeightsInputPort = true; % Provide AWV as argument
Radiator.OperatingFrequency = fc; % Frequency in Hertz
Radiator.CombineRadiatedSignals = true; % Create plane wave

% The plane wave is evaluated at a direction relative to the radiator
steerAngle = [receiverAz; 0]; % [Azimuth; Elevation]

% The beamformed waveform is evaluated as a plane wave at the receiver
planeWave = zeros(size(tx));

% Get indices for fields
ind = wlanFieldIndices(dmg);

% Get the plane wave while applying the AWV to the preamble, header, and data
idx = (1:ind.DMGData(2));
planeWave(idx) = Radiator(tx(idx),steerAngle,preambleDataAWV);

% Get the plane wave while applying the AWV to the AGC and TRN subfields
for i = 1:dmg.TrainingLength
    % AGC subfields
    agcsfIdx = ind.DMGAGCSubfields(i,1):ind.DMGAGCSubfields(i,2);
    planeWave(agcsfIdx) = Radiator(tx(agcsfIdx),steerAngle,trnAWV(:,i));
    % TRN subfields
    trnsfIdx = ind.DMGTRNSubfields(i,1):ind.DMGTRNSubfields(i,2);
    planeWave(trnsfIdx) = Radiator(tx(trnsfIdx),steerAngle,trnAWV(:,i));
end

% Get the plane wave while applying the AWV to the TRN-CE
for i = 1:dmg.TrainingLength/4
    trnceIdx = ind.DMGTRNCE(i,1):ind.DMGTRNCE(i,2);
    planeWave(trnceIdx) = Radiator(tx(trnceIdx),steerAngle,preambleDataAWV);
end

Вычислите форму лучистой волны

Функция helper plotDMGWaveform строит график величины лучистой плоской волны. При оценке величины лучистой плоской волны мы видим, что поля, образованные лучом в направлении приемника, сильнее, чем другие поля.

plotDMGWaveform(planeWave,dmg,'Beamformed Plane Wave with Fields Highlighted');

rng(s); % Restore random state

Заключение

Этот пример показал, как сгенерировать сигнал IEEE 802.11ad DMG и применить AWV к различным фрагментам сигнала. WLAN Toolbox использовался для генерации стандартной совместимой формы волны, а Phased Array System Toolbox - для применения AWV и оценки величины результирующей плоской волны в направлении приемника.

Приложение

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

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

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