Формирование сигнала поля без HT-Data
Генерация формы сигнала для поля 20MHz non-HT-Data для 36 Мбит/с.
Создание объекта конфигурации, отличного от HT, и присвоение MCS до 5.
cfg = wlanNonHTConfig('MCS',5);Назначение случайных данных PSDU и генерация формы сигнала поля данных.
psdu = randi([0 1],cfg.PSDULength*8,1); y = wlanNonHTData(psdu,cfg); size(y)
ans = 1×2
4480 1
Конфигурирование параметров передачи путем создания wlanNonHTConfig объект, задающий пропускную способность канала 80 МГц и статическую пропускную способность.
cfg = wlanNonHTConfig('ChannelBandwidth','CBW80','SignalChannelBandwidth',true, ... 'BandwidthOperation','Static');
Создайте случайный PSDU соответствующей длины.
psdu = randi([0 1],8*cfg.PSDULength,1,'int8');Создайте начальную псевдослучайную последовательность скремблера.
[range,numBits] = scramblerRange(cfg); scramInit = randi(range);
Создайте сигнал поля данных без HT.
y = wlanNonHTData(psdu,cfg,scramInit);
psdu - биты PSDUБиты блока служебных данных (PSDU) процедуры сходимости физического уровня (PLCP), заданные как вектор столбца с двоичным значением длиной 8 × L, где L - длина PSDU в байтах. Чтобы задать L, установите PSDULength имущества cfg вход.
Типы данных: double
cfg - Параметры передачи без HTwlanNonHTConfig объектПараметры передачи без HT, указанные как wlanNonHTConfig объект.
scramInit - Начальное состояние скремблера или начальная псевдослучайная последовательность скремблера93 (по умолчанию) | целое число в интервале [1, 127] | вектор столбца с двоичным значениемНачальное состояние скремблера или начальная псевдослучайная последовательность скремблера для каждого сформированного пакета.
При отключении сигнализации полосы пропускания путем установки SignalchannelBandwidth имущества cfg вход в 0 (false), этот вход представляет начальное состояние скремблера. В этом случае этот вход должен быть целым числом в интервале [1, 127] или как соответствующий вектор столбца с двоичным значением длины семь. Значение по умолчанию, 93, - это примерное состояние в разделе I.1.5.2 раздела [1].
При включении сигнализации полосы пропускания путем установки SignalchannelBandwidth имущества cfg вход в 1 (true), этот вход представляет псевдослучайную последовательность скремблера, описанную в таблице 17-7 из [1]. В этом случае этот вход должен быть целым числом в интервале [min, max] или соответствующим вектором столбца с двоичным значением длины NB. Значения min, max и NB зависят от значений BandwidthOperation и ChannelBandwidth свойства cfg ввод в соответствии с этой таблицей.
Значение cfg.BandwidthOperation | Значение cfg.ChannelBandwidth | Значение не менее | Значение не более | Значение NB |
|---|---|---|---|---|
'Absent' | 'CBW20' | 1 | 31 | 5 |
'Absent' | 'CBW5', 'CBW10', 'CBW40', 'CBW80', или 'CBW160' | 0 | 31 | 5 |
'Static' или 'Dynamic' | 'CBW20' | 1 | 15 | 4 |
'Static' или 'Dynamic' | 'CBW5', 'CBW10', 'CBW40', 'CBW80', или 'CBW160' | 0 | 15 | 4 |
Если этот ввод не указан, функция использует NB наиболее значащие биты значения по умолчанию, 93.
Раздел 17.3.5.5 [1] определяет процесс скремблирования и дескремблирования, применяемый к передаваемым данным. Поля заголовка и данных, которые следуют за полем инициализации скремблера (включая биты заполнения данных), скремблируются посредством XORing каждого бита с длиной 127 периодической последовательности, генерируемой многочленом S (x) = x7 + x4 + 1. Октеты PSDU помещаются в битовый поток, и в каждом октете бит 0 (LSB) является первым, а бит 7 (MSB) является последним. На этом рисунке показана генерация последовательности и операция XOR.

Преобразование из целого числа в биты использует левую ориентацию MSB. Для инициализации скремблера с десятичной запятой 1, биты отображаются на показанные элементы.
| Элемент | X7 | X6 | X5 | X4 | X3 | X2 | X1 |
|---|---|---|---|---|---|---|---|
| Битовое значение | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Чтобы создать битовый поток, эквивалентный десятичному, используйте de2bi. Например, для десятичных знаков 1:
de2bi(1,7,'left-msb')
ans =
0 0 0 0 0 0 1Пример: [1; 0; 1; 1; 1; 0; 1] передает состояние инициализации скремблера 93 как двоичный вектор.
Типы данных: double | int8
y - Форма сигнала временной области поля данных без HTФорма сигнала временной области поля данных без HT, возвращенная в виде матрицы комплексных значений размера NS-by-NT.
NS - количество выборок временной области.
NT - количество передающих антенн.
Типы данных: double
Поддержка комплексного номера: Да
Блок служебных данных физического уровня (PHY) (PSDU). Это поле состоит из переменного числа октетов. Минимальное значение равно 0 (нулю), а максимальное - 2500. Для получения дополнительной информации см. IEEE Std 802.11™-2012, раздел 15.3.5.7.
Поле данных без высокой пропускной способности (не-HT Data) используется для передачи кадров MAC и состоит из поля обслуживания, PSDU, хвостовых битов и битов pad.

Поле обслуживания - содержит 16 нулей для инициализации скремблера данных.
PSDU - поле переменной длины, содержащее блок служебных данных (PSDU) PLCP.
Tail - хвостовые биты, необходимые для завершения сверточного кода. Поле использует шесть нулей для одного потока кодирования.
Pad Bits - поле переменной длины, необходимое для обеспечения того, чтобы поле данных без HT содержало целое число символов.
Поле не-HT Data следует за L-SIG в пакете. Подробнее об алгоритме см. раздел 17.3.5 [1]. Данные, не являющиеся данными HT, включают в себя полезную нагрузку пользователя в PSDU плюс 16 служебных битов, шесть конечных битов и дополнительные биты дополнения, необходимые для заполнения последнего символа OFDM. Функция выполняет обработку передатчика в поле данных без HT и генерирует сигнал во временной области.

[1] IEEE Std 802.11™-2016 (версия IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY)». Стандарт IEEE для информационных технологий - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - особые требования.
[1] IEEE ® Std 802.11-2012 Адаптирован и переиздан с разрешения IEEE. Авторское право IEEE 2012. Все права защищены.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.