wlanHEMUConfig

Создайте многопользовательский объект настройки формата HE

Синтаксис

cfgHEMU = wlanHEMUConfig(AllocationIndex)
cfgHEMU = wlanHEMUConfig(AllocationIndex,Name,Value)

Описание

пример

cfgHEMU = wlanHEMUConfig(AllocationIndex) создает объект настройки, который инициализирует параметры для многопользовательского высокоэффективного (HE) формата IEEE® 802.11™ PPDU. Для подробного описания формата HE WLAN смотрите IEEE 802.11ax™ [1].

пример

cfgHEMU = wlanHEMUConfig(AllocationIndex,Name,Value) создает многопользовательский объект настройки формата HE, который заменяет настройки по умолчанию с помощью одного или нескольких аргументов пары Name,Value.

Некоторые свойства объектов wlanHEMUConfig только для чтения или могут быть установлены только во время создания объекта с помощью пар "имя-значение". См. wlanHEMUConfig Свойства для полного набора свойств объектов wlanHEMUConfig.

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

Примеры

свернуть все

Создайте многопользовательский объект настройки HE на 20 МГц с индексным набором выделения к 0. Индекс выделения 0 задает девять РУССКИХ с 26 тонами в канале на 20 МГц.

cfgMU = wlanHEMUConfig(0);
for i=1:numel(cfgMU.User)
    % Set the APEPLength of each user
    cfgMU.User{i}.APEPLength = 100;
end

Отобразите свойства объектов настройки для четвертого пользователя.

cfgMU.User{4}
ans = 
  wlanHEMUUser with properties:

             APEPLength: 100
                    MCS: 0
    NumSpaceTimeStreams: 1
                    DCM: 0
          ChannelCoding: 'LDPC'
                  STAID: 0

   Read-only properties:
               RUNumber: 4

Создайте настройку HE на 40 МГц с индексом выделения 11 000 000 используемых для каждого подканала на 20 МГц. Эта настройка задает два РУССКИХ с 242 тонами, каждого с одним пользователем.

cfgMU = wlanHEMUConfig(["11000000" "11000000"]);
cfgMU.NumTransmitAntennas = 2;   

Сконфигурируйте первый RU и первого пользователя.

cfgMU.RU{1}.SpatialMapping = 'Direct';
cfgMU.User{1}.APEPLength = 1e3;
cfgMU.User{1}.MCS = 2;
cfgMU.User{1}.NumSpaceTimeStreams = 2;
cfgMU.User{1}.ChannelCoding = 'LDPC';

Сконфигурируйте второй RU и второго пользователя.

cfgMU.RU{2}.SpatialMapping = 'Fourier';
cfgMU.User{2}.APEPLength = 500;
cfgMU.User{2}.MCS = 3;
cfgMU.User{2}.NumSpaceTimeStreams = 1;
cfgMU.User{2}.ChannelCoding = 'LDPC';

Отобразите свойства объектов настройки и для РУССКОГО и для оба пользователя.

cfgMU
cfgMU = 
  wlanHEMUConfig with properties:

                     RU: {[1x1 wlanHEMURU]  [1x1 wlanHEMURU]}
                   User: {[1x1 wlanHEMUUser]  [1x1 wlanHEMUUser]}
    NumTransmitAntennas: 2
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW40'
        AllocationIndex: [192 192]

cfgMU.RU{1:2}
ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 242
               Index: 1
         UserNumbers: 1

ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Fourier'

   Read-only properties:
                Size: 242
               Index: 2
         UserNumbers: 2

cfgMU.User{1:2}
ans = 
  wlanHEMUUser with properties:

             APEPLength: 1000
                    MCS: 2
    NumSpaceTimeStreams: 2
                    DCM: 0
          ChannelCoding: 'LDPC'
                  STAID: 0

   Read-only properties:
               RUNumber: 1

ans = 
  wlanHEMUUser with properties:

             APEPLength: 500
                    MCS: 3
    NumSpaceTimeStreams: 1
                    DCM: 0
          ChannelCoding: 'LDPC'
                  STAID: 0

   Read-only properties:
               RUNumber: 2

HE настройка MU-MIMO со сжатием SIGB

Используйте только пользовательские полевые биты

Сгенерируйте полный HE пропускной способности настройка MU-MIMO в пропускной способности на 20 МГц со сжатием SIGB. Все три пользователя находятся на сингле, довольном канал, который включает только пользовательские полевые биты.

cfgHE = wlanHEMUConfig(194);
cfgHE.NumTransmitAntennas = 3;

Создайте данные PSDU для всех пользователей.

psdu = cell(1,numel(cfgHE.User));
psduLength = getPSDULength(cfgHE);
for j = 1:numel(cfgHE.User)
    psdu = randi([0 1],psduLength(j)*8,1,'int8');
end

Сгенерируйте и постройте форму волны.

y = wlanWaveformGenerator(psdu,cfgHE);
plot(abs(y))

Содержимое HE-SIG-B присваивает 4 пользователей в канале 1 и 3 пользователя в канале 2

Сгенерируйте полный HE пропускной способности форма волны MU-MIMO в пропускной способности на 80 МГц со сжатием SIGB. Канал содержимого HE-SIG-B 1 имеет четырех пользователей. Канал содержимого HE-SIG-B 2 имеет трех пользователей.

cfgHE = wlanHEMUConfig(214);
cfgHE.NumTransmitAntennas = 7;

Создайте данные PSDU для всех пользователей.

psdu = cell(1,numel(cfgHE.User));
psduLength = getPSDULength(cfgHE);
for j = 1:numel(cfgHE.User)
    psdu = randi([0 1],psduLength(j)*8,1,'int8');
end

Сгенерируйте и постройте форму волны.

y = wlanWaveformGenerator(psdu,cfgHE);
plot(abs(y));

HE настройка MU-MIMO без сжатия SIGB

Используйте распространенный и пользовательские полевые биты

Сгенерируйте полный HE пропускной способности настройка MU-MIMO в пропускной способности на 20 МГц без сжатия SIGB. Все три пользователя находятся на сингле, довольном канал, который включает и распространенный и пользовательские полевые биты.

cfgHE = wlanHEMUConfig(194);
cfgHE.SIGBCompression = false;
cfgHE.NumTransmitAntennas = 3;

Создайте данные PSDU для всех пользователей.

psdu = cell(1,numel(cfgHE.User));
psduLength = getPSDULength(cfgHE);
for j = 1:numel(cfgHE.User)
    psdu = randi([0 1],psduLength(j)*8,1,'int8');
end

Сгенерируйте и постройте форму волны.

y = wlanWaveformGenerator(psdu,cfgHE);
plot(abs(y))

Содержимое HE-SIG-B присваивает 4 пользователей в канале 1 и 2 пользователя в канале 2

Сгенерируйте форму волны HE-MU на 80 МГц для шести пользователей без сжатия SIGB. Канал содержимого HE-SIG-B 1 имеет четырех пользователей. Канал содержимого HE-SIG-B 2 имеет двух пользователей.

cfgHE = wlanHEMUConfig([202 114 192 193]);
cfgHE.NumTransmitAntennas = 6;
for i = 1:numel(cfgHE.RU)
    cfgHE.RU{i}.SpatialMapping = 'Fourier';
end

Создайте данные PSDU для всех пользователей.

psdu = cell(1,numel(cfgHE.User));
psduLength = getPSDULength(cfgHE);
for j = 1:numel(cfgHE.User)
    psdu = randi([0 1],psduLength(j)*8,1,'int8');
end

Сгенерируйте и постройте форму волны.

y = wlanWaveformGenerator(psdu,cfgHE);
plot(abs(y));

Содержимое HE-SIG-B присваивает 7 пользователей в канале 1 и никаких пользователей в канале 2

Сгенерируйте полный HE пропускной способности форма волны MU-MIMO в пропускной способности на 80 МГц без сжатия SIGB. Канал содержимого HE-SIG-B 1 имеет семь пользователей. Канал содержимого HE-SIG-B 2 не имеет никаких пользователей.

cfgHE = wlanHEMUConfig([214 115 115 115]);
cfgHE.NumTransmitAntennas = 7;

Создайте данные PSDU для всех пользователей.

psdu = cell(1,numel(cfgHE.User));
psduLength = getPSDULength(cfgHE);
for j = 1:numel(cfgHE.User)
    psdu = randi([0 1],psduLength(j)*8,1,'int8');
end

Сгенерируйте и постройте форму волны.

y = wlanWaveformGenerator(psdu,cfgHE);
plot(abs(y))

Создайте настройку MU-MIMO на 80 МГц с тремя пользователями в одном RU со сжатием SIG-B. Отобразите свойства объектов настройки.

cfgMU = wlanHEMUConfig(210);
cfgMU.NumTransmitAntennas = 3;
cfgMU.User{1}.NumSpaceTimeStreams = 1;
cfgMU.User{2}.NumSpaceTimeStreams = 1;
cfgMU.User{3}.NumSpaceTimeStreams = 1;
disp(cfgMU)
  wlanHEMUConfig with properties:

                     RU: {[1x1 wlanHEMURU]}
                   User: {1x3 cell}
    NumTransmitAntennas: 3
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW80'
        AllocationIndex: 210

Создайте настройку на 160 МГц с помощью верхнего центрального RU с 26 тонами. В общей сложности четыре РУССКИЕ создаются. Тональные присвоения RU 996, 484, 484, и 26. Один пользователь выделяется каждому RU. Последний созданный RU является центральным RU с 26 тонами. Отобразите свойства настройки объекта.

cfgMU = wlanHEMUConfig([208 115 115 115 200 114 114 200], ...
    'UpperCenter26ToneRU',true);
cfgMU.RU{:}
ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 996
               Index: 1
         UserNumbers: 1

ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 484
               Index: 3
         UserNumbers: 2

ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 484
               Index: 4
         UserNumbers: 3

ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 26
               Index: 56
         UserNumbers: 4

Входные параметры

свернуть все

Индекс выделения модуля ресурса (RU), заданный один, два, четыре, или восемь целочисленных значений в интервале [0,223]. Можно задать это значение как целое число, вектор целых чисел, массива строк, вектора символов или массива ячеек из символьных векторов. Формат, в котором вы задаете эти индексы, зависит от того, сколько вы задаете.

  • Задайте один индекс выделения с помощью одного целого числа в любой из этих форм:

    • Скалярное целое число.

    • 8-битная двоичная последовательность, заданная как строка или вектор символов.

  • Задайте несколько индексов выделения с помощью два, четыре, или восемь целочисленных значений в любой из этих форм:

    • Вектор целых чисел.

    • 8-битная двоичная последовательность, заданная как массив строк.

    • 8-битная двоичная последовательность, заданная как массив ячеек из символьных векторов.

Выделение задает количество РУССКИХ, размер каждого RU и количество пользователей, присвоенных каждому RU. Для получения дополнительной информации см. Индекс Выделения OFDMA.

Примечание

Это свойство только для чтения после того, как объект будет создан.

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [200 114 114 200],'LowerCenter26ToneRU',true задает выделение пропускной способности на 80 МГц для трех пользователей на трех РУССКИХ, который использует более низкий центр 26 тонов на последнем RU.

Включите более низкую центральную сигнализацию выделения RU с 26 тонами, заданную как логическое значение. Используя пары "имя-значение", когда объект создается, задайте LowerCenter26ToneRU, true, чтобы включить более низкую частоту сосредотачивают RU с 26 тонами. Это свойство может быть установлено во время создания объекта только.

Зависимости

Это свойство применяется только, когда свойство AllocationIndex задает пропускную способность канала 80 МГц или 160 МГц и не задает полное выделение пропускной способности.

Типы данных: логический

Включите верхнюю центральную сигнализацию выделения RU с 26 тонами, заданную как логическое значение. Используя пары "имя-значение", когда объект создается, задайте UpperCenter26ToneRU, true, чтобы включить верхнюю частоту сосредотачивают RU с 26 тонами. Это свойство может быть установлено во время создания объекта только.

Зависимости

Это свойство применяется только, когда свойство AllocationIndex задает пропускную способность канала 80 МГц или 160 МГц и не задает полное выделение пропускной способности.

Типы данных: логический

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

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

Включите пространственно-временное блочное кодирование (STBC) поля данных PPDU для всех пользователей, заданных как логическое значение. STBC передает несколько копий потока данных через присвоенные антенны.

  • Когда установлено в false, STBC не применяется к полю данных, и количество пространственно-временных потоков равно количеству пространственных потоков.

  • Когда установлено в true, STBC применяется к полю данных, и количество пространственно-временных потоков удваивает количество пространственных потоков.

Зависимости

Это свойство применяется только, когда все эти условия удовлетворены:

  • Свойством NumSpaceTimeStreams является 2.

  • Свойством DCM является false для всех пользователей.

  • Никакой RU не задает MU-MIMO.

Типы данных: логический

Циклическая длина префикса, в микросекундах, для поля данных в пакете, заданном как 3.2, 1.6 или 0.8.

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

Режим сжатия HE-LTF HE PPDU, заданный как 4, 2 или 1. Это значение соответствует четыре раза, два раза, или времена режим сжатия длительности HE-LTF, соответственно. Тип HE-LTF перечисляется в Таблице 28-1 IEEE 802.11ax/D2.0 как:

  • 1x HE-LTF — Для 3,2 μs с защитной длительностью интервала 0,8 μs или 1.6μs

  • 2x HE-LTF — Для 6,4 μs с защитной длительностью интервала 0,8 μs или 1,6 μs

  • 4x HE-LTF — Для 12,8 μs с защитной длительностью интервала 0,8 μs или 3,2 μs

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

Модуляция и схема кодирования поля HE-SIG-B, заданного как неотрицательное целое число в интервале [0, 5].

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

Включите DCM для поля HE-SIG-B, заданного как логическое значение.

Зависимости

Это свойство применяется только, когда свойством MCS является 0, 1, 3 или 4.

Типы данных: логический

Восходящая индикация, заданная как false или true. Задайте UplinkIndication как false, чтобы указать, что PPDU отправляется на нисходящей передаче. Задайте UplinkIndication как true, чтобы указать, что PPDU отправляется на восходящей передаче.

Типы данных: логический

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

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

Пространственная индикация повторного использования, заданная как неотрицательное целое число в интервале [0, 15].

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

Информация о длительности для защиты TXOP, заданной как неотрицательное целое число в интервале [0, 127]. За исключением первого бита, который задает гранулярность длины TXOP, каждый бит поля TXOP "SIG HE" равен TXOPDuration. Поэтому длительность в микросекундах должна быть преобразована согласно процедуре, изложенной в Таблице 28-18 [1].

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

Высокая Доплеровская индикация режима, заданная как логическое значение. Установите HighDoppler на true указывать на высокого Доплера в HE-SIG-A.

Зависимости

Значение true для этого свойства допустимо только, когда свойство NumSpaceTimeStreams меньше чем или равно 4 для любого RU.

Типы данных: логический

Поле HE-data midamble периодичность в количестве символов OFDM, заданных как 10 или 20.

Зависимости

Это свойство применяется только, когда HighDoppler является true.

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

Выходные аргументы

свернуть все

Многопользовательский HE настройка PPDU, возвращенная как объект wlanHEMUConfig. Свойства cfgHEMU описаны в wlanHEMUConfig Свойствах.

Больше о

свернуть все

PPDU

Модуль данных о протоколе процедуры сходимости физического уровня (PLCP) (PPDU) является полным кадром PLCP, включая заголовки PLCP, заголовки MAC, поле данных MAC, и трейлеры PLCP и MAC.

Ссылки

[1] Станд. IEEE Черновой Стандарт P802.11ax™/D2.0 для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации — Поправка 6: Улучшения для Высокой эффективности WLAN.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2018b