exponenta event banner

wlanHETBConfig

Конфигурирование передачи HE TB

Описание

wlanHETBConfig объект является объектом конфигурации для формата пакетов на основе триггера WLAN HE (HE TB).

Создание

Описание

пример

cfgHETB = wlanHETBConfig создает объект конфигурации, который инициализирует параметры для PPDU восходящего канала IEEE ® 802.11™ HE TB или нулевого пакета данных обратной связи HE TB (NDP). Подробное описание форматов WLAN HE см. в [2].

пример

cfgHETB = wlanHETBConfig(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки. Например, wlanHETBConfig('ChannelBandwidth','CBW80') определяет пропускную способность канала 80 МГц.

Во время выполнения вызывающая функция проверяет параметры объекта для свойств, относящихся к работе функции.

Свойства

развернуть все

Свойства NDP обратной связи HE TB PPDU и HE TB

Свойства этого раздела применимы ко всем конфигурациям передачи HE TB.

Создайте NDP обратной связи HE TB, указанное как одно из этих значений.

  • 0 (false) - Создайте PPDU HE TB.

  • 1 (true) - Создание NDP обратной связи HE TB.

NDP обратной связи HE TB содержит информацию отчета обратной связи NDP, описанную в процедуре отчета обратной связи NDP.

Дополнительные сведения о NDP обратной связи HE TB см. в разделе 27.3.17 [2].

Примечание

Создание действительного wlanHETBConfig объект для NDP обратной связи HE TB, используйте getNDPFeedbackConfiguration объектная функция.

Типы данных: logical

Полоса пропускания канала передачи PPDU, указанная как одно из этих значений.

  • 'CBW20' - Полоса пропускания канала 20 МГц

  • 'CBW40' - Полоса пропускания канала 40 МГц

  • 'CBW80' - Полоса пропускания канала 80 МГц

  • 'CBW160' - Полоса пропускания канала 160 МГц

Типы данных: char | string

Коэффициент масштабирования мощности полей PPDU до HE, заданный как скаляр в интервале [1/√2, 1].

Типы данных: double

Число передающих антенн, указанное как положительное целое число.

Типы данных: double

Значения циклического сдвига в наносекундах дополнительных передающих антенн для полей пре-ТО формы сигнала. Первые восемь антенн используют значения циклического сдвига, указанные в таблице 21-10 из [1]. Остальные L антенн используют значения, указанные в этом свойстве, где L = NumTransmitAntennas – 8. Укажите это свойство в качестве одного из следующих значений:

  • Целое число в интервале [-200, 0] - wlanHETBConfig объект использует это значение циклического сдвига для каждой из L дополнительных антенн.

  • Вектор строки длиной L - wlanHETBConfig объект использует k-й элемент в качестве значения циклического сдвига для (k + 8) -й передающей антенны.

    Примечание

    Если задать это свойство как вектор строки длиной N > L, wlanHETBConfig объект использует только первые L-записи. Например, если задать NumTransmitAntennas свойство для 16, wlanHETBConfig объект использует только первые L = 16 - 8 = 8 записей этого свойства.

Зависимости

Чтобы включить это свойство, установите значение NumTransmitAntennas свойство имеет значение, большее, чем 8.

Типы данных: double

Количество пространственно-временных потоков в передаче, указанное как целое число в интервале [1, 8].

Типы данных: double

Начальный индекс пространственно-временного потока в одномерном виде, заданный как целое число в интервале [1, 8]. В многопользовательской конфигурации с множеством входов и множеством выходов (MU-MIMO) с множеством пользователей на одном и том же RU каждый пользователь должен передавать в отдельном пространственно-временном потоке. В этом случае необходимо задать это свойство и NumSpaceTimeStreams чтобы гарантировать, что каждый пространственно-временной поток передает не более одного пользователя.

Типы данных: double

Продолжительность защитного интервала (циклического префикса) для поля данных в пакете в микросекундах, указанная как 3.2 или 1.6.

Типы данных: double

Режим сжатия HE-LTF PPDU HE, указанный как 4, 2, или 1. Это свойство указывает тип HE-LTF, где значение 4, 2, или 1 соответствует четырем, двум или одному кратному режиму сжатия длительности HE-LTF соответственно. В таблице 27-1 [2] перечислены следующие опции типа HE-LTF:

  • 1 × HE-LTF - длительность 3,2 микросекунды с длительностью защитного интервала 0,8 или 1,6 микросекунды

  • 2 × HE-LTF - длительность 6,4 микросекунды с длительностью защитного интервала 0,8 или 1,6 микросекунды

  • 4 × HE-LTF - длительность 12,8 микросекунды с длительностью защитного интервала 0,8 или 3,2 микросекунды

Для получения дополнительной информации о HE-LTF см. раздел 27.3.10.10 из [2].

Типы данных: double

Количество символов HE-LTF в PPDU, указанное как 1, 2, 4, 6, или 8.

Зависимости

  • Если установить TriggerMethod свойство для 'TRS', то необходимо установить для этого свойства значение 1.

  • Если установить HighDoppler свойство для 1 (true), то необходимо установить для этого свойства значение 1, 2, или 4.

Типы данных: double

Идентификатор цвета базового набора служб (BSS), указанный как целое число в интервале [0, 63].

Типы данных: double

Значение подполя Spatial Reuse 1 в поле HE-SIG-A, указанное как целое число в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 из [2].

Типы данных: double

Значение подполя Spatial Reuse 2 в поле HE-SIG-A, указанное как целое число в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 из [2].

Типы данных: double

Значение подполя Spatial Reuse 3 в поле HE-SIG-A, указанное как целое число в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 из [2].

Типы данных: double

Значение подполя Spatial Reuse 4 в поле HE-SIG-A, указанное как целое число в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 из [2].

Типы данных: double

Информация о длительности для защиты возможностей передачи (TXOP), указанная как целое число в интервале [0, 127]. За исключением первого бита, который определяет гранулярность длины TXOP, каждый бит подполя TXOP в поле HE-SIG-A равен значению этого свойства. Поэтому длительность в микросекундах должна быть преобразована в соответствии с процедурой, изложенной в таблице 27-20 из [2].

Типы данных: double

Свойства PPDU HE TB

Свойства в этом разделе применяются только в том случае, если FeedbackNDP свойство - 0 (false). Эти свойства используются для настройки PPDU HE TB в ответ на кадр триггера или кадр, содержащий подполю управления планированием инициированного ответа (TRS).

Тип триггерного кадра, указанный как одно из этих значений.

  • 'TriggerFrame' - Создание PPDU HE TB в ответ на триггерный кадр. Для получения дополнительной информации о триггерных кадрах см. раздел 9.3.1.22 [2].

  • 'TRS' - Создание PPDU HE TB в ответ на кадр, содержащий подполю управления TRS. Для получения дополнительной информации см. раздел 9.2.4.6a.1 [2].

Примечание

Создание действительного wlanHETBConfig для передачи в ответ на кадр, содержащий подполю TRS Control, используйте getTRSConfiguration объектная функция.

Типы данных: char | string

Размер единицы ресурса (RU) указан как 26, 52, 106, 242, 484, 996, или 1992.

Типы данных: double

Индекс RU для выделения поднесущих, заданный как целое число в интервале [1, 74]. Индекс RU определяет местоположение RU в канале. Например, передача 80 МГц содержит четыре 242-тоновых RU (по одному для каждого подканала 20 МГц). RU номер 242-1 (размер 242, индекс 1) - самая низкая абсолютная частота в пределах канала 80 МГц. Аналогично, номер RU 242-4 является самой высокой абсолютной частотой.

Типы данных: double

Схема пространственного отображения, указанная как 'Direct', 'Hadamard', 'Fourier', или 'Custom'.

Зависимости

Значение по умолчанию, 'Direct', применяется только при установке NumTransmitAntennas и NumSpaceTimeStreams к тому же значению.

Типы данных: char | string

Матрица пространственного отображения, заданная как одно из этих значений.

  • Скаляр с комплексными значениями - это значение применяется ко всем поднесущим.

  • Комплексная матрица размера NSTS-by-NT-NSTS -  это количество пространственно-временных потоков, а NT - количество передающих антенн. В этом случае матрица пространственного отображения применяется ко всем поднесущим.

  • Комплекснозначный массив 3-D размера NST-by-NSTS-by-NT-NST - это число занятых поднесущих. ChannelBandwidth определяет значение NST. В этом случае каждая занятая поднесущая имеет свою собственную матрицу пространственного отображения.

    В этой таблице показано значение ChannelBandwidth свойство и соответствующее значение NST.

    Значение ChannelBandwidthЗначение NST
    'CBW20'242
    'CBW40'484
    'CBW80'996
    'CBW160'

    1992

Это свойство используется для поворота и масштабирования выходного вектора отображения созвездий. Матрица пространственного отображения используется для формирования луча и смешивания пространственно-временных потоков по передающим антеннам. Вызывающая функция нормализует матрицу пространственного отображения для каждой поднесущей.

Пример: [0.5 0.3; 0.4 0.4; 0.5 0.8] представляет собой матрицу пространственного отображения с тремя пространственно-временными потоками и двумя передающими антеннами.

Зависимости

Чтобы включить это свойство, установите значение SpatialMapping свойство для 'Custom'.

Типы данных: double
Поддержка комплексного номера: Да

Включение пространственно-временного блочного кодирования (STBC) поля HE-Data, указанного как 1 (true) или 0 (false). STBC передает множество копий потока данных через назначенные антенны.

  • При установке для этого свойства значения 0 (false), STBC не применяется к полю HE-Data. Количество пространственно-временных потоков равно числу пространственных потоков.

  • При установке для этого свойства значения 1 (true), STBC применяется к полю HE-Data. Количество пространственно-временных потоков вдвое превышает число пространственных потоков.

Зависимости

Чтобы включить это свойство, установите значение NumSpaceTimeStreams свойство для 2 и DCM свойство для 0 (false).

Типы данных: logical

Схема модуляции и кодирования (MCS), используемая при передаче текущего пакета, заданная как целое число в интервале [0, 11]. Эта таблица показывает тип модуляции и скорость кодирования для каждого действительного значения этого свойства.

Значение MCSТип модуляцииМодуляция с двумя несущимиСкорость кодирования
0Двоичная фазовая манипуляция (BPSK)

0 или 1

1/2
1Квадратурная фазовая манипуляция (QPSK)1/2
2

Неприменимо

3/4
316-точечная квадратурная амплитудная модуляция (16-QAM)

0 или 1

1/2
43/4
564-QAM

Неприменимо

2/3
63/4
75/6
8256-QAM3/4
95/6
101024-QAM3/4
115/6

Типы данных: double

Индикатор модуляции с двумя несущими (DCM), указанный как 1 (true) или 0 (false). Чтобы использовать DCM для поля HE-Data, установите для этого свойства значение 1 (true). В противном случае задайте для этого свойства значение 0 (false).

Зависимости

Можно задать для этого свойства значение 1 (true) только при выполнении всех этих условий.

Типы данных: logical

Тип кодирования с прямым исправлением ошибок (FEC) для поля HE-Data, указанный как 'LDPC' для кодирования с низкой плотностью проверки на четность (LDPC) или 'BCC' для двоичного сверточного кодирования (BCC).

Зависимости

Можно задать для этого свойства значение 'BCC' только при выполнении всех этих условий.

  • RUSize свойство - 26, 52, 106, или 242.

  • NumSpaceTimeStreams свойство - 1, 2, 3, или 4.

  • MCS свойство не является 10 или 11.

Если установить TriggerMethod свойство для 'TRS', можно установить для этого свойства значение 'LDPC' только при выполнении всех этих условий.

Типы данных: char | string

Коэффициент заполнения перед прямым исправлением ошибок (pre-FEC), указанный как 1, 2, 3, или 4.

Типы данных: double

Индикатор сегмента символа мультиплексирования с дополнительным ортогональным частотным разделением (OFDM), указанный как 1 (true) или 0 (false). Чтобы указать наличие дополнительного сегмента символа OFDM для кодирования LDPC, установите это свойство в значение 1 (true). В противном случае задайте для этого свойства значение 0 (false).

Зависимости

Чтобы включить это свойство, установите значение ChannelCoding свойство для 'LDPC'.

Типы данных: logical

Значение подполя PE Disambiguity, указанное как 1 (true) или 0 (false). Для получения дополнительной информации см. раздел 27.3.12 [2].

Типы данных: logical

Длина поля L-SIG в символах OFDM, заданная как целое число в интервале [1, 4093]. Длина L-SIG должна соответствовать mod(LSIGLength,3) = 1, где mod(a,m) возвращает остаток после деления a около m. Дополнительные сведения см. в разделе mod.

Зависимости

Чтобы включить это свойство, установите значение TriggerMethod свойство для 'TriggerFrame'.

Типы данных: double

Количество символов OFDM в поле HE-Data, указанное как положительное целое число.

Зависимости

Чтобы включить это свойство, установите значение TriggerMethod свойство для 'TRS'.

Типы данных: double

Длительность расширения пакета в микросекундах, указанная как 0, 4, 8, 12, или 16. Для получения дополнительной информации о поле расширения пакета см. раздел 27.3.12 [2].

Зависимости

Чтобы включить это свойство, установите значение TriggerMethod свойство для 'TRS'.

Типы данных: double

Индикатор однопоточных пилотов HE-LTF, указанный как 1 (true) или 0 (false). Чтобы указать, что HE-LTF использует однопоточные пилоты, установите для этого свойства значение 1 (true). В противном случае задайте для этого свойства значение 0 (false).

Типы данных: logical

Индикатор режима высокой доплеровской частоты, указанный как 1 (true) или 0 (false). Для указания высокоопплеровского режима в поле HE-SIG-A установите для этого свойства значение 1 (true). В противном случае задайте для этого свойства значение 0 (false).

Зависимости

Можно задать для этого свойства значение 1 (true) только тогда, когда TriggerMethod свойство - 'TriggerFrame' и NumSpaceTimeStreams свойство - 1, 2, 3, или 4 для любого RU.

Типы данных: logical

Средняя периодичность поля HE-Data в количестве символов OFDM, указанных как 10 или 20.

Зависимости

Чтобы включить это свойство, установите значение HighDoppler свойство для 1 (true).

Типы данных: double

Зарезервированные биты в поле HE-SIG-A, заданные как девятиэлементный вектор столбца с двоичным значением.

Типы данных: double

Источник битов заполнения после FEC, используемый wlanWaveformGenerator функция, указанная как одно из этих значений.

  • 'mt19937ar with seed' - Создание нормально распределенных случайных битов с помощью алгоритма mt19937ar с начальным числом, указанным в PostFECPaddingSeed собственность.

  • 'Global stream' - Создание нормально распределенных случайных битов с использованием текущего глобального потока случайных чисел.

  • 'User-defined' - Использовать биты, указанные в PostFECPaddingBits свойство в качестве битов заполнения после FEC.

Типы данных: char | string

Начальное число битов заполнения после FEC для алгоритма mt19937ar, указанное как неотрицательное целое число.

Зависимости

Чтобы включить это свойство, установите значение PostFECPaddingSource свойство для 'mt19937ar with seed'.

Типы данных: double

Биты заполнения после FEC, заданные как скалярный или столбчатый вектор с двоичным значением.

Для генерации формы сигнала, wlanWaveformGenerator функция требует n битов, где n зависит от указанной конфигурации. Чтобы вычислить n, используйте getNumPostFECPaddingBits объектная функция с указанным объектом конфигурации в качестве входного аргумента и укажите это свойство как вектор длины n. В качестве альтернативы укажите этот вход как двоично-значный скалярный или столбчатый вектор произвольной длины. Если длина этого свойства меньше n, генератор формы сигнала закольцовывает вектор для создания вектора длины N. Если длина этого свойства больше n, функция использует только первые n записей в качестве битов заполнения после FEC.

Примечание

Для создания кода C/C + + необходимо указать тип данных этого свойства какint8.

Типы данных: single | double | int8

Свойства NDP обратной связи HE TB

Свойства в этом разделе применяются только в том случае, если FeedbackNDP свойство - 1 (true).

Индекс набора тональных сигналов RU для NDP обратной связи HE TB, указанный в качестве одной из этих опций.

  • Когда ChannelBandwidth свойство - 'CBW20', задайте для этого свойства целое число в интервале [1, 18].

  • Когда ChannelBandwidth свойство - 'CBW40', задайте для этого свойства целое число в интервале [1, 36].

  • Когда ChannelBandwidth свойство - 'CBW80', задайте для этого свойства целое число в интервале [1, 72].

  • Когда ChannelBandwidth свойство - 'CBW160', задайте для этого свойства целое число в интервале [1, 144].

Это свойство определяет наборы тональных сигналов назначения поднесущих в поле обучения высокой эффективности (HE-LTF), в котором STA передает NDP обратной связи HE TB.

Типы данных: double

Состояние обратной связи, указанное как 1 (true) или 0 (false). Значение этого свойства указывает значение бита, используемого для модуляции тональных сигналов в каждом наборе тональных сигналов, указанном параметром RUToneSetIndex собственность. Состояние обратной связи и индекс набора тональных сигналов RU определяют отображение поднесущей HE-LTF в соответствии с таблицей 27-30 [2].

Типы данных: logical

Функции объекта

getNDPFeedbackConfigurationДействительная конфигурация NDP PHY для обратной связи HE TB
getNumPostFECPaddingBitsВычисление требуемого количества битов заполнения после FEC
getPSDULengthРасчет длины HE PSDU
getTRSConfigurationДопустимая конфигурация PHY HE TB в ответ на инициирующий кадр, содержащий подполе TRS Control
packetFormat Возврат формата пакета WLAN
ruInfoВернуть информацию о распределении единиц ресурсов в формате HE
showAllocationПоказать распределение единиц ресурсов (RU)

Примеры

свернуть все

Конфигурирование и генерация сигнала WLAN, содержащего восходящий пакет HE TB.

Создайте объект конфигурации для передачи по восходящей линии связи WLAN HE TB.

cfgHETB = wlanHETBConfig;

Получение длины PSDU в байтах из объекта конфигурации с помощью getPSDULength объектная функция.

psduLength = getPSDULength(cfgHETB);

Создайте PSDU соответствующей длины.

psdu = randi([0 1],8*psduLength,1);

Создайте и постройте график формы сигнала.

waveform = wlanWaveformGenerator(psdu,cfgHETB);
figure;
plot(abs(waveform));
title('HE TB Waveform');
xlabel('Time (nanoseconds)');
ylabel('Amplitude');

Figure contains an axes. The axes with title HE TB Waveform contains an object of type line.

Сконфигурируйте NDP-передачу обратной связи HE TB восходящей линии связи с четырьмя станциями (STA), полосой пропускания канала 20 МГц и отношением сигнал/шум (SNR) 20 дБ.

numSTA = 4;
cbw = 'CBW20';
snr = 20;
cfgSTA = cell(1,numSTA);

Укажите индекс набора тональных сигналов блока ресурсов (RU), начальный пространственно-временной поток и состояние обратной связи для всех STA.

ruToneSetIndex = repmat([1 2],1,round(numSTA/2));
startingSTS = repmat([1 2],1,round(numSTA/2));
feedbackStatus = repmat([1 0],1,round(numSTA/2));

Создайте допустимую конфигурацию NDP обратной связи HE TB.

cfg = wlanHETBConfig;
cfg = getNDPFeedbackConfiguration(cfg);

Сконфигурируйте канал для передачи без изменений по STA.

tgax = wlanTGaxChannel('ChannelBandwidth',cbw, ...
    'TransmissionDirection','Uplink', ...
    'SampleRate',wlanSampleRate(cfg));
chanInfo = info(tgax);
awgn = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)', ...
    'SignalPower',1/tgax.NumReceiveAntennas);

Настройте STA и создайте сигнал NDP обратной связи HE TB.

rx = 0;
for idx = 1:numSTA
    
    % Configure STAs
    
    cfg.RUToneSetIndex = ruToneSetIndex(idx);
    cfg.StartingSpaceTimeStream = startingSTS(idx);
    cfg.FeedbackStatus = feedbackStatus(idx);
    cfgSTA{idx} = cfg;
    
    % Generate transmit waveform
    
    waveform = wlanWaveformGenerator([],cfg);
    
    % Pass waveform through TGax channel
    
    rx = rx + tgax([waveform; zeros(15,size(waveform,2))]);
end

Пропускают сигнал через канал AWGN с учетом энергии шума в нулях, чтобы гарантировать, что SNR определяется на активную и комплементарную поднесущую.

field = 'HE-LTF';
ofdmInfo = wlanHEOFDMInfo(field,cbw,cfg.GuardInterval);
awgn.SNR = snr - 10*log10(ofdmInfo.FFTLength/12);
rx = awgn(rx);

Получите индексы полей и извлеките HE-LTF.

ind = wlanFieldIndices(cfgSTA{1});
offset = chanInfo.ChannelFilterDelay;
heltf = rx(offset+(ind.HELTF(1):ind.HELTF(2)),:);

Демодулируйте HE-LTF.

rxSym = wlanHEDemodulate(heltf,field,cbw,cfg.GuardInterval,cfg.HELTFType);

Восстановление состояния обратной связи для STA.

status = zeros(1,numSTA);
for n = 1:numSTA
    status(n) = wlanHETBNDPFeedbackStatus(rxSym,cfgSTA{n});
end

Сравните переданное и полученное состояние обратной связи для STA.

disp(isequal(feedbackStatus(1:numSTA),status))
   1

Конфигурирование и генерация сигнала WLAN HE TB, передаваемого в ответ на кадр, содержащий подполе управления TRS.

Создайте объект конфигурации HE TB, указав тип триггерного кадра.

cfgHETB = wlanHETBConfig('TriggerMethod','TRS');

Создайте допустимую конфигурацию с помощью getTRSConfiguration объектная функция, отображающая результат.

cfgTRS = getTRSConfiguration(cfgHETB)
cfgTRS = 
  wlanHETBConfig with properties:

                FeedbackNDP: 0
              TriggerMethod: 'TRS'
           ChannelBandwidth: 'CBW20'
                     RUSize: 242
                    RUIndex: 1
    PreHEPowerScalingFactor: 1
        NumTransmitAntennas: 1
        NumSpaceTimeStreams: 1
    StartingSpaceTimeStream: 1
             SpatialMapping: 'Direct'
                       STBC: 0
                        MCS: 0
                        DCM: 0
              ChannelCoding: 'BCC'
        PreFECPaddingFactor: 4
             NumDataSymbols: 10
          DefaultPEDuration: 0
              GuardInterval: 3.2000
                  HELTFType: 4
            NumHELTFSymbols: 1
         SingleStreamPilots: 1
                   BSSColor: 0
              SpatialReuse1: 15
              SpatialReuse2: 15
              SpatialReuse3: 15
              SpatialReuse4: 15
               TXOPDuration: 127
                HighDoppler: 0
         HESIGAReservedBits: [9x1 double]
       PostFECPaddingSource: 'mt19937ar with seed'
         PostFECPaddingSeed: 73

Получите длину PSDU в байтах и создайте PSDU для передачи.

psduLength = getPSDULength(cfgTRS);
psdu = randi([0 1],8*psduLength,1);

Создайте и постройте график формы сигнала.

waveform = wlanWaveformGenerator(psdu,cfgTRS);
figure;
plot(abs(waveform));
title('HE TB Waveform');
xlabel('Time (nanoseconds)');
ylabel('Amplitude');

Figure contains an axes. The axes with title HE TB Waveform contains an object of type line.

Подробнее

развернуть все

Ссылки

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

[2] P802.11ax/D4.1 IEEE. "Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY). Поправка 1: Усовершенствования для высокоэффективной WLAN. " Проект стандарта на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - особые требования.

Расширенные возможности

.
Представлен в R2020a