802.11ad генерация сигналов с Beamforming

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

Введение

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

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

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

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

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

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

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

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

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

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

Этот пример требует WLAN Toolbox и Phased Array System Toolbox.

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

Форма волны сконфигурирована для пакетной передачи DMG с физическим уровнем ортогонального мультиплексирования деления частоты (OFDM), 100-байтовый модуль эксплуатационных данных физического уровня (PSDU) и четыре подполя обучения передатчика. Четыре учебных подполя позволяют четырем AWVs быть протестированными на улучшение луча. Используя функциональный 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

Спецификация Beamforming

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

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);

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

% 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 функцию помощника, ответ массивов показывает, что направление приемника больше всего выравнивается с направлением учебного подполя 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);

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

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

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

Оцените форму волны Beamformed

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

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

rng(s); % Restore random state

Заключение

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

Приложение

Этот пример использует следующие функции помощника:

Выбранная библиография

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