Генерация сигналов 802.11ah

В этом примере показано, как сгенерировать 802.11ah™ S1G сигналов IEEE ®, и показаны некоторые ключевые возможности стандарта.

Введение

802.11ah предназначен для расширенной области значений и применений малой мощности в нелицензированной sub полосе на 1 ГГц, включая машину к машинной коммуникации и Интернету вещей. 802.11ah использует более узкие смежные полосы пропускания канала, чем 802.11n™ и 802.11ac™, для облегчения связи на большие области значений с низкой степенью при более низкой скорости передачи данных. Допустимые полосы пропускания канала: 1, 2, 4, 8 и 16 МГц.

Поскольку 802.11ah использует те же базовые технологии физического слоя, что и 802.11n и 802.11ac, цепи обработки очень похожи. За исключением 1 МГц передач, в общих данных модулируется с использованием того же процесса, что и в 802 .11ac с 1/10 тактовой частотой.

В этом примере генерируется несколько сигналов 802.11ah S1G [1], чтобы выделить некоторые ключевые режимы и функции стандарта 802.11ah.

802.11ah Режимы и функции PHY

Стандарт 802.11ah задает три режима:

  • Режим 1 МГц (S1G_1M) предназначен для приложений с низкой скоростью передачи данных. Этот режим имеет расширенную преамбулу и новую схему модуляции и кодирования, MCS10, для улучшения робастности. MCS10 BPSK 1/2 с 2-кратным повторением. Когда MCS10 используется, короткое поле обучения (STF) усиливается на 3 дБ, чтобы разрешить обнаружение пакетов [2]. В этом режиме весь PPDU сформирован по лучу.

  • Режим преамбулы > = 2 МГц (S1G_LONG) используется для одно- или многопользовательских передач с пропускной способностью канала 2, 4, 8 или 16 МГц. Блок PPDU аналогичен блоку 802.11ac VHT PPDU, состоящему из всенаправленного фрагмента и сменного фрагмента луча.

  • Короткий режим преамбулы > = 2 МГц (S1G_SHORT) используется для однопользовательских передач с пропускной способностью канала 2, 4, 8 или 16 МГц. В этом режиме весь PPDU сформирован по лучу.

Стандарт 802.11ah предназначен для работы как на открытом воздухе, так и в закрытом помещении. Путешествующие пилоты были введены, чтобы компенсировать Допплеровское распространение, вызванное отражениями из-за движения автомобиля. В предыдущих стандартах 802.11 местоположения пилот-сигнала фиксируются на той же поднесущей для длительности пакета. Отслеживание меняющихся условий канала из-за высокого доплеровского окружения не эффективно с фиксированными местоположениями пилот-сигнала. Перемещающиеся пилоты изменяют поднесущие, которые несут пилоты с течением времени, что улучшает способность отслеживать изменение условий канала. В этом примере форма волны генерируется для каждого из трех режимов, введенных выше, с строениями для MCS10 и бегущего пилот-сигнала.

S1G 1MHz режима

Блок PPDU S1G 1 МГц состоит из пяти полей, все из которых могут быть образованы лучом:

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

  2. LTF1 - Первое длинное поле обучения, которое используется для тонкой синхронизации и начальной оценки канала

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

  4. LTF2-N - последующие длинные поля обучения, которые используются для оценки канала MIMO

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

Примеры генерации сигналов для MCS0 и MCS10 передач на 1 МГц показаны. Когда MCS10 используется, увеличение степени на 3 дБ применяется к короткому полю обучения. Это повышение степени будет визуализировано.

Функция wlanWaveformGenerator возвращает объект строения S1G. Создайте объект строения S1G для полосы пропускания 1 МГц, 1 передающей антенны, 1 пространственно-временного потока, скорости BPSK 1/2 (MCS0) и длины APEP 256 байтов.

cfg1MHz = wlanS1GConfig;
cfg1MHz.ChannelBandwidth = 'CBW1';
cfg1MHz.NumTransmitAntennas = 1;
cfg1MHz.NumSpaceTimeStreams = 1;
cfg1MHz.MCS = 0;
cfg1MHz.APEPLength = 256;

Создайте PSDU случайных бит, используя необходимую длину для указанного строения формата.

psdu = randi([0 1],cfg1MHz.PSDULength*8,1);

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

% Generate waveform with windowing disabled
txMCS0 = wlanWaveformGenerator(psdu,cfg1MHz,'WindowTransitionTime',0);

Изменение MCS cfg1MHz до 10 и сгенерируйте вторую форму волны, чтобы продемонстрировать увеличение степени STF.

cfg1MHz.MCS = 10;
txMCS10 = wlanWaveformGenerator(psdu,cfg1MHz,'WindowTransitionTime',0);

Степень строится для первых 320 микросекунд обеих форм волны, чтобы захватить длительность STF и первого LTF в передаче 1 МГц. Обратите внимание на повышение степени STF, когда используется MCS10. Повышение степени требуется для получения достаточной чувствительности обнаружения пакетов для поддержки MCS10 [2].

t = 320; % Duration to plot in microseconds
sr = wlanSampleRate(cfg1MHz); % Sample rate Hz
tick = (1/sr)*1e6; % Microseconds per sample
hf = figure;
hp(1) = plot(0:tick:t-tick,20*log10(abs(txMCS10(1:t*sr*1e-6,:))),'bx-');
hold on;
hp(2) = plot(0:tick:t-tick,20*log10(abs(txMCS0(1:t*sr*1e-6,:))),'ro-');
xlim([0 t-1]);
ylim([-20 15]);
s1gWavGenPlotFieldOverlay(cfg1MHz,hf);
grid on;
legend(hp,'1 MHz MCS10','1 MHz MCS0','Location','SouthWest');
title('Power of 1 MHz PPDU');
xlabel('Time (us)');
ylabel('Power (dBW)');

S1G > = 2 МГц режим длинной преамбулы

Длинная преамбула 802.11ah поддерживает одно- и многопользовательские передачи. Длинная преамбула PPDU состоит из двух фрагментов; всенаправленный фрагмент и переключаемый по лучу фрагмент.

Всенаправленный фрагмент передаётся всем пользователям без формирования луча. Он состоит из трех полей:

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

  2. LTF1 - Первое длинное поле обучения, которое используется для тонкой синхронизации и начальной оценки канала

  3. SIG-A - поле А сигнализации, которое приемник декодирует, чтобы определить параметры передачи, релевантные для всех пользователей

Переключаемая по лучу фрагмент может быть сформирована лучом для каждого пользователя. Он состоит из четырех полей:

  1. D-STF - лучевое короткое обучающее поле, которое используется приемником для автоматического управления усилением

  2. D-LTF - лучевые длинные обучающие поля, которые используются для оценки канала MIMO

  3. SIG-B - поле сигнализации B. При многопользовательской передаче SIG-B сигнализирует MCS для каждого пользователя. В однопозиционной передаче MCS передается в поле SIG-A всенаправленного фрагмента преамбулы. Поэтому в однопользовательской передаче переданный символ SIG-B является точным повторением первого D-LTF. Это повторение позволяет улучшить оценку канала.

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

Чтобы визуализировать повторение первого D-LTF, с помощью S1G создается объект строения формата wlanS1GConfig 2 МГц функция и сконфигурирована для одного пространственно-временного потока и одной передающей антенны.

cfgSU = wlanS1GConfig;
cfgSU.ChannelBandwidth = 'CBW2';
cfgSU.Preamble = 'Long';
cfgSU.NumUsers = 1;
cfgSU.NumSpaceTimeStreams = 1;
cfgSU.NumTransmitAntennas = 1;
cfgSU.MCS = 1;
cfgSU.APEPLength = 150;

Сигнал длинной преамбулы > = 2 МГц с одним пространственно-временным потоком генерируется с помощью cfgSU объект.

% Generate a PSDU containing random bits
psdu = randi([0 1],cfgSU.PSDULength*8,1);

% Generate a PPDU waveform
txSU = wlanWaveformGenerator(psdu,cfgSU);

Построены графики полей D-LTF и SIG-B. Обратите внимание на повторение D-LTF в символе SIG-B.

s1gWavGenPlotSIGB(cfgSU,txSU);

Для сравнения будет сгенерирована и визуализирована многопользовательская форма преамбулы длиной 2 МГц. Сначала создается объект строения формата для двух пользователей. Пользовательские положения, количество потоков пробел, MCS и длина APEP конфигурируются для каждого пользователя с помощью векторов, чтобы параметризовать соответствующие свойства cfgMU объект.

cfgMU = wlanS1GConfig;
cfgMU.ChannelBandwidth = 'CBW2';
cfgMU.Preamble = 'Long';
cfgMU.NumUsers = 2;
cfgMU.UserPositions = [0 1];
cfgMU.NumSpaceTimeStreams = [1 1];
cfgMU.NumTransmitAntennas = sum(cfgMU.NumSpaceTimeStreams);
cfgMU.MCS = [1 2];
cfgMU.APEPLength = [150 250];

Для каждого пользователя создается случайный блок PSDU, и генерируется многопользовательская форма волны. Длина PSDU для каждого пользователя, cfgMU.PSDULength, вычисляется на основе передаточных свойств cfgMU объект.

% Generate cell array containing the PSDUs for all users
psdu = cell(cfgMU.NumUsers,1);
for i = 1:cfgMU.NumUsers
    psdu{i} = randi([0 1],cfgMU.PSDULength(i),1);
end

% Generate waveform
txMU = wlanWaveformGenerator(psdu,cfgMU);

Два поля D-LTF и поля SIG-B построены для первого пространственно-временного потока. Обратите внимание, что символ SIG-B больше не является повторением D-LTF1, поскольку он содержит MCS для каждого пользователя.

s1gWavGenPlotSIGB(cfgMU,txMU);

S1G > = 2 МГц Режим короткой преамбулы

Короткая форма преамбулы S1G > = 2 МГц состоит из пяти полей, все из которых можно сформировать лучом:

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

  2. LTF1 - Первое длинное поле обучения, которое используется для тонкой синхронизации и начальной оценки канала

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

  4. LTF2-N - последующие длинные поля обучения, которые используются для оценки канала MIMO

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

В этом примере будут сгенерированы короткие формы преамбулы S1G 2 МГц с перемещающимися пилотами и без них.

Путешествующие пилоты являются дополнительной функцией для всех трех режимов S1G, чтобы разрешить наружные ссылки, где Доплеровский спред потенциально введен из-за движущихся транспортных средств. Перемещающиеся пилоты повышаются в 1,5 раза по сравнению с фиксированными пилотами, чтобы улучшить эффективность оценки канала в этом окружении [3].

Сгенерированы две > = 2 МГц коротких формы волны преамбулы; один с фиксированными пилотами и один с бегущими пилотами. Сначала a S1G 2 МГц строение короткого формата преамбулы с фиксированными местоположениями пилот-сигнала создается с помощью wlanS1GConfig объект.

cfgFix = wlanS1GConfig;
cfgFix.ChannelBandwidth = 'CBW2';
cfgFix.Preamble = 'Short';
cfgFix.NumTransmitAntennas = 1;
cfgFix.NumSpaceTimeStreams = 1;
cfgFix.MCS = 0; % BPSK so same power on all subcarriers for analysis
cfgFix.APEPLength = 100;
cfgFix.TravelingPilots = false; % Fixed pilot subcarriers

Сгенерируйте фиксированную форму пилот-сигнала, используя cfgFix объект и случайные биты PSDU. Биты PSDU создаются с использованием необходимой длины для заданного строения формата.

% Generate a PSDU containing random bits
psdu = randi([0 1],cfgFix.PSDULength*8,1);

% Generate a PPDU waveform
txFix = wlanWaveformGenerator(psdu,cfgFix);

Извлеките поле данных из формы волны временного интервала, используя известную длительность преамбулы. Постройте график величины символов OFDM и поднесущих. Местоположение нулей, данных, несущих поднесущие, и пилот-сигналов, несущих поднесущие, подсвечиваются. Местоположения пилот-сигнала остаются неизменными для длительности пакета.

s1gWavGenPlotGrid(txFix,cfgFix, ...
    'Demodulated OFDM symbols with fixed pilots highlighted')

Теперь форма волны генерируется с помощью того же строения, но с бегущими пилотами. Это может быть достигнуто путем изменения TravelingPilots свойство существующего объекта строения и регенерация формы волны, но в этом примере создается и используется отдельный объект.

% Copy the format configuration object and enable traveling pilots
cfgTravel = cfgFix;
cfgTravel.TravelingPilots = true;

% Generate waveform with traveling pilots
txTravel = wlanWaveformGenerator(psdu,cfgTravel);

Величина символов OFDM и поднесущих строится снова. Теперь местоположения пилот-сигналов изменяются на каждый символ OFDM. Величина пилот-несущих в 1,5 раза больше, чем данных, несущих поднесущие.

s1gWavGenPlotGrid(txTravel,cfgTravel, ...
    'Demodulated OFDM symbols with traveling pilots highlighted')

Заключение

Этот пример продемонстрировал, как сгенерировать формы волны для различных режимов S1G 802.11ah, и осветил некоторые ключевые возможности стандарта.

Приложение

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

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

  1. IEEE P802.11ah™/D5.0 Проект стандарта на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Спецификации по управлению доступом к среде беспроводной локальной сети (MAC) и физическому слою (PHY). Поправка 2: Sub1 GHz Лицензия Освобождение от Операции.

  2. Самир Вермани и др. «Преамбула Формата для 1 МГц», IEEE 802.11-11/1482r4, 2012-01-16.

  3. Рон Порат и др. «Путевые пилоты», IEEE 8902.11-12/1322r0, 2012-11-12.