Сконфигурируйте передачу HE TB
The wlanHETBConfig
объект является объектом строения для формата пакета на основе триггеров (HE TB) WLAN HE.
создает объект строения, который инициализирует параметры для IEEE® 802.11™ HE TB uplink PPDU или HE TB feedback null данных packet (NDP). Подробное описание форматов HE WLAN смотрите в [2].cfgHETB
= wlanHETBConfig
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в одинарные кавычки. Для примера, cfgHETB
= wlanHETBConfig(Name,Value)wlanHETBConfig('ChannelBandwidth','CBW80')
задает пропускную способность канала 80 МГц.
Во время выполнения вызывающая функция проверяет настройки объекта на свойства, относящиеся к операции функции.
Свойства в этом разделе применяются ко всем строениям передачи HE TB.
FeedbackNDP
- Сгенерируйте NDP обратной связи HE TBfalse
или 0
(по умолчанию) | true
или 1
Сгенерируйте NDP обратной связи HE TB, заданный в качестве одного из следующих значений.
0
(false
) - Сгенерируйте HE TB PPDU.
1
(true
) - Сгенерируйте NDP обратной связи HE TB.
NDP обратной связи HE TB содержит информацию отчета обратной связи NDP, описанную в процедуре отчета обратной связи NDP.
Для получения дополнительной информации о NDP обратной связи HE TB, смотрите раздел 27.3.17 [2].
Примечание
Чтобы сгенерировать допустимое wlanHETBConfig
объект для NDP обратной связи HE TB, используйте getNDPFeedbackConfiguration
функция объекта.
Типы данных: logical
ChannelBandwidth
- Пропускная способность канала передачи PPDU'CBW20'
(по умолчанию) | 'CBW40'
| 'CBW80'
| 'CBW160'
Пропускная способность канала передачи PPDU, заданная в качестве одного из следующих значений.
'CBW20'
- Пропускная способность канала 20 МГц
'CBW40'
- Пропускная способность канала 40 МГц
'CBW80'
- Пропускная способность канала 80 МГц
'CBW160'
- Пропускная способность канала 160 МГц
Типы данных: char
| string
PreHEPowerScalingFactor
- Коэффициент масштабирования степени для полей PPDU pre-HE1
(по умолчанию) | скаляром в интервале [1/√2, 1]Коэффициент масштабирования степени полей pree-HE PPDU, заданный в виде скаляра в интервале [1/√2, 1].
Типы данных: double
NumTransmitAntennas
- Количество передающих антенн1
(по умолчанию) | положительное целое числоКоличество передающих антенн, заданное как положительное целое число.
Типы данных: double
PreHECyclicShifts
- Значения циклического сдвига дополнительных передающих антенн-75
(по умолчанию) | целое число в интервале [-200, 0] | векторе-строкеЗначения циклического сдвига, в наносекундах, дополнительных передающих антенн для полей pre-HE формы волны. Первые восемь антенн используют значения циклического сдвига, указанные в таблице 21-10 [1]. Остальные L антенны используют значения, которые вы задаете в этом свойстве, где L = NumTransmitAntennas
– 8. Задайте это свойство как одно из следующих значений:
Целое число в интервале [-200, 0] - wlanHETBConfig
объект использует это значение циклического сдвига для каждой из L дополнительных антенн.
A вектора-строки длины L - wlanHETBConfig
объект использует k-ю запись в качестве значения циклического сдвига для (k + 8) -й передающей антенны.
Примечание
Если вы задаете это свойство как вектор-строка длины N > L, wlanHETBConfig
объект использует только первые записи L. Для примера, если вы задаете NumTransmitAntennas
свойство к 16
, а wlanHETBConfig
объект использует только первые L = 16 - 8 = 8 записей этого свойства.
Чтобы включить это свойство, установите NumTransmitAntennas
свойство к значению больше 8
.
Типы данных: double
NumSpaceTimeStreams
- Количество пространственно-временных потоков1
(по умолчанию) | целое число в интервале [1, 8]Количество пространственно-временных потоков в передаче, заданное в виде целого числа в интервале [1, 8].
Типы данных: double
StartingSpaceTimeStream
- Запуск индекса потока пространства-времени1
(по умолчанию) | целое число в интервале [1, 8]Запуск индекса потока пространства-времени, в основанной на одном виде, задается в виде целого числа в интервале [1, 8]. В многопользовательском строении multi-input multi-output (MU-MIMO) с многими пользователями на одном и том же RU каждый пользователь должен передавать по отдельному пространственно-временному потоку. В этом случае необходимо задать это свойство и NumSpaceTimeStreams
свойство, чтобы гарантировать, что каждый пространственно-временной поток передает не более одного пользователя.
Типы данных: double
GuardInterval
- Длительность защитного интервала (циклического префикса)3.2
(по умолчанию) | 1.6
Длительность защитного интервала (циклического префикса) для поля данных в пакете, в микросекундах, заданная как 3.2
или 1.6
.
Типы данных: double
HELTFType
- Режим сжатия HE-LTF в HE PPDU4
(по умолчанию) | 2
| 1
Режим сжатия HE-LTF в HE PPDU, указанный как 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
NumHELTFSymbols
- Количество символов HE-LTF в PPDU1
(по умолчанию) | 2
| 4
| 6
| 8
Количество символов HE-LTF в PPDU, заданное как 1
, 2
, 4
, 6
, или 8
.
Если вы задаете TriggerMethod
свойство к 'TRS'
, затем необходимо задать это свойство равным 1
.
Если вы задаете HighDoppler
свойство к 1
(true
), затем необходимо задать это свойство равным 1
, 2
, или 4
.
Типы данных: double
BSSColor
- идентификатор цвета BSS0
(по умолчанию) | целое число в интервале [0, 63]Идентификатор цвета основного набора услуг (BSS), заданный в виде целого числа в интервале [0, 63].
Типы данных: double
SpatialReuse1
- Значение подполя пространственного повторного использования 115
(по умолчанию) | целое число в интервале [0, 15]Значение Пространственного Повторного Использования 1 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].
Типы данных: double
SpatialReuse2
- Значение пространственного повторного использования 2 подполя15
(по умолчанию) | целое число в интервале [0, 15]Значение Пространственного Повторного Использования 2 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].
Типы данных: double
SpatialReuse3
- Значение пространственного повторного использования 3 подполя15
(по умолчанию) | целое число в интервале [0, 15]Значение Пространственного Повторного Использования 3 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].
Типы данных: double
SpatialReuse4
- Значение подполя пространственного повторного использования 415
(по умолчанию) | целое число в интервале [0, 15]Значение Пространственного Повторного Использования 4 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].
Типы данных: double
TXOPDuration
- Информация о длительности для защиты TXOP127
(по умолчанию) | целое число в интервале [0, 127]Информация о длительности для защиты возможности передачи (TXOP), заданная в виде целого числа в интервале [0, 127]. За исключением первого бита, который задает гранулярность длины TXOP, каждый бит подполя TXOP в поле HE-SIG-A равен значению этого свойства. Поэтому длительность в микросекундах должна быть преобразована в соответствии с процедурой, приведенной в таблице 27-20 [2].
Типы данных: double
Свойства в этом разделе применяются только тогда, когда FeedbackNDP
свойство 0
(false
). Используйте эти свойства, чтобы сконфигурировать HE TB PPDU в ответ на триггерную систему координат или систему координат, который содержит подполе управления планирования триггерных ответов (TRS).
TriggerMethod
- Тип триггерной системы координат'TriggerFrame'
(по умолчанию) | 'TRS'
Тип триггерной системы координат, заданный в качестве одного из следующих значений.
'TriggerFrame'
- Сгенерируйте HE TB PPDU в ответ на триггерную систему координат. Для получения дополнительной информации о системах координат смотрите раздел 9.3.1.22 от [2].
'TRS'
- Сгенерируйте HE TB PPDU в ответ на систему координат, который содержит подполе TRS Control. Для получения дополнительной информации см. раздел 9.2.4.6a.1 документа [2].
Примечание
Чтобы сгенерировать допустимое wlanHETBConfig
объект для передачи в ответ на систему координат, содержащую подполе TRS Control, используйте getTRSConfiguration
функция объекта.
Типы данных: char
| string
RUSize
- Размер RU242
(по умолчанию) | 26
| 52
| 106
| 484
| 996
| 1992
Размер ресурсного модуля (RU), заданный как 26
, 52
, 106
, 242
, 484
, 996
, или 1992
.
Типы данных: double
RUIndex
- индекс RU для распределения поднесущих1
(по умолчанию) | целое число в интервале [1, 74]Индекс RU для распределения поднесущих, заданный в виде целого числа в интервале [1, 74]. Индекс RU определяет местоположение RU в канале. Для примера передача на 80 МГц содержит четыре 242-тональных RU (по одному на каждый подканал 20 МГц). RU номер 242-1 (размер 242, индекс 1) - самая низкая абсолютная частота в канале 80 МГц. Точно так же RU номер 242-4 является самой высокой абсолютной частотой.
Типы данных: double
SpatialMapping
- Схема пространственного отображения'Direct'
(по умолчанию) | 'Hadamard'
| 'Fourier'
| 'Custom'
Схема пространственного отображения, заданная как 'Direct'
, 'Hadamard'
, 'Fourier'
, или 'Custom'
.
Значение по умолчанию, 'Direct'
, применяется только, когда вы устанавливаете NumTransmitAntennas
и NumSpaceTimeStreams
свойства на то же значение.
Типы данных: char
| string
SpatialMappingMatrix
- Пространственная матрица отображения1
(дефолт) | скаляр со сложным знаком | матрица со сложным знаком | трехмерный массив со сложным знакомМатрица пространственного отображения, заданная как одно из следующих значений.
Комплексный скаляр - это значение применяется ко всем поднесущим.
Комплексная матрица размера N STS -by- N T - N STS является количеством пространственно-временных потоков, а N T - количеством передающих антенн. В этом случае матрица пространственного отображения применяется ко всем поднесущим.
Комплексный трехмерный массив размера N ST-by N STS-by N T- N ST является количеством занятых поднесущих. The ChannelBandwidth
свойство определяет значение N ST. В этом случае каждая занятая поднесущая имеет свою собственную пространственную матрицу отображения.
Эта таблица показывает значение ChannelBandwidth
свойство и соответствующее значение N ST.
Значение ChannelBandwidth | Значение N ST |
---|---|
'CBW20' | 242 |
'CBW40' | 484 |
'CBW80' | 996 |
'CBW160' | 1992 |
Используйте это свойство для поворота и масштабирования выходного вектора отображателя созвездий. Пространственная матрица отображения используется для формирования луча и смешения пространственно-временных потоков над передающими антеннами. Вызывающая функция нормализует матрицу пространственного отображения для каждой поднесущей.
Пример: [0.5 0.3; 0.4 0.4; 0.5 0.8]
представляет пространственную матрицу отображения с тремя пространственно-временными потоками и двумя передающими антеннами.
Чтобы включить это свойство, установите SpatialMapping
свойство к 'Custom'
.
Типы данных: double
Поддержка комплексного числа: Да
STBC
- Включить STBCfalse
или 0
(по умолчанию) | true
или 1
Включите пространственно-временное блочное кодирование (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
(по умолчанию) | целое число в интервале [0, 11]Схема модуляции и кодирования (MCS), используемая при передаче текущего пакета, заданная в виде целого числа в интервале [0, 11]. Эта таблица показывает тип модуляции и скорость кодирования для каждого действительного значения этого свойства.
Значение MCS | Тип модуляции | Модуляция с двумя несущими | Скорость кодирования |
---|---|---|---|
0 | Двоичная фазовая манипуляция (BPSK) |
| 1/2 |
1 | Квадратурная фазовая манипуляция (QPSK) | 1/2 | |
2 | Не применяется | 3/4 | |
3 | 16-точечная квадратурная амплитудная модуляция (16-QAM) |
| 1/2 |
4 | 3/4 | ||
5 | 64-QAM | Не применяется | 2/3 |
6 | 3/4 | ||
7 | 5/6 | ||
8 | 256-QAM | 3/4 | |
9 | 5/6 | ||
10 | 1024-QAM | 3/4 | |
11 | 5/6 |
Типы данных: double
DCM
- индикатор DCMfalse
или 0
(по умолчанию) | true
или 1
Индикатор модуляции с двумя несущими (DCM), заданный как 1
(true
) или 0
(false
). Чтобы использовать DCM для поля HE-Data, установите это свойство на 1
(true
). В противном случае установите это свойство на 0
(false
).
Вы можете задать это свойство как 1
(true
) только когда все эти условия удовлетворены.
The NumSpaceTimeStreams
свойство 1
или 2
.
The MCS
свойство 0
, 1
, 3
, или 4
.
The STBC
свойство 0
(false
).
Типы данных: logical
ChannelCoding
- тип кодирования FEC'LDPC'
(по умолчанию) | 'BCC'
Тип кодирования с прямой коррекцией ошибок (FEC) для поля HE-Data, заданный как 'LDPC'
для кодирования или 'BCC'
с низкой плотностью проверки четности (LDPC) для двоичного сверточного кодирования (BCC).
Вы можете задать это свойство как 'BCC'
только когда все эти условия удовлетворены.
The RUSize
свойство 26
, 52
, 106
, или 242
.
The NumSpaceTimeStreams
свойство 1
, 2
, 3
, или 4
.
The MCS
свойство не 10
или 11
.
Если вы задаете TriggerMethod
свойство к 'TRS'
, можно задать это свойство равным 'LDPC'
только когда все эти условия удовлетворены.
The RUSize
свойство 484
, 996
, или 1992
.
The PreFECPaddingFactor
свойство 4
.
The LDPCExtraSymbol
свойство 1
(true
).
Типы данных: char
| string
PreFECPaddingFactor
- коэффициент заполнения перед FEC4
(по умолчанию) | 1
| 2
| 3
Коэффициент заполнения предварительной коррекции ошибок (pre-FEC), заданный как 1
, 2
, 3
, или 4
.
Типы данных: double
LDPCExtraSymbol
- Дополнительный индикатор сегмента символа OFDM0
(false
) (по умолчанию) | 1
(true
)Дополнительный индикатор сегмента символа ортогонального частотного разнесения (OFDM), заданный как 1
(true
) или 0
(false
). Чтобы указать наличие дополнительного сегмента символа OFDM для кодирования LDPC, установите это свойство на 1
(true
). В противном случае установите это свойство на 0
(false
).
Чтобы включить это свойство, установите ChannelCoding
свойство к 'LDPC'
.
Типы данных: logical
PEDisambiguity
- Значение подполя PEDisambiguity0
(false
) (по умолчанию) | 1
(true
)Значение подполя неоднозначности PE, заданное как 1
(true
) или 0
(false
). Для получения дополнительной информации см. раздел 27.3.12 документа [2].
Типы данных: logical
LSIGLength
- Длина поля L-SIG142
(по умолчанию) | целое число в интервале [1, 4093]Длина поля L-SIG, в символах OFDM, задается в виде целого числа в интервале [1, 4093]. Длина L-SIG должна удовлетворять mod(LSIGLength,3)
= 1
, где mod(a,m)
возвращает оставшуюся часть после деления a
по m
. Для получения дополнительной информации см. mod
.
Чтобы включить это свойство, установите TriggerMethod
свойство к 'TriggerFrame'
.
Типы данных: double
NumDataSymbols
- Количество символов OFDM в поле HE-Data10
(по умолчанию) | положительное целое числоКоличество символов OFDM в поле HE-Data, заданное в виде положительного целого числа.
Чтобы включить это свойство, установите TriggerMethod
свойство к 'TRS'
.
Типы данных: double
DefaultPEDuration
- Длительность расширения пакета0
(по умолчанию) | 4
| 8
| 12
| 16
Длительность расширения пакета, в микросекундах, задается как 0
, 4
, 8
, 12
, или 16
. Для получения дополнительной информации о поле расширения пакета см. Раздел 27.3.12 от [2].
Чтобы включить это свойство, установите TriggerMethod
свойство к 'TRS'
.
Типы данных: double
SingleStreamPilots
- индикатор однопотоковых пилотов HE-LTFtrue
или 1
(по умолчанию) | false
или 0
Одноточный индикатор HE-LTF, указанный как 1
(true
) или 0
(false
). Чтобы указать, что HE-LTF использует однопоточные пилоты, установите это свойство на 1
(true
). В противном случае установите это свойство на 0
(false
).
Типы данных: logical
HighDoppler
- Индикатор режима High-Dopplerfalse
или 0
(по умолчанию) | true
или 1
Индикатор режима High-Doppler, заданный как 1
(true
) или 0
(false
). Чтобы указать режим высокого Допплера в поле HE-SIG-A, установите это свойство на 1
(true
). В противном случае установите это свойство на 0
(false
).
Вы можете задать это свойство как 1
(true
) только когда TriggerMethod
свойство 'TriggerFrame'
и NumSpaceTimeStreams
свойство 1
, 2
, 3
, или 4
для любого RU.
Типы данных: logical
MidamblePeriodicity
- Периодичность полей HE-Data10
(по умолчанию) | 20
Периодичность полей HE-Data в количестве символов OFDM, заданная как 10
или 20
.
Чтобы включить это свойство, установите HighDoppler
свойство к 1
(true
).
Типы данных: double
HESIGAReservedBits
- Зарезервированные биты в поле HE-SIG-Aones(9,1)
(по умолчанию) | двоичные значения девяти элементовЗарезервированные биты в поле HE-SIG-A, заданные как девятиэлементный двоичный вектор-столбец.
Типы данных: double
PostFECPaddingSource
- Источник битов заполнения после FEC'mt19937ar with seed'
(по умолчанию) | 'Global stream'
| 'User-defined'
Источник битов заполнения после FEC, используемый wlanWaveformGenerator
функция, заданная в качестве одного из следующих значений.
'mt19937ar with seed'
- Сгенерируйте нормально распределенные случайные биты с помощью алгоритма mt19937ar с seed, заданным в PostFECPaddingSeed
свойство.
'Global stream'
- Сгенерируйте нормально распределенные случайные биты при помощи текущего глобального потока случайных чисел.
'User-defined'
- Используйте биты, указанные в PostFECPaddingBits
свойство как биты заполнения после FEC.
Типы данных: char
| string
PostFECPaddingSeed
- bit seed после заполнения FEC для алгоритма mt19937ar73
(по умолчанию) | неотрицательное целое числоЗаполнение после FEC бита seed для алгоритма mt19937ar, заданное в виде неотрицательного целого числа.
Чтобы включить это свойство, установите PostFECPaddingSource
свойство к 'mt19937ar with seed'
.
Типы данных: double
PostFECPaddingBits
- Биты заполнения после FEC0
(по умолчанию) | двоичный вектор-столбецБиты заполнения после FEC, заданные как бинарный скаляр или вектор-столбец.
Чтобы сгенерировать форму волны, wlanWaveformGenerator
функция требует n бит, где n зависит от заданного строения. Чтобы вычислить n, используйте getNumPostFECPaddingBits
функция объекта с заданным объектом строения в качестве входного параметра и задать это свойство как вектор длины n. В качестве альтернативы задайте этот вход как бинарный скаляр или вектор-столбец произвольной длины. Если длина этого свойства меньше n, генератор формы волны закольцовывает вектор, чтобы создать вектор n длины. Если длина этого свойства больше n, функция использует только первые записи n в качестве бит заполнения после FEC.
Примечание
Для генерации кода C/C + + необходимо задать тип данных этого свойства следующим int8
.
Типы данных: single
| double
| int8
Свойства в этом разделе применяются только тогда, когда FeedbackNDP
свойство 1
(true
).
RUToneSetIndex
- Индекс набора тональных сигналов RU для NDP обратной связи HE TB1
(по умолчанию) | целое число в интервале [1, 144]Индекс набора тональных сигналов 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
FeedbackStatus
- Состояние обратной связиtrue
или 1
(по умолчанию) | false
или 0
Состояние обратной связи, заданное как 1
(true
) или 0
(false
). Значение этого свойства указывает значение бита, используемого для тональной модуляции в каждом наборе тональных сигналов, заданном RUToneSetIndex
свойство. Состояние обратной связи и индекс набора тональных сигналов RU определяют отображение поднесущей HE-LTF в соответствии с таблицей 27-30 [2].
Типы данных: logical
getNDPFeedbackConfiguration | Действительная обратная связь HE TB NDP PHY строения |
getNumPostFECPaddingBits | Вычислите необходимое количество бит заполнения после FEC |
getPSDULength | Вычисление длины PSDU HE |
getTRSConfiguration | Действительное строение HE TB PHY в ответ на запуск системы координат, содержащего подполе TRS Control |
packetFormat | Возврат формата пакета WLAN |
ruInfo | Возвращает информацию о выделении ресурсных модулей в формате HE |
showAllocation | Показать выделение ресурсных модулей (RU) |
Сконфигурируйте и сгенерируйте сигнал WLAN, содержащий пакет восходящего канала HE TB.
Создайте объект строения для восходящей передачи HE TB WLAN.
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');
Сконфигурируйте восходящую передачу NDP с обратной связью HE TB с четырьмя станциями (STA), пропускной способностью канала 20 МГц и отношением сигнал/шум (ОСШ) 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, учитывая энергию шума в нулях, чтобы убедиться, что ОСШ задан для каждой активной и комплементарной поднесущей.
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
Сконфигурируйте и сгенерируйте сигнал HE TB WLAN, который будет передан в ответ на систему координат, содержащий подполе TRS Control.
Создайте объект строения 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');
Модуль данных протокола физического слоя (PHY) (PPDU) является полной системой координат процедуры сходимости физического слоя (PLCP), включая заголовки PLCP, MAC-заголовки, поле MAC-данных и трейлеры MAC и PLCP.
Чтобы выделить ресурсы станции (STA) для передачи HE TB PPDU, точка доступа HE (AP) требует одновременной информации запроса ресурса (состояние обратной связи) от нескольких STA восходящей линии связи. AP получает эту информацию с помощью процедуры отчета обратной связи HE TB NDP, указанной в разделе 26.5.7 [2]. Эта процедура повышает степень и эффективность системы сети 802.11ax™ IEEE.
AP запрашивает ответ отчета обратной связи NDP от STA путем отправки триггерной системы координат отчета обратной связи NDP (NFRP). Триггерная система координат NFRP содержит информацию о планировании для STA. Каждый STA передает ответ только, если он удовлетворяет всем этим условиям.
STA сопоставлен с базовыми идентификаторами набора услуг (BSSIDs), обозначенными подполем адреса передатчика ( TA) триггерной системы координат NFRP
AID начать ≤ AID STA ≤ AID запустить + N STA, где AID STA является идентификатором ассоциации STA (AID), AID start - значение стартового подполя AID триггерной системы координат NFRP, и N STA - общее количество STA, не являющихся AP, запланированных для ответа на триггер NFRP P
STA, которые передают ответ, используют информацию, содержащуюся в триггерной системе координат NFRP, чтобы вывести эти параметры для ответа NDP обратной связи HE TB.
Индекс набора тональных сигналов RU (соответствующий RUToneSetIndex
свойство этого объекта), который определяет небольшие наборы тональных сигналов выделения в HE-LTF
Начальный пространственно-временной номер потока, который задает ортогональное распределение наборов тональных сигналов для мультиплексирования состояния обратной связи различных STA
Все участвующие STA отвечают в пределах короткого интервала межкадрового пространства (SIFS) после приема триггерной системы координат NFRP.
[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 ". Проект стандарта на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.
Необходимо задать тип данных postFECPaddingBits
свойство как int8
.
wlanDMGConfig
| wlanHEMUConfig
| wlanHERecoveryConfig
| wlanHTConfig
| wlanNonHTConfig
| wlanS1GConfig
| wlanVHTConfig
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.